Small fix for loading wii dol/elfs with no disc present. Now EmulatedBS2() returns true only if apploader has run (since if it hasn't, we need to load the code ourselves)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4695 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman 2009-12-14 19:24:55 +00:00
parent 66b1eb1f08
commit 19f3ed11c7
1 changed files with 6 additions and 2 deletions

View File

@ -308,6 +308,7 @@ bool CBoot::EmulatedBS2_Wii()
VolumeHandler::ReadToPtr(Memory::GetPointer(0x3180), 0, 4); VolumeHandler::ReadToPtr(Memory::GetPointer(0x3180), 0, 4);
// Execute the apploader // Execute the apploader
bool apploaderRan = false;
if (VolumeHandler::IsValid() && VolumeHandler::IsWii()) if (VolumeHandler::IsValid() && VolumeHandler::IsWii())
{ {
UReg_MSR& m_MSR = ((UReg_MSR&)PowerPC::ppcState.msr); UReg_MSR& m_MSR = ((UReg_MSR&)PowerPC::ppcState.msr);
@ -376,6 +377,8 @@ bool CBoot::EmulatedBS2_Wii()
DEBUG_LOG(BOOT, "Run iAppLoaderClose"); DEBUG_LOG(BOOT, "Run iAppLoaderClose");
RunFunction(iAppLoaderClose); RunFunction(iAppLoaderClose);
apploaderRan = true;
// Pass the "#002 check" // Pass the "#002 check"
// Apploader writes the IOS version and revision here, we copy it // Apploader writes the IOS version and revision here, we copy it
// Fake IOSv9 r2.4 if no version is found (elf loading) // Fake IOSv9 r2.4 if no version is found (elf loading)
@ -392,9 +395,10 @@ bool CBoot::EmulatedBS2_Wii()
PowerPC::ppcState.DebugCount = 0; PowerPC::ppcState.DebugCount = 0;
return true; return apploaderRan;
} }
// Returns true if apploader has run successfully
bool CBoot::EmulatedBS2(bool _bIsWii) bool CBoot::EmulatedBS2(bool _bIsWii)
{ {
return _bIsWii ? EmulatedBS2_Wii() : EmulatedBS2_GC(); return _bIsWii ? EmulatedBS2_Wii() : EmulatedBS2_GC();