INT 21,52 - Get Pointer to DOS "INVARS" (Undocumented)


	AH = 52h

	on return:
	ES:BX = pointer to DOS "invars", a table of pointers used by DOS.
		Known "invars" fields follow (varies with DOS version):

	Offset Size		 Description

	 -12   word   sharing retry count (DOS 3.1-3.3)
	 -10   word   sharing retry delay  (DOS 3.1-3.3)
	  -8   dword  pointer to current disk buffer (DOS 3.x)
	  -4   word   pointer in DOS code segment of unread CON input;
		      0 indicates no unread input (DOS 3.x)
	  -2   word   segment of first Memory Control Block (MCB)
	  00   dword  pointer to first DRIVE PARAMETER TABLE (A:) in chain
	  04   dword  pointer to DOS System File Table (SFT)
	  08   dword  pointer to $CLOCK device driver
	  0C   dword  pointer to CON device driver
	  10   byte   number of logical drives in system
	  11   word   maximum bytes/block of any block device
	  13   dword  pointer to DOS cache buffer header
	  17 18bytes  NUL device header, first 4 bytes of device header
		      point to the next device in device chain


DOS 3.0 Specific Information


	Offset Size		Description

	  10   byte   number of block devices
	  11   word   max sector size used by DOS prior to loading block
		      device drivers;  limits allowable device sector size
	  13   dword  pointer to DOS cache buffer header
	  17   dword  pointer to drive information table
	  1B   byte   value of LASTDRIVE command in CONFIG.SYS
	  1C   dword  pointer to STRING= workspace area
	  20   word   size of STRING area (CONFIG.SYS value of STRING=x)
	  22   dword  FCB file table pointer
	  26   word   number of protected FCBs
	  28  18bytes NUL device header, first 4 bytes of device header
		      point to the next device in device chain


DOS 3.1-3.3 Specific Information


	Offset Size		 Description

	  10   word   max sector size used by DOS prior to loading block
		      device drivers;  limits allowable device sector size
	  12   dword  pointer to DOS cache buffer header
	  16   dword  pointer to drive information table
	  1A   dword  FCB file table pointer
	  1E   word   number of protected FCBs
	  20   byte   number of block devices
	  21   byte   value of LASTDRIVE command in CONFIG.SYS
	  22  18bytes NUL device header, first 4 bytes of device header
		      point to the next device in device chain
	  34   byte   number of JOIN'ed drives


DOS 4.x Specific Information


	Offset Size		Description

	  10   word   max sector size used by DOS prior to loading block
		      device drivers;  limits allowable device sector size
	  12   dword  pointer to DOS cache buffer header
	  16   dword  pointer to drive information table
	  1A   dword  FCB file table pointer
	  1E   word   number of protected FCBs
	  20   byte   number of block devices
	  21   byte   value of LASTDRIVE command in CONFIG.SYS (default 5)
	  22  18bytes NUL device header, first 4 bytes of device header
		      point to the next device in device chain
	  34   byte   number of joined drives
	  35   word   pointer within IBMDOS code segment to list of special
		      program names
	  37   dword  pointer to resident IFS utility function
	  3B   dword  pointer to chain of installable file system drivers
	  3F   word   the x in BUFFERS x,y (rounded up to multiple of 30
		      if EMS is used)
	  41   word   the y in BUFFERS x,y
	  43   byte   boot drive (1=A:)
	  44   byte   ???
	  45   byte   extended memory size in K bytes


	- see Bibliography references for Bernd Schemmer & "Undocumented DOS"
	- see   INDOS  INT 21,5D