GBA Serialize: Only flunk BIOS check if official BIOS was expected
Vicki Pfau vi@endrift.com
Sat, 30 May 2020 18:19:18 -0700
2 files changed,
3 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -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.c
→
src/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; } }