home *** CD-ROM | disk | FTP | other *** search
- --------V-1011-------------------------------
- INT 10 - VIDEO - TEXT-MODE CHARACTER GENERATOR FUNCTIONS (PS, EGA, VGA)
- AH = 11h
- The following functions will cause a mode set, completely resetting
- the video environment, but without clearing the video buffer
- AL = 00h, 10h: load user-specified patterns
- ES:BP -> user table
- CX = count of patterns to store
- DX = character offset into map 2 block
- BL = block to load in map 2
- BH = number of bytes per character pattern
- AL = 01h, 11h: load ROM monochrome patterns (8 by 14)
- BL = block to load
- AL = 02h, 12h: load ROM 8 by 8 double-dot patterns
- BL = block to load
- AL = 03h: set block specifier (allows dual character sets on screen)
- BL = block specifier (see #0019)
- AL = 04h, 14h: load ROM 8x16 character set (VGA)
- BL = block to load
- Notes: The routines called with AL=1xh are designed to be called only
- immediately after a mode set and are similar to the routines called
- with AL=0xh, 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 ***)
- the current block specifiers may be determined with INT 10/AH=1Bh,
- looking at offsets 2Bh and 2Ch of the returned data (VGA only)
- (see AH=1Bh,#0037)
- SeeAlso: AH=1Bh,AX=CD10h
-
- Bitfields for block specifier:
- Bit(s) Description (Table 0019)
- ---EGA/MCGA---
- 0,1 block selected by characters with attribute bit 3 clear
- 2,3 block selected by characters with attribute bit 3 set
- ---VGA---
- 0,1,4 block selected by characters with attribute bit 3 clear
- 2,3,5 block selected by characters with attribute bit 3 set
-
- Source: Interrupt Helper 51 By Ralf Brown.