HLE: Do not clobber 0x1800-0x3000 when using MIOS to fix IPL crash
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.
This commit is contained in:
parent
4d37dad20d
commit
568428ca67
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue