From 55615f9c97274197fa035a8e63ec5d6bfb2fa547 Mon Sep 17 00:00:00 2001 From: kub Date: Mon, 15 Nov 2021 21:26:49 +0100 Subject: [PATCH] sms, set non-TMR images to region Japan --- pico/sms.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pico/sms.c b/pico/sms.c index b8cc36b0..2410d52e 100644 --- a/pico/sms.c +++ b/pico/sms.c @@ -509,18 +509,22 @@ void PicoResetMS(void) } if (PicoIn.mapper) Pico.ms.mapper = PicoIn.mapper; - if (PicoIn.regionOverride & 1) - Pico.m.hardware |= 0x4; + Pico.m.hardware |= 0x4; // default region Japan if no TMR header // check if the ROM header contains more system information for (tmr = 0x2000; tmr < 0xbfff && tmr <= Pico.romsize; tmr *= 2) { if (!memcmp(Pico.rom + tmr-16, "TMR SEGA", 8)) { hw = Pico.rom[tmr-1] >> 4; - if (hw >= 0x5 && hw < 0x8 && !PicoIn.hwSelect) - Pico.m.hardware |= 0x1; // GG cartridge detected - if ((hw == 0x5 || hw == 0x3) && !PicoIn.regionOverride) - Pico.m.hardware |= 0x4; // Region Japan - + if (!PicoIn.hwSelect) { + Pico.m.hardware &= ~0x1; + if (hw >= 0x5 && hw < 0x8) + Pico.m.hardware |= 0x1; // GG cartridge detected + } + if (!PicoIn.regionOverride) { + Pico.m.hardware &= ~0x4; + if (hw == 0x5 || hw == 0x3) + Pico.m.hardware |= 0x4; // region Japan + } id = CPU_LE4(*(u32 *)&Pico.rom[tmr-4]) & 0xf0f0ffff; for (i = 0; i < sizeof(region_pal)/sizeof(*region_pal); i++) if (id == region_pal[i] && !PicoIn.regionOverride) { -- 2.39.2