diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp index 6d8c1091df..f08fbc7183 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp @@ -699,6 +699,7 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) { LoadWAD(Common::CreateTitleContentPath(TitleID)); CDolLoader DolLoader(pContent->m_pData, pContent->m_Size); + DolLoader.Load(); // TODO: Check why sysmenu does not load the DOL correctly PC = DolLoader.GetEntryPoint() | 0x80000000; IOSv = ContentLoader.GetIosVersion(); bSuccess = true; diff --git a/Source/Core/Core/Src/PowerPC/PowerPC.cpp b/Source/Core/Core/Src/PowerPC/PowerPC.cpp index 1cea48f6e1..3283c3f8e6 100644 --- a/Source/Core/Core/Src/PowerPC/PowerPC.cpp +++ b/Source/Core/Core/Src/PowerPC/PowerPC.cpp @@ -115,6 +115,11 @@ void ResetRegisters() ppcState.npc = 0; ppcState.Exceptions = 0; + for (int i = 0; i < 8; i++) + { + ppcState.cr_fast[i] = 0; + } + TL = 0; TU = 0; SystemTimers::TimeBaseSet();