[Project64] Initialize base system first

This commit is contained in:
zilmar 2017-01-03 16:40:56 +11:00
parent 02e2168740
commit 2ea9fd21e5
1 changed files with 9 additions and 10 deletions

View File

@ -507,16 +507,15 @@ void CN64System::StartEmulation2(bool NewThread)
g_Settings->SaveDword(Game_CurrentSaveState, g_Settings->LoadDefaultDword(Game_CurrentSaveState)); g_Settings->SaveDword(Game_CurrentSaveState, g_Settings->LoadDefaultDword(Game_CurrentSaveState));
WriteTrace(TraceN64System, TraceDebug, "Setting system as active"); WriteTrace(TraceN64System, TraceDebug, "Setting system as active");
bool bSetActive = true; bool bSetActive = SetActiveSystem();
if (m_SyncCPU) if (bSetActive && m_SyncCPU)
{ {
bSetActive = m_SyncCPU->SetActiveSystem(); bSetActive = m_SyncCPU->SetActiveSystem();
}
if (bSetActive) if (bSetActive)
{ {
bSetActive = SetActiveSystem(); bSetActive = SetActiveSystem();
} }
}
WriteTrace(TraceN64System, TraceDebug, "Setting system as active"); WriteTrace(TraceN64System, TraceDebug, "Setting system as active");
if (!m_Plugins->Reset(this) || !m_Plugins->initilized()) if (!m_Plugins->Reset(this) || !m_Plugins->initilized())
@ -688,7 +687,7 @@ void CN64System::Reset(bool bInitReg, bool ClearMenory)
m_Plugins->RomClosed(); m_Plugins->RomClosed();
m_Plugins->RomOpened(); m_Plugins->RomOpened();
} }
if (m_SyncCPU) if (m_SyncCPU && m_SyncCPU->m_MMU_VM.Rdram() != NULL)
{ {
m_SyncCPU->Reset(bInitReg, ClearMenory); m_SyncCPU->Reset(bInitReg, ClearMenory);
} }
@ -1644,7 +1643,7 @@ bool CN64System::SaveState()
g_Settings->SaveDword(Game_LastSaveTime, (uint32_t)time(NULL)); g_Settings->SaveDword(Game_LastSaveTime, (uint32_t)time(NULL));
if (g_Settings->LoadDword(Setting_AutoZipInstantSave)) if (g_Settings->LoadDword(Setting_AutoZipInstantSave))
{ {
SaveFile=ZipFile; SaveFile = ZipFile;
} }
g_Notify->DisplayMessage(5, stdstr_f("%s %s", g_Lang->GetString(MSG_SAVED_STATE).c_str(), stdstr(SaveFile.GetNameExtension()).c_str()).c_str()); g_Notify->DisplayMessage(5, stdstr_f("%s %s", g_Lang->GetString(MSG_SAVED_STATE).c_str(), stdstr(SaveFile.GetNameExtension()).c_str()).c_str());
WriteTrace(TraceN64System, TraceDebug, "Done"); WriteTrace(TraceN64System, TraceDebug, "Done");
@ -1682,7 +1681,7 @@ bool CN64System::LoadState()
if (g_Settings->LoadDword(Setting_AutoZipInstantSave)) if (g_Settings->LoadDword(Setting_AutoZipInstantSave))
{ {
FileName=ZipFileName; FileName = ZipFileName;
} }
if ((g_Settings->LoadDword(Setting_AutoZipInstantSave) && ZipFileName.Exists()) || FileName.Exists()) if ((g_Settings->LoadDword(Setting_AutoZipInstantSave) && ZipFileName.Exists()) || FileName.Exists())
{ {