GBA Serialize: Only flunk BIOS check if official BIOS was expected

This commit is contained in:
Vicki Pfau 2020-05-30 18:19:18 -07:00
parent 7f64f8cf3b
commit 42fdc758d7
2 changed files with 3 additions and 1 deletions

View File

@ -42,6 +42,7 @@ Other fixes:
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

View File

@ -6,6 +6,7 @@
#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 @@ bool GBADeserialize(struct GBA* gba, const struct GBASerializedState* state) {
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;
}
}