diff --git a/CHANGES b/CHANGES index 2701b9b06..1f87ac339 100644 --- a/CHANGES +++ b/CHANGES @@ -52,6 +52,7 @@ Bugfixes: - Debugger: Fix binary print putting spaces between digits - GBA BIOS: Fix LZ77UnCompVram to use 16-bit loads from decompressed memory - GBA BIOS: Fix HuffUnComp to work when games pass an invalid bit length + - GBA BIOS: Fix GetBiosChecksum to return the value of a real GBA, regardless of used BIOS Misc: - Qt: Disable sync to video by default - GBA: Exit cleanly on FATAL if the port supports it diff --git a/src/gba/gba-bios.c b/src/gba/gba-bios.c index 631cff29a..91011b406 100644 --- a/src/gba/gba-bios.c +++ b/src/gba/gba-bios.c @@ -215,7 +215,10 @@ void GBASwi16(struct ARMCore* cpu, int immediate) { ARMRaiseSWI(cpu); break; case 0xD: - cpu->gprs[0] = GBAChecksum(gba->memory.bios, SIZE_BIOS); + cpu->gprs[0] = GBA_BIOS_CHECKSUM; + cpu->gprs[1] = 1; + cpu->gprs[3] = SIZE_BIOS; + break; case 0xE: _BgAffineSet(gba); break;