diff --git a/Source/Core/Core/Src/Boot/Boot.cpp b/Source/Core/Core/Src/Boot/Boot.cpp index b11b237285..961857e5b7 100644 --- a/Source/Core/Core/Src/Boot/Boot.cpp +++ b/Source/Core/Core/Src/Boot/Boot.cpp @@ -109,6 +109,8 @@ void CBoot::EmulatedBIOS(bool _bDebug) UReg_MSR& m_MSR = ((UReg_MSR&)PowerPC::ppcState.msr); m_MSR.FP = 1; + Memory::Clear(); + //TODO: Game iso info to 0x80000000 according to yagcd - or does apploader do this? Memory::Write_U32(0x4c000064, 0x80000300); // write default DFI Handler: rfi diff --git a/Source/Core/Core/Src/HW/Memmap.cpp b/Source/Core/Core/Src/HW/Memmap.cpp index 3e9660a653..3c3ffa7419 100644 --- a/Source/Core/Core/Src/HW/Memmap.cpp +++ b/Source/Core/Core/Src/HW/Memmap.cpp @@ -581,11 +581,13 @@ bool Shutdown() void Clear() { if (m_pRAM) - memset(m_pRAM,0,RAM_SIZE); + memset(m_pRAM, 0, RAM_SIZE); if (m_pL1Cache) - memset(m_pL1Cache,0,L1_CACHE_SIZE); + memset(m_pL1Cache, 0, L1_CACHE_SIZE); if (m_pEFB) - memset(m_pEFB,0,EFB_SIZE); + memset(m_pEFB, 0, EFB_SIZE); + if (Core::GetStartupParameter().bWii && m_pEXRAM) + memset(m_pEXRAM, 0, EXRAM_SIZE); }