Since older BIOSes do not know of the existence of EAX, the high word of EAX should be cleared before this call if any of the high bits will be tested
no input data
reg | descr |
---|---|
AX | contains followings bit flags |
bit | description | specific |
---|---|---|
0 | IPL diskette installed | |
1 | math coprocessor | |
2 | old PC system board RAM < 256K | pointing device installed (PS/2) |
3 | not used | |
4-5 | initial video mode | |
6-7 | # of diskette drives, less 1 | |
8 | 0 if DMA installed | |
9-11 | number of serial ports | |
12 | game adapter installed | |
13 | unused | internal modem (PS/2) |
14-15 | number of printer ports | |
: | ||
23 | page tables set so that Weitek coprocessor addressable in real mode (other +386) | |
24 | Weitek math coprocessor present (other +386) | |
25 | internal DMA parallel port available (Compaq SystemPro) | |
26 | IRQ for internal DMA parallel port (if bit 25 set) (Compaq SystemPro) 0 = IRQ5 1 = IRQ7 |
|
27-28 | parallel port DMA channel (Compaq SystemPro) 00 : DMA channel 0 01 : DMA channel 0 ??? 10 : reserved 11 : DMA channel 3 |
bits 3 & 2, system board RAM if less than 256K motherboard
bits 5 & 4, initial video mode
bits 7 & 6, number of disk drives attached, when bit 0=1
This may have caused problems with releases of DOS 3.3x and earlier, which assumed A: and B: to be invalid drives then and would discard any attempts to access these drives. Implementations of RPL should set bit 0 to indicate a “virtual” floppy.
The IBM PC DOS 3.3x-2000 IBMBIO.COM contains two occurences of code sequences like:
INT 11h JMP SHORT skip DB 52h,50h,53h ; "RPS" skip: OR AX,1 TEST AX,1
While at the first glance this seems to be a bug since it just wastes memory and the condition is always true, this could well be a signature for an applyable patch to stop it from forcing AX bit 0 to be always on. MS-DOS IO.SYS does not contain these signatures, however.
Some old BIOSes didn't properly report the count of floppy drives installed to the system. In newer systems INT 13h/AH=15h can be used to retrieve the number of floppy drives installed.
Award BIOS v4.50G and v4.51PG erroneously set bit 0 even if there are no floppy drives installed; use two calls to INT 13/AH=15h to determine whether any floppies are actually installed