GBA: Fix multiboot loading resulting in too small WRAM
Vicki Pfau vi@endrift.com
Tue, 25 Apr 2017 11:58:05 -0700
2 files changed,
4 insertions(+),
8 deletions(-)
M
CHANGES
→
CHANGES
@@ -48,6 +48,7 @@ - Core: Fix crash with rewind if savestates shrink
- Test: Fix crash when loading invalid file - GBA Hardware: Fix crash if a savestate lies about game hardware - Test: Fix crash when fuzzing fails to load a file + - GBA: Fix multiboot loading resulting in too small WRAM Misc: - SDL: Remove scancode key input - GBA Video: Clean up unused timers
M
src/gba/gba.c
→
src/gba/gba.c
@@ -297,14 +297,9 @@ if (gba->pristineRomSize > SIZE_WORKING_RAM) {
gba->pristineRomSize = SIZE_WORKING_RAM; } gba->isPristine = true; -#ifdef _3DS - if (gba->pristineRomSize <= romBufferSize) { - gba->memory.wram = romBuffer; - vf->read(vf, romBuffer, gba->pristineRomSize); - } -#else - gba->memory.wram = vf->map(vf, gba->pristineRomSize, MAP_READ); -#endif + gba->memory.wram = anonymousMemoryMap(SIZE_WORKING_RAM); + memset(gba->memory.wram, 0, SIZE_WORKING_RAM); + vf->read(vf, gba->memory.wram, gba->pristineRomSize); if (!gba->memory.wram) { mLOG(GBA, WARN, "Couldn't map ROM"); return false;