BIOS data area (segment 40) 00 COM1 base port address 02 COM2 base port address 04 COM3 base port address 06 COM4 base port address 08 LPT1 base port address 0A LPT2 base port address 0C LPT3 base port address 0E Extended BIOS data area segment 10 Equipment flags Bit 0 1=floppy drive(s) installed 1 1=math coprocessor installed 2 1=PS/2 mouse installed 3 reserved 4-5 initial video mode (1=40x25 color,2=80x25 color,3=80x25 mono) 6-7 number of floppy drives-1 8 reserved 9-11 number of serial ports 12 1=game port installed 13 reserved 14-15 number of parallel ports 12 Reserved for manufacturing test 13 Memory size in kilobytes 15 Reserved for manufacturing test 17 Keyboard flags 1 Bit 0 right Shift key down 1 left Shift key down 2 Ctrl key down 3 Alt key down 4 Scroll Lock on 5 Num Lock on 6 Caps Lock on 7 Insert on 18 Keyboard flags 2 Bit 0 left Ctrl key down 1 left Alt key down 2 SysReq key down 3 pause mode active 4 Scroll Lock down 5 Num Lock down 6 Caps Lock down 7 Insert key down 19 Alt-keypad entry byte 1A Keyboard buffer head pointer 1C Keyboard buffer tail pointer 1E Keyboard buffer 3E Floppy drive recalibrate status Bit 0-3 1=recalibrate corresponding drive 4-6 reserved 7 interrupt flag 3F Floppy drive motor status Bit 0-3 1=corresponding drive is running 4-5 selected drive 6 reserved 7 0=read,1=write 40 Floppy drive motor off counter 41 Floppy drive status 42 Floppy drive controller status 49 Display mode 4A Number of columns 4C Regen buffer size 4E Start address in regen buffer 50 Cursor position (2 bytes per page, 8 pages) 60 Cursor type 62 Display page 63 CRT base port address 65 Current setting of 3x8 register 66 Current setting of 3x9 register 67 Savearea for SS:SP during block move 6B Reserved for POST 6C Timer counter 70 Timer overflow flag 71 Break key flag (80=Ctrl-Break pressed) 72 Reset flag (1234=bypass memory test) 74 Fixed drive status 75 Number of fixed drives present 76 Fixed drive control byte (XT) 77 Fixed drive controller port offset (XT) 78 LPT1 time-out value 79 LPT2 time-out value 7A LPT3 time-out value 7B INT 4B flags (VDS and SCSI) 7C COM1 time-out value 7D COM2 time-out value 7E COM3 time-out value 7F COM4 time-out value 80 Keyboard buffer start 82 Keyboard buffer end 84 Number of rows-1 (EGA/MCGA/VGA) 85 Character height in pels (EGA/MCGA/VGA) 87 Video flags 1 (EGA/VGA) Bit 0 1=cursor emulation disabled 1 1=monochrome display 2 1=check for retrace 3 1=alternate display active 4 reserved 5-6 memory size (0=64K,1=128K,2=192K,3=256K) 7 bit 7 of last mode set 88 Video flags 2 (EGA/VGA) Bit 0-3 DIP switch settings 4-7 adapter bits 89 Video mode set flags (MCGA/VGA) Bit 0 reserved 1 1=gray scaling summing enabled 2 1=monochrome display 3 1=default palette loading disabled 4 1=use 400 scan lines on next mode set 5-6 reserved 7 1=use 200 scan lines on next mode set 8A Display combination code table index (MCGA/VGA) 8B Floppy drive data rate Bit 0-3 reserved 4-5 last step rate selected 6-7 last data transfer rate in Kbs/sec (0=500,1=300,2=250) 8C Fixed drive controller status 8D Fixed drive controller error status 8E Fixed drive interrupt flag (FF=interrupt occured) 8F Floppy drive mode Bit 0 1=drive 0 supports 80-track capability 1 1=drive 0 supports multiple data rates 2 1=drive 0 determined 3 reserved 4 1=drive 1 supports 80-track capability 5 1=drive 1 supports multiple data rates 6 1=drive 1 determined 7 reserved 90 Floppy drive 0 media state Bit 0-2 media type 0=360K disk/360K drive not established 1=360K disk/1.2M drive not established 2=1.2M disk/1.2M drive not established 3=360K disk/360K drive established 4=360K disk/1.2M drive established 5=1.2M disk/1.2M drive established 6=reserved 7=none of the above 3 reserved 4 1=media established 5 1=double stepping required 6-7 data transfer rate in Kbs/sec (0=500,1=300,2=250) 91 Floppy drive 1 media state Same as 90 92 Floppy drive 0 workarea 93 Floppy drive 1 workarea 94 Floppy drive 0 current cylinder 95 Floppy drive 1 current cylinder 96 Keyboard mode flags 1 Bit 0 1=last code was E1 1 1=last code was E0 2 1=right Ctrl key pressed 3 1=right Alt key pressed 4 1=enhanced keyboard installed 5 1=force Num Lock if read ID and enhanced keyboard 6 1=last character was first ID character 7 1=read ID in progress 97 Keyboard mode flags 2 Bit 0 1=Scroll Lock LED on 1 1=Num Lock LED on 2 1=Caps Lock LED on 3 reserved 4 1=acknowledgement received 5 1=resend received 6 1=mode indicator updated 7 1=keyboard transmit error 98 Pointer to wait flag 9C Wait count in microseconds A0 Wait flag (01=wait active,80=wait time elasped) A1 Reserved for network adapters A8 Pointer to video parameters (EGA/MCGA/VGA) 00 Pointer to ROM video parameter tables 04 Pointer to dynamic save area (palette and border register values) 08 Pointer to auxiliary text mode generator 00 bytes per character 01 font block 02 character count 04 character offset 06 pointer to font table 0A rows (FF=calculate value) 0B mode values ending with FF 0C Pointer to auxiliary graphics mode generator 00 rows 01 bytes per character 03 pointer to font table 07 mode values ending with FF 10 Pointer to secondary save area (VGA) 00 save area size 02 pointer to display combination code table 00 number of entries 01 table version 02 maximum display type code 03 reserved 04 entry table (2 bytes per entry) 06 pointer to secondary auxiliary text mode generator 00 bytes per character 01 font block 02 reserved 03 pointer to font table 07 mode values ending with FF 0A pointer to user palette profile table 00 underlining flag (1=on,0=ignore,-1=off) 01 reserved 04 internal palette count (0-17) 06 internal palette index (0-16) 08 pointer to internal palette 0C external palette count (0-256) 0E external palette index (0-255) 10 pointer to external palette 14 mode values ending with FF 0E reserved (12 bytes) 14 Reserved (8 bytes) AC Reserved BIOS data area (segment 50) 00 Print screen status 04 Floppy drive flag for single drive systems (0=A,1=B) 22 Floppy drive parameter table 00 first specify byte 01 second specify byte 02 timer ticks to wait before turning off motor 03 bytes per sector (0=128,1=256,2=512,3=1024) 04 sectors per track 05 gap length 06 data length 07 gap length for format 08 fill byte for format 09 head settle time in milliseconds 0A motor startup time in 1/8 seconds