From 1983d0f42cb39dd06114d3aa8941dbf21ed62e1f Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sat, 14 Dec 2024 22:28:08 -0800 Subject: [PATCH] GBA Core: Fix booting into BIOS when skip BIOS is enabled --- CHANGES | 3 ++- src/gba/core.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index f3a8cc539..42fea400e 100644 --- a/CHANGES +++ b/CHANGES @@ -19,8 +19,9 @@ Other fixes: - Core: Fix inconsistencies with setting game-specific overrides (fixes mgba.io/i/2963) - Debugger: Fix writing to specific segment in command-line debugger - GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1 - - GBA Hardware: Fix loading states unconditionally overwriting GPIO memory - GBA: Fix getting game info for multiboot ROMs + - GBA Core: Fix booting into BIOS when skip BIOS is enabled + - GBA Hardware: Fix loading states unconditionally overwriting GPIO memory - Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560) - Qt: Fix potential crash when configuring shortcuts Misc: diff --git a/src/gba/core.c b/src/gba/core.c index 1d3fffb9e..da782d06c 100644 --- a/src/gba/core.c +++ b/src/gba/core.c @@ -801,7 +801,7 @@ static void _GBACoreReset(struct mCore* core) { #endif ARMReset(core->cpu); - bool forceSkip = gba->mbVf || core->opts.skipBios; + bool forceSkip = gba->mbVf || (core->opts.skipBios && (gba->romVf || gba->memory.rom)); if (!forceSkip && (gba->romVf || gba->memory.rom) && gba->pristineRomSize >= 0xA0 && gba->biosVf) { uint32_t crc = doCrc32(&gba->memory.rom[1], 0x9C); if (crc != LOGO_CRC32) {