CP/M-86 1.1 System Variables

The system variables can be found for CP/M-86 1.1 (only) by BDOS function 49. This returns ES:BX pointing to an area of memory:

Offset	Size	Description
00	DWORD	DMA address
04	BYTE	Current drive
05	BYTE	Current user
06	WORD	Directory entry number (used in Search Next)
08	BYTE	Length of search when looking for filenames
09	WORD	FCB for Search Next
0B	WORD	Segment of FCB for Search Next
0D	WORD	Offset of sector buffer for current drive?
0F	BYTE	Unknown; controls how memory is freed at program termination
10	BYTE	Unused?
11	BYTE	0FFh if the BDOS is in a disc or printer call, else 0
12	DWORD	Unused?
16	BYTE	Control-P flag - nonzero to echo output to the printer
17	BYTE	CCP drive
18	5 	Unused?
1D	BYTE	Time: hours, BCD
1E	BYTE	Time: minutes, BCD
1F	BYTE	Time: seconds, BCD
20	3	Day, 0-terminated ASCII
23	3	Month, 0-terminated ASCII
26	3	Year mod 100, 0-terminated ASCII	
29	3	Hours, 0-terminated ASCII
2C	3	Minutes, 0-terminated ASCII
2F	3	Seconds, 0-terminated ASCII
32	0Eh	Text to print on status line?
40	BYTE	Screen width
Return to the archive listing