Low level emulate the GC IPL (BIOS screen). The GC BIOS now correctly launches the game. JIT the IPL instead of interpreting it. Made LLE BIOS the default (which silently fails to HLE). Relabelled the "HLE the IPL" option to "Skip GC BIOS".
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6113 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
d5647ce997
commit
20704fca3d
|
@ -135,9 +135,9 @@ bool CBoot::LoadMapFromFilename(const std::string &_rFilename, const char *_game
|
|||
return success;
|
||||
}
|
||||
|
||||
// This function does *some* of what BS1 does: loading IPL(BS2) and jumping to it
|
||||
// It does not initialize the hardware or anything else like BS1 does
|
||||
// We should eventually just load BS1 and let it take care of everything :)
|
||||
// If ipl.bin is not found, this function does *some* of what BS1 does:
|
||||
// loading IPL(BS2) and jumping to it.
|
||||
// It does not initialize the hardware or anything else like BS1 does.
|
||||
bool CBoot::Load_BS2(const std::string& _rBootROMFilename)
|
||||
{
|
||||
// Load the whole ROM dump
|
||||
|
@ -148,10 +148,9 @@ bool CBoot::Load_BS2(const std::string& _rBootROMFilename)
|
|||
// Run the descrambler over the encrypted section containing BS1/BS2
|
||||
CEXIIPL::Descrambler((u8*)data.data()+0x100, 0x1AFE00);
|
||||
|
||||
//File::WriteStringToFile(false, data, "decrypted_bs1_bs2.bin");
|
||||
//Memory::WriteBigEData((const u8*)data.data() + 0x100, 0x81200000, 0x700);
|
||||
Memory::WriteBigEData((const u8*)data.data() + 0x100, 0x81200000, 0x700);
|
||||
Memory::WriteBigEData((const u8*)data.data() + 0x820, 0x81300000, 0x1AFE00);
|
||||
PC = 0x81300000;
|
||||
PC = 0x81200000;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -262,7 +262,7 @@ void SConfig::LoadSettings()
|
|||
ini.Get("GameList", "ListUnknown", &m_ListUnknown, true);
|
||||
|
||||
// Core
|
||||
ini.Get("Core", "HLE_BS2", &m_LocalCoreStartupParameter.bHLE_BS2, true);
|
||||
ini.Get("Core", "HLE_BS2", &m_LocalCoreStartupParameter.bHLE_BS2, false);
|
||||
ini.Get("Core", "EnableOpenCL", &m_LocalCoreStartupParameter.bEnableOpenCL, false);
|
||||
ini.Get("Core", "CPUCore", &m_LocalCoreStartupParameter.iCPUCore, 1);
|
||||
ini.Get("Core", "DSPThread", &m_LocalCoreStartupParameter.bDSPThread, false);
|
||||
|
|
|
@ -148,7 +148,7 @@ void Init(int cpu_core)
|
|||
jit = new JitIL;
|
||||
jit->Init();
|
||||
// ... but start as interpreter by default.
|
||||
mode = MODE_INTERPRETER;
|
||||
mode = MODE_JIT;
|
||||
state = CPU_STEPPING;
|
||||
|
||||
ppcState.iCache.Reset();
|
||||
|
|
|
@ -412,7 +412,7 @@ void CConfigMain::CreateGUIControls()
|
|||
|
||||
// Core Settings - Advanced
|
||||
sbAdvanced = new wxStaticBoxSizer(wxVERTICAL, GeneralPage, wxT("Advanced Settings"));
|
||||
AlwaysHLE_BS2 = new wxCheckBox(GeneralPage, ID_ALWAYS_HLE_BS2, wxT("HLE the IPL (recommended)"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
AlwaysHLE_BS2 = new wxCheckBox(GeneralPage, ID_ALWAYS_HLE_BS2, wxT("Skip GC BIOS"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
#if defined(HAVE_OPENCL) && HAVE_OPENCL
|
||||
EnableOpenCL = new wxCheckBox(GeneralPage, ID_ENABLE_OPENCL, wxT("Enable OpenCL"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue