summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2011-03-03 11:37:12 +0000
committerskidau <skidau@gmail.com>2011-03-03 11:37:12 +0000
commit1e2d9223429e8bc52dab71fb2033f60dd72dea40 (patch)
tree5936332ca06bbd3eede66c4430a65d8f830f6c4a /Source/Core
parent540238cf79ae76a60585fcb5c6364279f820872e (diff)
Fixed channel loading from the Wii System Menu. The DOL is not being loaded properly by the system probably due to caching. Wiimotes will need to be manually reconnected after the channel loads.
Also fixed a small bug in the PowerPC ResetRegisters function (clearing CRFast). git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7281 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp1
-rw-r--r--Source/Core/Core/Src/PowerPC/PowerPC.cpp5
2 files changed, 6 insertions, 0 deletions
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();