GBA: Fix multiboot loading resulting in too small WRAM

This commit is contained in:
Vicki Pfau 2017-04-25 11:58:05 -07:00
parent 870c375cf6
commit bcf0e8ec59
2 changed files with 4 additions and 8 deletions

View File

@ -48,6 +48,7 @@ Bugfixes:
- 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

View File

@ -297,14 +297,9 @@ bool GBALoadMB(struct GBA* gba, struct VFile* vf) {
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;