From b15c593eecadb45a8541652cce65fba406a01c65 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Fri, 6 Feb 2026 02:41:47 -0600 Subject: [PATCH] BootManager: Automatically attach Triforce Baseboard hardware. --- Source/Core/Core/BootManager.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Source/Core/Core/BootManager.cpp b/Source/Core/Core/BootManager.cpp index c5a526d262..ea26339e57 100644 --- a/Source/Core/Core/BootManager.cpp +++ b/Source/Core/Core/BootManager.cpp @@ -133,6 +133,21 @@ bool BootCore(Core::System& system, std::unique_ptr boot, if (!boot->riivolution_patches.empty()) Config::SetCurrent(Config::MAIN_FAST_DISC_SPEED, true); + if (system.IsTriforce()) + { + // Attach Triforce Baseboard hardware if not overridden in any layer. + // Users may set these in their GameConfig if they want them not automatically attached. + if (GetActiveLayerForConfig(Config::MAIN_SERIAL_PORT_1) == Config::LayerType::Base) + { + Config::SetCurrent(Config::MAIN_SERIAL_PORT_1, ExpansionInterface::EXIDeviceType::Baseboard); + } + if (GetActiveLayerForConfig(Config::GetInfoForSIDevice(0)) == Config::LayerType::Base) + { + Config::SetCurrent(Config::GetInfoForSIDevice(0), + SerialInterface::SIDevices::SIDEVICE_AM_BASEBOARD); + } + } + system.Initialize(); Core::UpdateWantDeterminism(system, /*initial*/ true);