[PATCH v2 6/7] arm/raspberrypi: add video outchar support for rpi bsp

ppisa4lists at pikron.com ppisa4lists at pikron.com
Sun May 22 00:13:09 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   |  463 ++
 c/src/lib/libbsp/arm/raspberrypi/include/bsp.h     |    4 +
 4 files changed, 5109 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..1c8fb27
--- /dev/null
+++ b/c/src/lib/libbsp/arm/raspberrypi/console/outch.c
@@ -0,0 +1,463 @@
+/**
+ * @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"
+
+static void wr_cursor(
+  int           r,
+  int           c
+)
+{
+  /* dummy function for now */
+}
+
+#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, column );
+  }
+}
+
+static void advanceCursor( void )
+{
+  if ( ++column == maxCol )
+    doCRNL( 1, 1 );
+  else
+    wr_cursor( row, column );
+}
+
+static void gotorc(
+  int r,
+  int c
+)
+{
+  column = c;
+  row = r;
+  wr_cursor( row, column );
+}
+
+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;
+
+  /*
+   * only 32-bit per pixel format is supported for now
+   */
+  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, column );
+      return;
+    }
+    case '\t': {
+      int i;
+
+      i = TAB_SPACE - ( column & ( TAB_SPACE - 1 ) );
+
+      while ( i-- ) {
+
+        video_drawchars( row, column, ' ' );
+        column += 1;
+
+        if ( column >= maxCol ) {
+          doCRNL( 1, 1 );
+          return;
+        }
+      }
+
+      wr_cursor( row, column );
+
+      return;
+    }
+    case '\n': {
+      doCRNL( 0, 1 );
+      return;
+    }
+    case 7:   {     /* Bell code must be inserted here */
+      return;
+    }
+    case '\r': {
+      doCRNL( 1, 0 );
+      return;
+    }
+    case BLANK: {
+      video_drawchars( row, column, ' ' );
+
+      wr_cursor( row, column );
+
+      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 = rpi_fb_init();
+
+  if ( ( ret != RPI_FB_INIT_OK ) &&
+       ( ret != RPI_FB_INIT_ALREADY_INITIALIZED ) ) {
+    rpi_video_initialized = 0;
+    return;
+  }
+
+  struct fb_var_screeninfo fb_var_info;
+  struct fb_fix_screeninfo fb_fix_info;
+  rpi_get_var_screen_info( &fb_var_info );
+  rpi_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