| reg | value | descr |
|---|---|---|
| AH | 0x1b | |
| BX | 0x00 | implementation type (must be zero) |
| ES:DI | ptr | pointer to 64 byte buffer |
| reg | descr |
|---|---|
| AL | 0x1B |
| ES:DI | pointer to updated buffer (see below) |
| offset | size | Descr. |
|---|---|---|
| 00 | dword | address of static funtionality table (see static table below) |
| 04 | byte | video mode (see info 1 below) |
| 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 | 16 bytes | 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 3×8 register |
| 21 | byte | current value of CRTC 3×9 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 (see info 2 below) |
| 2E | 3 bytes | reserved (00h) |
| 31 | byte | video RAM available 0=64K, 1=128K, 2=192K, 3=256K |
| 32 | byte | save area status (see info 3 below) |
| 33 | dword | reserved (00h) |
| Offset | Size | Description |
|---|---|---|
| 00h | BYTE | modes supported #1 bit 0 to bit 7 if set : modes 0,1,2,3,4,5,6 supported |
| 01h | BYTE | modes supported #2 bit 0 to bit 7 if set : modes 8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh supported |
| 02h | BYTE | modes supported #3 bit 0 to bit 3 if set : modes 10h,11h,12h,13h supported bit 4 to bit 7 reserved |
| 03h | 4 BYTEs | reserved |
| 07h | BYTE | scan lines supported bit 0 to bit 2 = 1 if scan lines 200,350,400 supported |
| 08h | BYTE | total number of character blocks available in text modes |
| 09h | BYTE | maximum number of active character blocks in text modes |
| 0Ah | BYTE | miscellaneous function flags #1 bit 0 all modes on all displays function supported bit 1 gray summing function supported bit 2 character font loading function supported bit 3 default palette loading enable/disable supported bit 4 cursor emulation function supported bit 5 EGA palette present bit 6 color palette present bit 7 color paging function supported |
| 0Bh | BYTE | miscellaneous function flags #2 bit 0 light pen supported bit 1 save/restore state function 1Ch supported bit 2 intensity blinking function supported bit 3 Display Combination Code supported bit 4-7 reserved |
| 0Ch | WORD | reserved |
| 0Eh | BYTE | save pointer function flags bit 0 512 character set supported bit 1 dynamic save area supported bit 2 alpha font override supported bit 3 graphics font override supported bit 4 palette override supported bit 5 DCC extension supported bit 6 reserved bit 7 reserved |
| 0Fh | BYTE | reserved |
| bit | descr |
|---|---|
| 0 | 1 = all modes active (MCGA always 0) |
| 1 | 1 = gray scale summing enabled |
| 2 | 1 = monochrome display attached |
| 3 | 1 = default palette loading disabled |
| 4 | 1 = cursor emulation enabled |
| 5 | 1 = blinking attribute enabled |
| 6 | 1 = PS/2 P70 plasma display (without 9-dot wide font) active |
| 7 | 1 = reserved |
| bit | descr |
|---|---|
| 0 | 1 = two text char sets are active |
| 1 | 1 = dynamic save area is active |
| 2 | 1 = text char set override is active |
| 3 | 1 = graphics char set is override active |
| 4 | 1 = palette override is active |
| 5 | 1 = display combination code ext. active |
| 6-7 | reserved |