Bitfields for BIOS equipment list:
Bit(s) | Description |
---|---|
0 | floppy disk(s) installed (number specified by bits 7-6) |
1 | 80×87 coprocessor installed |
3-2 | number of 16K banks of RAM on motherboard (PC only) |
number of 64K banks of RAM on motherboard (XT only) | |
2 | pointing device installed (PS) |
3 | unused (PS) |
5-4 | initial video mode |
00 EGA, VGA, or PGA | |
01 40×25 color | |
10 80×25 color | |
11 80×25 monochrome | |
7-6 | number of floppies installed less 1 (if bit 0 set) |
8 | DMA support installed (PCjr, Tandy 1400LT) |
DMA support *not* installed (Tandy 1000's) | |
11-9 | number of serial ports installed |
12 | game port installed |
13 | serial printer attached (PCjr) |
internal modem installed (PC/Convertible) | |
15-14 | number of parallel ports installed |
—Compaq, Dell, and many other 386/486 machines–
23 | page tables set so that Weitek coprocessor addressable in real mode |
24 | Weitek math coprocessor present |
—Compaq Systempro—
25 | internal DMA parallel port available |
26 | IRQ for internal DMA parallel port (if bit 25 set) |
0 = IRQ5 | |
1 = IRQ7 | |
28-27 | parallel port DMA channel |
00 DMA channel 0 | |
01 DMA channel 0 ??? | |
10 reserved | |
11 DMA channel 3 |
Notes
- Some implementations of Remote (Initial) Program Loader (RPL/RIPL) don't set bit 0 to indicate a “virtual” floppy drive, although the RPL requires access to its memory image through a faked drive A:. 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 occurrences 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.
BUGs
- 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
SeeAlso: INT 12“BIOS”,#03215 at INT 4B“Tandy 2000”