Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:int_11:start

Int 11h - BIOS Equipment Determination / BIOS Equipment Flags

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

Request/Call:

no input data

Return:

reg descr
AX contains followings bit flags

Values code:

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

  • 00 - 16K
  • 01 - 32K
  • 10 - 16K
  • 11 - 64K (normal)

bits 5 & 4, initial video mode

  • 00 - unused
  • 01 - 40×25 color
  • 10 - 80×25 color
  • 11 - 80×25 monochrome

bits 7 & 6, number of disk drives attached, when bit 0=1

  • 00 - 1 drive
  • 01 - 2 drives
  • 10 - 3 drive
  • 11 - 4 drives

Notes & Comments

  • returns data stored at BIOS Data Area location 40:10
  • some flags are not guaranteed to be correct on all machines
  • bit 13 is used on the PCjr to indicate serial printer
  • 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 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

Back

back2root/ibm-pc-ms-dos/interrupts/int_11/start.txt · Dernière modification : de frater