From 6b8335780f8b799b863e1a0a0a37da98db970233 Mon Sep 17 00:00:00 2001 From: bicarus <202771338+bicarus-dev@users.noreply.github.com> Date: Mon, 29 Dec 2025 16:26:30 -0800 Subject: [PATCH] ddr: fix up init code when using old I/O with gold cab mode (#480) ## Link to GitHub Issue, if one exists Fixes #479 ## Description of change When p3io / p4io is in use with Gold Cab spec, use the old init code. ## Testing Verified p3io / p4io / bio2 booting with 2024040200. --- src/spice2x/avs/ea3.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/spice2x/avs/ea3.cpp b/src/spice2x/avs/ea3.cpp index d1bce11..1ed8cb7 100644 --- a/src/spice2x/avs/ea3.cpp +++ b/src/spice2x/avs/ea3.cpp @@ -494,7 +494,9 @@ namespace avs { std::ostringstream init_code; init_code << EA3_MODEL; init_code << EA3_DEST; - if (strcmp(EA3_MODEL, "MDX") == 0 && strcmp(EA3_SPEC, "I") == 0) { + if (avs::game::DLL_NAME == "arkmdxbio2.dll" && + strcmp(EA3_MODEL, "MDX") == 0 && strcmp(EA3_SPEC, "I") == 0) { + // ddr gold cab init_code << "G"; init_code << "B"; } else { @@ -529,7 +531,7 @@ namespace avs { auto app_param = avs::core::property_search_safe(app_config, nullptr, "/param"); // call the game init - log_info("avs-ea3", "calling entry init"); + log_info("avs-ea3", "calling entry init (init code = {})", init_code_str); if (!avs::game::entry_init(init_code_str.data(), app_param)) { log_fatal("avs-ea3", "entry init failed :("); }