GBA: Detect hardware for Pokémon FireRed ROM hacks

This commit is contained in:
Vicki Pfau 2017-09-09 11:42:45 -07:00
parent f5bf854489
commit 5b395aafe0
2 changed files with 8 additions and 2 deletions

View File

@ -25,6 +25,7 @@ Bugfixes:
Misc:
- Qt: Don't rebuild library view if style hasn't changed
- SDL: Fix 2.0.5 build on macOS under some circumstances
- GBA: Detect hardware for Pokémon FireRed ROM hacks
0.6.0: (2017-07-16)
Features:

View File

@ -385,11 +385,16 @@ static void _GBACoreReset(struct mCore* core) {
const struct GBACartridge* cart = (const struct GBACartridge*) gba->memory.rom;
if (cart) {
memcpy(override.id, &cart->id, sizeof(override.id));
if (GBAOverrideFind(gbacore->overrides, &override)) {
if (!strncmp("pokemon red version", &((const char*) gba->memory.rom)[0x108], 20) && gba->romCrc32 != 0xDD88761C) {
// Enable FLASH1M and RTC on Pokémon FireRed ROM hacks
override.savetype = SAVEDATA_FLASH1M;
override.hardware = HW_RTC;
GBAOverrideApply(gba, &override);
} else if (GBAOverrideFind(gbacore->overrides, &override)) {
GBAOverrideApply(gba, &override);
}
}
#if !defined(MINIMAL_CORE) || MINIMAL_CORE < 2
if (!gba->biosVf && core->opts.useBios) {
struct VFile* bios = NULL;