all repos — mgba @ 774aca8462c6f7194d2b949ad6de8a2ef2329111

mGBA Game Boy Advance Emulator

GBA Serialize: Only flunk BIOS check if official BIOS was expected
Vicki Pfau vi@endrift.com
Sat, 30 May 2020 18:19:18 -0700
commit

774aca8462c6f7194d2b949ad6de8a2ef2329111

parent

ffc6880fbc967199c354d076ed1f35f1986ef392

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

jump to
M CHANGESCHANGES

@@ -22,6 +22,7 @@ - GB Video: Fix some cases where SGB border doesn't draw to mutli-buffers

- GBA: Reject incorrectly sized BIOSes - Qt: Fix OpenGL 2.1 support (fixes mgba.io/i/1678) Misc: + - GBA Serialize: Only flunk BIOS check if official BIOS was expected - Qt: Disable Replace ROM option when no game loaded - Qt: Defer texture updates until frame is drawn (fixes mgba.io/i/1590) - Qt: Set icon for Discord Rich Presence
M src/gba/serialize.csrc/gba/serialize.c

@@ -6,6 +6,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include <mgba/internal/gba/serialize.h> #include <mgba/internal/arm/macros.h> +#include <mgba/internal/gba/bios.h> #include <mgba/internal/gba/io.h> #include <mgba/internal/gba/rr/rr.h>

@@ -99,7 +100,7 @@ if (ucheck != gba->biosChecksum) {

mLOG(GBA_STATE, WARN, "Savestate created using a different version of the BIOS: expected %08X, got %08X", gba->biosChecksum, ucheck); uint32_t pc; LOAD_32(pc, ARM_PC * sizeof(state->cpu.gprs[0]), state->cpu.gprs); - if (pc < SIZE_BIOS && pc >= 0x20) { + if ((ucheck == GBA_BIOS_CHECKSUM || gba->biosChecksum == GBA_BIOS_CHECKSUM) && pc < SIZE_BIOS && pc >= 0x20) { error = true; } }