memset(Pico.sv.data, 0xff, Pico.sv.size);\r
}\r
\r
- // Unusual region 'code'\r
- if (rom_strcmp(0x1f0, "EUROPE") == 0 || rom_strcmp(0x1f0, "Europe") == 0)\r
- *(u32 *) (Pico.rom + 0x1f0) = CPU_LE4(0x20204520);\r
-\r
// tweak for Blackthorne: master SH2 overwrites stack of slave SH2 being in PWM\r
// interrupt. On real hardware, nothing happens since slave fetches the values\r
// it has written from its cache, but picodrive doesn't emulate caching.\r
{\r
int support=0, hw=0, i;\r
unsigned char pal=0;\r
+ char *pr = (char *)(Pico.rom + 0x1f0);\r
\r
if (PicoIn.regionOverride)\r
{\r
support = PicoIn.regionOverride;\r
}\r
+ else if (strcmp(pr, "EUROPE") == 0 || strcmp(pr, "Europe") == 0)\r
+ {\r
+ // Unusual cartridge region 'code'\r
+ support|=8;\r
+ }\r
else\r
{\r
// Read cartridge region data:\r
- unsigned short *rd = (unsigned short *)(Pico.rom + 0x1f0);\r
+ unsigned short *rd = (unsigned short *)pr;\r
int region = (rd[0] << 16) | rd[1];\r
\r
for (i = 0; i < 4; i++)\r