Add support for overriding the IOS that boots with a wii game
This commit is contained in:
parent
db0ca3fc96
commit
9130ad8fbe
|
@ -478,8 +478,11 @@ bool CBoot::EmulatedBS2_Wii(const DiscIO::VolumeDisc& volume,
|
||||||
Memory::Write_U32(0, 0x3194);
|
Memory::Write_U32(0, 0x3194);
|
||||||
Memory::Write_U32(static_cast<u32>(data_partition.offset >> 2), 0x3198);
|
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();
|
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;
|
return false;
|
||||||
|
|
||||||
auto di =
|
auto di =
|
||||||
|
|
|
@ -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"},
|
const Info<std::string> MAIN_GPU_DETERMINISM_MODE{{System::Main, "Core", "GPUDeterminismMode"},
|
||||||
"auto"};
|
"auto"};
|
||||||
|
const Info<s32> MAIN_OVERRIDE_BOOT_IOS{{System::Main, "Core", "OverrideBootIOS"}, -1};
|
||||||
|
|
||||||
GPUDeterminismMode GetGPUDeterminismMode()
|
GPUDeterminismMode GetGPUDeterminismMode()
|
||||||
{
|
{
|
||||||
|
|
|
@ -130,6 +130,7 @@ extern const Info<bool> MAIN_ALLOW_SD_WRITES;
|
||||||
extern const Info<bool> MAIN_ENABLE_SAVESTATES;
|
extern const Info<bool> MAIN_ENABLE_SAVESTATES;
|
||||||
extern const Info<DiscIO::Region> MAIN_FALLBACK_REGION;
|
extern const Info<DiscIO::Region> MAIN_FALLBACK_REGION;
|
||||||
extern const Info<bool> MAIN_REAL_WII_REMOTE_REPEAT_REPORTS;
|
extern const Info<bool> MAIN_REAL_WII_REMOTE_REPEAT_REPORTS;
|
||||||
|
extern const Info<s32> MAIN_OVERRIDE_BOOT_IOS;
|
||||||
|
|
||||||
// Main.DSP
|
// Main.DSP
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,7 @@ bool IsSettingSaveable(const Config::Location& config_location)
|
||||||
&Config::MAIN_SYNC_GPU_MAX_DISTANCE.GetLocation(),
|
&Config::MAIN_SYNC_GPU_MAX_DISTANCE.GetLocation(),
|
||||||
&Config::MAIN_SYNC_GPU_MIN_DISTANCE.GetLocation(),
|
&Config::MAIN_SYNC_GPU_MIN_DISTANCE.GetLocation(),
|
||||||
&Config::MAIN_SYNC_GPU_OVERCLOCK.GetLocation(),
|
&Config::MAIN_SYNC_GPU_OVERCLOCK.GetLocation(),
|
||||||
|
&Config::MAIN_OVERRIDE_BOOT_IOS.GetLocation(),
|
||||||
|
|
||||||
// UI.General
|
// UI.General
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue