Video Initialization Table
This table is pointed to by the vector for INT 1dH (0:0074).
It is used by INT 10H 00H when a video mode-change takes place. The
values in this table describe the register values that must be stored into
the 6845 CRT controller, along with other data (such as the number of
columns, etc.) for the video variables stored in the BIOS Data Area
starting at 0:0449.
You may reset the INT 1dH vector to point it to your own TSR tables. Then
the next mode change will use the values in your tables.
VidInitRec
Offset Size Contents
▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
+0 16 abRegs40x25 6845 reg values for 40x25 modes (see below)
+10H 16 abRegs80x25 6845 reg values for 80x25 modes
+20H 16 abRegsGfx 6845 reg values for graphics modes
+30H 16 abRegsMono 6845 reg values for 80x25 Monochrome
+40H 2 wSize40x25 40x25 modes: regen RAM for one screen page
+42H 2 wSize80x25 80x25 modes: regen RAM for one screen page
+44H 2 wSizeLoRes low-res graphics modes: regen RAM size
+46H 2 wSizeHiRes hi-res graphics modes: regen RAM size
+48H 8 abClmCnts column count for each of 8 modes
+50H 8 abModeCodes values for the mode-set register (port 3d8H) for
each mode. Current setting is at 0040:0065.
88 size of a VidParmRec
The first 40H bytes of the table consists of four 16-byte tables that
each contain a set of 1-byte register values for each of the 6845
CRT-controller registers in their sequential order (R0...R15):
R0: horizontal total -- horizontal sync in character clocks
R1: horizontal displayed -- characters per line
R2: horizontal sync pos. -- use to move display left or right
R3: sync width -- vert. and horiz. pulse (4 bits each)
R4: vertical total -- total vertical lines of characters
R5: vertical adjust -- adjusts for 50 or 60 Hz refresh
R6: vertical displayed -- lines of characters displayed
R7: vertical sync pos -- lines shifted up or down
R8: interlace/skew -- (bits 4 and 5) interlace mode
(bits 6 and 7) skew mode
R9: max scan line addr. -- scan lines per character row
R10: cursor start -- starting scan line of cursor
R11: cursor stop -- ending scan line of cursor
R12: video RAM start addr -- start of displayed page (high byte)
R13: (low byte)
R14: cursor pos -- offset address in vid mem (high byte)
R15: (low byte)
6845 Registers 16-17 are not stored in the table. But they are:
R16: light pen address (high byte)
R17: (low byte)
See Also: CGA MDA
BIOS Data Area
INT 10H
INT 1dH
CGA I/O Ports
Video Modes
-♦-