diff --git a/core/cheats.cpp b/core/cheats.cpp index 5f4951022..0f6e2af22 100644 --- a/core/cheats.cpp +++ b/core/cheats.cpp @@ -435,6 +435,21 @@ void CheatManager::reset(const std::string& gameId) cheats.emplace_back(Cheat::Type::setValue, "Skip DIMM version check", true, 16, 0x0007f486, 0xe001); // mov #1, r0 cheats.back().builtIn = true; } + else if (gameId == "Fixed BOOT strapper") // Extreme Hunting 2 + { + setActive(true); + cheats.emplace_back(Cheat::Type::runNextIfEq, "skip netbd check ifeq", true, 32, 0x00067b04, 0); + cheats.back().builtIn = true; + cheats.emplace_back(Cheat::Type::setValue, "skip netbd check", true, 32, 0x00067b04, 1); // 1 skips initNetwork() + cheats.back().builtIn = true; + cheats.emplace_back(Cheat::Type::setValue, "skip netbd check 2", true, 16, 0x0009acc8, 0x0009); // not acceptable by main board + cheats.back().builtIn = true; + // ac010000 should be d202 9302, but is changed to 78c0 8c93 + cheats.emplace_back(Cheat::Type::runNextIfEq, "fix boot ifeq", true, 32, 0x00010000, 0x8c9378c0); + cheats.back().builtIn = true; + cheats.emplace_back(Cheat::Type::setValue, "fix boot", true, 32, 0x00010000, 0x9302d202); + cheats.back().builtIn = true; + } } if (config::WidescreenGameHacks) { diff --git a/core/emulator.cpp b/core/emulator.cpp index 25e5c99fe..0494978dd 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -287,8 +287,9 @@ static void loadSpecialSettings() else if (prod_id == "NINJA ASSAULT" || prod_id == "Sports Shooting USA" // AW || prod_id == "SEGA CLAY CHALLENGE" // AW - || prod_id == "RANGER MISSION" // AW - || prod_id == "EXTREME HUNTING") // AW + || prod_id == "RANGER MISSION" // AW + || prod_id == "EXTREME HUNTING" // AW + || prod_id == "Fixed BOOT strapper")// Extreme hunting 2 (AW) { INFO_LOG(BOOT, "Enabling lightgun setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::LightGun;