X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2FCart.c;h=f2683ca8f5c5ac22ca01a08a0aa5b243043937d6;hb=1cb1584b86a5679b8d32ccfc190f6e76c920810f;hp=d6f6dd65bfdc96782671ab2ae481896f8e5fb8b2;hpb=2d2247c26080ed9009b3d8c650cfc647fd1fb162;p=picodrive.git diff --git a/Pico/Cart.c b/Pico/Cart.c index d6f6dd6..f2683ca 100644 --- a/Pico/Cart.c +++ b/Pico/Cart.c @@ -530,7 +530,8 @@ int PicoCartInsert(unsigned char *rom,unsigned int romsize) else PicoMemSetup(); PicoMemReset(); - return PicoReset(1); + PicoPower(); + return 0; } int PicoCartUnload(void) @@ -597,6 +598,12 @@ static void PicoCartDetect(void) sram_size = 0x004000; } + // this game actually doesn't have SRAM, but some weird protection + if (rom_strcmp(0x120, "PUGGSY") == 0) + { + SRam.start = SRam.end = sram_size = 0; + } + if (sram_size) { SRam.data = (unsigned char *) calloc(sram_size, 1); @@ -666,7 +673,9 @@ static void PicoCartDetect(void) // Detect 12-in-1 mapper else if ((name_cmp("ROBOCOP 3") == 0 && Pico.romsize == 0x200000) || - (rom_strcmp(0x160, "FLICKY") == 0 && Pico.romsize >= 0x200000)) + (rom_strcmp(0x160, "FLICKY") == 0 && Pico.romsize >= 0x200000) || + (name_cmp(" SHOVE IT!") == 0 && Pico.romsize >= 0x200000) || + (name_cmp("MS PACMAN") == 0 && Pico.romsize >= 0x200000)) // bad dump? { carthw_12in1_startup(); }