INT 10,11 - Character Generator Routine (EGA/VGA)
AH = 11h AL = 00 user character load BH = number of bytes per character BL = table in character generator RAM CX = count of characters in table DX = ASCII code of first character defined ES:BP = pointer to user table AL = 01 ROM BIOS 8x14 monochrome set BL = table in character generator RAM AL = 02 ROM BIOS 8x8 double dot BL = table in character generator RAM AL = 03 set displayed definition table BL = value for character Map Select register (EGA,VGA) = character generator RAM table numbers (MCGA) AL = 04 ROM BIOS 8x16 character set BL = table in character generator RAM AL = 10 user specified character definition table BH = bytes per character (points) BL = table in character generator RAM CX = number of characters defined in table DX = ASCII code of first character defined ES:BP = pointer to user table AL = 11 ROM BIOS 8x14 monochrome character set BL = table in character generator RAM AL = 12 ROM 8x8 double dot character definitions BL = table in character generator RAM AL = 14 ROM 8x16 double dot character definitions BL = table in character generator RAM AL = 20 pointer to graphics character table for INT 1F (8x8) ES:BP = pointer to user table AL = 21 user graphics character pointer at INT 43 BL = row specifier = 0 - user specified (DL = rows) = 1 is 14 rows = 2 is 25 rows = 3 is 43 rows CX = bytes per character (points) DL = rows (when BL = 0) ES:BP = pointer to user table AL = 22 ROM 8x14 character set BL = number of rows (see AL=21) DL = rows (when BL = 0) AL = 23 ROM 8x8 double dot character set BL = row specifier (see AL=21) DL = rows (when BL = 0) AL = 24 ROM 8x16 character set BL = row specifier (see AL=21) DL = rows (when BL = 0) AL = 30 get current character generator information BH = information desired: = 0 INT 1F pointer = 1 INT 44h pointer = 2 ROM 8x14 pointer = 3 ROM 8x8 double dot pointer (base) = 4 ROM 8x8 double dot pointer (top) = 5 ROM 9x14 alpha alternate pointer = 6 ROM 8x16 character table pointer = 7 ROM 9x16 alternate character table pointer on return: CX = bytes per character (points) DL = rows (less 1) ES:BP = pointer to table