diff --git a/src/gba/memory.c b/src/gba/memory.c index 6b6f7b508..7c4a2512f 100644 --- a/src/gba/memory.c +++ b/src/gba/memory.c @@ -268,12 +268,12 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) { cpu->memory.activeMask = SIZE_PALETTE_RAM - 1; break; case REGION_VRAM: - if (address < 0x06010000) { - cpu->memory.activeRegion = (uint32_t*) gba->video.renderer->vram; - cpu->memory.activeMask = 0x0000FFFF; - } else { + if (address & 0x10000) { cpu->memory.activeRegion = (uint32_t*) &gba->video.renderer->vram[0x8000]; cpu->memory.activeMask = 0x00007FFF; + } else { + cpu->memory.activeRegion = (uint32_t*) gba->video.renderer->vram; + cpu->memory.activeMask = 0x0000FFFF; } break; case REGION_OAM: