INT 67H 59xxH: Get Hardware Configuration
Compatibility: EMS 4.0+
Expects: AH 59H
AL subfn: 00H=Get hardware Info
ES:DI = buffer to receive data
01H=Get unallocated raw page count
──────────────────────────────────────────────────────────────────
Returns: AH EMM status (0=successful)
ES:DI (fn 5900H) buffer contains data (see below)
BX (fn 5901H) unallocated raw pages
DX (fn 5901H) total raw pages
──────────────────────────────────────────────────────────────────
Info: This is designed for use by operating systems only and may be
disabled at any time.
It obtains hardware-related info and info on "raw pages" (that
is, pages that are not 16K -- used on a rarely-seen EMS board).
ES:DI (fn 5900H) on entry, this points to a 10-byte buffer. On return,
it is filled with data, formatted as:
EmsHardwareInfoRec
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 2 wRawPgParas size of a raw page, in 16-byte units
+2 2 wAltRegSets number of extra mapping reg sets
+4 2 wSaveSize size of buffer needed for saving mapping
context; also returned by INT 67H 4e03H
+6 2 wDMAChnls number reg sets to handle DMA
+8 2 wDMAOddball 0=normal; 1=non-standard DMA handling
10 size of this structure
BX,DX (fn 5901H) On nearly all hardware implementation of LIM-EMS,
pages are exactly 16K. One oddball allows for "raw" pages of
smaller pages (submultiples of 16K).
In most cases, these return the same as from INT 67H 4200H.
See Also: INT 67H: EMM Services
Extended Memory Specification (XMS)
Interrupts and BIOS Services
-♦-