diff --git a/workspace/all/cores/patches/picodrive/001-skip-ram-patching-on-sms.patch b/workspace/all/cores/patches/picodrive/001-skip-ram-patching-on-sms.patch new file mode 100644 index 000000000..55448b869 --- /dev/null +++ b/workspace/all/cores/patches/picodrive/001-skip-ram-patching-on-sms.patch @@ -0,0 +1,20 @@ +--- a/platform/libretro/libretro.c ++++ b/platform/libretro/libretro.c +@@ -856,7 +856,7 @@ + if (addr < Pico.romsize) { + if (PicoPatches[i].active) + *(unsigned short *)(Pico.rom + addr) = PicoPatches[i].data_old; +- } else { ++ } else if (!(PicoIn.AHW & PAHW_SMS)) { + if (PicoPatches[i].active) + m68k_write16(PicoPatches[i].addr,PicoPatches[i].data_old); + } +@@ -907,7 +907,7 @@ + PicoPatches[PicoPatchCount].comp = pt.comp; + if (PicoPatches[PicoPatchCount].addr < Pico.romsize) + PicoPatches[PicoPatchCount].data_old = *(uint16_t *)(Pico.rom + PicoPatches[PicoPatchCount].addr); +- else ++ else if (!(PicoIn.AHW & PAHW_SMS)) + PicoPatches[PicoPatchCount].data_old = (uint16_t) m68k_read16(PicoPatches[PicoPatchCount].addr); + PicoPatchCount++; +