Merge pull request #9663 from leoetlino/mios-hle-patch

Fix IPL crash when launching MIOS-patched games
This commit is contained in:
JosJuice 2021-04-23 21:00:29 +02:00 committed by GitHub
commit f0bd6b105f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View file

@ -76,6 +76,14 @@ void Patch(u32 addr, std::string_view func_name)
void PatchFixedFunctions()
{
// MIOS puts patch data in low MEM1 (0x1800-0x3000) for its own use.
// Overwriting data in this range can cause the IPL to crash when launching games
// that get patched by MIOS. See https://bugs.dolphin-emu.org/issues/11952 for more info.
// Not applying the Gecko HLE patches means that Gecko codes will not work under MIOS,
// but this is better than the alternative of having specific games crash.
if (SConfig::GetInstance().m_is_mios)
return;
// HLE jump to loader (homebrew). Disabled when Gecko is active as it interferes with the code
// handler
if (!SConfig::GetInstance().bEnableCheats)

View file

@ -86,6 +86,7 @@ bool Load()
NOTICE_LOG_FMT(IOS, "IPL ready.");
SConfig::GetInstance().m_is_mios = true;
DVDInterface::UpdateRunningGameMetadata();
SConfig::OnNewTitleLoad();
return true;
}
} // namespace IOS::HLE::MIOS