diff --git a/CHANGES b/CHANGES index d719707e3..b35028534 100644 --- a/CHANGES +++ b/CHANGES @@ -15,6 +15,7 @@ Bugfixes: - ARM7: Fix MLA/*MULL/*MLAL timing - GBA: Fix multiboot ROM loading - Libretro: Fix saving in GB games (fixes mgba.io/i/486) + - LR35902: Fix pc overflowing current region off-by-one Misc: - SDL: Remove scancode key input - GBA Video: Clean up unused timers diff --git a/src/gb/memory.c b/src/gb/memory.c index 0334e136e..6e7eb2a33 100644 --- a/src/gb/memory.c +++ b/src/gb/memory.c @@ -19,7 +19,7 @@ mLOG_DEFINE_CATEGORY(GB_MEM, "GB Memory"); static void _pristineCow(struct GB* gba); static uint8_t GBFastLoad8(struct LR35902Core* cpu, uint16_t address) { - if (UNLIKELY(address > cpu->memory.activeRegionEnd)) { + if (UNLIKELY(address >= cpu->memory.activeRegionEnd)) { cpu->memory.setActiveRegion(cpu, address); return cpu->memory.cpuLoad8(cpu, address); }