mirror of
https://github.com/badgeteam/mch2022-template-app.git
synced 2024-11-26 11:01:06 +00:00
179 lines
10 KiB
C
179 lines
10 KiB
C
#include "../include/driver_framebuffer.h"
|
|
const uint8_t fairlight_12pt7bBitmaps[] = {
|
|
0x00, 0xFF, 0xFF, 0xF7, 0x00, 0x0E, 0x70, 0xE4, 0xE4, 0xE7, 0x77, 0x3B,
|
|
0x9D, 0xDF, 0xF7, 0x77, 0xFD, 0xDC, 0xEE, 0x77, 0x00, 0x18, 0x3F, 0xE0,
|
|
0x3C, 0x07, 0x07, 0x07, 0xFC, 0x18, 0xE1, 0xF0, 0xF8, 0x7C, 0x70, 0xE0,
|
|
0xE1, 0xC1, 0xC7, 0x83, 0x80, 0x7C, 0x73, 0x9F, 0x0F, 0x07, 0x87, 0x3F,
|
|
0x9D, 0xCE, 0x7F, 0x80, 0x1C, 0xE3, 0xB8, 0x1D, 0xC7, 0x1C, 0xE3, 0x87,
|
|
0x1C, 0x70, 0x70, 0xE0, 0xE3, 0x8E, 0x1C, 0x73, 0x8E, 0x3B, 0x80, 0x77,
|
|
0x0F, 0x07, 0x9F, 0xF1, 0xE0, 0xF1, 0xDC, 0x1C, 0x1C, 0x1C, 0xFF, 0x1C,
|
|
0x1C, 0x1C, 0x77, 0x7E, 0xFF, 0xFF, 0xC0, 0xFF, 0x80, 0x01, 0xC0, 0xE0,
|
|
0x38, 0x0E, 0x0E, 0x07, 0x07, 0x03, 0x80, 0x7F, 0x79, 0xFC, 0xFC, 0xFF,
|
|
0xBF, 0x9F, 0x9F, 0xCF, 0x7F, 0x00, 0x3D, 0xC0, 0x70, 0xE1, 0xC3, 0x87,
|
|
0x0E, 0x1E, 0x7E, 0x7E, 0xE0, 0x07, 0x1E, 0x70, 0x60, 0xE7, 0xFE, 0xFE,
|
|
0x00, 0x00, 0x07, 0x1E, 0x07, 0x07, 0xE7, 0x7E, 0x0F, 0x08, 0x1D, 0xDC,
|
|
0xEE, 0x77, 0xFC, 0x1C, 0x0E, 0x07, 0x80, 0xFF, 0x80, 0x00, 0x1C, 0x0F,
|
|
0xF0, 0x1C, 0x0F, 0xCF, 0x7F, 0x00, 0x1F, 0x39, 0xF8, 0x1C, 0x0F, 0xF7,
|
|
0x1F, 0x8F, 0xCF, 0x7F, 0x00, 0xFF, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C,
|
|
0x1C, 0x1C, 0x7F, 0x78, 0x3C, 0x1C, 0x77, 0xF7, 0x1F, 0x8F, 0xCF, 0x7F,
|
|
0x00, 0x7F, 0x78, 0x38, 0xFC, 0x77, 0xF8, 0x1C, 0x0F, 0xCF, 0x7F, 0x00,
|
|
0xE0, 0x0E, 0x70, 0x00, 0x77, 0xE0, 0x0F, 0x1C, 0x70, 0x70, 0xE0, 0x70,
|
|
0x70, 0x1C, 0x0F, 0xFF, 0x00, 0xFF, 0xF0, 0x0E, 0x03, 0x81, 0xC0, 0x38,
|
|
0x70, 0x38, 0x38, 0xF0, 0x00, 0x3C, 0xE7, 0x07, 0x07, 0x1C, 0x18, 0x00,
|
|
0x00, 0x18, 0x7E, 0xE7, 0xE7, 0xEF, 0xEF, 0xE0, 0xE0, 0xE1, 0x7E, 0x1F,
|
|
0xB8, 0x38, 0xFC, 0x7F, 0xFF, 0x1F, 0x8F, 0xC7, 0x73, 0x80, 0xFF, 0x01,
|
|
0xC0, 0xFC, 0xFF, 0xF7, 0x1F, 0x8F, 0xCF, 0xFF, 0x00, 0x1F, 0x70, 0xE0,
|
|
0xE0, 0xE0, 0xE0, 0xE0, 0xE7, 0x7C, 0xFF, 0x01, 0xC0, 0xFC, 0x7E, 0x3F,
|
|
0x1F, 0x9D, 0xDE, 0xF8, 0x00, 0xFF, 0x80, 0x00, 0x1C, 0x0F, 0xC7, 0x03,
|
|
0x81, 0xE7, 0x7F, 0x00, 0xFF, 0x80, 0x00, 0x1C, 0x0F, 0xC7, 0x03, 0x81,
|
|
0xC0, 0x70, 0x00, 0x7F, 0x79, 0xF8, 0x1C, 0x0E, 0x7F, 0x1F, 0x8F, 0xCF,
|
|
0x7F, 0x00, 0xE3, 0x81, 0xC0, 0xFC, 0x7F, 0xFF, 0x1F, 0x8F, 0xC7, 0x73,
|
|
0x80, 0xFF, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0x80,
|
|
0x00, 0x03, 0x81, 0xC0, 0xE2, 0x71, 0xF8, 0x78, 0x00, 0xE3, 0x83, 0xBF,
|
|
0x1F, 0x8F, 0x87, 0xE3, 0xF1, 0xCE, 0x23, 0x80, 0xE0, 0x00, 0x00, 0x1C,
|
|
0x0E, 0x07, 0x03, 0x81, 0xCF, 0xFF, 0x00, 0x13, 0xBC, 0x1E, 0x1F, 0xFE,
|
|
0xBF, 0x5F, 0x8F, 0xC7, 0x73, 0x80, 0x73, 0xF8, 0x3C, 0x1F, 0x7F, 0xFF,
|
|
0x3F, 0x8F, 0xC7, 0x73, 0x80, 0x7F, 0x79, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F,
|
|
0x8F, 0xCF, 0x7F, 0x00, 0xFF, 0x01, 0xC0, 0xFC, 0x7F, 0xF7, 0x03, 0x81,
|
|
0xC0, 0x70, 0x00, 0x7F, 0x79, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x9F, 0xFF,
|
|
0x7B, 0x80, 0xFF, 0x00, 0x70, 0x1F, 0x87, 0xFF, 0x3B, 0x8E, 0x73, 0x9C,
|
|
0x71, 0xC0, 0x7F, 0x79, 0xF8, 0x1C, 0x07, 0xF0, 0x1C, 0x0F, 0xCF, 0x7F,
|
|
0x00, 0xFF, 0x80, 0x00, 0x03, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x0F, 0x00,
|
|
0xE3, 0xF0, 0x38, 0x1C, 0x7E, 0x3F, 0x1F, 0x8E, 0xEF, 0x1F, 0x80, 0xE3,
|
|
0xF0, 0x38, 0x1C, 0x7E, 0x3F, 0x1D, 0xCE, 0x3F, 0x0F, 0x00, 0x73, 0xF0,
|
|
0x3A, 0xFD, 0x7E, 0xBF, 0x5D, 0xDE, 0xEF, 0x13, 0x80, 0x71, 0xDC, 0x7F,
|
|
0x01, 0xFE, 0x0E, 0x03, 0x87, 0xFB, 0xCF, 0x71, 0xC0, 0xE3, 0xF0, 0x38,
|
|
0x1C, 0x77, 0x70, 0xE0, 0x70, 0x38, 0x1C, 0x00, 0xFF, 0xC1, 0xE0, 0xE1,
|
|
0xC0, 0xE3, 0x81, 0xC1, 0xC7, 0xFE, 0x00, 0xFF, 0x39, 0xCE, 0x73, 0x9C,
|
|
0xF8, 0xE0, 0x1C, 0x01, 0xC0, 0x38, 0x03, 0x80, 0xE0, 0x38, 0x07, 0xF9,
|
|
0xCE, 0x73, 0x9C, 0xE7, 0xF8, 0x1C, 0x0E, 0x0F, 0x9C, 0x70, 0xFF, 0xC0,
|
|
0xE7, 0x70, 0x1F, 0xB8, 0x38, 0xFC, 0x7F, 0xFF, 0x1F, 0x8F, 0xC7, 0x73,
|
|
0x80, 0xFF, 0x01, 0xC0, 0xFC, 0xFF, 0xF7, 0x1F, 0x8F, 0xCF, 0xFF, 0x00,
|
|
0x1F, 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE7, 0x7C, 0xFF, 0x01, 0xC0,
|
|
0xFC, 0x7E, 0x3F, 0x1F, 0x9D, 0xDE, 0xF8, 0x00, 0xFF, 0x80, 0x00, 0x1C,
|
|
0x0F, 0xC7, 0x03, 0x81, 0xE7, 0x7F, 0x00, 0xFF, 0x80, 0x00, 0x1C, 0x0F,
|
|
0xC7, 0x03, 0x81, 0xC0, 0x70, 0x00, 0x7F, 0x79, 0xF8, 0x1C, 0x0E, 0x7F,
|
|
0x1F, 0x8F, 0xCF, 0x7F, 0x00, 0xE3, 0x81, 0xC0, 0xFC, 0x7F, 0xFF, 0x1F,
|
|
0x8F, 0xC7, 0x73, 0x80, 0xFF, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
|
|
0x7F, 0x7F, 0x80, 0x00, 0x03, 0x81, 0xC0, 0xE2, 0x71, 0xF8, 0x78, 0x00,
|
|
0xE3, 0x83, 0xBF, 0x1F, 0x8F, 0x87, 0xE3, 0xF1, 0xCE, 0x23, 0x80, 0xE0,
|
|
0x00, 0x00, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xCF, 0xFF, 0x00, 0x13, 0xBC,
|
|
0x1E, 0x1F, 0xFE, 0xBF, 0x5F, 0x8F, 0xC7, 0x73, 0x80, 0x73, 0xF8, 0x3C,
|
|
0x1F, 0x7F, 0xFF, 0x3F, 0x8F, 0xC7, 0x73, 0x80, 0x7F, 0x79, 0xF8, 0xFC,
|
|
0x7E, 0x3F, 0x1F, 0x8F, 0xCF, 0x7F, 0x00, 0xFF, 0x01, 0xC0, 0xFC, 0x7F,
|
|
0xF7, 0x03, 0x81, 0xC0, 0x70, 0x00, 0x7F, 0x79, 0xF8, 0xFC, 0x7E, 0x3F,
|
|
0x1F, 0x9F, 0xFF, 0x7B, 0x80, 0xFF, 0x00, 0x70, 0x1F, 0x87, 0xFF, 0x3B,
|
|
0x8E, 0x73, 0x9C, 0x71, 0xC0, 0x7F, 0x79, 0xF8, 0x1C, 0x07, 0xF0, 0x1C,
|
|
0x0F, 0xCF, 0x7F, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xC1, 0xE0, 0xF0, 0x78,
|
|
0x3C, 0x0F, 0x00, 0xE3, 0xF0, 0x38, 0x1C, 0x7E, 0x3F, 0x1F, 0x8E, 0xEF,
|
|
0x1F, 0x80, 0xE3, 0xF0, 0x38, 0x1C, 0x7E, 0x3F, 0x1D, 0xCE, 0x3F, 0x0F,
|
|
0x00, 0x73, 0xF0, 0x3A, 0xFD, 0x7E, 0xBF, 0x5D, 0xDE, 0xEF, 0x13, 0x80,
|
|
0x71, 0xDC, 0x7F, 0x01, 0xFE, 0x0E, 0x03, 0x87, 0xFB, 0xCF, 0x71, 0xC0,
|
|
0xE3, 0xF0, 0x38, 0x1C, 0x77, 0x70, 0xE0, 0x70, 0x38, 0x1C, 0x00, 0xFF,
|
|
0xC1, 0xE0, 0xE1, 0xC0, 0xE3, 0x81, 0xC1, 0xC7, 0xFE, 0x00, 0x7D, 0xC7,
|
|
0x1C, 0xF1, 0xC7, 0x1C, 0x7C, 0xFF, 0xF1, 0xFF, 0xE0, 0xF8, 0xE3, 0x8E,
|
|
0x3C, 0xE3, 0x8E, 0xF8, 0x77, 0x77, 0xEE };
|
|
|
|
const GFXglyph fairlight_12pt7bGlyphs[] = {
|
|
{ 0, 1, 1, 10, 0, 0 }, // 0x20 ' '
|
|
{ 1, 5, 9, 10, 2, -8 }, // 0x21 '!'
|
|
{ 7, 8, 3, 10, 1, -8 }, // 0x22 '"'
|
|
{ 10, 9, 9, 10, 1, -8 }, // 0x23 '#'
|
|
{ 21, 8, 9, 10, 1, -8 }, // 0x24 '$'
|
|
{ 30, 9, 9, 10, 0, -8 }, // 0x25 '%'
|
|
{ 41, 9, 9, 10, 1, -8 }, // 0x26 '&'
|
|
{ 52, 6, 4, 10, 2, -8 }, // 0x27 '''
|
|
{ 55, 6, 10, 10, 2, -8 }, // 0x28 '('
|
|
{ 63, 6, 10, 10, 2, -8 }, // 0x29 ')'
|
|
{ 71, 9, 7, 10, 1, -7 }, // 0x2A '*'
|
|
{ 79, 8, 7, 10, 1, -7 }, // 0x2B '+'
|
|
{ 86, 4, 4, 10, 3, -2 }, // 0x2C ','
|
|
{ 88, 9, 2, 10, 1, -4 }, // 0x2D '-'
|
|
{ 91, 3, 3, 10, 4, -2 }, // 0x2E '.'
|
|
{ 93, 10, 8, 10, 0, -7 }, // 0x2F '/'
|
|
{ 103, 9, 9, 10, 1, -8 }, // 0x30 '0'
|
|
{ 114, 7, 9, 10, 2, -8 }, // 0x31 '1'
|
|
{ 122, 8, 9, 10, 2, -8 }, // 0x32 '2'
|
|
{ 131, 8, 9, 10, 1, -8 }, // 0x33 '3'
|
|
{ 140, 9, 9, 10, 1, -8 }, // 0x34 '4'
|
|
{ 151, 9, 9, 10, 1, -8 }, // 0x35 '5'
|
|
{ 162, 9, 9, 10, 1, -8 }, // 0x36 '6'
|
|
{ 173, 8, 9, 10, 1, -8 }, // 0x37 '7'
|
|
{ 182, 9, 9, 10, 1, -8 }, // 0x38 '8'
|
|
{ 193, 9, 9, 10, 1, -8 }, // 0x39 '9'
|
|
{ 204, 3, 5, 10, 4, -5 }, // 0x3A ':'
|
|
{ 206, 4, 7, 10, 3, -5 }, // 0x3B ';'
|
|
{ 210, 8, 9, 10, 1, -8 }, // 0x3C '<'
|
|
{ 219, 8, 3, 10, 1, -5 }, // 0x3D '='
|
|
{ 222, 9, 9, 10, 0, -8 }, // 0x3E '>'
|
|
{ 233, 8, 9, 10, 1, -8 }, // 0x3F '?'
|
|
{ 242, 8, 9, 10, 1, -8 }, // 0x40 '@'
|
|
{ 251, 9, 9, 10, 1, -8 }, // 0x41 'A'
|
|
{ 262, 9, 9, 10, 1, -8 }, // 0x42 'B'
|
|
{ 273, 8, 9, 10, 2, -8 }, // 0x43 'C'
|
|
{ 282, 9, 9, 10, 1, -8 }, // 0x44 'D'
|
|
{ 293, 9, 9, 10, 1, -8 }, // 0x45 'E'
|
|
{ 304, 9, 9, 10, 1, -8 }, // 0x46 'F'
|
|
{ 315, 9, 9, 10, 1, -8 }, // 0x47 'G'
|
|
{ 326, 9, 9, 10, 1, -8 }, // 0x48 'H'
|
|
{ 337, 8, 9, 10, 1, -8 }, // 0x49 'I'
|
|
{ 346, 9, 9, 10, 1, -8 }, // 0x4A 'J'
|
|
{ 357, 9, 9, 10, 1, -8 }, // 0x4B 'K'
|
|
{ 368, 9, 9, 10, 1, -8 }, // 0x4C 'L'
|
|
{ 379, 9, 9, 10, 1, -8 }, // 0x4D 'M'
|
|
{ 390, 9, 9, 10, 1, -8 }, // 0x4E 'N'
|
|
{ 401, 9, 9, 10, 1, -8 }, // 0x4F 'O'
|
|
{ 412, 9, 9, 10, 1, -8 }, // 0x50 'P'
|
|
{ 423, 9, 9, 10, 1, -8 }, // 0x51 'Q'
|
|
{ 434, 10, 9, 10, 1, -8 }, // 0x52 'R'
|
|
{ 446, 9, 9, 10, 1, -8 }, // 0x53 'S'
|
|
{ 457, 9, 9, 10, 1, -8 }, // 0x54 'T'
|
|
{ 468, 9, 9, 10, 1, -8 }, // 0x55 'U'
|
|
{ 479, 9, 9, 10, 1, -8 }, // 0x56 'V'
|
|
{ 490, 9, 9, 10, 1, -8 }, // 0x57 'W'
|
|
{ 501, 10, 9, 10, 0, -8 }, // 0x58 'X'
|
|
{ 513, 9, 9, 10, 1, -8 }, // 0x59 'Y'
|
|
{ 524, 9, 9, 10, 1, -8 }, // 0x5A 'Z'
|
|
{ 535, 5, 9, 10, 2, -8 }, // 0x5B '['
|
|
{ 541, 10, 8, 10, 1, -7 }, // 0x5C '\'
|
|
{ 551, 5, 9, 10, 4, -8 }, // 0x5D ']'
|
|
{ 557, 9, 4, 10, 1, -12 }, // 0x5E '^'
|
|
{ 562, 10, 1, 10, 0, 1 }, // 0x5F '_'
|
|
{ 564, 4, 3, 10, 3, -12 }, // 0x60 '`'
|
|
{ 566, 9, 9, 10, 1, -8 }, // 0x61 'a'
|
|
{ 577, 9, 9, 10, 1, -8 }, // 0x62 'b'
|
|
{ 588, 8, 9, 10, 2, -8 }, // 0x63 'c'
|
|
{ 597, 9, 9, 10, 1, -8 }, // 0x64 'd'
|
|
{ 608, 9, 9, 10, 1, -8 }, // 0x65 'e'
|
|
{ 619, 9, 9, 10, 1, -8 }, // 0x66 'f'
|
|
{ 630, 9, 9, 10, 1, -8 }, // 0x67 'g'
|
|
{ 641, 9, 9, 10, 1, -8 }, // 0x68 'h'
|
|
{ 652, 8, 9, 10, 1, -8 }, // 0x69 'i'
|
|
{ 661, 9, 9, 10, 1, -8 }, // 0x6A 'j'
|
|
{ 672, 9, 9, 10, 1, -8 }, // 0x6B 'k'
|
|
{ 683, 9, 9, 10, 1, -8 }, // 0x6C 'l'
|
|
{ 694, 9, 9, 10, 1, -8 }, // 0x6D 'm'
|
|
{ 705, 9, 9, 10, 1, -8 }, // 0x6E 'n'
|
|
{ 716, 9, 9, 10, 1, -8 }, // 0x6F 'o'
|
|
{ 727, 9, 9, 10, 1, -8 }, // 0x70 'p'
|
|
{ 738, 9, 9, 10, 1, -8 }, // 0x71 'q'
|
|
{ 749, 10, 9, 10, 1, -8 }, // 0x72 'r'
|
|
{ 761, 9, 9, 10, 1, -8 }, // 0x73 's'
|
|
{ 772, 9, 9, 10, 1, -8 }, // 0x74 't'
|
|
{ 783, 9, 9, 10, 1, -8 }, // 0x75 'u'
|
|
{ 794, 9, 9, 10, 1, -8 }, // 0x76 'v'
|
|
{ 805, 9, 9, 10, 1, -8 }, // 0x77 'w'
|
|
{ 816, 10, 9, 10, 0, -8 }, // 0x78 'x'
|
|
{ 828, 9, 9, 10, 1, -8 }, // 0x79 'y'
|
|
{ 839, 9, 9, 10, 1, -8 }, // 0x7A 'z'
|
|
{ 850, 6, 9, 10, 2, -8 }, // 0x7B '{'
|
|
{ 857, 3, 9, 10, 4, -8 }, // 0x7C '|'
|
|
{ 861, 6, 9, 10, 2, -8 }, // 0x7D '}'
|
|
{ 868, 8, 3, 10, 1, -8 } }; // 0x7E '~'
|
|
|
|
const GFXfont fairlight_12pt7b = {
|
|
(uint8_t *)fairlight_12pt7bBitmaps,
|
|
(GFXglyph *)fairlight_12pt7bGlyphs,
|
|
0x20, 0x7E, 12 };//B
|
|
|
|
// Approx. 1543 bytes
|