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