static char *rom_exts[] = { "bin", "gen", "smd", "iso" };\r
\r
void (*PicoCartLoadProgressCB)(int percent) = NULL;\r
+void (*PicoCDLoadProgressCB)(int percent) = NULL; // handled in Pico/cd/cd_file.c\r
\r
\r
pm_file *pm_open(const char *path)\r
\r
ext = zipentry->name+strlen(zipentry->name)-3;\r
for (i = 0; i < sizeof(rom_exts)/sizeof(rom_exts[0]); i++)\r
- if (!strcasecmp(ext, rom_exts[i]) == 0) goto found_rom_zip;\r
+ if (strcasecmp(ext, rom_exts[i]) == 0) goto found_rom_zip;\r
}\r
\r
/* zipfile given, but nothing found suitable for us inside */\r
return 0;\r
}\r
\r
-static int name_cmp(const char *name)\r
+static int rom_strcmp(int rom_offset, const char *s1)\r
{\r
- int i, len = strlen(name);\r
- const char *name_rom = (const char *)Pico.rom+0x150;\r
+ int i, len = strlen(s1);\r
+ const char *s_rom = (const char *)Pico.rom + rom_offset;\r
for (i = 0; i < len; i++)\r
- if (name[i] != name_rom[i^1])\r
+ if (s1[i] != s_rom[i^1])\r
return 1;\r
return 0;\r
}\r
\r
+static int name_cmp(const char *name)\r
+{\r
+ return rom_strcmp(0x150, name);\r
+}\r
+\r
/* various cart-specific things, which can't be handled by generic code */\r
void PicoCartDetect(void)\r
{\r
if (name_cmp("DINO DINI'S SOCCER") == 0 ||\r
name_cmp("MICRO MACHINES II") == 0)\r
memset(SRam.data, 0xff, sram_size);\r
+\r
+ // Unusual region 'code'\r
+ if (rom_strcmp(0x1f0, "EUROPE") == 0)\r
+ *(int *) (Pico.rom+0x1f0) = 0x20204520;\r
}\r
\r