Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Other DOS - <b> video information tables</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
                          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

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson