]> git.sur5r.net Git - u-boot/commitdiff
Patch by Denis Peter, 19 Mai 2003:
authorwdenk <wdenk>
Fri, 23 May 2003 11:38:58 +0000 (11:38 +0000)
committerwdenk <wdenk>
Fri, 23 May 2003 11:38:58 +0000 (11:38 +0000)
add support for the MIP405-3 board

12 files changed:
CHANGELOG
board/mpl/common/common_util.c
board/mpl/common/common_util.h
board/mpl/common/flash.c
board/mpl/common/memtst.c
board/mpl/common/vga_table.h [deleted file]
board/mpl/common/video.c [deleted file]
board/mpl/common/video.h [deleted file]
board/mpl/mip405/mip405.c
board/mpl/pip405/pip405.h
board/mpl/vcma9/vcma9.c
include/configs/MIP405.h

index 8e483cb37efc8c6692266e1fd85b9a99afeeeedf..e779e34b3aed9acc67c93ec86a8526cc09b79776 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes since U-Boot 0.3.1:
 ======================================================================
 
+* Patch by Denis Peter, 19 Mai 2003:
+  add support for the MIP405-3 board
+
 * Patch by Dave Ellis, 22 May 2003:
   Fix problem with only partially cleared .bss segment
 
index 19ead331b878cc2a100e4337ff3530e9f09b828a..48ffbee5062981aeb155b35a4bed8a976345392e 100644 (file)
 #include <devices.h>
 #include <pci.h>
 
+#ifdef CONFIG_PIP405
+#include "../pip405/pip405.h"
+#include <405gp_pci.h>
+#endif
+#ifdef CONFIG_MIP405
+#include "../mip405/mip405.h"
+#include <405gp_pci.h>
+#endif
+
 extern int  gunzip (void *, int, unsigned char *, int *);
 extern int mem_test(unsigned long start, unsigned long ramsize, int quiet);
 
@@ -363,12 +372,16 @@ void show_stdio_dev(void)
 #if defined(CONFIG_PIP405) || defined(CONFIG_MIP405)
 int switch_cs(unsigned char boot)
 {
-       unsigned long pbcr;
-       mtdcr(ebccfga, pb0cr); /* get cs0 config reg */
-       pbcr = mfdcr(ebccfgd);
-       if((pbcr&0x00002000)==0) {
+       unsigned long pbcr;
+       int mode;
+
+       mode=get_boot_mode();
+       mtdcr(ebccfga, pb0cr);
+       pbcr = mfdcr (ebccfgd);
+       if (mode & BOOT_MPS) {
+               /* Boot width = 8 bit MPS Boot, set up MPS on CS0 */
                /* we need only to switch if boot from MPS */
-               /*printf(" MPS boot mode detected. ");*/
+               /* printf(" MPS boot mode detected. ");*/
                /* printf("cs0 cfg: %lx\n",pbcr); */
                if(boot) {
                        /* switch to boot configuration */
@@ -388,8 +401,7 @@ int switch_cs(unsigned char boot)
                        mtdcr(ebccfgd, pbcr);
                        SW_CS_PRINTF("  new cs1 cfg: %lx, MPS is on High Address\n",pbcr);
                }
-               else
-               {
+               else {
                        /* map flash to boot area, */
                        SW_CS_PRINTF("map Flash to boot area\n");
                        pbcr&=0x000FFFFF; /*mask base address of the cs0 */
@@ -412,7 +424,63 @@ int switch_cs(unsigned char boot)
                SW_CS_PRINTF("Normal boot, no switching necessary\n");
                return 0;
        }
+
+}
+
+int get_boot_mode(void)
+{
+       unsigned long pbcr;
+       int res = 0;
+       pbcr = mfdcr (strap);
+       if ((pbcr & PSR_ROM_WIDTH_MASK) == 0) 
+               /* boot via MPS or MPS mapping */
+               res = BOOT_MPS;
+       if(pbcr & PSR_ROM_LOC) 
+               /* boot via PCI.. */
+               res |= BOOT_PCI;
+        return res;
+}
+
+/* Setup cs0 parameter finally.
+   Map the flash high (in boot area)
+   This code can only be executed from SDRAM (after relocation).
+*/
+void setup_cs_reloc(void)
+{
+       unsigned long pbcr;
+       /* Since we are relocated, we can set-up the CS finaly
+        * but first of all, switch off PCI mapping (in case it was a PCI boot) */
+       out32r(PMM0MA,0L);
+       icache_enable (); /* we are relocated */
+       /* for PCI Boot, we have to set-up the remaining CS correctly */
+       pbcr = mfdcr (strap);
+       if(pbcr & PSR_ROM_LOC) {
+               /* boot via PCI.. */
+               if ((pbcr & PSR_ROM_WIDTH_MASK) == 0) {
+               /* Boot width = 8 bit MPS Boot, set up MPS on CS0 */
+                       #ifdef DEBUG
+                       printf("Mapping MPS to CS0 @ 0x%lx\n",(MPS_CR_B & 0xfff00000));
+                       #endif
+                       mtdcr (ebccfga, pb0ap);
+                       mtdcr (ebccfgd, MPS_AP);
+                       mtdcr (ebccfga, pb0cr);
+                       mtdcr (ebccfgd, MPS_CR_B);
+               }
+               else {
+                       /* Flash boot, set up the Flash on CS0 */
+                       #ifdef DEBUG
+                       printf("Mapping Flash to CS0 @ 0x%lx\n",(FLASH_CR_B & 0xfff00000));
+                       #endif
+                       mtdcr (ebccfga, pb0ap);
+                       mtdcr (ebccfgd, FLASH_AP);
+                       mtdcr (ebccfga, pb0cr);
+                       mtdcr (ebccfgd, FLASH_CR_B);
+               }
+       }
+       switch_cs(0); /* map Flash High */
 }
+
+
 #elif defined(CONFIG_VCMA9)
 int switch_cs(unsigned char boot)
 {
@@ -425,13 +493,11 @@ int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        ulong size,src,ld_addr;
        int result;
        backup_t back;
-       char sw;
        src = MULTI_PURPOSE_SOCKET_ADDR;
        size = IMAGE_SIZE;
 
        if (strcmp(argv[1], "flash") == 0)
        {
-               sw = switch_cs(0); /* Switch flash to normal location */
 #if (CONFIG_COMMANDS & CFG_CMD_FDC)
                if (strcmp(argv[2], "floppy") == 0) {
                        char *local_args[3];
@@ -450,7 +516,6 @@ int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                                result=do_fdcboot(cmdtp, 0, 1, local_args);
                        }
                        result=mpl_prg_image(ld_addr);
-                       switch_cs(sw); /* Switch flash back */
                        return result;
                }
 #endif /* (CONFIG_COMMANDS & CFG_CMD_FDC) */
@@ -463,17 +528,13 @@ int do_mplcommon(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                        }
                        printf ("\nupdating bootloader image from memory at %lX\n",ld_addr);
                        result=mpl_prg_image(ld_addr);
-                       switch_cs(sw); /* Switch flash back */
                        return result;
                }
                if (strcmp(argv[2], "mps") == 0) {
-                       printf ("\nupdating bootloader image from MSP\n");
+                       printf ("\nupdating bootloader image from MPS\n");
                        result=mpl_prg(src,size);
-                       switch_cs(sw); /* Switch flash back */
                        return result;
                }
-               switch_cs(sw); /* Switch flash back */
-
        }
        if (strcmp(argv[1], "mem") == 0)
        {
@@ -551,11 +612,12 @@ void video_get_info_str (int line_number, char *info)
        DECLARE_GLOBAL_DATA_PTR;
        PPC405_SYS_INFO sys_info;
        char rev;
-       int i;
+       int i,boot;
        unsigned long pvr;
        char buf[64];
        char tmp[16];
-       unsigned char *s, *e, bc, sw;
+       char cpustr[16];
+       unsigned char *s, *e, bc;
        switch (line_number)
        {
        case 2:
@@ -567,8 +629,13 @@ void video_get_info_str (int line_number, char *info)
                        case PVR_405GP_RC: rev='C'; break;
                        case PVR_405GP_RD: rev='D'; break;
                        case PVR_405GP_RE: rev='E'; break;
+                       case PVR_405GPR_RB: rev='B'; break;
                        default:           rev='?'; break;
                }
+               if(pvr==PVR_405GPR_RB)
+                       sprintf(cpustr,"PPC405GPr %c",rev);
+               else
+                       sprintf(cpustr,"PPC405GP %c",rev);
                /* Board info */
                i=0;
                s=getenv ("serial#");
@@ -601,22 +668,21 @@ void video_get_info_str (int line_number, char *info)
                        }
                        buf[i++]=0;
                }
-               sprintf (info," %s PPC405GP %c %s MHz (%lu/%lu/%lu MHz)",
-                       buf,rev,
+               sprintf (info," %s %s %s MHz (%lu/%lu/%lu MHz)",
+                       buf, cpustr,
                        strmhz (tmp, gd->cpu_clk), sys_info.freqPLB / 1000000,
                        sys_info.freqPLB / sys_info.pllOpbDiv / 1000000,
                        sys_info.freqPLB / sys_info.pllExtBusDiv / 1000000);
                return;
        case 3:
                /* Memory Info */
-               sw = switch_cs (0);
-               switch_cs (sw);
+               boot = get_boot_mode();
                bc = in8 (CONFIG_PORT_ADDR);
                sprintf(info, " %luMB RAM, %luMB Flash Cfg 0x%02X %s %s",
                        gd->bd->bi_memsize / 0x100000,
                        gd->bd->bi_flashsize / 0x100000,
                        bc,
-                       sw ? "MPS boot" : "Flash boot",
+                       (boot & BOOT_MPS) ? "MPS boot" : "Flash boot",
                        ctfb.modeIdent);
                return;
        case 1:
index 70cd46928adaf0289772f5f6b4537ac0467e2c03..caf7f9b3ca21509cb0ed82319cb4cecd4d9de2e3 100644 (file)
 typedef struct {
        char signature[4];
        char serial_name[17];   /* "MIP405_1000xxxxx" */
-       char eth_addr[21];                      /* "00:60:C2:0a:00:00" */
+       char eth_addr[21];      /* "00:60:C2:0a:00:00" */
 } backup_t;
 
 void get_backup_values(backup_t *buf);
 int switch_cs(unsigned char boot);
+#if defined(CONFIG_PIP405) || defined(CONFIG_MIP405)
+int get_boot_mode(void);
+void setup_cs_reloc(void);
+#define BOOT_MPS       0x01
+#define BOOT_PCI       0x02
+#endif
+
 void show_stdio_dev(void);
 void check_env(void);
 #if (CONFIG_COMMANDS & CFG_CMD_DOC)
index f0c541b44dd645eb433557933bee2a8757259ad5..483d0fff34a355c6a5c68641db9f8f483c493ee8 100644 (file)
@@ -30,7 +30,7 @@
 
 /*
  * Modified 3/7/2001
- * - adopted for pip405, Denis Peter, MPL AG Switzerland
+ * - adapted for pip405, Denis Peter, MPL AG Switzerland
  * TODO:
  * clean-up
  */
 #include <common.h>
 #include <ppc4xx.h>
 #include <asm/processor.h>
-#ifdef CONFIG_PIP405
-#include "../pip405/pip405.h"
-#endif
-#ifdef CONFIG_MIP405
-#include "../mip405/mip405.h"
-#endif
 #include "common_util.h"
 
 flash_info_t   flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips        */
@@ -52,23 +46,10 @@ flash_info_t        flash_info[CFG_MAX_FLASH_BANKS]; /* info for FLASH chips        */
  */
 static ulong flash_get_size (vu_long *addr, flash_info_t *info);
 static int write_word (flash_info_t *info, ulong dest, ulong data);
-static void flash_get_offsets (ulong base, flash_info_t *info);
 
 void unlock_intel_sectors(flash_info_t *info,ulong addr,ulong cnt);
 
 
-#ifdef CONFIG_ADCIOP
-#define ADDR0           0x0aa9
-#define ADDR1           0x0556
-#define FLASH_WORD_SIZE unsigned char
-#endif
-
-#ifdef CONFIG_CPCI405
-#define ADDR0           0x5555
-#define ADDR1           0x2aaa
-#define FLASH_WORD_SIZE unsigned short
-#endif
-
 #ifdef CONFIG_PIP405
 #define ADDR0           0x5555
 #define ADDR1           0x2aaa
@@ -92,16 +73,17 @@ unsigned long flash_init (void)
 {
        unsigned long size_b0, size_b1;
        int i;
-  unsigned long pbcr;
-  unsigned long base_b0, base_b1;
-  unsigned char rc;
-
-  rc=switch_cs(FALSE); /* map Flash High */
 
-       if(rc)
-               printf("(MPS Boot) ");
+       /* Since we are relocated, we can set-up the CS finally */
+       setup_cs_reloc();
+       /* get and display boot mode */
+       i=get_boot_mode();
+       if(i & BOOT_PCI)
+               printf("(PCI Boot %s Map) ",(i & BOOT_MPS) ?
+                       "MPS" : "Flash");
        else
-               printf("(Flash Boot) ");
+               printf("(%s Boot) ",(i & BOOT_MPS) ?
+                       "MPS" : "Flash");
        /* Init: no FLASHes known */
        for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
                flash_info[i].flash_id = FLASH_UNKNOWN;
@@ -115,140 +97,39 @@ unsigned long flash_init (void)
                printf ("## Unknown FLASH on Bank 0 - Size = 0x%08lx = %ld MB\n",
                        size_b0, size_b0<<20);
        }
-       /* Only one bank */
-       if (CFG_MAX_FLASH_BANKS == 1)
-         {
-           /* Setup offsets */
-                       /*  flash_get_offsets (FLASH_BASE0_PRELIM, &flash_info[0]); */
-           /* Monitor protection ON by default */
+       /* protect the bootloader */
+       /* Monitor protection ON by default */
 #if CFG_MONITOR_BASE >= CFG_FLASH_BASE
-                   flash_protect(FLAG_PROTECT_SET,
-                               CFG_MONITOR_BASE,
-                               CFG_MONITOR_BASE+CFG_MONITOR_LEN-1,
-                               &flash_info[0]);
+       flash_protect(FLAG_PROTECT_SET,
+                       CFG_MONITOR_BASE,
+                       CFG_MONITOR_BASE+CFG_MONITOR_LEN-1,
+                       &flash_info[0]);
 #endif
-           size_b1 = 0 ;
-           flash_info[0].size = size_b0;
-         }
-
-       /* 2 banks */
-       else
-         {
-           size_b1 = flash_get_size((vu_long *)FLASH_BASE1_PRELIM, &flash_info[1]);
-
-           /* Re-do sizing to get full correct info */
-
-           if (size_b1)
-             {
-               mtdcr(ebccfga, pb0cr);
-               pbcr = mfdcr(ebccfgd);
-               mtdcr(ebccfga, pb0cr);
-               base_b1 = -size_b1;
-               pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
-               mtdcr(ebccfgd, pbcr);
-               /*          printf("pb1cr = %x\n", pbcr); */
-             }
-
-           if (size_b0)
-             {
-               mtdcr(ebccfga, pb1cr);
-               pbcr = mfdcr(ebccfgd);
-               mtdcr(ebccfga, pb1cr);
-               base_b0 = base_b1 - size_b0;
-               pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
-               mtdcr(ebccfgd, pbcr);
-               /*            printf("pb0cr = %x\n", pbcr); */
-             }
-
-           size_b0 = flash_get_size((vu_long *)base_b0, &flash_info[0]);
-
-           flash_get_offsets (base_b0, &flash_info[0]);
-
-           /* monitor protection ON by default */
-           (void)flash_protect(FLAG_PROTECT_SET,
-                               base_b0+size_b0-CFG_MONITOR_LEN,
-                               base_b0+size_b0-1,
-                               &flash_info[0]);
-
-           if (size_b1) {
-             /* Re-do sizing to get full correct info */
-             size_b1 = flash_get_size((vu_long *)base_b1, &flash_info[1]);
-
-             flash_get_offsets (base_b1, &flash_info[1]);
-
-             /* monitor protection ON by default */
-             (void)flash_protect(FLAG_PROTECT_SET,
-                                 base_b1+size_b1-CFG_MONITOR_LEN,
-                                 base_b1+size_b1-1,
-                                 &flash_info[1]);
-             /* monitor protection OFF by default (one is enough) */
-             (void)flash_protect(FLAG_PROTECT_CLEAR,
-                                 base_b0+size_b0-CFG_MONITOR_LEN,
-                                 base_b0+size_b0-1,
-                                 &flash_info[0]);
-           } else {
-             flash_info[1].flash_id = FLASH_UNKNOWN;
-             flash_info[1].sector_count = -1;
-           }
-
-           flash_info[0].size = size_b0;
-           flash_info[1].size = size_b1;
-         }/* else 2 banks */
-       switch_cs(rc); /* switch mode back */
-       return (size_b0 + size_b1);
-}
-
-
-static void flash_get_offsets (ulong base, flash_info_t *info)
-{
-       return;
-}
+       size_b1 = 0 ;
+       flash_info[0].size = size_b0;
 #if 0
-/*-----------------------------------------------------------------------
- */
-static void flash_get_offsets (ulong base, flash_info_t *info)
-{
-       int i;
-
-       /* set up sector start address table */
-  if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
-           (info->flash_id  == FLASH_AM040)){
-               for (i = 0; i < info->sector_count; i++)
-                       info->start[i] = base + (i * 0x00010000);
-  }
-  else {
-               if (info->flash_id & FLASH_BTYPE) {
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00004000;
-               info->start[2] = base + 0x00006000;
-               info->start[3] = base + 0x00008000;
-               for (i = 4; i < info->sector_count; i++) {
-                       info->start[i] = base + (i * 0x00010000) - 0x00030000;
-               }
-           } else {
-               /* set sector offsets for top boot block type           */
-               i = info->sector_count - 1;
-               info->start[i--] = base + info->size - 0x00004000;
-               info->start[i--] = base + info->size - 0x00006000;
-               info->start[i--] = base + info->size - 0x00008000;
-               for (; i >= 0; i--) {
-                       info->start[i] = base + i * 0x00010000;
-               }
-           }
-       }
+       /* include this if you want to test if
+          the relocation has be done ok.
+          This will disable both Chipselects */
+       mtdcr (ebccfga, pb0cr);
+       mtdcr (ebccfgd, 0L);
+       mtdcr (ebccfga, pb1cr);
+       mtdcr (ebccfgd, 0L);
+       printf("CS0 & CS1 switched off for test\n");
+#endif
+       return (size_b0);
 }
 
-#endif
+
 /*-----------------------------------------------------------------------
  */
 void flash_print_info  (flash_info_t *info)
 {
        int i;
-    int k;
-       int size;
-    int erased;
-    volatile unsigned long *flash;
+       int k;
+       int size;
+       int erased;
+       volatile unsigned long *flash;
 
        if (info->flash_id == FLASH_UNKNOWN) {
                printf ("missing or unknown FLASH type\n");
@@ -297,40 +178,30 @@ void flash_print_info  (flash_info_t *info)
 
        printf ("  Sector Start Addresses:");
        for (i=0; i<info->sector_count; ++i) {
-       /*
-     * Check if whole sector is erased
-     */
+               /*
+                * Check if whole sector is erased
+               */
                if (i != (info->sector_count-1))
-       size = info->start[i+1] - info->start[i];
+                       size = info->start[i+1] - info->start[i];
                else
-      size = info->start[0] + info->size - info->start[i];
-    erased = 1;
-    flash = (volatile unsigned long *)info->start[i];
-    size = size >> 2;        /* divide by 4 for longword access */
-    for (k=0; k<size; k++)
-    {
-       if (*flash++ != 0xffffffff)
-                       {
-                               erased = 0;
+                       size = info->start[0] + info->size - info->start[i];
+               erased = 1;
+               flash = (volatile unsigned long *)info->start[i];
+               size = size >> 2;        /* divide by 4 for longword access */
+               for (k=0; k<size; k++) {
+                       if (*flash++ != 0xffffffff) {
+                               erased = 0;
                                break;
                        }
-               }
+               }
                if ((i % 5) == 0)
                        printf ("\n   ");
-#if 0 /* test-only */
-               printf (" %08lX%s",
-                       info->start[i],
-                       info->protect[i] ? " (RO)" : "     "
-#else
                printf (" %08lX%s%s",
                        info->start[i],
                        erased ? " E" : "  ",
-                       info->protect[i] ? "RO " : "   "
-#endif
-               );
+                       info->protect[i] ? "RO " : "   ");
        }
        printf ("\n");
-
 }
 
 /*-----------------------------------------------------------------------
@@ -457,21 +328,22 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)
        }
 
        /* set up sector start address table */
-  if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
-           (info->flash_id  == FLASH_AM040)){
+       if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
+            (info->flash_id  == FLASH_AM040)){
                for (i = 0; i < info->sector_count; i++)
                        info->start[i] = base + (i * 0x00010000);
-  } else {
+       }
+       else {
                if (info->flash_id & FLASH_BTYPE) {
-               /* set sector offsets for bottom boot block type        */
-               info->start[0] = base + 0x00000000;
-               info->start[1] = base + 0x00004000;
-               info->start[2] = base + 0x00006000;
-               info->start[3] = base + 0x00008000;
-               for (i = 4; i < info->sector_count; i++)
-                       info->start[i] = base + (i * 0x00010000) - 0x00030000;
-         }
-         else {
+                       /* set sector offsets for bottom boot block type        */
+                       info->start[0] = base + 0x00000000;
+                       info->start[1] = base + 0x00004000;
+                       info->start[2] = base + 0x00006000;
+                       info->start[3] = base + 0x00008000;
+                       for (i = 4; i < info->sector_count; i++)
+                               info->start[i] = base + (i * 0x00010000) - 0x00030000;
+               }
+               else {
                        /* set sector offsets for top boot block type           */
                        i = info->sector_count - 1;
                        if(info->sector_count==71) {
@@ -501,52 +373,41 @@ static ulong flash_get_size (vu_long *addr, flash_info_t *info)
                /* read sector protection at sector address, (A7 .. A0) = 0x02 */
                /* D0 = 1 if protected */
                addr2 = (volatile FLASH_WORD_SIZE *)(info->start[i]);
-       if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL)
-       info->protect[i] = 0;
-      else
-        info->protect[i] = addr2[2] & 1;
+               if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL)
+                       info->protect[i] = 0;
+               else
+                       info->protect[i] = addr2[2] & 1;
        }
 
        /*
         * Prevent writes to uninitialized FLASH.
         */
        if (info->flash_id != FLASH_UNKNOWN) {
-#if 0 /* test-only */
-#ifdef CONFIG_ADCIOP
-               addr2 = (volatile unsigned char *)info->start[0];
-                addr2[ADDR0] = 0xAA;
-                addr2[ADDR1] = 0x55;
-                addr2[ADDR0] = 0xF0;  /* reset bank */
-#else
-               addr2 = (FLASH_WORD_SIZE *)info->start[0];
-               *addr2 = (FLASH_WORD_SIZE)0x00F000F0;   /* reset bank */
-#endif
-#else /* test-only */
                addr2 = (FLASH_WORD_SIZE *)info->start[0];
                *addr2 = (FLASH_WORD_SIZE)0x00F000F0;   /* reset bank */
-#endif /* test-only */
        }
        return (info->size);
 }
 
+
 int wait_for_DQ7(flash_info_t *info, int sect)
 {
        ulong start, now, last;
        volatile FLASH_WORD_SIZE *addr = (FLASH_WORD_SIZE *)(info->start[sect]);
 
        start = get_timer (0);
-    last  = start;
-    while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) {
-        if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
-            printf ("Timeout\n");
-            return -1;
-        }
-        /* show that we're waiting */
-        if ((now - last) > 1000) {  /* every second */
-                               putc ('.');
-            last = now;
-        }
-    }
+       last  = start;
+       while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) {
+               if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
+                       printf ("Timeout\n");
+                       return -1;
+               }
+               /* show that we're waiting */
+               if ((now - last) > 1000) {  /* every second */
+                       putc ('.');
+                       last = now;
+               }
+       }
        return 0;
 }
 
@@ -555,20 +416,20 @@ int intel_wait_for_DQ7(flash_info_t *info, int sect)
        ulong start, now, last;
        volatile FLASH_WORD_SIZE *addr = (FLASH_WORD_SIZE *)(info->start[sect]);
 
-               start = get_timer (0);
-    last  = start;
-    while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) {
-        if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
-            printf ("Timeout\n");
-            return -1;
-        }
-        /* show that we're waiting */
-        if ((now - last) > 1000) {  /* every second */
-                               putc ('.');
-            last = now;
-        }
-    }
-    addr[0]=(FLASH_WORD_SIZE)0x00500050;
+       start = get_timer (0);
+       last  = start;
+       while ((addr[0] & (FLASH_WORD_SIZE)0x00800080) != (FLASH_WORD_SIZE)0x00800080) {
+               if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
+                       printf ("Timeout\n");
+                       return -1;
+               }
+               /* show that we're waiting */
+               if ((now - last) > 1000) {  /* every second */
+                       putc ('.');
+                       last = now;
+               }
+       }
+       addr[0]=(FLASH_WORD_SIZE)0x00500050;
        return 0;
 }
 
@@ -621,7 +482,7 @@ int flash_erase (flash_info_t *info, int s_first, int s_last)
                if (info->protect[sect] == 0) { /* not protected */
                        addr2 = (FLASH_WORD_SIZE *)(info->start[sect]);
                        /*  printf("Erasing sector %p\n", addr2); */ /* CLH */
-           if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) {
+                       if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) {
                                addr[ADDR0] = (FLASH_WORD_SIZE)0x00AA00AA;
                                addr[ADDR1] = (FLASH_WORD_SIZE)0x00550055;
                                addr[ADDR0] = (FLASH_WORD_SIZE)0x00800080;
@@ -630,16 +491,16 @@ int       flash_erase (flash_info_t *info, int s_first, int s_last)
                                addr2[0] = (FLASH_WORD_SIZE)0x00500050;  /* block erase */
                                for (i=0; i<50; i++)
                                        udelay(1000);  /* wait 1 ms */
-                   wait_for_DQ7(info, sect);
-                 }
-                 else {
-                       if((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL){
+                               wait_for_DQ7(info, sect);
+                       }
+                       else {
+                               if((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_INTEL){
                                        addr2[0] = (FLASH_WORD_SIZE)0x00600060;  /* unlock sector */
                                        addr2[0] = (FLASH_WORD_SIZE)0x00D000D0;  /* sector erase */
-                           intel_wait_for_DQ7(info, sect);
+                                       intel_wait_for_DQ7(info, sect);
                                        addr2[0] = (FLASH_WORD_SIZE)0x00200020;  /* sector erase */
                                        addr2[0] = (FLASH_WORD_SIZE)0x00D000D0;  /* sector erase */
-                           intel_wait_for_DQ7(info, sect);
+                                       intel_wait_for_DQ7(info, sect);
                                }
                                else {
                                        addr[ADDR0] = (FLASH_WORD_SIZE)0x00AA00AA;
@@ -648,18 +509,18 @@ int       flash_erase (flash_info_t *info, int s_first, int s_last)
                                        addr[ADDR0] = (FLASH_WORD_SIZE)0x00AA00AA;
                                        addr[ADDR1] = (FLASH_WORD_SIZE)0x00550055;
                                        addr2[0] = (FLASH_WORD_SIZE)0x00300030;  /* sector erase */
-                           wait_for_DQ7(info, sect);
-                               }
-                }
-                l_sect = sect;
-                   /*
-                    * Wait for each sector to complete, it's more
-                    * reliable.  According to AMD Spec, you must
-                    * issue all erase commands within a specified
-                    * timeout.  This has been seen to fail, especially
-                    * if printf()s are included (for debug)!!
-                    */
-                /*   wait_for_DQ7(info, sect); */
+                                       wait_for_DQ7(info, sect);
+                               }
+                       }
+                       l_sect = sect;
+                       /*
+                        * Wait for each sector to complete, it's more
+                        * reliable.  According to AMD Spec, you must
+                        * issue all erase commands within a specified
+                        * timeout.  This has been seen to fail, especially
+                        * if printf()s are included (for debug)!!
+                        */
+                       /*   wait_for_DQ7(info, sect); */
                }
        }
 
@@ -688,6 +549,7 @@ DONE:
        return 0;
 }
 
+
 void unlock_intel_sectors(flash_info_t *info,ulong addr,ulong cnt)
 {
        int i;
@@ -707,8 +569,6 @@ void unlock_intel_sectors(flash_info_t *info,ulong addr,ulong cnt)
                i++;
                c-=(info->start[i]-info->start[i-1]);
        }while(c>0);
-
-
 }
 
 
index f0ace2a760d80f17317966eeb71a9d916eb3aaf9..122ba2ecdce99645bda7068158bfd23c346d7d62 100644 (file)
@@ -457,7 +457,7 @@ typedef struct {
 
 
 #define TEST_STAGES 5
-const RAM_MEMTEST_FUNC test_stage[TEST_STAGES] = {
+static RAM_MEMTEST_FUNC test_stage[TEST_STAGES] = {
        {RAM_MemTest_WriteData1, "data test 1...\n", RAM_MemTest_CheckData1,
         NULL},
        {RAM_MemTest_WriteData2, "data test 2...\n", RAM_MemTest_CheckData2,
@@ -470,9 +470,35 @@ const RAM_MEMTEST_FUNC test_stage[TEST_STAGES] = {
         RAM_MemTest_CheckRandomPattern, NULL}
 };
 
+void mem_test_reloc(void)
+{
+       DECLARE_GLOBAL_DATA_PTR;
+       unsigned long addr;
+       int i;
+       for (i=0; i< TEST_STAGES; i++) {
+               addr = (ulong) (test_stage[i].test_write) + gd->reloc_off;
+               test_stage[i].test_write=
+                       (void (*) (unsigned long startaddr, unsigned long size,
+                                               unsigned long *pat))addr;
+               addr = (ulong) (test_stage[i].test_write_desc) + gd->reloc_off;
+               test_stage[i].test_write_desc=(char *)addr;
+               if(test_stage[i].test_check1) {
+                       addr = (ulong) (test_stage[i].test_check1) + gd->reloc_off;
+                       test_stage[i].test_check1=
+                               (void *(*) (int mode, unsigned long startaddr,
+                                unsigned long size, unsigned long *pat))addr;
+               }
+               if(test_stage[i].test_check2) {
+                       addr = (ulong) (test_stage[i].test_check2) + gd->reloc_off;
+                       test_stage[i].test_check2=
+                               (void *(*) (int mode, unsigned long startaddr,
+                                unsigned long size, unsigned long *pat))addr;
+               }
+       }
+}
 
 
-int mem_test (unsigned long start, unsigned long ramsize, int quiet)
+int mem_test (unsigned long start, unsigned long ramsize, int quiet, int reloc)
 {
        unsigned long errors, stage;
        unsigned long startaddr, size, i;
diff --git a/board/mpl/common/vga_table.h b/board/mpl/common/vga_table.h
deleted file mode 100644 (file)
index 5e7db8a..0000000
+++ /dev/null
@@ -1,5115 +0,0 @@
-/*
- * (C) Copyright 2001
- * Denis Peter, MPL AG, d.peter@mpl.ch.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- * Note: Parts of these software are imported from
- *       - UBL, The Universal Talkware Boot Loader
- *         Copyright (C) 2000 Universal Talkware Inc.
- *       - Linux
- *
- * File: vga_table.c
- *
- * contains all tables (include fonts) for the vga controller.
- *
- **********************************************/
-#ifndef _VGA_TABLE_H
-#define _VGA_TABLE_H
-
-/* table for VGA Initialization  */
-typedef struct {
-       const unsigned char reg;
-       const unsigned char val;
-} VIDEO_CFG_TABLE;
-
-/* Attribute table */
-static VIDEO_CFG_TABLE attr[] = {
-       { 0x00, 0x00 }, /* black */
-       { 0x01, 0x01 }, /* blue */
-       { 0x02, 0x02 }, /* green */
-       { 0x03, 0x03 }, /* cyan */
-       { 0x04, 0x04 }, /* red */
-       { 0x05, 0x05 }, /* magenta */
-       { 0x06, 0x14 }, /* brown */
-       { 0x07, 0x07 }, /* white */
-       { 0x08, 0x38 }, /* dark gray */
-       { 0x09, 0x39 }, /* light blue */
-       { 0x0A, 0x3A }, /* light green */
-       { 0x0B, 0x3B }, /* light Cyan */
-       { 0x0C, 0x3C }, /* light red */
-       { 0x0D, 0x3D }, /* light magenta */
-       { 0x0E, 0x3E }, /* yellow */
-       { 0x0F, 0x3F }, /* intense white */
-       { 0x10, 0x0C }, /* mode control */
-       { 0x11, 0x00 }, /* overscan color */
-       { 0x12, 0x0f }, /* color plane enable */
-       { 0x13, 0x08 }, /* horizontal Pel Panning */
-       { 0x14, 0x00 }, /* color select */
-       { 0xFF, 0xFF}           /* end of table */
-};
-
-/* Values for VGA 80 x 25 Text mode */
-static VIDEO_CFG_TABLE crtc[] = {
-       {0x00,0x5F},    /* horizontal total */
-       {0x01,0x4F},    /* horizontal displayed */
-       {0x02,0x50},    /* horizontal blank start */
-       {0x03,0x82},    /* horizontal blank end MIP520 BIOS*/
-       {0x04,0x55},    /* horizontal synch pos  MIP520 */
-       {0x05,0x9F},    /* horizontal synch width BIOS Source */
-       {0x06,0xBF},    /* vertical total BIOS MIP520*/
-       {0x07,0x1F},    /* overflow */
-       {0x08,0x00},    /* prescan  */
-       {0x09,0x4F},    /* maximum scanline */
-       {0x0A,0x0D},    /* cursor start */
-       {0x0B,0x0E},    /* cursor end */
-       {0x0C,0x00},    /* start address high byte */
-       {0x0D,0x00},    /* start address low byte */
-       {0x0E,0x07},    /* cursor location high byte */
-       {0x0F,0x80},    /* cursor location low byte */
-       {0x10,0x9C},    /* vertical synch start BIOS MIP520*/
-       {0x11,0x8E},    /* vertical synch end */
-       {0x12,0x8F},    /* vertical display enable end BIOS MIP520 */
-       {0x13,0x28},    /* offset */
-       {0x14,0x1F},    /* underline row */
-       {0x15,0x96},    /* verical blank start */
-       {0x16,0xB9},    /* verical blank end */
-       {0x17,0xA3},    /* crt Mode Control */
-       {0x18,0xFF},    /* line compare */
-       /* added for 69000 */
-       {0x22,0x20},    /* Memory Latch */
-       {0x30,0x00},    /* ext. total vertical register */
-       {0x31,0x00},    /* ext. vertical display end */
-       {0x32,0x00},    /* ext. vertical synch */
-       {0x33,0x00},    /* ext. vertical blanking start */
-       {0x38,0x00},    /* ext. total horizontal register */
-       {0x3C,0x00},    /* ext. horizontal blanking end */
-       {0x40,0x00},    /* ext. start address */
-       {0x41,0x00},    /* ext. offset */
-       {0x70,0x4F},    /* interlace control register */
-       {0x71,0x00},    /* NTSC/PAL Video Output Control */
-       {0x72,0x00},    /* NTSC/PAL horizontal serration 1 start */
-       {0x73,0x00},    /* NTSC/PAL horizontal serration 2 start */
-       {0x74,0x00},    /* NTSC/PAL horizontal pulse width */
-       {0x75,0x00},    /* NTSC/PAL filtering burst read length */
-       {0x76,0x00},    /* NTSC/PAL filtering burst read quantity */
-       {0x77,0x00},    /* NTSC/PAL Filtering Control */
-       {0x78,0x00},    /* NTSC/PAL Vertical reduction */
-       {0x79,0x00},    /* NTSC/PAL horizontal total fine adjust */
-       {0xFF,0xFF}             /* end of table */
-};
-
-static VIDEO_CFG_TABLE grmr[] = {
-       {0x00,0x00},    /* all planes are reset */
-       {0x01,0x00},    /* no special altering of plane */
-       {0x02,0x00},    /* color compare */
-       {0x03,0x00},    /* data rotate */
-       {0x04,0x00},    /* read plane 0 */
-       {0x05,0x10},    /* Mode */
-       {0x06,0x0E},    /* misc */
-       {0x07,0x00},    /* Color */
-       {0x08,0xFF},    /* Bitmask */
-       {0xFF,0xFF}             /* end of table */
-};
-
-
-static VIDEO_CFG_TABLE seq[] = {
-       {0x00,0x03},    /* release the resets */
-       {0x01,0x00},    /* clocking mode */
-       {0x02,0x03},    /* enable plane 0,1 access */
-       {0x03,0x00},    /* character map */
-       {0x04,0x02},    /* Memory mode */
-       {0x07,0x00},    /* Reset Counter */
-       {0xFF,0xFF}             /* end of table */
-};
-
-static VIDEO_CFG_TABLE xreg[] = {
-
-       { 0x0A, 0x00 }, /* Frame Buffer Mapping */
-       { 0x0B, 0x01 }, /* PCI Write Burst support */
-       { 0x0E, 0x00 }, /* Frame buffer Page select */
-       { 0x20, 0x00 }, /* BitBLT Configuration */
-       /*      { 0x40, 0x03 }, */ /* Memory Access Control */
-       { 0x40, 0x00 }, /* Memory Access Control */
-       { 0x60, 0x00 }, /* Video Pin Control */
-       { 0x61, 0x00 }, /* DPMS Synch control */
-       { 0x62, 0x00 }, /* GPIO Pin Control */
-       { 0x63, 0xBD }, /* GPIO Pin Data*/
-       { 0x67, 0x00 }, /* Pin Tri-State */
-       { 0x80, 0x00 }, /* Pixel Pipeline Config 0 register */
-       { 0x81, 0x00 }, /* Pixel Pipeline Config 1 register */
-       { 0x82, 0x00 }, /* Pixel Pipeline Config 2 register */
-       { 0xA0, 0x00 }, /* Cursor 1 Control Reg */
-       { 0xA1, 0x00 }, /* Cursor 1 Vertical Extension Reg */
-       { 0xA2, 0x00 }, /* Cursor 1 Base Address Low */
-       { 0xA3, 0x00 }, /* Cursor 1 Base Address High */
-       { 0xA4, 0x00 }, /* Cursor 1 X-Position Low */
-       { 0xA5, 0x00 }, /* Cursor 1 X-Position High */
-       { 0xA6, 0x00 }, /* Cursor 1 Y-Position Low */
-       { 0xA7, 0x00 }, /* Cursor 1 Y-Position High */
-       { 0xA8, 0x00 }, /* Cursor 2 Control Reg */
-       { 0xA9, 0x00 }, /* Cursor 2 Vertical Extension Reg */
-       { 0xAA, 0x00 }, /* Cursor 2 Base Address Low */
-       { 0xAB, 0x00 }, /* Cursor 2 Base Address High */
-       { 0xAC, 0x00 }, /* Cursor 2 X-Position Low */
-       { 0xAD, 0x00 }, /* Cursor 2 X-Position High */
-       { 0xAE, 0x00 }, /* Cursor 2 Y-Position Low */
-       { 0xAF, 0x00 }, /* Cursor 2 Y-Position High */
-       { 0xC0, 0x7D }, /* Dot Clock 0 VCO M-Divisor */
-       { 0xC1, 0x07 }, /* Dot Clock 0 VCO N-Divisor */
-       { 0xC3, 0x34 }, /* Dot Clock 0 Divisor select */
-       { 0xC4, 0x55 }, /* Dot Clock 1 VCO M-Divisor */
-       { 0xC5, 0x09 }, /* Dot Clock 1 VCO N-Divisor */
-       { 0xC7, 0x24 }, /* Dot Clock 1 Divisor select */
-       { 0xC8, 0x7D }, /* Dot Clock 2 VCO M-Divisor */
-       { 0xC9, 0x07 }, /* Dot Clock 2 VCO N-Divisor */
-       { 0xCB, 0x34 }, /* Dot Clock 2 Divisor select */
-       { 0xCC, 0x38 }, /* Memory Clock 0 VCO M-Divisor */
-       { 0xCD, 0x03 }, /* Memory Clock 0 VCO N-Divisor */
-       { 0xCE, 0x90 }, /* Memory Clock 0 Divisor select */
-       { 0xCF, 0x06 }, /* Clock Config */
-       { 0xD0, 0x0F }, /* Power Down */
-       { 0xD1, 0x01 }, /* Power Down BitBLT */
-       /*      { 0xD2, 0x0F }, */  /* 2KHz Counter Power Down  */
-       { 0xFF, 0xFF}                   /* end of table */
-};
-/* Clock Config:
- * If Loop Divisor = 1
- *   Fvco = (Fref * M/N)
- *      Fout = Fvco / Post Divisor
- * Dot Clk0:
- * ---------
- * M  = (M Div + 2) = 127
- * N  = (N Div + 2) = 9
- * Post Divisor =     8
- * Loop Divisor =     1
- * Fref = 14.31818MHz => Fvco 202.045MHz => Dot Clock 0 = 25.25MHz
- *
- * Dot Clk1:
- * ---------
- * M  = (M Div + 2) = 57
- * N  = (N Div + 2) = 11
- * Post Divisor =     4
- * Loop Divisor =     1
- * Fref = 14.31818MHz => Fvco 113.24MHz => Dot Clock 1 = 28.31MHz
- *
- * Dot Clk2:
- * ---------
- * M  = (M Div + 2) = 127
- * N  = (N Div + 2) = 9
- * Post Divisor =     8
- * Loop Divisor =     1
- * Fref = 14.31818MHz => Fvco 202.045MHz => Dot Clock 2 = 25.25MHz
- *
- * Memory Clk:
- * -----------
- * M  = (M Div + 2) = 58
- * N  = (N Div + 2) = 5
- * Post Divisor =     2
- * Fref = 14.31818MHz => Fvco 166MHz => Dot Clock 1 = 83MHz
- *
- */
-
-
-
-/* DAC datas */
-static unsigned char dac[][3] = {
-  {0x00, 0x00, 0x00}, /* Index  0 (00) */
-  {0x00, 0x00, 0x2A}, /* Index  1 (01) */
-  {0x00, 0x2A, 0x00}, /* Index  2 (02) */
-  {0x00, 0x2A, 0x2A}, /* Index  3 (03) */
-  {0x2A, 0x00, 0x00}, /* Index  4 (04) */
-  {0x2A, 0x00, 0x2A}, /* Index  5 (05) */
-  {0x2A, 0x2A, 0x00}, /* Index  6 (06) */
-  {0x2A, 0x2A, 0x2A}, /* Index  7 (07) */
-  {0x00, 0x00, 0x15}, /* Index  8 (08) */
-  {0x00, 0x00, 0x3F}, /* Index  9 (09) */
-  {0x00, 0x2A, 0x15}, /* Index 10 (0A) */
-  {0x00, 0x2A, 0x3F}, /* Index 11 (0B) */
-  {0x2A, 0x00, 0x15}, /* Index 12 (0C) */
-  {0x2A, 0x00, 0x3F}, /* Index 13 (0D) */
-  {0x2A, 0x2A, 0x15}, /* Index 14 (0E) */
-  {0x2A, 0x2A, 0x3F}, /* Index 15 (0F) */
-  {0x00, 0x15, 0x00}, /* Index 16 (10) */
-  {0x00, 0x15, 0x2A}, /* Index 17 (11) */
-  {0x00, 0x3F, 0x00}, /* Index 18 (12) */
-  {0x00, 0x3F, 0x2A}, /* Index 19 (13) */
-  {0x2A, 0x15, 0x00}, /* Index 20 (14) */
-  {0x2A, 0x15, 0x2A}, /* Index 21 (15) */
-  {0x2A, 0x3F, 0x00}, /* Index 22 (16) */
-  {0x2A, 0x3F, 0x2A}, /* Index 23 (17) */
-  {0x00, 0x15, 0x15}, /* Index 24 (18) */
-  {0x00, 0x15, 0x3F}, /* Index 25 (19) */
-  {0x00, 0x3F, 0x15}, /* Index 26 (1A) */
-  {0x00, 0x3F, 0x3F}, /* Index 27 (1B) */
-  {0x2A, 0x15, 0x15}, /* Index 28 (1C) */
-  {0x2A, 0x15, 0x3F}, /* Index 29 (1D) */
-  {0x2A, 0x3F, 0x15}, /* Index 30 (1E) */
-  {0x2A, 0x3F, 0x3F}, /* Index 31 (1F) */
-  {0x15, 0x00, 0x00}, /* Index 32 (20) */
-  {0x15, 0x00, 0x2A}, /* Index 33 (21) */
-  {0x15, 0x2A, 0x00}, /* Index 34 (22) */
-  {0x15, 0x2A, 0x2A}, /* Index 35 (23) */
-  {0x3F, 0x00, 0x00}, /* Index 36 (24) */
-  {0x3F, 0x00, 0x2A}, /* Index 37 (25) */
-  {0x3F, 0x2A, 0x00}, /* Index 38 (26) */
-  {0x3F, 0x2A, 0x2A}, /* Index 39 (27) */
-  {0x15, 0x00, 0x15}, /* Index 40 (28) */
-  {0x15, 0x00, 0x3F}, /* Index 41 (29) */
-  {0x15, 0x2A, 0x15}, /* Index 42 (2A) */
-  {0x15, 0x2A, 0x3F}, /* Index 43 (2B) */
-  {0x3F, 0x00, 0x15}, /* Index 44 (2C) */
-  {0x3F, 0x00, 0x3F}, /* Index 45 (2D) */
-  {0x3F, 0x2A, 0x15}, /* Index 46 (2E) */
-  {0x3F, 0x2A, 0x3F}, /* Index 47 (2F) */
-  {0x15, 0x15, 0x00}, /* Index 48 (30) */
-  {0x15, 0x15, 0x2A}, /* Index 49 (31) */
-  {0x15, 0x3F, 0x00}, /* Index 50 (32) */
-  {0x15, 0x3F, 0x2A}, /* Index 51 (33) */
-  {0x3F, 0x15, 0x00}, /* Index 52 (34) */
-  {0x3F, 0x15, 0x2A}, /* Index 53 (35) */
-  {0x3F, 0x3F, 0x00}, /* Index 54 (36) */
-  {0x3F, 0x3F, 0x2A}, /* Index 55 (37) */
-  {0x15, 0x15, 0x15}, /* Index 56 (38) */
-  {0x15, 0x15, 0x3F}, /* Index 57 (39) */
-  {0x15, 0x3F, 0x15}, /* Index 58 (3A) */
-  {0x15, 0x3F, 0x3F}, /* Index 59 (3B) */
-  {0x3F, 0x15, 0x15}, /* Index 60 (3C) */
-  {0x3F, 0x15, 0x3F}, /* Index 61 (3D) */
-  {0x3F, 0x3F, 0x15}, /* Index 62 (3E) */
-  {0x3F, 0x3F, 0x3F}, /* Index 63 (3F) */
-  {0x16, 0x1E, 0x17}, /* Index 64 (40) */
-  {0x27, 0x2F, 0x00}, /* Index 65 (41) */
-  {0x1E, 0x20, 0x18}, /* Index 66 (42) */
-  {0x30, 0x04, 0x06}, /* Index 67 (43) */
-  {0x08, 0x05, 0x12}, /* Index 68 (44) */
-  {0x30, 0x0A, 0x31}, /* Index 69 (45) */
-  {0x08, 0x16, 0x07}, /* Index 70 (46) */
-  {0x1B, 0x33, 0x21}, /* Index 71 (47) */
-  {0x02, 0x2C, 0x16}, /* Index 72 (48) */
-  {0x3D, 0x1C, 0x11}, /* Index 73 (49) */
-  {0x07, 0x22, 0x33}, /* Index 74 (4A) */
-  {0x1D, 0x2B, 0x0A}, /* Index 75 (4B) */
-  {0x1A, 0x15, 0x16}, /* Index 76 (4C) */
-  {0x15, 0x26, 0x24}, /* Index 77 (4D) */
-  {0x05, 0x2B, 0x1E}, /* Index 78 (4E) */
-  {0x11, 0x18, 0x01}, /* Index 79 (4F) */
-  {0x3A, 0x2C, 0x27}, /* Index 80 (50) */
-  {0x25, 0x23, 0x00}, /* Index 81 (51) */
-  {0x2A, 0x16, 0x2A}, /* Index 82 (52) */
-  {0x18, 0x19, 0x17}, /* Index 83 (53) */
-  {0x0B, 0x0F, 0x06}, /* Index 84 (54) */
-  {0x00, 0x34, 0x08}, /* Index 85 (55) */
-  {0x00, 0x19, 0x12}, /* Index 86 (56) */
-  {0x01, 0x06, 0x3B}, /* Index 87 (57) */
-  {0x29, 0x0E, 0x25}, /* Index 88 (58) */
-  {0x20, 0x10, 0x28}, /* Index 89 (59) */
-  {0x02, 0x37, 0x24}, /* Index 90 (5A) */
-  {0x08, 0x2A, 0x2E}, /* Index 91 (5B) */
-  {0x26, 0x2A, 0x22}, /* Index 92 (5C) */
-  {0x0C, 0x0C, 0x2A}, /* Index 93 (5D) */
-  {0x28, 0x07, 0x02}, /* Index 94 (5E) */
-  {0x34, 0x05, 0x2B}, /* Index 95 (5F) */
-  {0x0C, 0x31, 0x33}, /* Index 96 (60) */
-  {0x22, 0x08, 0x30}, /* Index 97 (61) */
-  {0x00, 0x25, 0x01}, /* Index 98 (62) */
-  {0x06, 0x15, 0x01}, /* Index 99 (63) */
-  {0x0D, 0x2A, 0x0A}, /* Index 100 (64) */
-  {0x08, 0x25, 0x16}, /* Index 101 (65) */
-  {0x2A, 0x0A, 0x01}, /* Index 102 (66) */
-  {0x08, 0x3B, 0x28}, /* Index 103 (67) */
-  {0x00, 0x09, 0x04}, /* Index 104 (68) */
-  {0x16, 0x0F, 0x05}, /* Index 105 (69) */
-  {0x02, 0x2F, 0x1D}, /* Index 106 (6A) */
-  {0x06, 0x3E, 0x02}, /* Index 107 (6B) */
-  {0x09, 0x30, 0x07}, /* Index 108 (6C) */
-  {0x34, 0x03, 0x06}, /* Index 109 (6D) */
-  {0x00, 0x15, 0x2A}, /* Index 110 (6E) */
-  {0x39, 0x23, 0x20}, /* Index 111 (6F) */
-  {0x2A, 0x32, 0x0C}, /* Index 112 (70) */
-  {0x09, 0x31, 0x26}, /* Index 113 (71) */
-  {0x27, 0x23, 0x28}, /* Index 114 (72) */
-  {0x20, 0x13, 0x0C}, /* Index 115 (73) */
-  {0x2C, 0x1E, 0x26}, /* Index 116 (74) */
-  {0x20, 0x2F, 0x05}, /* Index 117 (75) */
-  {0x22, 0x1B, 0x22}, /* Index 118 (76) */
-  {0x09, 0x1C, 0x06}, /* Index 119 (77) */
-  {0x16, 0x38, 0x0E}, /* Index 120 (78) */
-  {0x22, 0x16, 0x20}, /* Index 121 (79) */
-  {0x10, 0x17, 0x25}, /* Index 122 (7A) */
-  {0x04, 0x32, 0x22}, /* Index 123 (7B) */
-  {0x20, 0x00, 0x37}, /* Index 124 (7C) */
-  {0x21, 0x15, 0x1A}, /* Index 125 (7D) */
-  {0x01, 0x04, 0x20}, /* Index 126 (7E) */
-  {0x02, 0x0C, 0x1E}, /* Index 127 (7F) */
-  {0x15, 0x15, 0x29}, /* Index 128 (80) */
-  {0x24, 0x3B, 0x00}, /* Index 129 (81) */
-  {0x24, 0x28, 0x01}, /* Index 130 (82) */
-  {0x20, 0x19, 0x07}, /* Index 131 (83) */
-  {0x1A, 0x13, 0x02}, /* Index 132 (84) */
-  {0x04, 0x24, 0x1F}, /* Index 133 (85) */
-  {0x32, 0x30, 0x08}, /* Index 134 (86) */
-  {0x23, 0x12, 0x0B}, /* Index 135 (87) */
-  {0x21, 0x38, 0x00}, /* Index 136 (88) */
-  {0x04, 0x13, 0x09}, /* Index 137 (89) */
-  {0x06, 0x3E, 0x14}, /* Index 138 (8A) */
-  {0x23, 0x22, 0x2D}, /* Index 139 (8B) */
-  {0x3D, 0x35, 0x30}, /* Index 140 (8C) */
-  {0x24, 0x38, 0x05}, /* Index 141 (8D) */
-  {0x18, 0x01, 0x26}, /* Index 142 (8E) */
-  {0x27, 0x11, 0x38}, /* Index 143 (8F) */
-  {0x08, 0x1A, 0x08}, /* Index 144 (90) */
-  {0x00, 0x1A, 0x07}, /* Index 145 (91) */
-  {0x16, 0x0C, 0x30}, /* Index 146 (92) */
-  {0x1B, 0x0A, 0x0B}, /* Index 147 (93) */
-  {0x01, 0x0C, 0x09}, /* Index 148 (94) */
-  {0x00, 0x33, 0x03}, /* Index 149 (95) */
-  {0x13, 0x0A, 0x06}, /* Index 150 (96) */
-  {0x22, 0x19, 0x23}, /* Index 151 (97) */
-  {0x07, 0x30, 0x39}, /* Index 152 (98) */
-  {0x20, 0x07, 0x0D}, /* Index 153 (99) */
-  {0x39, 0x18, 0x20}, /* Index 154 (9A) */
-  {0x32, 0x31, 0x29}, /* Index 155 (9B) */
-  {0x28, 0x3F, 0x02}, /* Index 156 (9C) */
-  {0x02, 0x15, 0x3E}, /* Index 157 (9D) */
-  {0x27, 0x33, 0x0E}, /* Index 158 (9E) */
-  {0x39, 0x2E, 0x1D}, /* Index 159 (9F) */
-  {0x1E, 0x38, 0x10}, /* Index 160 (A0) */
-  {0x01, 0x33, 0x19}, /* Index 161 (A1) */
-  {0x2B, 0x20, 0x0B}, /* Index 162 (A2) */
-  {0x29, 0x0B, 0x23}, /* Index 163 (A3) */
-  {0x25, 0x04, 0x19}, /* Index 164 (A4) */
-  {0x34, 0x36, 0x08}, /* Index 165 (A5) */
-  {0x17, 0x1D, 0x01}, /* Index 166 (A6) */
-  {0x0A, 0x29, 0x10}, /* Index 167 (A7) */
-  {0x14, 0x1C, 0x2B}, /* Index 168 (A8) */
-  {0x02, 0x2C, 0x13}, /* Index 169 (A9) */
-  {0x14, 0x16, 0x3A}, /* Index 170 (AA) */
-  {0x2B, 0x22, 0x28}, /* Index 171 (AB) */
-  {0x2E, 0x0A, 0x22}, /* Index 172 (AC) */
-  {0x00, 0x20, 0x28}, /* Index 173 (AD) */
-  {0x08, 0x22, 0x2D}, /* Index 174 (AE) */
-  {0x2C, 0x17, 0x1D}, /* Index 175 (AF) */
-  {0x02, 0x0D, 0x20}, /* Index 176 (B0) */
-  {0x00, 0x18, 0x2C}, /* Index 177 (B1) */
-  {0x19, 0x19, 0x3C}, /* Index 178 (B2) */
-  {0x20, 0x32, 0x10}, /* Index 179 (B3) */
-  {0x38, 0x1C, 0x21}, /* Index 180 (B4) */
-  {0x36, 0x10, 0x00}, /* Index 181 (B5) */
-  {0x20, 0x08, 0x19}, /* Index 182 (B6) */
-  {0x09, 0x12, 0x01}, /* Index 183 (B7) */
-  {0x1D, 0x39, 0x03}, /* Index 184 (B8) */
-  {0x20, 0x28, 0x11}, /* Index 185 (B9) */
-  {0x35, 0x17, 0x01}, /* Index 186 (BA) */
-  {0x0C, 0x02, 0x08}, /* Index 187 (BB) */
-  {0x39, 0x0D, 0x10}, /* Index 188 (BC) */
-  {0x38, 0x21, 0x16}, /* Index 189 (BD) */
-  {0x29, 0x3E, 0x14}, /* Index 190 (BE) */
-  {0x0A, 0x1C, 0x28}, /* Index 191 (BF) */
-  {0x2F, 0x03, 0x08}, /* Index 192 (C0) */
-  {0x02, 0x18, 0x39}, /* Index 193 (C1) */
-  {0x0F, 0x31, 0x1E}, /* Index 194 (C2) */
-  {0x24, 0x0C, 0x03}, /* Index 195 (C3) */
-  {0x04, 0x1A, 0x04}, /* Index 196 (C4) */
-  {0x30, 0x33, 0x04}, /* Index 197 (C5) */
-  {0x2C, 0x18, 0x36}, /* Index 198 (C6) */
-  {0x18, 0x2F, 0x09}, /* Index 199 (C7) */
-  {0x03, 0x04, 0x03}, /* Index 200 (C8) */
-  {0x22, 0x05, 0x10}, /* Index 201 (C9) */
-  {0x03, 0x24, 0x0A}, /* Index 202 (CA) */
-  {0x00, 0x1E, 0x1A}, /* Index 203 (CB) */
-  {0x00, 0x0A, 0x11}, /* Index 204 (CC) */
-  {0x0E, 0x1F, 0x09}, /* Index 205 (CD) */
-  {0x1B, 0x3A, 0x3B}, /* Index 206 (CE) */
-  {0x22, 0x39, 0x36}, /* Index 207 (CF) */
-  {0x22, 0x10, 0x23}, /* Index 208 (D0) */
-  {0x31, 0x14, 0x2B}, /* Index 209 (D1) */
-  {0x0C, 0x33, 0x35}, /* Index 210 (D2) */
-  {0x27, 0x3E, 0x10}, /* Index 211 (D3) */
-  {0x10, 0x04, 0x30}, /* Index 212 (D4) */
-  {0x05, 0x21, 0x0A}, /* Index 213 (D5) */
-  {0x09, 0x11, 0x24}, /* Index 214 (D6) */
-  {0x02, 0x2B, 0x00}, /* Index 215 (D7) */
-  {0x02, 0x05, 0x15}, /* Index 216 (D8) */
-  {0x11, 0x32, 0x1A}, /* Index 217 (D9) */
-  {0x2E, 0x1B, 0x08}, /* Index 218 (DA) */
-  {0x0D, 0x2F, 0x11}, /* Index 219 (DB) */
-  {0x03, 0x30, 0x28}, /* Index 220 (DC) */
-  {0x15, 0x38, 0x0A}, /* Index 221 (DD) */
-  {0x07, 0x00, 0x00}, /* Index 222 (DE) */
-  {0x1D, 0x1C, 0x20}, /* Index 223 (DF) */
-  {0x35, 0x11, 0x35}, /* Index 224 (E0) */
-  {0x24, 0x29, 0x03}, /* Index 225 (E1) */
-  {0x22, 0x37, 0x39}, /* Index 226 (E2) */
-  {0x11, 0x1B, 0x10}, /* Index 227 (E3) */
-  {0x2D, 0x18, 0x00}, /* Index 228 (E4) */
-  {0x20, 0x2F, 0x10}, /* Index 229 (E5) */
-  {0x21, 0x26, 0x32}, /* Index 230 (E6) */
-  {0x24, 0x10, 0x3D}, /* Index 231 (E7) */
-  {0x27, 0x0E, 0x03}, /* Index 232 (E8) */
-  {0x31, 0x1F, 0x11}, /* Index 233 (E9) */
-  {0x16, 0x0D, 0x02}, /* Index 234 (EA) */
-  {0x24, 0x12, 0x16}, /* Index 235 (EB) */
-  {0x0F, 0x27, 0x18}, /* Index 236 (EC) */
-  {0x10, 0x0E, 0x20}, /* Index 237 (ED) */
-  {0x12, 0x0C, 0x0D}, /* Index 238 (EE) */
-  {0x14, 0x38, 0x0B}, /* Index 239 (EF) */
-  {0x23, 0x0C, 0x09}, /* Index 240 (F0) */
-  {0x13, 0x21, 0x0E}, /* Index 241 (F1) */
-  {0x2C, 0x05, 0x2C}, /* Index 242 (F2) */
-  {0x08, 0x29, 0x01}, /* Index 243 (F3) */
-  {0x36, 0x0A, 0x13}, /* Index 244 (F4) */
-  {0x08, 0x2D, 0x26}, /* Index 245 (F5) */
-  {0x23, 0x30, 0x3E}, /* Index 246 (F6) */
-  {0x33, 0x00, 0x04}, /* Index 247 (F7) */
-  {0x25, 0x1E, 0x3A}, /* Index 248 (F8) */
-  {0x11, 0x2C, 0x26}, /* Index 249 (F9) */
-  {0x20, 0x32, 0x27}, /* Index 250 (FA) */
-  {0x23, 0x21, 0x13}, /* Index 251 (FB) */
-  {0x22, 0x23, 0x1F}, /* Index 252 (FC) */
-  {0x31, 0x08, 0x0A}, /* Index 253 (FD) */
-  {0x00, 0x01, 0x09}, /* Index 254 (FE) */
-  {0x17, 0x07, 0x38} /* Index 255 (FF) */
-};
-
-
-/***********************************************
- * 8x16 Font
- *
- * copied from file
- * drivers/video/font_8x16.c (LINUX)
- **********************************************/
-/**********************************************/
-/*                                            */
-/*       Font file generated by cpi2fnt       */
-/*                                            */
-/**********************************************/
-
-#define FONTDATAMAX 4096
-
-unsigned char fontdata_8x16[FONTDATAMAX] = {
-
-       /* 0 0x00 '^@' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 1 0x01 '^A' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x81, /* 10000001 */
-       0xa5, /* 10100101 */
-       0x81, /* 10000001 */
-       0x81, /* 10000001 */
-       0xbd, /* 10111101 */
-       0x99, /* 10011001 */
-       0x81, /* 10000001 */
-       0x81, /* 10000001 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 2 0x02 '^B' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0xff, /* 11111111 */
-       0xdb, /* 11011011 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xc3, /* 11000011 */
-       0xe7, /* 11100111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 3 0x03 '^C' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x6c, /* 01101100 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0x7c, /* 01111100 */
-       0x38, /* 00111000 */
-       0x10, /* 00010000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 4 0x04 '^D' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x7c, /* 01111100 */
-       0xfe, /* 11111110 */
-       0x7c, /* 01111100 */
-       0x38, /* 00111000 */
-       0x10, /* 00010000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 5 0x05 '^E' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0xe7, /* 11100111 */
-       0xe7, /* 11100111 */
-       0xe7, /* 11100111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 6 0x06 '^F' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x7e, /* 01111110 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 7 0x07 '^G' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 8 0x08 '^H' */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xe7, /* 11100111 */
-       0xc3, /* 11000011 */
-       0xc3, /* 11000011 */
-       0xe7, /* 11100111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-
-       /* 9 0x09 '^I' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x42, /* 01000010 */
-       0x42, /* 01000010 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 10 0x0a '^J' */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xc3, /* 11000011 */
-       0x99, /* 10011001 */
-       0xbd, /* 10111101 */
-       0xbd, /* 10111101 */
-       0x99, /* 10011001 */
-       0xc3, /* 11000011 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-
-       /* 11 0x0b '^K' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1e, /* 00011110 */
-       0x0e, /* 00001110 */
-       0x1a, /* 00011010 */
-       0x32, /* 00110010 */
-       0x78, /* 01111000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 12 0x0c '^L' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 13 0x0d '^M' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3f, /* 00111111 */
-       0x33, /* 00110011 */
-       0x3f, /* 00111111 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x70, /* 01110000 */
-       0xf0, /* 11110000 */
-       0xe0, /* 11100000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 14 0x0e '^N' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7f, /* 01111111 */
-       0x63, /* 01100011 */
-       0x7f, /* 01111111 */
-       0x63, /* 01100011 */
-       0x63, /* 01100011 */
-       0x63, /* 01100011 */
-       0x63, /* 01100011 */
-       0x67, /* 01100111 */
-       0xe7, /* 11100111 */
-       0xe6, /* 11100110 */
-       0xc0, /* 11000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 15 0x0f '^O' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xdb, /* 11011011 */
-       0x3c, /* 00111100 */
-       0xe7, /* 11100111 */
-       0x3c, /* 00111100 */
-       0xdb, /* 11011011 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 16 0x10 '^P' */
-       0x00, /* 00000000 */
-       0x80, /* 10000000 */
-       0xc0, /* 11000000 */
-       0xe0, /* 11100000 */
-       0xf0, /* 11110000 */
-       0xf8, /* 11111000 */
-       0xfe, /* 11111110 */
-       0xf8, /* 11111000 */
-       0xf0, /* 11110000 */
-       0xe0, /* 11100000 */
-       0xc0, /* 11000000 */
-       0x80, /* 10000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 17 0x11 '^Q' */
-       0x00, /* 00000000 */
-       0x02, /* 00000010 */
-       0x06, /* 00000110 */
-       0x0e, /* 00001110 */
-       0x1e, /* 00011110 */
-       0x3e, /* 00111110 */
-       0xfe, /* 11111110 */
-       0x3e, /* 00111110 */
-       0x1e, /* 00011110 */
-       0x0e, /* 00001110 */
-       0x06, /* 00000110 */
-       0x02, /* 00000010 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 18 0x12 '^R' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 19 0x13 '^S' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 20 0x14 '^T' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7f, /* 01111111 */
-       0xdb, /* 11011011 */
-       0xdb, /* 11011011 */
-       0xdb, /* 11011011 */
-       0x7b, /* 01111011 */
-       0x1b, /* 00011011 */
-       0x1b, /* 00011011 */
-       0x1b, /* 00011011 */
-       0x1b, /* 00011011 */
-       0x1b, /* 00011011 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 21 0x15 '^U' */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0x60, /* 01100000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x0c, /* 00001100 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 22 0x16 '^V' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 23 0x17 '^W' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 24 0x18 '^X' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 25 0x19 '^Y' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 26 0x1a '^Z' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0xfe, /* 11111110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 27 0x1b '^[' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xfe, /* 11111110 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 28 0x1c '^\' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 29 0x1d '^]' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x28, /* 00101000 */
-       0x6c, /* 01101100 */
-       0xfe, /* 11111110 */
-       0x6c, /* 01101100 */
-       0x28, /* 00101000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 30 0x1e '^^' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x38, /* 00111000 */
-       0x7c, /* 01111100 */
-       0x7c, /* 01111100 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 31 0x1f '^_' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0x7c, /* 01111100 */
-       0x7c, /* 01111100 */
-       0x38, /* 00111000 */
-       0x38, /* 00111000 */
-       0x10, /* 00010000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 32 0x20 ' ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 33 0x21 '!' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 34 0x22 '"' */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x24, /* 00100100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 35 0x23 '#' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0xfe, /* 11111110 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0xfe, /* 11111110 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 36 0x24 '$' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc2, /* 11000010 */
-       0xc0, /* 11000000 */
-       0x7c, /* 01111100 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x86, /* 10000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 37 0x25 '%' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc2, /* 11000010 */
-       0xc6, /* 11000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc6, /* 11000110 */
-       0x86, /* 10000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 38 0x26 '&' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 39 0x27 ''' */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 40 0x28 '(' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 41 0x29 ')' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 42 0x2a '*' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0xff, /* 11111111 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 43 0x2b '+' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 44 0x2c ',' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 45 0x2d '-' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 46 0x2e '.' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 47 0x2f '/' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x02, /* 00000010 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0x80, /* 10000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 48 0x30 '0' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 49 0x31 '1' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x38, /* 00111000 */
-       0x78, /* 01111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 50 0x32 '2' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 51 0x33 '3' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x3c, /* 00111100 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 52 0x34 '4' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x0c, /* 00001100 */
-       0x1c, /* 00011100 */
-       0x3c, /* 00111100 */
-       0x6c, /* 01101100 */
-       0xcc, /* 11001100 */
-       0xfe, /* 11111110 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x1e, /* 00011110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 53 0x35 '5' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xfc, /* 11111100 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 54 0x36 '6' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xfc, /* 11111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 55 0x37 '7' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 56 0x38 '8' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 57 0x39 '9' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7e, /* 01111110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 58 0x3a ':' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 59 0x3b ';' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 60 0x3c '<' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x06, /* 00000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 61 0x3d '=' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 62 0x3e '>' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 63 0x3f '?' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 64 0x40 '@' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xde, /* 11011110 */
-       0xde, /* 11011110 */
-       0xde, /* 11011110 */
-       0xdc, /* 11011100 */
-       0xc0, /* 11000000 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 65 0x41 'A' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 66 0x42 'B' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfc, /* 11111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0xfc, /* 11111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 67 0x43 'C' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0xc2, /* 11000010 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc2, /* 11000010 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 68 0x44 'D' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xf8, /* 11111000 */
-       0x6c, /* 01101100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x6c, /* 01101100 */
-       0xf8, /* 11111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 69 0x45 'E' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x66, /* 01100110 */
-       0x62, /* 01100010 */
-       0x68, /* 01101000 */
-       0x78, /* 01111000 */
-       0x68, /* 01101000 */
-       0x60, /* 01100000 */
-       0x62, /* 01100010 */
-       0x66, /* 01100110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 70 0x46 'F' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x66, /* 01100110 */
-       0x62, /* 01100010 */
-       0x68, /* 01101000 */
-       0x78, /* 01111000 */
-       0x68, /* 01101000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xf0, /* 11110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 71 0x47 'G' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0xc2, /* 11000010 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xde, /* 11011110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x66, /* 01100110 */
-       0x3a, /* 00111010 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 72 0x48 'H' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 73 0x49 'I' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 74 0x4a 'J' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1e, /* 00011110 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 75 0x4b 'K' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xe6, /* 11100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x6c, /* 01101100 */
-       0x78, /* 01111000 */
-       0x78, /* 01111000 */
-       0x6c, /* 01101100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0xe6, /* 11100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 76 0x4c 'L' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xf0, /* 11110000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x62, /* 01100010 */
-       0x66, /* 01100110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 77 0x4d 'M' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xee, /* 11101110 */
-       0xfe, /* 11111110 */
-       0xfe, /* 11111110 */
-       0xd6, /* 11010110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 78 0x4e 'N' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xe6, /* 11100110 */
-       0xf6, /* 11110110 */
-       0xfe, /* 11111110 */
-       0xde, /* 11011110 */
-       0xce, /* 11001110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 79 0x4f 'O' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 80 0x50 'P' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfc, /* 11111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xf0, /* 11110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 81 0x51 'Q' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xd6, /* 11010110 */
-       0xde, /* 11011110 */
-       0x7c, /* 01111100 */
-       0x0c, /* 00001100 */
-       0x0e, /* 00001110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 82 0x52 'R' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfc, /* 11111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x6c, /* 01101100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0xe6, /* 11100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 83 0x53 'S' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x60, /* 01100000 */
-       0x38, /* 00111000 */
-       0x0c, /* 00001100 */
-       0x06, /* 00000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 84 0x54 'T' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x5a, /* 01011010 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 85 0x55 'U' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 86 0x56 'V' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x10, /* 00010000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 87 0x57 'W' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xfe, /* 11111110 */
-       0xee, /* 11101110 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 88 0x58 'X' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x7c, /* 01111100 */
-       0x38, /* 00111000 */
-       0x38, /* 00111000 */
-       0x7c, /* 01111100 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 89 0x59 'Y' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 90 0x5a 'Z' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0x86, /* 10000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc2, /* 11000010 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 91 0x5b '[' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 92 0x5c '\' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x80, /* 10000000 */
-       0xc0, /* 11000000 */
-       0xe0, /* 11100000 */
-       0x70, /* 01110000 */
-       0x38, /* 00111000 */
-       0x1c, /* 00011100 */
-       0x0e, /* 00001110 */
-       0x06, /* 00000110 */
-       0x02, /* 00000010 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 93 0x5d ']' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 94 0x5e '^' */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 95 0x5f '_' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 96 0x60 '`' */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 97 0x61 'a' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 98 0x62 'b' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xe0, /* 11100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x78, /* 01111000 */
-       0x6c, /* 01101100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 99 0x63 'c' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 100 0x64 'd' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1c, /* 00011100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x3c, /* 00111100 */
-       0x6c, /* 01101100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 101 0x65 'e' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 102 0x66 'f' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1c, /* 00011100 */
-       0x36, /* 00110110 */
-       0x32, /* 00110010 */
-       0x30, /* 00110000 */
-       0x78, /* 01111000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 103 0x67 'g' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x7c, /* 01111100 */
-       0x0c, /* 00001100 */
-       0xcc, /* 11001100 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-
-       /* 104 0x68 'h' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xe0, /* 11100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x6c, /* 01101100 */
-       0x76, /* 01110110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0xe6, /* 11100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 105 0x69 'i' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 106 0x6a 'j' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x00, /* 00000000 */
-       0x0e, /* 00001110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-
-       /* 107 0x6b 'k' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xe0, /* 11100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x66, /* 01100110 */
-       0x6c, /* 01101100 */
-       0x78, /* 01111000 */
-       0x78, /* 01111000 */
-       0x6c, /* 01101100 */
-       0x66, /* 01100110 */
-       0xe6, /* 11100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 108 0x6c 'l' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 109 0x6d 'm' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xec, /* 11101100 */
-       0xfe, /* 11111110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 110 0x6e 'n' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xdc, /* 11011100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 111 0x6f 'o' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 112 0x70 'p' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xdc, /* 11011100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xf0, /* 11110000 */
-       0x00, /* 00000000 */
-
-       /* 113 0x71 'q' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x7c, /* 01111100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x1e, /* 00011110 */
-       0x00, /* 00000000 */
-
-       /* 114 0x72 'r' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xdc, /* 11011100 */
-       0x76, /* 01110110 */
-       0x66, /* 01100110 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xf0, /* 11110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 115 0x73 's' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0x60, /* 01100000 */
-       0x38, /* 00111000 */
-       0x0c, /* 00001100 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 116 0x74 't' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0xfc, /* 11111100 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x36, /* 00110110 */
-       0x1c, /* 00011100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 117 0x75 'u' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 118 0x76 'v' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 119 0x77 'w' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xd6, /* 11010110 */
-       0xfe, /* 11111110 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 120 0x78 'x' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x38, /* 00111000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 121 0x79 'y' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7e, /* 01111110 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0xf8, /* 11111000 */
-       0x00, /* 00000000 */
-
-       /* 122 0x7a 'z' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xcc, /* 11001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 123 0x7b '{' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x0e, /* 00001110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x70, /* 01110000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x0e, /* 00001110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 124 0x7c '|' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 125 0x7d '}' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x70, /* 01110000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x0e, /* 00001110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 126 0x7e '~' */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 127 0x7f '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 128 0x80 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0xc2, /* 11000010 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc2, /* 11000010 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 129 0x81 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 130 0x82 '' */
-       0x00, /* 00000000 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 131 0x83 '' */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 132 0x84 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 133 0x85 '' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 134 0x86 '' */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 135 0x87 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x18, /* 00011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 136 0x88 '' */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 137 0x89 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 138 0x8a '' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 139 0x8b '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 140 0x8c '' */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 141 0x8d '' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 142 0x8e '' */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 143 0x8f '' */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 144 0x90 '' */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x66, /* 01100110 */
-       0x62, /* 01100010 */
-       0x68, /* 01101000 */
-       0x78, /* 01111000 */
-       0x68, /* 01101000 */
-       0x62, /* 01100010 */
-       0x66, /* 01100110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 145 0x91 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xec, /* 11101100 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x7e, /* 01111110 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0x6e, /* 01101110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 146 0x92 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3e, /* 00111110 */
-       0x6c, /* 01101100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xfe, /* 11111110 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xce, /* 11001110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 147 0x93 '' */
-       0x00, /* 00000000 */
-       0x10, /* 00010000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 148 0x94 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 149 0x95 '' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 150 0x96 '' */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x78, /* 01111000 */
-       0xcc, /* 11001100 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 151 0x97 '' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 152 0x98 '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7e, /* 01111110 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x78, /* 01111000 */
-       0x00, /* 00000000 */
-
-       /* 153 0x99 '' */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 154 0x9a '' */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 155 0x9b '' */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 156 0x9c '' */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x64, /* 01100100 */
-       0x60, /* 01100000 */
-       0xf0, /* 11110000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xe6, /* 11100110 */
-       0xfc, /* 11111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 157 0x9d '' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 158 0x9e '' */
-       0x00, /* 00000000 */
-       0xf8, /* 11111000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xf8, /* 11111000 */
-       0xc4, /* 11000100 */
-       0xcc, /* 11001100 */
-       0xde, /* 11011110 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 159 0x9f '' */
-       0x00, /* 00000000 */
-       0x0e, /* 00001110 */
-       0x1b, /* 00011011 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xd8, /* 11011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 160 0xa0 ' ' */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0x0c, /* 00001100 */
-       0x7c, /* 01111100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 161 0xa1 '¡' */
-       0x00, /* 00000000 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 162 0xa2 '¢' */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 163 0xa3 '£' */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x00, /* 00000000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 164 0xa4 '¤' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x00, /* 00000000 */
-       0xdc, /* 11011100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 165 0xa5 '¥' */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x00, /* 00000000 */
-       0xc6, /* 11000110 */
-       0xe6, /* 11100110 */
-       0xf6, /* 11110110 */
-       0xfe, /* 11111110 */
-       0xde, /* 11011110 */
-       0xce, /* 11001110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 166 0xa6 '¦' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x3e, /* 00111110 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 167 0xa7 '§' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 168 0xa8 '¨' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x7c, /* 01111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 169 0xa9 '©' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 170 0xaa 'ª' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 171 0xab '«' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0xe0, /* 11100000 */
-       0x62, /* 01100010 */
-       0x66, /* 01100110 */
-       0x6c, /* 01101100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xdc, /* 11011100 */
-       0x86, /* 10000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x3e, /* 00111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 172 0xac '¬' */
-       0x00, /* 00000000 */
-       0x60, /* 01100000 */
-       0xe0, /* 11100000 */
-       0x62, /* 01100010 */
-       0x66, /* 01100110 */
-       0x6c, /* 01101100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x66, /* 01100110 */
-       0xce, /* 11001110 */
-       0x9a, /* 10011010 */
-       0x3f, /* 00111111 */
-       0x06, /* 00000110 */
-       0x06, /* 00000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 173 0xad '­' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 174 0xae '®' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x36, /* 00110110 */
-       0x6c, /* 01101100 */
-       0xd8, /* 11011000 */
-       0x6c, /* 01101100 */
-       0x36, /* 00110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 175 0xaf '¯' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xd8, /* 11011000 */
-       0x6c, /* 01101100 */
-       0x36, /* 00110110 */
-       0x6c, /* 01101100 */
-       0xd8, /* 11011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 176 0xb0 '°' */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-       0x11, /* 00010001 */
-       0x44, /* 01000100 */
-
-       /* 177 0xb1 '±' */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-       0x55, /* 01010101 */
-       0xaa, /* 10101010 */
-
-       /* 178 0xb2 '²' */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-       0xdd, /* 11011101 */
-       0x77, /* 01110111 */
-
-       /* 179 0xb3 '³' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 180 0xb4 '´' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 181 0xb5 'µ' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 182 0xb6 '¶' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xf6, /* 11110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 183 0xb7 '·' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 184 0xb8 '¸' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 185 0xb9 '¹' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xf6, /* 11110110 */
-       0x06, /* 00000110 */
-       0xf6, /* 11110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 186 0xba 'º' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 187 0xbb '»' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x06, /* 00000110 */
-       0xf6, /* 11110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 188 0xbc '¼' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xf6, /* 11110110 */
-       0x06, /* 00000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 189 0xbd '½' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 190 0xbe '¾' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 191 0xbf '¿' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xf8, /* 11111000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 192 0xc0 'À' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 193 0xc1 'Á' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 194 0xc2 'Â' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 195 0xc3 'Ã' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 196 0xc4 'Ä' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 197 0xc5 'Å' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xff, /* 11111111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 198 0xc6 'Æ' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 199 0xc7 'Ç' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x37, /* 00110111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 200 0xc8 'È' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x37, /* 00110111 */
-       0x30, /* 00110000 */
-       0x3f, /* 00111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 201 0xc9 'É' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3f, /* 00111111 */
-       0x30, /* 00110000 */
-       0x37, /* 00110111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 202 0xca 'Ê' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xf7, /* 11110111 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 203 0xcb 'Ë' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0xf7, /* 11110111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 204 0xcc 'Ì' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x37, /* 00110111 */
-       0x30, /* 00110000 */
-       0x37, /* 00110111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 205 0xcd 'Í' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 206 0xce 'Î' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xf7, /* 11110111 */
-       0x00, /* 00000000 */
-       0xf7, /* 11110111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 207 0xcf 'Ï' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 208 0xd0 'Ð' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 209 0xd1 'Ñ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 210 0xd2 'Ò' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 211 0xd3 'Ó' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x3f, /* 00111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 212 0xd4 'Ô' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 213 0xd5 'Õ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 214 0xd6 'Ö' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x3f, /* 00111111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 215 0xd7 '×' */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0xff, /* 11111111 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-
-       /* 216 0xd8 'Ø' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xff, /* 11111111 */
-       0x18, /* 00011000 */
-       0xff, /* 11111111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 217 0xd9 'Ù' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xf8, /* 11111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 218 0xda 'Ú' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1f, /* 00011111 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 219 0xdb 'Û' */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-
-       /* 220 0xdc 'Ü' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-
-       /* 221 0xdd 'Ý' */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-       0xf0, /* 11110000 */
-
-       /* 222 0xde 'Þ' */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-       0x0f, /* 00001111 */
-
-       /* 223 0xdf 'ß' */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0xff, /* 11111111 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 224 0xe0 'à' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xdc, /* 11011100 */
-       0x76, /* 01110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 225 0xe1 'á' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x78, /* 01111000 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xcc, /* 11001100 */
-       0xd8, /* 11011000 */
-       0xcc, /* 11001100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xcc, /* 11001100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 226 0xe2 'â' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0xc0, /* 11000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 227 0xe3 'ã' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 228 0xe4 'ä' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 229 0xe5 'å' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 230 0xe6 'æ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x7c, /* 01111100 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0x00, /* 00000000 */
-
-       /* 231 0xe7 'ç' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 232 0xe8 'è' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 233 0xe9 'é' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xfe, /* 11111110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 234 0xea 'ê' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0xee, /* 11101110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 235 0xeb 'ë' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1e, /* 00011110 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x3e, /* 00111110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x66, /* 01100110 */
-       0x3c, /* 00111100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 236 0xec 'ì' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0xdb, /* 11011011 */
-       0xdb, /* 11011011 */
-       0xdb, /* 11011011 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 237 0xed 'í' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x03, /* 00000011 */
-       0x06, /* 00000110 */
-       0x7e, /* 01111110 */
-       0xdb, /* 11011011 */
-       0xdb, /* 11011011 */
-       0xf3, /* 11110011 */
-       0x7e, /* 01111110 */
-       0x60, /* 01100000 */
-       0xc0, /* 11000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 238 0xee 'î' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x1c, /* 00011100 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x7c, /* 01111100 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x1c, /* 00011100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 239 0xef 'ï' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7c, /* 01111100 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0xc6, /* 11000110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 240 0xf0 'ð' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0xfe, /* 11111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 241 0xf1 'ñ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x7e, /* 01111110 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 242 0xf2 'ò' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x06, /* 00000110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 243 0xf3 'ó' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x30, /* 00110000 */
-       0x60, /* 01100000 */
-       0x30, /* 00110000 */
-       0x18, /* 00011000 */
-       0x0c, /* 00001100 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 244 0xf4 'ô' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x0e, /* 00001110 */
-       0x1b, /* 00011011 */
-       0x1b, /* 00011011 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-
-       /* 245 0xf5 'õ' */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0xd8, /* 11011000 */
-       0x70, /* 01110000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 246 0xf6 'ö' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 247 0xf7 '÷' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x00, /* 00000000 */
-       0x76, /* 01110110 */
-       0xdc, /* 11011100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 248 0xf8 'ø' */
-       0x00, /* 00000000 */
-       0x38, /* 00111000 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x38, /* 00111000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 249 0xf9 'ù' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 250 0xfa 'ú' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x18, /* 00011000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 251 0xfb 'û' */
-       0x00, /* 00000000 */
-       0x0f, /* 00001111 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0x0c, /* 00001100 */
-       0xec, /* 11101100 */
-       0x6c, /* 01101100 */
-       0x6c, /* 01101100 */
-       0x3c, /* 00111100 */
-       0x1c, /* 00011100 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 252 0xfc 'ü' */
-       0x00, /* 00000000 */
-       0x6c, /* 01101100 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x36, /* 00110110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 253 0xfd 'ý' */
-       0x00, /* 00000000 */
-       0x3c, /* 00111100 */
-       0x66, /* 01100110 */
-       0x0c, /* 00001100 */
-       0x18, /* 00011000 */
-       0x32, /* 00110010 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 254 0xfe 'þ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x7e, /* 01111110 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-       /* 255 0xff 'ÿ' */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-       0x00, /* 00000000 */
-
-};
-
-#endif /* #ifndef _VGA_TABLE_H */
diff --git a/board/mpl/common/video.c b/board/mpl/common/video.c
deleted file mode 100644 (file)
index d92804a..0000000
+++ /dev/null
@@ -1,760 +0,0 @@
-/*
- * (C) Copyright 2001
- * Denis Peter, MPL AG Switzerland
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- * Note: Parts of these software are imported from
- *       - UBL, The Universal Talkware Boot Loader
- *         Copyright (C) 2000 Universal Talkware Inc.
- *       - Linux
- *
- *
- */
-
-#include <common.h>
-
-#ifdef CONFIG_VIDEO
-
-#include <command.h>
-#include <asm/processor.h>
-#include <devices.h>
-#include "video.h"
-#include <pci.h>
-#include "vga_table.h"
-
-
-
-#ifdef CONFIG_VIDEO_CT69000
-#define VIDEO_VEND_ID 0x102C
-#define VIDEO_DEV_ID  0x00C0
-#else
-#error  CONFIG_VIDEO_CT69000 must be defined
-#endif
-
-/*
- * Routine for resent board info to video
- * resides in pip405.c
- */
-extern void video_write_board_info(void);
-
-#undef VGA_DEBUG
-
-#ifdef VGA_DEBUG
-#define        PRINTF(fmt,args...)     printf (fmt ,##args)
-#else
-#define PRINTF(fmt,args...)
-#endif
-
-#define VGA_MAXROWS    25
-#define VGA_MAXCOLS 80
-
-#define CRTC_CURSH     14 /* cursor high pos */
-#define CRTC_CURSL     15 /* cursor low pos */
-
-/* description of the hardware layout */
-
-#define ATTRI_INDEX            CFG_ISA_IO_BASE_ADDRESS | 0x3c0                         /* Index and Data write port of the attribute Registers */
-#define ATTRI_DATA             CFG_ISA_IO_BASE_ADDRESS | 0x3c1                         /* Data port of the attribute Registers */
-#define STATUS_REG0            CFG_ISA_IO_BASE_ADDRESS | 0x3c2                         /* Status Register 0 (read only) */
-#define MSR_REG_W                      CFG_ISA_IO_BASE_ADDRESS | 0x3c2                         /* Misc. Output Register (write only) */
-#define SEQ_INDEX                      CFG_ISA_IO_BASE_ADDRESS | 0x3c4                         /* Index port of the Sequencer Controller */
-#define SEQ_DATA                       CFG_ISA_IO_BASE_ADDRESS | 0x3c5                         /* Data port of the Sequencer Controller */
-#define COL_PAL_MASK   CFG_ISA_IO_BASE_ADDRESS | 0x3c6                         /* Color Palette Mask */
-#define COL_PAL_STAT   CFG_ISA_IO_BASE_ADDRESS | 0x3c7                         /* Color Palette Status (read only) */
-#define COL_PAL_IND_R  CFG_ISA_IO_BASE_ADDRESS | 0x3c7                         /* Color Palette Read Mode Index (write only) */
-#define COL_PAL_IND_W  CFG_ISA_IO_BASE_ADDRESS | 0x3c8                         /* Color Palette Write Mode Index */
-#define COL_PAL_DATA   CFG_ISA_IO_BASE_ADDRESS | 0x3c9                         /* Color Palette Data Port */
-#define FCR_REG_R                      CFG_ISA_IO_BASE_ADDRESS | 0x3ca                         /* Feature Control Register (read only) */
-#define MSR_REG_R                      CFG_ISA_IO_BASE_ADDRESS | 0x3cc                         /* Misc. Output Register (read only) */
-#define GR_INDEX                       CFG_ISA_IO_BASE_ADDRESS | 0x3ce                         /* Index port of the Graphic Controller Registers */
-#define GR_DATA                                CFG_ISA_IO_BASE_ADDRESS | 0x3cf                         /* Data port of the Graphic Controller Registers */
-#define FP_INDEX                       CFG_ISA_IO_BASE_ADDRESS | 0x3d0                         /* Index port of the Flat panel Registers */
-#define FP_DATA                                CFG_ISA_IO_BASE_ADDRESS | 0x3d1                         /* Data port of the Flat panel Registers */
-#define MR_INDEX                       CFG_ISA_IO_BASE_ADDRESS | 0x3d2                         /* Index Port of the Multimedia Extension */
-#define MR_DATA                                CFG_ISA_IO_BASE_ADDRESS | 0x3d3                         /* Data Port of the Multimedia Extension */
-#define CRT_INDEX                      CFG_ISA_IO_BASE_ADDRESS | 0x3d4                         /* Index port of the CRT Controller */
-#define CRT_DATA                       CFG_ISA_IO_BASE_ADDRESS | 0x3d5                         /* Data port of the CRT Controller */
-#define XREG_INDEX             CFG_ISA_IO_BASE_ADDRESS | 0x3d6                         /* Extended Register index */
-#define XREG_DATA                      CFG_ISA_IO_BASE_ADDRESS | 0x3d7                         /* Extended Register data */
-#define STATUS_REG1            CFG_ISA_IO_BASE_ADDRESS | 0x3da                         /* Input Status Register 1 (read only) */
-#define FCR_REG_W                      CFG_ISA_IO_BASE_ADDRESS | 0x3da                         /* Feature Control Register (write only) */
-
-
-static unsigned char * video_fb;               /* Frame buffer */
-
-/* current hardware state */
-
-static int     video_row;
-static int     video_col;
-static unsigned char video_attr;
-
-static unsigned int font_base_addr;
-/**********************************************************************
- * some forward declerations...
- */
-int video_init(int busdevfunc);
-void vga_set_attrib(void);
-void vga_set_crt(void);
-void vga_set_dac(void);
-void vga_set_gr(void);
-void vga_set_seq(void);
-void vga_set_xreg(void);
-void vga_write_sr(unsigned char reg,unsigned char val);
-void vga_write_gr(unsigned char reg,unsigned char val);
-void vga_write_cr(unsigned char reg,unsigned char val);
-void vga_set_font(void);
-
-/***************************************************************************
- * Init VGA Device
- */
-
-int drv_video_init (void)
-{
-       int error, devices = 1 ;
-       device_t vgadev ;
-       int     busdevfunc;
-
-       busdevfunc=pci_find_device(VIDEO_VEND_ID,VIDEO_DEV_ID,0); /* get PCI Device ID */
-       if(busdevfunc==-1) {
-#ifdef CONFIG_VIDEO_ONBOARD
-               printf("Error VGA Controller (%04X,%04X) not found\n",VIDEO_VEND_ID,VIDEO_DEV_ID);
-#endif
-               return -1;
-       }
-       video_init(busdevfunc);
-       video_write_board_info();
-       memset (&vgadev, 0, sizeof(vgadev));
-
-       strcpy(vgadev.name, "vga");
-       vgadev.flags =  DEV_FLAGS_OUTPUT | DEV_FLAGS_SYSTEM;
-       vgadev.putc = video_putc;
-       vgadev.puts = video_puts;
-       vgadev.getc = NULL;
-       vgadev.tstc = NULL;
-       error = device_register (&vgadev);
-
-       return (error == 0) ? devices : error ;
-}
-
-
-/***********************************************************
- * VGA Initializing
- */
-
-int video_init(int busdevfunc)
-{
-  pci_read_config_dword(busdevfunc, PCI_BASE_ADDRESS_0, &font_base_addr);
-
-  video_fb = (char*)font_base_addr; /* we look into the big linaer memory area */
-
-  /* set the extended Registers */
-       vga_set_xreg();
-
-       /* set IO Addresses to 0x3Dx (color mode ) */
-       out8(MSR_REG_W,0x01);
-
-  /* Feature Control Register:
-     Bits 7-4 Reserved = 0
-     Bit  3   Vertical Sync select = 1 = Enabled
-     Bits 2-0 Reserved = 010 = as read from memory.
-  */
-  out8(FCR_REG_W,0x02);
-
-
-  /* Miscelaneous output Register:
-     Bits 7-6 (num lines) = 01 = VGA 400 lines,
-     Bit  5   (Odd/Even Page) =  1 = Sleect high page of memory,
-     Bit  4   reserved = 0,
-     Bits 3-2 (Clocl Select) = 01 = 28.322Mhz
-     Bit  1 = Display Ram Enable = 1 = Enable processor access.
-     Bit  0 = Io Address Select = 1 = Color Graphics Enulation.
-  */
-  out8(MSR_REG_W,0x67);
-  /* set the palette */
-  vga_set_dac();
-  /* set the attributes (before we bring up the engine
-     then we dont have to wait for refresh).
-  */
-  vga_set_attrib();
-
-  /* set the crontroller register. */
-  vga_set_crt();
-
-       vga_write_sr(0x00,0x01); /* synchronous reset */
-       vga_write_sr(0x01,0x00); /* clocking mode */
-       vga_write_sr(0x02,0x03); /* write to map 0, 1 */
-       vga_write_sr(0x03,0x00); /* select character map 0 */
-       vga_write_sr(0x04,0x03); /* even-odd addressing */
-       vga_write_sr(0x00,0x03); /* clear synchronous reset */
-
-  vga_set_seq(); /* Set the extended sr's. */
-
-  vga_set_gr(); /* Set the graphic registers. */
-
-  /* load the font */
-  vga_set_font();
-
-  /* initialize the rol/col counts and the text attribute. */
-  video_row=0;
-  video_col=0;
-  video_attr = VGA_ATTR_CLR_WHT;
-
-  /* Clear the video ram */
-  video_clear();
-
-  return 1;
-}
-
-void vga_set_font(void)
-{
-       int i,j;
-       char *fontmap;
-       fontmap = (char *)font_base_addr;
-
-       vga_write_sr(0x00,0x01); /* synchronous reset */
-       vga_write_sr(0x04,0x06); /* sequential addressing */
-       vga_write_sr(0x02,0x04); /* write to map 2 */
-       vga_write_sr(0x00,0x03); /* clear synchronous reset */
-
-       vga_write_gr(0x04,0x02); /* select map 2 */
-       vga_write_gr(0x05,0x00); /* disable odd-even addressing */
-       vga_write_gr(0x06,0x00); /* map start at 0xa0000 */
-
-       for(i=0;i<0x100;i++) {
-               for(j=0;j<0x10;j++) {
-                       *((char *)fontmap+i*32+j)=(char)fontdata_8x16[i*16+j];
-               }
-       }
-       vga_write_sr(0x00,0x01); /* synchronous reset */
-       vga_write_sr(0x02,0x03); /* write to map 0 and 1 */
-       vga_write_sr(0x04,0x03); /* odd-even addressing */
-       vga_write_sr(0x03,0x00); /* Character map 0 & 1 */
-       vga_write_sr(0x00,0x03); /* clear synchronous reset */
-
-       vga_write_gr(0x04,0x00); /* select map 0 for CPU */
-       vga_write_gr(0x05,0x10); /* enable odd-even addressing */
-       vga_write_gr(0x06,0x0E); /* map start at 0xb8000 */
-}
-
-
-/* since we are BIG endian, swap attributes and char */
-unsigned short vga_swap_short(unsigned short val)
-{
-       unsigned short swapped;
-       swapped = ((val & 0xff)<<8) | ((val & 0xff00)>>8);
-       return swapped;
-}
-
-/****************************************************
- * Routines usable Outside world
- */
-
-/* scolls the text up row rows */
-void video_scroll(int row)
-{
-  unsigned short clear = ((unsigned short)video_attr << 8) | (' ');
-  unsigned short* addr16 = &((unsigned short *)video_fb)[(VGA_MAXROWS-row)*VGA_MAXCOLS];
-  int i;
-
-       clear=vga_swap_short(clear);
-  memcpy(video_fb, video_fb+row*(VGA_MAXCOLS*2), (VGA_MAXROWS-row)*(VGA_MAXCOLS*2));
-  for (i = 0 ; i < row * VGA_MAXCOLS ; i++)
-    addr16[i] = clear;
-  video_row-=row;
-  video_col=0;
-}
-
-
-unsigned long video_cursor(int col, int row)
-{
-   unsigned short off = row * VGA_MAXCOLS + col ;
-   unsigned long saved = (video_col << 16) | (video_row & 0xFFFF);
-   video_col = col;
-   video_row = row;
-
-   vga_write_cr(CRTC_CURSH,(unsigned char)((off & 0xff00)>>8)); /* Cursor pos. high */
-   vga_write_cr(CRTC_CURSL,(unsigned char)(off & 0xff));          /* Cursor pos. low */
-   return saved;
-}
-
-void video_set_lxy(unsigned long lxy)
-{
-  int col = (lxy >> 16) & 0xFFFF;
-  int row = lxy & 0xFFFF;
-  video_cursor(col,row);
-}
-
-unsigned long video_get_lxy(void)
-{
-   return (video_col << 16) | (video_row & 0xFFFF);
-}
-
-void video_clear(void)
-{
-  int i;
-  unsigned short clear = ((unsigned short)video_attr << 8) | (' ');
-  unsigned short * addr16 = (unsigned short * )video_fb;
-       clear=vga_swap_short(clear);
-  video_row = video_col = 0;
-  for (i = 0 ; i < 2000 ; i++) {
-    addr16[i] = clear;
-  }
-}
-
-void video_copy(unsigned short *buffer)
-{
-  int i;
-  unsigned short * addr16 = (unsigned short * )video_fb;
-  for (i = 0 ; i < 2000 ; i++) {
-    buffer[i] = addr16[i];
-  }
-}
-
-void video_write(unsigned short *buffer)
-{
-  int i;
-  unsigned short * addr16 = (unsigned short *)video_fb;
-  for (i = 0 ; i < 2000 ; i++) {
-    addr16[i] = buffer[i];
-  }
-}
-
-void video_putc(char ch)
-{
-       char* addr;
-#if 0
-       char buf[48];
-       char buf1[16];
-       static int i=0;
-
-       sprintf(buf1,"%02X ",ch);
-       serial_puts(buf1);
-       buf[i++]=((ch>=0x20)&&(ch<=0x7f)) ? ch : '.';
-       if(i>=16) {
-               buf[i++]='\n';
-               buf[i]='\0';
-               i=0;
-               serial_puts("     ");
-               serial_puts(buf);
-       }
-#endif
-       switch (ch) {
-               case '\n':
-                       video_col=0;
-                       video_row++;
-                       break;
-               case '\r':
-                       video_col=0;
-                       break;
-               case '\t':
-      video_col += 8 - video_col % 8;
-      break;
-    case '\a':
-/*      beep(); */
-      break;
-    case '\b':
-      if(video_col)
-                               video_col--;
-      else
-                               return;
-      break;
-    default:
-      addr = video_fb + 2 * video_row * 80 + 2 * video_col;
-
-      *((char *)addr+1) = (char) video_attr;
-      *((char *)addr) = (char) ch;
-      video_col++;
-      if (video_col > (VGA_MAXCOLS-1)) {
-                               video_row++;
-                               video_col=0;
-      }
-   }
-
-   /* If we're on the bottom of the secreen, wrap one row */
-   if (video_row > (VGA_MAXROWS-1))
-     video_scroll(1);
-    video_cursor(video_col, video_row);
-}
-
-
-unsigned char video_set_attr(unsigned char attr)
-{
-  unsigned char saved_attr = video_attr;
-  video_attr = attr;
-  return saved_attr;
-}
-
-unsigned char video_set_attr_xy(unsigned char attr, int x, int y)
-{
-  unsigned char *addr = video_fb + (x * 80 + y) * 2 + 1;
-  unsigned char saved_attr = *addr;
-  *addr = attr;
-  return saved_attr;
-}
-
-/* put char at xy */
-void video_putc_xy(char ch, int x, int y)
-{
-  video_col = x;
-  video_row = y;
-  video_putc(ch);
-}
-
-/* put char at xy relative to the position */
-void video_putc_rxy(char ch, int x, int y)
-{
-  video_col += x;
-  video_row += y;
-  video_putc(ch);
-}
-
-/* put char with attribute at xy */
-void video_putc_axy(char ch, char attr, int x, int y)
-{
-  unsigned char saved_attr = video_set_attr(attr);
-  video_col = x;
-  video_row = y;
-  video_putc(ch);
-  video_set_attr(saved_attr);
-}
-
-void video_puts(const char *s)
-{
-   while(*s) {
-      video_putc(*s);
-      s++;
-   }
-}
-
-void video_puts_a(const char *s, char attr)
-{
-  unsigned char saved_attr = video_set_attr(attr);
-  video_puts(s);
-  video_set_attr(saved_attr);
-}
-
-void video_puts_xy(const char *s, int x, int y)
-{
-  video_cursor(x,y);
-  video_puts(s);
-}
-
-void video_puts_axy(const char *s, char attr, int x, int y)
-{
-  unsigned char saved_attr = video_set_attr(attr);
-  video_puts_xy(s, x, y);
-  video_set_attr(saved_attr);
-}
-
-void video_wipe_ca_area(unsigned char ch, char attr, int x, int y, int w, int h)
-{
-  int r, c;
-  /* better to do this as word writes */
-  unsigned short * addr16 = (unsigned short  *)video_fb + (y * 80 + x);
-  unsigned short charattr = (unsigned short)ch << 8 | attr;
-       charattr=vga_swap_short(charattr);
-  for (r = 0 ; r < h ; r++, addr16 += 80) {
-    for (c = 0 ; c < w ; c++) {
-      addr16[c] = charattr;
-    }
-  }
-}
-
-void video_wipe_a_area(unsigned char attr, int x, int y, int w, int h)
-{
-  int r, c;
-  /* better to do this as word writes */
-  unsigned short * addr16 = (unsigned short *)video_fb + (y * 80 + x);
-  for (r = 0 ; r < h ; r++, addr16 += 80) {
-    for (c = 0 ; c < w ; c++) {
-      ((char*)addr16)[c*2+1] = attr;
-    }
-  }
-}
-
-void video_wipe_c_area(unsigned char ch, int x, int y, int w, int h)
-{
-  int r, c;
-  /* better to do this as word writes */
-  unsigned short * addr16 = (unsigned short  *)video_fb + (y * 80 + x);
-  for (r = 0 ; r < h ; r++, addr16 += 80) {
-    for (c = 0 ; c < w ; c++) {
-      ((char*)addr16)[c*2] = ch;
-    }
-  }
-}
-
-
-/*
-tl t tr
-l    l
-bl b br
-*/
-typedef struct {
-  unsigned char tl; /* top left corner */
-  unsigned char t;  /* top edge */
-  unsigned char tr; /* top right corner */
-  unsigned char l;  /* left edge */
-  unsigned char r;  /* right edge */
-  unsigned char bl; /* bottom left corner */
-  unsigned char b;  /* bottom edge */
-  unsigned char br; /* bottom right corner */
-} box_chars_t;
-
-box_chars_t sbox_chars = {
-  0xDA, 0xC4, 0xBF,
-  0xB3,       0xB3,
-  0xC0, 0xC4, 0xD9
-};
-
-box_chars_t dbox_chars = {
-  0xC9, 0xCD, 0xBB,
-  0xBA,       0xBA,
-  0xC8, 0xCD, 0xBC
-};
-
-static char cmap[] = "0123456789ABCDEF";
-void video_putchex(char c)
-{
-  video_putc(cmap[(c >> 4 ) & 0xF]);
-  video_putc(cmap[c & 0xF]);
-}
-
-void video_putchexl(char c)
-{
-  video_putc(cmap[c & 0xF]);
-}
-
-void video_putchexh(char c)
-{
-  video_putc(cmap[(c >> 4) & 0xF]);
-}
-
-#define VGA_CELL_CA(a,c) (((unsigned short)c<<8)|a) /* for BIG endians */
-
-void video_gbox_area(box_chars_t *box_chars_p, int x, int y, int w, int h)
-{
-  int r, c;
-  /* better to do this as word writes */
-  unsigned short* addr16 = (unsigned short *)video_fb + (y * VGA_MAXCOLS + x);
-  for (r = 0 ; r < h ; r++, addr16 += VGA_MAXCOLS) {
-    if (r == 0) {
-      addr16[0]   = VGA_CELL_CA(video_attr, box_chars_p->tl);
-      addr16[w-1] = VGA_CELL_CA(video_attr, box_chars_p->tr);
-      for (c = 1 ; c < w - 1 ; c++)
-                               addr16[c] = VGA_CELL_CA(video_attr, box_chars_p->t);
-    } else if (r == h - 1) {
-      addr16[0] = VGA_CELL_CA(video_attr, box_chars_p->bl);
-      addr16[w-1] = VGA_CELL_CA(video_attr, box_chars_p->br);
-      for (c = 1 ; c < w - 1 ; c++)
-                               addr16[c] = VGA_CELL_CA(video_attr, box_chars_p->b);
-    } else {
-      addr16[0] = VGA_CELL_CA(video_attr, box_chars_p->l);
-      addr16[w-1] = VGA_CELL_CA(video_attr, box_chars_p->r);
-    }
-  }
-}
-
-/* Writes a box on the screen */
-void video_box_area(int x, int y, int w, int h) {
-  video_gbox_area(&sbox_chars, x, y, w, h);
-}
-/*writes a box with double lines on the screen */
-void video_dbox_area(int x, int y, int w, int h) {
-  video_gbox_area(&dbox_chars, x, y, w, h);
-}
-
-/* routines to set the VGA registers */
-
-/* set attributes */
-void vga_set_attrib(void)
-{
-       int i;
-       unsigned char status;
-
-       status=in8(STATUS_REG1);
-       i=0;
-
-       while(attr[i].reg!=0xFF) {
-               out8(ATTRI_INDEX,attr[i].reg);
-               out8(ATTRI_INDEX,attr[i].val); /* Attribute uses index for index and data */
-               i++;
-       }
-       out8(ATTRI_INDEX,0x20); /* unblank the screen */
-}
-
-/* set CRT Controller Registers */
-void vga_set_crt(void)
-{
-       int i;
-       i=0;
-       while(crtc[i].reg!=0xFF) {
-               out8(CRT_INDEX,crtc[i].reg);
-               out8(CRT_DATA,crtc[i].val);
-               i++;
-       }
-}
-/* Set Palette Registers (DAC) */
-void vga_set_dac(void)
-{
-       int i;
-       for(i=0;i<256;i++) {
-               out8(COL_PAL_IND_W,(unsigned char)i);
-               out8(COL_PAL_DATA,dac[i][0]); /* red */
-               out8(COL_PAL_DATA,dac[i][1]); /* green */
-               out8(COL_PAL_DATA,dac[i][2]); /* blue */
-       }
-       out8(COL_PAL_MASK,0xff); /* set mask */
-}
-/* set Graphic Controller Register */
-void vga_set_gr(void)
-{
-       int i;
-       i=0;
-       while(grmr[i].reg!=0xFF) {
-               out8(GR_INDEX,grmr[i].reg);
-               out8(GR_DATA,grmr[i].val);
-               i++;
-       }
-}
-
-/* Set Sequencer Registers */
-void vga_set_seq(void)
-{
-       int i;
-       i=0;
-       while(seq[i].reg!=0xFF) {
-               out8(SEQ_INDEX,seq[i].reg);
-               out8(SEQ_DATA,seq[i].val);
-               i++;
-       }
-}
-
-
-/* Set Extension Registers */
-void vga_set_xreg(void)
-{
-       int i;
-       i=0;
-       while(xreg[i].reg!=0xFF) {
-               out8(XREG_INDEX,xreg[i].reg);
-               out8(XREG_DATA,xreg[i].val);
-               i++;
-       }
-}
-
-/************************************************************
- * some helping routines
- */
-
-void vga_write_sr(unsigned char reg,unsigned char val)
-{
-       out8(SEQ_INDEX,reg);
-       out8(SEQ_DATA,val);
-}
-
-
-void vga_write_gr(unsigned char reg,unsigned char val)
-{
-       out8(GR_INDEX,reg);
-       out8(GR_DATA,val);
-}
-
-void vga_write_cr(unsigned char reg,unsigned char val)
-{
-       out8(CRT_INDEX,reg);
-       out8(CRT_DATA,val);
-}
-
-
-#if 0
-void video_dump_reg(void)
-{
-       /* first dump attributes */
-       int i;
-       unsigned char status;
-
-
-       printf("Extended Regs:\n");
-       i=0;
-       while(xreg[i].reg!=0xFF) {
-               out8(XREG_INDEX,xreg[i].reg);
-               status=in8(XREG_DATA);
-               printf("XR%02X is %02X, should be %02X\n",xreg[i].reg,status,xreg[i].val);
-               i++;
-       }
-       printf("Sequencer Regs:\n");
-       i=0;
-       while(seq[i].reg!=0xFF) {
-               out8(SEQ_INDEX,seq[i].reg);
-               status=in8(SEQ_DATA);
-               printf("SR%02X is %02X, should be %02X\n",seq[i].reg,status,seq[i].val);
-               i++;
-       }
-       printf("Graphic Regs:\n");
-       i=0;
-       while(grmr[i].reg!=0xFF) {
-               out8(GR_INDEX,grmr[i].reg);
-               status=in8(GR_DATA);
-               printf("GR%02X is %02X, should be %02X\n",grmr[i].reg,status,grmr[i].val);
-               i++;
-       }
-       printf("CRT Regs:\n");
-       i=0;
-       while(crtc[i].reg!=0xFF) {
-               out8(CRT_INDEX,crtc[i].reg);
-               status=in8(CRT_DATA);
-               printf("CR%02X is %02X, should be %02X\n",crtc[i].reg,status,crtc[i].val);
-               i++;
-       }
-       printf("Attributes:\n");
-       status=in8(STATUS_REG1);
-       i=0;
-       while(attr[i].reg!=0xFF) {
-               out8(ATTRI_INDEX,attr[i].reg);
-               status=in8(ATTRI_DATA);
-               out8(ATTRI_INDEX,attr[i].val); /* Attribute uses index for index and data */
-               printf("AR%02X is %02X, should be %02X\n",attr[i].reg,status,attr[i].val);
-               i++;
-       }
-}
-#endif
-
-#endif /* CONFIG_VIDEO */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/board/mpl/common/video.h b/board/mpl/common/video.h
deleted file mode 100644 (file)
index f1fa8ab..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * (C) Copyright 2001
- * Denis Peter, MPL AG Switzerland
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- */
-
-#ifdef CONFIG_VIDEO
-#ifndef _VIDEO_H
-#define _VIDEO_H
-
-int video_init(int busdevfunc);
-void video_clear(void);
-void video_putc(char ch);
-void video_puts(const char *s);
-void video_puts_a(const char *s, char attr);
-unsigned char video_set_attr(unsigned char attr);
-
-void video_box_area(int x, int y, int w, int h);
-void video_dbox_area(int x, int y, int w, int h);
-void video_wipe_c_area(unsigned char ch, int x, int y, int w, int h);
-
-void video_wipe_a_area(unsigned char attr, int x, int y, int w, int h);
-void video_wipe_ca_area(unsigned char ch, char attr, int x, int y, int w, int h);
-void video_puts_axy(const char *s, char attr, int x, int y);
-void video_putc_rxy(char ch, int x, int y);
-void video_putc_xy(char ch, int x, int y);
-unsigned char video_set_attr_xy(unsigned char attr, int x, int y);
-void video_copy(unsigned short *buffer);
-void video_write(unsigned short *buffer);
-
-#define VGA_ATTR_CLR_RED       0x4
-#define VGA_ATTR_CLR_GRN       0x2
-#define VGA_ATTR_CLR_BLU       0x1
-#define VGA_ATTR_CLR_YEL       (VGA_ATTR_CLR_RED | VGA_ATTR_CLR_GRN)
-#define VGA_ATTR_CLR_CYN       (VGA_ATTR_CLR_GRN | VGA_ATTR_CLR_BLU)
-#define VGA_ATTR_CLR_MAG       (VGA_ATTR_CLR_BLU | VGA_ATTR_CLR_RED)
-#define VGA_ATTR_CLR_BLK       0
-#define VGA_ATTR_CLR_WHT       (VGA_ATTR_CLR_RED | VGA_ATTR_CLR_GRN | VGA_ATTR_CLR_BLU)
-
-#define VGA_ATTR_BNK                   0x80
-#define VGA_ATTR_ITN                   0x08
-
-#define VGA_ATTR_BG_MSK  0x70
-#define VGA_ATTR_FG_MSK  0x07
-
-#define VGA_ATTR_BG_GET(v) (((v) & VGA_ATTR_BG_MSK)>>4)
-#define VGA_ATTR_BG_SET(v, c) (((c) & VGA_ATTR_FG_MSK)<<4) | (v & ~VGA_ATTR_BG_MSK))
-
-#define VGA_ATTR_FG_GET(v) ((v) & VGA_ATTR_FG_MSK)
-#define VGA_ATTR_FG_SET(v, c) ((c) & VGA_ATTR_FG_MSK) | (v & ~VGA_ATTR_FG_MSK))
-
-#define VGA_ATTR_FG_BG_SET(v, b, f) (VGA_ATTR_BG_SET(v, b) | VGA_ATTR_FG_SET(v, cf))
-
-#define VGA_ATTR_INVERT(A) ((((A)&0x7)<<4)|(((A)&0x70)>>4) |((A)&0x88))
-
-#endif /* _VIDEO_H */
-#endif /* CONFIG_VIDEO */
index 95ad97c589b25d710e8af9b988dbfe38de35c4a1..96e4df580ab01605ae928a6d5402b6f1a420cc66 100644 (file)
@@ -113,28 +113,37 @@ const sdram_t sdram_table[] = {
        { 0x0f, /* Rev A, 128MByte -1 Board */
                3,      /* Case Latenty = 3 */
                3,      /* trp 20ns / 7.5 ns datain[27] */
-               3,      /* trcd 20ns /7.5 ns (datain[29]) */
-               6,  /* tras 44ns /7.5 ns  (datain[30]) */
+               3,      /* trcd 20ns /7.5 ns (datain[29]) */
+               6,      /* tras 44ns /7.5 ns  (datain[30]) */
                4,      /* tcpt 44 - 20ns = 24ns */
-               3,      /* Address Mode = 3 */
+               3,      /* Address Mode = 3 */
                5,      /* size value */
                1},     /* ECC enabled */
        { 0x07, /* Rev A, 64MByte -2 Board */
                3,      /* Case Latenty = 3 */
                3,      /* trp 20ns / 7.5 ns datain[27] */
-               3,      /* trcd 20ns /7.5 ns (datain[29]) */
-               6,  /* tras 44ns /7.5 ns  (datain[30]) */
+               3,      /* trcd 20ns /7.5 ns (datain[29]) */
+               6,      /* tras 44ns /7.5 ns  (datain[30]) */
                4,      /* tcpt 44 - 20ns = 24ns */
-               2,      /* Address Mode = 2 */
+               2,      /* Address Mode = 2 */
                4,      /* size value */
                1},     /* ECC enabled */
        { 0x03, /* Rev A, 128MByte -4 Board */
                3,      /* Case Latenty = 3 */
                3,      /* trp 20ns / 7.5 ns datain[27] */
-               3,      /* trcd 20ns /7.5 ns (datain[29]) */
-               6,  /* tras 44ns /7.5 ns  (datain[30]) */
+               3,      /* trcd 20ns /7.5 ns (datain[29]) */
+               6,      /* tras 44ns /7.5 ns  (datain[30]) */
                4,      /* tcpt 44 - 20ns = 24ns */
-               3,      /* Address Mode = 3 */
+               3,      /* Address Mode = 3 */
+               5,      /* size value */
+               1},     /* ECC enabled */
+       { 0x1f, /* Rev B, 128MByte -3 Board */
+               3,      /* Case Latenty = 3 */
+               3,      /* trp 20ns / 7.5 ns datain[27] */
+               3,      /* trcd 20ns /7.5 ns (datain[29]) */
+               6,      /* tras 44ns /7.5 ns  (datain[30]) */
+               4,      /* tcpt 44 - 20ns = 24ns */
+               3,      /* Address Mode = 3 */
                5,      /* size value */
                1},     /* ECC enabled */
        { 0xff, /* terminator */
@@ -515,6 +524,9 @@ int checkboard (void)
                var >>= 1;
        }
        rc++;
+       if((((bc>>4) & 0xf)==0x1) /* Rev B PCB with */
+               && (rc==0x1))     /* Population Option 1 is a -3 */
+               rc=3;
        i = getenv_r ("serial#", s, 32);
        if ((i == 0) || strncmp (s, "MIP405", 6)) {
                get_backup_values (b);
@@ -614,17 +626,24 @@ void print_mip405_rev (void)
        vers &= 0xf;
        rev = (((vers & 0x1) ? 0x8 : 0) |
                   ((vers & 0x2) ? 0x4 : 0) |
-                  ((vers & 0x4) ? 0x2 : 0) | ((vers & 0x8) ? 0x1 : 0));
+                  ((vers & 0x4) ? 0x2 : 0) |
+                  ((vers & 0x8) ? 0x1 : 0));
 
+       vers=16-rev;
+       rev=vers;
+       if((rev==1) && ((cfg >> 4)==1)) /* Rev B PCB and -1 is a -3 */
+               rev=3;
        part = in8 (PLD_PART_REG);
        vers = in8 (PLD_VERS_REG);
        printf ("Rev:   MIP405-%d Rev %c PLD%d Vers %d\n",
-                       (16 - rev), ((cfg >> 4) & 0xf) + 'A', part, vers);
+                       rev, ((cfg >> 4) & 0xf) + 'A', part, vers);
 }
 
+extern void mem_test_reloc(void);
 
 int last_stage_init (void)
 {
+       mem_test_reloc();
        /* write correct LED configuration */
        if (miiphy_write (0x1, 0x14, 0x2402) != 0) {
                printf ("Error writing to the PHY\n");
index 58b18e96010cf41412836fedc82cdb8d06706a64..10f647994cdd72280e703c16bde18aa1fcf43e5d 100644 (file)
@@ -51,3 +51,162 @@ void user_led1(unsigned char on);
 #define PIIX4_IDE_DEV_ID               0x7111
 
 
+/* timings */
+/* PLD (CS7) */
+#define PLD_BME        0       /* Burst disable */
+#define PLD_TWE        5       /* 5 * 30ns 120ns Waitstates (access=TWT+1+TH) */
+#define PLD_CSN        1       /* Chipselect is driven inactive for 1 Cycle BTW transfers */
+#define PLD_OEN        1       /* Cycles from CS low to OE low   */
+#define PLD_WBN        1       /* Cycles from CS low to WE low   */
+#define PLD_WBF        1       /* Cycles from WE high to CS high */
+#define PLD_TH 2       /* Number of hold cycles after transfer */
+#define PLD_RE 0       /* Ready disabled */
+#define PLD_SOR        1       /* Sample on Ready disabled */
+#define PLD_BEM        0       /* Byte Write only active on Write cycles */
+#define PLD_PEN        0       /* Parity disable */
+#define PLD_AP         ((PLD_BME << 31) + (PLD_TWE << 23) + (PLD_CSN << 18) + (PLD_OEN << 16) + (PLD_WBN << 14) + \
+                                       (PLD_WBF << 12) + (PLD_TH << 9) + (PLD_RE << 8) + (PLD_SOR << 7) + (PLD_BEM << 6) + (PLD_PEN << 5))
+
+/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
+#define PLD_BS 0       /* 1 MByte */
+/* Usage: 0=disabled, 1=Read only, 2=Write Only, 3=R/W */
+#define PLD_BU 3       /* R/W */
+/* Bus width: 0=8Bit, 1=16Bit, 2=32Bit, 3=Reserved */
+#define PLD_BW 0       /* 16Bit */
+#define PLD_CR ((PER_PLD_ADDR & 0xfff00000) + (PLD_BS << 17) + (PLD_BU << 15) + (PLD_BW << 13))
+
+
+/* timings */
+
+#define PER_BOARD_ADDR (PER_UART1_ADDR+(1024*1024))
+/* Dummy CS to get the board revision */
+#define BOARD_BME      0       /* Burst disable */
+#define BOARD_TWE      255     /* 255 * 30ns 120ns Waitstates (access=TWT+1+TH) */
+#define BOARD_CSN      1       /* Chipselect is driven inactive for 1 Cycle BTW transfers */
+#define BOARD_OEN      1       /* Cycles from CS low to OE low   */
+#define BOARD_WBN      1       /* Cycles from CS low to WE low   */
+#define BOARD_WBF      1       /* Cycles from WE high to CS high */
+#define BOARD_TH       2       /* Number of hold cycles after transfer */
+#define BOARD_RE       0       /* Ready disabled */
+#define BOARD_SOR      1       /* Sample on Ready disabled */
+#define BOARD_BEM      0       /* Byte Write only active on Write cycles */
+#define BOARD_PEN      0       /* Parity disable */
+#define BOARD_AP       ((BOARD_BME << 31) + (BOARD_TWE << 23) + (BOARD_CSN << 18) + (BOARD_OEN << 16) + (BOARD_WBN << 14) + \
+                                       (BOARD_WBF << 12) + (BOARD_TH << 9) + (BOARD_RE << 8) + (BOARD_SOR << 7) + (BOARD_BEM << 6) + (BOARD_PEN << 5))
+
+/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
+#define BOARD_BS       0       /* 1 MByte */
+/* Usage: 0=disabled, 1=Read only, 2=Write Only, 3=R/W */
+#define BOARD_BU       3       /* R/W */
+/* Bus width: 0=8Bit, 1=16Bit, 2=32Bit, 3=Reserved */
+#define BOARD_BW       0       /* 16Bit */
+#define BOARD_CR       ((PER_BOARD_ADDR & 0xfff00000) + (BOARD_BS << 17) + (BOARD_BU << 15) + (BOARD_BW << 13))
+
+
+/* UART0 CS2 */
+#define UART0_BME      0       /* Burst disable */
+#define UART0_TWE      7       /* 7 * 30ns 210ns Waitstates (access=TWT+1+TH) */
+#define UART0_CSN      1       /* Chipselect is driven inactive for 1 Cycle BTW transfers */
+#define UART0_OEN      1       /* Cycles from CS low to OE low   */
+#define UART0_WBN      1       /* Cycles from CS low to WE low   */
+#define UART0_WBF      1       /* Cycles from WE high to CS high */
+#define UART0_TH       2       /* Number of hold cycles after transfer */
+#define UART0_RE       0       /* Ready disabled */
+#define UART0_SOR      1       /* Sample on Ready disabled */
+#define UART0_BEM      0       /* Byte Write only active on Write cycles */
+#define UART0_PEN      0       /* Parity disable */
+#define UART0_AP       ((UART0_BME << 31) + (UART0_TWE << 23) + (UART0_CSN << 18) + (UART0_OEN << 16) + (UART0_WBN << 14) + \
+                                       (UART0_WBF << 12) + (UART0_TH << 9) + (UART0_RE << 8) + (UART0_SOR << 7) + (UART0_BEM << 6) + (UART0_PEN << 5))
+
+/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
+#define UART0_BS       0       /* 1 MByte */
+/* Usage: 0=disabled, 1=Read only, 2=Write Only, 3=R/W */
+#define UART0_BU       3       /* R/W */
+/* Bus width: 0=8Bit, 1=16Bit, 2=32Bit, 3=Reserved */
+#define UART0_BW       0       /* 8Bit */
+#define UART0_CR       ((PER_UART0_ADDR & 0xfff00000) + (UART0_BS << 17) + (UART0_BU << 15) + (UART0_BW << 13))
+
+/* UART1 CS3 */
+#define UART1_AP UART0_AP /* same timing as UART0 */
+#define UART1_CR       ((PER_UART1_ADDR & 0xfff00000) + (UART0_BS << 17) + (UART0_BU << 15) + (UART0_BW << 13))
+
+
+
+/* Flash CS0 or CS 1 */
+/* 0x7F8FFE80 slowest timing at all... */
+#define FLASH_BME_B    1       /* Burst enable */
+#define FLASH_FWT_B    0x6     /* 6 * 30ns 210ns First Wait Access */
+#define FLASH_BWT_B    0x6     /* 6 * 30ns 210ns Burst Wait Access */
+#define FLASH_BME      0       /* Burst disable */
+#define FLASH_TWE      0xb/* 11 * 30ns 330ns Waitstates (access=TWT+1+TH) */
+#define FLASH_CSN      0       /* Chipselect is driven inactive for 1 Cycle BTW transfers */
+#define FLASH_OEN      1       /* Cycles from CS low to OE low   */
+#define FLASH_WBN      1       /* Cycles from CS low to WE low   */
+#define FLASH_WBF      1       /* Cycles from WE high to CS high */
+#define FLASH_TH       2       /* Number of hold cycles after transfer */
+#define FLASH_RE       0       /* Ready disabled */
+#define FLASH_SOR      1       /* Sample on Ready disabled */
+#define FLASH_BEM      0       /* Byte Write only active on Write cycles */
+#define FLASH_PEN      0       /* Parity disable */
+/* Access Parameter Register for non Boot */
+#define FLASH_AP       ((FLASH_BME << 31) + (FLASH_TWE << 23) + (FLASH_CSN << 18) + (FLASH_OEN << 16) + (FLASH_WBN << 14) + \
+                                       (FLASH_WBF << 12) + (FLASH_TH << 9) + (FLASH_RE << 8) + (FLASH_SOR << 7) + (FLASH_BEM << 6) + (FLASH_PEN << 5))
+/* Access Parameter Register for Boot */
+#define FLASH_AP_B     ((FLASH_BME_B << 31) + (FLASH_FWT_B << 26) + (FLASH_BWT_B << 23) + (FLASH_CSN << 18) + (FLASH_OEN << 16) + (FLASH_WBN << 14) + \
+                                       (FLASH_WBF << 12) + (FLASH_TH << 9) + (FLASH_RE << 8) + (FLASH_SOR << 7) + (FLASH_BEM << 6) + (FLASH_PEN << 5))
+
+/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
+#define FLASH_BS       2       /* 4 MByte */
+/* Usage: 0=disabled, 1=Read only, 2=Write Only, 3=R/W */
+#define FLASH_BU       3       /* R/W */
+/* Bus width: 0=8Bit, 1=16Bit, 2=32Bit, 3=Reserved */
+#define FLASH_BW       1       /* 16Bit */
+/* CR register for Boot */
+#define FLASH_CR_B     ((FLASH_BASE0_PRELIM & 0xfff00000) + (FLASH_BS << 17) + (FLASH_BU << 15) + (FLASH_BW << 13))
+/* CR register for non Boot */
+#define FLASH_CR       ((MULTI_PURPOSE_SOCKET_ADDR & 0xfff00000) + (FLASH_BS << 17) + (FLASH_BU << 15) + (FLASH_BW << 13))
+
+/* MPS CS1 or CS0 */
+/* Boot CS: */
+#define MPS_BME_B      1       /* Burst enable */
+#define MPS_FWT_B      0x6/* 6 * 30ns 210ns First Wait Access */
+#define MPS_BWT_B      0x6     /* 6 * 30ns 210ns Burst Wait Access */
+#define MPS_BME                0       /* Burst disable */
+#define MPS_TWE                0xb/* 11 * 30ns 330ns Waitstates (access=TWT+1+TH) */
+#define MPS_CSN                0       /* Chipselect is driven inactive for 1 Cycle BTW transfers */
+#define MPS_OEN                1       /* Cycles from CS low to OE low   */
+#define MPS_WBN                1       /* Cycles from CS low to WE low   */
+#define MPS_WBF                1       /* Cycles from WE high to CS high */
+#define MPS_TH         2       /* Number of hold cycles after transfer */
+#define MPS_RE         0       /* Ready disabled */
+#define MPS_SOR                1       /* Sample on Ready disabled */
+#define MPS_BEM                0       /* Byte Write only active on Write cycles */
+#define MPS_PEN                0       /* Parity disable */
+/* Access Parameter Register for non Boot */
+#define MPS_AP                 ((MPS_BME << 31) + (MPS_TWE << 23) + (MPS_CSN << 18) + (MPS_OEN << 16) + (MPS_WBN << 14) + \
+                                       (MPS_WBF << 12) + (MPS_TH << 9) + (MPS_RE << 8) + (MPS_SOR << 7) + (MPS_BEM << 6) + (MPS_PEN << 5))
+/* Access Parameter Register for Boot */
+#define MPS_AP_B               ((MPS_BME_B << 31) + (MPS_FWT_B << 26) + (MPS_BWT_B << 23) + (MPS_CSN << 18) + (MPS_OEN << 16) + (MPS_WBN << 14) + \
+                                       (MPS_WBF << 12) + (MPS_TH << 9) + (MPS_RE << 8) + (MPS_SOR << 7) + (MPS_BEM << 6) + (MPS_PEN << 5))
+
+/* Size: 0=1MB, 1=2MB, 2=4MB, 3=8MB, 4=16MB, 5=32MB, 6=64MB, 7=128MB */
+#define MPS_BS         2       /* 4 MByte */
+/* Usage: 0=disabled, 1=Read only, 2=Write Only, 3=R/W */
+#define MPS_BU         3       /* R/W */
+/* Bus width: 0=8Bit, 1=16Bit, 2=32Bit, 3=Reserved */
+#define MPS_BW         0       /* 8Bit */
+/* CR register for Boot */
+#define MPS_CR_B       ((FLASH_BASE0_PRELIM & 0xfff00000) + (MPS_BS << 17) + (MPS_BU << 15) + (MPS_BW << 13))
+/* CR register for non Boot */
+#define MPS_CR         ((MULTI_PURPOSE_SOCKET_ADDR & 0xfff00000) + (MPS_BS << 17) + (MPS_BU << 15) + (MPS_BW << 13))
+
+
+
+
+
+
+
+
+
+
+
index e452a7b2827fdbd8eb53c70f0fc82e0ac15cc12a..4743e6bacea8946cb11b086cbaf01ec9c1c6f3c6 100644 (file)
@@ -216,9 +216,11 @@ void print_vcma9_rev(void)
                Get_PLD_Version(), Get_PLD_Revision());
 }
 
+extern void mem_test_reloc(void);
 
 int last_stage_init(void)
 {
+       mem_test_reloc();
        print_vcma9_rev();
        show_stdio_dev();
        check_env();
index 477be52d31b08b4b836969a87c189015921efb68..ec32a1ea7386a4ec73b1c87a202dc7521547d535 100644 (file)
 /*-----------------------------------------------------------------------
  * Cache Configuration
  */
-#define CFG_DCACHE_SIZE                8192    /* For IBM 405 CPUs                     */
+#define CFG_DCACHE_SIZE                0x4000  /* For IBM 405GPr CPUs                  */
 #define CFG_CACHELINE_SIZE     32      /* ...                  */
 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 #define CFG_CACHELINE_SHIFT    5       /* log base 2 of the above value        */