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+) |
40:88 | byte | EGA feature bit switches, emulated on VGA |
40:89 | byte | Video display data area (MCGA and VGA) |
40:8A | byte | Display Combination Code (DCC) table index (EGA+) |
40:A8 | dword | BIOS Video Save/Override Pointer Table address |
bit | description |
---|---|
0 | 1=alphanumeric cursor emulation enabled |
1 | 1=video subsystem attached to monochrome |
2 | reserved |
3 | 1=video subsystem is inactive |
4 | reserved |
5-6 | video RAM: * 00-64Kb * 10-192Kb * 01-128Kb * 11-256Kb |
7 | video mode number passed to INT 10, function 0 |
bit | description |
---|---|
0 | EGA SW1 config (1=off) |
1 | EGA SW2 config (1=off) |
2 | EGA SW3 config (1=off) |
3 | EGA SW4 config (1=off) |
4 | Input FEAT0 (ISR0 bit 5) after output on FCR0 |
5 | Input FEAT0 (ISR0 bit 6) after output on FCR0 |
6 | Input FEAT1 (ISR0 bit 5) after output on FCR1 |
7 | Input FEAT1 (ISR0 bit 6) after output on FCR1 |
bit | description |
---|---|
0 | 1=VGA is active |
1 | 1=gray scale is enabled |
2 | 1=using monochrome monitor |
3 | 1=default palette loading is disabled |
4 | see table below |
5 | reserved |
6 | see table below |
7 | alphanumeric scan lines (see table below) |
bit 7 | bit 4 | Scan Lines |
---|---|---|
0 | 0 | 350 line mode |
0 | 1 | 400 line mode |
1 | 0 | 200 line mode |
1 | 1 | reserved |
offset | size | Description |
---|---|---|
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 |
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 | 25 bytes | contents of CRTC registers 0-18h |
23 | 20 bytes | contents of attribute controller regs 0-13h |
37 | 9 bytes | contents of graphics controller regs 0-8 |
00 | 16 bytes | contents of graphics controller pallette regs |
10 | byte | contents of graphics controller overscan reg |
11 | 239 bytes | reserved |
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 |
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 |
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 |
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 |
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 |
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 |