[PATCH 4/5] arm/raspberrypi: add video outchar support for rpi bsp

ppisa4lists at pikron.com ppisa4lists at pikron.com
Sat May 21 10:54:58 UTC 2016


From: YANG Qiao <yangqiao0505 at me.com>

---
 c/src/lib/libbsp/arm/raspberrypi/Makefile.am       |    3 +
 .../lib/libbsp/arm/raspberrypi/console/font_data.h | 4639 ++++++++++++++++++++
 c/src/lib/libbsp/arm/raspberrypi/console/outch.c   |  411 ++
 c/src/lib/libbsp/arm/raspberrypi/include/bsp.h     |    4 +
 4 files changed, 5057 insertions(+)
 create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/font_data.h
 create mode 100644 c/src/lib/libbsp/arm/raspberrypi/console/outch.c

diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
index 3373d08..f5b87ab 100644
--- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
+++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am
@@ -26,6 +26,8 @@ nodist_include_HEADERS = ../../shared/include/coverhd.h \
 
 nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
 
+noinst_HEADERS = console/font_data.h
+
 include_bsp_HEADERS =
 include_bsp_HEADERS += ../../../libbsp/shared/include/mm.h
 include_bsp_HEADERS += ../../shared/include/utility.h
@@ -116,6 +118,7 @@ libbsp_a_SOURCES += ../../shared/console_write.c
 libbsp_a_SOURCES += console/console-config.c
 libbsp_a_SOURCES += console/usart.c
 libbsp_a_SOURCES += console/fb.c
+libbsp_a_SOURCES += console/outch.c
 
 # Mailbox
 libbsp_a_SOURCES += misc/mailbox.c
