GBA Savedata: Fix potential corruption when loading a 1Mbit flash save

This commit is contained in:
Vicki Pfau 2020-07-27 00:28:56 -07:00
parent a2f144c19b
commit 297174ee2e
2 changed files with 2 additions and 1 deletions

View File

@ -8,6 +8,7 @@ Emulation fixes:
- 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

View File

@ -599,7 +599,6 @@ void GBASavedataDeserialize(struct GBASavedata* savedata, const struct GBASerial
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 @@ void _flashSwitchBank(struct GBASavedata* savedata, int bank) {
}
}
}
savedata->currentBank = &savedata->data[bank << 16];
}
void _flashErase(struct GBASavedata* savedata) {