diff options
| author | skidau <skidau@gmail.com> | 2011-03-03 11:37:12 +0000 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2011-03-03 11:37:12 +0000 |
| commit | 1e2d9223429e8bc52dab71fb2033f60dd72dea40 (patch) | |
| tree | 5936332ca06bbd3eede66c4430a65d8f830f6c4a /Source/Core | |
| parent | 540238cf79ae76a60585fcb5c6364279f820872e (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.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/Core/Src/PowerPC/PowerPC.cpp | 5 |
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(); |
