Video Information Tables
BIOS Data Area Fields Address Size Description 40:49 byte Current video mode (see VIDEO MODE) 40:4A word Number of screen columns 40:4C word Size of video regen buffer in bytes 40:4E word Starting address in video regen buffer (offset) 40:50 8 words Cursor position of pages 1-8, high order byte=row, low order byte=column 40:60 byte Ending (bottom) scan line for cursor 40:61 byte Starting (top) scan line for cursor 40:62 byte Active display page number 40:63 word Base port address for active 6845 CRT controller 3B4h = mono, 3D4h = color 40:65 byte 6845 CRT mode control register value (port 3x8h) EGA/VGA values emulate those of the MDA/CGA 40:66 byte CGA current color palette setting (port 3d9h) EGA and VGA values emulate the CGA 40:84 byte Rows on the screen (less 1, EGA+) 40:85 word Point height of character matrix (EGA+) 40:87 byte Video mode options (EGA+) │7│6│5│4│3│2│1│0│ Video mode options (EGA+) │ │ │ │ │ │ │ └── 1=alphanumeric cursor emulation enabled │ │ │ │ │ │ └─── 1=video subsystem attached to monochrome │ │ │ │ │ └──── reserved │ │ │ │ └───── 1=video subsystem is inactive │ │ │ └────── reserved │ └─┴─────── video RAM 00-64K 10-192K 01-128K 11-256K └────────── video mode number passed to INT 10, function 0 40:88 byte EGA feature bit switches, emulated on VGA │7│6│5│4│3│2│1│0│ EGA feature bit switches (EGA+) │ │ │ │ │ │ │ └── EGA SW1 config (1=off) │ │ │ │ │ │ └─── EGA SW2 config (1=off) │ │ │ │ │ └──── EGA SW3 config (1=off) │ │ │ │ └───── EGA SW4 config (1=off) │ │ │ └────── Input FEAT0 (ISR0 bit 5) after output on FCR0 │ │ └─────── Input FEAT0 (ISR0 bit 6) after output on FCR0 │ └──────── Input FEAT1 (ISR0 bit 5) after output on FCR1 └───────── Input FEAT1 (ISR0 bit 6) after output on FCR1 40:89 byte Video display data area (MCGA and VGA) │7│6│5│4│3│2│1│0│ Video display data area (MCGA and VGA) │ │ │ │ │ │ │ └── 1=VGA is active │ │ │ │ │ │ └─── 1=gray scale is enabled │ │ │ │ │ └──── 1=using monochrome monitor │ │ │ │ └───── 1=default palette loading is disabled │ │ │ └────── see table below │ │ └─────── reserved │ └──────── 1=display switching enabled └───────── alphanumeric scan lines (see table below) Bit7 Bit4 Scan Line information 0 0 350 line mode 0 1 400 line mode 1 0 200 line mode 1 1 reserved 40:8A byte Display Combination Code (DCC) table index (EGA+) 40:A8 dword BIOS Video Save/Override Pointer Table address EGA / VGA Related Tables Video Save/Override Pointer Table (pointer at 40:A8): 00 dword Video Parameter Table pointer 04 dword Dynamic Parameter Save Area pointer (EGA, VGA) 08 dword Alphanumeric Character Set Override pointer 0C dword Graphics Character Set Override pointer 10 dword Secondary Save Pointer Table pointer (VGA) 14 dword reserved, set to 0000:0000 18 dword reserved, set to 0000:0000 Video Parameter Table 00 byte number of displayed character columns 01 byte number of displayed screen rows minus 1 02 byte character matrix height in points 03 word video buffer size in bytes 05 dword contents of sequencer registers 1-4 09 byte misc. output register values 0A 25bytes contents of CRTC registers 0-18h 23 20bytes contents of attribute controller regs 0-13h 37 9 bytes contents of graphics controller regs 0-8 Dynamic Parameter Save Area 00 16bytes contents of graphics controller pallette regs 10 byte contents of graphics controller overscan reg 11 239bytes reserved Alphanumeric Character Set Override 00 byte length of each character definition in bytes 01 byte character generator RAM bank 02 word count of characters defined 04 word first character code in table 06 dword pointer to character font definition table 0A byte number of character rows displayed 0B nbytes array of applicable video modes 0B+n byte FFh end of mode list marker Graphics Character Set Override 00 byte count of displayed character rows 01 word length of each character definition in bytes 03 dword pointer to character font definition table 07 nbytes array of applicable video modes 07+n byte FFh end of mode list marker Secondary Save Pointer Table 00 word length of table in bytes 02 dword pointer to display combination code table 06 dword pointer to secondary alphanumeric char set override 0A dword pointer to user palette profile table (VGA) 0E dword reserved 12 dword reserved 16 dword reserved Display Combination Code Table 00 byte number of table entries 01 byte DCC table version number 02 byte maximum display type code 03 byte reserved 04 n words array valid display combinations: 0,0 entry 0 no display 0,1 entry 1 MDPA 0,2 entry 2 CGA 2,1 entry 3 MDPA + CGA 0,4 entry 4 EGA 4,1 entry 5 EGA + MDPA 0,5 entry 6 MEGA 2,5 entry 7 MEGA + CGA 0,6 entry 8 PGC 1,6 entry 9 PGC + MDPA 5,6 entry 10 PGC + MEGA 0,8 entry 11 CVGA 1,8 entry 12 CVGA + MDPA 0,7 entry 13 MVGA 2,7 entry 14 MVGA + CGA 2,6 entry 15 MVGA + PGC Secondary Alpha Mode Auxillary Character Generator Table 00 byte bytes per character 01 byte block to load 02 byte reserved 03 dword font table pointer 07 nbytes array of mode values for this font 07+n byte FFh end of mode list marker Palette Profile Table (VGA only) 00 byte 1 - enable underlining in all alphanumeric modes 0 - enable underlining in monochrome alpha modes -1 - disable underlining in all alpha modes 01 byte reserved 02 word reserved 04 word count of attribute controller regs in table 06 word first attribute controller register number 08 dword pointer to attribute controller reg table 0C word count of video DAC color registers in table 0E word first video DAC color register number 10 dword video DAC color register table pointer 14 nbytes array of applicable video modes for this font 14+n byte FFh end of video mode list marker - see also BIOS Data Area - see INT 10,1B for Dynamic Video State Table and Video Static Functionality Table