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
@@ -42,6 +42,7 @@ - Qt: Fix OpenGL 2.1 support (fixes mgba.io/i/1678)
Misc: - Debugger: Keep track of global cycle count - FFmpeg: Add looping option for GIF/APNG + - GBA Serialize: Only flunk BIOS check if official BIOS was expected - Qt: Renderer can be changed while a game is running - Qt: Add hex index to palette view - Qt: Add transformation matrix info to sprite view
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-util/memory.h>@@ -94,7 +95,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; } }