Add support for overriding the IOS that boots with a wii game

This commit is contained in:
Zachary Lockwood 2022-03-20 09:47:06 -04:00
parent db0ca3fc96
commit 9130ad8fbe
4 changed files with 7 additions and 1 deletions

View file

@ -478,8 +478,11 @@ bool CBoot::EmulatedBS2_Wii(const DiscIO::VolumeDisc& volume,
Memory::Write_U32(0, 0x3194);
Memory::Write_U32(static_cast<u32>(data_partition.offset >> 2), 0x3198);
const s32 ios_override = Config::Get(Config::MAIN_OVERRIDE_BOOT_IOS);
const u64 ios = ios_override >= 0 ? Titles::IOS(static_cast<u32>(ios_override)) : tmd.GetIOSId();
const auto console_type = volume.GetTicket(data_partition).GetConsoleType();
if (!SetupWiiMemory(console_type) || !IOS::HLE::GetIOS()->BootIOS(tmd.GetIOSId()))
if (!SetupWiiMemory(console_type) || !IOS::HLE::GetIOS()->BootIOS(ios))
return false;
auto di =

View file

@ -182,6 +182,7 @@ const Info<std::string> MAIN_GFX_BACKEND{{System::Main, "Core", "GFXBackend"},
const Info<std::string> MAIN_GPU_DETERMINISM_MODE{{System::Main, "Core", "GPUDeterminismMode"},
"auto"};
const Info<s32> MAIN_OVERRIDE_BOOT_IOS{{System::Main, "Core", "OverrideBootIOS"}, -1};
GPUDeterminismMode GetGPUDeterminismMode()
{

View file

@ -130,6 +130,7 @@ extern const Info<bool> MAIN_ALLOW_SD_WRITES;
extern const Info<bool> MAIN_ENABLE_SAVESTATES;
extern const Info<DiscIO::Region> MAIN_FALLBACK_REGION;
extern const Info<bool> MAIN_REAL_WII_REMOTE_REPEAT_REPORTS;
extern const Info<s32> MAIN_OVERRIDE_BOOT_IOS;
// Main.DSP

View file

@ -126,6 +126,7 @@ bool IsSettingSaveable(const Config::Location& config_location)
&Config::MAIN_SYNC_GPU_MAX_DISTANCE.GetLocation(),
&Config::MAIN_SYNC_GPU_MIN_DISTANCE.GetLocation(),
&Config::MAIN_SYNC_GPU_OVERCLOCK.GetLocation(),
&Config::MAIN_OVERRIDE_BOOT_IOS.GetLocation(),
// UI.General