Here are the definitions for two bitmap fonts intended for use on small graphics devices like LCD graphic displays.
Cut'n'paste to insert in your program. They're in C but easy to translate to assembler; they're only a lump of data. Neither of them carries any information for characters below ascii ' ' - 0x20 - the non-printing characters, to save space. They're formatted to suit the bitmap display of most of the common LCDs where 8-bit bytes are stacked vertically with bit0 at the top, with adjacent bytes in the next vertical column.
The first if 5 wide by 7 high, so no true descenders, but it fits in a 6 by 8 character cell. To display, subtract 0x20 from your ascii code, use the result as a pointer into the table, set up the address on the LCD chip, and write five bytes in sequence. Then write a zero to the next byte. The internal pointers will then look after themselves and you're ready for the next character. (You'll want to keep an eye on line position).
Code:
const unsigned char font[480] PROGMEM = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5f,0x00,0x00, // !
0x00,0x03,0x00,0x03,0x00,0x14,0x7f,0x14,0x7f,0x14, // "#
0x24,0x2a,0x7f,0x2a,0x12,0x23,0x13,0x08,0x64,0x62, // $%
0x36,0x49,0x55,0x22,0x50,0x00,0x05,0x03,0x00,0x00, // &'
0x00,0x1c,0x22,0x41,0x00,0x00,0x41,0x22,0x1c,0x00, // ()
0x14,0x08,0x3e,0x08,0x14,0x08,0x08,0x3e,0x08,0x08, // *+
0x00,0x50,0x30,0x00,0x00,0x08,0x08,0x08,0x08,0x08, // ,-
0x00,0x60,0x60,0x00,0x00,0x20,0x10,0x08,0x04,0x02, // ./
0x3e,0x51,0x49,0x45,0x3e,0x00,0x42,0x7f,0x40,0x00, // 01
0x42,0x61,0x51,0x49,0x46,0x21,0x41,0x45,0x4b,0x31, // 23
0x18,0x14,0x12,0x7f,0x10,0x27,0x45,0x45,0x45,0x39, // 45
0x3c,0x4a,0x49,0x49,0x30,0x01,0x71,0x09,0x05,0x03, // 67
0x36,0x49,0x49,0x49,0x36,0x06,0x49,0x49,0x29,0x1e, // 89
0x00,0x36,0x36,0x00,0x00,0x00,0x56,0x36,0x00,0x00, // :;
0x08,0x14,0x22,0x41,0x00,0x14,0x14,0x14,0x14,0x14, // <=
0x00,0x41,0x22,0x14,0x08,0x02,0x01,0x51,0x09,0x06, // >?
0x32,0x49,0x79,0x41,0x3e,0x7e,0x11,0x11,0x11,0x7e, // @A
0x7f,0x49,0x49,0x49,0x36,0x3e,0x41,0x41,0x41,0x22, // BC
0x7f,0x41,0x41,0x22,0x1c,0x7f,0x49,0x49,0x49,0x41, // DE
0x7f,0x09,0x09,0x09,0x01,0x3e,0x41,0x49,0x49,0x7a, // FG
0x7f,0x08,0x08,0x08,0x7f,0x00,0x41,0x7f,0x41,0x00, // HI
0x20,0x40,0x41,0x3f,0x01,0x7f,0x08,0x14,0x22,0x41, // JK
0x7f,0x40,0x40,0x40,0x40,0x7f,0x02,0x0c,0x02,0x7f, // LM
0x7f,0x04,0x08,0x10,0x7f,0x3e,0x41,0x41,0x41,0x3e, // NO
0x7f,0x09,0x09,0x09,0x06,0x3e,0x41,0x51,0x21,0x5e, // PQ
0x7f,0x09,0x19,0x29,0x46,0x46,0x49,0x49,0x49,0x31, // RS
0x01,0x01,0x7f,0x01,0x01,0x3f,0x40,0x40,0x40,0x3f, // TU
0x1f,0x20,0x40,0x20,0x1f,0x3f,0x40,0x38,0x40,0x3f, // VW
0x63,0x14,0x08,0x14,0x63,0x07,0x08,0x70,0x08,0x07, // XY
0x61,0x51,0x49,0x45,0x43,0x00,0x7f,0x41,0x41,0x00, // Z[
0x02,0x04,0x08,0x10,0x20,0x00,0x41,0x41,0x7f,0x00, // \]
0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40, // ^_
0x00,0x01,0x02,0x04,0x00,0x20,0x54,0x54,0x54,0x78, // `a
0x7f,0x48,0x44,0x44,0x38,0x38,0x44,0x44,0x44,0x20, // bc
0x38,0x44,0x44,0x48,0x7f,0x38,0x54,0x54,0x54,0x18, // de
0x08,0x7e,0x09,0x01,0x02,0x0c,0x52,0x52,0x52,0x3e, // fg
0x7f,0x08,0x04,0x04,0x78,0x00,0x44,0x7d,0x40,0x00, // hi
0x20,0x40,0x44,0x3d,0x00,0x7f,0x10,0x28,0x44,0x00, // jk
0x00,0x41,0x7f,0x40,0x00,0x7c,0x04,0x18,0x04,0x78, // lm
0x7c,0x08,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38, // no
0x7c,0x14,0x14,0x14,0x08,0x08,0x14,0x14,0x18,0x7c, // pq
0x7c,0x08,0x04,0x04,0x08,0x48,0x54,0x54,0x54,0x20, // rs
0x04,0x3f,0x44,0x40,0x20,0x3c,0x40,0x40,0x20,0x7c, // tu
0x1c,0x20,0x40,0x20,0x1c,0x3c,0x40,0x30,0x40,0x3c, // vw
0x44,0x28,0x10,0x28,0x44,0x0c,0x50,0x50,0x50,0x3c, // xy
0x44,0x64,0x54,0x4c,0x44,0x00,0x08,0x36,0x41,0x00, // z{
0x00,0x00,0x7f,0x00,0x00,0x00,0x41,0x36,0x08,0x00, // |}
0x10,0x08,0x08,0x10,0x08,0x00,0x00,0x02,0x05,0x02}; // ^degree
The second table use a character of 5 by 12 in a 6 by 16 cell - that is two bytes above each other in the LCD cell. For this font, you need to multiply the ascii value (minus 0x20, of course) by ten to get the pointer to the start of the character. The first five bytes write the top half of the character; the next five write the bottom half.
Code:
const unsigned char font[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ' '
0x00, 0x00, 0x00, 0x00, 0x0B, 0xF8, 0x00, 0x00, 0x00, 0x00, // '!'
0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, // '"'
0x02, 0x20, 0x0F, 0xF8, 0x02, 0x20, 0x0F, 0xF8, 0x02, 0x20, // '#'
0x04, 0x60, 0x08, 0x90, 0x1F, 0xF8, 0x09, 0x10, 0x06, 0x20, // '$'
0x06, 0x10, 0x01, 0x28, 0x04, 0x90, 0x0A, 0x40, 0x04, 0x30, // '%'
0x07, 0x30, 0x08, 0xC8, 0x09, 0x30, 0x06, 0x00, 0x09, 0x00, // '&'
0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, // '''
0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x10, 0x04, 0x00, 0x00, // '('
0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x0F, 0xF8, 0x00, 0x00, // ')'
0x01, 0x10, 0x00, 0xA0, 0x03, 0xF8, 0x00, 0xA0, 0x01, 0x10, // '*'
0x01, 0x00, 0x01, 0x00, 0x07, 0xC0, 0x01, 0x00, 0x01, 0x00, // '+'
0x00, 0x00, 0x2C, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, // ','
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, // '-'
0x0C, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // '.'
0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, 0x00, 0x38, 0x00, 0x00, // '/'
0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0xF0, // '0'
0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x0F, 0xF8, 0x00, 0x00, // '1'
0x0C, 0x10, 0x0A, 0x08, 0x09, 0x08, 0x08, 0x88, 0x08, 0x70, // '2'
0x04, 0x10, 0x08, 0x08, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, // '3'
0x03, 0x00, 0x02, 0xC0, 0x02, 0x30, 0x0F, 0xF8, 0x02, 0x00, // '4'
0x04, 0xF8, 0x08, 0x48, 0x08, 0x48, 0x08, 0x48, 0x07, 0x88, // '5'
0x07, 0xF0, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x10, // '6'
0x00, 0x08, 0x0E, 0x08, 0x01, 0x88, 0x00, 0x68, 0x00, 0x18, // '7'
0x07, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, // '8'
0x04, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0xF0, // '9'
0x0C, 0xC0, 0x0C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ':'
0x00, 0x00, 0x2C, 0xC0, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, // ';'
0x01, 0x00, 0x02, 0x80, 0x04, 0x40, 0x08, 0x20, 0x00, 0x00, // '<'
0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, // '='
0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01, 0x00, 0x00, 0x00, // '>'
0x00, 0x10, 0x00, 0x08, 0x0B, 0x08, 0x00, 0x88, 0x00, 0x70, // '?'
0x01, 0xE0, 0x02, 0x10, 0x04, 0xC8, 0x05, 0x28, 0x02, 0xF0, // '@'
0x0F, 0x00, 0x02, 0xE0, 0x02, 0x18, 0x02, 0xE0, 0x0F, 0x00, // 'A'
0x0F, 0xF8, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x70, // 'B'
0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x10, // 'C'
0x0F, 0xF8, 0x08, 0x08, 0x08, 0x08, 0x04, 0x10, 0x03, 0xE0, // 'D'
0x0F, 0xF8, 0x08, 0x88, 0x08, 0x88, 0x08, 0x08, 0x00, 0x00, // 'E'
0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x08, 0x00, 0x00, // 'F'
0x07, 0xF0, 0x08, 0x08, 0x08, 0x88, 0x04, 0x88, 0x0F, 0x90, // 'G'
0x0F, 0xF8, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x0F, 0xF8, // 'H'
0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 'I'
0x06, 0x00, 0x08, 0x00, 0x08, 0x00, 0x07, 0xF8, 0x00, 0x00, // 'J'
0x0F, 0xF8, 0x00, 0xC0, 0x01, 0x20, 0x02, 0x10, 0x0C, 0x08, // 'K'
0x0F, 0xF8, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, // 'L'
0x0F, 0xF8, 0x00, 0x70, 0x01, 0x80, 0x00, 0x70, 0x0F, 0xF8, // 'M'
0x0F, 0xF8, 0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0F, 0xF8, // 'N'
0x07, 0xF0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0xF0, // 'O'
0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x00, 0x70, // 'P'
0x07, 0xF0, 0x08, 0x08, 0x0A, 0x08, 0x0C, 0x08, 0x17, 0xF0, // 'Q'
0x0F, 0xF8, 0x00, 0x88, 0x00, 0x88, 0x00, 0x88, 0x0F, 0x70, // 'R'
0x04, 0x70, 0x08, 0x88, 0x08, 0x88, 0x08, 0x88, 0x07, 0x10, // 'S'
0x00, 0x08, 0x00, 0x08, 0x0F, 0xF8, 0x00, 0x08, 0x00, 0x08, // 'T'
0x07, 0xF8, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x07, 0xF8, // 'U'
0x00, 0x38, 0x03, 0xC0, 0x0C, 0x00, 0x03, 0xC0, 0x00, 0x38, // 'V'
0x00, 0xF8, 0x0F, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0xF8, // 'W'
0x0E, 0x38, 0x01, 0x40, 0x00, 0x80, 0x01, 0x40, 0x0E, 0x38, // 'X'
0x00, 0x38, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x40, 0x00, 0x38, // 'Y'
0x0C, 0x08, 0x0B, 0x08, 0x08, 0x88, 0x08, 0x68, 0x08, 0x18, // 'Z'
0x00, 0x00, 0x1F, 0xFC, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, // '['
0x00, 0x00, 0x00, 0x38, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, // '\'
0x00, 0x00, 0x10, 0x04, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, // ']'
0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, // '^'
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, // '_'
0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // '`'
0x06, 0x00, 0x09, 0x40, 0x09, 0x40, 0x09, 0x40, 0x0F, 0x80, // 'a'
0x0F, 0xF8, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, // 'b'
0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x04, 0x80, // 'c'
0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x0F, 0xF8, // 'd'
0x07, 0x80, 0x09, 0x40, 0x09, 0x40, 0x09, 0x40, 0x05, 0x80, // 'e'
0x0F, 0xF0, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x10, // 'f'
0x27, 0x80, 0x28, 0x40, 0x28, 0x40, 0x28, 0x40, 0x1F, 0xC0, // 'g'
0x0F, 0xF8, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x0F, 0x80, // 'h'
0x00, 0x00, 0x00, 0x00, 0x0F, 0xC8, 0x00, 0x00, 0x00, 0x00, // 'i'
0x20, 0x00, 0x20, 0x00, 0x1F, 0xC8, 0x00, 0x00, 0x00, 0x00, // 'j'
0x0F, 0xF8, 0x01, 0x00, 0x02, 0x80, 0x04, 0x40, 0x08, 0x00, // 'k'
0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x00, // 'l'
0x0F, 0xC0, 0x00, 0x40, 0x0F, 0x80, 0x00, 0x40, 0x0F, 0x80, // 'm'
0x0F, 0xC0, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x0F, 0x80, // 'n'
0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, // 'o'
0x3F, 0xC0, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x07, 0x80, // 'p'
0x07, 0x80, 0x08, 0x40, 0x08, 0x40, 0x08, 0x40, 0x3F, 0xC0, // 'q'
0x0F, 0xC0, 0x00, 0x80, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, // 'r'
0x04, 0x80, 0x09, 0x40, 0x0A, 0x40, 0x04, 0x80, 0x00, 0x00, // 's'
0x07, 0xF0, 0x08, 0x40, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, // 't'
0x07, 0xC0, 0x08, 0x00, 0x08, 0x00, 0x04, 0x00, 0x0F, 0xC0, // 'u'
0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x00, 0xC0, // 'v'
0x01, 0xC0, 0x0E, 0x00, 0x01, 0xC0, 0x0E, 0x00, 0x01, 0xC0, // 'w'
0x0C, 0xC0, 0x03, 0x00, 0x03, 0x00, 0x0C, 0xC0, 0x00, 0x00, // 'x'
0x20, 0x00, 0x23, 0xC0, 0x1C, 0x00, 0x04, 0x00, 0x03, 0xC0, // 'y'
0x0C, 0x40, 0x0A, 0x40, 0x09, 0x40, 0x08, 0xC0, 0x00, 0x00, // 'z'
0x00, 0x00, 0x00, 0x80, 0x0F, 0x78, 0x10, 0x04, 0x00, 0x00, // '{'
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, // '|'
0x00, 0x00, 0x10, 0x04, 0x0F, 0x78, 0x00, 0x80, 0x00, 0x00, // '}'
0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, // '~'
0x00, 0x38, 0x00, 0x44, 0x00, 0x44, 0x00, 0x44, 0x00, 0x38, // ''
};
Another font; this time 7 by 11 in an 8 by 16 cell (so it can be used in an 8 by 12 cell). This one is organised for a normal video raster display; individual bytes hold the dot pattern across the raster and sequential bytes hold the image moving down the character. Bit zero is on the right, but seven on the left - that is, if you're outputting these as a raster, you send the high bit first.
You'll note that this is in assembler, and the comment that the bytes must be assigned in pairs. I'd rather stack the bytes so you can see the shape of the letter, but if you define them on separate lines the assembler will align each to a word boundary (and complain at you).
Code:
// font8-12.inc
// note that for packing, bytes *must* be defined in pairs or
// multiples of two.
// ' '
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// !
.db 0b00000000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00000000
.db 0b00010000,0b00010000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// "
.db 0b00101000,0b00101000,0b00101000,0b00101000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// #
.db 0b00000000,0b00010010,0b00010010,0b00010110
.db 0b01111111,0b00100100,0b00100100,0b11111110
.db 0b00101000,0b01001000,0b01001000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// $
.db 0b00001000,0b00111110,0b01001001,0b01001000
.db 0b00111000,0b00001110,0b00001001,0b01001001
.db 0b00111110,0b00001000,0b00001000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// %
.db 0b00000000,0b01100000,0b10010000,0b10010000
.db 0b01100010,0b00011100,0b01100110,0b00001001
.db 0b00001001,0b00000110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// &
.db 0b00000000,0b00011100,0b00100000,0b00100000
.db 0b00110000,0b01001001,0b01001101,0b01000101
.db 0b01100010,0b00111101,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// '
.db 0b00000000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// (
.db 0b00001100,0b00001000,0b00001000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00001000,0b00001000,0b00000100
.db 0b00000000,0b00000000,0b00000000,0b00000000
// )
.db 0b00110000,0b00010000,0b00010000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00010000,0b00010000,0b00110000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// *
.db 0b00000000,0b00000000,0b00001000,0b01001001
.db 0b00111110,0b00011100,0b01101011,0b00001000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// +
.db 0b00000000,0b00000000,0b00010000,0b00010000
.db 0b00010000,0b11111110,0b00010000,0b00010000
.db 0b00010000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ,
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00011000
.db 0b00011000,0b00010000,0b00100000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// -
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00111000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// .
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00011000
.db 0b00011000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// /
.db 0b00000010,0b00000100,0b00000100,0b00001000
.db 0b00001000,0b00011000,0b00010000,0b00010000
.db 0b00100000,0b00100000,0b01000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 0
.db 0b00000000,0b00011100,0b00100010,0b01000001
.db 0b01000001,0b01001001,0b01000001,0b01000001
.db 0b00100010,0b00011100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 1
.db 0b00000000,0b00111000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 2
.db 0b00000000,0b00111110,0b01000011,0b00000001
.db 0b00000001,0b00000010,0b00001100,0b00011000
.db 0b00100000,0b01111111,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 3
.db 0b00000000,0b00111110,0b01000001,0b00000001
.db 0b00000011,0b00011100,0b00000011,0b00000001
.db 0b01000011,0b00111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 4
.db 0b00000000,0b00000110,0b00001010,0b00011010
.db 0b00010010,0b00100010,0b01000010,0b01111111
.db 0b00000010,0b00000010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 5
.db 0b00000000,0b01111110,0b01000000,0b01000000
.db 0b01111100,0b00000011,0b00000001,0b00000001
.db 0b01000011,0b00111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 6
.db 0b00000000,0b00011110,0b00100001,0b01000000
.db 0b01011110,0b01100011,0b01000001,0b01000001
.db 0b00100011,0b00011110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 7
.db 0b00000000,0b01111111,0b00000010,0b00000010
.db 0b00000100,0b00000100,0b00001000,0b00011000
.db 0b00010000,0b00100000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 8
.db 0b00000000,0b00111110,0b01000001,0b01000001
.db 0b01000001,0b00111110,0b01000001,0b01000001
.db 0b01100001,0b00111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// 9
.db 0b00000000,0b00111100,0b01100010,0b01000001
.db 0b01000001,0b01100011,0b00111101,0b00000001
.db 0b01000010,0b00111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// :
.db 0b00000000,0b00000000,0b00000000,0b00011000
.db 0b00011000,0b00000000,0b00000000,0b00000000
.db 0b00011000,0b00011000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ;
.db 0b00000000,0b00000000,0b00000000,0b00011000
.db 0b00011000,0b00000000,0b00000000,0b00000000
.db 0b00011000,0b00011000,0b00010000,0b00100000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// <
.db 0b00000000,0b00000000,0b00000000,0b00000001
.db 0b00001110,0b01110000,0b01110000,0b00001110
.db 0b00000001,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// =
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01111111,0b00000000,0b00000000,0b01111111
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// >
.db 0b00000000,0b00000000,0b00000000,0b01000000
.db 0b00111000,0b00000111,0b00000111,0b00111000
.db 0b01000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ?
.db 0b00000000,0b00111000,0b01000100,0b00000100
.db 0b00001000,0b00010000,0b00010000,0b00000000
.db 0b00010000,0b00010000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// @
.db 0b00000000,0b00011110,0b00110011,0b00100001
.db 0b01000111,0b01001001,0b01001001,0b01001001
.db 0b01000111,0b00100000,0b00110000,0b00011110
.db 0b00000000,0b00000000,0b00000000,0b00000000
// A
.db 0b00000000,0b00001000,0b00010100,0b00010100
.db 0b00010100,0b00100010,0b00100010,0b00111110
.db 0b01100011,0b01000001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// B
.db 0b00000000,0b01111110,0b01000001,0b01000001
.db 0b01000001,0b01111110,0b01000001,0b01000001
.db 0b01000001,0b01111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// C
.db 0b00000000,0b00011110,0b00100001,0b01000000
.db 0b01000000,0b01000000,0b01000000,0b01000000
.db 0b00100001,0b00011110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// D
.db 0b00000000,0b01111100,0b01000010,0b01000001
.db 0b01000001,0b01000001,0b01000001,0b01000001
.db 0b01000010,0b01111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// E
.db 0b00000000,0b01111111,0b01000000,0b01000000
.db 0b01000000,0b01111111,0b01000000,0b01000000
.db 0b01000000,0b01111111,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// F
.db 0b00000000,0b01111111,0b01000000,0b01000000
.db 0b01000000,0b01111111,0b01000000,0b01000000
.db 0b01000000,0b01000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// G
.db 0b00000000,0b00011110,0b00100001,0b01000000
.db 0b01000000,0b01000011,0b01000001,0b01000001
.db 0b00100001,0b00011110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// H
.db 0b00000000,0b01000001,0b01000001,0b01000001
.db 0b01000001,0b01111111,0b01000001,0b01000001
.db 0b01000001,0b01000001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// I
.db 0b00000000,0b01111100,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b01111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// J
.db 0b00000000,0b00011100,0b00000100,0b00000100
.db 0b00000100,0b00000100,0b00000100,0b00000100
.db 0b01000100,0b00111000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// K
.db 0b00000000,0b01000010,0b01000100,0b01001000
.db 0b01010000,0b01110000,0b01001000,0b01000100
.db 0b01000100,0b01000010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// L
.db 0b00000000,0b01000000,0b01000000,0b01000000
.db 0b01000000,0b01000000,0b01000000,0b01000000
.db 0b01000000,0b01111111,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// M
.db 0b00000000,0b01100011,0b01100011,0b01010101
.db 0b01010101,0b01010101,0b01001001,0b01000001
.db 0b01000001,0b01000001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// N
.db 0b00000000,0b01100001,0b01100001,0b01010001
.db 0b01010001,0b01001001,0b01000101,0b01000101
.db 0b01000011,0b01000011,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// O
.db 0b00000000,0b00011100,0b00100010,0b01000001
.db 0b01000001,0b01000001,0b01000001,0b01000001
.db 0b00100010,0b00011100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// P
.db 0b00000000,0b01111110,0b01000011,0b01000001
.db 0b01000001,0b01000011,0b01111110,0b01000000
.db 0b01000000,0b01000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// Q
.db 0b00000000,0b00011100,0b00100010,0b01000001
.db 0b01000001,0b01000001,0b01000001,0b01000001
.db 0b00100010,0b00011110,0b00000110,0b00000010
.db 0b00000000,0b00000000,0b00000000,0b00000000
// R
.db 0b00000000,0b01111110,0b01000011,0b01000001
.db 0b01000001,0b01111110,0b01000010,0b01000001
.db 0b01000001,0b01000001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// S
.db 0b00000000,0b00111110,0b01100001,0b01000000
.db 0b01100000,0b00111110,0b00000011,0b00000001
.db 0b01000011,0b00111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// T
.db 0b00000000,0b01111111,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// U
.db 0b00000000,0b01000001,0b01000001,0b01000001
.db 0b01000001,0b01000001,0b01000001,0b01000001
.db 0b01000001,0b00111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// V
.db 0b00000000,0b01000001,0b01100011,0b00100010
.db 0b00100010,0b00100010,0b00010100,0b00010100
.db 0b00010100,0b00001000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// W
.db 0b00000000,0b10000001,0b10000001,0b10000001
.db 0b01011010,0b01011010,0b01011010,0b01100110
.db 0b01100110,0b01100110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// X
.db 0b00000000,0b01100011,0b00100010,0b00010100
.db 0b00011100,0b00001000,0b00010100,0b00110110
.db 0b00100010,0b01000001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// Y
.db 0b00000000,0b01000001,0b00100010,0b00010100
.db 0b00010100,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// Z
.db 0b00000000,0b01111111,0b00000011,0b00000110
.db 0b00000100,0b00001000,0b00010000,0b00110000
.db 0b01100000,0b01111111,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// [
.db 0b00011100,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00011100
.db 0b00000000,0b00000000,0b00000000,0b00000000
// \
.db 0b00000000,0b01000000,0b00100000,0b00100000
.db 0b00010000,0b00010000,0b00011000,0b00001000
.db 0b00001000,0b00000100,0b00000100,0b00000010
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ]
.db 0b00111000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b00111000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ^
.db 0b00000000,0b00010000,0b00101000,0b01000100
.db 0b11000110,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// _
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b11111111
.db 0b00000000,0b00000000,0b00000000,0b00000000
// `
.db 0b00010000,0b00001000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// a
.db 0b00000000,0b00000000,0b00000000,0b00011100
.db 0b00100010,0b00000010,0b00111110,0b01000010
.db 0b01000110,0b00111010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// b,
.db 0b00000000,0b01000000,0b01000000,0b01000000
.db 0b01000000,0b01111100,0b01100110,0b01000010
.db 0b01100110,0b01111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// c
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00011100,0b00100010,0b01000000,0b01000000
.db 0b00100010,0b00011100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// d
.db 0b00000000,0b00000010,0b00000010,0b00000010
.db 0b00000010,0b00111110,0b01100110,0b01000010
.db 0b01100110,0b00111010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// e
.db 0b00000000,0b00000000,0b00000000,0b00111100
.db 0b01100110,0b01000010,0b01111110,0b01000000
.db 0b01100010,0b00111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// f
.db 0b00000000,0b00001100,0b00010000,0b00010000
.db 0b00010000,0b01111100,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// g
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00111110,0b01100110,0b01000010,0b01100110
.db 0b00111010,0b00000010,0b00100010,0b00011100
.db 0b00000000,0b00000000,0b00000000,0b00000000
// h
.db 0b00000000,0b01000000,0b01000000,0b01000000
.db 0b01000000,0b01011100,0b01100010,0b01000010
.db 0b01000010,0b01000010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// i
.db 0b00000000,0b00000000,0b00010000,0b00000000
.db 0b01110000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b01111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// j
.db 0b00000000,0b00000000,0b00001000,0b00000000
.db 0b00111000,0b00001000,0b00001000,0b00001000
.db 0b00001000,0b00001000,0b00001000,0b01110000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// k
.db 0b00000000,0b01000000,0b01000000,0b01000100
.db 0b01001000,0b01010000,0b01110000,0b01001000
.db 0b01000100,0b01000010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// l
.db 0b00000000,0b01110000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00001110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// m
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b01111111,0b01001001,0b01001001
.db 0b01001001,0b01001001,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// n
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b01011100,0b01100010,0b01000010
.db 0b01000010,0b01000010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// o
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00111100,0b01100110,0b01000010
.db 0b01100110,0b00111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// p
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b01111100,0b01100110,0b01000010
.db 0b01100110,0b01111100,0b01000000,0b01000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// q
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00111110,0b01100110,0b01000010
.db 0b01100110,0b00111010,0b00000010,0b00000010
.db 0b00000000,0b00000000,0b00000000,0b00000000
// r
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00111100,0b00110010,0b00100000,0b00100000
.db 0b00100000,0b00100000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// s
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00111100,0b01000010,0b00111100,0b00000010
.db 0b01000010,0b00111100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// t
.db 0b00000000,0b00010000,0b00010000,0b01111110
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00001110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// u
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01000010,0b01000010,0b01000010,0b01000010
.db 0b01000110,0b00111010,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// v
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01000010,0b01100110,0b00100100,0b00111100
.db 0b00011000,0b00011000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// w
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b10000001,0b10000001,0b01011010,0b01011010
.db 0b00100100,0b00100100,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// x
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01100110,0b00100100,0b00011000,0b00011000
.db 0b00100100,0b01100110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// y
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01000010,0b00100010,0b00100100,0b00010100
.db 0b00011000,0b00001000,0b00010000,0b00110000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// z
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b01111110,0b00000110,0b00011000,0b00100000
.db 0b01000000,0b01111110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// {
.db 0b00011100,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b01100000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00001100
.db 0b00000000,0b00000000,0b00000000,0b00000000
// |
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b00010000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// }
.db 0b01110000,0b00010000,0b00010000,0b00010000
.db 0b00010000,0b00001100,0b00010000,0b00010000
.db 0b00010000,0b00010000,0b00010000,0b01100000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ^
.db 0b00000000,0b00010000,0b00101000,0b01000100
.db 0b11000110,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
// ~
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00111001,0b01000110,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
.db 0b00000000,0b00000000,0b00000000,0b00000000
Neil |