From 90bb356a173dc1010d6694bdb470c176efd9c03b Mon Sep 17 00:00:00 2001 From: ekeeke Date: Sun, 23 Oct 2022 21:49:11 +0200 Subject: [PATCH] [libretro] fixed cheat support regression introduced in previous commit --- builds/genesis_plus_gx_libretro.dll | Bin 2871386 -> 2871386 bytes libretro/libretro.c | 48 ++++++++++++++++------------ 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/builds/genesis_plus_gx_libretro.dll b/builds/genesis_plus_gx_libretro.dll index 8cd07381d768a8efb0cb362b4d037129721b24ed..5a2ee12ce67ea2a03b8821bfb958cdeecaf4854a 100644 GIT binary patch delta 18107 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 0xFF0000) { - /* detect Work RAM patch */ - if (cheatlist[i].address >= 0xFF0000) + /* add RAM patch */ + cheatIndexes[maxRAMcheats++] = i; + } + + /* check if Mega-CD game is running */ + else if ((system_hw == SYSTEM_MCD) && !scd.cartridge.boot) + { + /* detect PRG-RAM patch (Sub-CPU side) */ + if (cheatlist[i].address < 0x80000) { - /* add RAM patch */ + /* add RAM patch */ + cheatIndexes[maxRAMcheats++] = i; + } + + /* detect Word-RAM patch (Main-CPU side)*/ + else if ((cheatlist[i].address >= 0x200000) && (cheatlist[i].address < 0x240000)) + { + /* add RAM patch */ cheatIndexes[maxRAMcheats++] = i; } + } - /* check if Mega-CD game is running */ - else if ((system_hw == SYSTEM_MCD) && !scd.cartridge.boot) + /* detect cartridge ROM patch */ + else if (cheatlist[i].address < cart.romsize) + { + if ((system_hw & SYSTEM_PBC) == SYSTEM_MD) { - /* detect PRG-RAM patch (Sub-CPU side) */ - if (cheatlist[i].address < 0x80000) - { - /* add RAM patch */ - cheatIndexes[maxRAMcheats++] = i; - } - - /* detect Word-RAM patch (Main-CPU side)*/ - else if ((cheatlist[i].address >= 0x200000) && (cheatlist[i].address < 0x240000)) - { - /* add RAM patch */ - cheatIndexes[maxRAMcheats++] = i; - } + /* patch ROM data */ + cheatlist[i].old = *(uint16_t *)(cart.rom + (cheatlist[i].address & 0xFFFFFE)); + *(uint16_t *)(cart.rom + (cheatlist[i].address & 0xFFFFFE)) = cheatlist[i].data; } - - /* detect cartridge ROM patch */ else { /* add ROM patch */