mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-24 15:01:16 +01:00
Fix bug that made it impossible to even try to boot LLE bios (not tested). Also add ability for Patches/ INI files to override dual core and optimizequant.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@94 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
27a141ecca
commit
7894e6c9e9
@ -168,7 +168,7 @@ void CBoot::EmulatedBIOS(bool _bDebug)
|
|||||||
u32 iLength = Memory::ReadUnchecked_U32(0x81300008);
|
u32 iLength = Memory::ReadUnchecked_U32(0x81300008);
|
||||||
u32 iDVDOffset = Memory::ReadUnchecked_U32(0x8130000c);
|
u32 iDVDOffset = Memory::ReadUnchecked_U32(0x8130000c);
|
||||||
|
|
||||||
LOG(MASTER_LOG, "DVDRead: offset: %08x memOffse: %08x length: %i", iDVDOffset, iRamAddress, iLength);
|
LOG(MASTER_LOG, "DVDRead: offset: %08x memOffset: %08x length: %i", iDVDOffset, iRamAddress, iLength);
|
||||||
DVDInterface::DVDRead(iDVDOffset, iRamAddress, iLength);
|
DVDInterface::DVDRead(iDVDOffset, iRamAddress, iLength);
|
||||||
|
|
||||||
} while(PowerPC::ppcState.gpr[3] != 0x00);
|
} while(PowerPC::ppcState.gpr[3] != 0x00);
|
||||||
|
@ -103,7 +103,6 @@ bool Init(const SCoreStartupParameter _CoreParameter)
|
|||||||
Host_SetWaitCursor(true);
|
Host_SetWaitCursor(true);
|
||||||
|
|
||||||
g_CoreStartupParameter = _CoreParameter;
|
g_CoreStartupParameter = _CoreParameter;
|
||||||
// Init the Hardware
|
|
||||||
|
|
||||||
// start the thread again
|
// start the thread again
|
||||||
_dbg_assert_(HLE, g_pThread == NULL);
|
_dbg_assert_(HLE, g_pThread == NULL);
|
||||||
|
@ -64,7 +64,7 @@ bool SCoreStartupParameter::AutoSetup(EBootBios _BootBios)
|
|||||||
PanicAlert("Your GCM/ISO file seems to be invalid, or not a GC/Wii ISO.");
|
PanicAlert("Your GCM/ISO file seems to be invalid, or not a GC/Wii ISO.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
m_strUniqueID = pVolume->GetUniqueID();
|
||||||
bWii = DiscIO::IsVolumeWiiDisc(*pVolume);
|
bWii = DiscIO::IsVolumeWiiDisc(*pVolume);
|
||||||
|
|
||||||
switch (pVolume->GetCountry())
|
switch (pVolume->GetCountry())
|
||||||
|
@ -79,12 +79,14 @@ struct SCoreStartupParameter
|
|||||||
std::string m_strMemoryCardB;
|
std::string m_strMemoryCardB;
|
||||||
std::string m_strSRAM;
|
std::string m_strSRAM;
|
||||||
std::string m_strDefaultGCM;
|
std::string m_strDefaultGCM;
|
||||||
|
std::string m_strUniqueID;
|
||||||
|
|
||||||
//
|
//
|
||||||
SCoreStartupParameter();
|
SCoreStartupParameter();
|
||||||
|
|
||||||
void LoadDefaults();
|
void LoadDefaults();
|
||||||
bool AutoSetup(EBootBios _BootBios);
|
bool AutoSetup(EBootBios _BootBios);
|
||||||
|
const std::string &GetUniqueID() const { return m_strUniqueID; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
#include "IniFile.h"
|
||||||
#include "BootManager.h"
|
#include "BootManager.h"
|
||||||
#include "ISOFile.h"
|
#include "ISOFile.h"
|
||||||
#include "Volume.h"
|
#include "Volume.h"
|
||||||
@ -57,11 +58,10 @@ bool BootCore(const std::string& _rFilename)
|
|||||||
StartUp.bUseDynarec = true;
|
StartUp.bUseDynarec = true;
|
||||||
}
|
}
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
StartUp.bUseDynarec = false;//Never use Dynarec in Linux, crashes
|
StartUp.bUseDynarec = false;//Never use Dynarec in Linux, crashes
|
||||||
#endif
|
#endif
|
||||||
StartUp.m_BootType = SCoreStartupParameter::BOOT_ISO;
|
StartUp.m_BootType = SCoreStartupParameter::BOOT_ISO;
|
||||||
StartUp.m_strFilename = _rFilename;
|
StartUp.m_strFilename = _rFilename;
|
||||||
StartUp.bHLEBios = true;
|
|
||||||
StartUp.bRunCompareClient = false;
|
StartUp.bRunCompareClient = false;
|
||||||
StartUp.bRunCompareServer = false;
|
StartUp.bRunCompareServer = false;
|
||||||
StartUp.bEnableDebugging = g_pCodeWindow ? true : false; // RUNNING_DEBUG
|
StartUp.bEnableDebugging = g_pCodeWindow ? true : false; // RUNNING_DEBUG
|
||||||
@ -70,8 +70,17 @@ bool BootCore(const std::string& _rFilename)
|
|||||||
StartUp.hInstance = wxGetInstance();
|
StartUp.hInstance = wxGetInstance();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
|
||||||
StartUp.AutoSetup(SCoreStartupParameter::BOOT_DEFAULT);
|
StartUp.AutoSetup(SCoreStartupParameter::BOOT_DEFAULT);
|
||||||
|
|
||||||
|
// Load overrides
|
||||||
|
IniFile ini;
|
||||||
|
std::string unique_id = StartUp.GetUniqueID();
|
||||||
|
if (unique_id.size() == 6 && ini.Load(("Patches/" + unique_id + ".ini").c_str()))
|
||||||
|
{
|
||||||
|
ini.Get("Core", "UseDualCore", &StartUp.bUseDualCore, StartUp.bUseDualCore);
|
||||||
|
ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
||||||
|
}
|
||||||
|
|
||||||
StartUp.hMainWindow = main_frame->GetRenderHandle();
|
StartUp.hMainWindow = main_frame->GetRenderHandle();
|
||||||
|
|
||||||
// init the core
|
// init the core
|
||||||
|
Loading…
x
Reference in New Issue
Block a user