diff --git a/include/mgba/internal/gba/memory.h b/include/mgba/internal/gba/memory.h index 11d4a5811..caf1d689b 100644 --- a/include/mgba/internal/gba/memory.h +++ b/include/mgba/internal/gba/memory.h @@ -85,7 +85,7 @@ enum { AGB_PRINT_TOP = 0x00FE0000, AGB_PRINT_PROTECT = 0x00FE2FFE, AGB_PRINT_STRUCT = 0x00FE20F8, - AGB_PRINT_FLUSH_ADDR = 0x01FE209C, + AGB_PRINT_FLUSH_ADDR = 0x00FE209C, }; mLOG_DECLARE_CATEGORY(GBA_MEM); diff --git a/src/gba/memory.c b/src/gba/memory.c index 5ff5cf9ac..1e6455ef7 100644 --- a/src/gba/memory.c +++ b/src/gba/memory.c @@ -313,7 +313,7 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) { if ((address & (SIZE_CART0 - 1)) < memory->romSize) { break; } - if ((address & (SIZE_CART0 - 1)) == AGB_PRINT_FLUSH_ADDR && memory->agbPrintProtect == 0x20) { + if ((address & 0x00FFFFFE) == AGB_PRINT_FLUSH_ADDR && memory->agbPrintProtect == 0x20) { cpu->memory.activeRegion = &_agbPrintFunc; cpu->memory.activeMask = sizeof(_agbPrintFunc) - 1; break;