mirror of
https://github.com/badgeteam/mch2022-template-app.git
synced 2024-11-26 11:01:06 +00:00
190 lines
11 KiB
C
190 lines
11 KiB
C
#include "../include/driver_framebuffer.h"
|
|
const uint8_t fairlight_13pt7bBitmaps[] = {
|
|
0x00, 0xFF, 0xFF, 0xF7, 0x38, 0x00, 0x73, 0x80, 0xE4, 0xE4, 0xE7, 0x77,
|
|
0x1D, 0xC7, 0x73, 0xFF, 0x77, 0x1D, 0xCF, 0xFD, 0xDC, 0x77, 0x1D, 0xC0,
|
|
0x18, 0x18, 0x3F, 0xE0, 0x3C, 0x07, 0x07, 0x07, 0xFC, 0x18, 0xE0, 0xF0,
|
|
0x78, 0x3C, 0x1E, 0x38, 0x38, 0x70, 0x70, 0xE3, 0xE1, 0xC0, 0x7E, 0x73,
|
|
0x9F, 0x8F, 0xC7, 0x83, 0xC3, 0x9F, 0xCE, 0xE7, 0x3F, 0xC0, 0x1D, 0xC7,
|
|
0x38, 0x1D, 0xC7, 0x1C, 0x73, 0x8E, 0x1C, 0x71, 0xC1, 0xC0, 0xE1, 0xC7,
|
|
0x1C, 0x70, 0x71, 0xDC, 0x71, 0xCE, 0x00, 0x77, 0x07, 0x81, 0xE3, 0xFF,
|
|
0x1E, 0x07, 0x87, 0x70, 0x1C, 0x1C, 0x1C, 0xFF, 0x1C, 0x1C, 0x1C, 0x77,
|
|
0x7E, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0x80, 0x00, 0xE0, 0x70, 0x0E, 0x01,
|
|
0xC0, 0x70, 0x38, 0x0E, 0x07, 0x00, 0x7F, 0x3C, 0x7F, 0x1F, 0xC7, 0xE3,
|
|
0xFF, 0x7F, 0x1F, 0x8F, 0xE3, 0xDF, 0xC0, 0x3D, 0xC0, 0x70, 0xE1, 0xC3,
|
|
0x87, 0x0E, 0x1C, 0x3C, 0x7E, 0x7E, 0x7E, 0xE0, 0x07, 0x1E, 0x70, 0x60,
|
|
0xE7, 0xFE, 0xFE, 0x00, 0x00, 0x07, 0x1E, 0x07, 0x07, 0x07, 0xE7, 0x7E,
|
|
0x0F, 0x08, 0x04, 0x1C, 0xEE, 0x77, 0x3B, 0xFE, 0x0E, 0x07, 0x03, 0xC0,
|
|
0xFF, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x3F, 0xC0, 0x1C, 0x07, 0xE3, 0xDF,
|
|
0xC0, 0x1F, 0x1C, 0x7E, 0x03, 0x80, 0xE0, 0x3F, 0xCE, 0x1F, 0x87, 0xE3,
|
|
0xDF, 0xC0, 0xFF, 0x00, 0x00, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
|
|
0x7F, 0x3C, 0x0F, 0x03, 0xC0, 0xE1, 0xDF, 0xCE, 0x1F, 0x87, 0xE3, 0xDF,
|
|
0xC0, 0x7F, 0x3C, 0x0E, 0x1F, 0x87, 0xE1, 0xDF, 0xF0, 0x1C, 0x07, 0xE3,
|
|
0xDF, 0xC0, 0xE0, 0x01, 0xC0, 0x70, 0x00, 0x07, 0x7E, 0x0F, 0x1C, 0x70,
|
|
0x70, 0x70, 0xE0, 0x70, 0x70, 0x1C, 0x0F, 0xFF, 0x00, 0x00, 0xFF, 0xF0,
|
|
0x38, 0x0E, 0x0E, 0x0E, 0x07, 0x0E, 0x0E, 0x38, 0xF0, 0x3E, 0x3E, 0xE7,
|
|
0x07, 0x07, 0x0E, 0x18, 0x00, 0x00, 0x18, 0x7E, 0xE7, 0xE7, 0xEF, 0xEF,
|
|
0xE0, 0xE0, 0xE0, 0xE1, 0x7E, 0x1F, 0xDC, 0x0E, 0x1F, 0x87, 0xE1, 0xFF,
|
|
0xFE, 0x1F, 0x87, 0xE1, 0xDC, 0x70, 0xFF, 0x00, 0x70, 0x1C, 0x07, 0xE3,
|
|
0xFF, 0xCE, 0x1F, 0x87, 0xE3, 0xFF, 0xC0, 0x1F, 0x70, 0xE0, 0xE0, 0xE0,
|
|
0xE0, 0xE0, 0xE0, 0xE7, 0x7E, 0xFF, 0x00, 0x70, 0x1F, 0x87, 0xE1, 0xF8,
|
|
0x7E, 0x1F, 0x9C, 0xEF, 0x3E, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0x80, 0xE0,
|
|
0x3F, 0x8E, 0x03, 0x80, 0xF1, 0xDF, 0xC0, 0xFF, 0xC0, 0x00, 0x03, 0x80,
|
|
0xE0, 0x3F, 0x8E, 0x03, 0x80, 0xE0, 0x1C, 0x00, 0x7F, 0x3C, 0x7E, 0x03,
|
|
0x80, 0xE0, 0x38, 0xFE, 0x1F, 0x87, 0xE3, 0xDF, 0xC0, 0xE1, 0xC0, 0x70,
|
|
0x1F, 0x87, 0xE1, 0xFF, 0xFE, 0x1F, 0x87, 0xE1, 0xDC, 0x70, 0xFF, 0x00,
|
|
0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0xC0, 0x00, 0x00,
|
|
0x38, 0x0E, 0x03, 0x80, 0xE2, 0x38, 0xEE, 0x1E, 0x00, 0xE1, 0xC1, 0xCE,
|
|
0xE3, 0xB8, 0xEE, 0x3E, 0x0E, 0xE3, 0xB8, 0xE7, 0x08, 0x70, 0xE0, 0x00,
|
|
0x00, 0x03, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE3, 0xFF, 0xC0, 0x11,
|
|
0xDE, 0x07, 0x83, 0xFF, 0xE9, 0xFA, 0x7E, 0x9F, 0x87, 0xE1, 0xDC, 0x70,
|
|
0x71, 0xFC, 0x0F, 0x03, 0xF7, 0xFD, 0xF8, 0xFE, 0x3F, 0x87, 0xE1, 0xDC,
|
|
0x70, 0x7F, 0x3C, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE3,
|
|
0xDF, 0xC0, 0xFF, 0x00, 0x70, 0x1F, 0x87, 0xE1, 0xFF, 0xCE, 0x03, 0x80,
|
|
0xE0, 0x1C, 0x00, 0x3F, 0x3C, 0x7E, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F,
|
|
0x8F, 0xFF, 0xCF, 0x70, 0xFF, 0x00, 0x70, 0x1F, 0x87, 0xE1, 0xFF, 0xCE,
|
|
0xE3, 0x9C, 0xE7, 0x1C, 0x70, 0x7F, 0x3C, 0x7E, 0x03, 0x80, 0xE0, 0x1F,
|
|
0xC0, 0x1C, 0x07, 0xE3, 0xDF, 0xC0, 0xFF, 0xC0, 0x00, 0x00, 0x78, 0x1E,
|
|
0x07, 0x81, 0xE0, 0x78, 0x1E, 0x03, 0xC0, 0xE1, 0xF8, 0x0E, 0x03, 0x87,
|
|
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0x73, 0xC7, 0xF0, 0xE1, 0xF8, 0x0E, 0x03,
|
|
0x87, 0xE1, 0xF8, 0x7E, 0x1D, 0xC7, 0x1D, 0xC3, 0xC0, 0x71, 0xF8, 0x0E,
|
|
0x03, 0xB7, 0xED, 0xFB, 0x7E, 0xDD, 0xCF, 0x73, 0xC4, 0x70, 0x71, 0xDC,
|
|
0x7F, 0x01, 0xFC, 0x0E, 0x03, 0x87, 0xF1, 0xFC, 0xF3, 0xDC, 0x70, 0xE1,
|
|
0xF8, 0x0E, 0x03, 0x87, 0x77, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x80,
|
|
0xFF, 0xE1, 0xF0, 0xE0, 0xE0, 0x71, 0x58, 0xE0, 0x70, 0xE3, 0xFF, 0x80,
|
|
0xFF, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xF0, 0xE0, 0x1C, 0x01, 0xC0,
|
|
0x38, 0x03, 0x80, 0xE0, 0x38, 0x07, 0xFC, 0x71, 0xC7, 0x1C, 0x71, 0xC7,
|
|
0x1F, 0xF0, 0x1C, 0x0E, 0x0F, 0x9C, 0x70, 0xFF, 0xE0, 0xE7, 0x70, 0x1F,
|
|
0xDC, 0x0E, 0x1F, 0x87, 0xE1, 0xFF, 0xFE, 0x1F, 0x87, 0xE1, 0xDC, 0x70,
|
|
0xFF, 0x00, 0x70, 0x1C, 0x07, 0xE3, 0xFF, 0xCE, 0x1F, 0x87, 0xE3, 0xFF,
|
|
0xC0, 0x1F, 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE7, 0x7E, 0xFF,
|
|
0x00, 0x70, 0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x9C, 0xEF, 0x3E, 0x00,
|
|
0xFF, 0xC0, 0x00, 0x03, 0x80, 0xE0, 0x3F, 0x8E, 0x03, 0x80, 0xF1, 0xDF,
|
|
0xC0, 0xFF, 0xC0, 0x00, 0x03, 0x80, 0xE0, 0x3F, 0x8E, 0x03, 0x80, 0xE0,
|
|
0x1C, 0x00, 0x7F, 0x3C, 0x7E, 0x03, 0x80, 0xE0, 0x38, 0xFE, 0x1F, 0x87,
|
|
0xE3, 0xDF, 0xC0, 0xE1, 0xC0, 0x70, 0x1F, 0x87, 0xE1, 0xFF, 0xFE, 0x1F,
|
|
0x87, 0xE1, 0xDC, 0x70, 0xFF, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
|
|
0x1C, 0x7F, 0x7F, 0xC0, 0x00, 0x00, 0x38, 0x0E, 0x03, 0x80, 0xE2, 0x38,
|
|
0xEE, 0x1E, 0x00, 0xE1, 0xC1, 0xCE, 0xE3, 0xB8, 0xEE, 0x3E, 0x0E, 0xE3,
|
|
0xB8, 0xE7, 0x08, 0x70, 0xE0, 0x00, 0x00, 0x03, 0x80, 0xE0, 0x38, 0x0E,
|
|
0x03, 0x80, 0xE3, 0xFF, 0xC0, 0x11, 0xDE, 0x07, 0x83, 0xFF, 0xE9, 0xFA,
|
|
0x7E, 0x9F, 0x87, 0xE1, 0xDC, 0x70, 0x71, 0xFC, 0x0F, 0x03, 0xF7, 0xFD,
|
|
0xF8, 0xFE, 0x3F, 0x87, 0xE1, 0xDC, 0x70, 0x7F, 0x3C, 0x7E, 0x1F, 0x87,
|
|
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE3, 0xDF, 0xC0, 0xFF, 0x00, 0x70, 0x1F,
|
|
0x87, 0xE1, 0xFF, 0xCE, 0x03, 0x80, 0xE0, 0x1C, 0x00, 0x3F, 0x3C, 0x7E,
|
|
0x1F, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x8F, 0xFF, 0xCF, 0x70, 0xFF, 0x00,
|
|
0x70, 0x1F, 0x87, 0xE1, 0xFF, 0xCE, 0xE3, 0x9C, 0xE7, 0x1C, 0x70, 0x7F,
|
|
0x3C, 0x7E, 0x03, 0x80, 0xE0, 0x1F, 0xC0, 0x1C, 0x07, 0xE3, 0xDF, 0xC0,
|
|
0xFF, 0xC0, 0x00, 0x00, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x03,
|
|
0xC0, 0xE1, 0xF8, 0x0E, 0x03, 0x87, 0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0x73,
|
|
0xC7, 0xF0, 0xE1, 0xF8, 0x0E, 0x03, 0x87, 0xE1, 0xF8, 0x7E, 0x1D, 0xC7,
|
|
0x1D, 0xC3, 0xC0, 0x71, 0xF8, 0x0E, 0x03, 0xB7, 0xED, 0xFB, 0x7E, 0xDD,
|
|
0xCF, 0x73, 0xC4, 0x70, 0x71, 0xDC, 0x7F, 0x01, 0xFC, 0x0E, 0x03, 0x87,
|
|
0xF1, 0xFC, 0xF3, 0xDC, 0x70, 0xE1, 0xF8, 0x0E, 0x03, 0x87, 0x77, 0x07,
|
|
0x81, 0xE0, 0x78, 0x1E, 0x07, 0x80, 0xFF, 0xE1, 0xF0, 0xE0, 0xE0, 0x71,
|
|
0x58, 0xE0, 0x70, 0xE3, 0xFF, 0x80, 0x7E, 0xE1, 0xC3, 0x87, 0x1E, 0x1C,
|
|
0x38, 0x70, 0xFC, 0xFF, 0xF0, 0x3F, 0xFC, 0xFC, 0x38, 0x70, 0xE1, 0xC3,
|
|
0xC7, 0x0E, 0x1D, 0xF8, 0x77, 0x77, 0xEE };
|
|
|
|
const GFXglyph fairlight_13pt7bGlyphs[] = {
|
|
{ 0, 1, 1, 11, 0, 0 }, // 0x20 ' '
|
|
{ 1, 5, 10, 11, 3, -9 }, // 0x21 '!'
|
|
{ 8, 8, 3, 11, 1, -9 }, // 0x22 '"'
|
|
{ 11, 10, 10, 11, 1, -9 }, // 0x23 '#'
|
|
{ 24, 8, 10, 11, 1, -9 }, // 0x24 '$'
|
|
{ 34, 9, 10, 11, 1, -9 }, // 0x25 '%'
|
|
{ 46, 9, 10, 11, 1, -9 }, // 0x26 '&'
|
|
{ 58, 6, 4, 11, 3, -9 }, // 0x27 '''
|
|
{ 61, 6, 11, 11, 3, -9 }, // 0x28 '('
|
|
{ 70, 6, 11, 11, 3, -9 }, // 0x29 ')'
|
|
{ 79, 10, 7, 11, 1, -7 }, // 0x2A '*'
|
|
{ 88, 8, 7, 11, 1, -7 }, // 0x2B '+'
|
|
{ 95, 4, 4, 11, 3, -2 }, // 0x2C ','
|
|
{ 97, 10, 3, 11, 1, -5 }, // 0x2D '-'
|
|
{ 101, 3, 3, 11, 4, -2 }, // 0x2E '.'
|
|
{ 103, 11, 8, 11, 0, -7 }, // 0x2F '/'
|
|
{ 114, 10, 10, 11, 1, -9 }, // 0x30 '0'
|
|
{ 127, 7, 10, 11, 3, -9 }, // 0x31 '1'
|
|
{ 136, 8, 10, 11, 3, -9 }, // 0x32 '2'
|
|
{ 146, 8, 10, 11, 1, -9 }, // 0x33 '3'
|
|
{ 156, 9, 10, 11, 1, -9 }, // 0x34 '4'
|
|
{ 168, 10, 10, 11, 1, -9 }, // 0x35 '5'
|
|
{ 181, 10, 10, 11, 1, -9 }, // 0x36 '6'
|
|
{ 194, 8, 10, 11, 1, -9 }, // 0x37 '7'
|
|
{ 204, 10, 10, 11, 1, -9 }, // 0x38 '8'
|
|
{ 217, 10, 10, 11, 1, -9 }, // 0x39 '9'
|
|
{ 230, 3, 6, 11, 4, -6 }, // 0x3A ':'
|
|
{ 233, 4, 8, 11, 3, -6 }, // 0x3B ';'
|
|
{ 237, 8, 10, 11, 1, -9 }, // 0x3C '<'
|
|
{ 247, 8, 4, 11, 1, -6 }, // 0x3D '='
|
|
{ 251, 8, 10, 11, 1, -9 }, // 0x3E '>'
|
|
{ 261, 8, 10, 11, 1, -9 }, // 0x3F '?'
|
|
{ 271, 8, 10, 11, 1, -9 }, // 0x40 '@'
|
|
{ 281, 10, 10, 11, 1, -9 }, // 0x41 'A'
|
|
{ 294, 10, 10, 11, 1, -9 }, // 0x42 'B'
|
|
{ 307, 8, 10, 11, 3, -9 }, // 0x43 'C'
|
|
{ 317, 10, 10, 11, 1, -9 }, // 0x44 'D'
|
|
{ 330, 10, 10, 11, 1, -9 }, // 0x45 'E'
|
|
{ 343, 10, 10, 11, 1, -9 }, // 0x46 'F'
|
|
{ 356, 10, 10, 11, 1, -9 }, // 0x47 'G'
|
|
{ 369, 10, 10, 11, 1, -9 }, // 0x48 'H'
|
|
{ 382, 8, 10, 11, 1, -9 }, // 0x49 'I'
|
|
{ 392, 10, 10, 11, 1, -9 }, // 0x4A 'J'
|
|
{ 405, 10, 10, 11, 1, -9 }, // 0x4B 'K'
|
|
{ 418, 10, 10, 11, 1, -9 }, // 0x4C 'L'
|
|
{ 431, 10, 10, 11, 1, -9 }, // 0x4D 'M'
|
|
{ 444, 10, 10, 11, 1, -9 }, // 0x4E 'N'
|
|
{ 457, 10, 10, 11, 1, -9 }, // 0x4F 'O'
|
|
{ 470, 10, 10, 11, 1, -9 }, // 0x50 'P'
|
|
{ 483, 10, 10, 11, 1, -9 }, // 0x51 'Q'
|
|
{ 496, 10, 10, 11, 1, -9 }, // 0x52 'R'
|
|
{ 509, 10, 10, 11, 1, -9 }, // 0x53 'S'
|
|
{ 522, 10, 10, 11, 1, -9 }, // 0x54 'T'
|
|
{ 535, 10, 10, 11, 1, -9 }, // 0x55 'U'
|
|
{ 548, 10, 10, 11, 1, -9 }, // 0x56 'V'
|
|
{ 561, 10, 10, 11, 1, -9 }, // 0x57 'W'
|
|
{ 574, 10, 10, 11, 1, -9 }, // 0x58 'X'
|
|
{ 587, 10, 10, 11, 1, -9 }, // 0x59 'Y'
|
|
{ 600, 9, 10, 11, 2, -9 }, // 0x5A 'Z'
|
|
{ 612, 6, 10, 11, 3, -9 }, // 0x5B '['
|
|
{ 620, 10, 8, 11, 1, -7 }, // 0x5C '\'
|
|
{ 630, 6, 10, 11, 4, -9 }, // 0x5D ']'
|
|
{ 638, 9, 4, 11, 1, -13 }, // 0x5E '^'
|
|
{ 643, 11, 1, 11, 0, 1 }, // 0x5F '_'
|
|
{ 645, 4, 3, 11, 3, -13 }, // 0x60 '`'
|
|
{ 647, 10, 10, 11, 1, -9 }, // 0x61 'a'
|
|
{ 660, 10, 10, 11, 1, -9 }, // 0x62 'b'
|
|
{ 673, 8, 10, 11, 3, -9 }, // 0x63 'c'
|
|
{ 683, 10, 10, 11, 1, -9 }, // 0x64 'd'
|
|
{ 696, 10, 10, 11, 1, -9 }, // 0x65 'e'
|
|
{ 709, 10, 10, 11, 1, -9 }, // 0x66 'f'
|
|
{ 722, 10, 10, 11, 1, -9 }, // 0x67 'g'
|
|
{ 735, 10, 10, 11, 1, -9 }, // 0x68 'h'
|
|
{ 748, 8, 10, 11, 1, -9 }, // 0x69 'i'
|
|
{ 758, 10, 10, 11, 1, -9 }, // 0x6A 'j'
|
|
{ 771, 10, 10, 11, 1, -9 }, // 0x6B 'k'
|
|
{ 784, 10, 10, 11, 1, -9 }, // 0x6C 'l'
|
|
{ 797, 10, 10, 11, 1, -9 }, // 0x6D 'm'
|
|
{ 810, 10, 10, 11, 1, -9 }, // 0x6E 'n'
|
|
{ 823, 10, 10, 11, 1, -9 }, // 0x6F 'o'
|
|
{ 836, 10, 10, 11, 1, -9 }, // 0x70 'p'
|
|
{ 849, 10, 10, 11, 1, -9 }, // 0x71 'q'
|
|
{ 862, 10, 10, 11, 1, -9 }, // 0x72 'r'
|
|
{ 875, 10, 10, 11, 1, -9 }, // 0x73 's'
|
|
{ 888, 10, 10, 11, 1, -9 }, // 0x74 't'
|
|
{ 901, 10, 10, 11, 1, -9 }, // 0x75 'u'
|
|
{ 914, 10, 10, 11, 1, -9 }, // 0x76 'v'
|
|
{ 927, 10, 10, 11, 1, -9 }, // 0x77 'w'
|
|
{ 940, 10, 10, 11, 1, -9 }, // 0x78 'x'
|
|
{ 953, 10, 10, 11, 1, -9 }, // 0x79 'y'
|
|
{ 966, 9, 10, 11, 2, -9 }, // 0x7A 'z'
|
|
{ 978, 7, 10, 11, 2, -9 }, // 0x7B '{'
|
|
{ 987, 3, 10, 11, 4, -9 }, // 0x7C '|'
|
|
{ 991, 7, 10, 11, 3, -9 }, // 0x7D '}'
|
|
{ 1000, 8, 3, 11, 1, -9 } }; // 0x7E '~'
|
|
|
|
const GFXfont fairlight_13pt7b = {
|
|
(uint8_t *)fairlight_13pt7bBitmaps,
|
|
(GFXglyph *)fairlight_13pt7bGlyphs,
|
|
0x20, 0x7E, 13 };//B
|
|
|
|
// Approx. 1675 bytes
|