mirror of https://github.com/mgba-emu/mgba.git
GBA Memory: update the renderer on rawWrite{16,32}/GBAPatch{16,32}
rawWrite{16,32}/GBAPatch{16, 32} is used by the memory editor on Qt, and changes to the VRAM area there were not reflected on the graphical output, palette or OAM writes are. This fixes this inconsistency.
This commit is contained in:
parent
3c228dad60
commit
e87ba99140
|
@ -1239,9 +1239,13 @@ void GBAPatch32(struct ARMCore* cpu, uint32_t address, int32_t value, int32_t* o
|
|||
if ((address & 0x0001FFFF) < SIZE_VRAM) {
|
||||
LOAD_32(oldValue, address & 0x0001FFFC, gba->video.vram);
|
||||
STORE_32(value, address & 0x0001FFFC, gba->video.vram);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, address & 0x0001FFFC);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, (address & 0x0001FFFC) | 2);
|
||||
} else {
|
||||
LOAD_32(oldValue, address & 0x00017FFC, gba->video.vram);
|
||||
STORE_32(value, address & 0x00017FFC, gba->video.vram);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, address & 0x00017FFC);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, (address & 0x00017FFC) | 2);
|
||||
}
|
||||
break;
|
||||
case REGION_OAM:
|
||||
|
@ -1308,9 +1312,11 @@ void GBAPatch16(struct ARMCore* cpu, uint32_t address, int16_t value, int16_t* o
|
|||
if ((address & 0x0001FFFF) < SIZE_VRAM) {
|
||||
LOAD_16(oldValue, address & 0x0001FFFE, gba->video.vram);
|
||||
STORE_16(value, address & 0x0001FFFE, gba->video.vram);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, address & 0x0001FFFE);
|
||||
} else {
|
||||
LOAD_16(oldValue, address & 0x00017FFE, gba->video.vram);
|
||||
STORE_16(value, address & 0x00017FFE, gba->video.vram);
|
||||
gba->video.renderer->writeVRAM(gba->video.renderer, address & 0x00017FFE);
|
||||
}
|
||||
break;
|
||||
case REGION_OAM:
|
||||
|
|
Loading…
Reference in New Issue