| |
INT 10 - VIDEO - TEXT-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA)
Input |
Output |
AX
|
11h |
00h, 10h |
|
|
AX |
BX
|
Bytes / Char |
Map 2 Block |
|
|
BX |
CX
|
Count
of Patterns |
|
|
CX |
DX
|
Char
offset into map 2 block |
|
|
DX |
ES:BP |
User
Table |
|
ES:DI |
Load User Table
Causes a mode set, completely resetting the video environment,
but without clearing the video buffer.
Input |
Output |
AX
|
11h |
01h, 11h |
|
|
AX |
BX
|
|
Block to Load |
|
|
BX |
CX
|
|
|
|
|
CX |
DX
|
|
|
|
|
DX |
ES:DI |
|
|
ES:DI |
Load ROM monochrome patterns (8 X 14)
Input |
Output |
AX
|
11h |
02h, 12h |
|
|
AX |
BX
|
|
Block to Load |
|
|
BX |
CX
|
|
|
|
|
CX |
DX
|
|
|
|
|
DX |
ES:DI |
|
|
ES:DI |
Load ROM double-dot patterns (8 X 8)
Input |
Output |
AX
|
11h |
03h |
|
|
AX |
BX
|
|
Block Specifier |
|
|
BX |
CX
|
|
|
|
|
CX |
DX
|
|
|
|
|
DX |
ES:DI |
|
|
ES:DI |
Set Block Specifier
EGA/MCGA
Block Specifier |
Bit |
Dec |
Hex |
Description |
0 |
1 |
01h |
Block
selected by chars with attribute bit 3 = 0 |
1 |
2 |
02h |
2 |
4 |
04h |
Block
selected by chars with attribute bit 3 = 1 |
3 |
8 |
08h |
4 |
16 |
10h |
|
5 |
32 |
20h |
6 |
64 |
40h |
7 |
128 |
80h |
VGA
Block Specifier |
Bit |
Dec |
Hex |
Description |
0 |
1 |
01h |
Block
selected by chars with attribute bit 3 = 0 |
1 |
2 |
02h |
2 |
4 |
04h |
3 |
8 |
08h |
4 |
16 |
10h |
5 |
32 |
20h |
Block selected by
chars with attribute bit 3 = 1 |
6 |
64 |
40h |
|
7 |
128 |
80h |
Input |
Output |
AX
|
11h |
04h,14h |
|
|
AX |
BX
|
|
Block Specifier |
|
|
BX |
CX
|
|
|
|
|
CX |
DX
|
|
|
|
|
DX |
ES:DI |
|
|
ES:DI |
Load ROM 8x16 character set (VGA)
These routines are designed to be called only immediately after
a mode set and are similar to call 01h except that:
: Page 0 must be active.
: Bytes/character is recalculated.
: Max character rows is recalculated.
: CRT buffer length is recalculated.
: CRTC registers are reprogrammed as follows:
R09 bytes/char-1 ; max scan line (mode 7 only)
R0A bytes/char-2 ; cursor start
R0B 0 ; cursor end
R12 ((rows+1)*(bytes/char))-1 ; vertical display end
R14 bytes/char ; underline loc (**BUG** should be 1 less) |