Layout of the BIOS Data Area at 0x0040:0x0000.
Offset | Size (bytes) | Description |
0x00 | 2 | Base I/O address of serial port 1 |
0x02 | 2 | Base I/O address of serial port 2 |
0x04 | 2 | Base I/O address of serial port 3 |
0x06 | 2 | Base I/O address of serial port 4 |
0x08 | 2 | Base I/O address of parallel port 1 |
0x0A | 2 | Base I/O address of parallel port 2 |
0x0C | 2 | Base I/O address of parallel port 3 |
0x0E | 2 | Base I/O address of parallel port 4 |
0x10 | 2 | Equipment word |
0x12 | 1 | Manufacturing test data |
0x13 | 2 | Memory size in Kb |
0x15 | 2 | Manufacturing test data |
0x17 | 2 | Keyboard status flag |
0x19 | 1 | Alt + Numpad data |
0x1A | 2 | Keyboard buffer head |
0x1C | 2 | Keyboard buffer tail |
0x1E | 32 | Keyboard buffer |
0x3E | 11 | Disk controller information |
0x49 | 30 | Graphics adapter information |
0x67 | 5 | Unknown |
0x6C | 4 | Counter |
0x70 | 1 | Counter 24 hour overflow |
0x71 | 1 | Keyboard control flag |
0x72 | 2 | Soft reset flag |
0x74 | 4 | Disk controller information |
0x78 | 4 | Parallel timeout values |
0x7C | 4 | Serial timeout values |
0x80 | 2 | Start of PS/2 keyboard buffer |
0x82 | 2 | End of PS/2 keyboard buffer |
0x84 | 7 | Graphics controller information |
0x8B | 13 | Disk controller information |
0x96 | 2 | Keyboard status flag |
0x98 | 4 | Pointer to user flag |
0x9C | 4 | User wait count |
0xA0 | 1 | User wait flag |
0xA1 | 7 | Reserved for network adapters |
0xA8 | 4 | Graphics adapter information |
0xAC | 68 | Reserved |
0xF0 | 16 | Inter-application communication area |
BIOS data located at 0xffff:0x0000.
Offset | Size | Description |
0x00 | 5 | far jmp instruction to begin POST |
0x05 | 8 | ROM BIOS date in ASCII |
0x0C | 2 | Unused |
0x0E | 1 | IBM computer type code |