]> code.bitgloo.com Git - clyne/calculator.git/commitdiff
file loading, switching, good!
authorClyne Sullivan <tullivan99@gmail.com>
Sun, 8 Apr 2018 21:29:30 +0000 (17:29 -0400)
committerClyne Sullivan <tullivan99@gmail.com>
Sun, 8 Apr 2018 21:29:30 +0000 (17:29 -0400)
17 files changed:
include/heap.h
include/initrd.h
include/task.h
initrd/boot [deleted file]
initrd/calc [new file with mode: 0644]
initrd/init
initrd/keys
initrd/lines
libinterp.a
src/display_draw.c
src/font.c.bak [new file with mode: 0644]
src/heap.c
src/initrd.c
src/keypad.c
src/main.c
src/script.c
src/task.c

index 593ce095861c59e2197a46e3c6c9282dd20b1789..343e983e7aade39208f3e34f75f899617575945f 100644 (file)
 
 #include <stdint.h>
 
+typedef struct {
+       uint32_t size;
+       void *next;
+} __attribute__ ((packed)) alloc_t;
+
 /**
  * Initializes memory management of the given heap.
  * No overflow stuff is done, so...
index 395706637baa9a7dc40ddebe3971599fd3a8a8d7..47f81c462d4e59efdfc43bf1bbdc779b6bb413e6 100644 (file)
@@ -38,6 +38,7 @@ uint8_t initrd_validate(void);
  * @return the file's name, or zero if not found
  */
 char *initrd_getfile(uint32_t index);
+char *initrd_getname(uint32_t index);
 
 /**
  * Gets contents of the given file.
index 555a470d7f33eb4811c153cbc0361fa53d2c902d..0eb48c090d90a31e5ef897ad21c6305a05595ef0 100644 (file)
@@ -54,4 +54,6 @@ void task_start(void (*task)(void), uint16_t stackSize);
  */
 void task_hold(uint8_t hold);
 
+//int fork(void);
+
 #endif // TASK_H_
diff --git a/initrd/boot b/initrd/boot
deleted file mode 100644 (file)
index 13e5876..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-choice = filemenu
-print("\nChoice: ")
-print(choice)
diff --git a/initrd/calc b/initrd/calc
new file mode 100644 (file)
index 0000000..7359f16
--- /dev/null
@@ -0,0 +1,8 @@
+while (1) {
+       print("> ")
+       input = gets()
+       answer = solve(input)
+       print("\n")
+       print(answer)
+       print("\n")
+}
index 7359f164cbabae0af6d6b4c636d11bafe753f7bf..6c5acace97143e09e8e4ced2205917597c1b69e3 100644 (file)
@@ -1,8 +1,10 @@
 while (1) {
-       print("> ")
-       input = gets()
-       answer = solve(input)
-       print("\n")
-       print(answer)
+       rect(0, 0, 480, 320, 0)
+       ppos(0, 0)
+
+       print("Free mem: ")
+       print(freemem())
        print("\n")
+       choice = filemenu()
+       program(choice)
 }
index 47dbae1f88a7cfd672518c4a6b425ee2aa4de42c..b5b4dfcc2859a1a2727938720a4fee70abfc252f 100644 (file)
@@ -1,8 +1,9 @@
-do
-       getkey > input
-       print input
-       delay 1000
-while (1)
+while (1) {
+       input = getkey()
+       print(input)
+       print("\n")
+       delay(1000)
+}
 
 #do
 #      getkey > input
index f6b2a82241fa206b3304463b3e056db63e1b6d27..8523339b99cb78866922fafcdfb06945da47fbe7 100644 (file)
@@ -26,4 +26,7 @@ while (1) {
        j = 50 + rand(219)
 
        line(x, y, i, j, 511)
+
+       # for exiting
+       getkey()
 }
index bec4e480d2f2349bf22689adf4c2087b4c441692..5b5da09a3d0ffc73319a57032f4b5a978a8522db 100644 (file)
Binary files a/libinterp.a and b/libinterp.a differ
index 7241f83574ada4b9d15b0de782fdf691baf27f19..f02b8a028787af9475a6344f3b34347b4bff9f41 100644 (file)
 #include <task.h>
 #include <clock.h>
 
+#define C_WIDTH  12
+#define C_HEIGHT 16
+#define S_WIDTH  40
+#define S_HEIGHT 20
+
 volatile uint8_t lock = 0;
 #define LOCK while (lock) { delay(5); } task_hold(1); lock = 1
 #define UNLOCK task_hold(0); lock = 0
@@ -33,27 +38,24 @@ static unsigned int curx = 0;
 static unsigned int cury = 0;
 static unsigned int curxo = 0;
 static unsigned int curyo = 0;
-
-//extern const unsigned char inconsolata24[192 * 156 * 2 + 1];
-static unsigned char *inconsolata24;
+static unsigned char *font;
 
 void task_cursor(void)
 {
        while (1) {
-               int x = curxo + curx * 12;
-               int y = curyo + cury * 26;
-               dsp_rect(x, y + 24, 12, 1, 0xFFFF);
+               int x = curxo + curx * C_WIDTH;
+               int y = curyo + cury * C_HEIGHT;
+               dsp_rect(x, y + C_HEIGHT, C_WIDTH, 1, 0xFFFF);
                delay(300);
-               dsp_rect(x, y + 24, 12, 1, 0);
+               dsp_rect(x, y + C_HEIGHT, C_WIDTH, 1, 0);
                delay(300);
        }
 }
 
 void dsp_cursoron(void)
 {
-       inconsolata24 = malloc(192 * 156 * 2);
-       flash_read((char *)inconsolata24, 0, 192 * 156 * 2);
-
+       font = malloc(32 * 256);
+       flash_read((char *)font, 0, 32 * 256);
        task_start(task_cursor, 512);
 }
 
@@ -62,7 +64,7 @@ void dsp_putchar(int c)
        LOCK;
        if (c == '\n') {
                curx = 0;
-               if (++cury == 12) {
+               if (++cury == S_HEIGHT) {
                        UNLOCK;
                        dsp_rect(0, 0, LCD_WIDTH, LCD_HEIGHT, 0);
                        cury = 0;
@@ -73,35 +75,35 @@ void dsp_putchar(int c)
                if (curx > 0)
                        curx--;
                UNLOCK;
-               dsp_rect(curxo + curx * 12, curyo + cury * 26, 12, 26, 0);
+               dsp_rect(curxo + curx * C_WIDTH, curyo + cury * C_HEIGHT,
+                       C_WIDTH, C_HEIGHT, 0);
                return;
        }
 
-       if (c > 0x7F)
-               goto end;
-
-       unsigned int start = ((c - ' ') / 16 * 192 * 26 + (c % 16) * 12) * 2;
-
-       unsigned int x = curxo + curx * 12;
-       unsigned int y = curyo + cury * 26;
-       dsp_set_addr(x, y, x + 11, y + 25);
-       // for each row
-       for (unsigned int i = 0; i < 26; i++) {
-               // for each column
-               for (int j = 12 * 2 - 1; j >= 0; j--)
-                       dsp_write_data(inconsolata24[start + (i * 192 * 2) + j]);
+       unsigned int x = curxo + curx * C_WIDTH;
+       unsigned int y = curyo + cury * C_HEIGHT;
+       dsp_set_addr(x, y, x + C_WIDTH - 1, y + C_HEIGHT - 1);
+
+       uint32_t base = c * 32;
+       for (unsigned int j = 0; j < 16; j++) {
+               uint16_t row = (font[base + j * 2] << 8) | font[base + j * 2 + 1];
+               for (int i = 4; i < 16; i++) {
+                       uint8_t color = (row & (1 << i)) ? 0xFF : 0;
+                       dsp_write_data(color);
+                       dsp_write_data(color);
+               }
        }
 
-       if (++curx == 40) {
+       if (++curx == S_WIDTH) {
                curx = 0;
-               if (++cury == 12) {
+               if (++cury == S_HEIGHT) {
                        UNLOCK;
                        dsp_rect(0, 0, LCD_WIDTH, LCD_HEIGHT, 0);
                        LOCK;
                        cury = 0;
                }
        }
-end:
+
        UNLOCK;
 }
 
diff --git a/src/font.c.bak b/src/font.c.bak
new file mode 100644 (file)
index 0000000..f8c0c57
--- /dev/null
@@ -0,0 +1,5123 @@
+unsigned char FONT[32 * 256] = {
+
+    /*
+     * code=0, hex=0x00, ascii="^@"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=1, hex=0x01, ascii="^A"
+     */
+    0x07,0x00,  /* 000001110000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x20,0x20,  /* 001000000010 */
+    0x20,0x20,  /* 001000000010 */
+    0x4D,0x90,  /* 010011011001 */
+    0x4D,0x90,  /* 010011011001 */
+    0x40,0x10,  /* 010000000001 */
+    0x40,0x10,  /* 010000000001 */
+    0x48,0x90,  /* 010010001001 */
+    0x47,0x10,  /* 010001110001 */
+    0x20,0x20,  /* 001000000010 */
+    0x20,0x20,  /* 001000000010 */
+    0x18,0xC0,  /* 000110001100 */
+    0x07,0x00,  /* 000001110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=2, hex=0x02, ascii="^B"
+     */
+    0x07,0x00,  /* 000001110000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x72,0x70,  /* 011100100111 */
+    0x72,0x70,  /* 011100100111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x77,0x70,  /* 011101110111 */
+    0x78,0xF0,  /* 011110001111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x07,0x00,  /* 000001110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=3, hex=0x03, ascii="^C"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x3D,0xE0,  /* 001111011110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=4, hex=0x04, ascii="^D"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=5, hex=0x05, ascii="^E"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x37,0x60,  /* 001101110110 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x32,0x60,  /* 001100100110 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=6, hex=0x06, ascii="^F"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1A,0xC0,  /* 000110101100 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=7, hex=0x07, ascii="^G"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=8, hex=0x08, ascii="^H"
+     */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xF9,0xF0,  /* 111110011111 */
+    0xF0,0xF0,  /* 111100001111 */
+    0xF0,0xF0,  /* 111100001111 */
+    0xF9,0xF0,  /* 111110011111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+
+    /*
+     * code=9, hex=0x09, ascii="^I"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x09,0x00,  /* 000010010000 */
+    0x10,0x80,  /* 000100001000 */
+    0x10,0x80,  /* 000100001000 */
+    0x10,0x80,  /* 000100001000 */
+    0x10,0x80,  /* 000100001000 */
+    0x09,0x00,  /* 000010010000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=10, hex=0x0A, ascii="^J"
+     */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xF9,0xF0,  /* 111110011111 */
+    0xF6,0xF0,  /* 111101101111 */
+    0xEF,0x70,  /* 111011110111 */
+    0xEF,0x70,  /* 111011110111 */
+    0xEF,0x70,  /* 111011110111 */
+    0xEF,0x70,  /* 111011110111 */
+    0xF6,0xF0,  /* 111101101111 */
+    0xF9,0xF0,  /* 111110011111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+
+    /*
+     * code=11, hex=0x0B, ascii="^K"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x01,0xE0,  /* 000000011110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1E,0xA0,  /* 000111101010 */
+    0x33,0x20,  /* 001100110010 */
+    0x61,0x80,  /* 011000011000 */
+    0x61,0x80,  /* 011000011000 */
+    0x61,0x80,  /* 011000011000 */
+    0x33,0x00,  /* 001100110000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=12, hex=0x0C, ascii="^L"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x80,  /* 000001111000 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x18,0x60,  /* 000110000110 */
+    0x18,0x60,  /* 000110000110 */
+    0x18,0x60,  /* 000110000110 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x07,0x80,  /* 000001111000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=13, hex=0x0D, ascii="^M"
+     */
+    0x02,0x00,  /* 000000100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0xC0,  /* 000000111100 */
+    0x02,0xC0,  /* 000000101100 */
+    0x02,0xC0,  /* 000000101100 */
+    0x02,0x80,  /* 000000101000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=14, hex=0x0E, ascii="^N"
+     */
+    0x0C,0x00,  /* 000011000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0B,0x00,  /* 000010110000 */
+    0x09,0x80,  /* 000010011000 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x0E,0x40,  /* 000011100100 */
+    0x0B,0x40,  /* 000010110100 */
+    0x09,0xC0,  /* 000010011100 */
+    0x38,0xC0,  /* 001110001100 */
+    0x78,0x40,  /* 011110000100 */
+    0x78,0x40,  /* 011110000100 */
+    0x31,0xC0,  /* 001100011100 */
+    0x03,0xC0,  /* 000000111100 */
+    0x03,0xC0,  /* 000000111100 */
+    0x01,0x80,  /* 000000011000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=15, hex=0x0F, ascii="^O"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x27,0x20,  /* 001001110010 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x18,0xC0,  /* 000110001100 */
+    0x30,0x60,  /* 001100000110 */
+    0x70,0x70,  /* 011100000111 */
+    0x30,0x60,  /* 001100000110 */
+    0x18,0xC0,  /* 000110001100 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x27,0x20,  /* 001001110010 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=16, hex=0x10, ascii="^P"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x10,0x00,  /* 000100000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x10,0x00,  /* 000100000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=17, hex=0x11, ascii="^Q"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x80,  /* 000000001000 */
+    0x01,0x80,  /* 000000011000 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x80,  /* 000001111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x80,  /* 000001111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0x80,  /* 000000011000 */
+    0x00,0x80,  /* 000000001000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=18, hex=0x12, ascii="^R"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=19, hex=0x13, ascii="^S"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=20, hex=0x14, ascii="^T"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x36,0xC0,  /* 001101101100 */
+    0x66,0xC0,  /* 011001101100 */
+    0x66,0xC0,  /* 011001101100 */
+    0x66,0xC0,  /* 011001101100 */
+    0x36,0xC0,  /* 001101101100 */
+    0x1E,0xC0,  /* 000111101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=21, hex=0x15, ascii="^U"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=22, hex=0x16, ascii="^V"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=23, hex=0x17, ascii="^W"
+     */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=24, hex=0x18, ascii="^X"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=25, hex=0x19, ascii="^Y"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x02,0x00,  /* 000000100000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=26, hex=0x1A, ascii="^Z"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x01,0x00,  /* 000000010000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0xC0,  /* 000000011100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x00,  /* 000000010000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=27, hex=0x1B, ascii="^["
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x04,0x00,  /* 000001000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x04,0x00,  /* 000001000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=28, hex=0x1C, ascii="^\"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=29, hex=0x1D, ascii="^]"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x08,0x80,  /* 000010001000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x38,0xE0,  /* 001110001110 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x38,0xE0,  /* 001110001110 */
+    0x18,0xC0,  /* 000110001100 */
+    0x08,0x80,  /* 000010001000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=30, hex=0x1E, ascii="^^"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=31, hex=0x1F, ascii="^_"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=32, hex=0x20, ascii=" "
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=33, hex=0x21, ascii="!"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=34, hex=0x22, ascii="""
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=35, hex=0x23, ascii="#"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x60,  /* 000001100110 */
+    0x06,0x60,  /* 000001100110 */
+    0x06,0x60,  /* 000001100110 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x33,0x00,  /* 001100110000 */
+    0x33,0x00,  /* 001100110000 */
+    0x33,0x00,  /* 001100110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=36, hex=0x24, ascii="$"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=37, hex=0x25, ascii="%"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x10,  /* 000000000001 */
+    0x38,0x30,  /* 001110000011 */
+    0x38,0x70,  /* 001110000111 */
+    0x38,0xE0,  /* 001110001110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0xE0,  /* 001110001110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=38, hex=0x26, ascii="&"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0D,0x80,  /* 000011011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x1B,0x00,  /* 000110110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x33,0x60,  /* 001100110110 */
+    0x33,0xC0,  /* 001100111100 */
+    0x31,0x80,  /* 001100011000 */
+    0x3B,0xC0,  /* 001110111100 */
+    0x1E,0x60,  /* 000111100110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=39, hex=0x27, ascii="'"
+     */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=40, hex=0x28, ascii="("
+     */
+    0x03,0x80,  /* 000000111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x80,  /* 000000111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=41, hex=0x29, ascii=")"
+     */
+    0x1C,0x00,  /* 000111000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x00,  /* 000000110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=42, hex=0x2A, ascii="*"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x36,0xC0,  /* 001101101100 */
+    0x36,0xC0,  /* 001101101100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x36,0xC0,  /* 001101101100 */
+    0x36,0xC0,  /* 001101101100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=43, hex=0x2B, ascii="+"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=44, hex=0x2C, ascii=","
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+
+    /*
+     * code=45, hex=0x2D, ascii="-"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=46, hex=0x2E, ascii="."
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=47, hex=0x2F, ascii="/"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x10,  /* 000000000001 */
+    0x00,0x30,  /* 000000000011 */
+    0x00,0x70,  /* 000000000111 */
+    0x00,0xE0,  /* 000000001110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=48, hex=0x30, ascii="0"
+     */
+    0x0F,0x80,  /* 000011111000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x30,0x60,  /* 001100000110 */
+    0x60,0x70,  /* 011000000111 */
+    0x60,0xF0,  /* 011000001111 */
+    0x61,0xB0,  /* 011000011011 */
+    0x63,0x30,  /* 011000110011 */
+    0x66,0x30,  /* 011001100011 */
+    0x6C,0x30,  /* 011011000011 */
+    0x78,0x30,  /* 011110000011 */
+    0x70,0x30,  /* 011100000011 */
+    0x30,0x60,  /* 001100000110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x0F,0x80,  /* 000011111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=49, hex=0x31, ascii="1"
+     */
+    0x03,0x00,  /* 000000110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=50, hex=0x32, ascii="2"
+     */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x60,0x70,  /* 011000000111 */
+    0x00,0xE0,  /* 000000001110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=51, hex=0x33, ascii="3"
+     */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x00,0x30,  /* 000000000011 */
+    0x00,0x70,  /* 000000000111 */
+    0x0F,0xE0,  /* 000011111110 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x30,  /* 000000000011 */
+    0x60,0x30,  /* 011000000011 */
+    0x70,0x70,  /* 011100000111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=52, hex=0x34, ascii="4"
+     */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0xC0,  /* 000000111100 */
+    0x07,0xC0,  /* 000001111100 */
+    0x0E,0xC0,  /* 000011101100 */
+    0x1C,0xC0,  /* 000111001100 */
+    0x38,0xC0,  /* 001110001100 */
+    0x70,0xC0,  /* 011100001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=53, hex=0x35, ascii="5"
+     */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x70,  /* 000000000111 */
+    0x00,0x30,  /* 000000000011 */
+    0x00,0x30,  /* 000000000011 */
+    0x60,0x30,  /* 011000000011 */
+    0x70,0x70,  /* 011100000111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=54, hex=0x36, ascii="6"
+     */
+    0x03,0xC0,  /* 000000111100 */
+    0x07,0xC0,  /* 000001111100 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x60,0x30,  /* 011000000011 */
+    0x70,0x70,  /* 011100000111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=55, hex=0x37, ascii="7"
+     */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=56, hex=0x38, ascii="8"
+     */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x38,0xE0,  /* 001110001110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x38,0xE0,  /* 001110001110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x60,0x30,  /* 011000000011 */
+    0x70,0x70,  /* 011100000111 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=57, hex=0x39, ascii="9"
+     */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x60,0x30,  /* 011000000011 */
+    0x70,0x70,  /* 011100000111 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x1F,0xF0,  /* 000111111111 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0xE0,  /* 000000001110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=58, hex=0x3A, ascii=":"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=59, hex=0x3B, ascii=";"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+
+    /*
+     * code=60, hex=0x3C, ascii="<"
+     */
+    0x00,0xC0,  /* 000000001100 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0xC0,  /* 000000011100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=61, hex=0x3D, ascii="="
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=62, hex=0x3E, ascii=">"
+     */
+    0x30,0x00,  /* 001100000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0xC0,  /* 000000011100 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=63, hex=0x3F, ascii="?"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=64, hex=0x40, ascii="@"
+     */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x30,0x60,  /* 001100000110 */
+    0x67,0xB0,  /* 011001111011 */
+    0x6F,0xB0,  /* 011011111011 */
+    0x6D,0xB0,  /* 011011011011 */
+    0x6D,0xB0,  /* 011011011011 */
+    0x6D,0xB0,  /* 011011011011 */
+    0x6D,0xB0,  /* 011011011011 */
+    0x6F,0xE0,  /* 011011111110 */
+    0x67,0xC0,  /* 011001111100 */
+    0x70,0x00,  /* 011100000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=65, hex=0x41, ascii="A"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=66, hex=0x42, ascii="B"
+     */
+    0x7F,0x00,  /* 011111110000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x61,0xC0,  /* 011000011100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x61,0xC0,  /* 011000011100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=67, hex=0x43, ascii="C"
+     */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x38,0xE0,  /* 001110001110 */
+    0x30,0x60,  /* 001100000110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x30,0x60,  /* 001100000110 */
+    0x38,0xE0,  /* 001110001110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=68, hex=0x44, ascii="D"
+     */
+    0x7F,0x00,  /* 011111110000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x61,0xC0,  /* 011000011100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xC0,  /* 011000001100 */
+    0x61,0xC0,  /* 011000011100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=69, hex=0x45, ascii="E"
+     */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=70, hex=0x46, ascii="F"
+     */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=71, hex=0x47, ascii="G"
+     */
+    0x0F,0xC0,  /* 000011111100 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x38,0x60,  /* 001110000110 */
+    0x30,0x00,  /* 001100000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x63,0xE0,  /* 011000111110 */
+    0x63,0xE0,  /* 011000111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x38,0x60,  /* 001110000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x0F,0xE0,  /* 000011111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=72, hex=0x48, ascii="H"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=73, hex=0x49, ascii="I"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=74, hex=0x4A, ascii="J"
+     */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xC0,  /* 011100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=75, hex=0x4B, ascii="K"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x61,0xC0,  /* 011000011100 */
+    0x63,0x80,  /* 011000111000 */
+    0x67,0x00,  /* 011001110000 */
+    0x6E,0x00,  /* 011011100000 */
+    0x7C,0x00,  /* 011111000000 */
+    0x7C,0x00,  /* 011111000000 */
+    0x6E,0x00,  /* 011011100000 */
+    0x67,0x00,  /* 011001110000 */
+    0x63,0x80,  /* 011000111000 */
+    0x61,0xC0,  /* 011000011100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=76, hex=0x4C, ascii="L"
+     */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=77, hex=0x4D, ascii="M"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x79,0xE0,  /* 011110011110 */
+    0x79,0xE0,  /* 011110011110 */
+    0x6F,0x60,  /* 011011110110 */
+    0x6F,0x60,  /* 011011110110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=78, hex=0x4E, ascii="N"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0x60,  /* 011100000110 */
+    0x70,0x60,  /* 011100000110 */
+    0x78,0x60,  /* 011110000110 */
+    0x6C,0x60,  /* 011011000110 */
+    0x6C,0x60,  /* 011011000110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x63,0x60,  /* 011000110110 */
+    0x63,0x60,  /* 011000110110 */
+    0x61,0xE0,  /* 011000011110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=79, hex=0x4F, ascii="O"
+     */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x39,0xC0,  /* 001110011100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x39,0xC0,  /* 001110011100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=80, hex=0x50, ascii="P"
+     */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=81, hex=0x51, ascii="Q"
+     */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x39,0xC0,  /* 001110011100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x63,0x60,  /* 011000110110 */
+    0x33,0xC0,  /* 001100111100 */
+    0x39,0xC0,  /* 001110011100 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x0F,0x60,  /* 000011110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=82, hex=0x52, ascii="R"
+     */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x67,0x00,  /* 011001110000 */
+    0x63,0x80,  /* 011000111000 */
+    0x61,0xC0,  /* 011000011100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=83, hex=0x53, ascii="S"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x00,0xE0,  /* 000000001110 */
+    0x00,0x60,  /* 000000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=84, hex=0x54, ascii="T"
+     */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=85, hex=0x55, ascii="U"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=86, hex=0x56, ascii="V"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=87, hex=0x57, ascii="W"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x6F,0x60,  /* 011011110110 */
+    0x79,0xE0,  /* 011110011110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=88, hex=0x58, ascii="X"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=89, hex=0x59, ascii="Y"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=90, hex=0x5A, ascii="Z"
+     */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x01,0x80,  /* 000000011000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=91, hex=0x5B, ascii="["
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=92, hex=0x5C, ascii="\"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x40,0x00,  /* 010000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0xC0,  /* 000000011100 */
+    0x00,0xE0,  /* 000000001110 */
+    0x00,0x70,  /* 000000000111 */
+    0x00,0x30,  /* 000000000011 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=93, hex=0x5D, ascii="]"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=94, hex=0x5E, ascii="^"
+     */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1D,0xC0,  /* 000111011100 */
+    0x38,0xE0,  /* 001110001110 */
+    0x70,0x70,  /* 011100000111 */
+    0x60,0x30,  /* 011000000011 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=95, hex=0x5F, ascii="_"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+
+    /*
+     * code=96, hex=0x60, ascii="`"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x00,  /* 000001110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=97, hex=0x61, ascii="a"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=98, hex=0x62, ascii="b"
+     */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x6F,0x80,  /* 011011111000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=99, hex=0x63, ascii="c"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0x60,  /* 011100000110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=100, hex=0x64, ascii="d"
+     */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x71,0xE0,  /* 011100011110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0x60,  /* 011100000110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=101, hex=0x65, ascii="e"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=102, hex=0x66, ascii="f"
+     */
+    0x07,0x80,  /* 000001111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=103, hex=0x67, ascii="g"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x60,  /* 011100000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0xE0,  /* 000000001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0x80,  /* 001111111000 */
+
+    /*
+     * code=104, hex=0x68, ascii="h"
+     */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x6F,0x00,  /* 011011110000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x71,0xC0,  /* 011100011100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=105, hex=0x69, ascii="i"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=106, hex=0x6A, ascii="j"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+
+    /*
+     * code=107, hex=0x6B, ascii="k"
+     */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x31,0x80,  /* 001100011000 */
+    0x33,0x80,  /* 001100111000 */
+    0x37,0x00,  /* 001101110000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x37,0x00,  /* 001101110000 */
+    0x33,0x80,  /* 001100111000 */
+    0x31,0xC0,  /* 001100011100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=108, hex=0x6C, ascii="l"
+     */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=109, hex=0x6D, ascii="m"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x59,0x80,  /* 010110011000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=110, hex=0x6E, ascii="n"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x30,0xE0,  /* 001100001110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=111, hex=0x6F, ascii="o"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=112, hex=0x70, ascii="p"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x6F,0x80,  /* 011011111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+
+    /*
+     * code=113, hex=0x71, ascii="q"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x70,0x60,  /* 011100000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+
+    /*
+     * code=114, hex=0x72, ascii="r"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x37,0xC0,  /* 001101111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x38,0x60,  /* 001110000110 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=115, hex=0x73, ascii="s"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0x00,  /* 001111110000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0x80,  /* 000000011000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x3F,0x00,  /* 001111110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=116, hex=0x74, ascii="t"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=117, hex=0x75, ascii="u"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=118, hex=0x76, ascii="v"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=119, hex=0x77, ascii="w"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x66,0x60,  /* 011001100110 */
+    0x6F,0x60,  /* 011011110110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x39,0xC0,  /* 001110011100 */
+    0x10,0x80,  /* 000100001000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=120, hex=0x78, ascii="x"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0xC0,  /* 011000001100 */
+    0x71,0xC0,  /* 011100011100 */
+    0x3B,0x80,  /* 001110111000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x3B,0x80,  /* 001110111000 */
+    0x71,0xC0,  /* 011100011100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=121, hex=0x79, ascii="y"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x18,0x00,  /* 000110000000 */
+
+    /*
+     * code=122, hex=0x7A, ascii="z"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0x80,  /* 011111111000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=123, hex=0x7B, ascii="{"
+     */
+    0x03,0xC0,  /* 000000111100 */
+    0x07,0xC0,  /* 000001111100 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0xC0,  /* 000001111100 */
+    0x03,0xC0,  /* 000000111100 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=124, hex=0x7C, ascii="|"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=125, hex=0x7D, ascii="}"
+     */
+    0x3C,0x00,  /* 001111000000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0x80,  /* 000000111000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x3C,0x00,  /* 001111000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=126, hex=0x7E, ascii="~"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1C,0x60,  /* 000111000110 */
+    0x36,0xC0,  /* 001101101100 */
+    0x63,0x80,  /* 011000111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=127, hex=0x7F, ascii="^?"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=128, hex=0x80, ascii="!^@"
+     */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x38,0xE0,  /* 001110001110 */
+    0x30,0x60,  /* 001100000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x30,0x60,  /* 001100000110 */
+    0x38,0xE0,  /* 001110001110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x1E,0x00,  /* 000111100000 */
+
+    /*
+     * code=129, hex=0x81, ascii="!^A"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=130, hex=0x82, ascii="!^B"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x01,0x80,  /* 000000011000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=131, hex=0x83, ascii="!^C"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=132, hex=0x84, ascii="!^D"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=133, hex=0x85, ascii="!^E"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=134, hex=0x86, ascii="!^F"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x09,0x00,  /* 000010010000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=135, hex=0x87, ascii="!^G"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1E,0x00,  /* 000111100000 */
+
+    /*
+     * code=136, hex=0x88, ascii="!^H"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=137, hex=0x89, ascii="!^I"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=138, hex=0x8A, ascii="!^J"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0x60,  /* 011100000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=139, hex=0x8B, ascii="!^K"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1B,0x00,  /* 000110110000 */
+    0x1B,0x00,  /* 000110110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=140, hex=0x8C, ascii="!^L"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=141, hex=0x8D, ascii="!^M"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=142, hex=0x8E, ascii="!^N"
+     */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=143, hex=0x8F, ascii="!^O"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x09,0x00,  /* 000010010000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=144, hex=0x90, ascii="!^P"
+     */
+    0x01,0x80,  /* 000000011000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x7F,0x80,  /* 011111111000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=145, hex=0x91, ascii="!^Q"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3D,0xC0,  /* 001111011100 */
+    0x66,0x60,  /* 011001100110 */
+    0x06,0x60,  /* 000001100110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x66,0x00,  /* 011001100000 */
+    0x66,0x00,  /* 011001100000 */
+    0x66,0x60,  /* 011001100110 */
+    0x3B,0xC0,  /* 001110111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=146, hex=0x92, ascii="!^R"
+     */
+    0x07,0xE0,  /* 000001111110 */
+    0x07,0xE0,  /* 000001111110 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x1B,0x00,  /* 000110110000 */
+    0x1B,0xC0,  /* 000110111100 */
+    0x33,0xC0,  /* 001100111100 */
+    0x33,0x00,  /* 001100110000 */
+    0x3F,0x00,  /* 001111110000 */
+    0x7F,0x00,  /* 011111110000 */
+    0x63,0x00,  /* 011000110000 */
+    0x63,0xE0,  /* 011000111110 */
+    0x63,0xE0,  /* 011000111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=147, hex=0x93, ascii="!^S"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=148, hex=0x94, ascii="!^T"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=149, hex=0x95, ascii="!^U"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=150, hex=0x96, ascii="!^V"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=151, hex=0x97, ascii="!^W"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=152, hex=0x98, ascii="!^X"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x3C,0x00,  /* 001111000000 */
+
+    /*
+     * code=153, hex=0x99, ascii="!^Y"
+     */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=154, hex=0x9A, ascii="!^Z"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=155, hex=0x9B, ascii="!^["
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3E,0xC0,  /* 001111101100 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x3E,0xC0,  /* 001111101100 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=156, hex=0x9C, ascii="!^\"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x80,  /* 000001111000 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x0C,0xC0,  /* 000011001100 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3B,0xC0,  /* 001110111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=157, hex=0x9D, ascii="!^]"
+     */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x06,0x00,  /* 000001100000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=158, hex=0x9E, ascii="!^^"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7C,0x00,  /* 011111000000 */
+    0x66,0x00,  /* 011001100000 */
+    0x66,0x00,  /* 011001100000 */
+    0x66,0x00,  /* 011001100000 */
+    0x7D,0x80,  /* 011111011000 */
+    0x61,0x80,  /* 011000011000 */
+    0x63,0xE0,  /* 011000111110 */
+    0x61,0x80,  /* 011000011000 */
+    0x61,0x80,  /* 011000011000 */
+    0x61,0x80,  /* 011000011000 */
+    0x60,0xE0,  /* 011000001110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=159, hex=0x9F, ascii="!^_"
+     */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0xC0,  /* 000001111100 */
+    0x06,0xC0,  /* 000001101100 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=160, hex=0xA0, ascii="! "
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=161, hex=0xA1, ascii="!!"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=162, hex=0xA2, ascii="!""
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=163, hex=0xA3, ascii="!#"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0x00,  /* 000000110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x1F,0x60,  /* 000111110110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=164, hex=0xA4, ascii="!$"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0xC0,  /* 000011101100 */
+    0x1B,0x80,  /* 000110111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x30,0xE0,  /* 001100001110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=165, hex=0xA5, ascii="!%"
+     */
+    0x0E,0xC0,  /* 000011101100 */
+    0x1B,0x80,  /* 000110111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0x60,  /* 011100000110 */
+    0x78,0x60,  /* 011110000110 */
+    0x7C,0x60,  /* 011111000110 */
+    0x6E,0x60,  /* 011011100110 */
+    0x67,0x60,  /* 011001110110 */
+    0x63,0xE0,  /* 011000111110 */
+    0x61,0xE0,  /* 011000011110 */
+    0x60,0xE0,  /* 011000001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=166, hex=0xA6, ascii="!&"
+     */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x60,0x60,  /* 011000000110 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=167, hex=0xA7, ascii="!'"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xE0,  /* 011100001110 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=168, hex=0xA8, ascii="!("
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x00,  /* 001110000000 */
+    0x70,0x60,  /* 011100000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=169, hex=0xA9, ascii="!)"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x7F,0xF0,  /* 011111111111 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=170, hex=0xAA, ascii="!*"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xE0,  /* 111111111110 */
+    0xFF,0xE0,  /* 111111111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=171, hex=0xAB, ascii="!+"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x31,0x80,  /* 001100011000 */
+    0x7B,0x00,  /* 011110110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0D,0xC0,  /* 000011011100 */
+    0x18,0x60,  /* 000110000110 */
+    0x30,0xC0,  /* 001100001100 */
+    0x01,0x80,  /* 000000011000 */
+    0x01,0xE0,  /* 000000011110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=172, hex=0xAC, ascii="!,"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x70,0x00,  /* 011100000000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x31,0x80,  /* 001100011000 */
+    0x7B,0x00,  /* 011110110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0D,0x60,  /* 000011010110 */
+    0x1B,0x60,  /* 000110110110 */
+    0x33,0xE0,  /* 001100111110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=173, hex=0xAD, ascii="!-"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=174, hex=0xAE, ascii="!."
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x31,0x80,  /* 001100011000 */
+    0x63,0x00,  /* 011000110000 */
+    0x31,0x80,  /* 001100011000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=175, hex=0xAF, ascii="!/"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x63,0x00,  /* 011000110000 */
+    0x31,0x80,  /* 001100011000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x31,0x80,  /* 001100011000 */
+    0x63,0x00,  /* 011000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=176, hex=0xB0, ascii="!0"
+     */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+    0x88,0x80,  /* 100010001000 */
+    0x22,0x20,  /* 001000100010 */
+
+    /*
+     * code=177, hex=0xB1, ascii="!1"
+     */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+    0x55,0x50,  /* 010101010101 */
+    0xAA,0xA0,  /* 101010101010 */
+
+    /*
+     * code=178, hex=0xB2, ascii="!2"
+     */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+    0x77,0x70,  /* 011101110111 */
+    0xDD,0xD0,  /* 110111011101 */
+
+    /*
+     * code=179, hex=0xB3, ascii="!3"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=180, hex=0xB4, ascii="!4"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=181, hex=0xB5, ascii="!5"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=182, hex=0xB6, ascii="!6"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=183, hex=0xB7, ascii="!7"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=184, hex=0xB8, ascii="!8"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=185, hex=0xB9, ascii="!9"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=186, hex=0xBA, ascii="!:"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=187, hex=0xBB, ascii="!;"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=188, hex=0xBC, ascii="!<"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0xF6,0x00,  /* 111101100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=189, hex=0xBD, ascii="!="
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=190, hex=0xBE, ascii="!>"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=191, hex=0xBF, ascii="!?"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=192, hex=0xC0, ascii="!@"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=193, hex=0xC1, ascii="!A"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=194, hex=0xC2, ascii="!B"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=195, hex=0xC3, ascii="!C"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=196, hex=0xC4, ascii="!D"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=197, hex=0xC5, ascii="!E"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=198, hex=0xC6, ascii="!F"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=199, hex=0xC7, ascii="!G"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x37,0xF0,  /* 001101111111 */
+    0x37,0xF0,  /* 001101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=200, hex=0xC8, ascii="!H"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x37,0xF0,  /* 001101111111 */
+    0x37,0xF0,  /* 001101111111 */
+    0x30,0x00,  /* 001100000000 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=201, hex=0xC9, ascii="!I"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x30,0x00,  /* 001100000000 */
+    0x37,0xF0,  /* 001101111111 */
+    0x37,0xF0,  /* 001101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=202, hex=0xCA, ascii="!J"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF7,0xF0,  /* 111101111111 */
+    0xF7,0xF0,  /* 111101111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=203, hex=0xCB, ascii="!K"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xF7,0xF0,  /* 111101111111 */
+    0xF7,0xF0,  /* 111101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=204, hex=0xCC, ascii="!L"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x37,0xF0,  /* 001101111111 */
+    0x37,0xF0,  /* 001101111111 */
+    0x30,0x00,  /* 001100000000 */
+    0x37,0xF0,  /* 001101111111 */
+    0x37,0xF0,  /* 001101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=205, hex=0xCD, ascii="!M"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=206, hex=0xCE, ascii="!N"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF7,0xF0,  /* 111101111111 */
+    0xF7,0xF0,  /* 111101111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xF7,0xF0,  /* 111101111111 */
+    0xF7,0xF0,  /* 111101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=207, hex=0xCF, ascii="!O"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=208, hex=0xD0, ascii="!P"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=209, hex=0xD1, ascii="!Q"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=210, hex=0xD2, ascii="!R"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=211, hex=0xD3, ascii="!S"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=212, hex=0xD4, ascii="!T"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=213, hex=0xD5, ascii="!U"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=214, hex=0xD6, ascii="!V"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=215, hex=0xD7, ascii="!W"
+     */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0xF7,0xF0,  /* 111101111111 */
+    0xF7,0xF0,  /* 111101111111 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+
+    /*
+     * code=216, hex=0xD8, ascii="!X"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=217, hex=0xD9, ascii="!Y"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0xFE,0x00,  /* 111111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=218, hex=0xDA, ascii="!Z"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0xF0,  /* 000001111111 */
+    0x07,0xF0,  /* 000001111111 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=219, hex=0xDB, ascii="!["
+     */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+
+    /*
+     * code=220, hex=0xDC, ascii="!\"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+
+    /*
+     * code=221, hex=0xDD, ascii="!]"
+     */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+    0xFC,0x00,  /* 111111000000 */
+
+    /*
+     * code=222, hex=0xDE, ascii="!^"
+     */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+
+    /*
+     * code=223, hex=0xDF, ascii="!_"
+     */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0xFF,0xF0,  /* 111111111111 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=224, hex=0xE0, ascii="!`"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0C,0x40,  /* 000011000100 */
+    0x1E,0xC0,  /* 000111101100 */
+    0x33,0x80,  /* 001100111000 */
+    0x21,0x00,  /* 001000010000 */
+    0x33,0x80,  /* 001100111000 */
+    0x1E,0xC0,  /* 000111101100 */
+    0x0C,0x40,  /* 000011000100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=225, hex=0xE1, ascii="!a"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x19,0x80,  /* 000110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0x80,  /* 001111111000 */
+    0x31,0xC0,  /* 001100011100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x31,0xC0,  /* 001100011100 */
+    0x3F,0x80,  /* 001111111000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+
+    /*
+     * code=226, hex=0xE2, ascii="!b"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=227, hex=0xE3, ascii="!c"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xF0,  /* 001111111111 */
+    0x7F,0xE0,  /* 011111111110 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=228, hex=0xE4, ascii="!d"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x38,0x60,  /* 001110000110 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x80,  /* 000000111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x38,0x60,  /* 001110000110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=229, hex=0xE5, ascii="!e"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0xE0,  /* 000111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x71,0x80,  /* 011100011000 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x71,0xC0,  /* 011100011100 */
+    0x3F,0x80,  /* 001111111000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=230, hex=0xE6, ascii="!f"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x60,0xC0,  /* 011000001100 */
+    0x71,0xC0,  /* 011100011100 */
+    0x7F,0xC0,  /* 011111111100 */
+    0x7E,0xC0,  /* 011111101100 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+    0x60,0x00,  /* 011000000000 */
+
+    /*
+     * code=231, hex=0xE7, ascii="!g"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x18,0x60,  /* 000110000110 */
+    0x3C,0xE0,  /* 001111001110 */
+    0x37,0x80,  /* 001101111000 */
+    0x07,0x00,  /* 000001110000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x0C,0x00,  /* 000011000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=232, hex=0xE8, ascii="!h"
+     */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x70,0xC0,  /* 011100001100 */
+    0x60,0x60,  /* 011000000110 */
+    0x60,0x60,  /* 011000000110 */
+    0x70,0xE0,  /* 011100001110 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=233, hex=0xE9, ascii="!i"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x39,0x80,  /* 001110011000 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x30,0xC0,  /* 001100001100 */
+    0x39,0xC0,  /* 001110011100 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=234, hex=0xEA, ascii="!j"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x18,0xC0,  /* 000110001100 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x30,0x60,  /* 001100000110 */
+    0x18,0xC0,  /* 000110001100 */
+    0x0D,0x80,  /* 000011011000 */
+    0x0D,0x80,  /* 000011011000 */
+    0x3D,0xE0,  /* 001111011110 */
+    0x38,0xE0,  /* 001110001110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=235, hex=0xEB, ascii="!k"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x18,0x80,  /* 000110001000 */
+    0x18,0x00,  /* 000110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x0F,0x80,  /* 000011111000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=236, hex=0xEC, ascii="!l"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x39,0xC0,  /* 001110011100 */
+    0x6F,0x60,  /* 011011110110 */
+    0x66,0x60,  /* 011001100110 */
+    0x6F,0x60,  /* 011011110110 */
+    0x39,0xC0,  /* 001110011100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=237, hex=0xED, ascii="!m"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0xC0,  /* 000000001100 */
+    0x00,0xC0,  /* 000000001100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x3B,0xC0,  /* 001110111100 */
+    0x33,0x60,  /* 001100110110 */
+    0x36,0x60,  /* 001101100110 */
+    0x3E,0xE0,  /* 001111101110 */
+    0x1F,0xC0,  /* 000111111100 */
+    0x0F,0x80,  /* 000011111000 */
+    0x18,0x00,  /* 000110000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=238, hex=0xEE, ascii="!n"
+     */
+    0x03,0xC0,  /* 000000111100 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x1C,0x00,  /* 000111000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x3F,0x80,  /* 001111111000 */
+    0x30,0x00,  /* 001100000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x0F,0xC0,  /* 000011111100 */
+    0x03,0xC0,  /* 000000111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=239, hex=0xEF, ascii="!o"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x0E,0x00,  /* 000011100000 */
+    0x1F,0x00,  /* 000111110000 */
+    0x3B,0x80,  /* 001110111000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x31,0x80,  /* 001100011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=240, hex=0xF0, ascii="!p"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=241, hex=0xF1, ascii="!q"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=242, hex=0xF2, ascii="!r"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x3C,0x00,  /* 001111000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x03,0xC0,  /* 000000111100 */
+    0x00,0xE0,  /* 000000001110 */
+    0x00,0xE0,  /* 000000001110 */
+    0x03,0xC0,  /* 000000111100 */
+    0x0F,0x00,  /* 000011110000 */
+    0x3C,0x00,  /* 001111000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=243, hex=0xF3, ascii="!s"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x60,  /* 000000000110 */
+    0x01,0xE0,  /* 000000011110 */
+    0x07,0x80,  /* 000001111000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x38,0x00,  /* 001110000000 */
+    0x1E,0x00,  /* 000111100000 */
+    0x07,0x80,  /* 000001111000 */
+    0x01,0xE0,  /* 000000011110 */
+    0x00,0x60,  /* 000000000110 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x3F,0xE0,  /* 001111111110 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=244, hex=0xF4, ascii="!t"
+     */
+    0x01,0xC0,  /* 000000011100 */
+    0x03,0xE0,  /* 000000111110 */
+    0x07,0x70,  /* 000001110111 */
+    0x06,0x30,  /* 000001100011 */
+    0x06,0x30,  /* 000001100011 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+
+    /*
+     * code=245, hex=0xF5, ascii="!u"
+     */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0xC6,0x00,  /* 110001100000 */
+    0xC6,0x00,  /* 110001100000 */
+    0xEE,0x00,  /* 111011100000 */
+    0x7C,0x00,  /* 011111000000 */
+    0x38,0x00,  /* 001110000000 */
+
+    /*
+     * code=246, hex=0xF6, ascii="!v"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x3F,0xC0,  /* 001111111100 */
+    0x00,0x00,  /* 000000000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x06,0x00,  /* 000001100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=247, hex=0xF7, ascii="!w"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x18,0x00,  /* 000110000000 */
+    0x7E,0x60,  /* 011111100110 */
+    0x67,0xE0,  /* 011001111110 */
+    0x01,0x80,  /* 000000011000 */
+    0x18,0x00,  /* 000110000000 */
+    0x7E,0x60,  /* 011111100110 */
+    0x67,0xE0,  /* 011001111110 */
+    0x01,0x80,  /* 000000011000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=248, hex=0xF8, ascii="!x"
+     */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x19,0x80,  /* 000110011000 */
+    0x19,0x80,  /* 000110011000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=249, hex=0xF9, ascii="!y"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x1F,0x80,  /* 000111111000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=250, hex=0xFA, ascii="!z"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x02,0x00,  /* 000000100000 */
+    0x07,0x00,  /* 000001110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x02,0x00,  /* 000000100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=251, hex=0xFB, ascii="!{"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0xF0,  /* 000000111111 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x23,0x00,  /* 001000110000 */
+    0x33,0x00,  /* 001100110000 */
+    0x1B,0x00,  /* 000110110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x07,0x00,  /* 000001110000 */
+    0x03,0x00,  /* 000000110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=252, hex=0xFC, ascii="!|"
+     */
+    0x2C,0x00,  /* 001011000000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x36,0x00,  /* 001101100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=253, hex=0xFD, ascii="!}"
+     */
+    0x3C,0x00,  /* 001111000000 */
+    0x06,0x00,  /* 000001100000 */
+    0x1C,0x00,  /* 000111000000 */
+    0x30,0x00,  /* 001100000000 */
+    0x3E,0x00,  /* 001111100000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=254, hex=0xFE, ascii="!~"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x0F,0x00,  /* 000011110000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+
+    /*
+     * code=255, hex=0xFF, ascii="!^\9f"
+     */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+    0x00,0x00,  /* 000000000000 */
+};
+
index c2293fa14e3e83b3394148bb3c9c1d4ef3e4d1cc..33f9fb4db5a21164ce43bc87c34235a2c85a3db7 100644 (file)
 
 #define HEAP_ALIGN 4
 
-typedef struct {
-       uint32_t size;
-       void *next;
-} __attribute__ ((packed)) alloc_t;
-
 static alloc_t *free_blocks;
 static void *heap_end;
 uint32_t heap_used;
index 153421075749b4ff5cec8df815936378eaf408ae..8b0c80b9c7d6ead945fb12aae024cb5bc486af55 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 #include <initrd.h>
+#include <heap.h>
 #include <string.h>
 
 extern uint8_t _binary_initrd_img_start[];
@@ -50,6 +51,18 @@ char *initrd_getfile(uint32_t offset)
        return ptr;
 }
 
+char *initrd_getname(uint32_t offset)
+{
+       char *file = initrd_getfile(offset);
+       if (file == 0)
+               return 0;
+       uint32_t len = *((uint32_t *)file);
+       char *buf = malloc(len + 1);
+       strncpy(buf, file + 4, len);
+       buf[len] = '\0';
+       return buf;
+}
+
 char *initrd_readfile(const char *name)
 {
        char *ptr;
index 22fc9670f9d75a38bc9b0211d31ef4d95828de4e..58bc50813f83536cca5930e90c74e967f69ba573 100644 (file)
@@ -57,21 +57,21 @@ static const port_t keypad_cols[COLS] = {
 #define K_HOLD 0x000001FF
 
 static const char keypad_map[ROWS * COLS * 4] = {
-       "\xFF\0\0\0" ">\0\0\0" ">=\0\0"   "==\0\0"   "=\0\0\0"
-       "x\0\0\0"    "<\0\0\0" "<=\0\0"   "!=\0\0"   "%\0\0\0"
-       "7\0\0\0"    "8\0\0\0" "9\0\0\0"  "(\0\0\0"  ")\0\0\0"
-       "4\0\0\0"    "5\0\0\0" "6\0\0\0"  "/\0\0\0"  "*\0\0\0"
-       "1\0\0\0"    "2\0\0\0" "3\0\0\0"  "-\0\0\0"  "+\0\0\0"
-       ".\0\0\0"    "0\0\0\0" "\0\0\0\0" "\b\0\0\0" "\n\0\0\0"
+       "\x7F\0\0\0" ">\0\0\0" ">=\0\0"     "==\0\0"   "=\0\0\0"
+       "x\0\0\0"    "<\0\0\0" "<=\0\0"     "!=\0\0"   "%\0\0\0"
+       "7\0\0\0"    "8\0\0\0" "9\0\0\0"    "(\0\0\0"  ")\0\0\0"
+       "4\0\0\0"    "5\0\0\0" "6\0\0\0"    "/\0\0\0"  "*\0\0\0"
+       "1\0\0\0"    "2\0\0\0" "3\0\0\0"    "-\0\0\0"  "+\0\0\0"
+       ".\0\0\0"    "0\0\0\0" "\xFF\0\0\0" "\b\0\0\0" "\n\0\0\0"
 };
 
 static const char keypad_map_2nd[ROWS * COLS * 4] = {
-       "a\0\0\0" "b\0\0\0"  "c\0\0\0"  "d\0\0\0"  "e\0\0\0"
-       "f\0\0\0" "g\0\0\0"  "h\0\0\0"  "i\0\0\0"  "j\0\0\0"
-       "k\0\0\0" "l\0\0\0"  "m\0\0\0"  "n\0\0\0"  "o\0\0\0"
-       "p\0\0\0" "q\0\0\0"  "r\0\0\0"  "s\0\0\0"  "t\0\0\0"
-       "u\0\0\0" "v\0\0\0"  "w\0\0\0"  "x\0\0\0"  "y\0\0\0"
-       "z\0\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" "\xFF\x01\0\0"
+       "a\0\0\0" "b\0\0\0"  "c\0\0\0"  "d\0\0\0"      "e\0\0\0"
+       "f\0\0\0" "g\0\0\0"  "h\0\0\0"  "i\0\0\0"      "j\0\0\0"
+       "k\0\0\0" "l\0\0\0"  "m\0\0\0"  "n\0\0\0"      "o\0\0\0"
+       "p\0\0\0" "q\0\0\0"  "r\0\0\0"  "s\0\0\0"      "t\0\0\0"
+       "u\0\0\0" "v\0\0\0"  "w\0\0\0"  "x\0\0\0"      "y\0\0\0"
+       "z\0\0\0" "\0\0\0\0" "\0\0\0\0" "\x7F\0\0\0" "\xFF\x01\0\0"
 };
 
 #define KEY(r, c, i) map[r * COLS * 4 + c * 4 + i]
index d3580c9dd23195a5afcf2856d5cc4fb6280b6c67..4d6f140fbce7a6f43635064a91f4e47df1a35540 100644 (file)
@@ -53,9 +53,9 @@ int main(void)
 \r
        clock_init();\r
        heap_init(&__bss_end__);\r
+       random_init();\r
        gpio_init();\r
        serial_init();\r
-       random_init();\r
        keypad_init();\r
        flash_init();\r
 \r
@@ -73,16 +73,9 @@ int main(void)
 void kmain(void)\r
 {\r
        dsp_init();\r
-       dsp_rect(0, 0, LCD_WIDTH, LCD_HEIGHT, dsp_color(0, 0, 0));\r
        dsp_cursoron();\r
-\r
-       /*extern const unsigned char inconsolata24[192 * 156 * 2 + 1];\r
-       for (uint32_t i = 0; i <= 192 * 156 * 2; i += 624) {\r
-               flash_write((char *)(inconsolata24 + i), i, 624);\r
-               dsp_puts(".");\r
-       }*/\r
-\r
        keypad_start();\r
+\r
        task_start(task_interpreter, 4096);\r
 \r
        while (1) {\r
@@ -93,22 +86,23 @@ void kmain(void)
        }\r
 }\r
 \r
-void task_interpreter(void)\r
+instance *load_program(const char *name)\r
 {\r
-       instance *it = inewinstance();\r
-       script_loadlib(it);\r
-\r
-       // load '/init' file\r
-       char *s = initrd_readfile("init");\r
+       // load file\r
+       char *s = initrd_readfile(name);\r
        if (s == 0) {\r
-               dsp_puts("can't find init");\r
-               goto end;\r
+               dsp_puts("can't find ");\r
+               dsp_puts(name);\r
+               goto fail;\r
        }\r
 \r
+       instance *it = inewinstance();\r
+       script_loadlib(it);\r
+\r
        // read in, parse into script code\r
        char *linebuf = (char *)malloc(120);\r
        uint32_t i = 0, prev = 0, lc;\r
-       uint32_t size = initrd_filesize("init");\r
+       uint32_t size = initrd_filesize(name);\r
        int ret = 0;\r
        while (i < size) {\r
                for (; s[i] != '\n' && s[i] != '\0'; i++);\r
@@ -125,21 +119,30 @@ void task_interpreter(void)
                prev = ++i;\r
        }\r
        free(linebuf);\r
+       return it;\r
+fail:\r
+       while (1);\r
+       return 0;\r
+}\r
+\r
+void task_interpreter(void)\r
+{\r
+       instance *it = load_program("init");\r
 \r
        // run the script\r
-       ret = irun(it);\r
-       if (ret != 0)\r
-               goto fail;\r
+       /*int ret =*/ irun(it);\r
+       //if (ret != 0)\r
+               //goto end;\r
        idelinstance(it);\r
 \r
-end:\r
+//end:\r
        while (1)\r
                delay(10);\r
-fail:\r
+/*fail:\r
        if (ret < 0) {\r
                dsp_puts("\nError: ");\r
                dsp_puts(itoa(ret, linebuf, 10));\r
        }\r
-       goto end;\r
+       goto end;*/\r
 }\r
 \r
index 3f0209f3f00c1c47a78a30c4623314252b6c4270..61ff598b1bb85bddb38a7475acfff86698bffcdf 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <it/builtins.h>
 #include <clock.h>
+#include <ctype.h>
 #include <display.h>
 #include <display_draw.h>
 #include <heap.h>
@@ -48,6 +49,8 @@ int script_getkey(instance *it);
 int script_pixel(instance *it);
 int script_menu(instance *it);
 int script_filemenu(instance *it);
+int script_program(instance *it);
+int script_free(instance *it);
 
 int math_sin(instance *it);
 
@@ -71,6 +74,8 @@ void script_loadlib(instance *it)
 
        inew_cfunc(it, "menu", script_menu);
        inew_cfunc(it, "filemenu", script_filemenu);
+       inew_cfunc(it, "program", script_program);
+       inew_cfunc(it, "freemem", script_free);
 
        inew_cfunc(it, "sin", math_sin);
 }
@@ -96,6 +101,14 @@ int script_menu(instance *it)
                dsp_puts("\n");
                resps[i] = igetarg(it, 2 + i * 2)->value.f;
        }
+
+       int c;
+       do c = keypad_get();
+       while (c == 0);
+
+       variable *v = make_varf(0, isdigit(c) ? c - '0' : -1.0f);
+       ipush(it, (uint32_t)v);
+
        free(resps);
        return 0;
 }
@@ -103,18 +116,25 @@ int script_menu(instance *it)
 int script_filemenu(instance *it)
 {
        char listbuf[4];
-       char *buf = calloc(17, 1);
        char *fname;
        strncpy(listbuf, " : \0", 4);
        dsp_puts("Choose a file: \n");
-       for (unsigned int i = 0; (fname = initrd_getfile(i)) != 0; i++) {
+       for (unsigned int i = 0; (fname = initrd_getname(i)) != 0; i++) {
                listbuf[0] = i + '0';
                dsp_puts(listbuf);
-               dsp_puts(strncpy(buf, fname, 16));
+               dsp_puts(fname);
+               free(fname);
                dsp_puts("\n");
        }
-       free(buf);
-       return script_gets(it);
+
+       int c;
+       do c = keypad_get();
+       while (c == 0);
+
+       variable *v = make_varf(0, isdigit(c) ? c - '0' : -1.0f);
+       ipush(it, (uint32_t)v);
+
+       return 0;
 }
 
 int script_puts(instance *it)
@@ -154,6 +174,12 @@ int script_gets(instance *it)
                        c[0] = keypad_get();
                        delay(1);
                } while (c[0] == 0);
+
+               if (c[0] == 0x7F) {
+                       it->lnidx = 998;
+                       break;
+               }
+
                //c[0] = serial_get();
                s[index] = c[0];
                if (c[0] == '\b' || c[0] == 127) {
@@ -227,7 +253,10 @@ int script_rand(instance *it)
 
 int script_getkey(instance *it)
 {
-       variable *v = make_varf(0, (float)keypad_get());
+       char c = keypad_get();
+       if (c == 0x7F)
+               it->lnidx = 998;
+       variable *v = make_varf(0, c);
        ipush(it, (uint32_t)v);
        return 0;
 }
@@ -239,3 +268,30 @@ int script_pixel(instance *it)
        return 0;
 }
 
+extern instance *load_program(const char *name);
+int script_program(instance *it)
+{
+       int initrdOffset = (int)igetarg(it, 0)->value.f;
+       char *name = initrd_getname(initrdOffset);
+
+       dsp_rect(0, 0, 480, 320, 0);
+       dsp_cpos(0, 0);
+       dsp_coff(0, 0);
+
+       instance *it2 = load_program(name);
+       free(name);
+
+       int ret = irun(it2);
+       if (ret != 0)
+               return -1;
+
+       idelinstance(it2);
+       return 0;
+}
+
+int script_free(instance *it)
+{
+       extern uint32_t heap_used;
+       ipush(it, (uint32_t)make_varf(0, 98303 - heap_used));
+       return 0;
+}
index 9e99ab65c06e3f7d90b8144dbda13fc4382eddae..072a3033cd72d7f3ff22e98019c0057720831a2f 100644 (file)
@@ -21,6 +21,7 @@
 #include <task.h>
 #include <heap.h>
 #include <stm32l476xx.h>
+#include <string.h>
 
 task_t *current;
 static uint8_t task_disable = 0;
@@ -35,9 +36,9 @@ void task_hold(uint8_t hold)
 
 void task_exit(void)
 {
-       // TODO free stack?
-       // TODO remove from chain
-       // hopefully current is preserved..?
+       free(current->stack);
+       // TODO remove from chain?
+       // hopefully this is fine...
        while (1); // bye
 }
 
@@ -47,7 +48,7 @@ task_t *task_create(void (*code)(void), uint32_t stackSize)
        t->next = 0;
        t->stack = (uint32_t *)malloc(stackSize);
        void *sp = (uint8_t *)t->stack + stackSize - 68; // excep. stack + regs
-       t->sp = (uint32_t *)sp;
+       t->sp = sp;
        for (uint8_t i = 0; i < 14; i++)
                t->sp[i] = 0;
        t->sp[8] = 0xFFFFFFFD;
@@ -67,7 +68,7 @@ void task_init(void (*init)(void))
        asm("\
                msr psp, %0; \
                mrs r0, control; \
-               orr r0, r0, #3; \
+               orr r0, r0, #2; \
                cpsie i; \
                msr control, r0; \
                isb; \
@@ -84,6 +85,32 @@ void task_start(void (*task)(void), uint16_t stackSize)
        task_hold(0);
 }
 
+/*int fork_ret(void)
+{
+       return 1;
+}
+
+int fork(void)
+{
+       void (*pc)(void) = (void (*)(void))((uint32_t)fork_ret & ~(3));
+       task_hold(1);
+
+       // duplicate task info
+       alloc_t *heapInfo = (alloc_t *)(current->stack - 2);
+       task_t *t = task_create(pc, heapInfo->size);
+       memcpy(t->stack, current->stack, heapInfo->size);
+       uint32_t *sp;
+       asm("mov %0, sp" : "=r" (sp));
+       t->sp = t->stack + (sp - current->stack);
+
+       t->next = current->next;
+       current->next = t;
+       current = t;
+       task_hold(0);
+       SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
+       return 0;
+}*/
+
 __attribute__ ((naked))
 void PendSV_Handler(void) 
 {
@@ -105,28 +132,5 @@ void PendSV_Handler(void)
                msr psp, r0; \
                bx lr; \
        ");
-
-       /*// save state
-       asm("\
-               cpsid i; \
-               isb; \
-               dsb; \
-               mrs r0, psp; \
-               stmdb r0!, {r4-r11, lr}; \
-               mov %0, r0; \
-       " : "=r" (current->sp));
-
-       current = current->next;
-
-       // restore
-       asm("\
-               mov r0, %0; \
-               ldmia r0!, {r4-r11, lr}; \
-               msr psp, r0; \
-               isb; \
-               dsb; \
-               cpsie i; \
-               bx lr; \
-       " :: "r" (current->sp));*/
 }