diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-04-04 00:16:11 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-04-04 00:16:11 +0000 |
commit | 5a6968918800d64062fa03deae530886aaa42db7 (patch) | |
tree | 6055ceb960b2caf179268e4ed27e3fd59731934d | |
parent | 61350bf91cbe18c5a6d390c1d0140326031703e1 (diff) |
Replace obsolete generate_rocklatin tool with player_unifont tool.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13014 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/drivers/lcd-charset-player.c | 4 | ||||
-rw-r--r-- | firmware/export/lcd-charcell.h | 2 | ||||
-rw-r--r-- | tools/Makefile | 4 | ||||
-rwxr-xr-x | tools/configure | 2 | ||||
-rw-r--r-- | tools/generate_rocklatin.c | 747 | ||||
-rw-r--r-- | tools/player_unifont.c | 778 |
6 files changed, 785 insertions, 752 deletions
diff --git a/firmware/drivers/lcd-charset-player.c b/firmware/drivers/lcd-charset-player.c index 5e97f06f43..db1cd04884 100644 --- a/firmware/drivers/lcd-charset-player.c +++ b/firmware/drivers/lcd-charset-player.c @@ -110,7 +110,7 @@ enum { #endif }; -static const struct xchar_info xchar_info_newlcd[] = { +const struct xchar_info xchar_info_newlcd[] = { /* Standard ascii */ { 0x20, 0, 0, 0x20 }, /* */ { 0x21, 0, 0, 0x21 }, /* ! */ @@ -610,7 +610,7 @@ static const struct xchar_info xchar_info_newlcd[] = { { 0xfffd, 0, 0, 0x91 }, }; -static const struct xchar_info xchar_info_oldlcd[] = { +const struct xchar_info xchar_info_oldlcd[] = { /* Standard ascii */ { 0x20, 0, 0, 0x24 }, /* */ { 0x21, 0, 0, 0x25 }, /* ! */ diff --git a/firmware/export/lcd-charcell.h b/firmware/export/lcd-charcell.h index 0684f9cd7b..8fc1dbba19 100644 --- a/firmware/export/lcd-charcell.h +++ b/firmware/export/lcd-charcell.h @@ -16,6 +16,8 @@ * KIND, either express or implied. * ****************************************************************************/ + +#include "config.h" /* target dependent - to be adjusted for other charcell targets */ #define HW_PATTERN_SIZE 7 /* number of bytes per pattern */ diff --git a/tools/Makefile b/tools/Makefile index d957f75327..a25447c20e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -53,8 +53,8 @@ convbdf: convbdf.c codepages: codepages.c codepage_tables.c $(SILENT)$(CC) -g $+ -o $@ -generate_rocklatin: generate_rocklatin.c ../firmware/drivers/lcd-player-charset.c - $(SILENT)$(CC) -DHAVE_LCD_CHARCELLS -D__CONFIG_H__ -I../firmware/export $+ -o $@ +player_unifont: player_unifont.c ../firmware/drivers/lcd-charset-player.c + $(SILENT)$(CC) -DARCHOS_PLAYER -D__PCTOOL__ -I../firmware/export $+ -o $@ uclpack: $(SILENT)$(MAKE) -C ucl diff --git a/tools/configure b/tools/configure index 0341a29e85..86f0db4425 100755 --- a/tools/configure +++ b/tools/configure @@ -661,7 +661,7 @@ EOF # toolset is the tools within the tools directory that we build for # this particular target. - toolset="$toolset scramble descramble sh2d uclpack" + toolset="$toolset scramble descramble sh2d player_unifont uclpack" # Note: the convbdf is present in the toolset just because: 1) the # firmware/Makefile assumes it is present always, and 2) we will need it when we diff --git a/tools/generate_rocklatin.c b/tools/generate_rocklatin.c deleted file mode 100644 index 2736f0d7c3..0000000000 --- a/tools/generate_rocklatin.c +++ /dev/null @@ -1,747 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2003 by Kjell Ericson - * - * All files in this archive are subject to the GNU General Public License. - * See the file COPYING in the source tree root for full license agreement. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#define CHAR_WIDTH 8 -#define CHAR_HEIGHT 8 - -#define BITMAP_WIDTH ((CHAR_WIDTH)*17) -#define BITMAP_HEIGHT ((CHAR_HEIGHT)*17) - -#define SIZE 2 - -unsigned int bitmap[BITMAP_WIDTH][BITMAP_HEIGHT]; - -extern unsigned char extended_font_player[256][8]; - -extern unsigned char font_new_player[256][5]; -extern unsigned char font_old_player[256][5]; - -extern unsigned short new_lcd_rocklatin1_to_xlcd[]; -extern unsigned short old_lcd_rocklatin1_to_xlcd[]; -extern unsigned char lcd_player_extended_lcd_to_rocklatin1[]; - -unsigned char (* font)[256][5]; -unsigned short *rocklatin; - -char show_subst=0; -char show_hardware=0; -char shadow_show_hardware=0; - -void set_pixel(int x, int y, int col) -{ - bitmap[x][y]=col; -} - -void draw_extended_char(unsigned char chr, int x, int y) -{ - int x2, y2; - unsigned char *data; - short mapped_char; - int col=0; - - data=extended_font_player[chr]; - col=0xf00000; - - for (x2=0; x2<5; x2++) { - for (y2=0; y2<7; y2++) { - if (data[y2]&((1<<4)>>x2)) - set_pixel(x+x2, y+y2, col); - else - set_pixel(x+x2, y+y2, 0xc0c0c0); - } - } -} - - -void draw_char(unsigned char chr, int x, int y) -{ - int x2, y2; - unsigned char *data; - short mapped_char; - int col=0; - - if (show_hardware) - mapped_char=chr; - else { - mapped_char=rocklatin[chr]; - if (chr<=0x20 && mapped_char==0xff) - mapped_char=rocklatin[' ']; - } - if (mapped_char>=512) { - if (show_subst) { - chr=lcd_player_extended_lcd_to_rocklatin1[mapped_char-512]; - mapped_char=rocklatin[chr]; - data=(*font)[mapped_char]; - } else { - draw_extended_char(mapped_char-512, x, y); - return; - } - col=0xf00000; - } else if (mapped_char<256) { - data=(*font)[mapped_char]; - } else if (mapped_char>=256) { - mapped_char=mapped_char-256; - } - - for (x2=0; x2<5; x2++) { - for (y2=0; y2<7; y2++) { - if (data[x2]&(1<<y2)) - set_pixel(x+x2, y+y2, col); - else - set_pixel(x+x2, y+y2, 0xc0c0c0); - } - } -} - -int main (int argc, char** argv) -{ - int x, y; - int loop; - char *filename; - FILE *fp; - - printf("This tool will generate gif-pictures that reflect the current " - "rocklatin1 charset of the Player.\nThis tool is compiled with " - "the source, so don't forget to 'make' it before starting.\n" - "This tool will generate pnm-pictures that then automatically is " - "converted to gif pictures using the 'convert' tool of " - "ImageMagick.\n" - "The generated gif-pictures shall then be copied to www/docs.\n"); - - for (loop=0; loop<6; loop++) { - switch (loop) { - case 0: - font=&font_old_player; - rocklatin=old_lcd_rocklatin1_to_xlcd; - filename="lcd_old.gif"; - show_subst=0; - show_hardware=0; - break; - case 1: - font=&font_new_player; - rocklatin=new_lcd_rocklatin1_to_xlcd; - filename="lcd_new.gif"; - show_subst=0; - show_hardware=0; - break; - case 2: - font=&font_old_player; - rocklatin=old_lcd_rocklatin1_to_xlcd; - filename="lcd_old_subst.gif"; - show_subst=1; - show_hardware=0; - break; - case 3: - font=&font_new_player; - rocklatin=new_lcd_rocklatin1_to_xlcd; - filename="lcd_new_subst.gif"; - show_subst=1; - show_hardware=0; - break; - case 4: - font=&font_old_player; - rocklatin=old_lcd_rocklatin1_to_xlcd; - filename="lcd_old_hw.gif"; - show_subst=1; - show_hardware=1; - break; - case 5: - font=&font_new_player; - rocklatin=new_lcd_rocklatin1_to_xlcd; - filename="lcd_new_hw.gif"; - show_subst=1; - show_hardware=1; - break; - default: - printf("Not in loop!\n"); - exit(0); - } - fp=fopen("tmp.pnm", "wb"); - if (!fp) { - printf("Error opening %s!\n", filename); - exit(0); - } - memset(bitmap, 255, sizeof(bitmap)); - - fprintf(fp, "P3\n#PNM showing a picture of the Rocklatin charset\n"); - - fprintf(fp, "%d %d\n255\n", BITMAP_HEIGHT*SIZE, BITMAP_WIDTH*SIZE); - - shadow_show_hardware=show_hardware; - show_hardware=0; - for (x=0; x<16; x++) { - draw_char(x+(x<10?'0':'A'-10), CHAR_WIDTH+CHAR_WIDTH*x+1, 0); - draw_char(x+(x<10?'0':'A'-10), 1, CHAR_WIDTH+CHAR_WIDTH*x); - } - show_hardware=shadow_show_hardware; - - for (x=0; x<16; x++) { - for (y=0; y<16; y++) { - draw_char(x+y*16, CHAR_WIDTH+CHAR_WIDTH*x+1, y*CHAR_HEIGHT+CHAR_HEIGHT); - } - } - - for (y=0; y<BITMAP_HEIGHT; y++) { - int i, z; - for (i=0; i<SIZE; i++) { - for (x=0; x<BITMAP_WIDTH; x++) { - unsigned int col=bitmap[x][y]; - if (y<CHAR_HEIGHT || x<CHAR_WIDTH) { - col=0xffffffff-col; - } - for (z=0; z<SIZE; z++) { - fprintf(fp, "%d ", (col>>16)&255); - fprintf(fp, "%d ", (col>>8)&255); - fprintf(fp, "%d ", (col)&255); - } - } - fprintf(fp, "\n"); - } - } - fclose(fp); - { - char buffer[200]; - sprintf(buffer, "convert tmp.pnm %s", filename); - system(buffer); - system("rm tmp.pnm"); - } - } -} - -unsigned char font_new_player[256][5] = { - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 00 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 01 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 02 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 03 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 04 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 05 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 06 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 07 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 08 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 09 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0a */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0b */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0c */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0d */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0e */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0f */ - { 0x3e, 0x1c, 0x1c, 0x08, 0x08 }, /* 10 */ - { 0x08, 0x08, 0x1c, 0x1c, 0x3e }, /* 11 */ - { 0x02, 0x04, 0x08, 0x10, 0x20 }, /* 12 */ - { 0x00, 0x4f, 0x00, 0x4f, 0x00 }, /* 13 */ - { 0x06, 0x0f, 0x7f, 0x01, 0x7f }, /* 14 */ - { 0x48, 0x56, 0x55, 0x35, 0x09 }, /* 15 */ - { 0x0c, 0x0c, 0x0c, 0x0c, 0x0c }, /* 16 */ - { 0x10, 0x38, 0x54, 0x10, 0x1f }, /* 17 */ - { 0x04, 0x02, 0x7f, 0x02, 0x04 }, /* 18 */ - { 0x10, 0x20, 0x7f, 0x20, 0x10 }, /* 19 */ - { 0x7f, 0x3e, 0x1c, 0x08, 0x7f }, /* 1a */ - { 0x7f, 0x08, 0x1c, 0x3e, 0x7f }, /* 1b */ - { 0x7f, 0x08, 0x2a, 0x1c, 0x08 }, /* 1c */ - { 0x08, 0x1c, 0x2a, 0x08, 0x7f }, /* 1d */ - { 0x02, 0x0e, 0x3e, 0x0e, 0x02 }, /* 1e */ - { 0x20, 0x38, 0x3e, 0x38, 0x20 }, /* 1f */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 20 */ - { 0x00, 0x00, 0x4f, 0x00, 0x00 }, /* 21 */ - { 0x00, 0x07, 0x00, 0x07, 0x00 }, /* 22 */ - { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, /* 23 */ - { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, /* 24 */ - { 0x23, 0x13, 0x08, 0x64, 0x62 }, /* 25 */ - { 0x36, 0x49, 0x55, 0x22, 0x50 }, /* 26 */ - { 0x00, 0x05, 0x03, 0x00, 0x00 }, /* 27 */ - { 0x00, 0x1c, 0x22, 0x41, 0x00 }, /* 28 */ - { 0x00, 0x41, 0x22, 0x1c, 0x00 }, /* 29 */ - { 0x14, 0x08, 0x3e, 0x08, 0x14 }, /* 2a */ - { 0x08, 0x08, 0x3e, 0x08, 0x08 }, /* 2b */ - { 0x00, 0x50, 0x30, 0x00, 0x00 }, /* 2c */ - { 0x08, 0x08, 0x08, 0x08, 0x08 }, /* 2d */ - { 0x00, 0x30, 0x30, 0x00, 0x00 }, /* 2e */ - { 0x20, 0x10, 0x08, 0x04, 0x02 }, /* 2f */ - { 0x3e, 0x51, 0x49, 0x45, 0x3e }, /* 30 */ - { 0x00, 0x42, 0x7f, 0x40, 0x00 }, /* 31 */ - { 0x42, 0x61, 0x51, 0x49, 0x46 }, /* 32 */ - { 0x21, 0x41, 0x45, 0x4b, 0x31 }, /* 33 */ - { 0x18, 0x14, 0x12, 0x7f, 0x10 }, /* 34 */ - { 0x27, 0x45, 0x45, 0x45, 0x39 }, /* 35 */ - { 0x3c, 0x4a, 0x49, 0x49, 0x30 }, /* 36 */ - { 0x01, 0x01, 0x71, 0x0d, 0x03 }, /* 37 */ - { 0x36, 0x49, 0x49, 0x49, 0x36 }, /* 38 */ - { 0x06, 0x49, 0x49, 0x29, 0x1e }, /* 39 */ - { 0x00, 0x36, 0x36, 0x00, 0x00 }, /* 3a */ - { 0x00, 0x5b, 0x3b, 0x00, 0x00 }, /* 3b */ - { 0x08, 0x14, 0x22, 0x41, 0x00 }, /* 3c */ - { 0x14, 0x14, 0x14, 0x14, 0x14 }, /* 3d */ - { 0x00, 0x41, 0x22, 0x14, 0x08 }, /* 3e */ - { 0x02, 0x01, 0x51, 0x09, 0x06 }, /* 3f */ - { 0x32, 0x49, 0x79, 0x41, 0x3e }, /* 40 */ - { 0x7e, 0x11, 0x11, 0x11, 0x7e }, /* 41 */ - { 0x7f, 0x49, 0x49, 0x49, 0x36 }, /* 42 */ - { 0x3e, 0x41, 0x41, 0x41, 0x22 }, /* 43 */ - { 0x7f, 0x41, 0x41, 0x22, 0x1c }, /* 44 */ - { 0x7f, 0x49, 0x49, 0x49, 0x41 }, /* 45 */ - { 0x7f, 0x09, 0x09, 0x09, 0x01 }, /* 46 */ - { 0x3e, 0x41, 0x49, 0x49, 0x7a }, /* 47 */ - { 0x7f, 0x08, 0x08, 0x08, 0x7f }, /* 48 */ - { 0x00, 0x41, 0x7f, 0x41, 0x00 }, /* 49 */ - { 0x20, 0x41, 0x41, 0x3f, 0x01 }, /* 4a */ - { 0x7f, 0x08, 0x14, 0x22, 0x41 }, /* 4b */ - { 0x7f, 0x40, 0x40, 0x40, 0x40 }, /* 4c */ - { 0x7f, 0x02, 0x0c, 0x02, 0x7f }, /* 4d */ - { 0x7f, 0x04, 0x08, 0x10, 0x7f }, /* 4e */ - { 0x3e, 0x41, 0x41, 0x41, 0x3e }, /* 4f */ - { 0x7f, 0x09, 0x09, 0x09, 0x06 }, /* 50 */ - { 0x3e, 0x41, 0x41, 0x21, 0x5e }, /* 51 */ - { 0x7f, 0x09, 0x19, 0x29, 0x46 }, /* 52 */ - { 0x26, 0x49, 0x49, 0x49, 0x32 }, /* 53 */ - { 0x01, 0x01, 0x7f, 0x01, 0x01 }, /* 54 */ - { 0x3f, 0x40, 0x40, 0x40, 0x3f }, /* 55 */ - { 0x1f, 0x20, 0x40, 0x20, 0x1f }, /* 56 */ - { 0x3f, 0x40, 0x38, 0x40, 0x3f }, /* 57 */ - { 0x63, 0x14, 0x08, 0x14, 0x63 }, /* 58 */ - { 0x03, 0x04, 0x78, 0x04, 0x03 }, /* 59 */ - { 0x61, 0x51, 0x49, 0x45, 0x43 }, /* 5a */ - { 0x00, 0x7f, 0x41, 0x41, 0x00 }, /* 5b */ - { 0x15, 0x16, 0x7c, 0x16, 0x15 }, /* 5c */ - { 0x00, 0x41, 0x41, 0x7f, 0x00 }, /* 5d */ - { 0x04, 0x02, 0x01, 0x02, 0x04 }, /* 5e */ - { 0x40, 0x40, 0x40, 0x40, 0x40 }, /* 5f */ - { 0x00, 0x01, 0x02, 0x04, 0x00 }, /* 60 */ - { 0x20, 0x54, 0x54, 0x54, 0x78 }, /* 61 */ - { 0x7f, 0x48, 0x44, 0x44, 0x38 }, /* 62 */ - { 0x38, 0x44, 0x44, 0x44, 0x20 }, /* 63 */ - { 0x38, 0x44, 0x44, 0x48, 0x7f }, /* 64 */ - { 0x38, 0x54, 0x54, 0x54, 0x18 }, /* 65 */ - { 0x08, 0x7e, 0x09, 0x01, 0x02 }, /* 66 */ - { 0x0c, 0x52, 0x52, 0x52, 0x3e }, /* 67 */ - { 0x7f, 0x08, 0x04, 0x04, 0x78 }, /* 68 */ - { 0x00, 0x44, 0x7d, 0x40, 0x00 }, /* 69 */ - { 0x20, 0x40, 0x44, 0x3d, 0x00 }, /* 6a */ - { 0x7f, 0x10, 0x28, 0x44, 0x00 }, /* 6b */ - { 0x00, 0x41, 0x7f, 0x40, 0x00 }, /* 6c */ - { 0x7c, 0x04, 0x18, 0x04, 0x78 }, /* 6d */ - { 0x7c, 0x08, 0x04, 0x04, 0x78 }, /* 6e */ - { 0x38, 0x44, 0x44, 0x44, 0x38 }, /* 6f */ - { 0x7c, 0x14, 0x14, 0x14, 0x08 }, /* 70 */ - { 0x08, 0x14, 0x14, 0x18, 0x7c }, /* 71 */ - { 0x7c, 0x08, 0x04, 0x04, 0x08 }, /* 72 */ - { 0x48, 0x54, 0x54, 0x54, 0x20 }, /* 73 */ - { 0x04, 0x3f, 0x44, 0x40, 0x20 }, /* 74 */ - { 0x3c, 0x40, 0x40, 0x20, 0x7c }, /* 75 */ - { 0x1c, 0x20, 0x40, 0x20, 0x1c }, /* 76 */ - { 0x3c, 0x40, 0x30, 0x40, 0x3c }, /* 77 */ - { 0x44, 0x28, 0x10, 0x28, 0x44 }, /* 78 */ - { 0x4c, 0x50, 0x50, 0x50, 0x3c }, /* 79 */ - { 0x44, 0x64, 0x54, 0x4c, 0x44 }, /* 7a */ - { 0x00, 0x08, 0x36, 0x41, 0x00 }, /* 7b */ - { 0x00, 0x00, 0x7f, 0x00, 0x00 }, /* 7c */ - { 0x00, 0x41, 0x36, 0x08, 0x00 }, /* 7d */ - { 0x08, 0x08, 0x2a, 0x1c, 0x08 }, /* 7e */ - { 0x08, 0x1c, 0x2a, 0x08, 0x08 }, /* 7f */ - { 0x40, 0x40, 0x40, 0x40, 0x40 }, /* 80 */ - { 0x60, 0x60, 0x60, 0x60, 0x60 }, /* 81 */ - { 0x70, 0x70, 0x70, 0x70, 0x70 }, /* 82 */ - { 0x78, 0x78, 0x78, 0x78, 0x78 }, /* 83 */ - { 0x7c, 0x7c, 0x7c, 0x7c, 0x7c }, /* 84 */ - { 0x7e, 0x7e, 0x7e, 0x7e, 0x7e }, /* 85 */ - { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f }, /* 86 */ - { 0x08, 0x2a, 0x1c, 0x2a, 0x08 }, /* 87 */ - { 0x7f, 0x00, 0x00, 0x00, 0x7f }, /* 88 */ - { 0x7f, 0x7f, 0x00, 0x00, 0x7f }, /* 89 */ - { 0x7f, 0x7f, 0x7f, 0x00, 0x7f }, /* 8a */ - { 0x00, 0x7f, 0x00, 0x00, 0x00 }, /* 8b */ - { 0x00, 0x7f, 0x7f, 0x00, 0x00 }, /* 8c */ - { 0x00, 0x7f, 0x7f, 0x7f, 0x00 }, /* 8d */ - { 0x00, 0x7f, 0x7f, 0x7f, 0x7f }, /* 8e */ - { 0x3e, 0x3e, 0x3e, 0x3e, 0x3e }, /* 8f */ - { 0x1c, 0x3e, 0x3e, 0x3e, 0x1c }, /* 90 */ - { 0x7f, 0x41, 0x41, 0x41, 0x7f }, /* 91 */ - { 0x7f, 0x5b, 0x41, 0x5f, 0x7f }, /* 92 */ - { 0x7f, 0x4d, 0x55, 0x59, 0x7f }, /* 93 */ - { 0x20, 0x40, 0x3c, 0x04, 0x04 }, /* 94 */ - { 0x44, 0x44, 0x5f, 0x44, 0x44 }, /* 95 */ - { 0x22, 0x14, 0x08, 0x14, 0x22 }, /* 96 */ - { 0x08, 0x08, 0x2a, 0x08, 0x08 }, /* 97 */ - { 0x45, 0x29, 0x11, 0x29, 0x45 }, /* 98 */ - { 0x1d, 0x15, 0x17, 0x00, 0x00 }, /* 99 */ - { 0x15, 0x15, 0x1f, 0x00, 0x00 }, /* 9a */ - { 0x17, 0x08, 0x74, 0x56, 0x5d }, /* 9b */ - { 0x17, 0x08, 0x24, 0x32, 0x79 }, /* 9c */ - { 0x35, 0x1f, 0x28, 0x34, 0x7a }, /* 9d */ - { 0x08, 0x14, 0x2a, 0x14, 0x22 }, /* 9e */ - { 0x22, 0x14, 0x2a, 0x14, 0x08 }, /* 9f */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* a0 */ - { 0x70, 0x50, 0x70, 0x00, 0x00 }, /* a1 */ - { 0x00, 0x00, 0x0f, 0x01, 0x01 }, /* a2 */ - { 0x40, 0x40, 0x78, 0x00, 0x00 }, /* a3 */ - { 0x10, 0x20, 0x40, 0x00, 0x00 }, /* a4 */ - { 0x00, 0x18, 0x18, 0x00, 0x00 }, /* a5 */ - { 0x0a, 0x0a, 0x4a, 0x2a, 0x1e }, /* a6 */ - { 0x04, 0x44, 0x34, 0x14, 0x0c }, /* a7 */ - { 0x20, 0x10, 0x78, 0x04, 0x00 }, /* a8 */ - { 0x18, 0x08, 0x4c, 0x48, 0x38 }, /* a9 */ - { 0x48, 0x48, 0x78, 0x48, 0x48 }, /* aa */ - { 0x48, 0x28, 0x18, 0x7c, 0x08 }, /* ab */ - { 0x08, 0x7c, 0x08, 0x28, 0x18 }, /* ac */ - { 0x40, 0x48, 0x48, 0x78, 0x40 }, /* ad */ - { 0x54, 0x54, 0x54, 0x7c, 0x00 }, /* ae */ - { 0x18, 0x00, 0x58, 0x40, 0x38 }, /* af */ - { 0x08, 0x08, 0x08, 0x08, 0x08 }, /* b0 */ - { 0x01, 0x41, 0x3d, 0x09, 0x07 }, /* b1 */ - { 0x10, 0x08, 0x7c, 0x02, 0x01 }, /* b2 */ - { 0x0e, 0x02, 0x43, 0x22, 0x1e }, /* b3 */ - { 0x42, 0x42, 0x7e, 0x42, 0x42 }, /* b4 */ - { 0x22, 0x12, 0x0a, 0x7f, 0x02 }, /* b5 */ - { 0x42, 0x3f, 0x02, 0x42, 0x3e }, /* b6 */ - { 0x0a, 0x0a, 0x7f, 0x0a, 0x0a }, /* b7 */ - { 0x08, 0x46, 0x42, 0x22, 0x1e }, /* b8 */ - { 0x04, 0x03, 0x42, 0x3e, 0x02 }, /* b9 */ - { 0x42, 0x42, 0x42, 0x42, 0x7e }, /* ba */ - { 0x02, 0x07, 0x42, 0x3f, 0x02 }, /* bb */ - { 0x4a, 0x4a, 0x40, 0x20, 0x10 }, /* bc */ - { 0x42, 0x22, 0x12, 0x2a, 0x46 }, /* bd */ - { 0x02, 0x3f, 0x42, 0x4a, 0x46 }, /* be */ - { 0x06, 0x48, 0x40, 0x20, 0x1e }, /* bf */ - { 0x08, 0x46, 0x4a, 0x32, 0x1e }, /* c0 */ - { 0x0a, 0x4a, 0x3e, 0x09, 0x08 }, /* c1 */ - { 0x0e, 0x00, 0x4e, 0x20, 0x1e }, /* c2 */ - { 0x04, 0x45, 0x3d, 0x05, 0x04 }, /* c3 */ - { 0x00, 0x7f, 0x08, 0x10, 0x00 }, /* c4 */ - { 0x44, 0x24, 0x1f, 0x04, 0x04 }, /* c5 */ - { 0x40, 0x42, 0x42, 0x42, 0x40 }, /* c6 */ - { 0x42, 0x2a, 0x12, 0x2a, 0x06 }, /* c7 */ - { 0x22, 0x12, 0x7b, 0x16, 0x22 }, /* c8 */ - { 0x00, 0x40, 0x20, 0x1f, 0x00 }, /* c9 */ - { 0x78, 0x00, 0x02, 0x04, 0x78 }, /* ca */ - { 0x3f, 0x44, 0x44, 0x44, 0x44 }, /* cb */ - { 0x02, 0x42, 0x42, 0x22, 0x1e }, /* cc */ - { 0x04, 0x02, 0x04, 0x08, 0x30 }, /* cd */ - { 0x32, 0x02, 0x7f, 0x02, 0x32 }, /* ce */ - { 0x02, 0x12, 0x22, 0x52, 0x0e }, /* cf */ - { 0x00, 0x2a, 0x2a, 0x2a, 0x40 }, /* d0 */ - { 0x38, 0x24, 0x22, 0x20, 0x70 }, /* d1 */ - { 0x40, 0x28, 0x10, 0x28, 0x06 }, /* d2 */ - { 0x0a, 0x3e, 0x4a, 0x4a, 0x4a }, /* d3 */ - { 0x04, 0x7f, 0x04, 0x14, 0x0c }, /* d4 */ - { 0x40, 0x42, 0x42, 0x7e, 0x40 }, /* d5 */ - { 0x4a, 0x4a, 0x4a, 0x4a, 0x7e }, /* d6 */ - { 0x04, 0x05, 0x45, 0x25, 0x1c }, /* d7 */ - { 0x1f, 0x40, 0x20, 0x1f, 0x00 }, /* d8 */ - { 0x7c, 0x00, 0x7e, 0x40, 0x30 }, /* d9 */ - { 0x7e, 0x40, 0x20, 0x10, 0x08 }, /* da */ - { 0x7f, 0x41, 0x41, 0x41, 0x7f }, /* db */ - { 0x0e, 0x02, 0x42, 0x22, 0x1e }, /* dc */ - { 0x42, 0x42, 0x40, 0x20, 0x18 }, /* dd */ - { 0x02, 0x04, 0x01, 0x02, 0x00 }, /* de */ - { 0x07, 0x05, 0x07, 0x00, 0x00 }, /* df */ - { 0x38, 0x44, 0x48, 0x30, 0x4c }, /* e0 */ - { 0x7c, 0x2a, 0x2a, 0x2a, 0x14 }, /* e1 */ - { 0x02, 0x4c, 0x30, 0x0c, 0x02 }, /* e2 */ - { 0x44, 0x3c, 0x04, 0x7c, 0x44 }, /* e3 */ - { 0x63, 0x55, 0x49, 0x41, 0x41 }, /* e4 */ - { 0x38, 0x44, 0x4c, 0x54, 0x24 }, /* e5 */ - { 0x40, 0x3e, 0x10, 0x10, 0x1e }, /* e6 */ - { 0x04, 0x04, 0x3c, 0x44, 0x44 }, /* e7 */ - { 0x49, 0x55, 0x7f, 0x55, 0x49 }, /* e8 */ - { 0x3c, 0x4a, 0x4a, 0x4a, 0x3c }, /* e9 */ - { 0x58, 0x64, 0x04, 0x64, 0x58 }, /* ea */ - { 0x3a, 0x45, 0x45, 0x45, 0x39 }, /* eb */ - { 0x60, 0x50, 0x20, 0x50, 0x30 }, /* ec */ - { 0x08, 0x54, 0x3e, 0x15, 0x08 }, /* ed */ - { 0x14, 0x2a, 0x2a, 0x2a, 0x00 }, /* ee */ - { 0x7c, 0x0a, 0x09, 0x09, 0x06 }, /* ef */ - { 0x08, 0x04, 0x08, 0x10, 0x08 }, /* f0 */ - { 0x14, 0x0a, 0x14, 0x28, 0x14 }, /* f1 */ - { 0x24, 0x3b, 0x2a, 0x7e, 0x2a }, /* f2 */ - { 0x40, 0x3f, 0x15, 0x15, 0x7f }, /* f3 */ - { 0x46, 0x20, 0x1f, 0x20, 0x46 }, /* f4 */ - { 0x24, 0x14, 0x7f, 0x18, 0x24 }, /* f5 */ - { 0x24, 0x14, 0x7f, 0x14, 0x24 }, /* f6 */ - { 0x44, 0x6a, 0x79, 0x6a, 0x44 }, /* f7 */ - { 0x40, 0x44, 0x7f, 0x44, 0x40 }, /* f8 */ - { 0x7f, 0x49, 0x49, 0x49, 0x7f }, /* f9 */ - { 0x14, 0x14, 0x7c, 0x14, 0x12 }, /* fa */ - { 0x44, 0x3c, 0x14, 0x14, 0x74 }, /* fb */ - { 0x7c, 0x14, 0x1c, 0x14, 0x7c }, /* fc */ - { 0x2a, 0x55, 0x2a, 0x55, 0x2a }, /* fd */ - { 0x55, 0x2a, 0x55, 0x2a, 0x55 }, /* fe */ - { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f } /* ff */ -}; - -unsigned char font_old_player[256][5] = { - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 00 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 01 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 02 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 03 */ - { 0x3e, 0x41, 0x5d, 0x55, 0x1e }, /* 04 */ - { 0x48, 0x7e, 0x49, 0x49, 0x42 }, /* 05 */ - { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, /* 06 */ - { 0x15, 0x16, 0x7c, 0x16, 0x15 }, /* 07 */ - { 0x38, 0x55, 0x56, 0x54, 0x18 }, /* 08 */ - { 0x38, 0x54, 0x56, 0x55, 0x18 }, /* 09 */ - { 0x38, 0x41, 0x42, 0x20, 0x78 }, /* 0a */ - { 0x00, 0x49, 0x7a, 0x40, 0x00 }, /* 0b */ - { 0x30, 0x49, 0x4a, 0x48, 0x30 }, /* 0c */ - { 0x0e, 0x51, 0x51, 0x71, 0x11 }, /* 0d */ - { 0x1f, 0x10, 0x7c, 0x14, 0x04 }, /* 0e */ - { 0x5c, 0x32, 0x2a, 0x26, 0x1d }, /* 0f */ - { 0x18, 0x64, 0x3c, 0x26, 0x18 }, /* 10 */ - { 0x0f, 0x09, 0x7d, 0x34, 0x5c }, /* 11 */ - { 0x70, 0x2a, 0x2d, 0x2a, 0x70 }, /* 12 */ - { 0x20, 0x52, 0x55, 0x52, 0x78 }, /* 13 */ - { 0x60, 0x58, 0x46, 0x58, 0x60 }, /* 14 */ - { 0x40, 0x40, 0x40, 0x40, 0x40 }, /* 15 */ - { 0x1c, 0x55, 0x7f, 0x55, 0x1c }, /* 16 */ - { 0x7f, 0x01, 0x01, 0x01, 0x07 }, /* 17 */ - { 0x70, 0x0c, 0x03, 0x0c, 0x70 }, /* 18 */ - { 0x4e, 0x71, 0x01, 0x71, 0x4e }, /* 19 */ - { 0x01, 0x7f, 0x01, 0x7f, 0x01 }, /* 1a */ - { 0x0f, 0x10, 0x7f, 0x10, 0x0f }, /* 1b */ - { 0x41, 0x63, 0x55, 0x49, 0x41 }, /* 1c */ - { 0x3e, 0x49, 0x49, 0x49, 0x3e }, /* 1d */ - { 0x63, 0x49, 0x49, 0x49, 0x63 }, /* 1e */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 1f */ - { 0x7e, 0x09, 0x7f, 0x49, 0x49 }, /* 20 */ - { 0x24, 0x54, 0x78, 0x54, 0x58 }, /* 21 */ - { 0x7e, 0x01, 0x25, 0x26, 0x18 }, /* 22 */ - { 0x7c, 0x54, 0x56, 0x45, 0x44 }, /* 23 */ - { 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 24 */ - { 0x00, 0x00, 0x5f, 0x00, 0x00 }, /* 25 */ - { 0x05, 0x03, 0x00, 0x05, 0x03 }, /* 26 */ - { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, /* 27 */ - { 0x22, 0x1c, 0x14, 0x1c, 0x22 }, /* 28 */ - { 0x23, 0x13, 0x08, 0x64, 0x62 }, /* 29 */ - { 0x36, 0x49, 0x56, 0x20, 0x58 }, /* 2a */ - { 0x00, 0x05, 0x03, 0x00, 0x00 }, /* 2b */ - { 0x00, 0x1c, 0x22, 0x41, 0x00 }, /* 2c */ - { 0x00, 0x41, 0x22, 0x1c, 0x00 }, /* 2d */ - { 0x22, 0x14, 0x7f, 0x14, 0x22 }, /* 2e */ - { 0x08, 0x08, 0x3e, 0x08, 0x08 }, /* 2f */ - { 0x00, 0x50, 0x30, 0x00, 0x00 }, /* 30 */ - { 0x08, 0x08, 0x08, 0x08, 0x08 }, /* 31 */ - { 0x00, 0x30, 0x30, 0x00, 0x00 }, /* 32 */ - { 0x20, 0x10, 0x08, 0x04, 0x02 }, /* 33 */ - { 0x3e, 0x41, 0x41, 0x41, 0x3e }, /* 34 */ - { 0x00, 0x42, 0x7f, 0x40, 0x00 }, /* 35 */ - { 0x42, 0x61, 0x51, 0x49, 0x46 }, /* 36 */ - { 0x21, 0x41, 0x45, 0x4b, 0x31 }, /* 37 */ - { 0x18, 0x14, 0x12, 0x7f, 0x10 }, /* 38 */ - { 0x27, 0x45, 0x45, 0x45, 0x39 }, /* 39 */ - { 0x3c, 0x4a, 0x49, 0x49, 0x30 }, /* 3a */ - { 0x01, 0x01, 0x71, 0x0d, 0x03 }, /* 3b */ - { 0x36, 0x49, 0x49, 0x49, 0x36 }, /* 3c */ - { 0x06, 0x49, 0x49, 0x29, 0x1e }, /* 3d */ - { 0x00, 0x36, 0x36, 0x00, 0x00 }, /* 3e */ - { 0x00, 0x56, 0x36, 0x00, 0x00 }, /* 3f */ - { 0x08, 0x1c, 0x36, 0x63, 0x41 }, /* 40 */ - { 0x14, 0x14, 0x14, 0x14, 0x14 }, /* 41 */ - { 0x41, 0x63, 0x36, 0x1c, 0x08 }, /* 42 */ - { 0x02, 0x01, 0x51, 0x09, 0x06 }, /* 43 */ - { 0x00, 0x00, 0x7d, 0x00, 0x00 }, /* 44 */ - { 0x7c, 0x12, 0x11, 0x12, 0x7c }, /* 45 */ - { 0x7f, 0x49, 0x49, 0x49, 0x36 }, /* 46 */ - { 0x3e, 0x41, 0x41, 0x41, 0x22 }, /* 47 */ - { 0x7f, 0x41, 0x41, 0x22, 0x1c }, /* 48 */ - { 0x7f, 0x49, 0x49, 0x49, 0x41 }, /* 49 */ - { 0x7f, 0x09, 0x09, 0x09, 0x01 }, /* 4a */ - { 0x3e, 0x41, 0x49, 0x49, 0x38 }, /* 4b */ - { 0x7f, 0x08, 0x08, 0x08, 0x7f }, /* 4c */ - { 0x00, 0x41, 0x7f, 0x41, 0x00 }, /* 4d */ - { 0x20, 0x41, 0x41, 0x3f, 0x01 }, /* 4e */ - { 0x7f, 0x08, 0x14, 0x22, 0x41 }, /* 4f */ - { 0x7f, 0x40, 0x40, 0x40, 0x40 }, /* 50 */ - { 0x7f, 0x02, 0x04, 0x02, 0x7f }, /* 51 */ - { 0x7f, 0x04, 0x08, 0x10, 0x7f }, /* 52 */ - { 0x3e, 0x41, 0x41, 0x41, 0x3e }, /* 53 */ - { 0x7f, 0x09, 0x09, 0x09, 0x06 }, /* 54 */ - { 0x3e, 0x41, 0x41, 0x21, 0x5e }, /* 55 */ - { 0x7f, 0x09, 0x19, 0x29, 0x46 }, /* 56 */ - { 0x26, 0x49, 0x49, 0x49, 0x32 }, /* 57 */ - { 0x01, 0x01, 0x7f, 0x01, 0x01 }, /* 58 */ - { 0x3f, 0x40, 0x40, 0x40, 0x3f }, /* 59 */ - { 0x1f, 0x20, 0x40, 0x20, 0x1f }, /* 5a */ - { 0x3f, 0x40, 0x20, 0x40, 0x3f }, /* 5b */ - { 0x63, 0x14, 0x08, 0x14, 0x63 }, /* 5c */ - { 0x03, 0x04, 0x78, 0x04, 0x03 }, /* 5d */ - { 0x61, 0x51, 0x49, 0x45, 0x43 }, /* 5e */ - { 0x70, 0x29, 0x24, 0x29, 0x70 }, /* 5f */ - { 0x38, 0x45, 0x44, 0x45, 0x38 }, /* 60 */ - { 0x7a, 0x09, 0x11, 0x22, 0x79 }, /* 61 */ - { 0x3c, 0x41, 0x40, 0x41, 0x3c }, /* 62 */ - { 0x0a, 0x55, 0x55, 0x55, 0x28 }, /* 63 */ - { 0x30, 0x48, 0x45, 0x40, 0x20 }, /* 64 */ - { 0x20, 0x54, 0x54, 0x54, 0x78 }, /* 65 */ - { 0x7f, 0x44, 0x44, 0x44, 0x38 }, /* 66 */ - { 0x38, 0x44, 0x44, 0x44, 0x44 }, /* 67 */ - { 0x38, 0x44, 0x44, 0x44, 0x7f }, /* 68 */ - { 0x38, 0x54, 0x54, 0x54, 0x58 }, /* 69 */ - { 0x00, 0x04, 0x7e, 0x05, 0x05 }, /* 6a */ - { 0x08, 0x54, 0x54, 0x54, 0x3c }, /* 6b */ - { 0x7f, 0x08, 0x04, 0x04, 0x78 }, /* 6c */ - { 0x00, 0x44, 0x7d, 0x40, 0x00 }, /* 6d */ - { 0x20, 0x40, 0x44, 0x3d, 0x00 }, /* 6e */ - { 0x00, 0x7f, 0x10, 0x28, 0x44 }, /* 6f */ - { 0x00, 0x41, 0x7f, 0x40, 0x00 }, /* 70 */ - { 0x7c, 0x04, 0x78, 0x04, 0x78 }, /* 71 */ - { 0x7c, 0x08, 0x04, 0x04, 0x78 }, /* 72 */ - { 0x38, 0x44, 0x44, 0x44, 0x38 }, /* 73 */ - { 0x7c, 0x14, 0x14, 0x14, 0x08 }, /* 74 */ - { 0x08, 0x14, 0x14, 0x14, 0x7c }, /* 75 */ - { 0x00, 0x7c, 0x08, 0x04, 0x04 }, /* 76 */ - { 0x48, 0x54, 0x54, 0x54, 0x20 }, /* 77 */ - { 0x00, 0x04, 0x3f, 0x44, 0x44 }, /* 78 */ - { 0x3c, 0x40, 0x40, 0x20, 0x7c }, /* 79 */ - { 0x1c, 0x20, 0x40, 0x20, 0x1c }, /* 7a */ - { 0x3c, 0x40, 0x20, 0x40, 0x3c }, /* 7b */ - { 0x44, 0x28, 0x10, 0x28, 0x44 }, /* 7c */ - { 0x4c, 0x50, 0x50, 0x50, 0x3c }, /* 7d */ - { 0x44, 0x64, 0x54, 0x4c, 0x44 }, /* 7e */ - { 0x20, 0x55, 0x54, 0x55, 0x78 }, /* 7f */ - { 0x30, 0x4a, 0x48, 0x4a, 0x30 }, /* 80 */ - { 0x7a, 0x11, 0x09, 0x0a, 0x71 }, /* 81 */ - { 0x38, 0x42, 0x40, 0x22, 0x78 }, /* 82 */ - { 0x20, 0x55, 0x56, 0x54, 0x78 }, /* 83 */ - { 0x0c, 0x12, 0x52, 0x32, 0x12 }, /* 84 */ - { 0x20, 0x00, 0x20, 0x00, 0x20 }, /* 85 */ - { 0x10, 0x18, 0x1c, 0x18, 0x10 }, /* 86 */ - { 0x04, 0x0c, 0x1c, 0x0c, 0x04 }, /* 87 */ - { 0x08, 0x1c, 0x3e, 0x7f, 0x00 }, /* 88 */ - { 0x00, 0x7f, 0x3e, 0x1c, 0x08 }, /* 89 */ - { 0x7f, 0x03, 0x03, 0x06, 0x06 }, /* 8a */ - { 0x55, 0x2a, 0x55, 0x2a, 0x55 }, /* 8b */ - { 0x78, 0x15, 0x16, 0x14, 0x78 }, /* 8c */ - { 0x78, 0x14, 0x16, 0x15, 0x78 }, /* 8d */ - { 0x78, 0x16, 0x15, 0x16, 0x78 }, /* 8e */ - { 0x7a, 0x15, 0x15, 0x16, 0x79 }, /* 8f */ - { 0x7c, 0x55, 0x56, 0x54, 0x44 }, /* 90 */ - { 0x7c, 0x56, 0x55, 0x46, 0x44 }, /* 91 */ - { 0x7c, 0x55, 0x54, 0x45, 0x44 }, /* 92 */ - { 0x00, 0x45, 0x7e, 0x44, 0x00 }, /* 93 */ - { 0x00, 0x44, 0x7e, 0x45, 0x00 }, /* 94 */ - { 0x08, 0x7f, 0x49, 0x22, 0x1c }, /* 95 */ - { 0x38, 0x45, 0x46, 0x44, 0x38 }, /* 96 */ - { 0x38, 0x44, 0x46, 0x45, 0x38 }, /* 97 */ - { 0x38, 0x46, 0x45, 0x46, 0x38 }, /* 98 */ - { 0x3a, 0x45, 0x45, 0x46, 0x39 }, /* 99 */ - { 0x3c, 0x41, 0x42, 0x40, 0x3c }, /* 9a */ - { 0x3c, 0x40, 0x42, 0x41, 0x3c }, /* 9b */ - { 0x20, 0x54, 0x56, 0x55, 0x78 }, /* 9c */ - { 0x20, 0x56, 0x55, 0x56, 0x78 }, /* 9d */ - { 0x22, 0x55, 0x55, 0x56, 0x79 }, /* 9e */ - { 0x38, 0x56, 0x55, 0x56, 0x18 }, /* 9f */ - { 0x38, 0x55, 0x54, 0x55, 0x18 }, /* a0 */ - { 0x00, 0x48, 0x7a, 0x41, 0x00 }, /* a1 */ - { 0x00, 0x4a, 0x79, 0x42, 0x00 }, /* a2 */ - { 0x00, 0x49, 0x78, 0x41, 0x00 }, /* a3 */ - { 0x30, 0x48, 0x4a, 0x49, 0x30 }, /* a4 */ - { 0x30, 0x4a, 0x49, 0x4a, 0x30 }, /* a5 */ - { 0x32, 0x49, 0x49, 0x4a, 0x31 }, /* a6 */ - { 0x38, 0x40, 0x42, 0x21, 0x78 }, /* a7 */ - { 0x18, 0x24, 0x67, 0x24, 0x24 }, /* a8 */ - { 0x00, 0x00, 0x00, 0x7f, 0x41 }, /* a9 */ - { 0x00, 0x7d, 0x0a, 0x05, 0x04 }, /* aa */ - { 0x38, 0x45, 0x46, 0x45, 0x44 }, /* ab */ - { 0x48, 0x55, 0x56, 0x55, 0x20 }, /* ac */ - { 0x38, 0x55, 0x56, 0x55, 0x18 }, /* ad */ - { 0x38, 0x42, 0x45, 0x22, 0x78 }, /* ae */ - { 0x0c, 0x50, 0x52, 0x51, 0x3c }, /* af */ - { 0x30, 0x4a, 0x4a, 0x7f, 0x02 }, /* b0 */ - { 0x38, 0x44, 0x46, 0x45, 0x44 }, /* b1 */ - { 0x0e, 0x15, 0x75, 0x55, 0x06 }, /* b2 */ - { 0x08, 0x15, 0x15, 0x75, 0x5e }, /* b3 */ - { 0x44, 0x64, 0x55, 0x4c, 0x44 }, /* b4 */ - { 0x44, 0x64, 0x56, 0x4d, 0x44 }, /* b5 */ - { 0x48, 0x54, 0x56, 0x55, 0x20 }, /* b6 */ - { 0x7c, 0x08, 0x06, 0x05, 0x78 }, /* b7 */ - { 0x00, 0x49, 0x7f, 0x44, 0x00 }, /* b8 */ - { 0x1c, 0x5e, 0x6f, 0x5e, 0x1c }, /* b9 */ - { 0x7c, 0x09, 0x06, 0x05, 0x78 }, /* ba */ - { 0x08, 0x3f, 0x48, 0x48, 0x03 }, /* bb */ - { 0x38, 0x44, 0x7f, 0x00, 0x03 }, /* bc */ - { 0x44, 0x65, 0x56, 0x4d, 0x44 }, /* bd */ - { 0x02, 0x01, 0x01, 0x01, 0x01 }, /* be */ - { 0x02, 0x01, 0x01, 0x01, 0x7d }, /* bf */ - { 0x41, 0x41, 0x41, 0x41, 0x42 }, /* c0 */ - { 0x39, 0x45, 0x55, 0x55, 0x31 }, /* c1 */ - { 0x09, 0x55, 0x55, 0x55, 0x3d }, /* c2 */ - { 0x02, 0x55, 0x75, 0x15, 0x08 }, /* c3 */ - { 0x04, 0x2a, 0x6a, 0x2a, 0x10 }, /* c4 */ - { 0x00, 0x44, 0x7d, 0x44, 0x00 }, /* c5 */ - { 0x00, 0x44, 0x7c, 0x40, 0x00 }, /* c6 */ - { 0x3c, 0x42, 0x41, 0x42, 0x3d }, /* c7 */ - { 0x3a, 0x45, 0x44, 0x46, 0x39 }, /* c8 */ - { 0x3a, 0x41, 0x40, 0x22, 0x79 }, /* c9 */ - { 0x32, 0x49, 0x48, 0x4a, 0x31 }, /* ca */ - { 0x20, 0x40, 0x40, 0x40, 0x5f }, /* cb */ - { 0x5f, 0x40, 0x40, 0x40, 0x20 }, /* cc */ - { 0x0e, 0x1e, 0x3c, 0x1e, 0x0e }, /* cd */ - { 0x41, 0x7f, 0x00, 0x00, 0x00 }, /* ce */ - { 0x32, 0x39, 0x25, 0x39, 0x32 }, /* cf */ - { 0x22, 0x41, 0x0e, 0x49, 0x2a }, /* d0 */ - { 0x42, 0x41, 0x41, 0x41, 0x41 }, /* d1 */ - { 0x1c, 0x14, 0x14, 0x22, 0x7f }, /* d2 */ - { 0x7e, 0x79, 0x49, 0x79, 0x7e }, /* d3 */ - { 0x00, 0x08, 0x30, 0x0c, 0x02 }, /* d4 */ - { 0x14, 0x36, 0x77, 0x36, 0x14 }, /* d5 */ - { 0x00, 0x7c, 0x7c, 0x7f, 0x00 }, /* d6 */ - { 0x7f, 0x7f, 0x00, 0x41, 0x41 }, /* d7 */ - { 0x41, 0x41, 0x00, 0x41, 0x41 }, /* d8 */ - { 0x00, 0x02, 0x5f, 0x62, 0x22 }, /* d9 */ - { 0x7f, 0x7f, 0x00, 0x7f, 0x7f }, /* da */ - { 0x08, 0x1c, 0x3e, 0x1c, 0x08 }, /* db */ - { 0x7c, 0x4c, 0x54, 0x4c, 0x7c }, /* dc */ - { 0x08, 0x7b, 0x3f, 0x7b, 0x08 }, /* dd */ - { 0x00, 0x50, 0x20, 0x50, 0x00 }, /* de */ - { 0x60, 0x60, 0x60, 0x60, 0x60 }, /* df */ - { 0x70, 0x70, 0x70, 0x70, 0x70 }, /* e0 */ - { 0x78, 0x78, 0x78, 0x78, 0x78 }, /* e1 */ - { 0x7c, 0x7c, 0x7c, 0x7c, 0x7c }, /* e2 */ - { 0x7e, 0x7e, 0x7e, 0x7e, 0x7e }, /* e3 */ - { 0x00, 0x00, 0x70, 0x08, 0x04 }, /* e4 */ - { 0x00, 0x3e, 0x41, 0x1c, 0x22 }, /* e5 */ - { 0x5e, 0x52, 0x72, 0x52, 0x5e }, /* e6 */ - { 0x20, 0x10, 0x0a, 0x06, 0x0e }, /* e7 */ - { 0x02, 0x04, 0x28, 0x30, 0x38 }, /* e8 */ - { 0x20, 0x55, 0x56, 0x56, 0x79 }, /* e9 */ - { 0x01, 0x01, 0x01, 0x01, 0x02 }, /* ea */ - { 0x04, 0x08, 0x70, 0x00, 0x00 }, /* eb */ - { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f }, /* ec */ - { 0x7f, 0x63, 0x55, 0x49, 0x51 }, /* ed */ - { 0x01, 0x01, 0x01, 0x01, 0x01 }, /* ee */ - { 0x7f, 0x01, 0x01, 0x01, 0x01 }, /* ef */ - { 0x70, 0x78, 0x6c, 0x06, 0x06 }, /* f0 */ - { 0x17, 0x15, 0x7d, 0x48, 0x48 }, /* f1 */ - { 0x52, 0x7a, 0x42, 0x06, 0x7c }, /* f2 */ - { 0x25, 0x35, 0x29, 0x01, 0x7e }, /* f3 */ - { 0x00, 0x00, 0x07, 0x08, 0x10 }, /* f4 */ - { 0x20, 0x40, 0x40, 0x40, 0x40 }, /* f5 */ - { 0x40, 0x40, 0x40, 0x40, 0x20 }, /* f6 */ - { 0x10, 0x08, 0x07, 0x00, 0x00 }, /* f7 */ - { 0x30, 0x48, 0x45, 0x43, 0x47 }, /* f8 */ - { 0x7c, 0x46, 0x67, 0x46, 0x7c }, /* f9 */ - { 0x55, 0x55, 0x41, 0x7f, 0x03 }, /* fa */ - { 0x1c, 0x36, 0x36, 0x36, 0x1c }, /* fb */ - { 0x60, 0x7c, 0x02, 0x31, 0x3f }, /* fc */ - { 0x51, 0x49, 0x55, 0x63, 0x7f }, /* fd */ - { 0x7f, 0x60, 0x60, 0x00, 0x00 }, /* fe */ - { 0x7f, 0x03, 0x03, 0x00, 0x00 } /* ff */ -}; diff --git a/tools/player_unifont.c b/tools/player_unifont.c new file mode 100644 index 0000000000..2b5121d501 --- /dev/null +++ b/tools/player_unifont.c @@ -0,0 +1,778 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2007 by Jens Arnold + * Based on the work of Kjell Ericson + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <string.h> +#include "lcd-charcell.h" + +#define CHAR_WIDTH 8 +#define CHAR_HEIGHT 8 +#define BITMAP_WIDTH (CHAR_WIDTH*(16+3)) +#define SIZE 2 + +#define CHAR_BG_STD 0xc0c0c0 +#define CHAR_BG_ALT 0x808080 +#define CHAR_FG_STD 0x000000 +#define CHAR_FG_ALT 0xf00000 + +static unsigned char font_player_newlcd[256][7] = { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 00 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 01 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 02 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 03 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 04 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 05 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 06 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 07 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 08 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 09 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0a */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0b */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0c */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0d */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0e */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 0f */ + { 0x00, 0x10, 0x1c, 0x1f, 0x1c, 0x10, 0x00 }, /* 10 */ + { 0x00, 0x01, 0x07, 0x1f, 0x07, 0x01, 0x00 }, /* 11 */ + { 0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00 }, /* 12 */ + { 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x0a }, /* 13 */ + { 0x0f, 0x1d, 0x1d, 0x0d, 0x05, 0x05, 0x05 }, /* 14 */ + { 0x07, 0x08, 0x0e, 0x11, 0x0e, 0x02, 0x1c }, /* 15 */ + { 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00 }, /* 16 */ + { 0x01, 0x01, 0x05, 0x09, 0x1f, 0x08, 0x04 }, /* 17 */ + { 0x04, 0x0e, 0x15, 0x04, 0x04, 0x04, 0x04 }, /* 18 */ + { 0x04, 0x04, 0x04, 0x04, 0x15, 0x0e, 0x04 }, /* 19 */ + { 0x11, 0x19, 0x1d, 0x1f, 0x1d, 0x19, 0x11 }, /* 1a */ + { 0x11, 0x13, 0x17, 0x1f, 0x17, 0x13, 0x11 }, /* 1b */ + { 0x10, 0x14, 0x12, 0x1f, 0x12, 0x14, 0x10 }, /* 1c */ + { 0x01, 0x05, 0x09, 0x1f, 0x09, 0x05, 0x01 }, /* 1d */ + { 0x00, 0x1f, 0x0e, 0x0e, 0x04, 0x04, 0x00 }, /* 1e */ + { 0x00, 0x04, 0x04, 0x0e, 0x0e, 0x1f, 0x00 }, /* 1f */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 20 */ + { 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x04 }, /* 21 */ + { 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x00, 0x00 }, /* 22 */ + { 0x0a, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x0a }, /* 23 */ + { 0x04, 0x0f, 0x14, 0x0e, 0x05, 0x1e, 0x04 }, /* 24 */ + { 0x18, 0x19, 0x02, 0x04, 0x08, 0x13, 0x03 }, /* 25 */ + { 0x0c, 0x12, 0x14, 0x08, 0x15, 0x12, 0x0d }, /* 26 */ + { 0x0c, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 }, /* 27 */ + { 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x02 }, /* 28 */ + { 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x08 }, /* 29 */ + { 0x00, 0x04, 0x15, 0x0e, 0x15, 0x04, 0x00 }, /* 2a */ + { 0x00, 0x04, 0x04, 0x1f, 0x04, 0x04, 0x00 }, /* 2b */ + { 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x08 }, /* 2c */ + { 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00 }, /* 2d */ + { 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00 }, /* 2e */ + { 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00 }, /* 2f */ + { 0x0e, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0e }, /* 30 */ + { 0x04, 0x0c, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 31 */ + { 0x0e, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1f }, /* 32 */ + { 0x1f, 0x02, 0x04, 0x02, 0x01, 0x11, 0x0e }, /* 33 */ + { 0x02, 0x06, 0x0a, 0x12, 0x1f, 0x02, 0x02 }, /* 34 */ + { 0x1f, 0x10, 0x1e, 0x01, 0x01, 0x11, 0x0e }, /* 35 */ + { 0x06, 0x08, 0x10, 0x1e, 0x11, 0x11, 0x0e }, /* 36 */ + { 0x1f, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04 }, /* 37 */ + { 0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x0e }, /* 38 */ + { 0x0e, 0x11, 0x11, 0x0f, 0x01, 0x02, 0x0c }, /* 39 */ + { 0x00, 0x0c, 0x0c, 0x00, 0x0c, 0x0c, 0x00 }, /* 3a */ + { 0x0c, 0x0c, 0x00, 0x0c, 0x0c, 0x04, 0x08 }, /* 3b */ + { 0x02, 0x04, 0x08, 0x10, 0x08, 0x04, 0x02 }, /* 3c */ + { 0x00, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00 }, /* 3d */ + { 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08 }, /* 3e */ + { 0x0e, 0x11, 0x01, 0x02, 0x04, 0x00, 0x04 }, /* 3f */ + { 0x0e, 0x11, 0x01, 0x0d, 0x15, 0x15, 0x0e }, /* 40 */ + { 0x0e, 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11 }, /* 41 */ + { 0x1e, 0x11, 0x11, 0x1e, 0x11, 0x11, 0x1e }, /* 42 */ + { 0x0e, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0e }, /* 43 */ + { 0x1c, 0x12, 0x11, 0x11, 0x11, 0x12, 0x1c }, /* 44 */ + { 0x1f, 0x10, 0x10, 0x1e, 0x10, 0x10, 0x1f }, /* 45 */ + { 0x1f, 0x10, 0x10, 0x1e, 0x10, 0x10, 0x10 }, /* 46 */ + { 0x0e, 0x11, 0x10, 0x17, 0x11, 0x11, 0x0f }, /* 47 */ + { 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11 }, /* 48 */ + { 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 49 */ + { 0x0f, 0x02, 0x02, 0x02, 0x02, 0x12, 0x0c }, /* 4a */ + { 0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11 }, /* 4b */ + { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f }, /* 4c */ + { 0x11, 0x1b, 0x15, 0x15, 0x11, 0x11, 0x11 }, /* 4d */ + { 0x11, 0x11, 0x19, 0x15, 0x13, 0x11, 0x11 }, /* 4e */ + { 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 4f */ + { 0x1e, 0x11, 0x11, 0x1e, 0x10, 0x10, 0x10 }, /* 50 */ + { 0x0e, 0x11, 0x11, 0x11, 0x11, 0x12, 0x0d }, /* 51 */ + { 0x1e, 0x11, 0x11, 0x1e, 0x14, 0x12, 0x11 }, /* 52 */ + { 0x0e, 0x11, 0x10, 0x0e, 0x01, 0x11, 0x0e }, /* 53 */ + { 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 }, /* 54 */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 55 */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x0a, 0x04 }, /* 56 */ + { 0x11, 0x11, 0x11, 0x15, 0x15, 0x15, 0x0a }, /* 57 */ + { 0x11, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x11 }, /* 58 */ + { 0x11, 0x11, 0x0a, 0x04, 0x04, 0x04, 0x04 }, /* 59 */ + { 0x1f, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1f }, /* 5a */ + { 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0e }, /* 5b */ + { 0x11, 0x0a, 0x1f, 0x04, 0x1f, 0x04, 0x04 }, /* 5c */ + { 0x0e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0e }, /* 5d */ + { 0x04, 0x0a, 0x11, 0x00, 0x00, 0x00, 0x00 }, /* 5e */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* 5f */ + { 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 }, /* 60 */ + { 0x00, 0x00, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 61 */ + { 0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x1e }, /* 62 */ + { 0x00, 0x00, 0x0e, 0x10, 0x10, 0x11, 0x0e }, /* 63 */ + { 0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x0f }, /* 64 */ + { 0x00, 0x00, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* 65 */ + { 0x06, 0x09, 0x08, 0x1c, 0x08, 0x08, 0x08 }, /* 66 */ + { 0x00, 0x0f, 0x11, 0x11, 0x0f, 0x01, 0x0e }, /* 67 */ + { 0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* 68 */ + { 0x04, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x0e }, /* 69 */ + { 0x02, 0x00, 0x06, 0x02, 0x02, 0x12, 0x0c }, /* 6a */ + { 0x10, 0x10, 0x12, 0x14, 0x18, 0x14, 0x12 }, /* 6b */ + { 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 6c */ + { 0x00, 0x00, 0x1a, 0x15, 0x15, 0x11, 0x11 }, /* 6d */ + { 0x00, 0x00, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* 6e */ + { 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 6f */ + { 0x00, 0x00, 0x1e, 0x11, 0x1e, 0x10, 0x10 }, /* 70 */ + { 0x00, 0x00, 0x0d, 0x13, 0x0f, 0x01, 0x01 }, /* 71 */ + { 0x00, 0x00, 0x16, 0x19, 0x10, 0x10, 0x10 }, /* 72 */ + { 0x00, 0x00, 0x0e, 0x10, 0x0e, 0x01, 0x1e }, /* 73 */ + { 0x08, 0x08, 0x1c, 0x08, 0x08, 0x09, 0x06 }, /* 74 */ + { 0x00, 0x00, 0x11, 0x11, 0x11, 0x13, 0x0d }, /* 75 */ + { 0x00, 0x00, 0x11, 0x11, 0x11, 0x0a, 0x04 }, /* 76 */ + { 0x00, 0x00, 0x11, 0x11, 0x15, 0x15, 0x0a }, /* 77 */ + { 0x00, 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11 }, /* 78 */ + { 0x00, 0x00, 0x11, 0x11, 0x0f, 0x01, 0x1e }, /* 79 */ + { 0x00, 0x00, 0x1f, 0x02, 0x04, 0x08, 0x1f }, /* 7a */ + { 0x02, 0x04, 0x04, 0x08, 0x04, 0x04, 0x02 }, /* 7b */ + { 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 }, /* 7c */ + { 0x08, 0x04, 0x04, 0x02, 0x04, 0x04, 0x08 }, /* 7d */ + { 0x00, 0x04, 0x02, 0x1f, 0x02, 0x04, 0x00 }, /* 7e */ + { 0x00, 0x04, 0x08, 0x1f, 0x08, 0x04, 0x00 }, /* 7f */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* 80 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f }, /* 81 */ + { 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f }, /* 82 */ + { 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f }, /* 83 */ + { 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* 84 */ + { 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* 85 */ + { 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* 86 */ + { 0x00, 0x0a, 0x04, 0x1f, 0x04, 0x0a, 0x00 }, /* 87 */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 }, /* 88 */ + { 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19 }, /* 89 */ + { 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d }, /* 8a */ + { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, /* 8b */ + { 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c }, /* 8c */ + { 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e }, /* 8d */ + { 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f }, /* 8e */ + { 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00 }, /* 8f */ + { 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x0e, 0x00 }, /* 90 */ + { 0x1f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1f }, /* 91 */ + { 0x1f, 0x1b, 0x13, 0x1b, 0x1b, 0x11, 0x1f }, /* 92 */ + { 0x1f, 0x11, 0x1d, 0x1b, 0x17, 0x11, 0x1f }, /* 93 */ + { 0x00, 0x00, 0x07, 0x04, 0x04, 0x14, 0x08 }, /* 94 */ + { 0x04, 0x04, 0x1f, 0x04, 0x04, 0x00, 0x1f }, /* 95 */ + { 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x00 }, /* 96 */ + { 0x00, 0x04, 0x00, 0x1f, 0x00, 0x04, 0x00 }, /* 97 */ + { 0x1f, 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11 }, /* 98 */ + { 0x1c, 0x04, 0x1c, 0x10, 0x1c, 0x00, 0x00 }, /* 99 */ + { 0x1c, 0x04, 0x1c, 0x04, 0x1c, 0x00, 0x00 }, /* 9a */ + { 0x11, 0x12, 0x17, 0x09, 0x17, 0x04, 0x07 }, /* 9b */ + { 0x11, 0x12, 0x14, 0x09, 0x13, 0x07, 0x01 }, /* 9c */ + { 0x18, 0x09, 0x1a, 0x0d, 0x1b, 0x17, 0x01 }, /* 9d */ + { 0x00, 0x05, 0x0a, 0x14, 0x0a, 0x05, 0x00 }, /* 9e */ + { 0x00, 0x14, 0x0a, 0x05, 0x0a, 0x14, 0x00 }, /* 9f */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* a0 */ + { 0x00, 0x00, 0x00, 0x00, 0x1c, 0x14, 0x1c }, /* a1 */ + { 0x07, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00 }, /* a2 */ + { 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x1c }, /* a3 */ + { 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x04 }, /* a4 */ + { 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00 }, /* a5 */ + { 0x00, 0x1f, 0x01, 0x1f, 0x01, 0x02, 0x04 }, /* a6 */ + { 0x00, 0x00, 0x1f, 0x01, 0x06, 0x04, 0x08 }, /* a7 */ + { 0x00, 0x00, 0x02, 0x04, 0x0c, 0x14, 0x04 }, /* a8 */ + { 0x00, 0x00, 0x04, 0x1f, 0x11, 0x01, 0x06 }, /* a9 */ + { 0x00, 0x00, 0x00, 0x1f, 0x04, 0x04, 0x1f }, /* aa */ + { 0x00, 0x00, 0x02, 0x1f, 0x06, 0x0a, 0x12 }, /* ab */ + { 0x00, 0x00, 0x08, 0x1f, 0x09, 0x0a, 0x08 }, /* ac */ + { 0x00, 0x00, 0x00, 0x0e, 0x02, 0x02, 0x1f }, /* ad */ + { 0x00, 0x00, 0x1e, 0x02, 0x1e, 0x02, 0x1e }, /* ae */ + { 0x00, 0x00, 0x00, 0x15, 0x15, 0x01, 0x06 }, /* af */ + { 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00 }, /* b0 */ + { 0x1f, 0x01, 0x05, 0x06, 0x04, 0x04, 0x08 }, /* b1 */ + { 0x01, 0x02, 0x04, 0x0c, 0x14, 0x04, 0x04 }, /* b2 */ + { 0x04, 0x1f, 0x11, 0x11, 0x01, 0x02, 0x04 }, /* b3 */ + { 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04, 0x1f }, /* b4 */ + { 0x02, 0x1f, 0x02, 0x06, 0x0a, 0x12, 0x02 }, /* b5 */ + { 0x08, 0x1f, 0x09, 0x09, 0x09, 0x09, 0x12 }, /* b6 */ + { 0x04, 0x1f, 0x04, 0x1f, 0x04, 0x04, 0x04 }, /* b7 */ + { 0x00, 0x0f, 0x09, 0x11, 0x01, 0x02, 0x0c }, /* b8 */ + { 0x08, 0x0f, 0x12, 0x02, 0x02, 0x02, 0x04 }, /* b9 */ + { 0x00, 0x1f, 0x01, 0x01, 0x01, 0x01, 0x1f }, /* ba */ + { 0x0a, 0x1f, 0x0a, 0x02, 0x02, 0x02, 0x04 }, /* bb */ + { 0x00, 0x18, 0x00, 0x18, 0x01, 0x02, 0x1c }, /* bc */ + { 0x00, 0x1f, 0x01, 0x02, 0x04, 0x0a, 0x11 }, /* bd */ + { 0x08, 0x1f, 0x09, 0x0a, 0x08, 0x08, 0x07 }, /* be */ + { 0x00, 0x11, 0x11, 0x09, 0x01, 0x02, 0x0c }, /* bf */ + { 0x00, 0x0f, 0x09, 0x15, 0x03, 0x02, 0x0c }, /* c0 */ + { 0x02, 0x1c, 0x04, 0x1f, 0x04, 0x04, 0x08 }, /* c1 */ + { 0x00, 0x15, 0x15, 0x15, 0x01, 0x02, 0x04 }, /* c2 */ + { 0x0e, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x08 }, /* c3 */ + { 0x08, 0x08, 0x08, 0x0c, 0x0a, 0x08, 0x08 }, /* c4 */ + { 0x04, 0x04, 0x1f, 0x04, 0x04, 0x08, 0x10 }, /* c5 */ + { 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* c6 */ + { 0x00, 0x1f, 0x01, 0x0a, 0x04, 0x0a, 0x10 }, /* c7 */ + { 0x04, 0x1f, 0x02, 0x04, 0x0e, 0x15, 0x04 }, /* c8 */ + { 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08 }, /* c9 */ + { 0x00, 0x04, 0x02, 0x11, 0x11, 0x11, 0x11 }, /* ca */ + { 0x10, 0x10, 0x1f, 0x10, 0x10, 0x10, 0x0f }, /* cb */ + { 0x00, 0x1f, 0x01, 0x01, 0x01, 0x02, 0x0c }, /* cc */ + { 0x00, 0x08, 0x14, 0x02, 0x01, 0x01, 0x00 }, /* cd */ + { 0x04, 0x1f, 0x04, 0x04, 0x15, 0x15, 0x04 }, /* ce */ + { 0x00, 0x1f, 0x01, 0x01, 0x0a, 0x04, 0x02 }, /* cf */ + { 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x0e, 0x01 }, /* d0 */ + { 0x00, 0x04, 0x08, 0x10, 0x11, 0x1f, 0x01 }, /* d1 */ + { 0x00, 0x01, 0x01, 0x0a, 0x04, 0x0a, 0x10 }, /* d2 */ + { 0x00, 0x1f, 0x08, 0x1f, 0x08, 0x08, 0x07 }, /* d3 */ + { 0x08, 0x08, 0x1f, 0x09, 0x0a, 0x08, 0x08 }, /* d4 */ + { 0x00, 0x0e, 0x02, 0x02, 0x02, 0x02, 0x1f }, /* d5 */ + { 0x00, 0x1f, 0x01, 0x1f, 0x01, 0x01, 0x1f }, /* d6 */ + { 0x0e, 0x00, 0x1f, 0x01, 0x01, 0x02, 0x04 }, /* d7 */ + { 0x12, 0x12, 0x12, 0x12, 0x12, 0x04, 0x08 }, /* d8 */ + { 0x00, 0x04, 0x14, 0x14, 0x15, 0x15, 0x16 }, /* d9 */ + { 0x00, 0x10, 0x10, 0x11, 0x12, 0x14, 0x18 }, /* da */ + { 0x1f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1f }, /* db */ + { 0x00, 0x1f, 0x11, 0x11, 0x01, 0x02, 0x04 }, /* dc */ + { 0x00, 0x18, 0x00, 0x01, 0x01, 0x02, 0x1c }, /* dd */ + { 0x04, 0x12, 0x08, 0x00, 0x00, 0x00, 0x00 }, /* de */ + { 0x1c, 0x14, 0x1c, 0x00, 0x00, 0x00, 0x00 }, /* df */ + { 0x00, 0x00, 0x09, 0x15, 0x12, 0x12, 0x0d }, /* e0 */ + { 0x00, 0x0e, 0x11, 0x1e, 0x11, 0x1e, 0x10 }, /* e1 */ + { 0x00, 0x11, 0x0a, 0x0a, 0x04, 0x04, 0x08 }, /* e2 */ + { 0x00, 0x00, 0x1f, 0x0a, 0x0a, 0x0a, 0x13 }, /* e3 */ + { 0x1f, 0x10, 0x08, 0x04, 0x08, 0x10, 0x1f }, /* e4 */ + { 0x00, 0x00, 0x0f, 0x14, 0x12, 0x11, 0x0e }, /* e5 */ + { 0x00, 0x09, 0x09, 0x09, 0x0f, 0x08, 0x10 }, /* e6 */ + { 0x00, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x03 }, /* e7 */ + { 0x1f, 0x04, 0x0e, 0x15, 0x0e, 0x04, 0x1f }, /* e8 */ + { 0x00, 0x0e, 0x11, 0x1f, 0x11, 0x11, 0x0e }, /* e9 */ + { 0x00, 0x00, 0x0e, 0x11, 0x11, 0x0a, 0x1b }, /* ea */ + { 0x0f, 0x10, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* eb */ + { 0x00, 0x00, 0x00, 0x00, 0x0b, 0x15, 0x1a }, /* ec */ + { 0x02, 0x04, 0x0e, 0x15, 0x0e, 0x04, 0x08 }, /* ed */ + { 0x00, 0x0e, 0x10, 0x0e, 0x10, 0x0e, 0x00 }, /* ee */ + { 0x06, 0x09, 0x11, 0x1e, 0x10, 0x10, 0x10 }, /* ef */ + { 0x00, 0x00, 0x08, 0x15, 0x02, 0x00, 0x00 }, /* f0 */ + { 0x00, 0x08, 0x15, 0x0a, 0x15, 0x02, 0x00 }, /* f1 */ + { 0x08, 0x0f, 0x12, 0x0f, 0x0a, 0x1f, 0x02 }, /* f2 */ + { 0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x09, 0x11 }, /* f3 */ + { 0x04, 0x15, 0x15, 0x04, 0x04, 0x0a, 0x11 }, /* f4 */ + { 0x04, 0x04, 0x1d, 0x06, 0x0e, 0x15, 0x04 }, /* f5 */ + { 0x04, 0x04, 0x1f, 0x04, 0x0e, 0x15, 0x04 }, /* f6 */ + { 0x04, 0x0a, 0x11, 0x0e, 0x04, 0x0e, 0x1f }, /* f7 */ + { 0x04, 0x04, 0x0e, 0x04, 0x04, 0x04, 0x1f }, /* f8 */ + { 0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x1f }, /* f9 */ + { 0x00, 0x01, 0x1e, 0x04, 0x1f, 0x04, 0x04 }, /* fa */ + { 0x00, 0x00, 0x1f, 0x08, 0x0f, 0x09, 0x11 }, /* fb */ + { 0x00, 0x00, 0x1f, 0x15, 0x1f, 0x11, 0x11 }, /* fc */ + { 0x0a, 0x15, 0x0a, 0x15, 0x0a, 0x15, 0x0a }, /* fd */ + { 0x15, 0x0a, 0x15, 0x0a, 0x15, 0x0a, 0x15 }, /* fe */ + { 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* ff */ +}; +static unsigned char font_player_oldlcd[256][7] = { + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 00 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 01 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 02 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 03 */ + { 0x0e, 0x11, 0x17, 0x15, 0x17, 0x10, 0x0e }, /* 04 */ + { 0x06, 0x09, 0x08, 0x1e, 0x08, 0x08, 0x1f }, /* 05 */ + { 0x04, 0x0f, 0x14, 0x0e, 0x05, 0x1e, 0x04 }, /* 06 */ + { 0x11, 0x0a, 0x1f, 0x04, 0x1f, 0x04, 0x04 }, /* 07 */ + { 0x08, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* 08 */ + { 0x02, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* 09 */ + { 0x08, 0x04, 0x00, 0x11, 0x11, 0x13, 0x0d }, /* 0a */ + { 0x08, 0x04, 0x00, 0x0c, 0x04, 0x04, 0x0e }, /* 0b */ + { 0x08, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* 0c */ + { 0x0f, 0x10, 0x10, 0x10, 0x0f, 0x02, 0x0e }, /* 0d */ + { 0x10, 0x10, 0x17, 0x14, 0x1e, 0x04, 0x04 }, /* 0e */ + { 0x01, 0x0e, 0x13, 0x15, 0x19, 0x0e, 0x10 }, /* 0f */ + { 0x00, 0x02, 0x0e, 0x15, 0x15, 0x0e, 0x08 }, /* 10 */ + { 0x1c, 0x10, 0x17, 0x1d, 0x07, 0x06, 0x05 }, /* 11 */ + { 0x04, 0x0a, 0x04, 0x0e, 0x11, 0x1f, 0x11 }, /* 12 */ + { 0x04, 0x0a, 0x04, 0x01, 0x0f, 0x11, 0x0f }, /* 13 */ + { 0x00, 0x04, 0x04, 0x0a, 0x0a, 0x11, 0x1f }, /* 14 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* 15 */ + { 0x0e, 0x04, 0x1f, 0x15, 0x1f, 0x04, 0x0e }, /* 16 */ + { 0x1f, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10 }, /* 17 */ + { 0x04, 0x04, 0x0a, 0x0a, 0x11, 0x11, 0x11 }, /* 18 */ + { 0x0e, 0x11, 0x11, 0x11, 0x0a, 0x0a, 0x1b }, /* 19 */ + { 0x1f, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a }, /* 1a */ + { 0x15, 0x15, 0x15, 0x15, 0x0e, 0x04, 0x04 }, /* 1b */ + { 0x1f, 0x08, 0x04, 0x02, 0x04, 0x08, 0x1f }, /* 1c */ + { 0x0e, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x0e }, /* 1d */ + { 0x1f, 0x11, 0x00, 0x0e, 0x00, 0x11, 0x1f }, /* 1e */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 1f */ + { 0x0f, 0x14, 0x14, 0x1f, 0x14, 0x14, 0x17 }, /* 20 */ + { 0x00, 0x00, 0x1a, 0x05, 0x0f, 0x14, 0x0f }, /* 21 */ + { 0x0c, 0x12, 0x16, 0x11, 0x11, 0x16, 0x10 }, /* 22 */ + { 0x02, 0x04, 0x1f, 0x10, 0x1c, 0x10, 0x1f }, /* 23 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* 24 */ + { 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x04 }, /* 25 */ + { 0x1b, 0x09, 0x12, 0x00, 0x00, 0x00, 0x00 }, /* 26 */ + { 0x0a, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x0a }, /* 27 */ + { 0x00, 0x11, 0x0e, 0x0a, 0x0e, 0x11, 0x00 }, /* 28 */ + { 0x18, 0x19, 0x02, 0x04, 0x08, 0x13, 0x03 }, /* 29 */ + { 0x08, 0x14, 0x14, 0x09, 0x15, 0x12, 0x0d }, /* 2a */ + { 0x0c, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 }, /* 2b */ + { 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x02 }, /* 2c */ + { 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x08 }, /* 2d */ + { 0x04, 0x15, 0x0e, 0x04, 0x0e, 0x15, 0x04 }, /* 2e */ + { 0x00, 0x04, 0x04, 0x1f, 0x04, 0x04, 0x00 }, /* 2f */ + { 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x08 }, /* 30 */ + { 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00 }, /* 31 */ + { 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00 }, /* 32 */ + { 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00 }, /* 33 */ + { 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 34 */ + { 0x04, 0x0c, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 35 */ + { 0x0e, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1f }, /* 36 */ + { 0x1f, 0x02, 0x04, 0x02, 0x01, 0x11, 0x0e }, /* 37 */ + { 0x02, 0x06, 0x0a, 0x12, 0x1f, 0x02, 0x02 }, /* 38 */ + { 0x1f, 0x10, 0x1e, 0x01, 0x01, 0x11, 0x0e }, /* 39 */ + { 0x06, 0x08, 0x10, 0x1e, 0x11, 0x11, 0x0e }, /* 3a */ + { 0x1f, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04 }, /* 3b */ + { 0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x0e }, /* 3c */ + { 0x0e, 0x11, 0x11, 0x0f, 0x01, 0x02, 0x0c }, /* 3d */ + { 0x00, 0x0c, 0x0c, 0x00, 0x0c, 0x0c, 0x00 }, /* 3e */ + { 0x00, 0x0c, 0x0c, 0x00, 0x0c, 0x04, 0x08 }, /* 3f */ + { 0x03, 0x06, 0x0c, 0x18, 0x0c, 0x06, 0x03 }, /* 40 */ + { 0x00, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00 }, /* 41 */ + { 0x18, 0x0c, 0x06, 0x03, 0x06, 0x0c, 0x18 }, /* 42 */ + { 0x0e, 0x11, 0x01, 0x02, 0x04, 0x00, 0x04 }, /* 43 */ + { 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04 }, /* 44 */ + { 0x04, 0x0a, 0x11, 0x11, 0x1f, 0x11, 0x11 }, /* 45 */ + { 0x1e, 0x11, 0x11, 0x1e, 0x11, 0x11, 0x1e }, /* 46 */ + { 0x0e, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0e }, /* 47 */ + { 0x1c, 0x12, 0x11, 0x11, 0x11, 0x12, 0x1c }, /* 48 */ + { 0x1f, 0x10, 0x10, 0x1e, 0x10, 0x10, 0x1f }, /* 49 */ + { 0x1f, 0x10, 0x10, 0x1e, 0x10, 0x10, 0x10 }, /* 4a */ + { 0x0e, 0x10, 0x10, 0x17, 0x11, 0x11, 0x0e }, /* 4b */ + { 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11 }, /* 4c */ + { 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 4d */ + { 0x0f, 0x02, 0x02, 0x02, 0x02, 0x12, 0x0c }, /* 4e */ + { 0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11 }, /* 4f */ + { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f }, /* 50 */ + { 0x11, 0x1b, 0x15, 0x11, 0x11, 0x11, 0x11 }, /* 51 */ + { 0x11, 0x11, 0x19, 0x15, 0x13, 0x11, 0x11 }, /* 52 */ + { 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 53 */ + { 0x1e, 0x11, 0x11, 0x1e, 0x10, 0x10, 0x10 }, /* 54 */ + { 0x0e, 0x11, 0x11, 0x11, 0x11, 0x12, 0x0d }, /* 55 */ + { 0x1e, 0x11, 0x11, 0x1e, 0x14, 0x12, 0x11 }, /* 56 */ + { 0x0e, 0x11, 0x10, 0x0e, 0x01, 0x11, 0x0e }, /* 57 */ + { 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 }, /* 58 */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 59 */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x0a, 0x04 }, /* 5a */ + { 0x11, 0x11, 0x11, 0x11, 0x11, 0x15, 0x0a }, /* 5b */ + { 0x11, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x11 }, /* 5c */ + { 0x11, 0x11, 0x0a, 0x04, 0x04, 0x04, 0x04 }, /* 5d */ + { 0x1f, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1f }, /* 5e */ + { 0x0a, 0x00, 0x04, 0x0a, 0x11, 0x1f, 0x11 }, /* 5f */ + { 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 60 */ + { 0x0d, 0x12, 0x00, 0x19, 0x15, 0x13, 0x11 }, /* 61 */ + { 0x0a, 0x00, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 62 */ + { 0x0e, 0x10, 0x0e, 0x11, 0x0e, 0x01, 0x0e }, /* 63 */ + { 0x04, 0x00, 0x04, 0x08, 0x10, 0x11, 0x0e }, /* 64 */ + { 0x00, 0x00, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 65 */ + { 0x10, 0x10, 0x1e, 0x11, 0x11, 0x11, 0x1e }, /* 66 */ + { 0x00, 0x00, 0x0f, 0x10, 0x10, 0x10, 0x0f }, /* 67 */ + { 0x01, 0x01, 0x0f, 0x11, 0x11, 0x11, 0x0f }, /* 68 */ + { 0x00, 0x00, 0x0e, 0x11, 0x1f, 0x10, 0x0f }, /* 69 */ + { 0x03, 0x04, 0x0f, 0x04, 0x04, 0x04, 0x04 }, /* 6a */ + { 0x00, 0x00, 0x0f, 0x11, 0x0f, 0x01, 0x0e }, /* 6b */ + { 0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* 6c */ + { 0x04, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x0e }, /* 6d */ + { 0x02, 0x00, 0x06, 0x02, 0x02, 0x12, 0x0c }, /* 6e */ + { 0x08, 0x08, 0x09, 0x0a, 0x0c, 0x0a, 0x09 }, /* 6f */ + { 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e }, /* 70 */ + { 0x00, 0x00, 0x1a, 0x15, 0x15, 0x15, 0x15 }, /* 71 */ + { 0x00, 0x00, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* 72 */ + { 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 73 */ + { 0x00, 0x00, 0x1e, 0x11, 0x1e, 0x10, 0x10 }, /* 74 */ + { 0x00, 0x00, 0x0f, 0x11, 0x0f, 0x01, 0x01 }, /* 75 */ + { 0x00, 0x00, 0x0b, 0x0c, 0x08, 0x08, 0x08 }, /* 76 */ + { 0x00, 0x00, 0x0e, 0x10, 0x0e, 0x01, 0x1e }, /* 77 */ + { 0x04, 0x04, 0x0f, 0x04, 0x04, 0x04, 0x03 }, /* 78 */ + { 0x00, 0x00, 0x11, 0x11, 0x11, 0x13, 0x0d }, /* 79 */ + { 0x00, 0x00, 0x11, 0x11, 0x11, 0x0a, 0x04 }, /* 7a */ + { 0x00, 0x00, 0x11, 0x11, 0x11, 0x15, 0x0a }, /* 7b */ + { 0x00, 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11 }, /* 7c */ + { 0x00, 0x00, 0x11, 0x11, 0x0f, 0x01, 0x1e }, /* 7d */ + { 0x00, 0x00, 0x1f, 0x02, 0x04, 0x08, 0x1f }, /* 7e */ + { 0x0a, 0x00, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 7f */ + { 0x00, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* 80 */ + { 0x0d, 0x12, 0x00, 0x16, 0x19, 0x11, 0x11 }, /* 81 */ + { 0x00, 0x0a, 0x00, 0x11, 0x11, 0x13, 0x0d }, /* 82 */ + { 0x08, 0x04, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 83 */ + { 0x00, 0x0f, 0x10, 0x10, 0x0f, 0x02, 0x04 }, /* 84 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00 }, /* 85 */ + { 0x00, 0x00, 0x04, 0x0e, 0x1f, 0x00, 0x00 }, /* 86 */ + { 0x00, 0x00, 0x1f, 0x0e, 0x04, 0x00, 0x00 }, /* 87 */ + { 0x02, 0x06, 0x0e, 0x1e, 0x0e, 0x06, 0x02 }, /* 88 */ + { 0x08, 0x0c, 0x0e, 0x0f, 0x0e, 0x0c, 0x08 }, /* 89 */ + { 0x1c, 0x1f, 0x13, 0x10, 0x10, 0x10, 0x10 }, /* 8a */ + { 0x15, 0x0a, 0x15, 0x0a, 0x15, 0x0a, 0x15 }, /* 8b */ + { 0x08, 0x04, 0x0e, 0x11, 0x1f, 0x11, 0x11 }, /* 8c */ + { 0x02, 0x04, 0x0e, 0x11, 0x1f, 0x11, 0x11 }, /* 8d */ + { 0x04, 0x0a, 0x0e, 0x11, 0x1f, 0x11, 0x11 }, /* 8e */ + { 0x0d, 0x12, 0x0e, 0x11, 0x1f, 0x11, 0x11 }, /* 8f */ + { 0x08, 0x04, 0x1f, 0x10, 0x1e, 0x10, 0x1f }, /* 90 */ + { 0x04, 0x0a, 0x1f, 0x10, 0x1c, 0x10, 0x1f }, /* 91 */ + { 0x0a, 0x00, 0x1f, 0x10, 0x1c, 0x10, 0x1f }, /* 92 */ + { 0x08, 0x04, 0x0e, 0x04, 0x04, 0x04, 0x0e }, /* 93 */ + { 0x02, 0x04, 0x0e, 0x04, 0x04, 0x04, 0x0e }, /* 94 */ + { 0x0c, 0x0a, 0x09, 0x1d, 0x09, 0x0a, 0x0c }, /* 95 */ + { 0x08, 0x04, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 96 */ + { 0x02, 0x04, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 97 */ + { 0x04, 0x0a, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 98 */ + { 0x0d, 0x12, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* 99 */ + { 0x08, 0x04, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 9a */ + { 0x02, 0x04, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* 9b */ + { 0x02, 0x04, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 9c */ + { 0x04, 0x0a, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 9d */ + { 0x0d, 0x12, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* 9e */ + { 0x04, 0x0a, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* 9f */ + { 0x0a, 0x00, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* a0 */ + { 0x02, 0x04, 0x00, 0x0c, 0x04, 0x04, 0x0e }, /* a1 */ + { 0x04, 0x0a, 0x00, 0x0c, 0x04, 0x04, 0x0e }, /* a2 */ + { 0x0a, 0x00, 0x00, 0x0c, 0x04, 0x04, 0x0e }, /* a3 */ + { 0x02, 0x04, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* a4 */ + { 0x04, 0x0a, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* a5 */ + { 0x0d, 0x12, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* a6 */ + { 0x02, 0x04, 0x00, 0x11, 0x11, 0x13, 0x0d }, /* a7 */ + { 0x04, 0x04, 0x0f, 0x10, 0x10, 0x0f, 0x04 }, /* a8 */ + { 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03 }, /* a9 */ + { 0x0a, 0x04, 0x0b, 0x0c, 0x08, 0x08, 0x08 }, /* aa */ + { 0x0a, 0x04, 0x0f, 0x10, 0x10, 0x10, 0x0f }, /* ab */ + { 0x0a, 0x04, 0x0e, 0x10, 0x0e, 0x01, 0x1e }, /* ac */ + { 0x0a, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e }, /* ad */ + { 0x04, 0x0a, 0x04, 0x11, 0x11, 0x13, 0x0d }, /* ae */ + { 0x02, 0x04, 0x11, 0x11, 0x0f, 0x01, 0x0e }, /* af */ + { 0x02, 0x0f, 0x02, 0x0e, 0x12, 0x12, 0x0e }, /* b0 */ + { 0x02, 0x04, 0x0f, 0x10, 0x10, 0x10, 0x0f }, /* b1 */ + { 0x0e, 0x11, 0x1f, 0x10, 0x0e, 0x04, 0x06 }, /* b2 */ + { 0x0e, 0x01, 0x0f, 0x11, 0x0f, 0x02, 0x03 }, /* b3 */ + { 0x04, 0x00, 0x1f, 0x02, 0x04, 0x08, 0x1f }, /* b4 */ + { 0x02, 0x04, 0x1f, 0x02, 0x04, 0x08, 0x1f }, /* b5 */ + { 0x02, 0x04, 0x0e, 0x10, 0x0e, 0x01, 0x1e }, /* b6 */ + { 0x02, 0x04, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* b7 */ + { 0x0c, 0x04, 0x06, 0x0c, 0x04, 0x04, 0x0e }, /* b8 */ + { 0x04, 0x0e, 0x1f, 0x1f, 0x1b, 0x04, 0x0e }, /* b9 */ + { 0x0a, 0x04, 0x16, 0x19, 0x11, 0x11, 0x11 }, /* ba */ + { 0x09, 0x09, 0x08, 0x1e, 0x08, 0x08, 0x06 }, /* bb */ + { 0x05, 0x05, 0x0c, 0x14, 0x14, 0x14, 0x0c }, /* bc */ + { 0x0a, 0x04, 0x1f, 0x02, 0x04, 0x08, 0x1f }, /* bd */ + { 0x0f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* be */ + { 0x0f, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01 }, /* bf */ + { 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* c0 */ + { 0x1f, 0x00, 0x0e, 0x10, 0x17, 0x11, 0x0e }, /* c1 */ + { 0x1f, 0x00, 0x0f, 0x11, 0x0f, 0x01, 0x0e }, /* c2 */ + { 0x0e, 0x10, 0x0e, 0x01, 0x0e, 0x04, 0x0c }, /* c3 */ + { 0x00, 0x0e, 0x10, 0x0e, 0x01, 0x0e, 0x04 }, /* c4 */ + { 0x04, 0x00, 0x0e, 0x04, 0x04, 0x04, 0x0e }, /* c5 */ + { 0x00, 0x00, 0x0c, 0x04, 0x04, 0x04, 0x0e }, /* c6 */ + { 0x05, 0x0a, 0x11, 0x11, 0x11, 0x11, 0x0e }, /* c7 */ + { 0x09, 0x12, 0x0e, 0x11, 0x11, 0x11, 0x0e }, /* c8 */ + { 0x09, 0x12, 0x00, 0x11, 0x11, 0x13, 0x0d }, /* c9 */ + { 0x09, 0x12, 0x00, 0x0e, 0x11, 0x11, 0x0e }, /* ca */ + { 0x01, 0x01, 0x01, 0x01, 0x01, 0x10, 0x0f }, /* cb */ + { 0x10, 0x10, 0x10, 0x10, 0x10, 0x01, 0x1e }, /* cc */ + { 0x00, 0x1b, 0x1f, 0x1f, 0x0e, 0x04, 0x00 }, /* cd */ + { 0x18, 0x08, 0x08, 0x08, 0x08, 0x08, 0x18 }, /* ce */ + { 0x0e, 0x11, 0x04, 0x0a, 0x1b, 0x1f, 0x00 }, /* cf */ + { 0x0a, 0x15, 0x04, 0x07, 0x00, 0x11, 0x0a }, /* d0 */ + { 0x0f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f }, /* d1 */ + { 0x01, 0x03, 0x1d, 0x11, 0x1d, 0x03, 0x01 }, /* d2 */ + { 0x0e, 0x11, 0x11, 0x1f, 0x1b, 0x1b, 0x1f }, /* d3 */ + { 0x00, 0x01, 0x02, 0x0a, 0x04, 0x04, 0x00 }, /* d4 */ + { 0x04, 0x0e, 0x1f, 0x00, 0x1f, 0x0e, 0x04 }, /* d5 */ + { 0x02, 0x02, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e }, /* d6 */ + { 0x1b, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1b }, /* d7 */ + { 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b }, /* d8 */ + { 0x04, 0x0f, 0x04, 0x04, 0x04, 0x03, 0x06 }, /* d9 */ + { 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b }, /* da */ + { 0x00, 0x04, 0x0e, 0x1f, 0x0e, 0x04, 0x00 }, /* db */ + { 0x00, 0x00, 0x1f, 0x1b, 0x15, 0x11, 0x1f }, /* dc */ + { 0x0e, 0x0e, 0x04, 0x1f, 0x0e, 0x0e, 0x0a }, /* dd */ + { 0x00, 0x00, 0x00, 0x00, 0x0a, 0x04, 0x0a }, /* de */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f }, /* df */ + { 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f }, /* e0 */ + { 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f }, /* e1 */ + { 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* e2 */ + { 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* e3 */ + { 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04 }, /* e4 */ + { 0x04, 0x09, 0x0a, 0x0a, 0x0a, 0x09, 0x04 }, /* e5 */ + { 0x00, 0x1f, 0x11, 0x11, 0x1f, 0x04, 0x1f }, /* e6 */ + { 0x00, 0x07, 0x03, 0x05, 0x08, 0x10, 0x00 }, /* e7 */ + { 0x00, 0x10, 0x08, 0x05, 0x03, 0x07, 0x00 }, /* e8 */ + { 0x09, 0x06, 0x0e, 0x01, 0x0f, 0x11, 0x0f }, /* e9 */ + { 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ea */ + { 0x00, 0x00, 0x10, 0x08, 0x04, 0x04, 0x04 }, /* eb */ + { 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f }, /* ec */ + { 0x1f, 0x18, 0x14, 0x12, 0x15, 0x18, 0x1f }, /* ed */ + { 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ee */ + { 0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 }, /* ef */ + { 0x00, 0x03, 0x07, 0x0c, 0x18, 0x1c, 0x1c }, /* f0 */ + { 0x1c, 0x10, 0x1c, 0x07, 0x1c, 0x04, 0x07 }, /* f1 */ + { 0x00, 0x1e, 0x03, 0x09, 0x19, 0x09, 0x1d }, /* f2 */ + { 0x1e, 0x01, 0x19, 0x05, 0x09, 0x1d, 0x01 }, /* f3 */ + { 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00 }, /* f4 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0f }, /* f5 */ + { 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e }, /* f6 */ + { 0x04, 0x04, 0x04, 0x08, 0x10, 0x00, 0x00 }, /* f7 */ + { 0x07, 0x03, 0x05, 0x08, 0x10, 0x10, 0x0f }, /* f8 */ + { 0x04, 0x0e, 0x1f, 0x11, 0x11, 0x15, 0x1f }, /* f9 */ + { 0x1f, 0x03, 0x1a, 0x02, 0x1a, 0x02, 0x1e }, /* fa */ + { 0x00, 0x0e, 0x1f, 0x11, 0x1f, 0x0e, 0x00 }, /* fb */ + { 0x03, 0x05, 0x09, 0x09, 0x0b, 0x1b, 0x18 }, /* fc */ + { 0x1f, 0x03, 0x05, 0x09, 0x15, 0x03, 0x1f }, /* fd */ + { 0x10, 0x10, 0x10, 0x10, 0x10, 0x1c, 0x1c }, /* fe */ + { 0x1c, 0x1c, 0x10, 0x10, 0x10, 0x10, 0x10 }, /* ff */ +}; + +static unsigned char (*font_player)[256][7]; + +static unsigned bitmap[BITMAP_WIDTH][CHAR_HEIGHT]; +static bool show_subst, show_hardware; +static bool newlcd; + +bool is_new_player(void) +{ + return newlcd; +} + +static void draw_pattern(int fg, int bg, int x, const unsigned char *pattern) +{ + int x2, y2; + + for (y2 = 0; y2 < 7; y2++) + { + unsigned data = pattern[y2]; + + for (x2 = 0; x2 < 5; x2++) + bitmap[x+x2][y2] = (data & (0x10 >> x2)) ? fg : bg; + } +} + +static void draw_hexdigit(int x, int digit) +{ + int x2, y2; + + draw_pattern(CHAR_FG_STD, CHAR_BG_STD, x + 1, + font_player_newlcd[digit+(digit<10?'0':'A'-10)]); + + for (y2 = 0; y2 < CHAR_HEIGHT; y2++) + for (x2 = 0; x2 < CHAR_WIDTH; x2++) + bitmap[x+x2][y2] ^= 0xffffff; +} + +static void flush_bitmap(FILE *fp) +{ + int x, y; + + for (y = 0; y < CHAR_HEIGHT; y++) + { + int i, z; + + for (i = 0; i < SIZE; i++) + { + for (x = 0; x < BITMAP_WIDTH; x++) + { + unsigned int col = bitmap[x][y]; + + for (z = 0; z < SIZE; z++) + { + fprintf(fp, "%d %d %d ", (col >> 16) & 255, + (col >> 8) & 255, (col) & 255); + } + } + fprintf(fp, "\n"); + } + } +} + + +int main(int argc, char **argv) +{ + int x, y; + int i, lines, block, oldblock; + int loop; + char *filename; + FILE *fp; + + printf("This tool will generate gif-pictures that reflect the current " + "unicode charset of the Player.\n"); + + for (loop = 0; loop < 6; loop++) + { + switch (loop) + { + case 0: + font_player = &font_player_oldlcd; + newlcd = false; + lcd_charset_init(); + filename = "lcd_old.gif"; + show_subst = false; + show_hardware = false; + break; + case 1: + font_player = &font_player_newlcd; + newlcd = true; + lcd_charset_init(); + filename = "lcd_new.gif"; + show_subst = false; + show_hardware = false; + break; + case 2: + font_player = &font_player_oldlcd; + newlcd = false; + lcd_charset_init(); + filename = "lcd_old_subst.gif"; + show_subst = true; + show_hardware = false; + break; + case 3: + font_player = &font_player_newlcd; + newlcd = true; + lcd_charset_init(); + filename = "lcd_new_subst.gif"; + show_subst = true; + show_hardware = false; + break; + case 4: + font_player = &font_player_oldlcd; + xchar_info = NULL; + xchar_info_size = 256; + filename = "lcd_old_hw.gif"; + show_subst = true; + show_hardware = true; + break; + case 5: + font_player = &font_player_newlcd; + xchar_info = NULL; + xchar_info_size = 256; + filename = "lcd_new_hw.gif"; + show_subst = true; + show_hardware = true; + break; + default: + printf("Not in loop!\n"); + exit(0); + } + fp = fopen("tmp.pnm", "wb"); + if (!fp) + { + printf("Error opening %s!\n", filename); + exit(0); + } + if (show_hardware) + { + /* hardware mapping is always 16 lines */ + lines = 16; + } + else + { + /* count lines */ + for (lines = 0, oldblock = -1, i = 0; i < xchar_info_size; i++) + { + block = xchar_info[i].ucs >> 4; + if (block != oldblock) + { + lines++; + oldblock = block; + } + } + } + fprintf(fp, "P3\n#PNM showing a picture of the Player unicode charset\n"); + fprintf(fp, "%d %d\n255\n", BITMAP_WIDTH*SIZE, CHAR_HEIGHT*SIZE*(lines+1)); + + memset(bitmap, 255, sizeof(bitmap)); + for (x = 0; x < 16; x++) + { + draw_hexdigit(3*CHAR_WIDTH + x * CHAR_WIDTH, x); + } + + for (oldblock = -1, i = 0; i < xchar_info_size; i++) + { + block = show_hardware ? (i >> 4) : (xchar_info[i].ucs >> 4); + if (block != oldblock) + { + flush_bitmap(fp); + memset(bitmap, 255, sizeof(bitmap)); + draw_hexdigit(0, (block >> 8) & 0xf); + draw_hexdigit(CHAR_WIDTH, (block >> 4) & 0xf); + draw_hexdigit(2*CHAR_WIDTH, block & 0xf); + oldblock = block; + } + if (show_hardware) + { + draw_pattern(CHAR_FG_STD, CHAR_BG_STD, + 3*CHAR_WIDTH+1 + (i & 0xf) * CHAR_WIDTH, + (*font_player)[i]); + } + else + { + if (xchar_info[i].priority == 0) + { + draw_pattern(CHAR_FG_STD, CHAR_BG_STD, + 3*CHAR_WIDTH+1 + + (xchar_info[i].ucs & 0xf) * CHAR_WIDTH, + (*font_player)[xchar_info[i].hw_char]); + } + else + { + if (show_subst) + { + draw_pattern(CHAR_FG_ALT, CHAR_BG_STD, + 3*CHAR_WIDTH+1 + + (xchar_info[i].ucs & 0xf) * CHAR_WIDTH, + (*font_player)[xchar_info[i].hw_char]); + } + else + { + if ((xchar_info[i].glyph & 0x8000) == 0) + draw_pattern(CHAR_FG_ALT, CHAR_BG_STD, + 3*CHAR_WIDTH+1 + + (xchar_info[i].ucs & 0xf) * CHAR_WIDTH, + xfont_fixed[xchar_info[i].glyph]); + else + draw_pattern(CHAR_FG_STD, CHAR_BG_ALT, + 3*CHAR_WIDTH+1 + + (xchar_info[i].ucs & 0xf) * CHAR_WIDTH, + font_player_newlcd[' ']); + } + } + } + } + flush_bitmap(fp); + fclose(fp); + { + char buffer[200]; + + sprintf(buffer, "convert tmp.pnm %s", filename); + system(buffer); + system("rm tmp.pnm"); + } + } +} |