mirror of
https://github.com/libretro/mgba.git
synced 2024-11-22 23:49:51 +00:00
GBA Memory: Fix executing code from OBJ region of VRAM
This commit is contained in:
parent
3a51c59768
commit
063605a216
1
CHANGES
1
CHANGES
@ -19,6 +19,7 @@ Bugfixes:
|
||||
- GBA Serialize: Fix loading savegames from savestates
|
||||
- All: Fix several file handle leaks
|
||||
- Util: Use closesocket on Windows
|
||||
- GBA Memory: Fix executing code from OBJ region of VRAM
|
||||
Misc:
|
||||
- GBA: Slightly optimize GBAProcessEvents
|
||||
- Qt: Add preset for DualShock 4
|
||||
|
@ -276,8 +276,13 @@ static void GBASetActiveRegion(struct ARMCore* cpu, uint32_t address) {
|
||||
cpu->memory.activeMask = SIZE_PALETTE_RAM - 1;
|
||||
break;
|
||||
case REGION_VRAM:
|
||||
cpu->memory.activeRegion = (uint32_t*) gba->video.renderer->vram;
|
||||
cpu->memory.activeMask = 0x0000FFFF;
|
||||
if (address < 0x06010000) {
|
||||
cpu->memory.activeRegion = (uint32_t*) gba->video.renderer->vram;
|
||||
cpu->memory.activeMask = 0x0000FFFF;
|
||||
} else {
|
||||
cpu->memory.activeRegion = (uint32_t*) &gba->video.renderer->vram[0x8000];
|
||||
cpu->memory.activeMask = 0x00007FFF;
|
||||
}
|
||||
break;
|
||||
case REGION_OAM:
|
||||
cpu->memory.activeRegion = (uint32_t*) gba->video.oam.raw;
|
||||
|
Loading…
Reference in New Issue
Block a user