all repos — mgba @ 853cdf28803caa5ad9ba0f3decf47522739e8b04

mGBA Game Boy Advance Emulator

GB Core: Fix extracting SRAM when none is present
Vicki Pfau vi@endrift.com
Thu, 18 Jun 2020 01:25:48 -0700
commit

853cdf28803caa5ad9ba0f3decf47522739e8b04

parent

0234cb07b8d64bf0979d17927350db4f07f44d3b

2 files changed, 9 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -3,6 +3,8 @@ Emulation fixes:

- GB Memory: Fix OAM DMA from top 8 kB - GB MBC: Fix MBC1 RAM enable bit selection - GB MBC: Fix MBC2 bit selection +Other fixes: + - GB Core: Fix extracting SRAM when none is present 0.8.2: (2020-06-14) Emulation fixes:
M src/gb/core.csrc/gb/core.c

@@ -822,9 +822,13 @@ *sram = malloc(vf->size(vf));

vf->seek(vf, 0, SEEK_SET); return vf->read(vf, *sram, vf->size(vf)); } - *sram = malloc(gb->sramSize); - memcpy(*sram, gb->memory.sram, gb->sramSize); - return gb->sramSize; + if (gb->sramSize) { + *sram = malloc(gb->sramSize); + memcpy(*sram, gb->memory.sram, gb->sramSize); + return gb->sramSize; + } + *sram = NULL; + return 0; } static bool _GBCoreSavedataRestore(struct mCore* core, const void* sram, size_t size, bool writeback) {