Calls BIOS equipment-list service, using INT 0x11.
#include <bios.h>
unsigned _bios_equiplist( void );
The _bios_equiplist routine uses INT 0x11 to determine what hardware and peripherals are currently installed on the machine.
The function returns the AX value, which is a set of bits indicating what equipment is installed, as defined below:
Bits | Meaning |
0 | True (1) if disk drive(s) installed |
1 | True (1) if math coprocessor installed |
2–3 | System RAM in 16K blocks (16–64K) |
4–5 | Initial video mode: |
00 = Reserved | |
01 = 40 x 25 color | |
10 = 80 x 25 color | |
11 = 80 x 25 monochrome | |
6–7 | Number of floppy-disk drives installed (00 =1, 01 = 2, etc.) |
8 | False (0) if and only if a Direct Memory Access (DMA) chip is installed |
9–11 | Number of RS232 serial ports installed |
12 | True (1) if and only if a game adapter is installed |
13 | True (1) if and only if an internal modem is installed |
14–15 | Number of printers installed |
Standards:None
16-Bit:DOS, QWIN, WIN, WIN DLL
32-Bit:None
/* BEQUIPLI.C: This program checks for the presence of diskettes. */
#include <bios.h>
#include <stdio.h>
void main( void )
{
unsigned equipment;
equipment = _bios_equiplist();
printf( "Equipment bits: 0x%.4x\n", equipment );
if( equipment & 0x1000 ) /* Check for game adapter bit */
printf( "Game adapter installed\n" );
else
printf( "No game adapter installed\n" );
}
Equipment bits: 0x4061
No game adapter installed