#include "lprintf.h"\r
\r
#if defined(__GP2X__)\r
-#include "../gp2x/gp2x.h"\r
-#define SCREEN_WIDTH 320\r
-#define SCREEN_BUFFER gp2x_screen\r
+ #include "../gp2x/gp2x.h"\r
+ #define SCREEN_WIDTH 320\r
+ #define SCREEN_BUFFER gp2x_screen\r
#elif defined(__GIZ__)\r
-#include "../gizmondo/giz.h"\r
-#define SCREEN_WIDTH 321\r
-#define SCREEN_BUFFER giz_screen\r
+ //#include "../gizmondo/giz.h"\r
+ #define SCREEN_WIDTH 321\r
+ #define SCREEN_BUFFER menu_screen\r
+ extern unsigned char *menu_screen;\r
+#elif defined(PSP)\r
+ #include "../psp/psp.h"\r
+ #define SCREEN_WIDTH 512\r
+ #define SCREEN_BUFFER psp_screen\r
#endif\r
\r
+char menuErrorMsg[64] = { 0, };\r
+\r
+// PicoPad[] format: MXYZ SACB RLDU\r
+me_bind_action me_ctrl_actions[12] =\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
+};\r
+\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
char *endp = buff;\r
int t = (int) strtoul(buff, &endp, 16);\r
- if (endp != buff) return ((t>>8)&0xf800) | ((t>>5)&0x07e0) | ((t>>3)&0x1f);\r
+ if (endp != buff)\r
+#ifdef PSP\r
+ return ((t<<8)&0xf800) | ((t>>5)&0x07e0) | ((t>>19)&0x1f);\r
+#else\r
+ return ((t>>8)&0xf800) | ((t>>5)&0x07e0) | ((t>>3)&0x1f);\r
+#endif\r
return -1;\r
}\r
\r
}\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