diff --git a/libretro/core-mapper.c b/libretro/core-mapper.c index 3098fd0..91c82c3 100644 --- a/libretro/core-mapper.c +++ b/libretro/core-mapper.c @@ -41,6 +41,7 @@ char RPATH[512]; //EMU FLAGS int NPAGE=-1, KCOL=1, BKGCOLOR=0; int SHOWKEY=-1; +int VKBD_OPACITY=-1; #if defined(ANDROID) || defined(__ANDROID__) int MOUSE_EMULATED=1; @@ -257,7 +258,11 @@ void retro_virtualkb(void) SHOWKEY=-SHOWKEY; } else if(i==-5) - oldi=-1; + { + //VKbd opacitu on/off + VKBD_OPACITY=-VKBD_OPACITY; + oldi=-1; + } else if(i==-6) oldi=-1; else if(i==-7) diff --git a/libretro/font2.i b/libretro/font2.i index d1868a7..a815c8f 100644 --- a/libretro/font2.i +++ b/libretro/font2.i @@ -1,270 +1,266 @@ -/****************************************************************/ -/* Apple IIgs emulator */ -/* */ -/* Apple 2GS Original fonts. */ -/* All the characters are coded in their original set. */ -/* Only the USA keyboard is recognized with ROM 01. */ -/* */ -/****************************************************************/ +/**************************************/ +/* Atari 800 emulator */ +/* */ +/* Atari 8bit Original fonts. */ +/* */ +/**************************************/ unsigned char font_array[256*8] = { -0xc7, 0xbb, 0xab, 0xa3, 0xa7, 0xbf, 0xc3, 0xff, -0xef, 0xd7, 0xbb, 0xbb, 0x83, 0xbb, 0xbb, 0xff, -0x87, 0xbb, 0xbb, 0x87, 0xbb, 0xbb, 0x87, 0xff, -0xc7, 0xbb, 0xbf, 0xbf, 0xbf, 0xbb, 0xc7, 0xff, -0x87, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x87, 0xff, -0x83, 0xbf, 0xbf, 0x87, 0xbf, 0xbf, 0x83, 0xff, -0x83, 0xbf, 0xbf, 0x87, 0xbf, 0xbf, 0xbf, 0xff, -0xc3, 0xbf, 0xbf, 0xbf, 0xb3, 0xbb, 0xc3, 0xff, -0xbb, 0xbb, 0xbb, 0x83, 0xbb, 0xbb, 0xbb, 0xff, -0xc7, 0xef, 0xef, 0xef, 0xef, 0xef, 0xc7, 0xff, -0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xbb, 0xc7, 0xff, -0xbb, 0xb7, 0xaf, 0x9f, 0xaf, 0xb7, 0xbb, 0xff, -0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0x83, 0xff, -0xbb, 0x93, 0xab, 0xab, 0xbb, 0xbb, 0xbb, 0xff, -0xbb, 0xbb, 0x9b, 0xab, 0xb3, 0xbb, 0xbb, 0xff, -0xc7, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xc7, 0xff, -0x87, 0xbb, 0xbb, 0x87, 0xbf, 0xbf, 0xbf, 0xff, -0xc7, 0xbb, 0xbb, 0xbb, 0xab, 0xb7, 0xcb, 0xff, -0x87, 0xbb, 0xbb, 0x87, 0xaf, 0xb7, 0xbb, 0xff, -0xc7, 0xbb, 0xbf, 0xc7, 0xfb, 0xbb, 0xc7, 0xff, -0x83, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xff, -0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xc7, 0xff, -0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xd7, 0xef, 0xff, -0xbb, 0xbb, 0xbb, 0xab, 0xab, 0x93, 0xbb, 0xff, -0xbb, 0xbb, 0xd7, 0xef, 0xd7, 0xbb, 0xbb, 0xff, -0xbb, 0xbb, 0xd7, 0xef, 0xef, 0xef, 0xef, 0xff, -0x83, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x83, 0xff, -0x83, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x83, 0xff, -0xff, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xff, 0xff, -0x83, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0x83, 0xff, -0xff, 0xff, 0xef, 0xd7, 0xbb, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xef, 0xef, 0xef, 0xef, 0xef, 0xff, 0xef, 0xff, -0xd7, 0xd7, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, -0xd7, 0xd7, 0x83, 0xd7, 0x83, 0xd7, 0xd7, 0xff, -0xef, 0xc3, 0xaf, 0xc7, 0xeb, 0x87, 0xef, 0xff, -0x9f, 0x9b, 0xf7, 0xef, 0xdf, 0xb3, 0xf3, 0xff, -0xdf, 0xaf, 0xaf, 0xdf, 0xab, 0xb7, 0xcb, 0xff, -0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, -0xef, 0xdf, 0xbf, 0xbf, 0xbf, 0xdf, 0xef, 0xff, -0xef, 0xf7, 0xfb, 0xfb, 0xfb, 0xf7, 0xef, 0xff, -0xef, 0xab, 0xc7, 0xef, 0xc7, 0xab, 0xef, 0xff, -0xff, 0xef, 0xef, 0x83, 0xef, 0xef, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xdf, 0xff, -0xff, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, -0xff, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0xff, 0xff, -0xc7, 0xbb, 0xb3, 0xab, 0x9b, 0xbb, 0xc7, 0xff, -0xef, 0xcf, 0xef, 0xef, 0xef, 0xef, 0xc7, 0xff, -0xc7, 0xbb, 0xfb, 0xe7, 0xdf, 0xbf, 0x83, 0xff, -0x83, 0xfb, 0xf7, 0xe7, 0xfb, 0xbb, 0xc7, 0xff, -0xf7, 0xe7, 0xd7, 0xb7, 0x83, 0xf7, 0xf7, 0xff, -0x83, 0xbf, 0x87, 0xfb, 0xfb, 0xbb, 0xc7, 0xff, -0xe3, 0xdf, 0xbf, 0x87, 0xbb, 0xbb, 0xc7, 0xff, -0x83, 0xfb, 0xf7, 0xef, 0xdf, 0xdf, 0xdf, 0xff, -0xc7, 0xbb, 0xbb, 0xc7, 0xbb, 0xbb, 0xc7, 0xff, -0xc7, 0xbb, 0xbb, 0xc3, 0xfb, 0xf7, 0x8f, 0xff, -0xff, 0xff, 0xef, 0xff, 0xef, 0xff, 0xff, 0xff, -0xff, 0xff, 0xef, 0xff, 0xef, 0xef, 0xdf, 0xff, -0xf7, 0xef, 0xdf, 0xbf, 0xdf, 0xef, 0xf7, 0xff, -0xff, 0xff, 0x83, 0xff, 0x83, 0xff, 0xff, 0xff, -0xdf, 0xef, 0xf7, 0xfb, 0xf7, 0xef, 0xdf, 0xff, -0xc7, 0xbb, 0xf7, 0xef, 0xef, 0xff, 0xef, 0xff, -0x08, 0x10, 0x6c, 0xfe, 0xfc, 0xfc, 0x7e, 0x6c, -0x08, 0x10, 0x6c, 0x82, 0x84, 0x84, 0x52, 0x6c, -0x00, 0x00, 0x40, 0x60, 0x70, 0x78, 0x6c, 0x42, -0xfe, 0x44, 0x28, 0x10, 0x10, 0x28, 0x54, 0xfe, -0x00, 0x02, 0x04, 0x88, 0x50, 0x20, 0x20, 0x00, -0xfe, 0xfc, 0xfa, 0x36, 0xae, 0xde, 0xde, 0xfe, -0xfc, 0xfc, 0xfc, 0xdc, 0x9c, 0x00, 0x9e, 0xde, -0xfe, 0x00, 0xfe, 0x00, 0xfe, 0x00, 0x00, 0xfe, -0x10, 0x20, 0x40, 0xfe, 0x40, 0x20, 0x10, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, -0x10, 0x10, 0x10, 0x10, 0x92, 0x54, 0x38, 0x10, -0x10, 0x38, 0x54, 0x92, 0x10, 0x10, 0x10, 0x10, -0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x02, 0x02, 0x02, 0x22, 0x62, 0xfe, 0x60, 0x20, -0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, -0xc8, 0x18, 0x38, 0x7e, 0x38, 0x18, 0x08, 0xf6, -0x26, 0x30, 0x38, 0xfc, 0x38, 0x30, 0x20, 0xde, -0x02, 0x12, 0x10, 0xfe, 0x7c, 0x38, 0x12, 0x02, -0x02, 0x12, 0x38, 0x7c, 0xfe, 0x10, 0x12, 0x02, -0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, -0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xfe, -0x10, 0x08, 0x04, 0xfe, 0x04, 0x08, 0x10, 0x00, -0x54, 0xaa, 0x54, 0xaa, 0x54, 0xaa, 0x54, 0xaa, -0xaa, 0x54, 0xaa, 0x54, 0xaa, 0x54, 0xaa, 0x54, -0x00, 0x7c, 0x82, 0x80, 0x80, 0x80, 0xfe, 0x00, -0x00, 0x00, 0xfc, 0x02, 0x02, 0x02, 0xfe, 0x00, -0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, -0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, 0x00, -0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, -0x28, 0x28, 0xee, 0x00, 0xee, 0x28, 0x28, 0x00, -0xfe, 0x02, 0x02, 0x32, 0x32, 0x02, 0x02, 0xfe, -0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, -0xdf, 0xef, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xc7, 0xfb, 0xc3, 0xbb, 0xc3, 0xff, -0xbf, 0xbf, 0x87, 0xbb, 0xbb, 0xbb, 0x87, 0xff, -0xff, 0xff, 0xc3, 0xbf, 0xbf, 0xbf, 0xc3, 0xff, -0xfb, 0xfb, 0xc3, 0xbb, 0xbb, 0xbb, 0xc3, 0xff, -0xff, 0xff, 0xc7, 0xbb, 0x83, 0xbf, 0xc3, 0xff, -0xe7, 0xdb, 0xdf, 0x87, 0xdf, 0xdf, 0xdf, 0xff, -0xff, 0xff, 0xc7, 0xbb, 0xbb, 0xc3, 0xfb, 0xc7, -0xbf, 0xbf, 0x87, 0xbb, 0xbb, 0xbb, 0xbb, 0xff, -0xef, 0xff, 0xcf, 0xef, 0xef, 0xef, 0xc7, 0xff, -0xf7, 0xff, 0xe7, 0xf7, 0xf7, 0xf7, 0xb7, 0xcf, -0xbf, 0xbf, 0xbb, 0xb7, 0x8f, 0xb7, 0xbb, 0xff, -0xcf, 0xef, 0xef, 0xef, 0xef, 0xef, 0xc7, 0xff, -0xff, 0xff, 0x93, 0xab, 0xab, 0xab, 0xbb, 0xff, -0xff, 0xff, 0x87, 0xbb, 0xbb, 0xbb, 0xbb, 0xff, -0xff, 0xff, 0xc7, 0xbb, 0xbb, 0xbb, 0xc7, 0xff, -0xff, 0xff, 0x87, 0xbb, 0xbb, 0x87, 0xbf, 0xbf, -0xff, 0xff, 0xc3, 0xbb, 0xbb, 0xc3, 0xfb, 0xfb, -0xff, 0xff, 0xa3, 0x9f, 0xbf, 0xbf, 0xbf, 0xff, -0xff, 0xff, 0xc3, 0xbf, 0xc7, 0xfb, 0x87, 0xff, -0xdf, 0xdf, 0x87, 0xdf, 0xdf, 0xdb, 0xe7, 0xff, -0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xb3, 0xcb, 0xff, -0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xd7, 0xef, 0xff, -0xff, 0xff, 0xbb, 0xbb, 0xab, 0xab, 0x93, 0xff, -0xff, 0xff, 0xbb, 0xd7, 0xef, 0xd7, 0xbb, 0xff, -0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xc3, 0xfb, 0xc7, -0xff, 0xff, 0x83, 0xf7, 0xef, 0xdf, 0x83, 0xff, -0xe3, 0xcf, 0xcf, 0x9f, 0xcf, 0xcf, 0xe3, 0xff, -0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, -0x8f, 0xe7, 0xe7, 0xf3, 0xe7, 0xe7, 0x8f, 0xff, -0xcb, 0xa7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xab, 0xd7, 0xab, 0xd7, 0xab, 0xff, 0xff, -0x38, 0x44, 0x54, 0x5c, 0x58, 0x40, 0x3c, 0x00, -0x10, 0x28, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x00, -0x78, 0x44, 0x44, 0x78, 0x44, 0x44, 0x78, 0x00, -0x38, 0x44, 0x40, 0x40, 0x40, 0x44, 0x38, 0x00, -0x78, 0x44, 0x44, 0x44, 0x44, 0x44, 0x78, 0x00, -0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7c, 0x00, -0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x00, -0x3c, 0x40, 0x40, 0x40, 0x4c, 0x44, 0x3c, 0x00, -0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x00, -0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, -0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x38, 0x00, -0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c, 0x00, -0x44, 0x6c, 0x54, 0x54, 0x44, 0x44, 0x44, 0x00, -0x44, 0x44, 0x64, 0x54, 0x4c, 0x44, 0x44, 0x00, -0x38, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, -0x78, 0x44, 0x44, 0x78, 0x40, 0x40, 0x40, 0x00, -0x38, 0x44, 0x44, 0x44, 0x54, 0x48, 0x34, 0x00, -0x78, 0x44, 0x44, 0x78, 0x50, 0x48, 0x44, 0x00, -0x38, 0x44, 0x40, 0x38, 0x04, 0x44, 0x38, 0x00, -0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, -0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, -0x44, 0x44, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, -0x44, 0x44, 0x44, 0x54, 0x54, 0x6c, 0x44, 0x00, -0x44, 0x44, 0x28, 0x10, 0x28, 0x44, 0x44, 0x00, -0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, -0x7c, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7c, 0x00, -0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00, -0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, -0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, -0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, +0x00, 0x36, 0x7F, 0x7F, 0x3E, 0x1C, 0x08, 0x00, +0x18, 0x18, 0x18, 0x1F, 0x1F, 0x18, 0x18, 0x18, +0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, +0x18, 0x18, 0x18, 0xF8, 0xF8, 0x00, 0x00, 0x00, +0x18, 0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, 0x18, +0x00, 0x00, 0x00, 0xF8, 0xF8, 0x18, 0x18, 0x18, +0x03, 0x07, 0x0E, 0x1C, 0x38, 0x70, 0xE0, 0xC0, +0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, +0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, +0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, +0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, +0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, +0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, +0x00, 0x1C, 0x1C, 0x77, 0x77, 0x08, 0x1C, 0x00, +0x00, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x18, 0x18, +0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, +0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18, +0x00, 0x00, 0x3C, 0x7E, 0x7E, 0x7E, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, +0x00, 0x00, 0x00, 0xFF, 0xFF, 0x18, 0x18, 0x18, +0x18, 0x18, 0x18, 0xFF, 0xFF, 0x00, 0x00, 0x00, +0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, +0x18, 0x18, 0x18, 0x1F, 0x1F, 0x00, 0x00, 0x00, +0x78, 0x60, 0x78, 0x60, 0x7E, 0x18, 0x1E, 0x00, +0x00, 0x18, 0x3C, 0x7E, 0x18, 0x18, 0x18, 0x00, +0x00, 0x18, 0x18, 0x18, 0x7E, 0x3C, 0x18, 0x00, +0x00, 0x18, 0x30, 0x7E, 0x30, 0x18, 0x00, 0x00, +0x00, 0x18, 0x0C, 0x7E, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, -0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, -0x28, 0x28, 0x7c, 0x28, 0x7c, 0x28, 0x28, 0x00, -0x10, 0x3c, 0x50, 0x38, 0x14, 0x78, 0x10, 0x00, -0x60, 0x64, 0x08, 0x10, 0x20, 0x4c, 0x0c, 0x00, -0x20, 0x50, 0x50, 0x20, 0x54, 0x48, 0x34, 0x00, -0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, -0x10, 0x20, 0x40, 0x40, 0x40, 0x20, 0x10, 0x00, -0x10, 0x08, 0x04, 0x04, 0x04, 0x08, 0x10, 0x00, -0x10, 0x54, 0x38, 0x10, 0x38, 0x54, 0x10, 0x00, -0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, -0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, -0x00, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, -0x38, 0x44, 0x4c, 0x54, 0x64, 0x44, 0x38, 0x00, -0x10, 0x30, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, -0x38, 0x44, 0x04, 0x18, 0x20, 0x40, 0x7c, 0x00, -0x7c, 0x04, 0x08, 0x18, 0x04, 0x44, 0x38, 0x00, -0x08, 0x18, 0x28, 0x48, 0x7c, 0x08, 0x08, 0x00, -0x7c, 0x40, 0x78, 0x04, 0x04, 0x44, 0x38, 0x00, -0x1c, 0x20, 0x40, 0x78, 0x44, 0x44, 0x38, 0x00, -0x7c, 0x04, 0x08, 0x10, 0x20, 0x20, 0x20, 0x00, -0x38, 0x44, 0x44, 0x38, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x3c, 0x04, 0x08, 0x70, 0x00, -0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, -0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x20, 0x00, -0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, -0x00, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x00, -0x38, 0x44, 0x08, 0x10, 0x10, 0x00, 0x10, 0x00, -0x38, 0x44, 0x54, 0x5c, 0x58, 0x40, 0x3c, 0x00, -0x10, 0x28, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x00, -0x78, 0x44, 0x44, 0x78, 0x44, 0x44, 0x78, 0x00, -0x38, 0x44, 0x40, 0x40, 0x40, 0x44, 0x38, 0x00, -0x78, 0x44, 0x44, 0x44, 0x44, 0x44, 0x78, 0x00, -0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7c, 0x00, -0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x00, -0x3c, 0x40, 0x40, 0x40, 0x4c, 0x44, 0x3c, 0x00, -0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x00, -0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, -0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x38, 0x00, -0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c, 0x00, -0x44, 0x6c, 0x54, 0x54, 0x44, 0x44, 0x44, 0x00, -0x44, 0x44, 0x64, 0x54, 0x4c, 0x44, 0x44, 0x00, -0x38, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, -0x78, 0x44, 0x44, 0x78, 0x40, 0x40, 0x40, 0x00, -0x38, 0x44, 0x44, 0x44, 0x54, 0x48, 0x34, 0x00, -0x78, 0x44, 0x44, 0x78, 0x50, 0x48, 0x44, 0x00, -0x38, 0x44, 0x40, 0x38, 0x04, 0x44, 0x38, 0x00, -0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, -0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, -0x44, 0x44, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, -0x44, 0x44, 0x44, 0x54, 0x54, 0x6c, 0x44, 0x00, -0x44, 0x44, 0x28, 0x10, 0x28, 0x44, 0x44, 0x00, -0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, -0x7c, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7c, 0x00, -0x7c, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x00, -0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, -0x7c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x7c, 0x00, -0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, -0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x38, 0x04, 0x3c, 0x44, 0x3c, 0x00, -0x40, 0x40, 0x78, 0x44, 0x44, 0x44, 0x78, 0x00, -0x00, 0x00, 0x3c, 0x40, 0x40, 0x40, 0x3c, 0x00, -0x04, 0x04, 0x3c, 0x44, 0x44, 0x44, 0x3c, 0x00, -0x00, 0x00, 0x38, 0x44, 0x7c, 0x40, 0x3c, 0x00, -0x18, 0x24, 0x20, 0x78, 0x20, 0x20, 0x20, 0x00, -0x00, 0x00, 0x38, 0x44, 0x44, 0x3c, 0x04, 0x38, -0x40, 0x40, 0x78, 0x44, 0x44, 0x44, 0x44, 0x00, -0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x38, 0x00, -0x08, 0x00, 0x18, 0x08, 0x08, 0x08, 0x48, 0x30, -0x40, 0x40, 0x44, 0x48, 0x70, 0x48, 0x44, 0x00, -0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, -0x00, 0x00, 0x6c, 0x54, 0x54, 0x54, 0x44, 0x00, -0x00, 0x00, 0x78, 0x44, 0x44, 0x44, 0x44, 0x00, -0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x00, 0x00, 0x78, 0x44, 0x44, 0x78, 0x40, 0x40, -0x00, 0x00, 0x3c, 0x44, 0x44, 0x3c, 0x04, 0x04, -0x00, 0x00, 0x5c, 0x60, 0x40, 0x40, 0x40, 0x00, -0x00, 0x00, 0x3c, 0x40, 0x38, 0x04, 0x78, 0x00, -0x20, 0x20, 0x78, 0x20, 0x20, 0x24, 0x18, 0x00, -0x00, 0x00, 0x44, 0x44, 0x44, 0x4c, 0x34, 0x00, -0x00, 0x00, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, -0x00, 0x00, 0x44, 0x44, 0x54, 0x54, 0x6c, 0x00, -0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x00, 0x00, 0x44, 0x44, 0x44, 0x3c, 0x04, 0x38, -0x00, 0x00, 0x7c, 0x08, 0x10, 0x20, 0x7c, 0x00, -0x1c, 0x30, 0x30, 0x60, 0x30, 0x30, 0x1c, 0x00, -0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, -0x70, 0x18, 0x18, 0x0c, 0x18, 0x18, 0x70, 0x00, -0x34, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x54, 0x28, 0x54, 0x28, 0x54, 0x00, 0x00, +0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00, +0x00, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, +0x00, 0x66, 0xFF, 0x66, 0x66, 0xFF, 0x66, 0x00, +0x18, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x18, 0x00, +0x00, 0x66, 0x6C, 0x18, 0x30, 0x66, 0x46, 0x00, +0x1C, 0x36, 0x1C, 0x38, 0x6F, 0x66, 0x3B, 0x00, +0x00, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0E, 0x1C, 0x18, 0x18, 0x1C, 0x0E, 0x00, +0x00, 0x70, 0x38, 0x18, 0x18, 0x38, 0x70, 0x00, +0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, +0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, +0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, +0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x40, 0x00, +0x00, 0x3C, 0x66, 0x6E, 0x76, 0x66, 0x3C, 0x00, +0x00, 0x18, 0x38, 0x18, 0x18, 0x18, 0x7E, 0x00, +0x00, 0x3C, 0x66, 0x0C, 0x18, 0x30, 0x7E, 0x00, +0x00, 0x7E, 0x0C, 0x18, 0x0C, 0x66, 0x3C, 0x00, +0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0x7E, 0x0C, 0x00, +0x00, 0x7E, 0x60, 0x7C, 0x06, 0x66, 0x3C, 0x00, +0x00, 0x3C, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00, +0x00, 0x7E, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x00, +0x00, 0x3C, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00, +0x00, 0x3C, 0x66, 0x3E, 0x06, 0x0C, 0x38, 0x00, +0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, +0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x30, +0x06, 0x0C, 0x18, 0x30, 0x18, 0x0C, 0x06, 0x00, +0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, +0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, +0x00, 0x3C, 0x66, 0x0C, 0x18, 0x00, 0x18, 0x00, +0x00, 0x3C, 0x66, 0x6E, 0x6E, 0x60, 0x3E, 0x00, +0x00, 0x18, 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x00, +0x00, 0x7C, 0x66, 0x7C, 0x66, 0x66, 0x7C, 0x00, +0x00, 0x3C, 0x66, 0x60, 0x60, 0x66, 0x3C, 0x00, +0x00, 0x78, 0x6C, 0x66, 0x66, 0x6C, 0x78, 0x00, +0x00, 0x7E, 0x60, 0x7C, 0x60, 0x60, 0x7E, 0x00, +0x00, 0x7E, 0x60, 0x7C, 0x60, 0x60, 0x60, 0x00, +0x00, 0x3E, 0x60, 0x60, 0x6E, 0x66, 0x3E, 0x00, +0x00, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00, +0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, +0x00, 0x06, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00, +0x00, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x00, +0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x00, +0x00, 0x63, 0x77, 0x7F, 0x6B, 0x63, 0x63, 0x00, +0x00, 0x66, 0x76, 0x7E, 0x7E, 0x6E, 0x66, 0x00, +0x00, 0x3C, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, +0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, +0x00, 0x3C, 0x66, 0x66, 0x66, 0x6C, 0x36, 0x00, +0x00, 0x7C, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x00, +0x00, 0x3C, 0x60, 0x3C, 0x06, 0x06, 0x3C, 0x00, +0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, +0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x00, +0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, +0x00, 0x63, 0x63, 0x6B, 0x7F, 0x77, 0x63, 0x00, +0x00, 0x66, 0x66, 0x3C, 0x3C, 0x66, 0x66, 0x00, +0x00, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00, +0x00, 0x7E, 0x0C, 0x18, 0x30, 0x60, 0x7E, 0x00, +0x00, 0x1E, 0x18, 0x18, 0x18, 0x18, 0x1E, 0x00, +0x00, 0x40, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, +0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00, +0x00, 0x08, 0x1C, 0x36, 0x63, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, +0x00, 0x18, 0x3C, 0x7E, 0x7E, 0x3C, 0x18, 0x00, +0x00, 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00, +0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x7C, 0x00, +0x00, 0x00, 0x3C, 0x60, 0x60, 0x60, 0x3C, 0x00, +0x00, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x3E, 0x00, +0x00, 0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3C, 0x00, +0x00, 0x0E, 0x18, 0x3E, 0x18, 0x18, 0x18, 0x00, +0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x7C, +0x00, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x00, +0x00, 0x18, 0x00, 0x38, 0x18, 0x18, 0x3C, 0x00, +0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x3C, +0x00, 0x60, 0x60, 0x6C, 0x78, 0x6C, 0x66, 0x00, +0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, +0x00, 0x00, 0x66, 0x7F, 0x7F, 0x6B, 0x63, 0x00, +0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, +0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00, +0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, +0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06, +0x00, 0x00, 0x7C, 0x66, 0x60, 0x60, 0x60, 0x00, +0x00, 0x00, 0x3E, 0x60, 0x3C, 0x06, 0x7C, 0x00, +0x00, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x0E, 0x00, +0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3E, 0x00, +0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, +0x00, 0x00, 0x63, 0x6B, 0x7F, 0x3E, 0x36, 0x00, +0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, +0x00, 0x00, 0x66, 0x66, 0x66, 0x3E, 0x0C, 0x78, +0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30, 0x7E, 0x00, +0x00, 0x18, 0x3C, 0x7E, 0x7E, 0x18, 0x3C, 0x00, +0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, +0x00, 0x7E, 0x78, 0x7C, 0x6E, 0x66, 0x06, 0x00, +0x08, 0x18, 0x38, 0x78, 0x38, 0x18, 0x08, 0x00, +0x10, 0x18, 0x1C, 0x1E, 0x1C, 0x18, 0x10, 0x00, +0xFF, 0xC9, 0x80, 0x80, 0xC1, 0xE3, 0xF7, 0xFF, +0xE7, 0xE7, 0xE7, 0xE0, 0xE0, 0xE7, 0xE7, 0xE7, +0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, +0xE7, 0xE7, 0xE7, 0x07, 0x07, 0xFF, 0xFF, 0xFF, +0xE7, 0xE7, 0xE7, 0x07, 0x07, 0xE7, 0xE7, 0xE7, +0xFF, 0xFF, 0xFF, 0x07, 0x07, 0xE7, 0xE7, 0xE7, +0xFC, 0xF8, 0xF1, 0xE3, 0xC7, 0x8F, 0x1F, 0x3F, +0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, +0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, +0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, +0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, +0x0F, 0x0F, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, +0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, +0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, +0xFF, 0xE3, 0xE3, 0x88, 0x88, 0xF7, 0xE3, 0xFF, +0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE7, 0xE7, 0xE7, +0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0xE7, 0xE7, 0xE7, 0x00, 0x00, 0xE7, 0xE7, 0xE7, +0xFF, 0xFF, 0xC3, 0x81, 0x81, 0x81, 0xC3, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, +0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, +0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xE7, 0xE7, 0xE7, +0xE7, 0xE7, 0xE7, 0x00, 0x00, 0xFF, 0xFF, 0xFF, +0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, +0xE7, 0xE7, 0xE7, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, +0x87, 0x9F, 0x87, 0x9F, 0x81, 0xE7, 0xE1, 0xFF, +0xFF, 0xE7, 0xC3, 0x81, 0xE7, 0xE7, 0xE7, 0xFF, +0xFF, 0xE7, 0xE7, 0xE7, 0x81, 0xC3, 0xE7, 0xFF, +0xFF, 0xE7, 0xCF, 0x81, 0xCF, 0xE7, 0xFF, 0xFF, +0xFF, 0xE7, 0xF3, 0x81, 0xF3, 0xE7, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF, 0xE7, 0xFF, +0xFF, 0x99, 0x99, 0x99, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x99, 0x00, 0x99, 0x99, 0x00, 0x99, 0xFF, +0xE7, 0xC1, 0x9F, 0xC3, 0xF9, 0x83, 0xE7, 0xFF, +0xFF, 0x99, 0x93, 0xE7, 0xCF, 0x99, 0xB9, 0xFF, +0xE3, 0xC9, 0xE3, 0xC7, 0x90, 0x99, 0xC4, 0xFF, +0xFF, 0xE7, 0xE7, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xF1, 0xE3, 0xE7, 0xE7, 0xE3, 0xF1, 0xFF, +0xFF, 0x8F, 0xC7, 0xE7, 0xE7, 0xC7, 0x8F, 0xFF, +0xFF, 0x99, 0xC3, 0x00, 0xC3, 0x99, 0xFF, 0xFF, +0xFF, 0xE7, 0xE7, 0x81, 0xE7, 0xE7, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE7, 0xCF, +0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE7, 0xFF, +0xFF, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0xBF, 0xFF, +0xFF, 0xC3, 0x99, 0x91, 0x89, 0x99, 0xC3, 0xFF, +0xFF, 0xE7, 0xC7, 0xE7, 0xE7, 0xE7, 0x81, 0xFF, +0xFF, 0xC3, 0x99, 0xF3, 0xE7, 0xCF, 0x81, 0xFF, +0xFF, 0x81, 0xF3, 0xE7, 0xF3, 0x99, 0xC3, 0xFF, +0xFF, 0xF3, 0xE3, 0xC3, 0x93, 0x81, 0xF3, 0xFF, +0xFF, 0x81, 0x9F, 0x83, 0xF9, 0x99, 0xC3, 0xFF, +0xFF, 0xC3, 0x9F, 0x83, 0x99, 0x99, 0xC3, 0xFF, +0xFF, 0x81, 0xF9, 0xF3, 0xE7, 0xCF, 0xCF, 0xFF, +0xFF, 0xC3, 0x99, 0xC3, 0x99, 0x99, 0xC3, 0xFF, +0xFF, 0xC3, 0x99, 0xC1, 0xF9, 0xF3, 0xC7, 0xFF, +0xFF, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xFF, +0xFF, 0xFF, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0xCF, +0xF9, 0xF3, 0xE7, 0xCF, 0xE7, 0xF3, 0xF9, 0xFF, +0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, +0x9F, 0xCF, 0xE7, 0xF3, 0xE7, 0xCF, 0x9F, 0xFF, +0xFF, 0xC3, 0x99, 0xF3, 0xE7, 0xFF, 0xE7, 0xFF, +0xFF, 0xC3, 0x99, 0x91, 0x91, 0x9F, 0xC1, 0xFF, +0xFF, 0xE7, 0xC3, 0x99, 0x99, 0x81, 0x99, 0xFF, +0xFF, 0x83, 0x99, 0x83, 0x99, 0x99, 0x83, 0xFF, +0xFF, 0xC3, 0x99, 0x9F, 0x9F, 0x99, 0xC3, 0xFF, +0xFF, 0x87, 0x93, 0x99, 0x99, 0x93, 0x87, 0xFF, +0xFF, 0x81, 0x9F, 0x83, 0x9F, 0x9F, 0x81, 0xFF, +0xFF, 0x81, 0x9F, 0x83, 0x9F, 0x9F, 0x9F, 0xFF, +0xFF, 0xC1, 0x9F, 0x9F, 0x91, 0x99, 0xC1, 0xFF, +0xFF, 0x99, 0x99, 0x81, 0x99, 0x99, 0x99, 0xFF, +0xFF, 0x81, 0xE7, 0xE7, 0xE7, 0xE7, 0x81, 0xFF, +0xFF, 0xF9, 0xF9, 0xF9, 0xF9, 0x99, 0xC3, 0xFF, +0xFF, 0x99, 0x93, 0x87, 0x87, 0x93, 0x99, 0xFF, +0xFF, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x81, 0xFF, +0xFF, 0x9C, 0x88, 0x80, 0x94, 0x9C, 0x9C, 0xFF, +0xFF, 0x99, 0x89, 0x81, 0x81, 0x91, 0x99, 0xFF, +0xFF, 0xC3, 0x99, 0x99, 0x99, 0x99, 0xC3, 0xFF, +0xFF, 0x83, 0x99, 0x99, 0x83, 0x9F, 0x9F, 0xFF, +0xFF, 0xC3, 0x99, 0x99, 0x99, 0x93, 0xC9, 0xFF, +0xFF, 0x83, 0x99, 0x99, 0x83, 0x93, 0x99, 0xFF, +0xFF, 0xC3, 0x9F, 0xC3, 0xF9, 0xF9, 0xC3, 0xFF, +0xFF, 0x81, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF, +0xFF, 0x99, 0x99, 0x99, 0x99, 0x99, 0x81, 0xFF, +0xFF, 0x99, 0x99, 0x99, 0x99, 0xC3, 0xE7, 0xFF, +0xFF, 0x9C, 0x9C, 0x94, 0x80, 0x88, 0x9C, 0xFF, +0xFF, 0x99, 0x99, 0xC3, 0xC3, 0x99, 0x99, 0xFF, +0xFF, 0x99, 0x99, 0xC3, 0xE7, 0xE7, 0xE7, 0xFF, +0xFF, 0x81, 0xF3, 0xE7, 0xCF, 0x9F, 0x81, 0xFF, +0xFF, 0xE1, 0xE7, 0xE7, 0xE7, 0xE7, 0xE1, 0xFF, +0xFF, 0xBF, 0x9F, 0xCF, 0xE7, 0xF3, 0xF9, 0xFF, +0xFF, 0x87, 0xE7, 0xE7, 0xE7, 0xE7, 0x87, 0xFF, +0xFF, 0xF7, 0xE3, 0xC9, 0x9C, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, +0xFF, 0xE7, 0xC3, 0x81, 0x81, 0xC3, 0xE7, 0xFF, +0xFF, 0xFF, 0xC3, 0xF9, 0xC1, 0x99, 0xC1, 0xFF, +0xFF, 0x9F, 0x9F, 0x83, 0x99, 0x99, 0x83, 0xFF, +0xFF, 0xFF, 0xC3, 0x9F, 0x9F, 0x9F, 0xC3, 0xFF, +0xFF, 0xF9, 0xF9, 0xC1, 0x99, 0x99, 0xC1, 0xFF, +0xFF, 0xFF, 0xC3, 0x99, 0x81, 0x9F, 0xC3, 0xFF, +0xFF, 0xF1, 0xE7, 0xC1, 0xE7, 0xE7, 0xE7, 0xFF, +0xFF, 0xFF, 0xC1, 0x99, 0x99, 0xC1, 0xF9, 0x83, +0xFF, 0x9F, 0x9F, 0x83, 0x99, 0x99, 0x99, 0xFF, +0xFF, 0xE7, 0xFF, 0xC7, 0xE7, 0xE7, 0xC3, 0xFF, +0xFF, 0xF9, 0xFF, 0xF9, 0xF9, 0xF9, 0xF9, 0xC3, +0xFF, 0x9F, 0x9F, 0x93, 0x87, 0x93, 0x99, 0xFF, +0xFF, 0xC7, 0xE7, 0xE7, 0xE7, 0xE7, 0xC3, 0xFF, +0xFF, 0xFF, 0x99, 0x80, 0x80, 0x94, 0x9C, 0xFF, +0xFF, 0xFF, 0x83, 0x99, 0x99, 0x99, 0x99, 0xFF, +0xFF, 0xFF, 0xC3, 0x99, 0x99, 0x99, 0xC3, 0xFF, +0xFF, 0xFF, 0x83, 0x99, 0x99, 0x83, 0x9F, 0x9F, +0xFF, 0xFF, 0xC1, 0x99, 0x99, 0xC1, 0xF9, 0xF9, +0xFF, 0xFF, 0x83, 0x99, 0x9F, 0x9F, 0x9F, 0xFF, +0xFF, 0xFF, 0xC1, 0x9F, 0xC3, 0xF9, 0x83, 0xFF, +0xFF, 0xE7, 0x81, 0xE7, 0xE7, 0xE7, 0xF1, 0xFF, +0xFF, 0xFF, 0x99, 0x99, 0x99, 0x99, 0xC1, 0xFF, +0xFF, 0xFF, 0x99, 0x99, 0x99, 0xC3, 0xE7, 0xFF, +0xFF, 0xFF, 0x9C, 0x94, 0x80, 0xC1, 0xC9, 0xFF, +0xFF, 0xFF, 0x99, 0xC3, 0xE7, 0xC3, 0x99, 0xFF, +0xFF, 0xFF, 0x99, 0x99, 0x99, 0xC1, 0xF3, 0x87, +0xFF, 0xFF, 0x81, 0xF3, 0xE7, 0xCF, 0x81, 0xFF, +0xFF, 0xE7, 0xC3, 0x81, 0x81, 0xE7, 0xC3, 0xFF, +0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, +0xFF, 0x81, 0x87, 0x83, 0x91, 0x99, 0xF9, 0xFF, +0xF7, 0xE7, 0xC7, 0x87, 0xC7, 0xE7, 0xF7, 0xFF, +0xEF, 0xE7, 0xE3, 0xE1, 0xE3, 0xE7, 0xEF, 0xFF, }; - -/* Well, this is finally done ! */ diff --git a/libretro/graph.c b/libretro/graph.c index 55e1fef..5cfe819 100755 --- a/libretro/graph.c +++ b/libretro/graph.c @@ -8,6 +8,24 @@ #include "libretro-core.h" extern int VIRTUAL_WIDTH; +extern int VKBD_OPACITY; + +unsigned Opacity(unsigned color1, unsigned color2){ + + unsigned r,g,b; + + if (VKBD_OPACITY==1){ + r=(R_RGB565(color1)/2)+(R_RGB565(color2)/2); + g=(G_RGB565(color1)/2)+(G_RGB565(color2)/2); + b=(B_RGB565(color1)/2)+(B_RGB565(color2)/2); + return RGB565(r,g,b); + } + else + { + return color2; + } + +} void DrawFBoxBmp(char *buffer,int x,int y,int dx,int dy,unsigned color){ @@ -24,7 +42,7 @@ unsigned short *mbuffer=(unsigned short *)buffer; for(j=y;j= dx) { y -= dx; @@ -297,7 +315,8 @@ unsigned char *mbuffer=(unsigned char *)surf; #endif if(string==NULL)return; - for(strlen = 0; strlenmaxstrlen) strlen = maxstrlen; int surfw=strlen * 7 * xscale; int surfh=8 * yscale; @@ -342,7 +361,7 @@ unsigned char *mbuffer=(unsigned char *)surf; for(yrepeat = y; yrepeat < y+ surfh; yrepeat++) for(xrepeat = x; xrepeat< x+surfw; xrepeat++,yptr++) - if(*yptr!=0)mbuffer[xrepeat+yrepeat*VIRTUAL_WIDTH] = *yptr; + if(*yptr!=0)mbuffer[xrepeat+yrepeat*VIRTUAL_WIDTH] = Opacity(mbuffer[xrepeat+yrepeat*VIRTUAL_WIDTH],*yptr); free(linesurf); diff --git a/libretro/libretro-core.c b/libretro/libretro-core.c index eeb89d1..8f9c24e 100644 --- a/libretro/libretro-core.c +++ b/libretro/libretro-core.c @@ -564,7 +564,7 @@ void retro_init(void) { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_A, "Fire 1" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_B, "Return" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_X, "Fire 2" }, - { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_Y, "Y" }, + { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_Y, "Help" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_SELECT, "Select" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_START, "Start" }, { 0, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_RIGHT, "Right" }, diff --git a/libretro/libretro-core.h b/libretro/libretro-core.h index 3563680..329e49b 100644 --- a/libretro/libretro-core.h +++ b/libretro/libretro-core.h @@ -42,7 +42,7 @@ extern char Key_Sate2[512]; extern int pauseg; #define NPLGN 12 -#define NLIGN 5 +#define NLIGN 6 #define NLETT 5 #define XSIDE (CROP_WIDTH/NPLGN -1) @@ -58,11 +58,20 @@ extern int pauseg; #ifndef RENDER16B #define RGB565(r, g, b) (((r) << (5+16)) | ((g) << (5+8)) | (b<<5)) +#define R_RGB565(rgb) (((rgb) >> (5+16)) & 255) +#define G_RGB565(rgb) (((rgb) >> (5+8)) & 255) +#define B_RGB565(rgb) ((rgb>>5) & 255) #else #if defined(ABGR1555) #define RGB565(r, g, b) (((b) << (10)) | ((g) << 5) | (r)) +#define B_RGB565(rgb) (((rgb) >> (10)) & 31) +#define G_RGB565(rgb) (((rgb) >> 5) & 31) +#define R_RGB565(rgb) (rgb & 31) #else #define RGB565(r, g, b) (((r) << (5+6)) | ((g) << 6) | (b)) +#define R_RGB565(rgb) (((rgb) >> (5+6)) & 31) +#define G_RGB565(rgb) (((rgb) >> 6) & 31) +#define B_RGB565(rgb) (rgb & 31) #endif #endif #define uint32 unsigned int diff --git a/libretro/platform.c b/libretro/platform.c index 060760b..c7bda7b 100644 --- a/libretro/platform.c +++ b/libretro/platform.c @@ -44,6 +44,8 @@ extern char Key_Sate[512]; #include "libretro.h" #include "retroscreen.h" +extern int SHIFTON; +extern int CTRLON; extern int UI_is_active; static int swap_joysticks = FALSE; @@ -193,13 +195,15 @@ int PLATFORM_Keyboard(void) } /* SHIFT STATE */ - if ((Key_Sate[RETROK_LSHIFT]) || (Key_Sate[RETROK_RSHIFT])) + //if ((Key_Sate[RETROK_LSHIFT]) || (Key_Sate[RETROK_RSHIFT])) + if (SHIFTON == 1) INPUT_key_shift = 1; else INPUT_key_shift = 0; /* CONTROL STATE */ - if ((Key_Sate[RETROK_LCTRL]) || (Key_Sate[RETROK_RCTRL])) + //if ((Key_Sate[RETROK_LCTRL]) || (Key_Sate[RETROK_RCTRL])) + if (CTRLON == 1) key_control = 1; else key_control = 0; @@ -221,13 +225,6 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_F5]) return INPUT_key_shift ? AKEY_COLDSTART : AKEY_WARMSTART; - if (Key_Sate[RETROK_F8]){ - UI_alt_function = UI_MENU_MONITOR; - } - - if (Key_Sate[RETROK_F9])return AKEY_EXIT; - - if (Key_Sate[RETROK_F10])return INPUT_key_shift ? AKEY_SCREENSHOT_INTERLACE : AKEY_SCREENSHOT; if (Key_Sate[RETROK_F12])return AKEY_TURBO; @@ -300,7 +297,7 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_HOME]) return key_control ? AKEY_LESS|shiftctrl : AKEY_CLEAR; - if (Key_Sate[RETROK_PAUSE] || Key_Sate[RETROK_F7] ) + if (Key_Sate[RETROK_PAUSE]) { if (BINLOAD_wait_active) { BINLOAD_pause_loading = TRUE; @@ -319,8 +316,14 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_SPACE]) return AKEY_SPACE ^ shiftctrl; - if (Key_Sate[RETROK_BACKSPACE]) - return AKEY_BACKSPACE|shiftctrl; + if (Key_Sate[RETROK_BACKSPACE]){ + if (INPUT_key_shift) + return AKEY_DELETE_CHAR; + else if (key_control) + return AKEY_DELETE_LINE; + else + return AKEY_BACKSPACE; + } if (Key_Sate[RETROK_RETURN]) return AKEY_RETURN ^ shiftctrl; @@ -458,6 +461,18 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_COMMA])return (AKEY_CTRL | AKEY_COMMA); if (Key_Sate[RETROK_PERIOD])return (AKEY_CTRL | AKEY_FULLSTOP); if (Key_Sate[RETROK_SEMICOLON])return (AKEY_CTRL | AKEY_SEMICOLON); + + if (Key_Sate[RETROK_F7])return (AKEY_CTRL | AKEY_F1); + if (Key_Sate[RETROK_F8])return (AKEY_CTRL | AKEY_F2); + if (Key_Sate[RETROK_F9])return (AKEY_CTRL | AKEY_F3); + if (Key_Sate[RETROK_F10])return (AKEY_CTRL | AKEY_F4); + + // cursor keys + if (Key_Sate[RETROK_PLUS])return AKEY_LEFT; + if (Key_Sate[RETROK_ASTERISK])return AKEY_RIGHT; + if (Key_Sate[RETROK_EQUALS])return AKEY_DOWN; + if (Key_Sate[RETROK_UNDERSCORE])return AKEY_UP; + } @@ -492,26 +507,35 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_z])return AKEY_Z; if (Key_Sate[RETROK_1])return AKEY_EXCLAMATION; - if (Key_Sate[RETROK_2])return AKEY_AT; + if (Key_Sate[RETROK_2])return AKEY_DBLQUOTE; if (Key_Sate[RETROK_3])return AKEY_HASH; if (Key_Sate[RETROK_4])return AKEY_DOLLAR; if (Key_Sate[RETROK_5])return AKEY_PERCENT; - if (Key_Sate[RETROK_6])return AKEY_CARET; - if (Key_Sate[RETROK_7])return AKEY_AMPERSAND; - if (Key_Sate[RETROK_8])return AKEY_ASTERISK; + if (Key_Sate[RETROK_6])return AKEY_AMPERSAND; + if (Key_Sate[RETROK_7])return AKEY_QUOTE; + if (Key_Sate[RETROK_8])return AKEY_AT; if (Key_Sate[RETROK_9])return AKEY_PARENLEFT; if (Key_Sate[RETROK_0])return AKEY_PARENRIGHT; if (Key_Sate[RETROK_BACKSLASH])return AKEY_BAR; - if (Key_Sate[RETROK_COMMA])return AKEY_LESS; - if (Key_Sate[RETROK_PERIOD])return AKEY_GREATER; - if (Key_Sate[RETROK_MINUS])return AKEY_UNDERSCORE; - if (Key_Sate[RETROK_EQUALS])return AKEY_PLUS; + if (Key_Sate[RETROK_COMMA])return AKEY_BRACKETLEFT; + if (Key_Sate[RETROK_PERIOD])return AKEY_BRACKETRIGHT; + if (Key_Sate[RETROK_UNDERSCORE])return AKEY_MINUS; + if (Key_Sate[RETROK_PLUS])return AKEY_BACKSLASH; + if (Key_Sate[RETROK_EQUALS])return AKEY_BAR; if (Key_Sate[RETROK_LEFTBRACKET])return AKEY_BRACKETLEFT; // no curly braces on Atari if (Key_Sate[RETROK_RIGHTBRACKET])return AKEY_BRACKETRIGHT; // no curly braces on Atari if (Key_Sate[RETROK_SEMICOLON])return AKEY_COLON; if (Key_Sate[RETROK_QUOTE])return AKEY_DBLQUOTE; if (Key_Sate[RETROK_SLASH])return AKEY_QUESTION; + if (Key_Sate[RETROK_ASTERISK])return AKEY_CIRCUMFLEX; + if (Key_Sate[RETROK_LESS])return AKEY_LESS; + if (Key_Sate[RETROK_GREATER])return AKEY_GREATER; + + if (Key_Sate[RETROK_F7])return (AKEY_SHFT | AKEY_F1); + if (Key_Sate[RETROK_F8])return (AKEY_SHFT | AKEY_F2); + if (Key_Sate[RETROK_F9])return (AKEY_SHFT | AKEY_F3); + if (Key_Sate[RETROK_F10])return (AKEY_SHFT | AKEY_F4); } else { if (Key_Sate[RETROK_a])return AKEY_a; @@ -556,12 +580,22 @@ int PLATFORM_Keyboard(void) if (Key_Sate[RETROK_COMMA])return AKEY_COMMA; if (Key_Sate[RETROK_PERIOD])return AKEY_FULLSTOP; if (Key_Sate[RETROK_MINUS])return AKEY_MINUS; + if (Key_Sate[RETROK_PLUS])return AKEY_PLUS; if (Key_Sate[RETROK_EQUALS])return AKEY_EQUAL; if (Key_Sate[RETROK_LEFTBRACKET])return AKEY_BRACKETLEFT; if (Key_Sate[RETROK_RIGHTBRACKET])return AKEY_BRACKETRIGHT; if (Key_Sate[RETROK_SEMICOLON])return AKEY_SEMICOLON; if (Key_Sate[RETROK_QUOTE])return AKEY_QUOTE; if (Key_Sate[RETROK_SLASH])return AKEY_SLASH; + if (Key_Sate[RETROK_ASTERISK])return AKEY_ASTERISK; + if (Key_Sate[RETROK_LESS])return AKEY_LESS; + if (Key_Sate[RETROK_GREATER])return AKEY_GREATER; + if (Key_Sate[RETROK_UNDERSCORE])return AKEY_UNDERSCORE; + + if (Key_Sate[RETROK_F7])return AKEY_F1; + if (Key_Sate[RETROK_F8])return AKEY_F2; + if (Key_Sate[RETROK_F9])return AKEY_F3; + if (Key_Sate[RETROK_F10])return AKEY_F4; } @@ -581,6 +615,8 @@ int PLATFORM_Keyboard(void) return AKEY_ESCAPE; if (mbt[RETRO_DEVICE_ID_JOYPAD_B]) return AKEY_RETURN; + if (mbt[RETRO_DEVICE_ID_JOYPAD_Y]) + return AKEY_HELP; } if (UI_is_active){ diff --git a/libretro/vkbd.c b/libretro/vkbd.c index 3e0fbe5..752fa6a 100644 --- a/libretro/vkbd.c +++ b/libretro/vkbd.c @@ -10,6 +10,7 @@ extern int NPAGE; extern int KCOL; extern int BKGCOLOR; extern int SHIFTON; +extern int CTRLON; void virtual_kdb(char *buffer,int vx,int vy) { @@ -23,7 +24,7 @@ unsigned *pix=(unsigned*)buffer; unsigned short *pix=(unsigned short *)buffer; #endif - page = (NPAGE == -1) ? 0 : 5*NPLGN; + page = (NPAGE == -1) ? 0 : NLIGN*NPLGN; coul = RGB565(28, 28, 31); BKGCOLOR = (KCOL>0?0xFF808080:0); @@ -33,15 +34,55 @@ unsigned short *pix=(unsigned short *)buffer; for(y=0;y" ,RETROK_PERIOD}, - { " /" ," ?" ,RETROK_SLASH}, - { " \\"," \\" ,RETROK_BACKSLASH}, - { "SHFT" ,"SHFT" ,0x25}, + { "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, // page 1, line 4 + { " a ", " A ", "A \x01", RETROK_a}, + { " s ", " S ", "S \x13", RETROK_s}, + { " d ", " D ", "D \x04", RETROK_d}, + { " f ", " F ", "F \x06", RETROK_f}, + { " g ", " G ", "G \x07", RETROK_g}, + { " h ", " H ", "H \x08", RETROK_h}, + { " j ", " J ", "J \x0a", RETROK_j}, + { " k ", " K ", "K \x0b", RETROK_k}, + { " l ", " L ", "L \x0c", RETROK_l}, + { " ; ", " : ", "; \x7b", RETROK_SEMICOLON}, + { "Cap", "Cap", "Cap", RETROK_CAPSLOCK}, - { "PG2","PG2" ,-2}, //40+8 - { "TAB","TAB" ,0x54}, - { "CPSL" ,"CPSL" ,0x86}, - { "RET" ,"RET" ,0x22}, - { "DEL" ,"DEL" ,0x97}, - { "CTRL" ,"CTRL" ,0x27}, - { "CLR" ,"CLR" , 0x20}, - { "Spc" ,"Spc",0x57}, - { "= " ,"= " ,RETROK_EQUALS}, - { " *" ," *", RETROK_ASTERISK}, - { "# " ,"# " ,RETROK_HASH}, - { "Ent" ,"Ent",0x06}, + { "Shf", "Shf", "Shf", RETROK_LSHIFT}, // page 1, line 5 + { " z ", " Z ", "Z \x1a", RETROK_z}, + { " x ", " X ", "X \x18", RETROK_x}, + { " c ", " C ", "C \x03", RETROK_c}, + { " v ", " V ", "V \x16", RETROK_v}, + { " b ", " B ", "B \x02", RETROK_b}, + { " n ", " N ", "N \x0e", RETROK_n}, + { " m ", " M ", "M \x0d", RETROK_m}, + { " , ", " [ ", ", \x00", RETROK_COMMA}, + { " . ", " ] ", ". \x60", RETROK_PERIOD}, + { " \x9c ", " \x9c ", " \x9c ", RETROK_UP}, + { "Inv", "Inv", "Inv", RETROK_LSUPER}, + + { "OPC", "OPC", "OPC", -5}, // page 1, line 6 + { "Spc", "Spc", "Spc", RETROK_SPACE}, + { " + ", " \\ ", " \x1e ", RETROK_PLUS}, + { " _ ", " - ", " \x1c ", RETROK_UNDERSCORE}, + { " = ", " | ", " \x1d ", RETROK_EQUALS}, + { " * ", " ^ ", " \x1f ", RETROK_ASTERISK}, + { " / ", " ? ", " / ", RETROK_SLASH}, + { " < ", " < ", " < ", RETROK_LESS}, + { " > ", " > ", " > ", RETROK_GREATER}, + { " \x9e ", " \x9e ", " \x9e ", RETROK_LEFT}, + { " \x9d ", " \x9d ", " \x9d ", RETROK_DOWN}, + { " \x9f ", " \x9f ", " \x9f ", RETROK_RIGHT}, - { "ESC" ,"ESC" ,RETROK_ESCAPE },//50+1° - { " 1" ," !" , RETROK_1 },//0 - { " 2" ," \"" ,RETROK_2 }, - { " 3" ," #" ,RETROK_3 }, - { " 4" ," $" ,RETROK_4 }, - { " 5" ," %" ,RETROK_5 }, - { " 6" ," &" ,RETROK_6 }, - { " 7" ," \'" ,RETROK_7 }, - { " 8" ," (" ,RETROK_8 }, - { " 9" ," )" ,RETROK_9 }, - { " 0" ," _" ,RETROK_0 }, - { " ^" ,"Pnd" ,0x30 }, + { "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 2, line 1 + { "HLP", "HLP", "HLP", RETROK_F6}, + { "STA", "STA", "STA", RETROK_F4}, + { "SEL", "SEL", "SEL", RETROK_F3}, + { "OPT", "OPT", "OPT", RETROK_F2}, + { "RES", "RES", "RES", RETROK_F5}, + { " F1", " F1", " F1", RETROK_F7}, + { " F2", " F2", " F2", RETROK_F8}, + { " F3", " F3", " F3", RETROK_F9}, + { " F4", " F4", " F4", RETROK_F10}, + { "GUI", "GUI", "GUI", RETROK_F1}, + { "Brk", "Brk", "Brk", RETROK_PAUSE}, - { " F7" ," F7" ,RETROK_F7}, //60+12 - { " F8" ," F8" ,RETROK_F8}, - { " F9" ," F9" ,RETROK_F9}, - { " F0" ," F0" ,RETROK_F10}, - { " t" ," T" ,0x63}, - { " /\\" ," /\\" ,0x00}, - { " u" ," U" ,0x52}, - { " i" ," I" ,0x43}, - { " o" ," O" ,0x42}, - { " p" ," P" ,0x33}, - { " @" ," |" ,0x32}, - { " [" ," [" ,0x21}, + { "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 2, line 2 + { "HLP", "HLP", "HLP", RETROK_F6}, + { "STA", "STA", "STA", RETROK_F4}, + { "SEL", "SEL", "SEL", RETROK_F3}, + { "OPT", "OPT", "OPT", RETROK_F2}, + { "RES", "RES", "RES", RETROK_F5}, + { " F1", " F1", " F1", RETROK_F7}, + { " F2", " F2", " F2", RETROK_F8}, + { " F3", " F3", " F3", RETROK_F9}, + { " F4", " F4", " F4", RETROK_F10}, + { "GUI", "GUI", "GUI", RETROK_F1}, + { "Brk", "Brk", "Brk", RETROK_PAUSE}, - { " F4" ," F4" ,RETROK_F4}, //70+14 - { " F5" ," F5" ,RETROK_F5}, - { " F6" ," F6" ,RETROK_F6}, - { " ." ," ." ,0x07}, - { " <-" ," <-" ,0x10}, - { "COPY" ,"COPY" ,0x11}, - { " ->" ," ->" ,0x01}, - { " r" ," R" ,RETROK_r}, - { " p" ," P" ,RETROK_p}, - { "= " ,"= " ,RETROK_EQUALS}, - { " *" ," *", RETROK_ASTERISK}, - { "# " ,"# " ,RETROK_HASH}, + { "Tab", "Tab", "Tab", RETROK_TAB}, // page 2, line 3 + { " q ", " Q ", "Q \x11", RETROK_q}, + { " w ", " W ", "W \x17", RETROK_w}, + { " e ", " E ", "E \x05", RETROK_e}, + { " r ", " R ", "R \x12", RETROK_r}, + { " \x9c ", " \x9c ", " \x9c ", RETROK_UP}, + { " y ", " Y ", "Y \x19", RETROK_y}, + { " u ", " U ", "U \x15", RETROK_u}, + { " i ", " I ", "I \x09", RETROK_i}, + { " o ", " O ", "O \x0f", RETROK_o}, + { " p ", " P ", "P \x10", RETROK_p}, + { "Ret", "Ret", "Ret", RETROK_RETURN}, - { " F1" ," F1" ,RETROK_F1},//80+16 - { " F2" ," F2" ,RETROK_F2}, - { " F3" ," F3" ,RETROK_F3}, - { "Ent" ,"Ent" ,0x06}, - { " b" ," B" ,0x66}, - { " \\/" ," \\/" ,0x02}, - { " m"," M" ,0x46}, - { " ,"," <" ,0x47}, - { " ."," >" ,0x37}, - { "TAPE" ,"TAPE" ,-8}, - { "EXIT","EXIT" ,-6}, - { "SNA" ,"SNA" ,-7}, + { "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, // page 2, line 4 + { " a ", " A ", "A \x01", RETROK_a}, + { " s ", " S ", "S \x13", RETROK_s}, + { " d ", " D ", "D \x04", RETROK_d}, + { " \x9e ", " \x9e ", " \x9e ", RETROK_LEFT}, + { "Ret", "Ret", "Ret", RETROK_RETURN}, + { " \x9f ", " \x9f ", " \x9f ", RETROK_RIGHT}, + { " j ", " J ", "J \x0a", RETROK_j}, + { " k ", " K ", "K \x0b", RETROK_k}, + { " l ", " L ", "L \x0c", RETROK_l}, + { " ; ", " : ", "; \x7b", RETROK_SEMICOLON}, + { "Cap", "Cap", "Cap", RETROK_CAPSLOCK}, + { "Shf", "Shf", "Shf", RETROK_LSHIFT}, // page 2, line 5 + { " z ", " Z ", "Z \x1a", RETROK_z}, + { " x ", " X ", "X \x18", RETROK_x}, + { " c ", " C ", "C \x03", RETROK_c}, + { " v ", " V ", "V \x16", RETROK_v}, + { " \x9d ", " \x9d ", " \x9d ", RETROK_DOWN}, + { " n ", " N ", "N \x0e", RETROK_n}, + { " m ", " M ", "M \x0d", RETROK_m}, + { " , ", " [ ", ", \x00", RETROK_COMMA}, + { " . ", " ] ", ". \x60", RETROK_PERIOD}, + { " / ", " ? ", " / ", RETROK_SLASH}, + { "Inv", "Inv", "Inv", RETROK_LSUPER}, - { "PG1","PG1" ,-2},//90+18 - { "DSK","DSK" ,-5}, - { "GUI","GUI" ,-13}, - { "COL" ,"COL",-3}, - { "CTRL" ,"CTRL" ,0x27}, - { "SPC" ,"SPC" ,0x57}, - { "SHFT" ,"SHFT" ,0x25}, - { "ESC","ESC",0x82}, - { "CLR" ,"CLR",0x20}, - { "DEL" ,"DEL",0x97}, - { "Ent" ,"Ent",0x22}, - { "KBD" ,"KBD",-4}, + { "PG1", "PG1", "PG1", -2}, // page 2, line 6 + { "Spc", "Spc", "Spc", RETROK_SPACE}, + { "Del", "Del", "Del", RETROK_DELETE}, + { "Clr", "Clr", "Clr", RETROK_HOME}, + { "Ins", "Ins", "Ins", RETROK_INSERT}, + { " + ", " \\ ", " \x1e ", RETROK_PLUS}, + { " _ ", " - ", " \x1c ", RETROK_UNDERSCORE}, + { " = ", " | ", " \x1d ", RETROK_EQUALS}, + { " * ", " ^ ", " \x1f ", RETROK_ASTERISK}, + { " < ", " < ", " < ", RETROK_LESS}, + { " > ", " > ", " > ", RETROK_GREATER}, + { "PG1", "PG1", "PG1", -2}, } ;