diff --git a/CHANGES b/CHANGES index 3d48660c3..b9b96dcca 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,8 @@ Other fixes: - GB Core: Fix cloning savedata when backing file is outdated (fixes mgba.io/i/3388) - GBA Core: Fix booting into BIOS when skip BIOS is enabled - GBA Hardware: Fix loading states unconditionally overwriting GPIO memory +Misc: + - GB: Allow use of CGB-E and AGB-0 BIOS versions (closes mgba.io/i/3427) - Updater: Fix rewriting folders and files on Windows (fixes mgba.io/i/3384) 0.10.4: (2024-12-07) diff --git a/src/gb/gb.c b/src/gb/gb.c index 3fc439726..e6e8d800f 100644 --- a/src/gb/gb.c +++ b/src/gb/gb.c @@ -34,7 +34,9 @@ static const uint8_t _registeredTrademark[] = {0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA #define SGB2_BIOS_CHECKSUM 0X53D0DD63 #define CGB_BIOS_CHECKSUM 0x41884E46 #define CGB0_BIOS_CHECKSUM 0xE8EF5318 +#define CGBE_BIOS_CHECKSUM 0xE95DC95D #define AGB_BIOS_CHECKSUM 0xFFD6B0F1 +#define AGB0_BIOS_CHECKSUM 0x570337EA mLOG_DEFINE_CATEGORY(GB, "GB", "gb"); @@ -551,7 +553,9 @@ bool GBIsBIOS(struct VFile* vf) { case SGB2_BIOS_CHECKSUM: case CGB_BIOS_CHECKSUM: case CGB0_BIOS_CHECKSUM: + case CGBE_BIOS_CHECKSUM: case AGB_BIOS_CHECKSUM: + case AGB0_BIOS_CHECKSUM: return true; default: return false; @@ -846,9 +850,11 @@ void GBDetectModel(struct GB* gb) { break; case CGB_BIOS_CHECKSUM: case CGB0_BIOS_CHECKSUM: + case CGBE_BIOS_CHECKSUM: gb->model = GB_MODEL_CGB; break; case AGB_BIOS_CHECKSUM: + case AGB0_BIOS_CHECKSUM: gb->model = GB_MODEL_AGB; break; default: