From c61bb072fc3604387cbd6bb3668480e4b8452243 Mon Sep 17 00:00:00 2001 From: "Radu Corcodel (W540)" Date: Tue, 16 Oct 2018 23:09:58 -0400 Subject: [PATCH] Initial commit. Contains the source file for the timer and two font libraries --- timer_arduino/DotMatrix_M.c | 119 ++++++++ timer_arduino/Timer.ino | 536 ++++++++++++++++++++++++++++++++++++ timer_arduino/Ubuntu.c | 119 ++++++++ 3 files changed, 774 insertions(+) create mode 100644 timer_arduino/DotMatrix_M.c create mode 100644 timer_arduino/Timer.ino create mode 100644 timer_arduino/Ubuntu.c diff --git a/timer_arduino/DotMatrix_M.c b/timer_arduino/DotMatrix_M.c new file mode 100644 index 0000000..cd80a07 --- /dev/null +++ b/timer_arduino/DotMatrix_M.c @@ -0,0 +1,119 @@ +// DotMatrix_M.c +// Font type : Full (95 characters) +// Font size : 16x22 pixels +// Memory usage : 4184 bytes + +#if defined(__AVR__) + #include + #define fontdatatype const uint8_t +#elif defined(__PIC32MX__) + #define PROGMEM + #define fontdatatype const unsigned char +#elif defined(__arm__) + #define PROGMEM + #define fontdatatype const unsigned char +#endif + +fontdatatype DotMatrix_M[4184] PROGMEM={ +0x10,0x16,0x20,0x5F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // ! +0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " +0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00, // # +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // $ +0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x6C,0x06,0x6C,0x06,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x00,0x36,0x00,0x36,0x00,0x00, // % +0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00, // & +0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00, // ( +0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // ) +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // , +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00, // . +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // / + +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // 0 +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // 1 +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // 2 +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // 3 +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00, // 4 +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // 5 +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // 6 +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00, // 7 +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // 8 +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // 9 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ; +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // ? + +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00, // @ +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // A +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // B +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // C +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // D +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // E +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00, // F +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x61,0xB6,0x61,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // G +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // H +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // I +0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // J +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // K +0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // L +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6C,0x36,0x6C,0x36,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // M +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6C,0x06,0x6C,0x06,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // N +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // O + +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00, // P +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00, // Q +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // R +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // S +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // T +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // U +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // V +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x6C,0x36,0x6C,0x36,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // W +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // X +0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // Y +0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // Z +0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00, // [ +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0x80,0x0D,0x80,0x00,0x00, // ] +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // _ + +0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00,0x01,0xB0,0x01,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00, // a +0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x61,0xB0,0x61,0xB0,0x00,0x00,0x6C,0x06,0x6C,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // b +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // c +0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00, // d +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // e +0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // f +0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // g +0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x61,0xB0,0x61,0xB0,0x00,0x00,0x6C,0x06,0x6C,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // h +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // i +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // j +0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x61,0x80,0x61,0x80,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00, // k +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00, // l +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6C,0x30,0x6C,0x30,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00, // m +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // n +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // o + +0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x6C,0x06,0x6C,0x06,0x00,0x00,0x61,0xB0,0x61,0xB0,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00, // p +0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x36,0x60,0x36,0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00, // q +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x61,0xB0,0x61,0xB0,0x00,0x00,0x6C,0x00,0x6C,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00, // r +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x6D,0xB0,0x6D,0xB0,0x00,0x00, // s +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00, // t +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00, // u +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // v +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x61,0x86,0x61,0x86,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00, // w +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x30,0x0C,0x30,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00, // x +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x60,0x06,0x60,0x06,0x00,0x00,0x0D,0xB6,0x0D,0xB6,0x00,0x00,0x00,0x06,0x00,0x06,0x00,0x00,0x0D,0xB0,0x0D,0xB0,0x00,0x00, // y +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x6D,0xB6,0x6D,0xB6,0x00,0x00, // z +0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00, // { +0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00, // | +0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x01,0x80,0x01,0x80,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // } +0x00,0x00,0x0D,0x86,0x0D,0x86,0x00,0x00,0x60,0x30,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ +}; diff --git a/timer_arduino/Timer.ino b/timer_arduino/Timer.ino new file mode 100644 index 0000000..64c4a73 --- /dev/null +++ b/timer_arduino/Timer.ino @@ -0,0 +1,536 @@ +#include +#include + +UTFT myGLCD(ILI9325D_16,38,39,40,41); // Initialize display +UTouch myTouch(45,47,49,51,53); // Initialize touchscreen 6,5,4,3,2 + +#define REL_ENLARGER 42 +#define BUZZER 52 +#define BACKLIGHT 44 + +#define MainScreen 0 +#define DevScreen 1 +#define StopScreen 2 +#define FixScreen 3 +#define EnlargeScreen 4 +#define AdjustScreen 99 // Here you adjust the timer (m:s.ms) +#define TuneScreen 98 //You adjust the internal delay here + +extern uint8_t DotMatrix_M[]; +extern uint8_t Ubuntu[]; + +int timerDelay; +bool enlState; //State of the enlarger relay +int brightness; + +int minutes, seconds, milliseconds; //Current Timer milliseconds, seconds, minutes +int devMS, devS, devM, stopMS, stopS, stopM, fixMS, fixS, fixM, elMS, elS, elM; + +int bx, by, spacingx, spacingy, offsetx, offsety; // Time Adjustment buttons +int MSbx, MSby, MSoffsety, xSpace; // Main screen buttons +int Tbx, Tby, Toffsetx, Toffsety; // Timer screen buttons +int TNbx, TNby, TNoffset; //Tune screen buttons +int scResX, scResY; //Screen resolution +int screen; //Indicates in what menu we are currently in +int senderScreen; //Stores which screen sent the command to adjust the timer +bool ShouldRedraw; //Indicates if the current screen must be redrawn + +////// Drawing functions /////////// +void DrawMainScreen(void) +{ + int spacingx = (scResX-3*MSbx)/4; + int spacingy = (scResY-2*MSoffsety-3*MSby)/2; + myGLCD.setColor(VGA_RED); + myGLCD.drawRoundRect(spacingx, MSoffsety, spacingx+MSbx, MSoffsety+MSby); //Dev button + myGLCD.setColor(VGA_RED);//VGA_YELLOW + myGLCD.drawRoundRect(2*spacingx+MSbx, MSoffsety, 2*(spacingx+MSbx), MSoffsety+MSby); //Stop button + myGLCD.setColor(VGA_RED);//VGA_WHITE + myGLCD.drawRoundRect(3*spacingx+2*MSbx, MSoffsety, 3*(spacingx+MSbx), MSoffsety+MSby); // Fix button + myGLCD.setColor(VGA_RED);//VGA_SILVER + myGLCD.drawRoundRect(2*spacingx+MSbx-xSpace, MSoffsety+spacingy+MSby, 2*(spacingx+MSbx)+xSpace, MSoffsety+spacingy+2*MSby); //Enlarge button + myGLCD.setColor(VGA_RED); + myGLCD.drawRoundRect(spacingx, scResY-MSoffsety-MSby, spacingx+MSbx+xSpace, scResY-MSoffsety); //Tunning button + myGLCD.drawRoundRect(scResX-spacingx-MSbx-xSpace, scResY-MSoffsety-MSby, scResX-spacingx, scResY-MSoffsety); //Enlarger on/off switch + + myGLCD.setFont(DotMatrix_M); + myGLCD.setColor(VGA_RED); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + myGLCD.print(String("DEV"), spacingx+(MSbx-3*fx)/2, MSoffsety+(MSby-fy)/2); + myGLCD.print(String("STOP"), 2*spacingx+MSbx+(MSbx-4*fx)/2, MSoffsety+(MSby-fy)/2); + myGLCD.print(String("FIX"), 3*spacingx+2*MSbx+(MSbx-3*fx)/2, MSoffsety+(MSby-fy)/2); + myGLCD.print(String("ENLARGE"), 2*spacingx+MSbx+(MSbx-7*fx)/2, MSoffsety+spacingy+MSby+(MSby-fy)/2); + myGLCD.print(String("DIMMER"), spacingx+(MSbx+xSpace-6*fx)/2, scResY-MSoffsety-(MSby+fy)/2); + + if (enlState) + myGLCD.print(String("Enl. ON"), scResX-spacingx-(MSbx+xSpace+7*fx)/2, scResY-MSoffsety-(MSby+fy)/2); + else + myGLCD.print(String("Enl.OFF"), scResX-spacingx-(MSbx+xSpace+7*fx)/2, scResY-MSoffsety-(MSby+fy)/2); +} + +void DrawTimerScreen(String txt) +{ + myGLCD.setFont(DotMatrix_M); + myGLCD.setColor(VGA_RED); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + myGLCD.print(txt, CENTER, Toffsety+(Tby-fy)/2); //Title text + myGLCD.print(String("Back"), Toffsetx+(Tbx-4*fx)/2, Toffsety+(Tby-fy)/2); + myGLCD.print(String("Adjust"), scResX-Tbx-Toffsetx+(Tbx-6*fx)/2, Toffsety+(Tby-fy)/2); + myGLCD.print(String("START / STOP"), CENTER, scResY-Toffsety-Tby+(Tby-fy)/2); + + myGLCD.setColor(VGA_RED); + myGLCD.drawRoundRect(Toffsetx, Toffsety, Toffsetx+Tbx, Toffsety+Tby); //Back button + myGLCD.drawRoundRect(scResX-Toffsetx-Tbx, Toffsety, scResX-Toffsetx, Toffsety+Tby); //Adjust button + myGLCD.drawRoundRect(Toffsetx, scResY-Toffsety-Tby, scResX-Toffsetx, scResY-Toffsety); // Start/stop button + + int chx = (scResX-7*24)/2; //Position of first character + int chy = (scResY-32)/2; + DrawTimerNumbers(chx, chy); +} + +void DrawTimerNumbers(int posx, int posy) +{ + myGLCD.setFont(Ubuntu); + myGLCD.setColor(VGA_RED); +// Assuming the type font is 24x32 pixels + myGLCD.printNumI(minutes, posx, posy, 2, '0'); + myGLCD.print(String(':'), posx + 2*24, posy); + myGLCD.printNumI(seconds, posx + 3*24, posy, 2, '0'); + myGLCD.print(String('.'), posx + 5*24, posy); + myGLCD.printNumI(milliseconds, posx + 6*24, posy); +} + +// Main timing function +void DrawCountdownScreen(void) +{ + int ms, mt, se; //Save the storred values + int chx = (scResX-7*24)/2; //Position of first character (assuming 24x32 font) + int chy = (scResY-32)/2; + + digitalWrite(REL_ENLARGER, HIGH); //Make sure englarger is OFF + + switch (screen){ + case DevScreen: + mt = devM; se = devS; ms = devMS; + break; + case StopScreen: + mt = stopM; se = stopS; ms = stopMS; + break; + case FixScreen: + mt = fixM; se = fixS; ms = fixMS; + break; + case EnlargeScreen: + mt = elM; se = elS; ms = elMS; + digitalWrite(REL_ENLARGER, LOW); //Turn on the enlarger + break; + } + + tone(BUZZER,1000,100); + while (minutes > 0 || seconds > 0 || milliseconds > 0) + { + DrawTimerNumbers(chx,chy); + delay(timerDelay); //38 for Ubuntu font + if (milliseconds == 0){ + milliseconds = 9; + if (seconds == 0){ + seconds = 59; + (minutes == 0) ? minutes = 0 : minutes--; + } + else + seconds--; + } + else + milliseconds--; + + //Check if the timer should be stopped and stop right away. Then wait until you stop touching the screen + int tx, ty; + if (myTouch.dataAvailable()) { + myTouch.read(); + tx = scResX-myTouch.getX(); + ty = myTouch.getY(); + if ((tx>=Toffsetx) && (tx<=scResX-Toffsetx) && (ty>=scResY-Toffsety-Tby) && (ty<=scResY-Toffsety)) //Button is at Toffsetx, scResY-Toffsety-Tby, scResX-Toffsetx, scResY-Toffsety + break; + } + } + + // Make sure the enlarger is off and safelights are on + tone(BUZZER,1000,1000); + digitalWrite(REL_ENLARGER, HIGH); + + WaitForButton(Toffsetx, scResY-Toffsety-Tby, scResX-Toffsetx, scResY-Toffsety); //Prevents double-tapping the start/stop where you stop the timer and the timer restarts right up + milliseconds = ms; seconds = se; minutes = mt; //Restore the timer + DrawTimerNumbers(chx,chy); +} + +void DrawTimerAdjustScreen(void) +{ + myGLCD.setColor(VGA_RED); + for (int ix=0; ix<3; ix++) + for (int iy=0; iy<2; iy++) + myGLCD.drawRoundRect(offsetx+ix*(bx+spacingx), offsety+iy*(by+spacingy), offsetx+((ix+1)*bx)+spacingx*ix, offsety+((iy+1)*by)+spacingy*iy); + + myGLCD.setColor(VGA_RED); + myGLCD.setFont(DotMatrix_M); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + myGLCD.print(String("+1m"),offsetx+(bx-3*fx)/2,offsety+(by-fy)/2); //{(bx-3*fx)/2} 3* because there are three characters to display + myGLCD.print(String("-1m"),offsetx+(bx-3*fx)/2,offsety+spacingy+by+(by-fy)/2); + myGLCD.print(String("+1s"),offsetx+bx+spacingx+(bx-3*fx)/2,offsety+(by-fy)/2); //{(bx-3*fx)/2} 3* because there are three characters to display + myGLCD.print(String("-1s"),offsetx+bx+spacingx+(bx-3*fx)/2,offsety+spacingy+by+(by-fy)/2); + myGLCD.print(String("+.1s"),offsetx+2*(bx+spacingx)+(bx-4*fx)/2,offsety+(by-fy)/2); //{(bx-3*fx)/2} 4* because there are four characters to display + myGLCD.print(String("-.1s"),offsetx+2*(bx+spacingx)+(bx-4*fx)/2,offsety+spacingy+by+(by-fy)/2); + + myGLCD.setColor(VGA_PURPLE); + myGLCD.drawRoundRect(50,180,270,230); + myGLCD.setColor(VGA_RED); + myGLCD.print(String("SET TIME"), 50+(220-8*fx)/2, 180+(50-fy)/2); + + int chx = (scResX-7*24)/2; //Position of first character + int chy = offsety+(spacingy-32)/2+by; + DrawTimerNumbers(chx, chy); + +} + +void DrawTuneScreen(void) +{ + myGLCD.setColor(VGA_RED);//VGA_OLIVE + myGLCD.drawRoundRect(TNoffset, (scResY-TNby)/2, TNoffset+TNbx, (scResY+TNby)/2); + myGLCD.drawRoundRect(scResX-TNoffset-TNbx, (scResY-TNby)/2, scResX-TNoffset, (scResY+TNby)/2); + myGLCD.drawRoundRect(TNoffset, scResY-TNoffset-TNby, scResX-TNoffset, scResY-TNoffset); + + myGLCD.setFont(DotMatrix_M); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + myGLCD.print(String("BRIGHTNESS"),CENTER,TNoffset); + myGLCD.print(String("-"), TNoffset+(TNbx-fx)/2, (scResY-fy)/2); + myGLCD.print(String("+"), scResX-TNoffset-(TNbx+fx)/2, (scResY-fy)/2); + myGLCD.print(String("SET BRIGHTNESS"), CENTER, scResY-TNoffset-(TNby+fy)/2); + DrawInternalDelayValue(); +} + +void DrawInternalDelayValue(void) +{ + myGLCD.setFont(Ubuntu); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + myGLCD.setColor(VGA_RED); + myGLCD.printNumI(brightness, (scResX-3*fx)/2, (scResY-fy)/2, 3, '0');//timerDelay +} + +// Draw a frame while a button is touched (to look like you select that button) +void WaitForButton(int x1, int y1, int x2, int y2) +{ + //word curCol = myGLCD.getColor(); //Store the color active before the call + myGLCD.setColor(VGA_TEAL); + myGLCD.drawRoundRect (x1, y1, x2, y2); + + while (myTouch.dataAvailable()) + myTouch.read(); + + myGLCD.setColor(VGA_RED); + myGLCD.drawRoundRect (x1, y1, x2, y2); +} + + +///////// Touch parsing functions //// +void TouchMainScreen(int tx, int ty) +{ + // Touched the DEV STOP FIX buttons + int spacingx = (scResX-3*MSbx)/4; // Spacing of buttons on the upper row + if ((ty >= MSoffsety) && (ty <= MSoffsety+MSby)){ //Upper row of buttons (DEV, STOP, FIX) + for (int ix=0; ix<3; ix++){ + if ((tx >= (ix+1)*spacingx + ix*MSbx) && (tx <= (ix+1)*(spacingx+MSbx))){ + WaitForButton((ix+1)*spacingx + ix*MSbx, MSoffsety, (ix+1)*(spacingx+MSbx), MSoffsety+MSby); + screen = ix+1; + ShouldRedraw = true; + } + } + } + + // Touched the ENLARGE button + int spacingy = (scResY-2*MSoffsety-3*MSby)/2; + if ((tx >= 2*spacingx+MSbx-xSpace) && (tx <= 2*(spacingx+MSbx)+xSpace) && (ty >= MSoffsety+spacingy+MSby) && (ty <= MSoffsety+spacingy+2*MSby)){ + WaitForButton(2*spacingx+MSbx-xSpace, MSoffsety+spacingy+MSby, 2*(spacingx+MSbx)+xSpace, MSoffsety+spacingy+2*MSby); + screen = EnlargeScreen; + ShouldRedraw = true; + } + + // Touched the tunning/focus button + if ((ty >= scResY-MSoffsety-MSby) && (ty <= scResY-MSoffsety)){ + if ((tx >= scResX-spacingx-MSbx-xSpace) && (tx <= scResX-spacingx)){ //Focus button + WaitForButton(scResX-spacingx-MSbx-xSpace, scResY-MSoffsety-MSby, scResX-spacingx, scResY-MSoffsety); + enlState = !enlState; + digitalWrite(REL_ENLARGER, enlState); + int fx = myGLCD.getFontXsize(); + int fy = myGLCD.getFontYsize(); + int spacingx = (scResX-3*MSbx)/4; + myGLCD.setColor(VGA_RED); + enlState ? myGLCD.print(String("Enl. ON"), scResX-spacingx-(MSbx+xSpace+7*fx)/2, scResY-MSoffsety-(MSby+fy)/2) + : myGLCD.print(String("Enl.OFF"), scResX-spacingx-(MSbx+xSpace+7*fx)/2, scResY-MSoffsety-(MSby+fy)/2); + //ShouldRedraw = true; + } + + if ((tx >= spacingx) && (tx <= spacingx+MSbx+xSpace)){ //Tune button + WaitForButton(spacingx, scResY-MSoffsety-MSby, spacingx+MSbx+xSpace, scResY-MSoffsety); + screen = TuneScreen; + ShouldRedraw = true; + } + } + +} + +void TouchTimerScreen(int tx, int ty) +{ + if ((tx >= Toffsetx) && (tx <= scResX-Toffsetx) && (ty >= scResY-Toffsety-Tby) && (ty <= scResY-Toffsety)){ // Start/stop button + WaitForButton(Toffsetx, scResY-Toffsety-Tby, scResX-Toffsetx, scResY-Toffsety); + DrawCountdownScreen(); + } + + if ((ty >= Toffsety) && (ty <= Toffsety+Tby)){ //Upper row + if ((tx >= Toffsetx) && (tx <= Toffsetx+Tbx)){ //Back button was pressed + WaitForButton(Toffsetx, Toffsety, Toffsetx+Tbx, Toffsety+Tby); + screen = MainScreen; + ShouldRedraw = true; + } + if ((tx >= scResX-Toffsetx-Tbx) && (tx <= scResX-Toffsetx)){ //Adjust button was pressed + WaitForButton(scResX-Toffsetx-Tbx, Toffsety, scResX-Toffsetx, Toffsety+Tby); + senderScreen = screen; + screen = AdjustScreen; + ShouldRedraw = true; + } + } + +} + +void TouchTimerAdjustScreen(int tx, int ty) +{ +//// Determine which adjustment button was pressed + int row,col; + for (col=0; col<3; col++) + if ((tx >= offsetx+col*(bx+spacingx)) && (tx <= offsetx+((col+1)*bx)+spacingx*col)) + for (row=0; row<2; row++) + if ((ty >= offsety+row*(by+spacingy)) && (ty <= offsety+((row+1)*by)+spacingy*row)) + { + WaitForButton(offsetx+col*(bx+spacingx), offsety+row*(by+spacingy), offsetx+((col+1)*bx)+spacingx*col, offsety+((row+1)*by)+spacingy*row); + AdjustTimer(row,col); + int chx = (scResX-7*24)/2; //Position of first character + int chy = offsety+(spacingy-32)/2+by; + DrawTimerNumbers(chx, chy); + } + + //Determine if the SET TIME button was pressed (50,180,270,230), and store the new values + if ((tx >= 50) && (tx <= 270) && (ty >= 180) && (ty <= 230)){ + WaitForButton(50,180,270,230); + screen = senderScreen; + ShouldRedraw = true; + switch (senderScreen){ + case DevScreen: + devM = minutes; devS = seconds; devMS = milliseconds; + break; + case StopScreen: + stopM = minutes; stopS = seconds; stopMS = milliseconds; + break; + case FixScreen: + fixM = minutes; fixS = seconds; fixMS = milliseconds; + break; + case EnlargeScreen: + elM = minutes; elS = seconds; elMS = milliseconds; + break; + } + } +} + + +// Fine tunes the internal timer. Remember that this timer doesn't actually measure seconds. The time between two ticks (resolution 0.1s) +// is the time to refresh the screen plus some delay. The refresh time should be constant (and you can't adjust it anyway) and the delay is this delay you tune here. +void TouchTuneScreen(int tx, int ty) +{ + // Decrement + if ((ty >= (scResY-TNby)/2) && (ty <= (scResY+TNby)/2)){ //Adjust delay + if ((tx >= TNoffset) && (tx <= TNoffset+TNbx)){ // Decrement delay + WaitForButton(TNoffset, (scResY-TNby)/2, TNoffset+TNbx, (scResY+TNby)/2); + (brightness == 255) ? brightness = 255 : brightness++; //Backlight is driven in inverse logic + analogWrite(BACKLIGHT, brightness); + //(timerDelay == 2) ? timerDelay = 2 : timerDelay--; + DrawInternalDelayValue(); + } + //Increment + if ((tx >= scResX-TNoffset-TNbx) && (tx <= scResX-TNoffset)){ + WaitForButton(scResX-TNoffset-TNbx, (scResY-TNby)/2, scResX-TNoffset, (scResY+TNby)/2); + (brightness == 2) ? brightness = 2 : brightness--; //Backlight is driven in inverse logic + analogWrite(BACKLIGHT, brightness); + //(timerDelay == 999) ? timerDelay = 999 : timerDelay++; + DrawInternalDelayValue(); + } + } + + if ((tx >= TNoffset) && (tx <= scResX-TNoffset) && (ty >= scResY-TNoffset-TNby) && (ty <= scResY-TNoffset)){ + WaitForButton(TNoffset, scResY-TNoffset-TNby, scResX-TNoffset, scResY-TNoffset); + screen = MainScreen; + ShouldRedraw = true; + } +} + +// Increments/decrements timer values: +void AdjustTimer(int r, int c) +{ + switch (r){ + case 0: //r=0 increment + switch (c){ + case 0: //Minutes + (minutes == 99) ? minutes = 0 : minutes++; //Capping at 99 minutes + break; + case 1: //Seconds + (seconds == 59) ? seconds = 0 : seconds++; //Use standard 60sec in a minute + break; + case 2: //Milliseconds + (milliseconds == 9) ? milliseconds = 0 : milliseconds++; //Timer will have 0.1sec resolution + break; + } + break; + case 1://r=1 increment + switch (c){ + case 0: //msec, sec, mts; + (minutes == 0) ? minutes = 99 : minutes--; + break; + case 1: + (seconds == 0) ? seconds = 59 : seconds--; + break; + case 2: + (milliseconds == 0) ? milliseconds = 9 : milliseconds--; + break; + } + break; + } +} + + +////////// Standard functions ////////////// +void setup() +{ +// Initial setup + myGLCD.InitLCD(); + myGLCD.clrScr(); + myGLCD.setBrightness(0); + myGLCD.setBackColor(VGA_BLACK); + + scResX = myGLCD.getDisplayXSize(); + scResY = myGLCD.getDisplayYSize(); + + myTouch.InitTouch(); + myTouch.setPrecision(PREC_MEDIUM); + + pinMode(REL_ENLARGER, OUTPUT); + enlState = true; //Our relay works in inverse logic (true means not engaged) + digitalWrite(REL_ENLARGER, enlState); + + pinMode(BACKLIGHT, OUTPUT); + brightness = 150; + analogWrite(BACKLIGHT, brightness); + + timerDelay = 38; //good for the ubuntu font + +// Adjustment buttons dimensions dimensions + bx = 80; //Lenght of button + by = 40; //Width of button + spacingx = 15; + spacingy = 80; + offsetx = 25; + offsety = 10; + +// Main screen buttons dimensions + MSbx = 90; + MSby = 50; + xSpace = 40; //"Enlarge" text is too long so ENLARGE button has extra space on both sides + MSoffsety = 20; + +// Timer buttons dimensions + Tbx = 100; + Tby = 40; + Toffsetx = 18; + Toffsety = 20; + +// Tune buttons dimensions + TNbx = 60; + TNby = 40; + TNoffset = 30; + +// Initialize timer values + devMS = 0; devS = 30; devM = 1; //Default paper developing time + stopMS = 0; stopS = 15; stopM = 0; //Default stop time + fixMS = 0; fixS = 30; fixM = 1; //Default fixing time + elMS = 0; elS = 3; elM = 0; //Default enlarging time + + screen = MainScreen; //At startup we begin with the main menu + ShouldRedraw = true; +} + +void loop() +{ + int x, y; //Possition where you touch the screen + if (ShouldRedraw){ + myGLCD.clrScr(); + switch (screen){ + case MainScreen: + DrawMainScreen(); + break; + case DevScreen: + minutes = devM; seconds = devS; milliseconds = devMS; + DrawTimerScreen(String("DEV")); + break; + case StopScreen: + minutes = stopM; seconds = stopS; milliseconds = stopMS; + DrawTimerScreen(String("STOP")); + break; + case FixScreen: + minutes = fixM; seconds = fixS; milliseconds = fixMS; + DrawTimerScreen(String("FIX")); + break; + case AdjustScreen: + DrawTimerAdjustScreen(); + break; + case EnlargeScreen: + minutes = elM; seconds = elS; milliseconds = elMS; + DrawTimerScreen(String("ENLR")); + break; + case TuneScreen: + DrawTuneScreen(); + break; + default: + myGLCD.setFont(DotMatrix_M); + myGLCD.setColor(VGA_RED); + myGLCD.print(String("ERR: No such screen"), CENTER, 100); + delay(2000); + myGLCD.clrScr(); + screen = MainScreen; + DrawMainScreen(); + } + ShouldRedraw = false; + } + + if (myTouch.dataAvailable()){ + myTouch.read(); + x=scResX-myTouch.getX(); + y=myTouch.getY(); + + switch (screen){ + case MainScreen: + TouchMainScreen(x,y); + break; + case DevScreen: + case StopScreen: + case FixScreen: + case EnlargeScreen: + TouchTimerScreen(x,y); + break; + case AdjustScreen: + TouchTimerAdjustScreen(x,y); + break; + case TuneScreen: + TouchTuneScreen(x,y); + break; + } + } +} + diff --git a/timer_arduino/Ubuntu.c b/timer_arduino/Ubuntu.c new file mode 100644 index 0000000..dd078fb --- /dev/null +++ b/timer_arduino/Ubuntu.c @@ -0,0 +1,119 @@ +// Ubuntu.c +// Font type : Full (95 characters) +// Font size : 24x32 pixels +// Memory usage : 9124 bytes + +#if defined(__AVR__) + #include + #define fontdatatype const uint8_t +#elif defined(__PIC32MX__) + #define PROGMEM + #define fontdatatype const unsigned char +#elif defined(__arm__) + #define PROGMEM + #define fontdatatype const unsigned char +#endif + +fontdatatype Ubuntu[9124] PROGMEM={ +0x18,0x20,0x20,0x5F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! +0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xE1,0xF0,0x03,0xE1,0xF0,0x03,0xE1,0xF0,0x01,0xE0,0xF0,0x00,0xE0,0x70,0x01,0xC0,0xE0,0x03,0xC1,0xE0,0x0F,0x87,0xC0,0x0E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x70,0x00,0x38,0x70,0x00,0x70,0xE0,0x00,0x70,0xE0,0x00,0x70,0xE0,0x00,0x70,0xE0,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0xE1,0xC0,0x00,0xE1,0xC0,0x00,0xE1,0xC0,0x01,0xC3,0x80,0x01,0xC3,0x80,0x01,0xC3,0x80,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x0F,0xFF,0xF8,0x03,0x87,0x00,0x03,0x87,0x00,0x03,0x87,0x00,0x03,0x87,0x00,0x07,0x0E,0x00,0x07,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // # +0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x07,0x80,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xF8,0x00,0x01,0xFE,0x00,0x00,0x7F,0x80,0x00,0x0F,0xC0,0x00,0x03,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x02,0x01,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00, // $ +0x00,0x00,0x00,0x07,0x80,0x70,0x0F,0xC0,0xE0,0x0C,0xC0,0xE0,0x18,0x61,0xC0,0x18,0x63,0x80,0x18,0x63,0x80,0x18,0x67,0x00,0x18,0x67,0x00,0x18,0x6E,0x00,0x0C,0xDC,0x00,0x0F,0xDC,0x00,0x07,0xB8,0x00,0x00,0x3B,0xC0,0x00,0x77,0xE0,0x00,0x76,0x60,0x00,0xEC,0x30,0x01,0xCC,0x30,0x01,0xCC,0x30,0x03,0x8C,0x30,0x03,0x8C,0x30,0x07,0x0C,0x30,0x0E,0x06,0x60,0x0E,0x07,0xE0,0x1C,0x03,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,0x00,0x7C,0x00,0x00,0xFF,0x00,0x01,0xFF,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x87,0x00,0x01,0xCF,0x00,0x01,0xFE,0x00,0x00,0xFC,0x00,0x01,0xF0,0x70,0x03,0xF8,0x70,0x03,0xBC,0x70,0x07,0x1E,0x60,0x0E,0x0F,0xE0,0x0E,0x07,0xE0,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0F,0x03,0xE0,0x07,0x8F,0xE0,0x07,0xFF,0x70,0x03,0xFE,0x70,0x00,0xF8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & +0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x07,0x00,0x00,0x0F,0x80,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x38,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0F,0x00,0x00,0x07,0x80,0x00,0x03,0x00,0x00,0x01,0x00, // ( +0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0x78,0x00,0x00,0x3C,0x00,0x00,0x1E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x00,0xF0,0x00,0x00,0x60,0x00,0x00,0x40,0x00, // ) +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x02,0x1C,0x20,0x03,0xC9,0xE0,0x07,0xFF,0xF0,0x01,0xFF,0xC0,0x00,0x1C,0x00,0x00,0x36,0x00,0x00,0x77,0x00,0x00,0xF3,0x80,0x01,0xE3,0xC0,0x00,0xE3,0x80,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x1F,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0x00,0x00, // , +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . +0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00, // / + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x03,0xC7,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x30,0xE0,0x0E,0x78,0xE0,0x0E,0x78,0xE0,0x0E,0x78,0xE0,0x0E,0x30,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xC7,0x80,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x7C,0x00,0x00,0xFC,0x00,0x03,0xFC,0x00,0x07,0x9C,0x00,0x02,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x03,0xFF,0x00,0x07,0xFF,0x80,0x07,0x87,0xC0,0x02,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x06,0x07,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x07,0x80,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x80,0x00,0x07,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xE0,0x04,0x03,0xC0,0x0F,0xFF,0x80,0x0F,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x0F,0x80,0x00,0x1F,0x80,0x00,0x3F,0x80,0x00,0x3B,0x80,0x00,0x73,0x80,0x00,0xF3,0x80,0x01,0xE3,0x80,0x01,0xC3,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x07,0x03,0x80,0x0F,0x03,0x80,0x0E,0x03,0x80,0x1E,0x03,0x80,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x1F,0xFF,0xF0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 +0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xF0,0x00,0x07,0xFE,0x00,0x07,0xFF,0x00,0x00,0x1F,0x80,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x0C,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x03,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x1F,0xC0,0x00,0x7F,0xC0,0x00,0xFC,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x06,0x7E,0x00,0x0F,0xFF,0x80,0x0F,0xFF,0xC0,0x0F,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xC0,0x07,0xC3,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x03,0xC7,0xC0,0x07,0x03,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x81,0xC0,0x03,0xC3,0x80,0x03,0xF7,0x00,0x01,0xFE,0x00,0x01,0xFF,0x80,0x03,0xCF,0xC0,0x07,0x03,0xC0,0x06,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x07,0xFF,0xC0,0x03,0xFF,0x80,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x87,0xC0,0x07,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x00,0xE0,0x07,0x81,0xE0,0x07,0xFF,0xE0,0x03,0xFF,0xE0,0x00,0xFE,0xE0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x07,0x80,0x00,0x0F,0x00,0x00,0x7E,0x00,0x07,0xFC,0x00,0x07,0xF8,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x3C,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x70,0x00,0x01,0xE0,0x00,0x01,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x01,0xE0,0x00,0x0F,0xE0,0x00,0x3F,0xC0,0x00,0xFE,0x00,0x03,0xF8,0x00,0x0F,0xC0,0x00,0x0F,0x00,0x00,0x0F,0xC0,0x00,0x07,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0xC0,0x00,0x0F,0xE0,0x00,0x01,0xE0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x0F,0x00,0x00,0x0F,0xE0,0x00,0x07,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0x80,0x00,0x07,0xE0,0x00,0x01,0xE0,0x00,0x07,0xE0,0x00,0x3F,0xC0,0x00,0xFE,0x00,0x07,0xF8,0x00,0x0F,0xE0,0x00,0x0F,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > +0x00,0x00,0x00,0x00,0xFE,0x00,0x03,0xFF,0x80,0x03,0xFF,0xC0,0x01,0x03,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x1C,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? + +0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0xFF,0x80,0x01,0xFF,0xC0,0x01,0xE1,0xE0,0x03,0x80,0xE0,0x03,0x80,0x70,0x07,0x00,0x70,0x07,0x00,0x70,0x07,0x07,0xF0,0x0E,0x1F,0xF0,0x0E,0x3F,0xF0,0x0E,0x3C,0x70,0x0E,0x78,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x70,0x70,0x0E,0x78,0x70,0x0E,0x38,0x70,0x07,0x3F,0xF0,0x07,0x1F,0xF0,0x07,0x07,0xE0,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xC0,0x00,0x01,0xF0,0x00,0x00,0xFF,0xC0,0x00,0x7F,0xC0,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, // @ +0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0xFF,0x00,0x00,0xF7,0x00,0x00,0xE7,0x00,0x00,0xE7,0x00,0x01,0xE7,0x80,0x01,0xC3,0x80,0x01,0xC3,0x80,0x03,0xC3,0xC0,0x03,0xC1,0xC0,0x03,0x81,0xC0,0x03,0x81,0xC0,0x07,0x81,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x0F,0x00,0xF0,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x1E,0x00,0x78,0x1C,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // A +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0E,0x07,0xC0,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFF,0x00,0x0F,0xFF,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x01,0xE0,0x0E,0x07,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0x00,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // B +0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x7F,0xE0,0x01,0xFF,0xE0,0x03,0xE0,0x40,0x03,0xC0,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0F,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xC0,0x00,0x03,0xE0,0x40,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // C +0x00,0x00,0x00,0x0F,0xF0,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x00,0x0E,0x0F,0x80,0x0E,0x03,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x01,0xE0,0x0E,0x01,0xC0,0x0E,0x03,0xC0,0x0E,0x03,0x80,0x0E,0x0F,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // D +0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0x80,0x07,0xFF,0x80,0x07,0xFF,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // E +0x00,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F +0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xC0,0x01,0xFF,0xE0,0x03,0xE0,0xC0,0x03,0xC0,0x40,0x07,0x80,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0xC0,0xE0,0x03,0xE0,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // G +0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // H +0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // I +0x00,0x00,0x00,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x04,0x03,0xC0,0x07,0x07,0x80,0x0F,0xFF,0x00,0x07,0xFE,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // J +0x00,0x00,0x00,0x0E,0x01,0xE0,0x0E,0x03,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0E,0x0F,0x00,0x0E,0x0E,0x00,0x0E,0x1C,0x00,0x0E,0x3C,0x00,0x0E,0x78,0x00,0x0E,0xF0,0x00,0x0F,0xE0,0x00,0x0F,0xE0,0x00,0x0F,0xF0,0x00,0x0E,0xF8,0x00,0x0E,0x7C,0x00,0x0E,0x3E,0x00,0x0E,0x1E,0x00,0x0E,0x0F,0x00,0x0E,0x07,0x80,0x0E,0x03,0xC0,0x0E,0x03,0xC0,0x0E,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // K +0x00,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // L +0x00,0x00,0x00,0x03,0x00,0x60,0x03,0x80,0xF0,0x07,0x80,0xF0,0x07,0x80,0xF0,0x06,0xC1,0xB0,0x06,0xC1,0xB0,0x06,0xE3,0xB0,0x06,0x63,0x30,0x06,0x63,0x30,0x06,0x77,0x30,0x06,0x36,0x30,0x06,0x36,0x30,0x06,0x3E,0x30,0x06,0x1C,0x38,0x0E,0x1C,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x0E,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // M +0x00,0x00,0x00,0x07,0x80,0x70,0x07,0xC0,0x70,0x07,0xC0,0x70,0x07,0xE0,0x70,0x07,0xE0,0x70,0x07,0xF0,0x70,0x07,0x70,0x70,0x07,0x70,0x70,0x07,0x38,0x70,0x07,0x38,0x70,0x07,0x1C,0x70,0x07,0x1C,0x70,0x07,0x0E,0x70,0x07,0x0E,0x70,0x07,0x06,0x70,0x07,0x07,0x70,0x07,0x07,0x70,0x07,0x03,0xF0,0x07,0x03,0xF0,0x07,0x01,0xF0,0x07,0x01,0xF0,0x07,0x00,0xF0,0x07,0x00,0xF0,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // N +0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x1C,0x00,0xF0,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // O + +0x00,0x00,0x00,0x07,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x03,0xC0,0x07,0x01,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x03,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x07,0xFC,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // P +0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x1C,0x00,0xF0,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x38,0x00,0x00,0x3C,0x00,0x00,0x1F,0x00,0x00,0x0F,0xE0,0x00,0x07,0xE0,0x00,0x00,0xC0,0x00,0x00,0x00, // Q +0x00,0x00,0x00,0x0F,0xF8,0x00,0x0F,0xFE,0x00,0x0F,0xFF,0x00,0x0E,0x07,0x80,0x0E,0x03,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x03,0x80,0x0E,0x07,0x80,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x0F,0xFC,0x00,0x0E,0x1E,0x00,0x0E,0x0E,0x00,0x0E,0x07,0x00,0x0E,0x07,0x00,0x0E,0x03,0x80,0x0E,0x03,0x80,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // R +0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x03,0xC0,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xE0,0x00,0x01,0xF8,0x00,0x00,0xFE,0x00,0x00,0x3F,0x80,0x00,0x0F,0xC0,0x00,0x03,0xC0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x04,0x01,0xE0,0x0F,0x03,0xC0,0x0F,0xFF,0xC0,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // S +0x00,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // T +0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // U +0x00,0x00,0x00,0x1C,0x00,0x70,0x1C,0x00,0x70,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0x87,0x80,0x01,0xC7,0x00,0x01,0xC7,0x00,0x01,0xC7,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // V +0x00,0x00,0x00,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x0E,0xC6,0xE0,0x0E,0xC6,0xE0,0x0E,0xC6,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x83,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // W +0x00,0x00,0x00,0x1E,0x00,0xF0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x00,0xEE,0x00,0x01,0xC7,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x1E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // X +0x00,0x00,0x00,0x1C,0x00,0x70,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0x83,0x80,0x03,0xC3,0x80,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Y +0x00,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x0F,0x00,0x00,0x0E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x38,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x01,0xE0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x07,0x00,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Z +0x01,0xFF,0x00,0x01,0xFF,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xFF,0x00,0x01,0xFF,0x00, // [ +0x03,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0, // +0x00,0xFF,0x80,0x00,0xFF,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0xFF,0x80,0x00,0xFF,0x80, // ] +0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0xEE,0x00,0x00,0xEE,0x00,0x01,0xC7,0x00,0x01,0xC7,0x00,0x03,0xC7,0x80,0x03,0x83,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x02,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x3F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ + +0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x01,0xC7,0x00,0x01,0x83,0x00,0x01,0x83,0x00,0x01,0x83,0x00,0x01,0xC7,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x01,0xFF,0x80,0x01,0xFF,0xC0,0x01,0x83,0xE0,0x00,0x01,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x7F,0xE0,0x01,0xFF,0xE0,0x03,0xFF,0xE0,0x07,0xC0,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0xFF,0xE0,0x01,0xFF,0xE0,0x00,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a +0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x7E,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x07,0x01,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x07,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // b +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x00,0xFF,0xE0,0x03,0xFF,0xE0,0x03,0xE0,0x40,0x07,0x80,0x00,0x07,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x80,0x00,0x03,0xE0,0x60,0x03,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c +0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x7E,0xE0,0x00,0xFF,0xE0,0x01,0xFF,0xE0,0x03,0xC1,0xE0,0x03,0x80,0xE0,0x07,0x80,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x80,0xE0,0x03,0xE0,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // d +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0xC3,0xC0,0x07,0x01,0xC0,0x07,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x00,0x00,0x0E,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xC0,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e +0x00,0x0F,0xC0,0x00,0x3F,0xF0,0x00,0x7F,0xF0,0x00,0x78,0x30,0x00,0xF0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x0F,0xFF,0xC0,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x03,0xFF,0xC0,0x07,0x81,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x0E,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0xFD,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x00,0x03,0xC0,0x06,0x07,0x80,0x07,0xFF,0x80,0x07,0xFF,0x00,0x03,0xFC,0x00,0x00,0x00,0x00, // g +0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x07,0x80,0x07,0x03,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // h +0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x78,0x20,0x00,0x3F,0xE0,0x00,0x3F,0xE0,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // i +0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x0F,0x00,0x00,0x0F,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0x80,0x03,0xFF,0x80,0x03,0xFF,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x06,0x0F,0x00,0x0F,0xFF,0x00,0x0F,0xFE,0x00,0x03,0xF8,0x00, // j +0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x01,0xE0,0x07,0x03,0xC0,0x07,0x07,0x80,0x07,0x0F,0x00,0x07,0x1E,0x00,0x07,0x3C,0x00,0x07,0x78,0x00,0x07,0xF0,0x00,0x07,0xE0,0x00,0x07,0xF0,0x00,0x07,0x78,0x00,0x07,0x1C,0x00,0x07,0x0F,0x00,0x07,0x07,0x00,0x07,0x03,0x80,0x07,0x03,0xC0,0x07,0x01,0xE0,0x07,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // k +0x07,0xF8,0x00,0x07,0xF8,0x00,0x07,0xF8,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x3C,0x10,0x00,0x1F,0xF0,0x00,0x1F,0xF0,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // l +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE3,0xC0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0E,0x3C,0xF0,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x1C,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x0E,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x03,0xFF,0x80,0x03,0xFF,0xC0,0x03,0x83,0xC0,0x03,0x81,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x01,0xFF,0x00,0x03,0xFF,0x80,0x07,0x83,0xC0,0x07,0x01,0xC0,0x0F,0x01,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0xFF,0x80,0x01,0xFF,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x07,0xFF,0x00,0x07,0xFF,0x80,0x07,0x07,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x01,0xE0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x00,0x07,0x7C,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00, // p +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x01,0xFF,0xE0,0x03,0xE0,0xE0,0x03,0x80,0xE0,0x03,0x80,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x80,0xE0,0x03,0xC1,0xE0,0x01,0xFF,0xE0,0x00,0xFF,0xE0,0x00,0x3E,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0, // q +0x00,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,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0x80,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r +0x00,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,0x01,0xFF,0x80,0x03,0xFF,0x80,0x07,0x81,0x80,0x07,0x00,0x00,0x07,0x00,0x00,0x07,0xC0,0x00,0x03,0xF0,0x00,0x01,0xFE,0x00,0x00,0x7F,0x00,0x00,0x1F,0x80,0x00,0x03,0xC0,0x00,0x01,0xC0,0x00,0x01,0xC0,0x06,0x03,0xC0,0x07,0xFF,0x80,0x07,0xFF,0x80,0x01,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // s +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x0F,0xFF,0xE0,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xF0,0x20,0x00,0x7F,0xE0,0x00,0x7F,0xE0,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // t +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x81,0xC0,0x03,0xC1,0xC0,0x03,0xFF,0xC0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x1E,0x00,0xF0,0x0E,0x00,0xE0,0x0E,0x00,0xE0,0x0F,0x01,0xE0,0x07,0x01,0xC0,0x07,0x01,0xC0,0x07,0x83,0xC0,0x03,0x83,0x80,0x03,0x83,0x80,0x03,0xC7,0x00,0x01,0xC7,0x00,0x01,0xEF,0x00,0x00,0xEE,0x00,0x00,0xFE,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x00,0x70,0x1C,0x10,0x70,0x0C,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x38,0xE0,0x0E,0x28,0xE0,0x0E,0x6C,0xE0,0x0E,0x6C,0xE0,0x06,0x44,0xC0,0x06,0xC6,0xC0,0x06,0xC7,0xC0,0x07,0x87,0xC0,0x07,0x83,0xC0,0x07,0x83,0x80,0x03,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x01,0xE0,0x0F,0x03,0xC0,0x07,0x03,0x80,0x03,0x87,0x80,0x03,0xCF,0x00,0x01,0xEE,0x00,0x00,0xFC,0x00,0x00,0x7C,0x00,0x00,0x78,0x00,0x00,0x7C,0x00,0x00,0xFE,0x00,0x01,0xEE,0x00,0x01,0xC7,0x00,0x03,0xC3,0x80,0x07,0x83,0xC0,0x0F,0x01,0xC0,0x0E,0x01,0xE0,0x1E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x70,0x0F,0x00,0xF0,0x07,0x00,0xE0,0x07,0x00,0xE0,0x07,0x80,0xE0,0x03,0x81,0xE0,0x03,0x81,0xC0,0x03,0xC1,0xC0,0x01,0xC3,0xC0,0x01,0xC3,0x80,0x01,0xE3,0x80,0x00,0xE7,0x80,0x00,0xF7,0x80,0x00,0x77,0x00,0x00,0x7F,0x00,0x00,0x3E,0x00,0x00,0x3E,0x00,0x00,0x1E,0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00,0x78,0x00,0x0F,0xF0,0x00,0x0F,0xF0,0x00,0x0F,0xC0,0x00, // y +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x0F,0x00,0x00,0x1E,0x00,0x00,0x1C,0x00,0x00,0x38,0x00,0x00,0x78,0x00,0x00,0xF0,0x00,0x00,0xE0,0x00,0x01,0xE0,0x00,0x03,0xC0,0x00,0x03,0x80,0x00,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x01,0xC0,0x00,0x0F,0x80,0x00,0x0F,0x80,0x00,0x01,0xC0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0xE0,0x00,0x00,0x70,0x00,0x00,0x7F,0x80,0x00,0x1F,0x80, // { +0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00, // | +0x00,0xFC,0x00,0x00,0xFF,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x01,0xC0,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x01,0xC0,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0xFF,0x00,0x00,0xFC,0x00, // } +0x00,0x00,0x00,0x01,0xE0,0x20,0x03,0xF0,0x30,0x07,0xFC,0x70,0x0E,0x3F,0xE0,0x0C,0x0F,0xC0,0x04,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ +};