Index: CREDITS
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/CREDITS,v
retrieving revision 1.6
diff -u -r1.6 CREDITS
--- CREDITS	28 May 2002 13:06:23 -0000	1.6
+++ CREDITS	4 Jan 2003 09:21:06 -0000
@@ -139,6 +139,9 @@
 	- Crystal Fontz
 	- Various 0.4.3 changes
 
+Cougar <cougar@random.ee>:
+	- HYeLCD hg12605 driver
+
 Further developers in the sourceforge lcdproc team:
 Mindaugas Idzelis       aim4min
 Andre Burton            andreb
Index: LCDd.conf
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/LCDd.conf,v
retrieving revision 1.39
diff -u -r1.39 LCDd.conf
--- LCDd.conf	22 Oct 2002 14:05:38 -0000	1.39
+++ LCDd.conf	4 Jan 2003 09:21:06 -0000
@@ -44,6 +44,7 @@
 #Driver=hd44780
 #Driver=MtxOrb
 #Driver=CFontz633
+#Driver=HG12605
 #
 # Tells the server to load the given drivers. Multiple lines can be given.
 # The name of the driver is exactly the same as the name of the driver
@@ -458,3 +459,16 @@
 # -d --device	Select the output device to use [/dev/lcd]
 # -s --speed	Set the communication speed [19200]
 # -h --help	Show this help information
+
+
+
+[HG12605]
+# LCD driver for Hundai LCD Inc. (HYeLCD) HG12605 displays
+
+Device=/dev/parport0
+# The LPT device to which the LCD is connected (uses parport and ppdev
+# interface, no root access needed). Default: /dev/parport0
+
+Port=0x378
+# Port where the LPT is. Using I/O method you need root permissions.
+# Usual values are 0x278, 0x378 and 0x3BC. Default: 0x378
Index: README
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/README,v
retrieving revision 1.5
diff -u -r1.5 README
--- README	11 Aug 2002 19:32:57 -0000	1.5
+++ README	4 Jan 2003 09:21:06 -0000
@@ -4,9 +4,9 @@
 devices. The server works with different display sizes and supports several
 serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216, LCDM001
 (kernelconcepts.de), Wirz-SLI and PIC-an-LCD; and some devices connected to
-the parallel port: HD44780, STV5730, T6963, SED1520 and SED1330. Various
-clients are available that display things like CPU load, system load, memory
-usage, uptime, and a lot more.
+the parallel port: HD44780, STV5730, T6963, SED1520, SED1330 and HG12605.
+Various clients are available that display things like CPU load, system load,
+memory usage, uptime, and a lot more.
 
 LCDproc also supports key or remote control input for controlling the clients.
 
Index: acconfig.h
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/acconfig.h,v
retrieving revision 1.23
diff -u -r1.23 acconfig.h
--- acconfig.h	22 Oct 2002 14:11:38 -0000	1.23
+++ acconfig.h	4 Jan 2003 09:21:07 -0000
@@ -84,6 +84,8 @@
 
 #undef T6963_DRV
 
+#undef HG12605_DRV
+
 /* Define the package version */
 #undef VERSION
 
Index: acinclude.m4
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/acinclude.m4,v
retrieving revision 1.41
diff -u -r1.41 acinclude.m4
--- acinclude.m4	22 Oct 2002 14:11:40 -0000	1.41
+++ acinclude.m4	4 Jan 2003 09:21:07 -0000
@@ -6,15 +6,15 @@
 	[                  drivers may be separated with commas.]
   	[                  Possible choices are:]
  	[                    mtxorb,cfontz,cfontz633,curses,text,lb216,]
- 	[                    hd44780,joy,irman,lirc,bayrad,glk,,mtc_s16209x]
+ 	[                    hd44780,joy,irman,lirc,bayrad,glk,mtc_s16209x]
  	[                    stv5730,sed1330,sed1520,svga,lcdm001,t6963]
-	[                    lcterm,icp_a106]
+	[                    lcterm,icp_a106,hg12605]
 	[                  \"all\" compiles all drivers],
   	drivers="$enableval",
   	drivers=[lcdm001,mtxorb,cfontz,cfontz633,curses,text,lb216,bayrad,glk])
 
 if test "$drivers" = "all"; then
-	drivers=[mtxorb,cfontz,cfontz633,curses,text,lb216,mtc_s16209x,hd44780,joy,irman,lirc,bayrad,glk,stv5730,sed1330,sed1520,svga,lcdm001,t6963,lcterm,icp_a106]
+	drivers=[mtxorb,cfontz,cfontz633,curses,text,lb216,mtc_s16209x,hd44780,joy,irman,lirc,bayrad,glk,stv5730,sed1330,sed1520,svga,lcdm001,t6963,lcterm,icp_a106,hg12605]
 fi
 
   	drivers=`echo $drivers | sed 's/,/ /g'`
@@ -209,6 +209,15 @@
 				actdrivers=["$actdrivers t6963"]
 			else
 				AC_MSG_WARN([The sed1330 driver needs a parallel port.])
+			fi
+			;;
+		hg12605)
+			if test "$ac_cv_have_ppdev" = yes
+			then
+				DRIVERS="$DRIVERS hg12605${SO}"
+				actdrivers=["$actdrivers hg12605"]
+			else
+				AC_MSG_WARN([The HG12605 driver needs a ppdev suuport.])
 			fi
 			;;
 	*)
Index: configure.in
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/configure.in,v
retrieving revision 1.36
diff -u -r1.36 configure.in
--- configure.in	1 Oct 2002 18:49:54 -0000	1.36
+++ configure.in	4 Jan 2003 09:21:07 -0000
@@ -128,6 +128,17 @@
 	AC_MSG_WARN([Can't talk to the parallel port, disabling drivers that use it.])
 fi
 
+dnl Check if we have ppdev support
+AC_CACHE_CHECK([for a ppdev], ac_cv_have_ppdev,
+[AC_TRY_COMPILE([#include <linux/ppdev.h>], [#include <linux/parport.h>], ac_cv_have_ppdev=yes, ac_cv_have_ppdev=no)])
+
+if test "$ac_cv_have_ppdev" = yes
+then
+	AC_DEFINE([HAVE_PPDEV_LPT_CONTROL],[1],[Define if you have a ppdev support and LCDproc knows how to use it.])
+else
+	AC_MSG_WARN([Can't talk to the parallel port using ppdev, disabling drivers that use it.])
+fi
+
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
Index: server/widget.c
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/widget.c,v
retrieving revision 1.17
diff -u -r1.17 widget.c
--- server/widget.c	14 Jul 2002 20:30:35 -0000	1.17
+++ server/widget.c	4 Jan 2003 09:21:07 -0000
@@ -55,6 +55,7 @@
 	{ICON_SELECTOR_AT_LEFT, "SELECTOR_AT_LEFT"},
 	{ICON_SELECTOR_AT_RIGHT, "SELECTOR_AT_RIGHT"},
 	{ICON_ELLIPSIS, "ELLIPSIS"},
+	{ICON_STOP, "STOP"},
 	{ICON_PAUSE, "PAUSE"},
 	{ICON_PLAY, "PLAY"},
 	{ICON_PLAYR, "PLAYR"},
Index: server/drivers/Makefile.am
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/drivers/Makefile.am,v
retrieving revision 1.26
diff -u -r1.26 Makefile.am
--- server/drivers/Makefile.am	22 Oct 2002 14:14:25 -0000	1.26
+++ server/drivers/Makefile.am	4 Jan 2003 09:21:07 -0000
@@ -18,7 +18,7 @@
 LIBS =
 
 pkglib_PROGRAMS = @DRIVERS@
-EXTRA_PROGRAMS = bayrad CFontz CFontz633 curses glk hd44780 irman icp_a106 joy lb216 mtc_s16209x lcdm001 lcterm lirc MtxOrb sed1330 sed1520 stv5730 svga t6963 text wirz_sli 
+EXTRA_PROGRAMS = bayrad CFontz CFontz633 curses glk hd44780 irman icp_a106 joy lb216 mtc_s16209x lcdm001 lcterm lirc MtxOrb sed1330 sed1520 stv5730 svga t6963 text wirz_sli hg12605
 noinst_LIBRARIES = libLCD.a
 
 CFontz_LDADD =       libLCD.a
@@ -32,6 +32,7 @@
 lcterm_LDADD =       libLCD.a
 svga_LDADD =         @LIBSVGA@
 t6963_LDADD =        libLCD.a
+hg12605_LDADD =      libLCD.a
 
 libLCD_a_SOURCES =   lcd_lib.h lcd_lib.c
 
@@ -59,5 +60,6 @@
 t6963_SOURCES =      lcd.h t6963.c t6963.h t6963_font.h report.h
 text_SOURCES =       lcd.h text.h text.c report.h
 wirz_sli_SOURCES =   lcd.h wirz-sli.h wirz-sli.c report.h
+hg12605_SOURCES =    lcd.h hg12605.c hg12605.h hg12605_font.h port.h lpt-port.h
 
 INCLUDES = -I$(top_srcdir)
Index: server/drivers/hg12605.c
===================================================================
RCS file: server/drivers/hg12605.c
diff -N server/drivers/hg12605.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ server/drivers/hg12605.c	4 Jan 2003 09:21:07 -0000
@@ -0,0 +1,495 @@
+/*
+ * LCDproc driver module for Hundai LCD Inc. HG12605 LCD display
+ * connected to LPT port.
+ *
+ *
+ * Copyright (C) 2002 Cougar <cougar@random.ee>
+ *                                http://www.version6.net/
+ *
+ * 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.
+ *
+ *
+ * Here you can find display specifications and other useful information:
+ *   http://www.hylcd.com/product_img/P000000021_2.gif
+ *   http://dallext.hansung.ac.kr/mpe/datasheet/hg12605-1.pdf
+ *   http://dallext.hansung.ac.kr/mpe/datasheet/hg12605-2.pdf
+ *   http://www.adx.co.nz/techinfo/micros/grascree/128x64%20LCD%20display%20going.htm
+ *
+ *
+ * Connecting with PC
+ *
+ * You need DB25 male connector, 10 kohm variable resistor (for LCD contrast
+ * tuning), a piece of ribbon cale and one male 3.5" or 5.25" disk drive
+ * power connector to power up your LCD.
+ *
+ * Now solder all parts together using following schema
+ *
+ *  HG12605		LPT			Comments
+ *   1	Vss		18	GROUND		connect to -5V, first pin of resistor
+ *   2	Vdd		 -			connect to +5V
+ *   3	Vo		 -			connect to middle pin of resistor
+ *   4	D/I		17	/SLCTIN
+ *   5	R/W		18	GROUND
+ *   6	E		 1	/STROBE
+ *   7	DB0		 2	D0
+ *   8	DB1		 3	D1
+ *   9	DB2		 4	D2
+ *  10	DB3		 5	D3
+ *  11	DB4		 6	D4
+ *  12	DB5		 7	D5
+ *  13	DB6		 8	D6
+ *  14	DB7		 9	D7
+ *  15	CS1		14	/AUTOFD
+ *  16	CS2		16	INIT
+ *  17	/RES		 -			connect to +5V
+ *  18	Vout		 -			connect to third pin of resistor
+ *  19	A		 -			not used
+ *  20	K		 -			not used
+ *  
+ *
+ * If characters are broken, try to increase SLEEP_COUNTER in hg12605.h.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <termios.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/errno.h>
+#include <sys/ioctl.h>
+#include <linux/ppdev.h>
+#include <linux/parport.h>
+
+#include "lcd.h"
+#include "hg12605.h"
+#include "hg12605_font.h"
+#include "report.h"
+
+#ifndef HAVE_PPDEV_LPT_CONTROL
+#include "lpt-port.h"
+#include "port.h"
+#endif
+
+MODULE_EXPORT char *api_version = API_VERSION;
+MODULE_EXPORT int stay_in_foreground = 0;
+MODULE_EXPORT int supports_multiple = 0;
+MODULE_EXPORT char *symbol_prefix = "hg12605_";
+
+MODULE_EXPORT
+int hg12605_init(Driver *drvthis, char *args)
+{
+	PrivateData *p;
+
+	report(RPT_INFO, "HG12605: init(%p,%s)", drvthis, args);
+
+	p = (PrivateData *)calloc(1, sizeof(PrivateData));
+	if (! p)
+		return -1;
+	if (drvthis->store_private_ptr(drvthis, p))
+		return -1;
+
+	p->width = HG12605_WIDTH;
+	p->height = HG12605_HEIGHT;
+
+	p->framebuf = calloc(sizeof(unsigned char), p->width * p->height);
+	p->rambuf = calloc(sizeof(unsigned char), 128 * 64 / 8);
+	p->oldrambuf = calloc(sizeof(unsigned char), 128 * 64 / 8);
+
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	strncpy(p->dev, drvthis->config_get_string(drvthis->name, "Device", 0, DEFAULT_DEVICE), sizeof(p->dev));
+	p->dev[sizeof(p->dev) - 1] = '\0';
+	report(RPT_INFO, "HG12605: Using device: %s", p->dev);
+#else
+	p->port = drvthis->config_get_int(drvthis->name, "Port", 0, DEFAULT_PORT);
+	report(RPT_INFO, "HG12605: Using I/O port: %x", p->port);
+#endif
+
+	hg12605_open_parport(p);
+
+	return 0;
+}
+
+MODULE_EXPORT
+void hg12605_close(Driver *drvthis)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+
+	if (!p)
+		return;
+
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	close(p->fd);
+#endif
+	if (p->framebuf)
+		free(p->framebuf);
+	if (p->rambuf)
+		free(p->rambuf);
+	if (p->oldrambuf)
+		free(p->oldrambuf);
+	drvthis->store_private_ptr(drvthis, NULL);
+	free(p);
+	report(RPT_INFO, "HG12605: closed");
+}
+
+MODULE_EXPORT
+int hg12605_width(Driver *drvthis)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+
+	if (!p)
+		return 0;
+	return p->width;
+}
+
+MODULE_EXPORT
+int hg12605_height(Driver *drvthis)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+
+	if (!p)
+		return 0;
+	return p->height;
+}
+
+MODULE_EXPORT void hg12605_clear(Driver *drvthis)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+
+	if (!p)
+		return;
+	memset(p->framebuf, ' ', p->width * p->height);
+	memset(p->rambuf, 0, 128 * 64 / 8);
+}
+
+MODULE_EXPORT
+void hg12605_flush(Driver *drvthis)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+
+	if (!p)
+		return;
+	if (!p->rambuf)
+		return;
+
+	hg12605_write_ram(p);
+}
+
+MODULE_EXPORT
+void hg12605_string(Driver *drvthis, int x, int y, char string[])
+{
+	int i;
+
+	for(i = 0; string[i]; i++)
+		hg12605_chr(drvthis, x + i, y, string[i]);
+}
+
+MODULE_EXPORT
+void hg12605_chr(Driver *drvthis, int x, int y, char c)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+	int i, j;
+	unsigned char yrow;
+
+	if (!p)
+		return;
+	x--;
+	y--;
+
+	if (((y * p->width) + x) >  (p->width * p->height))
+		return;
+
+	p->framebuf[(y * p->width) + x] = c;
+	for (i = 0; i < 7; i++) {
+		yrow = 0;
+		for (j = 0; j < 8; j++)
+			if ((fontdata_6x8[(c << 3) + j]) & (0x80 >> i))
+				yrow |= (0x01 << j);
+		p->rambuf[(y * 128) + (x * 6) + i] = yrow;
+	}
+}
+
+MODULE_EXPORT
+void hg12605_vbar(Driver *drvthis, int x, int y, int len, int promille, int pattern)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+	int byteheight, bitheight, i, c, pos, ypos;
+
+	if (!p)
+		return;
+
+	x--;
+	y--;
+
+	if ((((y - (len - 1)) * p->width) + x) >  (p->width * p->height))
+		return;
+
+	byteheight = 1000 / len;
+	bitheight = 1000 / (len * 8);
+	pos = 0;
+	ypos = y;
+	while ((pos + byteheight) < promille) {
+		for (i = 1; i < 6; i++)
+			p->rambuf[(ypos * 128) + (x * 6) + i] = 0xff;
+		pos += byteheight;
+		ypos--;
+	}
+	c = 0;
+	while ((pos + (bitheight)) < promille) {
+		c >>= 1;
+		c |= 0x80;
+		pos += bitheight;
+	}
+	for (i = 1; i < 6; i++)
+		p->rambuf[(ypos * 128) + (x * 6) + i] = c;
+}
+
+MODULE_EXPORT
+void hg12605_hbar(Driver *drvthis, int x, int y, int len, int promille, int pattern)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+	int bitwidth, pos, xpos;
+
+	if (!p)
+		return;
+
+	x--;
+	y--;
+
+	if (((y * p->width) + (x + len - 1)) >  (p->width * p->height))
+		return;
+
+	bitwidth = 1000 / ((len * 6) - 2);
+	pos = 0;
+	xpos = x * 6 + 1;
+	while ((pos + bitwidth) < promille) {
+		p->rambuf[(y * 128) + xpos] = 0x7f;
+		pos += bitwidth;
+		xpos++;
+	}
+}
+
+MODULE_EXPORT
+void hg12605_num(Driver *drvthis, int x, int num)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+	int i, j, k;
+
+	if (!p)
+		return;
+	x--;
+	if (x > p->width)
+		return;
+
+	for (i = 0; i < 3; i++)
+		for (j = 0; j < 3; j++) {
+			p->framebuf[((2 + i) * p->width) + j] = 0xff;	// icon
+			for (k = 0; k < 6; k++)
+				p->rambuf[((2 + i) * 128) + (((x + j) * 6) + k)] = fontdata_bignum[num][i][(j * 6) + k];
+		}
+}
+
+MODULE_EXPORT
+int hg12605_icon(Driver *drvthis, int x, int y, int icon)
+{
+	PrivateData *p = (PrivateData *)drvthis->private_data;
+	int i, j, k, c;
+	unsigned char yrow;
+
+	if (!p)
+		return -1;
+	x--;
+	y--;
+
+	if (((y * p->width) + x) >  (p->width * p->height))
+		return -1;
+
+	for (i = 0; icons1[i]; i++)
+		if (icon == icons1[i])
+			break;
+	if (icons1[i]) {
+		c = i;
+		p->framebuf[(y * p->width) + x] = 0xff;	// icon
+		for (i = 0; i < 7; i++) {
+			yrow = 0;
+			for (j = 0; j < 8; j++)
+				if ((icondata_6x8[(c << 3) + j]) & (0x80 >> i))
+					yrow |= (0x01 << j);
+			p->rambuf[(y * 128) + (x * 6) + i] = yrow;
+		}
+		return 0;
+	}
+
+	for (i = 0; icons2[i]; i++)
+		if (icon == icons2[i])
+			break;
+	if (icons2[i]) {
+		c = i;
+		p->framebuf[(y * p->width) + x] = 0xff;	// icon
+		for (k = 0; k < 2; k++) {
+			for (i = 0; i < 7; i++) {
+				yrow = 0;
+				for (j = 0; j < 8; j++)
+					if ((icondata_2x6x8[(c << 4) + (k << 3) + j]) & (0x80 >> i))
+						yrow |= (0x01 << j);
+				p->rambuf[(y * 128) + ((x + k) * 6) + i] = yrow;
+			}
+		}
+		return 0;
+	}
+	return -1;
+}
+
+/*
+ *
+ * Hardware driver funcions
+ *
+ */
+
+static void hg12605_open_parport(PrivateData *p)
+{
+	int i, j;
+
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	int mode;
+
+	if ((p->fd = open(p->dev, O_RDWR)) == -1) {
+		perror("open(parport)");
+		exit(1);
+	}
+
+	mode = PARPORT_MODE_PCSPP;
+	if (ioctl(p->fd, PPSETMODE, &mode) == -1) {
+		perror("ioctl(PPSETMODE)");
+		exit(1);
+	}
+
+	if (ioctl(p->fd, PPEXCL, NULL) == -1) {
+		perror("ioctl(PPEXCL)");
+		exit(1);
+	}
+	if (ioctl(p->fd, PPCLAIM, NULL) == -1) {
+		perror("ioctl(PPCLAIM)");
+		exit(1);
+	}
+
+#else /* HAVE_PPDEV_LPT_CONTROL */
+
+	port_access(p->port);
+	port_access(p->port+1);
+	port_access(p->port+2);
+
+#endif /* HAVE_PPDEV_LPT_CONTROL */
+
+	/* clear screen */
+	hg12605_control(p, 3, HG12605_CMD_DISPLAY_OFF);
+	hg12605_control(p, 3, HG12605_CMD_START_LINE | 0);
+	hg12605_control(p, 3, HG12605_CMD_SET_ADDR | 0);
+	for (i = 0; i < 8; i++) {
+		hg12605_control(p, 3, HG12605_CMD_SET_PAGE | i);
+		for (j = 0; j < 64; j++)
+			hg12605_data(p, 3, 0x00);
+	}
+	hg12605_control(p, 3, HG12605_CMD_DISPLAY_ON);
+}
+
+static void hg12605_write_data_byte(PrivateData *p, unsigned char data)
+{
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	if (ioctl(p->fd, PPWDATA, &data) == -1) {
+		perror("ioctl(PPWDATA)");
+		exit(1);
+	}
+#else
+	port_out(p->port, data);
+#endif
+}
+
+static void hg12605_write_control_byte(PrivateData *p, unsigned char controlbits, int values)
+{
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	struct ppdev_frob_struct frob;
+	frob.mask = controlbits;
+	frob.val = values;
+
+	if (ioctl(p->fd, PPFCONTROL, &frob) == -1) {
+		perror("ioctl(PPFCONTROL)");
+		exit(1);
+	}
+#else
+	p->mode = (p->mode & (~controlbits)) | values;
+	port_out(p->port + 2, p->mode);
+#endif
+}
+
+static void hg12605_write_byte(PrivateData *p, unsigned char chip, unsigned char data, unsigned char di)
+{
+	int i;
+
+	/* CS1, CS2, D/I */
+	hg12605_write_control_byte(p,
+		PARPORT_CONTROL_SELECT
+		| PARPORT_CONTROL_AUTOFD
+		| PARPORT_CONTROL_INIT,
+		((di ? PARPORT_CONTROL_SELECT : 0)
+		| ((chip & 0x01) ? 0 : PARPORT_CONTROL_AUTOFD)
+		| ((chip & 0x02) ? PARPORT_CONTROL_INIT : 0)));
+
+	/* set data before rising E to get faster transfer */
+	hg12605_write_data_byte(p, data);
+
+	/* set E */
+	hg12605_write_control_byte(p, PARPORT_CONTROL_STROBE, 0);
+
+	/* wait at least 450ns, calling nanosleep() takes too long here */
+	for (i = 0; i < SLEEP_COUNTER; i++);
+
+	/* clear E */
+	hg12605_write_control_byte(p, PARPORT_CONTROL_STROBE, PARPORT_CONTROL_STROBE);
+}
+
+static void hg12605_write_ram(PrivateData *p)
+{
+	int i, j, k, page;
+	unsigned char *ptr1 = p->rambuf;
+	unsigned char *ptr2 = p->oldrambuf;
+
+	/* Always set both chpis together to get better perfomance */
+	hg12605_control(p, 3, HG12605_CMD_START_LINE | 0);
+	hg12605_control(p, 3, HG12605_CMD_SET_ADDR | 0);
+	page = -1;
+	for (i = 0; i < 8; i++) {
+		for (j = 1; j < 3; j++) {
+			/* Compare current page (line) with the old one */
+			for (k = 0; k < 64; k++)
+				if (*(ptr1 + k) != *(ptr2 + k))
+					break;
+			/* Don't draw unchanged pages */
+			if (k == 64) {
+				ptr1 += 64;
+				ptr2 += 64;
+				continue;
+			}
+			/* set page only once for both chips */
+			if (page != i) {
+				page = i;
+				hg12605_control(p, 3, HG12605_CMD_SET_PAGE | page);
+			}
+			for (k = 0; k < 64; k++) {
+				*ptr2++ = *ptr1;
+				hg12605_data(p, j, *ptr1++);
+			}
+		}
+	}
+	/* sometimes we lost display, so set it on here to be sure */
+	hg12605_control(p, 3, HG12605_CMD_DISPLAY_ON);
+}
Index: server/drivers/hg12605.h
===================================================================
RCS file: server/drivers/hg12605.h
diff -N server/drivers/hg12605.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ server/drivers/hg12605.h	4 Jan 2003 09:21:07 -0000
@@ -0,0 +1,109 @@
+/*
+ * LCDproc driver module for Hundai LCD Inc. HG12605 LCD display
+ * connected to LPT port.
+ *
+ *
+ * Copyright (C) 2002 Cougar <cougar@random.ee>
+ *                                http://www.version6.net/
+ *
+ * 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.
+ *
+ */
+
+#ifndef HG12605_H
+#define	HG12605_H
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "lcd.h"
+
+#define	HG12605_WIDTH	21
+#define	HG12605_HEIGHT	8
+
+typedef struct
+{
+#ifdef HAVE_PPDEV_LPT_CONTROL
+	char dev[256];
+	int fd;
+#else
+	int port;
+	unsigned char mode;
+#endif
+	unsigned char *framebuf;
+	unsigned char *oldrambuf;
+	unsigned char *rambuf;
+	int width;
+	int height;
+} PrivateData;
+
+MODULE_EXPORT int hg12605_init(Driver * drvthis, char *args);
+MODULE_EXPORT void hg12605_close(Driver * drvthis);
+MODULE_EXPORT int hg12605_width(Driver *drvthis);
+MODULE_EXPORT int hg12605_height(Driver *drvthis);
+MODULE_EXPORT void hg12605_clear(Driver * drvthis);
+MODULE_EXPORT void hg12605_flush(Driver * drvthis);
+MODULE_EXPORT void hg12605_string(Driver * drvthis, int x, int y, char string[]);
+MODULE_EXPORT void hg12605_chr(Driver * drvthis, int x, int y, char c);
+MODULE_EXPORT void hg12605_vbar(Driver *drvthis, int x, int y, int len, int promille, int pattern);
+MODULE_EXPORT void hg12605_hbar(Driver *drvthis, int x, int y, int len, int promille, int pattern);
+MODULE_EXPORT void hg12605_num(Driver *drvthis, int x, int num);
+MODULE_EXPORT int hg12605_icon(Driver *drvthis, int x, int y, int icon);
+
+/*
+ *
+ * Port access method (via I/O port or parport/ppdev)
+ *
+ */
+
+#ifdef HAVE_PPDEV_LPT_CONTROL
+
+#define	DEFAULT_DEVICE		"/dev/parport0"
+#define	SLEEP_COUNTER		800	/* It was OK with PIII/700 */
+
+#else
+
+#define	DEFAULT_PORT		0x378
+#define	SLEEP_COUNTER		2000	/* It was OK with PIII/700 */
+
+#ifndef PARPORT_CONTROL_STROBE
+#define	PARPORT_CONTROL_STROBE	0x1
+#endif
+#ifndef PARPORT_CONTROL_AUTOFD
+#define	PARPORT_CONTROL_AUTOFD	0x2
+#endif
+#ifndef PARPORT_CONTROL_INIT
+#define	PARPORT_CONTROL_INIT	0x4
+#endif
+#ifndef PARPORT_CONTROL_SELECT
+#define	PARPORT_CONTROL_SELECT	0x8
+#endif
+
+#endif
+
+/*
+ *
+ * Hardware driver definitions
+ *
+ */
+
+#define	HG12605_CMD_DISPLAY_ON	0x3F
+#define	HG12605_CMD_DISPLAY_OFF	0x3E
+#define	HG12605_CMD_START_LINE	0xC0
+#define	HG12605_CMD_SET_PAGE	0xB8
+#define	HG12605_CMD_SET_ADDR	0x40
+
+#define	hg12605_data(p, c, data)	hg12605_write_byte((p), (c), (data), 0);
+#define	hg12605_control(p, c, cmd)	hg12605_write_byte((p), (c), (cmd), 1);
+
+static void hg12605_open_parport(PrivateData *p);
+static void hg12605_write_data_byte(PrivateData *p, unsigned char data);
+static void hg12605_write_control_byte(PrivateData *p, unsigned char controlbits, int values);
+static void hg12605_write_byte(PrivateData *p, unsigned char chip, unsigned char data, unsigned char di);
+static void hg12605_write_ram(PrivateData *p);
+
+#endif
Index: server/drivers/hg12605_font.h
===================================================================
RCS file: server/drivers/hg12605_font.h
diff -N server/drivers/hg12605_font.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ server/drivers/hg12605_font.h	4 Jan 2003 09:21:08 -0000
@@ -0,0 +1,2937 @@
+/*
+ *
+ * This font is based on Linux kernel font
+ * /usr/src/linux/drivers/video/font_6x11.c
+ *
+ */
+
+static unsigned char fontdata_6x8[] = {
+
+	/* 0 0x00 '^A' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 1 0x01 '^B' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 2 0x02 '^C' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 3 0x03 '^D' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 4 0x04 '^E' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 5 0x05 '^F' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 6 0x06 '^G' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 7 0x07 '^H' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 8 0x08 '^I' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 9 0x09 '^J' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 10 0x0a '^K' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 11 0x0b '^L' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 12 0x0c '^M' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 13 0x0d '^N' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 14 0x0e '^O' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 15 0x0f '^P' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 16 0x10 '^Q' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 17 0x11 '^R' */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 18 0x12 '^S' */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x50, /* 0 0 0000 */
+	0x50, /* 0 0 0000 */
+	0x20, /* 00 00000 */
+	0x20, /* 00 00000 */
+
+	/* 19 0x13 '^T' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x7c, /* 0     00 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 20 0x14 '^U' */
+	0x18, /* 000  000 */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x7c, /* 0     00 */
+	0x78, /* 0    000 */
+	0x7c, /* 0     00 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+
+	/* 21 0x15 '^V' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 22 0x16 '^W' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 23 0x17 '^X' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 24 0x18 '^Y' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 25 0x19 '^Z' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 26 0x1a '^[' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 27 0x1b '^\' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 28 0x1c '^]' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 29 0x1d '^^' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 30 0x1e '^_' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 31 0x1f '^`' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 32 0x20 ' ' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 33 0x21 '!' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 34 0x22 '"' */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 35 0x23 '#' */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x7c, /* 0     00 */
+	0x28, /* 00 0 000 */
+	0x7c, /* 0     00 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 36 0x24 '$' */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x50, /* 0 0 0000 */
+	0x38, /* 00   000 */
+	0x14, /* 000 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+
+	/* 37 0x25 '%' */
+	0x60, /* 0  00000 */
+	0x64, /* 0  00 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x4c, /* 0 00  00 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+
+	/* 38 0x26 '&' */
+	0x30, /* 00  0000 */
+	0x48, /* 0 00 000 */
+	0x50, /* 0 0 0000 */
+	0x20, /* 00 00000 */
+	0x54, /* 0 0 0 00 */
+	0x48, /* 0 00 000 */
+	0x34, /* 00  0 00 */
+	0x00, /* 00000000 */
+
+	/* 39 0x27 ''' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 40 0x28 '(' */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+
+	/* 41 0x29 ')' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+
+	/* 42 0x2a '*' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 43 0x2b '+' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 44 0x2c ',' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x30, /* 00  0000 */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+
+	/* 45 0x2d '-' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 46 0x2e '.' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 000  000 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+
+	/* 47 0x2f '/' */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x20, /* 00 00000 */
+	0x40, /* 0 000000 */
+
+	/* 48 0x30 '0' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x54, /* 0 0 0 00 */
+	0x64, /* 0  00 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 49 0x31 '1' */
+	0x08, /* 0000 000 */
+	0x18, /* 000  000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+
+	/* 50 0x32 '2' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 51 0x33 '3' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x04, /* 00000 00 */
+	0x18, /* 000  000 */
+	0x04, /* 00000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 52 0x34 '4' */
+	0x08, /* 0000 000 */
+	0x18, /* 000  000 */
+	0x28, /* 00 0 000 */
+	0x48, /* 0 00 000 */
+	0x7c, /* 0     00 */
+	0x08, /* 0000 000 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+
+	/* 53 0x35 '5' */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 54 0x36 '6' */
+	0x38, /* 00   000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 55 0x37 '7' */
+	0x7c, /* 0     00 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 56 0x38 '8' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 57 0x39 '9' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x04, /* 00000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 58 0x3a ':' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x18, /* 000  000 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+	0x18, /* 000  000 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+
+	/* 59 0x3b ';' */
+	0x00, /* 00000000 */
+	0x30, /* 00  0000 */
+	0x30, /* 00  0000 */
+	0x00, /* 00000000 */
+	0x30, /* 00  0000 */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+
+	/* 60 0x3c '<' */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+
+	/* 61 0x3d '=' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 62 0x3e '>' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+
+	/* 63 0x3f '?' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 64 0x40 '@' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x74, /* 0   0 00 */
+	0x54, /* 0 0 0 00 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 65 0x41 'A' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 66 0x42 'B' */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x00, /* 00000000 */
+
+	/* 67 0x43 'C' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 68 0x44 'D' */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x00, /* 00000000 */
+
+	/* 69 0x45 'E' */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 70 0x46 'F' */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x00, /* 00000000 */
+
+	/* 71 0x47 'G' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x4c, /* 0 00  00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 72 0x48 'H' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 73 0x49 'I' */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 74 0x4a 'J' */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 75 0x4b 'K' */
+	0x44, /* 0 000 00 */
+	0x48, /* 0 00 000 */
+	0x50, /* 0 0 0000 */
+	0x60, /* 0  00000 */
+	0x50, /* 0 0 0000 */
+	0x48, /* 0 00 000 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 76 0x4c 'L' */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 77 0x4d 'M' */
+	0x44, /* 0 000 00 */
+	0x6c, /* 0  0  00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 78 0x4e 'N' */
+	0x44, /* 0 000 00 */
+	0x64, /* 0  00 00 */
+	0x54, /* 0 0 0 00 */
+	0x4c, /* 0 00  00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 79 0x4f 'O' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 80 0x50 'P' */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x00, /* 00000000 */
+
+	/* 81 0x51 'Q' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x04, /* 00000 00 */
+
+	/* 82 0x52 'R' */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 83 0x53 'S' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x38, /* 00   000 */
+	0x04, /* 00000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 84 0x54 'T' */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 85 0x55 'U' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 86 0x56 'V' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 87 0x57 'W' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x6c, /* 0  0  00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 88 0x58 'X' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 89 0x59 'Y' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 90 0x5a 'Z' */
+	0x7c, /* 0     00 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x40, /* 0 000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 91 0x5b '[' */
+	0x0c, /* 0000  00 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+
+	/* 92 0x5c '\' */
+	0x40, /* 0 000000 */
+	0x20, /* 00 00000 */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+
+	/* 93 0x5d ']' */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x30, /* 00  0000 */
+	0x00, /* 00000000 */
+
+	/* 94 0x5e '^' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 95 0x5f '_' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfc, /*       00 */
+	0x00, /* 00000000 */
+
+	/* 96 0x60 '`' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 97 0x61 'a' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+	0x00, /* 00000000 */
+
+	/* 98 0x62 'b' */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x00, /* 00000000 */
+
+	/* 99 0x63 'c' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 100 0x64 'd' */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 101 0x65 'e' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 102 0x66 'f' */
+	0x0c, /* 0000  00 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 103 0x67 'g' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x04, /* 00000 00 */
+	0x38, /* 00   000 */
+
+	/* 104 0x68 'h' */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 105 0x69 'i' */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 106 0x6a 'j' */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x60, /* 0  00000 */
+
+	/* 107 0x6b 'k' */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x48, /* 0 00 000 */
+	0x50, /* 0 0 0000 */
+	0x70, /* 0   0000 */
+	0x48, /* 0 00 000 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 108 0x6c 'l' */
+	0x30, /* 00  0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 109 0x6d 'm' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x78, /* 0    000 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x00, /* 00000000 */
+
+	/* 110 0x6e 'n' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x58, /* 0 0  000 */
+	0x64, /* 0  00 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 111 0x6f 'o' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 112 0x70 'p' */
+	0x00, /* 00000000 */
+	0x78, /* 0    000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+
+	/* 113 0x71 'q' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+
+	/* 114 0x72 'r' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x58, /* 0 0  000 */
+	0x64, /* 0  00 00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x00, /* 00000000 */
+
+	/* 115 0x73 's' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x40, /* 0 000000 */
+	0x38, /* 00   000 */
+	0x04, /* 00000 00 */
+	0x78, /* 0    000 */
+	0x00, /* 00000000 */
+
+	/* 116 0x74 't' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+
+	/* 117 0x75 'u' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+	0x00, /* 00000000 */
+
+	/* 118 0x76 'v' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 119 0x77 'w' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+
+	/* 120 0x78 'x' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 121 0x79 'y' */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x04, /* 00000 00 */
+	0x38, /* 00   000 */
+
+	/* 122 0x7a 'z' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 123 0x7b '{' */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+
+	/* 124 0x7c '|' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 125 0x7d '}' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+
+	/* 126 0x7e '~' */
+	0x00, /* 00000000 */
+	0x34, /* 00  0 00 */
+	0x58, /* 0 0  000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 127 0x7f '^?' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 128 0x80 '\200' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x00, /* 00000000 */
+
+	/* 129 0x81 '\201' */
+	0x28, /* 00 0 000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+
+	/* 130 0x82 '\202' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 131 0x83 '\203' */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x78, /* 0    000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x7c, /* 0     00 */
+
+	/* 132 0x84 '\204' */
+	0x58, /* 0 0  000 */
+	0x44, /* 0 000 00 */
+	0x64, /* 0  00 00 */
+	0x54, /* 0 0 0 00 */
+	0x4c, /* 0 00  00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+
+	/* 133 0x85 '\205' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 134 0x86 '\206' */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 135 0x87 '\207' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 136 0x88 '\210' */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 137 0x89 '\211' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 138 0x8a '\212' */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+	0x00, /* 00000000 */
+
+	/* 139 0x8b '\213' */
+	0x34, /* 00  0 00 */
+	0x58, /* 0 0  000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 140 0x8c '\214' */
+	0x18, /* 000  000 */
+	0x24, /* 00 00 00 */
+	0x18, /* 000  000 */
+	0x3c, /* 00    00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 141 0x8d '\215' */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+
+	/* 142 0x8e '\216' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+
+	/* 143 0x8f '\217' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+
+	/* 144 0x90 '\220' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+
+	/* 145 0x91 '\221' */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x40, /* 0 000000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 146 0x92 '\222' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 147 0x93 '\223' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 148 0x94 '\224' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 149 0x95 '\225' */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 150 0x96 '\226' */
+	0x34, /* 00  0 00 */
+	0x58, /* 0 0  000 */
+	0x00, /* 00000000 */
+	0x58, /* 0 0  000 */
+	0x64, /* 0  00 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+
+	/* 151 0x97 '\227' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 152 0x98 '\230' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 153 0x99 '\231' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 154 0x9a '\232' */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 155 0x9b '\233' */
+	0x34, /* 00  0 00 */
+	0x58, /* 0 0  000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 156 0x9c '\234' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 157 0x9d '\235' */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 158 0x9e '\236' */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+
+	/* 159 0x9f '\237' */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x34, /* 00  0 00 */
+	0x00, /* 00000000 */
+
+	/* 160 0xa0 '\240' */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 161 0xa1 '\241' */
+	0x18, /* 000  000 */
+	0x24, /* 00 00 00 */
+	0x24, /* 00 00 00 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 162 0xa2 '\242' */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x50, /* 0 0 0000 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 163 0xa3 '\243' */
+	0x30, /* 00  0000 */
+	0x48, /* 0 00 000 */
+	0x40, /* 0 000000 */
+	0x70, /* 0   0000 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+	0x44, /* 0 000 00 */
+	0x78, /* 0    000 */
+
+	/* 164 0xa4 '\244' */
+	0x44, /* 0 000 00 */
+	0x24, /* 00 00 00 */
+	0x50, /* 0 0 0000 */
+	0x48, /* 0 00 000 */
+	0x24, /* 00 00 00 */
+	0x14, /* 000 0 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 165 0xa5 '\245' */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 166 0xa6 '\246' */
+	0x3c, /* 00    00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x54, /* 0 0 0 00 */
+	0x3c, /* 00    00 */
+	0x14, /* 000 0 00 */
+	0x14, /* 000 0 00 */
+	0x14, /* 000 0 00 */
+
+	/* 167 0xa7 '\247' */
+	0x18, /* 000  000 */
+	0x24, /* 00 00 00 */
+	0x48, /* 0 00 000 */
+	0x48, /* 0 00 000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x58, /* 0 0  000 */
+	0x40, /* 0 000000 */
+
+	/* 168 0xa8 '\250' */
+	0x00, /* 00000000 */
+	0x70, /* 0   0000 */
+	0x08, /* 0000 000 */
+	0x64, /* 0  00 00 */
+	0x54, /* 0 0 0 00 */
+	0x64, /* 0  00 00 */
+	0x58, /* 0 0  000 */
+	0x00, /* 00000000 */
+
+	/* 169 0xa9 '\251' */
+	0x70, /* 0   0000 */
+	0x08, /* 0000 000 */
+	0x34, /* 00  0 00 */
+	0x44, /* 0 000 00 */
+	0x34, /* 00  0 00 */
+	0x08, /* 0000 000 */
+	0x70, /* 0   0000 */
+	0x00, /* 00000000 */
+
+	/* 170 0xaa '\252' */
+	0x00, /* 00000000 */
+	0xf4, /*     0 00 */
+	0x5c, /* 0 0   00 */
+	0x5c, /* 0 0   00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 171 0xab '\253' */
+	0x00, /* 00000000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 172 0xac '\254' */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 173 0xad '\255' */
+	0x00, /* 00000000 */
+	0x08, /* 0000 000 */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 174 0xae '\256' */
+	0x3c, /* 00    00 */
+	0x50, /* 0 0 0000 */
+	0x50, /* 0 0 0000 */
+	0x78, /* 0    000 */
+	0x50, /* 0 0 0000 */
+	0x50, /* 0 0 0000 */
+	0x5c, /* 0 0   00 */
+	0x00, /* 00000000 */
+
+	/* 175 0xaf '\257' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x4c, /* 0 00  00 */
+	0x54, /* 0 0 0 00 */
+	0x64, /* 0  00 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 176 0xb0 '\260' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x6c, /* 0  0  00 */
+	0x54, /* 0 0 0 00 */
+	0x6c, /* 0  0  00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 177 0xb1 '\261' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 178 0xb2 '\262' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 179 0xb3 '\263' */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x04, /* 00000 00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+
+	/* 180 0xb4 '\264' */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x7c, /* 0     00 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* 181 0xb5 '\265' */
+	0x00, /* 00000000 */
+	0x48, /* 0 00 000 */
+	0x48, /* 0 00 000 */
+	0x48, /* 0 00 000 */
+	0x48, /* 0 00 000 */
+	0x74, /* 0   0 00 */
+	0x40, /* 0 000000 */
+	0x40, /* 0 000000 */
+
+	/* 182 0xb6 '\266' */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x0c, /* 0000  00 */
+	0x14, /* 000 0 00 */
+	0x24, /* 00 00 00 */
+	0x24, /* 00 00 00 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+
+	/* 183 0xb7 '\267' */
+	0x7c, /* 0     00 */
+	0x24, /* 00 00 00 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x24, /* 00 00 00 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 184 0xb8 '\270' */
+	0x7c, /* 0     00 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+
+	/* 185 0xb9 '\271' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+
+	/* 186 0xba '\272' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x60, /* 0  00000 */
+
+	/* 187 0xbb '\273' */
+	0x1c, /* 000   00 */
+	0x24, /* 00 00 00 */
+	0x24, /* 00 00 00 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 188 0xbc '\274' */
+	0x18, /* 000  000 */
+	0x24, /* 00 00 00 */
+	0x24, /* 00 00 00 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 189 0xbd '\275' */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x6c, /* 0  0  00 */
+	0x00, /* 00000000 */
+
+	/* 190 0xbe '\276' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x5c, /* 0 0   00 */
+	0x50, /* 0 0 0000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 191 0xbf '\277' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x4c, /* 0 00  00 */
+	0x54, /* 0 0 0 00 */
+	0x64, /* 0  00 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 192 0xc0 '\300' */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x40, /* 0 000000 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+
+	/* 193 0xc1 '\301' */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+
+	/* 194 0xc2 '\302' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x04, /* 00000 00 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 195 0xc3 '\303' */
+	0x00, /* 00000000 */
+	0x0c, /* 0000  00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x50, /* 0 0 0000 */
+	0x20, /* 00 00000 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+
+	/* 196 0xc4 '\304' */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x60, /* 0  00000 */
+
+	/* 197 0xc5 '\305' */
+	0x00, /* 00000000 */
+	0x04, /* 00000 00 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+	0x40, /* 0 000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 198 0xc6 '\306' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* 199 0xc7 '\307' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x24, /* 00 00 00 */
+	0x48, /* 0 00 000 */
+	0x48, /* 0 00 000 */
+	0x24, /* 00 00 00 */
+	0x00, /* 00000000 */
+
+	/* 200 0xc8 '\310' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x48, /* 0 00 000 */
+	0x24, /* 00 00 00 */
+	0x24, /* 00 00 00 */
+	0x48, /* 0 00 000 */
+	0x00, /* 00000000 */
+
+	/* 201 0xc9 '\311' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x54, /* 0 0 0 00 */
+	0x00, /* 00000000 */
+
+	/* 202 0xca '\312' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 203 0xcb '\313' */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+
+	/* 204 0xcc '\314' */
+	0x58, /* 0 0  000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+
+	/* 205 0xcd '\315' */
+	0x58, /* 0 0  000 */
+	0x38, /* 00   000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x38, /* 00   000 */
+
+	/* 206 0xce '\316' */
+	0x3c, /* 00    00 */
+	0x50, /* 0 0 0000 */
+	0x50, /* 0 0 0000 */
+	0x58, /* 0 0  000 */
+	0x50, /* 0 0 0000 */
+	0x50, /* 0 0 0000 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 207 0xcf '\317' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x54, /* 0 0 0 00 */
+	0x5c, /* 0 0   00 */
+	0x50, /* 0 0 0000 */
+	0x2c, /* 00 0  00 */
+	0x00, /* 00000000 */
+
+	/* 208 0xd0 '\320' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x38, /* 00   000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 209 0xd1 '\321' */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xfc, /*       00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 210 0xd2 '\322' */
+	0x14, /* 000 0 00 */
+	0x28, /* 00 0 000 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 211 0xd3 '\323' */
+	0x14, /* 000 0 00 */
+	0x14, /* 000 0 00 */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 212 0xd4 '\324' */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x18, /* 000  000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 213 0xd5 '\325' */
+	0x18, /* 000  000 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 214 0xd6 '\326' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 215 0xd7 '\327' */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x28, /* 00 0 000 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 216 0xd8 '\330' */
+	0x28, /* 00 0 000 */
+	0x00, /* 00000000 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x3c, /* 00    00 */
+	0x04, /* 00000 00 */
+	0x38, /* 00   000 */
+
+	/* 217 0xd9 '\331' */
+	0x00, /* 00000000 */
+	0xfc, /*       00 */
+	0x00, /* 00000000 */
+	0xfc, /*       00 */
+	0x00, /* 00000000 */
+	0xfc, /*       00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* 218 0xda '\332' */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 219 0xdb '\333' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 220 0xdc '\334' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 221 0xdd '\335' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 222 0xde '\336' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 223 0xdf '\337' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 224 0xe0 '\340' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 225 0xe1 '\341' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 226 0xe2 '\342' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 227 0xe3 '\343' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 228 0xe4 '\344' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 229 0xe5 '\345' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 230 0xe6 '\346' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 231 0xe7 '\347' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 232 0xe8 '\350' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 233 0xe9 '\351' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 234 0xea '\352' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 235 0xeb '\353' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 236 0xec '\354' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 237 0xed '\355' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 238 0xee '\356' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 239 0xef '\357' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 240 0xf0 '\360' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 241 0xf1 '\361' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 242 0xf2 '\362' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 243 0xf3 '\363' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 244 0xf4 '\364' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 245 0xf5 '\365' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 246 0xf6 '\366' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 247 0xf7 '\367' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 248 0xf8 '\370' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 249 0xf9 '\371' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 250 0xfa '\372' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 251 0xfb '\373' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 252 0xfc '\374' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 253 0xfd '\375' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 254 0xfe '\376' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+	/* 255 0xff '\377' */
+	0x00, /* 00000000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x00, /* 00000000 */
+
+};
+
+static unsigned char icondata_6x8[] = {
+
+	/* ICON_BLOCK_FILLED */
+	0xff, /*          */
+	0xff, /*          */
+	0xff, /*          */
+	0xff, /*          */
+	0xff, /*          */
+	0xff, /*          */
+	0xff, /*          */
+	0x00, /* 00000000 */
+
+	/* ICON_HEART_OPEN */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x54, /* 0 0 0 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x28, /* 00 0 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_HEART_FILLED */
+	0x00, /* 00000000 */
+	0x28, /* 00 0 000 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_ARROW_UP */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x38, /* 00   000 */
+	0x54, /* 0 0 0 00 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_ARROW_DOWN */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x54, /* 0 0 0 00 */
+	0x38, /* 00   000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_ARROW_LEFT */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x20, /* 00 00000 */
+	0x7c, /* 0     00 */
+	0x20, /* 00 00000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* ICON_ARROW_RIGHT */
+	0x00, /* 00000000 */
+	0x10, /* 000 0000 */
+	0x08, /* 0000 000 */
+	0x7c, /* 0     00 */
+	0x08, /* 0000 000 */
+	0x10, /* 000 0000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* ICON_CHECKBOX_OFF */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* ICON_CHECKBOX_ON */
+	0x10, /* 000 0000 */
+	0x10, /* 000 0000 */
+	0x74, /* 0   0 00 */
+	0x58, /* 0 0  000 */
+	0x54, /* 0 0 0 00 */
+	0x44, /* 0 000 00 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+	/* ICON_CHECKBOX_GRAY */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x7c, /* 0     00 */
+	0x54, /* 0 0 0 00 */
+	0x6c, /* 0  0  00 */
+	0x54, /* 0 0 0 00 */
+	0x7c, /* 0     00 */
+	0x00, /* 00000000 */
+
+};
+
+static unsigned char icondata_2x6x8[] = {
+
+	/* ICON_STOP */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0xe0, /*    00000 */
+	0x00, /* 00000000 */
+
+	/* ICON_PAUSE */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x1c, /* 000   00 */
+	0x00, /* 00000000 */
+
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x70, /* 0   0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_PLAY */
+	0x30, /* 00  0000 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x3c, /* 00    00 */
+	0x30, /* 00  0000 */
+	0x00, /* 00000000 */
+
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0xc0, /*   000000 */
+	0xf0, /*     0000 */
+	0xc0, /*   000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	/* ICON_PLAYR */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x0c, /* 0000  00 */
+	0x3c, /* 00    00 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+	0x00, /* 00000000 */
+
+	0x30, /* 00  0000 */
+	0xf0, /*     0000 */
+	0xf0, /*     0000 */
+	0xf0, /*     0000 */
+	0xf0, /*     0000 */
+	0xf0, /*     0000 */
+	0x30, /* 00  0000 */
+	0x00, /* 00000000 */
+
+	/* ICON_FF */
+	0x20, /* 00 00000 */
+	0x30, /* 00  0000 */
+	0x38, /* 00   000 */
+	0x3c, /* 00    00 */
+	0x38, /* 00   000 */
+	0x30, /* 00  0000 */
+	0x20, /* 00 00000 */
+	0x00, /* 00000000 */
+
+	0x40, /* 0 000000 */
+	0x60, /* 0  00000 */
+	0x70, /* 0   0000 */
+	0x78, /* 0    000 */
+	0x70, /* 0   0000 */
+	0x60, /* 0  00000 */
+	0x40, /* 0 000000 */
+	0x00, /* 00000000 */
+
+	/* ICON_FR */
+	0x04, /* 00000 00 */
+	0x0c, /* 0000  00 */
+	0x1c, /* 000   00 */
+	0x3c, /* 00    00 */
+	0x1c, /* 000   00 */
+	0x0c, /* 0000  00 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+
+	0x08, /* 0000 000 */
+	0x18, /* 000  000 */
+	0x38, /* 00   000 */
+	0x78, /* 0    000 */
+	0x38, /* 00   000 */
+	0x18, /* 000  000 */
+	0x08, /* 0000 000 */
+	0x00, /* 00000000 */
+
+	/* ICON_NEXT */
+	0x60, /* 0  00000 */
+	0x78, /* 0    000 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x7c, /* 0     00 */
+	0x78, /* 0    000 */
+	0x60, /* 0  00000 */
+	0x00, /* 00000000 */
+
+	0x0c, /* 0000  00 */
+	0x0c, /* 0000  00 */
+	0x8c, /*  000  00 */
+	0xec, /*    0  00 */
+	0x8c, /*  000  00 */
+	0x0c, /* 0000  00 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+
+	/* ICON_PREV */
+	0x60, /* 0  00000 */
+	0x60, /* 0  00000 */
+	0x60, /* 0  00000 */
+	0x6c, /* 0  0  00 */
+	0x60, /* 0  00000 */
+	0x60, /* 0  00000 */
+	0x60, /* 0  00000 */
+	0x00, /* 00000000 */
+
+	0x0c, /* 0000  00 */
+	0x3c, /* 00    00 */
+	0xfc, /*       00 */
+	0xfc, /*       00 */
+	0xfc, /*       00 */
+	0x3c, /* 00    00 */
+	0x0c, /* 0000  00 */
+	0x00, /* 00000000 */
+
+	/* ICON_REC */
+	0x04, /* 00000 00 */
+	0x0c, /* 0000  00 */
+	0x1c, /* 000   00 */
+	0x18, /* 000  000 */
+	0x1c, /* 000   00 */
+	0x0c, /* 0000  00 */
+	0x04, /* 00000 00 */
+	0x00, /* 00000000 */
+
+	0xc0, /*   000000 */
+	0xe0, /*    00000 */
+	0x70, /* 0   0000 */
+	0x30, /* 00  0000 */
+	0x70, /* 0   0000 */
+	0xe0, /*    00000 */
+	0xc0, /*   000000 */
+	0x00, /* 00000000 */
+
+};
+
+static int icons1[] = {
+	ICON_BLOCK_FILLED,
+	ICON_HEART_OPEN,
+	ICON_HEART_FILLED,
+	ICON_ARROW_UP,
+	ICON_ARROW_DOWN,
+	ICON_ARROW_LEFT,
+	ICON_ARROW_RIGHT,
+	ICON_CHECKBOX_OFF,
+	ICON_CHECKBOX_ON,
+	ICON_CHECKBOX_GRAY,
+	0
+};
+
+static int icons2[] = {
+	ICON_STOP,
+	ICON_PAUSE,
+	ICON_PLAY,
+	ICON_PLAYR,
+	ICON_FF,
+	ICON_FR,
+	ICON_NEXT,
+	ICON_PREV,
+	ICON_REC,
+	0
+};
+
+/*
+ * bignum font
+ *
+ * This font is entered in native way (vertically).
+ * It is 3 line (3 x 8 points) high and 3 characters (3 x 6 points) wide
+ *
+ */
+
+static unsigned char fontdata_bignum[10][3][18] = {
+	{	/* 0 */
+		{ 0x00,0x00,0xc0,0xf0,0xf8,0x3c, 0x0e,0x0e,0x0e,0x0e,0x1e,0x1c, 0xfc,0xf8,0xf0,0x80,0x00,0x00 },
+		{ 0x00,0x00,0xff,0xff,0xff,0x00, 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xff,0xff,0xff,0x00,0x00 },
+		{ 0x00,0x00,0x01,0x0f,0x1f,0x3e, 0x78,0x70,0x70,0x70,0x78,0x3c, 0x3f,0x1f,0x0f,0x01,0x00,0x00 }
+	},
+	{	/* 1 */
+		{ 0x00,0x08,0x38,0x38,0x1c,0x1c, 0x1c,0x0c,0xfe,0xfe,0xfe,0x00, 0x00,0x00,0x00,0x00,0x00,0x00 },
+		{ 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0xff,0xff,0xff,0x00, 0x00,0x00,0x00,0x00,0x00,0x00 },
+		{ 0x00,0x70,0x70,0x70,0x70,0x70, 0x70,0x70,0x7f,0x7f,0x7f,0x70, 0x70,0x70,0x70,0x70,0x70,0x00 }
+	},
+	{	/* 2 */
+		{ 0x00,0x00,0x78,0x7c,0x7c,0x1e, 0x0e,0x0e,0x0e,0x0e,0x0e,0x1e, 0x1c,0xfc,0xf8,0xe0,0x00,0x00 },
+		{ 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x80,0xc0,0xe0,0xf0,0x78, 0x3c,0x1f,0x0f,0x03,0x00,0x00 },
+		{ 0x00,0x00,0x78,0x7c,0x7e,0x7e, 0x7f,0x77,0x73,0x71,0x70,0x70, 0x70,0x7e,0x7e,0x7e,0x00,0x00 }
+	},
+	{	/* 3 */
+		{ 0x00,0x00,0x00,0x18,0x18,0x1c, 0x0c,0x0e,0x0e,0x0e,0x0e,0x0e, 0x1e,0xfc,0xf8,0xf0,0x00,0x00 },
+		{ 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x1c,0x1c,0x1c,0x1e, 0x3f,0x7f,0xfb,0xf1,0xc0,0x00 },
+		{ 0x00,0x00,0x00,0x18,0x38,0x38, 0x70,0x70,0x70,0x70,0x70,0x70, 0x78,0x3c,0x3f,0x1f,0x07,0x00 }
+	},
+	{	/* 4 */
+		{ 0x00,0x00,0x00,0x00,0x00,0x80, 0xe0,0xf0,0x7c,0x1e,0x0e,0xfe, 0xfe,0xfe,0x00,0x00,0x00,0x00 },
+		{ 0x00,0xe0,0xf8,0xfc,0xdf,0xc7, 0xc3,0xc0,0xc0,0xc0,0xc0,0xff, 0xff,0xff,0xc0,0xc0,0xc0,0x00 },
+		{ 0x00,0x01,0x01,0x01,0x01,0x01, 0x71,0x71,0x71,0x71,0x71,0x7f, 0x7f,0x7f,0x71,0x71,0x71,0x00 }
+	},
+	{	/* 5 */
+		{ 0x00,0x00,0x00,0xfe,0xfe,0xfe, 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, 0x0e,0x0e,0x0e,0x0e,0x00,0x00 },
+		{ 0x00,0x00,0x00,0x0f,0x1f,0x0f, 0x0f,0x07,0x07,0x07,0x07,0x0f, 0x0e,0x3e,0xfc,0xf8,0xe0,0x00 },
+		{ 0x00,0x00,0x38,0x38,0x38,0x70, 0x70,0x70,0x70,0x70,0x70,0x70, 0x38,0x3c,0x1f,0x0f,0x03,0x00 }
+	},
+	{	/* 6 */
+		{ 0x00,0x00,0x00,0x80,0xe0,0xf0, 0xf8,0x38,0x1c,0x1c,0x0e,0x0e, 0x0e,0x0e,0x0e,0x0e,0x06,0x00 },
+		{ 0x00,0x00,0xfc,0xff,0xff,0x3f, 0x1c,0x1e,0x0e,0x0e,0x0e,0x0e, 0x1c,0x3c,0xf8,0xf0,0xc0,0x00 },
+		{ 0x00,0x00,0x01,0x0f,0x1f,0x3e, 0x38,0x78,0x70,0x70,0x70,0x70, 0x78,0x3c,0x1f,0x0f,0x07,0x00 }
+	},
+	{	/* 7 */
+		{ 0x00,0x00,0x7e,0x7e,0x7e,0x0e, 0x0e,0x0e,0x0e,0x0e,0x0e,0x0e, 0x8e,0xee,0xfe,0xfe,0x1e,0x00 },
+		{ 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xe0,0xfc, 0xff,0x3f,0x07,0x00,0x00,0x00 },
+		{ 0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x60,0x7c,0x7f,0x3f,0x0f, 0x01,0x00,0x00,0x00,0x00,0x00 }
+	},
+	{	/* 8 */
+		{ 0x00,0x00,0x00,0xf0,0xf8,0xfc, 0x1c,0x0e,0x0e,0x0e,0x0e,0x0e, 0x0e,0x1c,0xfc,0xf8,0xf0,0x00 },
+		{ 0x00,0x00,0x80,0xe1,0xf3,0x7f, 0x3f,0x3e,0x1c,0x1c,0x1c,0x1c, 0x3e,0x7f,0xf7,0xe3,0xc0,0x00 },
+		{ 0x00,0x00,0x07,0x0f,0x1f,0x3c, 0x38,0x70,0x70,0x70,0x70,0x70, 0x78,0x3c,0x3f,0x1f,0x07,0x00 }
+	},
+	{	/* 9 */
+		{ 0x00,0x00,0x00,0xe0,0xf8,0xfc, 0x1c,0x0e,0x0e,0x0e,0x0e,0x0e, 0x1c,0x3c,0xf8,0xf0,0xc0,0x00 },
+		{ 0x00,0x00,0x00,0x03,0x0f,0x1f, 0x3c,0x78,0x70,0x70,0x70,0x78, 0x38,0xfe,0xff,0xff,0x7f,0x00 },
+		{ 0x00,0x00,0x40,0x70,0x70,0x70, 0x70,0x70,0x70,0x30,0x38,0x3c, 0x1e,0x0f,0x07,0x01,0x00,0x00 }
+	}
+};
