Add an 8x14 font to the video BIOS.
Font data provided by Roy Tam.


svn path=/trunk/; revision=64786
This commit is contained in:
Aleksandar Andrejevic
2014-10-17 14:15:43 +00:00
parent c47d138515
commit ec863ef510
2 changed files with 521 additions and 1 deletions
+520 -1
View File
@@ -911,6 +911,522 @@ static CONST UCHAR Font8x8[VGA_FONT_CHARACTERS * 8] =
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static CONST UCHAR Font8x14[VGA_FONT_CHARACTERS * 14] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x81, 0xA5, 0x81,
0x81, 0xBD, 0x99, 0x81, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7E, 0xFF, 0xDB, 0xFF,
0xFF, 0xC3, 0xE7, 0xFF, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFE,
0xFE, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C,
0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0xE7,
0xE7, 0xE7, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF,
0xFF, 0x7E, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7,
0xC3, 0xC3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66,
0x42, 0x42, 0x66, 0x3C, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x99,
0xBD, 0xBD, 0x99, 0xC3, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x1E, 0x0E, 0x1A, 0x32,
0x78, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66,
0x3C, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x33, 0x3F, 0x30,
0x30, 0x30, 0x70, 0xF0, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0x63, 0x7F, 0x63,
0x63, 0x63, 0x67, 0xE7, 0xE6, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0xDB, 0x3C,
0xE7, 0x3C, 0xDB, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8,
0xFE, 0xF8, 0xE0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x06, 0x0E, 0x3E,
0xFE, 0x3E, 0x0E, 0x06, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB,
0x7B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00,
0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6,
0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
0x18, 0x18, 0x7E, 0x3C, 0x18, 0x7E, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0C,
0xFE, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60,
0xFE, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xC0, 0xC0, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6C,
0xFE, 0x6C, 0x28, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38,
0x7C, 0x7C, 0xFE, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x7C,
0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C,
0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C,
0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00,
0x00, 0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0,
0x7C, 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6,
0x0C, 0x18, 0x30, 0x66, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
0x76, 0xDC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x30,
0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C,
0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18,
0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
0xD6, 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18,
0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C,
0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06,
0x3C, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C,
0xCC, 0xFE, 0x0C, 0x0C, 0x1E, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0,
0xFC, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0,
0xFC, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0xC6, 0x06, 0x0C,
0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0x7E, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60,
0xC0, 0x60, 0x30, 0x18, 0x0C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E,
0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C,
0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C,
0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xDE,
0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6,
0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
0x7C, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66,
0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68,
0x78, 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68,
0x78, 0x68, 0x60, 0x60, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
0xC0, 0xDE, 0xC6, 0x66, 0x3A, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0xE6, 0x66, 0x6C, 0x6C,
0x78, 0x6C, 0x6C, 0x66, 0xE6, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF0, 0x60, 0x60, 0x60,
0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xD6,
0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE,
0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
0x7C, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0E, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66,
0x7C, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60,
0x38, 0x0C, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xD6, 0xD6, 0xFE, 0x6C, 0x6C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0x7C,
0x38, 0x7C, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0xC6, 0x8C, 0x18,
0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70,
0x38, 0x1C, 0x0E, 0x06, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00,
0x38, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x78,
0x6C, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C,
0x6C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1C, 0x36, 0x32, 0x30,
0x7C, 0x30, 0x30, 0x30, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x78,
0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C,
0x76, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x38,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0E,
0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C,
0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x66,
0x6C, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC,
0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC,
0x76, 0x66, 0x60, 0x60, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0x70, 0x1C, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x30, 0x30, 0xFC,
0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
0x6C, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
0xCC, 0x18, 0x30, 0x66, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x18,
0x70, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x70, 0x18, 0x18, 0x18,
0x0E, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00,
0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0,
0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x18, 0x70,
0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x7C,
0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0xC0, 0x60, 0x30, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x38, 0x6C, 0x38, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,
0xC6, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x70,
0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C,
0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x7C,
0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C,
0xC6, 0xFE, 0xC0, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x38,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x18, 0x3C, 0x66, 0x00, 0x38,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x38,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0xC6, 0x00, 0x10, 0x38, 0x6C, 0xC6,
0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x38, 0x6C, 0x38, 0x10, 0x38, 0x6C, 0xC6,
0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x0C, 0x18, 0x00, 0xFE, 0x66, 0x62, 0x68,
0x78, 0x68, 0x62, 0x66, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC,
0x36, 0x76, 0xDC, 0xD8, 0x6E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x6C, 0xCC, 0xCC,
0xFE, 0xCC, 0xCC, 0xCC, 0xCE, 0x00, 0x00,
0x00, 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0xC0, 0x60, 0x30, 0x00, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xC6, 0x00, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x7C,
0x00, 0xC6, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0xC6, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x7C, 0xC6,
0xC0, 0xC6, 0x7C, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0x64, 0x60,
0xF0, 0x60, 0x60, 0x66, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x66, 0x66, 0x3C, 0x18,
0x7E, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x7C,
0x62, 0x66, 0x6F, 0x66, 0xF3, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0E, 0x1B, 0x18, 0x18,
0x7E, 0x18, 0x18, 0xD8, 0x70, 0x00, 0x00,
0x00, 0x00, 0x0C, 0x18, 0x30, 0x00, 0x78,
0x0C, 0x7C, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x38,
0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x7C,
0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x0C, 0x18, 0x30, 0x00, 0xCC,
0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC,
0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00,
0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE,
0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x36,
0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30,
0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
0x00, 0x60, 0xE0, 0x63, 0x66, 0x6C, 0x18,
0x30, 0x6E, 0xC3, 0x06, 0x0C, 0x1F, 0x00,
0x00, 0x60, 0xE0, 0x63, 0x66, 0x6C, 0x18,
0x36, 0x6E, 0xDA, 0x3F, 0x06, 0x06, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18,
0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00,
0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11,
0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44,
0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,
0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA,
0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD,
0x77, 0xDD, 0x77, 0xDD, 0x77, 0xDD, 0x77,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18,
0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x18,
0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06,
0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06,
0xF6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0xF6, 0x06,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0x18,
0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30,
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x30,
0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
0xF7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30,
0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x36, 0x36, 0x36, 0x36, 0xF7, 0x00,
0xF7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,
0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x18,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x18,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0xFF, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18,
0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
0xDC, 0xD8, 0xD8, 0xDC, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0xCC, 0xCC, 0xD8,
0xCC, 0xC6, 0xC6, 0xC6, 0xCC, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0xC6, 0xC6, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0xC6, 0x60, 0x30,
0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E,
0xD8, 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66,
0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
0xDC, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x18, 0x3C, 0x66,
0x66, 0x66, 0x3C, 0x18, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
0xFE, 0xC6, 0xC6, 0x6C, 0x38, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6,
0xC6, 0x6C, 0x6C, 0x6C, 0xEE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1E, 0x30, 0x18, 0x0C,
0x3E, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB,
0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x06, 0x7E, 0xDB,
0xDB, 0xF3, 0x7E, 0x60, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1E, 0x30, 0x60, 0x60,
0x7E, 0x60, 0x60, 0x30, 0x1E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6,
0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00,
0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18,
0x18, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06,
0x0C, 0x18, 0x30, 0x00, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60,
0x30, 0x18, 0x0C, 0x00, 0x7E, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x1B, 0x1B, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,
0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC,
0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0xEC, 0x6C, 0x3C, 0x1C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x6C, 0x36, 0x36, 0x36,
0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0x0C, 0x18,
0x32, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E,
0x7E, 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
static CONST UCHAR Font8x16[VGA_FONT_CHARACTERS * 16] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -2418,7 +2934,7 @@ VOID WINAPI VidBiosVideoService(LPWORD Stack)
{
FONT_8x8_HIGH_OFFSET, /* 00h - INT 0x1F pointer */
0, /* 01h - NOT IMPLEMENTED - INT 0x43 pointer */
0, /* 02h - NOT IMPLEMENTED - 8x14 font */
FONT_8x14_OFFSET, /* 02h - NOT IMPLEMENTED - 8x14 font */
FONT_8x8_OFFSET, /* 03h - 8x8 font */
FONT_8x8_HIGH_OFFSET, /* 04h - 8x8 font, upper half */
0, /* 05h - NOT IMPLEMENTED - 9x14 font */
@@ -2530,6 +3046,9 @@ BOOLEAN VidBiosInitialize(VOID)
RtlMoveMemory(SEG_OFF_TO_PTR(VIDEO_BIOS_DATA_SEG, FONT_8x16_OFFSET),
Font8x16,
sizeof(Font8x16));
RtlMoveMemory(SEG_OFF_TO_PTR(VIDEO_BIOS_DATA_SEG, FONT_8x14_OFFSET),
Font8x14,
sizeof(Font8x14));
/* Write the default font to the VGA font plane */
VgaWriteFont(0, Font8x16, 16);
+1
View File
@@ -31,6 +31,7 @@
#define FONT_8x8_OFFSET 0x0000
#define FONT_8x8_HIGH_OFFSET 0x0400
#define FONT_8x16_OFFSET 0x0800
#define FONT_8x14_OFFSET 0x1800
enum
{