HelpPC 2.10 Quick Reference Utility Copyright 1991 David Jurgens

                   INT 10,1B - Video BIOS Functionality and
                         State Information (MCGA/VGA)

       AH = 1B
       BX = implementation type (must be zero)
       ES:DI = pointer to 64 byte buffer


       on return:
       AL = 1B
       ES:DI = pointer to updated buffer  (see below)


       - returns static and dynamic information about the current
         state and capabilities of the current video system
       - bytes 0-3 of the dynamic data table at ES:DI contain a far
         pointer to the video static information table


           Video BIOS Dynamic Functionality State Table (MCGA/VGA)

       Dynamic Video State Table

       00  dword   address of static functionality table
       04  byte    video mode
       05  word    number of columns
       07  word    length of displayed video buffer (# bytes)
       09  word    start address of upper left corner of video buffer
       0B  16bytes cursor position table for 8 pages (col,row)
       1B  byte    cursor end line
       1C  byte    cursor start line
       1D  byte    active video page
       1E  word    I/O port for CRTC address register
       20  byte    current value of CRTC 3x8 register
       21  byte    current value of CRTC 3x9 register
       22  byte    number of displayed character rows
       23  word    height of character matrix (points)
       25  byte    active display combination code
       26  byte    inactive display combination code
       27  word    number of displayed colors (mono = 0)
       29  byte    number of supported video pages
       2A  byte    raster scan lines 0=200, 1=350, 2=400, 3=480
       2B  byte    text character table used
       2C  byte    text character table used
       2D  byte    other state information:

               │7│6│5│4│3│2│1│0│ State Information byte at offset 2D
                │ │ │ │ │ │ │ └─── 1 = all modes active (MCGA always 0)
                │ │ │ │ │ │ └──── 1 = gray scale summing enabled
                │ │ │ │ │ └───── 1 = monochrome display attached
                │ │ │ │ └────── 1 = default palette loading disabled
                │ │ │ └─────── 1 = cursor emulation enabled
                │ │ └──────── 1 = blinking attribute enabled
                └─┴───────── 1 = reserved

       2E 3bytes   reserved
       31  byte    video RAM available 0=64K, 1=128K, 2=192K, 3=256K
       32  byte    save area status

               │7│6│5│4│3│2│1│0│ Save Area Status
                │ │ │ │ │ │ │ └─── 1 = two text char sets are active
                │ │ │ │ │ │ └──── 1 = dynamic save area is active
                │ │ │ │ │ └───── 1 = text char set override is active
                │ │ │ │ └────── 1 = graphics char set is override active
                │ │ │ └─────── 1 = palette override is active
                │ │ └──────── 1 = display combination code ext. active
                └─┴───────── 1 = reserved

       33  dword   reserved


               Video BIOS Static Functionality Table   (EGA/VGA)

               │7│6│5│4│3│2│1│0│ Video modes supported, byte at offset 00
                │ │ │ │ │ │ │ └─── 1 = mode 0
                │ │ │ │ │ │ └──── 1 = mode 1
                │ │ │ │ │ └───── 1 = mode 2
                │ │ │ │ └────── 1 = mode 3
                │ │ │ └─────── 1 = mode 4
                │ │ └──────── 1 = mode 5
                │ └───────── 1 = mode 6
                └────────── 1 = mode 7

               │7│6│5│4│3│2│1│0│ Video modes supported, byte at offset 01
                │ │ │ │ │ │ │ └─── 1 = mode 8
                │ │ │ │ │ │ └──── 1 = mode 9
                │ │ │ │ │ └───── 1 = mode A
                │ │ │ │ └────── 1 = mode B
                │ │ │ └─────── 1 = mode C
                │ │ └──────── 1 = mode D
                │ └───────── 1 = mode E
                └────────── 1 = mode F

               │7│6│5│4│3│2│1│0│ Video modes supported, byte at offset 02
                │ │ │ │ │ │ │ └─── 1 = mode 10
                │ │ │ │ │ │ └──── 1 = mode 11
                │ │ │ │ │ └───── 1 = mode 12
                │ │ │ │ └────── 1 = mode 13
                └─┴─┴─┴─────── reserved

       03  dword  reserved
       07  byte   scan lines supported in text modes

               │7│6│5│4│3│2│1│0│ Scan lines supported, byte at offset 07
                │ │ │ │ │ │ │ └─── 1 = 200 lines
                │ │ │ │ │ │ └──── 1 = 350 lines
                └─┴─┴─┴─┴─┴───── 1 = 400 lines

       08  byte   max number of displayable text character sets
       09  byte   # of text definition tables in char generator RAM
       0A  byte   other capability flags

               │7│6│5│4│3│2│1│0│ Other flags, byte at offset 0A
                │ │ │ │ │ │ │ └─── 1 = all modes (0 on MCGA)
                │ │ │ │ │ │ └──── 1 = gray scale summing
                │ │ │ │ │ └───── 1 = character set loading
                │ │ │ │ └────── 1 = default palette loading
                │ │ │ └─────── 1 = cursor emulation
                │ │ └──────── 1 = 64 color palette
                │ └───────── 1 = video DAC loading
                └────────── 1 = DAC controlled by ACCS

       0B  byte   other capability flags

               │7│6│5│4│3│2│1│0│ Other flags, byte at offset 0B
                │ │ │ │ │ │ │ └─── 1 = light pen support
                │ │ │ │ │ │ └──── 1 = save/restore video state
                │ │ │ │ │ └───── 1 = blinking/background intensity
                │ │ │ │ └────── 1 = display combination code
                └─┴─┴─┴─────── reserved

       0C  word   reserved
       0E  byte   save area capabilities

               │7│6│5│4│3│2│1│0│  save area capabilities at offset 0E
                │ │ │ │ │ │ │ └──── 1 = multiple text character sets
                │ │ │ │ │ │ └───── 1 = dynamic save area
                │ │ │ │ │ └────── 1 = text character set override
                │ │ │ │ └─────── 1 = graphics character set override
                │ │ │ └──────── 1 = palette override
                │ │ └───────── 1 = display combination code extension
                └─┴────────── reserved

       0F  byte    reserved

Esc or Alt-X to exit int 10,1b Home/PgUp/PgDn/End ←↑↓→