char menuErrorMsg[64] = { 0, };\r
\r
// PicoPad[] format: MXYZ SACB RLDU\r
-me_bind_action me_ctrl_actions[12] =\r
+me_bind_action me_ctrl_actions[15] =\r
{\r
- { "UP ", 0x001 },\r
- { "DOWN ", 0x002 },\r
- { "LEFT ", 0x004 },\r
- { "RIGHT ", 0x008 },\r
- { "A ", 0x040 },\r
- { "B ", 0x010 },\r
- { "C ", 0x020 },\r
- { "START ", 0x080 },\r
- { "MODE ", 0x800 },\r
- { "X ", 0x400 },\r
- { "Y ", 0x200 },\r
- { "Z ", 0x100 }\r
+ { "UP ", 0x0001 },\r
+ { "DOWN ", 0x0002 },\r
+ { "LEFT ", 0x0004 },\r
+ { "RIGHT ", 0x0008 },\r
+ { "A ", 0x0040 },\r
+ { "B ", 0x0010 },\r
+ { "C ", 0x0020 },\r
+ { "A turbo", 0x4000 },\r
+ { "B turbo", 0x1000 },\r
+ { "C turbo", 0x2000 },\r
+ { "START ", 0x0080 },\r
+ { "MODE ", 0x0800 },\r
+ { "X ", 0x0400 },\r
+ { "Y ", 0x0200 },\r
+ { "Z ", 0x0100 }\r
};\r
\r
\r
+#ifndef UIQ3\r
+\r
static unsigned char menu_font_data[10240];\r
static int menu_text_color = 0xffff; // default to white\r
static int menu_sel_color = -1; // disabled\r
}\r
}\r
\r
-const char *me_region_name(unsigned int code, int auto_order)\r
-{\r
- static const char *names[] = { "Auto", " Japan NTSC", " Japan PAL", " USA", " Europe" };\r
- static const char *names_short[] = { "", " JP", " JP", " US", " EU" };\r
- int u, i = 0;\r
- if (code) {\r
- code <<= 1;\r
- while((code >>= 1)) i++;\r
- if (i > 4) return "unknown";\r
- return names[i];\r
- } else {\r
- static char name[24];\r
- strcpy(name, "Auto:");\r
- for (u = 0; u < 3; u++) {\r
- i = 0; code = ((auto_order >> u*4) & 0xf) << 1;\r
- while((code >>= 1)) i++;\r
- strcat(name, names_short[i]);\r
- }\r
- return name;\r
- }\r
-}\r
-\r
// ------------ debug menu ------------\r
\r
#include <sys/stat.h>\r
{\r
int inp, mode = 0;\r
int spr_offs = 0, dumped = 0;\r
+ char *tmp;\r
\r
while (1)\r
{\r
switch (mode)\r
{\r
case 0: menu_draw_begin();\r
- draw_text_debug(PDebugMain(), 0, 0);\r
+ tmp = PDebugMain();\r
+ emu_platformDebugCat(tmp);\r
+ draw_text_debug(tmp, 0, 0);\r
if (dumped) {\r
smalltext_out16(SCREEN_WIDTH-6*10, SCREEN_HEIGHT-8, "dumped", 0xffff);\r
dumped = 0;\r
case 2: clear_screen();\r
emu_forcedFrame(0);\r
darken_screen();\r
- PDebugShowSpriteStats(SCREEN_BUFFER, SCREEN_WIDTH); break;\r
+ PDebugShowSpriteStats((unsigned short *)SCREEN_BUFFER + (SCREEN_HEIGHT/2 - 240/2)*SCREEN_WIDTH +\r
+ SCREEN_WIDTH/2 - 320/2, SCREEN_WIDTH); break;\r
case 3: clear_screen();\r
PDebugShowPalette(SCREEN_BUFFER, SCREEN_WIDTH);\r
PDebugShowSprite((unsigned short *)SCREEN_BUFFER + SCREEN_WIDTH*120+SCREEN_WIDTH/2+16,\r
if ((inp & (BTN_WEST|BTN_LEFT)) == (BTN_WEST|BTN_LEFT)) {\r
mkdir("dumps", 0777);\r
PDebugDumpMem();\r
+ while (inp & BTN_WEST) inp = read_buttons_async(BTN_WEST);\r
dumped = 1;\r
}\r
break;\r
if (inp & BTN_RIGHT) PicoDrawMask ^= PDRAW_LAYERA_ON;\r
if (inp & BTN_DOWN) PicoDrawMask ^= PDRAW_SPRITES_LOW_ON;\r
if (inp & BTN_UP) PicoDrawMask ^= PDRAW_SPRITES_HI_ON;\r
+ if (inp & BTN_EAST) {\r
+ PsndOut = NULL; // just in case\r
+ PicoSkipFrame = 1;\r
+ PicoFrame();\r
+ PicoSkipFrame = 0;\r
+ while (inp & BTN_EAST) inp = read_buttons_async(BTN_EAST);\r
+ }\r
break;\r
case 3:\r
if (inp & BTN_DOWN) spr_offs++;\r
}\r
}\r
\r
+#endif // !UIQ3\r
+\r
+// ------------ util ------------\r
+\r
+const char *me_region_name(unsigned int code, int auto_order)\r
+{\r
+ static const char *names[] = { "Auto", " Japan NTSC", " Japan PAL", " USA", " Europe" };\r
+ static const char *names_short[] = { "", " JP", " JP", " US", " EU" };\r
+ int u, i = 0;\r
+ if (code) {\r
+ code <<= 1;\r
+ while((code >>= 1)) i++;\r
+ if (i > 4) return "unknown";\r
+ return names[i];\r
+ } else {\r
+ static char name[24];\r
+ strcpy(name, "Auto:");\r
+ for (u = 0; u < 3; u++) {\r
+ i = 0; code = ((auto_order >> u*4) & 0xf) << 1;\r
+ while((code >>= 1)) i++;\r
+ strcat(name, names_short[i]);\r
+ }\r
+ return name;\r
+ }\r
+}\r
+\r
\r