diff --git a/c/src/lib/libbsp/arm/raspberrypi/console/font_data.h b/c/src/lib/libbsp/arm/raspberrypi/console/font_data.h
new file mode 100644
index 0000000..852310c
--- /dev/null
+++ b/c/src/lib/libbsp/arm/raspberrypi/console/font_data.h
@@ -0,0 +1,4639 @@
+/**
+ * @file
+ *
+ * @ingroup raspberrypi
+ *
+ * @brief graphic text console font file
+ *
+ */
+/*
+ * Copyright (c) 2015 Yang Qiao
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *
+ *  http://www.rtems.org/license/LICENSE
+ *
+ */
+
+#ifndef LIBBSP_ARM_RASPBERRYPI_FONT_DATA_H
+#define LIBBSP_ARM_RASPBERRYPI_FONT_DATA_H
+
+#define RPI_FONT_CHARS  256
+#define RPI_FONT_WIDTH  8
+#define RPI_FONT_HEIGHT 16
+#define RPI_FONT_SIZE   (RPI_FONT_CHARS * RPI_FONT_HEIGHT)
+
+static unsigned char rpi_font[RPI_FONT_SIZE] = {
+
+  /* 0 0x00 '^@' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 1 0x01 '^A' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x81, /* 10000001 */
+  0xa5, /* 10100101 */
+  0x81, /* 10000001 */
+  0x81, /* 10000001 */
+  0xbd, /* 10111101 */
+  0x99, /* 10011001 */
+  0x81, /* 10000001 */
+  0x81, /* 10000001 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 2 0x02 '^B' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0xff, /* 11111111 */
+  0xdb, /* 11011011 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xc3, /* 11000011 */
+  0xe7, /* 11100111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 3 0x03 '^C' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x6c, /* 01101100 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0x7c, /* 01111100 */
+  0x38, /* 00111000 */
+  0x10, /* 00010000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 4 0x04 '^D' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x7c, /* 01111100 */
+  0xfe, /* 11111110 */
+  0x7c, /* 01111100 */
+  0x38, /* 00111000 */
+  0x10, /* 00010000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 5 0x05 '^E' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0xe7, /* 11100111 */
+  0xe7, /* 11100111 */
+  0xe7, /* 11100111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 6 0x06 '^F' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x7e, /* 01111110 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 7 0x07 '^G' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 8 0x08 '^H' */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xe7, /* 11100111 */
+  0xc3, /* 11000011 */
+  0xc3, /* 11000011 */
+  0xe7, /* 11100111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+
+  /* 9 0x09 '^I' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x42, /* 01000010 */
+  0x42, /* 01000010 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 10 0x0a '^J' */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xc3, /* 11000011 */
+  0x99, /* 10011001 */
+  0xbd, /* 10111101 */
+  0xbd, /* 10111101 */
+  0x99, /* 10011001 */
+  0xc3, /* 11000011 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+
+  /* 11 0x0b '^K' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1e, /* 00011110 */
+  0x0e, /* 00001110 */
+  0x1a, /* 00011010 */
+  0x32, /* 00110010 */
+  0x78, /* 01111000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 12 0x0c '^L' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 13 0x0d '^M' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3f, /* 00111111 */
+  0x33, /* 00110011 */
+  0x3f, /* 00111111 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x70, /* 01110000 */
+  0xf0, /* 11110000 */
+  0xe0, /* 11100000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 14 0x0e '^N' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7f, /* 01111111 */
+  0x63, /* 01100011 */
+  0x7f, /* 01111111 */
+  0x63, /* 01100011 */
+  0x63, /* 01100011 */
+  0x63, /* 01100011 */
+  0x63, /* 01100011 */
+  0x67, /* 01100111 */
+  0xe7, /* 11100111 */
+  0xe6, /* 11100110 */
+  0xc0, /* 11000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 15 0x0f '^O' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xdb, /* 11011011 */
+  0x3c, /* 00111100 */
+  0xe7, /* 11100111 */
+  0x3c, /* 00111100 */
+  0xdb, /* 11011011 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 16 0x10 '^P' */
+  0x00, /* 00000000 */
+  0x80, /* 10000000 */
+  0xc0, /* 11000000 */
+  0xe0, /* 11100000 */
+  0xf0, /* 11110000 */
+  0xf8, /* 11111000 */
+  0xfe, /* 11111110 */
+  0xf8, /* 11111000 */
+  0xf0, /* 11110000 */
+  0xe0, /* 11100000 */
+  0xc0, /* 11000000 */
+  0x80, /* 10000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 17 0x11 '^Q' */
+  0x00, /* 00000000 */
+  0x02, /* 00000010 */
+  0x06, /* 00000110 */
+  0x0e, /* 00001110 */
+  0x1e, /* 00011110 */
+  0x3e, /* 00111110 */
+  0xfe, /* 11111110 */
+  0x3e, /* 00111110 */
+  0x1e, /* 00011110 */
+  0x0e, /* 00001110 */
+  0x06, /* 00000110 */
+  0x02, /* 00000010 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 18 0x12 '^R' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 19 0x13 '^S' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 20 0x14 '^T' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7f, /* 01111111 */
+  0xdb, /* 11011011 */
+  0xdb, /* 11011011 */
+  0xdb, /* 11011011 */
+  0x7b, /* 01111011 */
+  0x1b, /* 00011011 */
+  0x1b, /* 00011011 */
+  0x1b, /* 00011011 */
+  0x1b, /* 00011011 */
+  0x1b, /* 00011011 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 21 0x15 '^U' */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0x60, /* 01100000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x0c, /* 00001100 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 22 0x16 '^V' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 23 0x17 '^W' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 24 0x18 '^X' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 25 0x19 '^Y' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 26 0x1a '^Z' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0xfe, /* 11111110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 27 0x1b '^[' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xfe, /* 11111110 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 28 0x1c '^\' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 29 0x1d '^]' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x28, /* 00101000 */
+  0x6c, /* 01101100 */
+  0xfe, /* 11111110 */
+  0x6c, /* 01101100 */
+  0x28, /* 00101000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 30 0x1e '^^' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x38, /* 00111000 */
+  0x7c, /* 01111100 */
+  0x7c, /* 01111100 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 31 0x1f '^_' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0x7c, /* 01111100 */
+  0x7c, /* 01111100 */
+  0x38, /* 00111000 */
+  0x38, /* 00111000 */
+  0x10, /* 00010000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 32 0x20 ' ' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 33 0x21 '!' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 34 0x22 '"' */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x24, /* 00100100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 35 0x23 '#' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0xfe, /* 11111110 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0xfe, /* 11111110 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 36 0x24 '$' */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc2, /* 11000010 */
+  0xc0, /* 11000000 */
+  0x7c, /* 01111100 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x86, /* 10000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 37 0x25 '%' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc2, /* 11000010 */
+  0xc6, /* 11000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc6, /* 11000110 */
+  0x86, /* 10000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 38 0x26 '&' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 39 0x27 ''' */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 40 0x28 '(' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 41 0x29 ')' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 42 0x2a '*' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0xff, /* 11111111 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 43 0x2b '+' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 44 0x2c ',' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 45 0x2d '-' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 46 0x2e '.' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 47 0x2f '/' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x02, /* 00000010 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0x80, /* 10000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 48 0x30 '0' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 49 0x31 '1' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x38, /* 00111000 */
+  0x78, /* 01111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 50 0x32 '2' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 51 0x33 '3' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x3c, /* 00111100 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 52 0x34 '4' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x0c, /* 00001100 */
+  0x1c, /* 00011100 */
+  0x3c, /* 00111100 */
+  0x6c, /* 01101100 */
+  0xcc, /* 11001100 */
+  0xfe, /* 11111110 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x1e, /* 00011110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 53 0x35 '5' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xfc, /* 11111100 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 54 0x36 '6' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xfc, /* 11111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 55 0x37 '7' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 56 0x38 '8' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 57 0x39 '9' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7e, /* 01111110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 58 0x3a ':' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 59 0x3b ';' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 60 0x3c '<' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x06, /* 00000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 61 0x3d '=' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 62 0x3e '>' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 63 0x3f '?' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 64 0x40 '@' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xde, /* 11011110 */
+  0xde, /* 11011110 */
+  0xde, /* 11011110 */
+  0xdc, /* 11011100 */
+  0xc0, /* 11000000 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 65 0x41 'A' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 66 0x42 'B' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfc, /* 11111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0xfc, /* 11111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 67 0x43 'C' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0xc2, /* 11000010 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc2, /* 11000010 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 68 0x44 'D' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xf8, /* 11111000 */
+  0x6c, /* 01101100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x6c, /* 01101100 */
+  0xf8, /* 11111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 69 0x45 'E' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x66, /* 01100110 */
+  0x62, /* 01100010 */
+  0x68, /* 01101000 */
+  0x78, /* 01111000 */
+  0x68, /* 01101000 */
+  0x60, /* 01100000 */
+  0x62, /* 01100010 */
+  0x66, /* 01100110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 70 0x46 'F' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x66, /* 01100110 */
+  0x62, /* 01100010 */
+  0x68, /* 01101000 */
+  0x78, /* 01111000 */
+  0x68, /* 01101000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xf0, /* 11110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 71 0x47 'G' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0xc2, /* 11000010 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xde, /* 11011110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x66, /* 01100110 */
+  0x3a, /* 00111010 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 72 0x48 'H' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 73 0x49 'I' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 74 0x4a 'J' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1e, /* 00011110 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 75 0x4b 'K' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xe6, /* 11100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x6c, /* 01101100 */
+  0x78, /* 01111000 */
+  0x78, /* 01111000 */
+  0x6c, /* 01101100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0xe6, /* 11100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 76 0x4c 'L' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xf0, /* 11110000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x62, /* 01100010 */
+  0x66, /* 01100110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 77 0x4d 'M' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xee, /* 11101110 */
+  0xfe, /* 11111110 */
+  0xfe, /* 11111110 */
+  0xd6, /* 11010110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 78 0x4e 'N' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xe6, /* 11100110 */
+  0xf6, /* 11110110 */
+  0xfe, /* 11111110 */
+  0xde, /* 11011110 */
+  0xce, /* 11001110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 79 0x4f 'O' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 80 0x50 'P' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfc, /* 11111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xf0, /* 11110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 81 0x51 'Q' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xd6, /* 11010110 */
+  0xde, /* 11011110 */
+  0x7c, /* 01111100 */
+  0x0c, /* 00001100 */
+  0x0e, /* 00001110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 82 0x52 'R' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfc, /* 11111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x6c, /* 01101100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0xe6, /* 11100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 83 0x53 'S' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x60, /* 01100000 */
+  0x38, /* 00111000 */
+  0x0c, /* 00001100 */
+  0x06, /* 00000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 84 0x54 'T' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x5a, /* 01011010 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 85 0x55 'U' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 86 0x56 'V' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x10, /* 00010000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 87 0x57 'W' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xfe, /* 11111110 */
+  0xee, /* 11101110 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 88 0x58 'X' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x7c, /* 01111100 */
+  0x38, /* 00111000 */
+  0x38, /* 00111000 */
+  0x7c, /* 01111100 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 89 0x59 'Y' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 90 0x5a 'Z' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0x86, /* 10000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc2, /* 11000010 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 91 0x5b '[' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 92 0x5c '\' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x80, /* 10000000 */
+  0xc0, /* 11000000 */
+  0xe0, /* 11100000 */
+  0x70, /* 01110000 */
+  0x38, /* 00111000 */
+  0x1c, /* 00011100 */
+  0x0e, /* 00001110 */
+  0x06, /* 00000110 */
+  0x02, /* 00000010 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 93 0x5d ']' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 94 0x5e '^' */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 95 0x5f '_' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 96 0x60 '`' */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 97 0x61 'a' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 98 0x62 'b' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xe0, /* 11100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x78, /* 01111000 */
+  0x6c, /* 01101100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 99 0x63 'c' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 100 0x64 'd' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1c, /* 00011100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x3c, /* 00111100 */
+  0x6c, /* 01101100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 101 0x65 'e' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 102 0x66 'f' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1c, /* 00011100 */
+  0x36, /* 00110110 */
+  0x32, /* 00110010 */
+  0x30, /* 00110000 */
+  0x78, /* 01111000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 103 0x67 'g' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x7c, /* 01111100 */
+  0x0c, /* 00001100 */
+  0xcc, /* 11001100 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+
+  /* 104 0x68 'h' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xe0, /* 11100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x6c, /* 01101100 */
+  0x76, /* 01110110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0xe6, /* 11100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 105 0x69 'i' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 106 0x6a 'j' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x00, /* 00000000 */
+  0x0e, /* 00001110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+
+  /* 107 0x6b 'k' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xe0, /* 11100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x66, /* 01100110 */
+  0x6c, /* 01101100 */
+  0x78, /* 01111000 */
+  0x78, /* 01111000 */
+  0x6c, /* 01101100 */
+  0x66, /* 01100110 */
+  0xe6, /* 11100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 108 0x6c 'l' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 109 0x6d 'm' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xec, /* 11101100 */
+  0xfe, /* 11111110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 110 0x6e 'n' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xdc, /* 11011100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 111 0x6f 'o' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 112 0x70 'p' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xdc, /* 11011100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xf0, /* 11110000 */
+  0x00, /* 00000000 */
+
+  /* 113 0x71 'q' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x7c, /* 01111100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x1e, /* 00011110 */
+  0x00, /* 00000000 */
+
+  /* 114 0x72 'r' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xdc, /* 11011100 */
+  0x76, /* 01110110 */
+  0x66, /* 01100110 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xf0, /* 11110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 115 0x73 's' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0x60, /* 01100000 */
+  0x38, /* 00111000 */
+  0x0c, /* 00001100 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 116 0x74 't' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0xfc, /* 11111100 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x36, /* 00110110 */
+  0x1c, /* 00011100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 117 0x75 'u' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 118 0x76 'v' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 119 0x77 'w' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xd6, /* 11010110 */
+  0xfe, /* 11111110 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 120 0x78 'x' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x38, /* 00111000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 121 0x79 'y' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7e, /* 01111110 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0xf8, /* 11111000 */
+  0x00, /* 00000000 */
+
+  /* 122 0x7a 'z' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xcc, /* 11001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 123 0x7b '{' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x0e, /* 00001110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x70, /* 01110000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x0e, /* 00001110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 124 0x7c '|' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 125 0x7d '}' */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x70, /* 01110000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x0e, /* 00001110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 126 0x7e '~' */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 127 0x7f */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 128 0x80 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0xc2, /* 11000010 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc2, /* 11000010 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 129 0x81 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 130 0x82 */
+  0x00, /* 00000000 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 131 0x83 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 132 0x84 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 133 0x85 */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 134 0x86 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 135 0x87 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x18, /* 00011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 136 0x88 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 137 0x89 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 138 0x8a */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 139 0x8b */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 140 0x8c */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 141 0x8d */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 142 0x8e */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 143 0x8f */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 144 0x90 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x66, /* 01100110 */
+  0x62, /* 01100010 */
+  0x68, /* 01101000 */
+  0x78, /* 01111000 */
+  0x68, /* 01101000 */
+  0x62, /* 01100010 */
+  0x66, /* 01100110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 145 0x91 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xec, /* 11101100 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x7e, /* 01111110 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0x6e, /* 01101110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 146 0x92 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3e, /* 00111110 */
+  0x6c, /* 01101100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xfe, /* 11111110 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xce, /* 11001110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 147 0x93 */
+  0x00, /* 00000000 */
+  0x10, /* 00010000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 148 0x94 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 149 0x95 */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 150 0x96 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x78, /* 01111000 */
+  0xcc, /* 11001100 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 151 0x97 */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 152 0x98 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7e, /* 01111110 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x78, /* 01111000 */
+  0x00, /* 00000000 */
+
+  /* 153 0x99 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 154 0x9a */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 155 0x9b */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 156 0x9c */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x64, /* 01100100 */
+  0x60, /* 01100000 */
+  0xf0, /* 11110000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xe6, /* 11100110 */
+  0xfc, /* 11111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 157 0x9d */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 158 0x9e */
+  0x00, /* 00000000 */
+  0xf8, /* 11111000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xf8, /* 11111000 */
+  0xc4, /* 11000100 */
+  0xcc, /* 11001100 */
+  0xde, /* 11011110 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 159 0x9f */
+  0x00, /* 00000000 */
+  0x0e, /* 00001110 */
+  0x1b, /* 00011011 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xd8, /* 11011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 160 0xa0 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0x0c, /* 00001100 */
+  0x7c, /* 01111100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 161 0xa1 */
+  0x00, /* 00000000 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 162 0xa2 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 163 0xa3 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x00, /* 00000000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 164 0xa4 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x00, /* 00000000 */
+  0xdc, /* 11011100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 165 0xa5 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x00, /* 00000000 */
+  0xc6, /* 11000110 */
+  0xe6, /* 11100110 */
+  0xf6, /* 11110110 */
+  0xfe, /* 11111110 */
+  0xde, /* 11011110 */
+  0xce, /* 11001110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 166 0xa6 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x3e, /* 00111110 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 167 0xa7 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 168 0xa8 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x7c, /* 01111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 169 0xa9 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 170 0xaa */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 171 0xab */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0xe0, /* 11100000 */
+  0x62, /* 01100010 */
+  0x66, /* 01100110 */
+  0x6c, /* 01101100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xdc, /* 11011100 */
+  0x86, /* 10000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x3e, /* 00111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 172 0xac */
+  0x00, /* 00000000 */
+  0x60, /* 01100000 */
+  0xe0, /* 11100000 */
+  0x62, /* 01100010 */
+  0x66, /* 01100110 */
+  0x6c, /* 01101100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x66, /* 01100110 */
+  0xce, /* 11001110 */
+  0x9a, /* 10011010 */
+  0x3f, /* 00111111 */
+  0x06, /* 00000110 */
+  0x06, /* 00000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 173 0xad */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 174 0xae */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x36, /* 00110110 */
+  0x6c, /* 01101100 */
+  0xd8, /* 11011000 */
+  0x6c, /* 01101100 */
+  0x36, /* 00110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 175 0xaf */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xd8, /* 11011000 */
+  0x6c, /* 01101100 */
+  0x36, /* 00110110 */
+  0x6c, /* 01101100 */
+  0xd8, /* 11011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 176 0xb0 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+  0x11, /* 00010001 */
+  0x44, /* 01000100 */
+
+  /* 177 0xb1 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+  0x55, /* 01010101 */
+  0xaa, /* 10101010 */
+
+  /* 178 0xb2 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+  0xdd, /* 11011101 */
+  0x77, /* 01110111 */
+
+  /* 179 0xb3 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 180 0xb4 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 181 0xb5 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 182 0xb6 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xf6, /* 11110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 183 0xb7 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 184 0xb8 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 185 0xb9 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xf6, /* 11110110 */
+  0x06, /* 00000110 */
+  0xf6, /* 11110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 186 0xba */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 187 0xbb */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x06, /* 00000110 */
+  0xf6, /* 11110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 188 0xbc */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xf6, /* 11110110 */
+  0x06, /* 00000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 189 0xbd */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 190 0xbe */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 191 0xbf */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xf8, /* 11111000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 192 0xc0 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 193 0xc1 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 194 0xc2 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 195 0xc3 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 196 0xc4 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 197 0xc5 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xff, /* 11111111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 198 0xc6 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 199 0xc7 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x37, /* 00110111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 200 0xc8 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x37, /* 00110111 */
+  0x30, /* 00110000 */
+  0x3f, /* 00111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 201 0xc9 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3f, /* 00111111 */
+  0x30, /* 00110000 */
+  0x37, /* 00110111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 202 0xca */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xf7, /* 11110111 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 203 0xcb */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0xf7, /* 11110111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 204 0xcc */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x37, /* 00110111 */
+  0x30, /* 00110000 */
+  0x37, /* 00110111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 205 0xcd */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 206 0xce */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xf7, /* 11110111 */
+  0x00, /* 00000000 */
+  0xf7, /* 11110111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 207 0xcf */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 208 0xd0 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 209 0xd1 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 210 0xd2 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 211 0xd3 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x3f, /* 00111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 212 0xd4 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 213 0xd5 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 214 0xd6 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x3f, /* 00111111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 215 0xd7 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0xff, /* 11111111 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+
+  /* 216 0xd8 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xff, /* 11111111 */
+  0x18, /* 00011000 */
+  0xff, /* 11111111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 217 0xd9 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xf8, /* 11111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 218 0xda */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1f, /* 00011111 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 219 0xdb */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+
+  /* 220 0xdc */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+
+  /* 221 0xdd */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+  0xf0, /* 11110000 */
+
+  /* 222 0xde */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+  0x0f, /* 00001111 */
+
+  /* 223 0xdf */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0xff, /* 11111111 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 224 0xe0 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xdc, /* 11011100 */
+  0x76, /* 01110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 225 0xe1 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x78, /* 01111000 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xcc, /* 11001100 */
+  0xd8, /* 11011000 */
+  0xcc, /* 11001100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xcc, /* 11001100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 226 0xe2 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0xc0, /* 11000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 227 0xe3 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 228 0xe4 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 229 0xe5 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 230 0xe6 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x7c, /* 01111100 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0x00, /* 00000000 */
+
+  /* 231 0xe7 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 232 0xe8 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 233 0xe9 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xfe, /* 11111110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 234 0xea */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0xee, /* 11101110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 235 0xeb */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1e, /* 00011110 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x3e, /* 00111110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x66, /* 01100110 */
+  0x3c, /* 00111100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 236 0xec */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0xdb, /* 11011011 */
+  0xdb, /* 11011011 */
+  0xdb, /* 11011011 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 237 0xed */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x03, /* 00000011 */
+  0x06, /* 00000110 */
+  0x7e, /* 01111110 */
+  0xdb, /* 11011011 */
+  0xdb, /* 11011011 */
+  0xf3, /* 11110011 */
+  0x7e, /* 01111110 */
+  0x60, /* 01100000 */
+  0xc0, /* 11000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 238 0xee */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x1c, /* 00011100 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x7c, /* 01111100 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x1c, /* 00011100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 239 0xef */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7c, /* 01111100 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0xc6, /* 11000110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 240 0xf0 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0xfe, /* 11111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 241 0xf1 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x7e, /* 01111110 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 242 0xf2 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x06, /* 00000110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 243 0xf3 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x30, /* 00110000 */
+  0x60, /* 01100000 */
+  0x30, /* 00110000 */
+  0x18, /* 00011000 */
+  0x0c, /* 00001100 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 244 0xf4 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x0e, /* 00001110 */
+  0x1b, /* 00011011 */
+  0x1b, /* 00011011 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+
+  /* 245 0xf5 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0xd8, /* 11011000 */
+  0x70, /* 01110000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 246 0xf6 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 247 0xf7 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x00, /* 00000000 */
+  0x76, /* 01110110 */
+  0xdc, /* 11011100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 248 0xf8 */
+  0x00, /* 00000000 */
+  0x38, /* 00111000 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x38, /* 00111000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 249 0xf9 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 250 0xfa */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x18, /* 00011000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 251 0xfb */
+  0x00, /* 00000000 */
+  0x0f, /* 00001111 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0x0c, /* 00001100 */
+  0xec, /* 11101100 */
+  0x6c, /* 01101100 */
+  0x6c, /* 01101100 */
+  0x3c, /* 00111100 */
+  0x1c, /* 00011100 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 252 0xfc */
+  0x00, /* 00000000 */
+  0x6c, /* 01101100 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x36, /* 00110110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 253 0xfd */
+  0x00, /* 00000000 */
+  0x3c, /* 00111100 */
+  0x66, /* 01100110 */
+  0x0c, /* 00001100 */
+  0x18, /* 00011000 */
+  0x32, /* 00110010 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 254 0xfe */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x7e, /* 01111110 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+  /* 255 0xff */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+  0x00, /* 00000000 */
+
+};
+
+#endif
diff --git a/c/src/lib/libbsp/arm/raspberrypi/console/outch.c b/c/src/lib/libbsp/arm/raspberrypi/console/outch.c
new file mode 100644
index 0000000..0ac5ba0
--- /dev/null
+++ b/c/src/lib/libbsp/arm/raspberrypi/console/outch.c
@@ -0,0 +1,411 @@
+/**
+ * @file
+ *
+ * @ingroup raspberrypi
+ *
+ * @brief displaying characters on the console
+ */
+
+/**
+ *
+ * Copyright (c) 2015 Yang Qiao
+ * based on work by:
+ * Copyright (C) 1998  Eric Valette (valette at crf.canon.fr)
+ *                     Canon Centre Recherche France.
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.org/license/LICENSE.
+ *
+ * Till Straumann <strauman at slac.stanford.edu>, 2003/9:
+ *  - added handling of basic escape sequences (cursor movement
+ *    and erasing; just enough for the line editor 'libtecla' to
+ *    work...)
+ *
+ */
+
+#include <bsp.h>
+#include <bsp/vc.h>
+#include <bsp/rpi-fb.h>
+#include <rtems/fb.h>
+
+#include <stdlib.h>
+#include <string.h>
+#include "font_data.h"
+
+// extern void wr_cursor(int, unsigned short);
+
+#define TAB_SPACE 4
+#define CONSOLE_BG_COL            0x00
+#define CONSOLE_FG_COL            0xa0
+
+static void*   fb_mem = NULL;
+static unsigned short maxCol;
+static unsigned short maxRow;
+static unsigned short bytes_per_pixel;
+static unsigned int   bytes_per_line;
+static unsigned int   bytes_per_char_line;
+static unsigned char  row;
+static unsigned char  column;
+static unsigned int   nLines;
+static uint32_t fgx,bgx,eorx;
+static int rpi_video_initialized;
+
+static const int video_font_draw_table32[16][4] = {
+  {0x00000000, 0x00000000, 0x00000000, 0x00000000},
+  {0x00000000, 0x00000000, 0x00000000, 0x00ffffff},
+  {0x00000000, 0x00000000, 0x00ffffff, 0x00000000},
+  {0x00000000, 0x00000000, 0x00ffffff, 0x00ffffff},
+  {0x00000000, 0x00ffffff, 0x00000000, 0x00000000},
+  {0x00000000, 0x00ffffff, 0x00000000, 0x00ffffff},
+  {0x00000000, 0x00ffffff, 0x00ffffff, 0x00000000},
+  {0x00000000, 0x00ffffff, 0x00ffffff, 0x00ffffff},
+  {0x00ffffff, 0x00000000, 0x00000000, 0x00000000},
+  {0x00ffffff, 0x00000000, 0x00000000, 0x00ffffff},
+  {0x00ffffff, 0x00000000, 0x00ffffff, 0x00000000},
+  {0x00ffffff, 0x00000000, 0x00ffffff, 0x00ffffff},
+  {0x00ffffff, 0x00ffffff, 0x00000000, 0x00000000},
+  {0x00ffffff, 0x00ffffff, 0x00000000, 0x00ffffff},
+  {0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00000000},
+  {0x00ffffff, 0x00ffffff, 0x00ffffff, 0x00ffffff}
+};
+
+static void
+scroll(void)
+{
+  int i, j;           /* Counters */
+  uint8_t *pt_scroll, *pt_bitmap;  /* Pointers on the bit-map  */
+  pt_bitmap = fb_mem;
+  j = 0;
+  pt_bitmap = pt_bitmap + j;
+  pt_scroll = pt_bitmap + bytes_per_char_line;
+
+  for (i = j; i < maxRow-1 ; i++) {
+      memcpy(pt_bitmap, pt_scroll, bytes_per_char_line);
+      pt_bitmap = pt_bitmap + bytes_per_char_line;
+      pt_scroll = pt_bitmap + bytes_per_char_line;
+  }
+
+  /*
+   * Blank characters are displayed on the last line.
+   */
+  memset(pt_bitmap, 0, bytes_per_char_line);
+}
+
+static void
+doCRNL(int cr, int nl)
+{
+  if (nl) {
+    if (++row == maxRow) {
+      scroll();   /* Scroll the screen now */
+      row = maxRow - 1;
+    }
+    nLines++;
+  }
+  if (cr)
+      column = 0;
+    /* Move cursor on the next location  */
+  if (cr || nl)
+      //wr_cursor(row * maxCol + column, ioCrtBaseAddr);
+      ;
+}
+
+int (*videoHook)(char, int *)=0;
+
+static void
+advanceCursor(void)
+{
+  if (++column == maxCol)
+  doCRNL(1,1);
+  else
+  //wr_cursor(row * maxCol + column, ioCrtBaseAddr);
+  ;
+}
+
+static void
+gotorc(int r, int c)
+{
+  column = c;
+  row    = r;
+    // wr_cursor(row * maxCol + column, ioCrtBaseAddr);
+}
+
+static void
+video_drawchars(int r, int c, unsigned char ch)
+{
+  if (fb_mem == NULL)
+  {
+    return;
+  }
+
+  uint8_t *cdat, *dest, *dest0;
+  int rows, offset;
+
+  offset = r * bytes_per_char_line + c * bytes_per_pixel*RPI_FONT_WIDTH;
+  dest0 = fb_mem + offset;
+
+  // case GDF_32BIT_X888RGB:
+  cdat = rpi_font + ch * RPI_FONT_HEIGHT;
+  for (rows = RPI_FONT_HEIGHT, dest = dest0;
+       rows--; dest += bytes_per_line) {
+    uint8_t bits = *cdat++;
+
+    ((uint32_t *) dest)[0] =
+      (video_font_draw_table32
+        [bits >> 4][0] & eorx) ^ bgx;
+    ((uint32_t *) dest)[1] =
+      (video_font_draw_table32
+        [bits >> 4][1] & eorx) ^ bgx;
+    ((uint32_t *) dest)[2] =
+      (video_font_draw_table32
+        [bits >> 4][2] & eorx) ^ bgx;
+    ((uint32_t *) dest)[3] =
+      (video_font_draw_table32
+        [bits >> 4][3] & eorx) ^ bgx;
+
+    ((uint32_t *) dest)[4] =
+      (video_font_draw_table32
+        [bits & 15][0] & eorx) ^ bgx;
+    ((uint32_t *) dest)[5] =
+      (video_font_draw_table32
+        [bits & 15][1] & eorx) ^ bgx;
+    ((uint32_t *) dest)[6] =
+      (video_font_draw_table32
+        [bits & 15][2] & eorx) ^ bgx;
+    ((uint32_t *) dest)[7] =
+      (video_font_draw_table32
+        [bits & 15][3] & eorx) ^ bgx;
+    }
+}
+
+#define ESC   ((char)27)
+/* erase current location without moving the cursor */
+#define BLANK ((char)0x7f)
+
+static void
+videoPutChar(char ch)
+{
+
+    switch (ch) {
+      case '\b': {
+        if (column) column--;
+        /* Move cursor on the previous location  */
+        // wr_cursor(row * maxCol + column, ioCrtBaseAddr);
+        return;
+      }
+      case '\t': {
+          int i;
+
+          i = TAB_SPACE - (column & (TAB_SPACE - 1));
+          column += i;
+          if (column >= maxCol) {
+            doCRNL(1,1);
+            return;
+          }
+          // while (i--) *pt_bitmap++ = ' ' | attribute;
+          // wr_cursor(row * maxCol + column, ioCrtBaseAddr);
+          return;
+      }
+      case '\n': {
+          doCRNL(0,1);
+          return;
+      }
+        case 7:   { /* Bell code must be inserted here */
+          return;
+      }
+      case '\r' : {
+          doCRNL(1,0);
+          return;
+      }
+      case BLANK: {
+          // *pt_bitmap = ' ' | attribute;
+        /* DONT move the cursor... */
+        return;
+      }
+      default: {
+        // *pt_bitmap = (unsigned char)ch | attribute;
+        video_drawchars(row, column, ch);
+        advanceCursor();
+        return;
+     }
+    }
+}
+
+/* trivial state machine to handle escape sequences:
+ *
+ *                    ---------------------------------
+ *                   |                                 |
+ *                   |                                 |
+ * KEY:        esc   V    [          DCABHKJ       esc |
+ * STATE:   0 -----> 27 -----> '[' ----------> -1 -----
+ *          ^\        \          \               \
+ * KEY:     | \other   \ other    \ other         \ other
+ *           <-------------------------------------
+ *
+ * in state '-1', the DCABHKJ cases are handled
+ *
+ * (cursor motion and screen clearing)
+ */
+
+#define DONE  (-1)
+
+static int
+handleEscape(int oldState, char ch)
+{
+int rval = 0;
+int ro,co;
+
+  switch ( oldState ) {
+    case DONE:  /*  means the previous char terminated an ESC sequence... */
+    case 0:
+      if ( 27 == ch ) {
+        rval = 27;   /* START of an ESC sequence */
+      }
+    break;
+
+    case 27:
+      if ( '[' == ch ) {
+        rval = ch;  /* received ESC '[', so far */
+      } else {
+        /* dump suppressed 'ESC'; outch will append the char */
+        videoPutChar(ESC);
+      }
+    break;
+
+    case '[':
+      /* handle 'ESC' '[' sequences here */
+      ro = row; co = column;
+      rval = DONE; /* done */
+
+      switch (ch) {
+        case 'D': /* left */
+          if ( co > 0 )      co--;
+        break;
+        case 'C': /* right */
+          if ( co < maxCol ) co++;
+        break;
+        case 'A': /* up    */
+          if ( ro > 0 )      ro--;
+        break;
+        case 'B': /* down */
+          if ( ro < maxRow ) ro++;
+        break;
+        case 'H': /* home */
+          ro = co = 0;
+        break;
+        case 'K': /* clear to end of line */
+          while ( column < maxCol - 1 )
+                    videoPutChar(' ');
+                videoPutChar(BLANK);
+            break;
+            case 'J': /* clear to end of screen */
+          while (  ((row < maxRow-1) || (column < maxCol-1)) )
+            videoPutChar(' ');
+          videoPutChar(BLANK);
+            break;
+            default:
+                videoPutChar(ESC);
+                videoPutChar('[');
+          /* DONT move the cursor */
+          ro   = -1;
+          rval = 0;
+            break;
+      }
+      // /* reset cursor */
+      if ( ro >= 0)
+        gotorc(ro,co);
+
+    default:
+    break;
+
+  }
+
+  return rval;
+}
+
+static void
+clear_screen(void)
+{
+  int i,j;
+
+  for (j = 0; j < maxRow; j++) {
+    for (i = 0; i < maxCol; i++) {
+      videoPutChar(' ');
+    }
+  }
+  column  = 0;
+  row     = 0;
+}
+
+void
+rpi_fb_outch(char c)
+{
+static int escaped = 0;
+
+  if ( ! (escaped = handleEscape(escaped, c)) ) {
+    if ( '\n' == c )
+      videoPutChar('\r');
+    videoPutChar(c);
+  }
+}
+
+void
+rpi_video_init(void)
+{
+  int ret = raspberrypi_fb_init();
+  if ((ret != RASPBERRYPI_FB_INIT_OK) &&
+      (ret != RASPBERRYPI_FB_INIT_ALREADY_INITIALIZED))
+  {
+    rpi_video_initialized = 0;
+    return;
+  }
+  struct fb_var_screeninfo fb_var_info;
+  struct fb_fix_screeninfo fb_fix_info;
+  raspberrypi_get_var_screen_info(&fb_var_info);
+  raspberrypi_get_fix_screen_info(&fb_fix_info);
+  maxCol = fb_var_info.xres/RPI_FONT_WIDTH;
+  maxRow = fb_var_info.yres/RPI_FONT_HEIGHT;
+  bytes_per_pixel = fb_var_info.bits_per_pixel/8;
+  bytes_per_line = bytes_per_pixel*fb_var_info.xres;
+  bytes_per_char_line  = RPI_FONT_HEIGHT*bytes_per_line;
+  fb_mem  = fb_fix_info.smem_start;
+  column  = 0;
+  row     = 0;
+  nLines  = 0;
+  fgx = (CONSOLE_FG_COL << 24) |
+    (CONSOLE_FG_COL << 16) |
+    (CONSOLE_FG_COL <<  8) |
+    CONSOLE_FG_COL;
+  bgx = (CONSOLE_BG_COL << 24) |
+    (CONSOLE_BG_COL << 16) |
+    (CONSOLE_BG_COL <<  8) |
+    CONSOLE_BG_COL;
+  eorx = fgx ^ bgx;
+  clear_screen();
+  rpi_video_initialized = 1;
+}
+
+int rpi_video_is_initialized(void)
+{
+  return rpi_video_initialized;
+}
+
+/* for old DOS compatibility n-curses type of applications */
+void gotoxy( int x, int y );
+int whereX( void );
+int whereY( void );
+
+void gotoxy( int x, int y )
+{
+  gotorc(y,x);
+}
+
+int whereX( void )
+{
+  return row;
+}
+
+int whereY( void )
+{
+  return column;
+}
diff --git a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h
index c6cd571..67df810 100644
--- a/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h
+++ b/c/src/lib/libbsp/arm/raspberrypi/include/bsp.h
@@ -43,6 +43,10 @@ const char *rpi_cmdline_get_cached(void);
 const char *rpi_cmdline_get_raw(void);
 const char *rpi_cmdline_get_arg(const char* arg);
 
+void  rpi_video_init(void);
+void  rpi_fb_outch  (char);
+int rpi_video_is_initialized(void);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
-- 
1.9.1



More information about the devel mailing list