From 7b610da73563eda211aa3d453990b8c46f7e1ba7 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Tue, 23 Feb 2016 23:01:51 -0800 Subject: [PATCH] GB: Fix sram if GBLoadSave is not called --- src/gb/gb.c | 2 -- src/gb/memory.c | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gb/gb.c b/src/gb/gb.c index 6042eec0b..b50e9e371 100644 --- a/src/gb/gb.c +++ b/src/gb/gb.c @@ -102,8 +102,6 @@ bool GBLoadSave(struct GB* gb, struct VFile* vf) { vf->truncate(vf, 0x20000); } gb->memory.sram = vf->map(vf, 0x20000, MAP_WRITE); - } else { - gb->memory.sram = anonymousMemoryMap(0x20000); } return gb->memory.sram; } diff --git a/src/gb/memory.c b/src/gb/memory.c index 13ed53aff..dde742bc8 100644 --- a/src/gb/memory.c +++ b/src/gb/memory.c @@ -108,6 +108,9 @@ void GBMemoryReset(struct GB* gb) { GBMemorySwitchWramBank(&gb->memory, 1); gb->memory.romBank = &gb->memory.rom[GB_SIZE_CART_BANK0]; gb->memory.currentBank = 1; + if (!gb->memory.sram) { + gb->memory.sram = anonymousMemoryMap(0x20000); + } gb->memory.sramCurrentBank = 0; gb->memory.sramBank = gb->memory.sram;