all repos — mgba @ 297174ee2ec8130eb3680af9895c4b14eca9e00c

mGBA Game Boy Advance Emulator

GBA Savedata: Fix potential corruption when loading a 1Mbit flash save
Vicki Pfau vi@endrift.com
Mon, 27 Jul 2020 00:28:56 -0700
commit

297174ee2ec8130eb3680af9895c4b14eca9e00c

parent

a2f144c19b41f23963aafad6f6539650993efac8

2 files changed, 2 insertions(+), 1 deletions(-)

jump to
M CHANGESCHANGES

@@ -8,6 +8,7 @@ - GB MBC: Fix MBC1 RAM enable bit selection

- GB MBC: Fix MBC2 bit selection - GB Video: Always initialize palette - GBA BIOS: Fix reloading video registers after reset (fixes mgba.io/i/1808) + - GBA Savedata: Fix potential corruption when loading a 1Mbit flash save - GBA Video: Fix invalid read in mode 4 mosaic - GBA Video: Fix color of disabled screen - SM83: Fix flags on little endian PowerPC
M src/gba/savedata.csrc/gba/savedata.c

@@ -599,7 +599,6 @@ }

void _flashSwitchBank(struct GBASavedata* savedata, int bank) { mLOG(GBA_SAVE, DEBUG, "Performing flash bank switch to bank %i", bank); - savedata->currentBank = &savedata->data[bank << 16]; if (bank > 0 && savedata->type == SAVEDATA_FLASH512) { mLOG(GBA_SAVE, INFO, "Updating flash chip from 512kb to 1Mb"); savedata->type = SAVEDATA_FLASH1M;

@@ -614,6 +613,7 @@ savedata->data = savedata->vf->map(savedata->vf, SIZE_CART_FLASH1M, MAP_WRITE);

} } } + savedata->currentBank = &savedata->data[bank << 16]; } void _flashErase(struct GBASavedata* savedata) {