--- /dev/null
+#ifndef CHARGEN_4X8_H_KMZC3DOG
+#define CHARGEN_4X8_H_KMZC3DOG
+
+/* 4x8 pixel default font map */
+
+const char chargen_4x8_glyphs[][4] = {
+ /* 00 */
+ { 0x10, 0x10, 0xf0, 0x00 },
+ /* 01 */
+ { 0x10, 0x10, 0xf0, 0x10 },
+ /* 02 */
+ { 0x10, 0x10, 0x1f, 0x10 },
+ /* 03 */
+ { 0x10, 0x10, 0xff, 0x10 },
+ /* 04 */
+ { 0x10, 0x10, 0x10, 0x10 },
+ /* 05 */
+ { 0x10, 0xff, 0x10, 0x10 },
+ /* 06 */
+ { 0x00, 0xff, 0x28, 0x28 },
+ /* 07 */
+ { 0xff, 0x00, 0xff, 0x10 },
+ /* 08 */
+ { 0xf8, 0x08, 0xe8, 0x28 },
+ /* 09 */
+ { 0x3f, 0x20, 0x2f, 0x28 },
+ /* 0a */
+ { 0xe8, 0x08, 0xe8, 0x28 },
+ /* 0b */
+ { 0x2f, 0x20, 0x2f, 0x20 },
+ /* 0c */
+ { 0xff, 0x00, 0xef, 0x2f },
+ /* 0d */
+ { 0x2f, 0x2f, 0x2f, 0x2f },
+ /* 0e */
+ { 0xef, 0x00, 0xef, 0xe8 },
+ /* 0f */
+ { 0x28, 0xe8, 0x28, 0x28 },
+ /* 10 */
+ { 0xf0, 0x10, 0xf0, 0x10 },
+ /* 11 */
+ { 0x28, 0x2f, 0x28, 0x28 },
+ /* 12 */
+ { 0x1f, 0x10, 0x1f, 0x10 },
+ /* 13 */
+ { 0xf0, 0x10, 0xf0, 0x10 },
+ /* 14 */
+ { 0x00, 0xf8, 0x28, 0x28 },
+ /* 15 */
+ { 0x00, 0x3f, 0x28, 0x28 },
+ /* 16 */
+ { 0x1f, 0x10, 0x1f, 0x10 },
+ /* 17 */
+ { 0xff, 0x10, 0xff, 0x10 },
+ /* 18 */
+ { 0x28, 0xff, 0x28, 0x28 },
+ /* 19 */
+ { 0x10, 0xf0, 0x00, 0x00 },
+ /* 1a */
+ { 0x00, 0x1f, 0x10, 0x10 },
+ /* 1b */
+ { 0xff, 0xff, 0xff, 0xff },
+ /* 1c */
+ { 0x0f, 0x0f, 0x0f, 0x0f },
+ /* 1d */
+ { 0xff, 0xff, 0x00, 0x00 },
+ /* 1e */
+ { 0x00, 0x00, 0xff ,0xff },
+ /* 1f */
+ { 0xf0, 0xf0, 0xf0, 0xf0 },
+
+ /* --- */
+
+ /* 20 ' ' */
+ { 0x00, 0x00, 0x00, 0x00 },
+ /* 21 '!' */
+ { 0x00, 0xfa, 0x00, 0x00 },
+ /* 22 '"' "*/
+ { 0xb0, 0x00, 0xb0, 0x00 },
+ /* 23 '#' */
+ { 0x7b, 0x28, 0x7b, 0x00 },
+ /* 24 '$' */
+ { 0x64, 0xd6, 0x4b, 0x00 },
+ /* 25 '%' */
+ { 0x86, 0x38, 0xb2, 0x00 },
+ /* 26 '&' */
+ { 0x6b, 0x94, 0x6e, 0x0a },
+ /* 27 ''' */
+ { 0x00, 0x40, 0x80, 0x00 },
+ /* 28 '(' */
+ { 0x38, 0x44, 0x82, 0x00 },
+ /* 29 ')' */
+ { 0x82, 0x44, 0x38, 0x00 },
+ /* 2a '*' */
+ { 0x54, 0x38, 0x54, 0x00 },
+ /* 2b '+' */
+ { 0x10, 0x7c, 0x10, 0x00 },
+ /* 2c ',' */
+ { 0x02, 0x04, 0x00, 0x00 },
+ /* 2d '-' */
+ { 0x10, 0x10, 0x10, 0x00 },
+ /* 2e '.' */
+ { 0x00, 0x02, 0x00, 0x00 },
+ /* 2f '/' */
+ { 0x06, 0x38, 0xc0, 0x00 },
+ /* 30 '0' */
+ { 0x7c, 0x82, 0x7c, 0x00 },
+ /* 31 '1' */
+ { 0x42, 0xfe, 0x02, 0x00 },
+ /* 32 '2' */
+ { 0x46, 0x9a, 0x62, 0x00 },
+ /* 33 '3' */
+ { 0x44, 0x92, 0x6c, 0x00 },
+ /* 34 '4' */
+ { 0xf0, 0x10, 0xfe, 0x00 },
+ /* 35 '5' */
+ { 0xe4, 0xa2, 0x9c, 0x00 },
+ /* 36 '6' */
+ { 0x7c, 0x92, 0x4c, 0x00 },
+ /* 37 '7' */
+ { 0x86, 0x98, 0xe0, 0x00 },
+ /* 38 '8' */
+ { 0x6c, 0x92, 0x6c, 0x00 },
+ /* 39 '9' */
+ { 0x64, 0x92, 0x7c, 0x00 },
+ /* 3a ':' */
+ { 0x00, 0x24, 0x00, 0x00 },
+ /* 3b ';' */
+ { 0x02, 0x24, 0x00, 0x00 },
+ /* 3c '<' */
+ { 0x10, 0x28, 0x44, 0x82 },
+ /* 3d '=' */
+ { 0x28, 0x28, 0x28, 0x00 },
+ /* 3e '>' */
+ { 0x82, 0x44, 0x28, 0x10 },
+ /* 3f '?' */
+ { 0x40, 0x9a, 0x60, 0x00 },
+
+ /* --- */
+
+ /* 40 '@' */
+ { 0x7c, 0x9a, 0x7a, 0x00 },
+ /* 41 'A' */
+ { 0x7e, 0x90, 0x7e, 0x00 },
+ /* 42 'B' */
+ { 0xfe, 0x92, 0x6c, 0x00 },
+ /* 43 'C' */
+ { 0x7c, 0x82, 0x44, 0x00 },
+ /* 44 'D' */
+ { 0xfe, 0x82, 0x7c, 0x00 },
+ /* 45 'E' */
+ { 0xfe, 0x92, 0x82, 0x00 },
+ /* 46 'F' */
+ { 0xfe, 0x90, 0x80, 0x00 },
+ /* 47 'G' */
+ { 0x7c, 0x92, 0x5c, 0x00 },
+ /* 48 'H' */
+ { 0xfe, 0x10, 0xfe, 0x00 },
+ /* 49 'I' */
+ { 0x82, 0xfe, 0x82, 0x00 },
+ /* 4a 'J' */
+ { 0x04, 0x02, 0xfc, 0x00 },
+ /* 4b 'K' */
+ { 0xfe, 0x30, 0xce, 0x00 },
+ /* 4c 'L' */
+ { 0xfe, 0x02, 0x02, 0x00 },
+ /* 4d 'M' */
+ { 0xfe, 0x60, 0xfe, 0x00 },
+ /* 4e 'N' */
+ { 0xfe, 0x80, 0x8e, 0x00 },
+ /* 4f 'O' */
+ { 0x7c, 0x82, 0x7c, 0x00 },
+ /* 50 'P' */
+ { 0xfe, 0x90, 0x60, 0x00 },
+ /* 51 'Q' */
+ { 0x7c, 0x82, 0x7d, 0x00 },
+ /* 52 'R' */
+ { 0xfe, 0x90, 0x6e, 0x00 },
+ /* 53 'S' */
+ { 0x64, 0x92, 0x4c, 0x00 },
+ /* 54 'T' */
+ { 0x80, 0xfe, 0x80, 0x00 },
+ /* 55 'U' */
+ { 0xfe, 0x02, 0xfe, 0x02 },
+ /* 56 'V' */
+ { 0xf8, 0x06, 0xf8, 0x00 },
+ /* 57 'W' */
+ { 0xfe, 0x0c, 0xfe, 0x00 },
+ /* 58 'X' */
+ { 0xee, 0x10, 0xee, 0x00 },
+ /* 59 'Y' */
+ { 0xe0, 0x1e, 0xe0, 0x00 },
+ /* 5a 'Z' */
+ { 0x8e, 0x92, 0xe2, 0x00 },
+ /* 5b '[' */
+ { 0x00, 0xfe, 0x82, 0x00 },
+ /* 5c '\' */
+ { 0xc0, 0x38, 0x06, 0x00 },
+ /* 5d ']' */
+ { 0x00, 0x82, 0xfe, 0x00 },
+ /* 5e '^' */
+ { 0x40, 0x80, 0x40, 0x00 },
+ /* 5f '_' */
+ { 0x01, 0x01, 0x01, 0x00 },
+
+ /* --- */
+
+ /* 60 '`' */
+ { 0x00, 0x80, 0x40, 0x00 },
+ /* 61 'a' */
+ { 0x24, 0x2a, 0x1e, 0x00 },
+ /* 62 'b' */
+ { 0xfe, 0x22, 0x1c, 0x00 },
+ /* 63 'c' */
+ { 0x1c, 0x22, 0x14, 0x00 },
+ /* 64 'd' */
+ { 0x1c, 0x22, 0xfe, 0x00 },
+ /* 65 'e' */
+ { 0x1c, 0x2a, 0x1a, 0x00 },
+ /* 66 'f' */
+ { 0x10, 0x77, 0x90, 0x00 },
+ /* 67 'g' */
+ { 0x12, 0x2a, 0x3a, 0x00 },
+ /* 68 'h' */
+ { 0xfe, 0x20, 0x1e, 0x00 },
+ /* 69 'i' */
+ { 0x22, 0xbe, 0x02, 0x00 },
+ /* 6a 'j' */
+ { 0x04, 0x02, 0xbc, 0x00 },
+ /* 6b 'k' */
+ { 0xfe, 0x08, 0x36, 0x00 },
+ /* 6c 'l' */
+ { 0x82, 0xfe, 0x02, 0x00 },
+ /* 6d 'm' */
+ { 0x3e, 0x18, 0x3e, 0x00 },
+ /* 6e 'n' */
+ { 0x3e, 0x20, 0x1e, 0x00 },
+ /* 6f 'o' */
+ { 0x1c, 0x22, 0x1c, 0x00 },
+ /* 70 'p' */
+ { 0x3e, 0x28, 0x10, 0x00 },
+ /* 71 'q' */
+ { 0x10, 0x28, 0x3e, 0x00 },
+ /* 72 'r' */
+ { 0x3e, 0x20, 0x10, 0x00 },
+ /* 73 's' */
+ { 0x12, 0x2a, 0x24, 0x00 },
+ /* 74 't' */
+ { 0x20, 0x7c, 0x22, 0x00 },
+ /* 75 'u' */
+ { 0x3c, 0x02, 0x37, 0x00 },
+ /* 76 'v' */
+ { 0x38, 0x06, 0x38, 0x00 },
+ /* 77 'w' */
+ { 0x3e, 0x0c, 0x3e, 0x00 },
+ /* 78 'x' */
+ { 0x36, 0x08, 0x36, 0x00 },
+ /* 79 'y' */
+ { 0x32, 0x0a, 0x3c, 0x00 },
+ /* 7a 'z' */
+ { 0x26, 0x2a, 0x32, 0x00 },
+ /* 7b '{' */
+ { 0x10, 0x6c, 0x82, 0x00 },
+ /* 7c '|' */
+ { 0x00, 0xee, 0x00, 0x00 },
+ /* 7d '}' */
+ { 0x82, 0x6c, 0x10, 0x00 },
+ /* 7e '~' */
+ { 0x40, 0x80, 0x40, 0x80 },
+ /* 7f '<delta>' */
+ { 0x0e, 0x32, 0x0e, 0x00 },
+};
+
+#define CHARGEN_4x8_GLYPHS_NUM ( (sizeof chargen_4x8_glyphs) / (sizeof chargen_4x8_glyphs[0]) )
+
+#endif /* CHARGEN_4X8_H_KMZC3DOG */