ilo+x11: embed font data into vm binary, make use of pledge() on openbsd

This commit is contained in:
crc 2024-09-03 15:33:56 +02:00
parent 0e54db30c4
commit d5fa9d0bc4
3 changed files with 345 additions and 24 deletions

342
source/font.h Normal file
View file

@ -0,0 +1,342 @@
unsigned char font[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42,
0x81, 0xE7, 0xA5, 0x99, 0x81, 0x99, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3C, 0x7E, 0xFF, 0x99, 0xDB, 0xE7, 0xFF, 0xE7, 0x7E, 0x3C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xFF, 0xFF, 0xFF,
0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x3C, 0x7E, 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x5A, 0xFF, 0xFF, 0x5A, 0x18, 0x3C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x7E, 0xFF, 0xFF,
0xFF, 0x5A, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x42,
0x42, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC3, 0x99, 0xBD, 0xBD, 0x99, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x0F, 0x07, 0x0D, 0x18, 0x3E, 0x63, 0xC3, 0xC3, 0xC6, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0x7E, 0x18,
0x18, 0x1E, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0C,
0x0E, 0x0B, 0x08, 0x08, 0x08, 0x78, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x18, 0x1C, 0x16, 0x1A, 0x16, 0x12, 0x72, 0xF2, 0x62, 0x0E,
0x1E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0xDB, 0x7E, 0x3C, 0xFF,
0x3C, 0x7E, 0xDB, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70,
0x78, 0x7C, 0x7E, 0x7E, 0x7C, 0x78, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x0E, 0x1E, 0x3E, 0x7E, 0x7E, 0x3E, 0x1E, 0x0E, 0x06,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x38, 0x38,
0x38, 0x38, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x7B, 0xDB, 0xDB, 0xDB, 0x7F, 0x3B, 0x1B, 0x1B, 0x1B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x30, 0x78, 0xDC, 0xCE, 0xE7, 0x73,
0x3B, 0x1E, 0x0C, 0x18, 0x30, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x38, 0x38, 0x38, 0xFE, 0x7C, 0x38,
0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7C, 0xFE, 0x38, 0x38,
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38,
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xFE, 0x7C, 0x38, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0C, 0xFE, 0xFF, 0xFE, 0x0C, 0x08,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x7F,
0xFF, 0x7F, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x66,
0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x66, 0xFF, 0xFF, 0x66, 0x24, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x7E,
0x7E, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x7E, 0x7E, 0x3C, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x66,
0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x33, 0x33, 0xFF, 0x66, 0x66, 0x66, 0x66, 0xFF, 0xCC, 0xCC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x7E, 0xDB, 0xD8, 0x78, 0x1C, 0x1E,
0x1B, 0xDB, 0xDB, 0x7E, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xD1,
0xB3, 0x66, 0x0C, 0x18, 0x36, 0x6D, 0xCB, 0x06, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x36, 0x66, 0x3C, 0x38, 0x6C, 0xC7, 0xC6, 0x6E, 0x3B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30,
0x30, 0x60, 0x60, 0x60, 0x60, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x30, 0x18, 0x0C, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x18,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00,
0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x0C, 0x18,
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x10, 0x30, 0x20, 0x60, 0x40,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xCF,
0xDB, 0xF3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1C,
0x3C, 0x6C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x63, 0xC3, 0x03, 0x06, 0x0C, 0x18, 0x30, 0x63, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC6, 0x0C, 0x18, 0x3E, 0x03,
0x03, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E,
0x1E, 0x36, 0x66, 0xC7, 0xDE, 0xF6, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xF0, 0xC0, 0xDC, 0xF6, 0x03, 0x03, 0xC3, 0xC6, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC6, 0xC0, 0xDC, 0xF6,
0xC6, 0xC6, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xC3,
0x06, 0x0C, 0x0C, 0x18, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3C, 0x66, 0xC6, 0x6C, 0x3E, 0x63, 0xC3, 0xC3, 0xC6, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC6, 0xC6, 0xDE, 0x76,
0x06, 0xC6, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x60,
0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x60,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63, 0xC6, 0x0C, 0x18, 0x30,
0x30, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33,
0x6F, 0xDB, 0xDB, 0xDB, 0xDE, 0xD8, 0xC6, 0xDC, 0x70, 0x00, 0x00, 0x00,
0x00, 0x00, 0x18, 0x18, 0x3C, 0x24, 0x66, 0x6E, 0x7A, 0xE3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33, 0xE3, 0xC6, 0xDC, 0xF7,
0xC3, 0xC6, 0xDC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33,
0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x63, 0x3E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xC6, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC6, 0xDC, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0, 0xC0, 0xC0, 0xDC, 0xF0,
0xC0, 0xC0, 0xDE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0xF0,
0xC0, 0xC0, 0xDC, 0xF0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x63, 0xC0, 0xC0, 0xC0, 0xCF, 0xC3, 0xC3, 0x66, 0x3C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xCF, 0xFB,
0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x38,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x38, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xC3, 0xC3, 0x63, 0x3E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC6, 0xDC, 0xF0, 0xE0, 0xF0,
0xD8, 0xCC, 0xC6, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0,
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xDE, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC3, 0xC3, 0xE7, 0xEF, 0xFB, 0xD3, 0xC3, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xE3, 0xF3, 0xD3, 0xDB,
0xCF, 0xC7, 0xC3, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63,
0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x33, 0xE3, 0xC3, 0xC6, 0xDC, 0xF0, 0xC0, 0xC0, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xC3,
0xF3, 0xDE, 0xCC, 0x7C, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33,
0xE3, 0xC3, 0xC6, 0xFC, 0xD8, 0xCC, 0xC6, 0xC3, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7E, 0xC3, 0xC0, 0x70, 0x1C, 0x06, 0x03, 0xC3, 0xC3, 0x7E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3,
0xC3, 0xC3, 0xC3, 0xC3, 0xC6, 0xC6, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x66, 0x7C, 0x38, 0x30, 0x30,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xDB, 0xDB,
0xDB, 0xFF, 0xE7, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3,
0x66, 0x66, 0x3C, 0x3C, 0x66, 0x66, 0xC3, 0xC3, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC3, 0xC3, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF6, 0x04, 0x0C, 0x18, 0x10,
0x30, 0x20, 0x6F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3E, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0x40, 0x60, 0x20, 0x30, 0x10, 0x18, 0x08, 0x0C, 0x04,
0x06, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
0x0C, 0x0C, 0x0C, 0x0C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x66,
0xC0, 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, 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3E, 0x63, 0x1F, 0x73, 0xC3, 0xCF, 0x7B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xDC, 0xF6, 0xC3, 0xC3, 0xC6, 0xDC, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33, 0x60,
0xC0, 0xC0, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03,
0x03, 0x1F, 0x73, 0xC3, 0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63, 0xCE, 0xF8, 0xC0, 0xC3, 0x7E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33, 0x30, 0x30, 0x3C, 0xF0,
0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x63, 0xC3, 0xC7, 0xCF, 0xDB, 0x73, 0x03, 0xC3, 0x7E, 0x00,
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xCE, 0xDB, 0xF3, 0xE3, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C,
0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0x78, 0x00,
0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC6, 0xCC, 0xD8, 0xF8, 0xEC, 0xC6, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE6, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xF3, 0xE3, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63, 0xC3,
0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xCE, 0xDB, 0xF3, 0xE3, 0xC3, 0xC6, 0xFC, 0xC0, 0xC0, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0xDB, 0xCF, 0xC7, 0xC3, 0x63, 0x3F,
0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xDB, 0xF3,
0xE0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7E, 0xC3, 0x70, 0x1E, 0x03, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x30, 0x30, 0x3C, 0xF0, 0x30, 0x30, 0x36, 0x3C, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3,
0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC3, 0xC3, 0xC3, 0x66, 0x6C, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xDB, 0xDB, 0xFF, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x66, 0x3C,
0x18, 0x3C, 0x66, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x3E, 0x0C, 0xD8, 0x70, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x70,
0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
0x00, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x0E, 0x18, 0x18, 0x18, 0x18,
0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xDC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x33, 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x63, 0x3E,
0x0C, 0x18, 0xF0, 0x00, 0x00, 0x00, 0x66, 0x66, 0x00, 0xC3, 0xC3, 0xC3,
0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18,
0x00, 0x3E, 0x63, 0xCE, 0xF8, 0xC0, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x0C, 0x1E, 0x33, 0x60, 0x00, 0x3E, 0x63, 0x1F, 0x73, 0xC3, 0xCF, 0x7B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x00, 0x3E, 0x63, 0x1F,
0x73, 0xC3, 0xCF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C,
0x00, 0x3E, 0x63, 0x1F, 0x73, 0xC3, 0xCF, 0x7B, 0x00, 0x00, 0x00, 0x00,
0x1C, 0x36, 0x36, 0x1C, 0x00, 0x3E, 0x63, 0x1F, 0x73, 0xC3, 0xCF, 0x7B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33, 0x60,
0xC0, 0xC0, 0xC3, 0x7E, 0x0C, 0x18, 0xF0, 0x00, 0x18, 0x3C, 0x66, 0xC0,
0x00, 0x3E, 0x63, 0xCE, 0xF8, 0xC0, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x66, 0x66, 0x00, 0x3E, 0x63, 0xCE, 0xF8, 0xC0, 0xC3, 0x7E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x3E, 0x63, 0xCE,
0xF8, 0xC0, 0xC3, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x18, 0x3C, 0x66, 0xC0, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x18, 0x18,
0x3C, 0x24, 0x66, 0x66, 0x7E, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00, 0x00,
0x18, 0x24, 0x24, 0x18, 0x3C, 0x24, 0x66, 0x66, 0x7E, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x1E, 0xF0, 0xC0, 0xDE, 0xF0,
0xC0, 0xC0, 0xDE, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7E, 0xDB, 0x3B, 0x7E, 0xDC, 0xDB, 0x6E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x3E, 0x3C, 0x6C, 0x6F, 0x6E, 0x7C, 0xCC, 0xCF, 0xCE,
0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x66, 0xC0, 0x00, 0x3E, 0x63, 0xC3,
0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x60, 0x30, 0x18, 0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xC6, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x66, 0xC0, 0x00, 0xC3, 0xC3, 0xC3,
0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18,
0x00, 0xC3, 0xC3, 0xC3, 0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x66, 0x66, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x3E,
0x0C, 0xD8, 0x70, 0x00, 0x66, 0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xC3,
0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0xC3, 0xC3,
0xC3, 0xC3, 0xC3, 0xC3, 0xC6, 0xC6, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x08, 0x1E, 0x3B, 0x68, 0xC8, 0xC8, 0xCB, 0x7E,
0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x60, 0xF8, 0x60, 0xF8,
0x60, 0x60, 0x63, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3,
0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1E, 0x33, 0xE3, 0xC3, 0xC6, 0xDC, 0xF8, 0xCC, 0xDE, 0xCC,
0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x33, 0x30, 0x30, 0x3C, 0xF0,
0x30, 0x30, 0x30, 0x30, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18,
0x00, 0x3E, 0x63, 0x1F, 0x73, 0xC3, 0xCF, 0x7B, 0x00, 0x00, 0x00, 0x00,
0x00, 0x06, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x00, 0x3E, 0x63, 0xC3,
0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30,
0x00, 0xC3, 0xC3, 0xC3, 0xC7, 0xCF, 0xDB, 0x73, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x76, 0xDC, 0x00, 0xCE, 0xDB, 0xF3, 0xE3, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x03, 0x76, 0xDC, 0x00, 0xC3, 0xE3, 0xF3, 0xD3,
0xDB, 0xCF, 0xC7, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x63,
0x1F, 0x73, 0xC3, 0xCF, 0x7B, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x63, 0xC3, 0xC3, 0xC3, 0xC6, 0x7C, 0x00, 0x00, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x0C, 0x0C, 0x18,
0x30, 0x63, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xE1, 0x63, 0x66, 0x6C, 0x18, 0x30,
0x60, 0xCE, 0x9B, 0x06, 0x0D, 0x1F, 0x00, 0x00, 0x00, 0x60, 0xE1, 0x63,
0x66, 0x6C, 0x18, 0x30, 0x66, 0xCE, 0x97, 0x3E, 0x06, 0x06, 0x00, 0x00,
0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x36, 0x6C, 0xD8,
0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x6C, 0x36, 0x1B, 0x1B, 0x36, 0x6C, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x82, 0x10, 0x82, 0x10, 0x82, 0x10, 0x82, 0x10, 0x82, 0x10, 0x82, 0x10,
0x82, 0x10, 0x82, 0x10, 0x00, 0x95, 0x00, 0xA9, 0x00, 0x95, 0x00, 0xA9,
0x00, 0x95, 0x00, 0xA9, 0x00, 0x95, 0x00, 0xA9, 0x92, 0x49, 0x92, 0x49,
0x92, 0x49, 0x92, 0x49, 0x92, 0x49, 0x92, 0x49, 0x92, 0x49, 0x92, 0x49,
0x18, 0x18, 0x18, 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,
0x18, 0x18, 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFC, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFC, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFC, 0xFC, 0xFC, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xFC, 0xFC, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 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, 0x18, 0x18,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0xFF, 0x00, 0x00, 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, 0x18, 0x18,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x1F,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3F, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F,
0x3F, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3F, 0x3F,
0x3F, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F,
0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFF, 0x3C, 0x3C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF,
0xFF, 0x18, 0x18, 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, 0x00, 0x00, 0x1F, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xF0, 0xF0, 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, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x76, 0xCC, 0xCC, 0xCC, 0xDE, 0x73,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x33, 0xE3, 0xC2, 0xCC, 0xC2,
0xC3, 0xC3, 0xCE, 0xD8, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF3,
0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0x7E, 0xE6, 0x66, 0x66, 0x66, 0x66, 0x44,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x60, 0x30, 0x18, 0x30,
0x60, 0xC0, 0xDF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7F, 0xF0, 0xD8, 0xD8, 0xD8, 0xD8, 0x70, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63, 0x63, 0x67, 0x6F, 0x7B,
0x60, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xB8, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
0x7E, 0xDB, 0xDB, 0xDB, 0xDB, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3C, 0x66, 0xC3, 0xC3, 0xFF, 0xC3, 0xC3, 0x66, 0x3C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0xC3,
0x66, 0x24, 0xA5, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1C, 0x30,
0x18, 0x0C, 0x3E, 0x66, 0xC6, 0xC6, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xDB, 0xDB, 0xDB, 0x76, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x7C, 0xCE, 0xD6,
0xE6, 0x7C, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x30,
0x60, 0x60, 0x7E, 0x60, 0x60, 0x60, 0x30, 0x1E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7E, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00, 0x7E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x60, 0x30,
0x18, 0x0C, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E,
0x1B, 0x1B, 0x18, 0x18, 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, 0x18, 0x00, 0xFF,
0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x76, 0xDC, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3C, 0x66, 0x66, 0x3C, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0xD8, 0x50, 0x70, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0xF6, 0xE6, 0xC6, 0xC6, 0xC6,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCC,
0x18, 0x30, 0x64, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

View file

@ -12,7 +12,7 @@
#define BLOCKS "ilo.blocks"
#define ROM "ilo.rom"
#define FONT "ilo.fnt"
#define FG 0xFFFFFF
#define BG 0x000000
#define CURSOR 0x00FFFF
@ -53,7 +53,7 @@ C i[1]; /* for misc. purposes */
#define TERM_H (FH / FONT_H)
I frame[(FW * FH)/32]; /* frame buffer for display */
I font[4096]; /* font bitmap */
#include "font.h" /* font data */
I tx, ty; /* text cursor location */
/* variables for Arland's DEC subset */
@ -105,14 +105,6 @@ I wait_key() {
}
}
V load_font() {
f = open(FONT, O_RDONLY, 0666);
ulf();
if (!f) { return; };
read(f, &font, 4096);
close(f);
}
V pixel(I x, I y, I c) {
I index = y * FW + x;
if (c == 0) {
@ -435,16 +427,12 @@ I main(I argc, C **argv) {
rom = (argc > 2) ? argv[2] : ROM;
ok = 0;
/*
#ifdef __OpenBSD__
pledge("stdio rpath wpath unix video", NULL);
#endif
*/
load_image();
load_font();
disp = XOpenDisplay(NULL);
win = XCreateSimpleWindow(disp, RootWindow(disp, 0),
0, 0, FW, FH, 0, 0x0, 0x0);

View file

@ -51,7 +51,6 @@
#define BLOCKS "ilo.blocks" /* default data storage */
#define ROM "ilo.rom" /* default ilo rom */
#define FONT "ilo.fnt" /* default font */
#define FONT_H 16 /* font height */
#define FONT_W 8 /* font width */
@ -136,7 +135,7 @@ I cur; /* track current session */
#define WINDOW_WIDTH (FW)
I frame[(FW * FH)/32]; /* frame buffer for display */
I font[4096]; /* font bitmap */
#include "font.h" /* font bitmap */
I tx, ty; /* text cursor location */
/* variables for Arland's DEC subset */
@ -259,12 +258,6 @@ I wait_key() {
return k;
}
V load_font(ilo *v) {
F = open(FONT, O_RDONLY, 0666); FAILED { ulf(v); return; }
read(F, &font, 4096);
close(F);
}
V pixel(I x, I y, I c) {
I index = y * FW + x;
if (c == 0) {
@ -645,8 +638,6 @@ I main(I argc, C **argv) {
load_image(v);
}
/* load the font data */
load_font(&systems[0]);
initialize_display();
#ifdef CENTER_WINDOW