Files
oldlinux-files/docs/interrupts/int-html0/inte6rg0.htm
2024-02-19 00:23:35 -05:00

159 lines
3.5 KiB
HTML
Raw Blame History

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text-html; charset=Windows-1252">
<title>INT 10,11 - Character Generator Routine (EGA/VGA)</title>
<meta name="FORMATTER" content="Microsoft FrontPage 2.0">
</head>
<body>
<h1><a name="kap_interrupt_0250"></a>INT 10,11 - Character
Generator Routine (EGA/VGA)</h1>
<p> AH = 11h</p>
<p> % AL = 00 user character load</p>
<p> BH = number of bytes per character</p>
<p> BL = table in character generator RAM</p>
<p> CX = count of characters in table</p>
<p> DX = ASCII code of first character defined</p>
<p> ES:BP = pointer to user table</p>
<p> % AL = 01 ROM BIOS 8x14 monochrome set</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 02 ROM BIOS 8x8 double dot</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 03 set displayed definition table</p>
<p> BL = value for character Map Select register (EGA,VGA)</p>
<p> = character generator RAM table numbers (MCGA)</p>
<p> % AL = 04 ROM BIOS 8x16 character set</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 10 user specified character definition table</p>
<p> BH = bytes per character (points)</p>
<p> BL = table in character generator RAM</p>
<p> CX = number of characters defined in table</p>
<p> DX = ASCII code of first character defined</p>
<p> ES:BP = pointer to user table</p>
<p> % AL = 11 ROM BIOS 8x14 monochrome character set</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 12 ROM 8x8 double dot character definitions</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 14 ROM 8x16 double dot character definitions</p>
<p> BL = table in character generator RAM</p>
<p> % AL = 20 pointer to graphics character table for ~INT 1F~
(8x8)</p>
<p> ES:BP = pointer to user table</p>
<p> % AL = 21 user graphics character pointer at INT 43</p>
<p> BL = row specifier</p>
<p> = 0 - user specified (DL = rows)</p>
<p> = 1 is 14 rows</p>
<p> = 2 is 25 rows</p>
<p> = 3 is 43 rows</p>
<p> CX = bytes per character (points)</p>
<p> DL = rows (when BL = 0)</p>
<p> ES:BP = pointer to user table</p>
<p> % AL = 22 ROM 8x14 character set</p>
<p> BL = number of rows (see AL=21)</p>
<p> DL = rows (when BL = 0)</p>
<p> % AL = 23 ROM 8x8 double dot character set</p>
<p> BL = row specifier (see AL=21)</p>
<p> DL = rows (when BL = 0)</p>
<p> % AL = 24 ROM 8x16 character set</p>
<p> BL = row specifier (see AL=21)</p>
<p> DL = rows (when BL = 0)</p>
<p> % AL = 30 get current character generator information</p>
<p> BH = information desired:</p>
<p> = 0 ~INT 1F~ pointer</p>
<p> = 1 INT 44h pointer</p>
<p> = 2 ROM 8x14 pointer</p>
<p> = 3 ROM 8x8 double dot pointer (base)</p>
<p> = 4 ROM 8x8 double dot pointer (top)</p>
<p> = 5 ROM 9x14 alpha alternate pointer</p>
<p> = 6 ROM 8x16 character table pointer</p>
<p> = 7 ROM 9x16 alternate character table pointer</p>
<p> on return:</p>
<p> CX = bytes per character (points)</p>
<p> DL = rows (less 1)</p>
<p> ES:BP = pointer to table</p>
<hr>
<table border="0" width="100%" cols="3">
<tr>
<td width="33%">Zur<EFBFBD>ck zum <a href="inte1at0.htm">Interrupt
Info</a>. </td>
<td align="center" width="33%"><a
href="mailto:Roger.Morgan@htl-steyr.ac.at">Roger Morgan</a>
/ 1998 </td>
<td align="right" width="33%"><font size="1">L.<2E>nderung <!--webbot
bot="Timestamp" s-type="EDITED" s-format="%d.%m.%y"
startspan -->29.03.99<!--webbot bot="Timestamp" endspan
i-checksum="13964" --> </font></td>
</tr>
</table>
</body>
</html>