[Project64] Make sure logs are restarted in save states

This commit is contained in:
zilmar 2016-07-03 16:34:47 +10:00
parent 433c76446b
commit febb99305b
1 changed files with 55 additions and 55 deletions

View File

@ -437,7 +437,7 @@ bool CN64System::EmulationStarting(CThread * thread)
void CN64System::StartEmulation2(bool NewThread) void CN64System::StartEmulation2(bool NewThread)
{ {
WriteTrace(TraceN64System, TraceDebug, "Start (NewThread: %s)",NewThread ? "true" : "false"); WriteTrace(TraceN64System, TraceDebug, "Start (NewThread: %s)", NewThread ? "true" : "false");
if (NewThread) if (NewThread)
{ {
if (bHaveDebugger()) if (bHaveDebugger())
@ -450,7 +450,7 @@ void CN64System::StartEmulation2(bool NewThread)
CInterpreterCPU::BuildCPU(); CInterpreterCPU::BuildCPU();
uint32_t CpuType = g_Settings->LoadDword(Game_CpuType); uint32_t CpuType = g_Settings->LoadDword(Game_CpuType);
WriteTrace(TraceN64System, TraceDebug, "CpuType = %d",CpuType); WriteTrace(TraceN64System, TraceDebug, "CpuType = %d", CpuType);
if (CpuType == CPU_SyncCores && !g_Settings->LoadBool(Debugger_Enabled)) if (CpuType == CPU_SyncCores && !g_Settings->LoadBool(Debugger_Enabled))
{ {
g_Settings->SaveDword(Game_CpuType, CPU_Recompiler); g_Settings->SaveDword(Game_CpuType, CPU_Recompiler);
@ -1482,21 +1482,21 @@ bool CN64System::SaveState()
zipWriteInFileInZip(file, g_Rom->GetRomAddress(), 0x40); zipWriteInFileInZip(file, g_Rom->GetRomAddress(), 0x40);
zipWriteInFileInZip(file, &NextViTimer, sizeof(uint32_t)); zipWriteInFileInZip(file, &NextViTimer, sizeof(uint32_t));
zipWriteInFileInZip(file, &m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER)); zipWriteInFileInZip(file, &m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER));
zipWriteInFileInZip(file, m_Reg.m_GPR, sizeof(int64_t) * 32); zipWriteInFileInZip(file, m_Reg.m_GPR, sizeof(int64_t)* 32);
zipWriteInFileInZip(file, m_Reg.m_FPR, sizeof(int64_t) * 32); zipWriteInFileInZip(file, m_Reg.m_FPR, sizeof(int64_t)* 32);
zipWriteInFileInZip(file, m_Reg.m_CP0, sizeof(uint32_t) * 32); zipWriteInFileInZip(file, m_Reg.m_CP0, sizeof(uint32_t)* 32);
zipWriteInFileInZip(file, m_Reg.m_FPCR, sizeof(uint32_t) * 32); zipWriteInFileInZip(file, m_Reg.m_FPCR, sizeof(uint32_t)* 32);
zipWriteInFileInZip(file, &m_Reg.m_HI, sizeof(int64_t)); zipWriteInFileInZip(file, &m_Reg.m_HI, sizeof(int64_t));
zipWriteInFileInZip(file, &m_Reg.m_LO, sizeof(int64_t)); zipWriteInFileInZip(file, &m_Reg.m_LO, sizeof(int64_t));
zipWriteInFileInZip(file, m_Reg.m_RDRAM_Registers, sizeof(uint32_t) * 10); zipWriteInFileInZip(file, m_Reg.m_RDRAM_Registers, sizeof(uint32_t)* 10);
zipWriteInFileInZip(file, m_Reg.m_SigProcessor_Interface, sizeof(uint32_t) * 10); zipWriteInFileInZip(file, m_Reg.m_SigProcessor_Interface, sizeof(uint32_t)* 10);
zipWriteInFileInZip(file, m_Reg.m_Display_ControlReg, sizeof(uint32_t) * 10); zipWriteInFileInZip(file, m_Reg.m_Display_ControlReg, sizeof(uint32_t)* 10);
zipWriteInFileInZip(file, m_Reg.m_Mips_Interface, sizeof(uint32_t) * 4); zipWriteInFileInZip(file, m_Reg.m_Mips_Interface, sizeof(uint32_t)* 4);
zipWriteInFileInZip(file, m_Reg.m_Video_Interface, sizeof(uint32_t) * 14); zipWriteInFileInZip(file, m_Reg.m_Video_Interface, sizeof(uint32_t)* 14);
zipWriteInFileInZip(file, m_Reg.m_Audio_Interface, sizeof(uint32_t) * 6); zipWriteInFileInZip(file, m_Reg.m_Audio_Interface, sizeof(uint32_t)* 6);
zipWriteInFileInZip(file, m_Reg.m_Peripheral_Interface, sizeof(uint32_t) * 13); zipWriteInFileInZip(file, m_Reg.m_Peripheral_Interface, sizeof(uint32_t)* 13);
zipWriteInFileInZip(file, m_Reg.m_RDRAM_Interface, sizeof(uint32_t) * 8); zipWriteInFileInZip(file, m_Reg.m_RDRAM_Interface, sizeof(uint32_t)* 8);
zipWriteInFileInZip(file, m_Reg.m_SerialInterface, sizeof(uint32_t) * 4); zipWriteInFileInZip(file, m_Reg.m_SerialInterface, sizeof(uint32_t)* 4);
zipWriteInFileInZip(file, (void *const)&m_TLB.TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32); zipWriteInFileInZip(file, (void *const)&m_TLB.TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32);
zipWriteInFileInZip(file, m_MMU_VM.PifRam(), 0x40); zipWriteInFileInZip(file, m_MMU_VM.PifRam(), 0x40);
zipWriteInFileInZip(file, m_MMU_VM.Rdram(), RdramSize); zipWriteInFileInZip(file, m_MMU_VM.Rdram(), RdramSize);
@ -1532,21 +1532,21 @@ bool CN64System::SaveState()
hSaveFile.Write(g_Rom->GetRomAddress(), 0x40); hSaveFile.Write(g_Rom->GetRomAddress(), 0x40);
hSaveFile.Write(&NextViTimer, sizeof(uint32_t)); hSaveFile.Write(&NextViTimer, sizeof(uint32_t));
hSaveFile.Write(&m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER)); hSaveFile.Write(&m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER));
hSaveFile.Write(m_Reg.m_GPR, sizeof(int64_t) * 32); hSaveFile.Write(m_Reg.m_GPR, sizeof(int64_t)* 32);
hSaveFile.Write(m_Reg.m_FPR, sizeof(int64_t) * 32); hSaveFile.Write(m_Reg.m_FPR, sizeof(int64_t)* 32);
hSaveFile.Write(m_Reg.m_CP0, sizeof(uint32_t) * 32); hSaveFile.Write(m_Reg.m_CP0, sizeof(uint32_t)* 32);
hSaveFile.Write(m_Reg.m_FPCR, sizeof(uint32_t) * 32); hSaveFile.Write(m_Reg.m_FPCR, sizeof(uint32_t)* 32);
hSaveFile.Write(&m_Reg.m_HI, sizeof(int64_t)); hSaveFile.Write(&m_Reg.m_HI, sizeof(int64_t));
hSaveFile.Write(&m_Reg.m_LO, sizeof(int64_t)); hSaveFile.Write(&m_Reg.m_LO, sizeof(int64_t));
hSaveFile.Write(m_Reg.m_RDRAM_Registers, sizeof(uint32_t) * 10); hSaveFile.Write(m_Reg.m_RDRAM_Registers, sizeof(uint32_t)* 10);
hSaveFile.Write(m_Reg.m_SigProcessor_Interface, sizeof(uint32_t) * 10); hSaveFile.Write(m_Reg.m_SigProcessor_Interface, sizeof(uint32_t)* 10);
hSaveFile.Write(m_Reg.m_Display_ControlReg, sizeof(uint32_t) * 10); hSaveFile.Write(m_Reg.m_Display_ControlReg, sizeof(uint32_t)* 10);
hSaveFile.Write(m_Reg.m_Mips_Interface, sizeof(uint32_t) * 4); hSaveFile.Write(m_Reg.m_Mips_Interface, sizeof(uint32_t)* 4);
hSaveFile.Write(m_Reg.m_Video_Interface, sizeof(uint32_t) * 14); hSaveFile.Write(m_Reg.m_Video_Interface, sizeof(uint32_t)* 14);
hSaveFile.Write(m_Reg.m_Audio_Interface, sizeof(uint32_t) * 6); hSaveFile.Write(m_Reg.m_Audio_Interface, sizeof(uint32_t)* 6);
hSaveFile.Write(m_Reg.m_Peripheral_Interface, sizeof(uint32_t) * 13); hSaveFile.Write(m_Reg.m_Peripheral_Interface, sizeof(uint32_t)* 13);
hSaveFile.Write(m_Reg.m_RDRAM_Interface, sizeof(uint32_t) * 8); hSaveFile.Write(m_Reg.m_RDRAM_Interface, sizeof(uint32_t)* 8);
hSaveFile.Write(m_Reg.m_SerialInterface, sizeof(uint32_t) * 4); hSaveFile.Write(m_Reg.m_SerialInterface, sizeof(uint32_t)* 4);
hSaveFile.Write(&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32); hSaveFile.Write(&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32);
hSaveFile.Write(g_MMU->PifRam(), 0x40); hSaveFile.Write(g_MMU->PifRam(), 0x40);
hSaveFile.Write(g_MMU->Rdram(), RdramSize); hSaveFile.Write(g_MMU->Rdram(), RdramSize);
@ -1691,21 +1691,21 @@ bool CN64System::LoadState(const char * FileName)
g_Settings->SaveDword(Game_RDRamSize, SaveRDRAMSize); g_Settings->SaveDword(Game_RDRamSize, SaveRDRAMSize);
unzReadCurrentFile(file, &NextVITimer, sizeof(NextVITimer)); unzReadCurrentFile(file, &NextVITimer, sizeof(NextVITimer));
unzReadCurrentFile(file, &m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER)); unzReadCurrentFile(file, &m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER));
unzReadCurrentFile(file, m_Reg.m_GPR, sizeof(int64_t) * 32); unzReadCurrentFile(file, m_Reg.m_GPR, sizeof(int64_t)* 32);
unzReadCurrentFile(file, m_Reg.m_FPR, sizeof(int64_t) * 32); unzReadCurrentFile(file, m_Reg.m_FPR, sizeof(int64_t)* 32);
unzReadCurrentFile(file, m_Reg.m_CP0, sizeof(uint32_t) * 32); unzReadCurrentFile(file, m_Reg.m_CP0, sizeof(uint32_t)* 32);
unzReadCurrentFile(file, m_Reg.m_FPCR, sizeof(uint32_t) * 32); unzReadCurrentFile(file, m_Reg.m_FPCR, sizeof(uint32_t)* 32);
unzReadCurrentFile(file, &m_Reg.m_HI, sizeof(int64_t)); unzReadCurrentFile(file, &m_Reg.m_HI, sizeof(int64_t));
unzReadCurrentFile(file, &m_Reg.m_LO, sizeof(int64_t)); unzReadCurrentFile(file, &m_Reg.m_LO, sizeof(int64_t));
unzReadCurrentFile(file, m_Reg.m_RDRAM_Registers, sizeof(uint32_t) * 10); unzReadCurrentFile(file, m_Reg.m_RDRAM_Registers, sizeof(uint32_t)* 10);
unzReadCurrentFile(file, m_Reg.m_SigProcessor_Interface, sizeof(uint32_t) * 10); unzReadCurrentFile(file, m_Reg.m_SigProcessor_Interface, sizeof(uint32_t)* 10);
unzReadCurrentFile(file, m_Reg.m_Display_ControlReg, sizeof(uint32_t) * 10); unzReadCurrentFile(file, m_Reg.m_Display_ControlReg, sizeof(uint32_t)* 10);
unzReadCurrentFile(file, m_Reg.m_Mips_Interface, sizeof(uint32_t) * 4); unzReadCurrentFile(file, m_Reg.m_Mips_Interface, sizeof(uint32_t)* 4);
unzReadCurrentFile(file, m_Reg.m_Video_Interface, sizeof(uint32_t) * 14); unzReadCurrentFile(file, m_Reg.m_Video_Interface, sizeof(uint32_t)* 14);
unzReadCurrentFile(file, m_Reg.m_Audio_Interface, sizeof(uint32_t) * 6); unzReadCurrentFile(file, m_Reg.m_Audio_Interface, sizeof(uint32_t)* 6);
unzReadCurrentFile(file, m_Reg.m_Peripheral_Interface, sizeof(uint32_t) * 13); unzReadCurrentFile(file, m_Reg.m_Peripheral_Interface, sizeof(uint32_t)* 13);
unzReadCurrentFile(file, m_Reg.m_RDRAM_Interface, sizeof(uint32_t) * 8); unzReadCurrentFile(file, m_Reg.m_RDRAM_Interface, sizeof(uint32_t)* 8);
unzReadCurrentFile(file, m_Reg.m_SerialInterface, sizeof(uint32_t) * 4); unzReadCurrentFile(file, m_Reg.m_SerialInterface, sizeof(uint32_t)* 4);
unzReadCurrentFile(file, (void *const)&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32); unzReadCurrentFile(file, (void *const)&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32);
unzReadCurrentFile(file, m_MMU_VM.PifRam(), 0x40); unzReadCurrentFile(file, m_MMU_VM.PifRam(), 0x40);
unzReadCurrentFile(file, m_MMU_VM.Rdram(), SaveRDRAMSize); unzReadCurrentFile(file, m_MMU_VM.Rdram(), SaveRDRAMSize);
@ -1758,21 +1758,21 @@ bool CN64System::LoadState(const char * FileName)
hSaveFile.Read(&NextVITimer, sizeof(NextVITimer)); hSaveFile.Read(&NextVITimer, sizeof(NextVITimer));
hSaveFile.Read(&m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER)); hSaveFile.Read(&m_Reg.m_PROGRAM_COUNTER, sizeof(m_Reg.m_PROGRAM_COUNTER));
hSaveFile.Read(m_Reg.m_GPR, sizeof(int64_t) * 32); hSaveFile.Read(m_Reg.m_GPR, sizeof(int64_t)* 32);
hSaveFile.Read(m_Reg.m_FPR, sizeof(int64_t) * 32); hSaveFile.Read(m_Reg.m_FPR, sizeof(int64_t)* 32);
hSaveFile.Read(m_Reg.m_CP0, sizeof(uint32_t) * 32); hSaveFile.Read(m_Reg.m_CP0, sizeof(uint32_t)* 32);
hSaveFile.Read(m_Reg.m_FPCR, sizeof(uint32_t) * 32); hSaveFile.Read(m_Reg.m_FPCR, sizeof(uint32_t)* 32);
hSaveFile.Read(&m_Reg.m_HI, sizeof(int64_t)); hSaveFile.Read(&m_Reg.m_HI, sizeof(int64_t));
hSaveFile.Read(&m_Reg.m_LO, sizeof(int64_t)); hSaveFile.Read(&m_Reg.m_LO, sizeof(int64_t));
hSaveFile.Read(m_Reg.m_RDRAM_Registers, sizeof(uint32_t) * 10); hSaveFile.Read(m_Reg.m_RDRAM_Registers, sizeof(uint32_t)* 10);
hSaveFile.Read(m_Reg.m_SigProcessor_Interface, sizeof(uint32_t) * 10); hSaveFile.Read(m_Reg.m_SigProcessor_Interface, sizeof(uint32_t)* 10);
hSaveFile.Read(m_Reg.m_Display_ControlReg, sizeof(uint32_t) * 10); hSaveFile.Read(m_Reg.m_Display_ControlReg, sizeof(uint32_t)* 10);
hSaveFile.Read(m_Reg.m_Mips_Interface, sizeof(uint32_t) * 4); hSaveFile.Read(m_Reg.m_Mips_Interface, sizeof(uint32_t)* 4);
hSaveFile.Read(m_Reg.m_Video_Interface, sizeof(uint32_t) * 14); hSaveFile.Read(m_Reg.m_Video_Interface, sizeof(uint32_t)* 14);
hSaveFile.Read(m_Reg.m_Audio_Interface, sizeof(uint32_t) * 6); hSaveFile.Read(m_Reg.m_Audio_Interface, sizeof(uint32_t)* 6);
hSaveFile.Read(m_Reg.m_Peripheral_Interface, sizeof(uint32_t) * 13); hSaveFile.Read(m_Reg.m_Peripheral_Interface, sizeof(uint32_t)* 13);
hSaveFile.Read(m_Reg.m_RDRAM_Interface, sizeof(uint32_t) * 8); hSaveFile.Read(m_Reg.m_RDRAM_Interface, sizeof(uint32_t)* 8);
hSaveFile.Read(m_Reg.m_SerialInterface, sizeof(uint32_t) * 4); hSaveFile.Read(m_Reg.m_SerialInterface, sizeof(uint32_t)* 4);
hSaveFile.Read((void *const)&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32); hSaveFile.Read((void *const)&g_TLB->TlbEntry(0), sizeof(CTLB::TLB_ENTRY) * 32);
hSaveFile.Read(m_MMU_VM.PifRam(), 0x40); hSaveFile.Read(m_MMU_VM.PifRam(), 0x40);
hSaveFile.Read(m_MMU_VM.Rdram(), SaveRDRAMSize); hSaveFile.Read(m_MMU_VM.Rdram(), SaveRDRAMSize);
@ -1836,8 +1836,8 @@ bool CN64System::LoadState(const char * FileName)
WriteTrace(TraceN64System, TraceDebug, "9"); WriteTrace(TraceN64System, TraceDebug, "9");
if (bLogX86Code()) if (bLogX86Code())
{ {
Start_Recompiler_Log();
Stop_Recompiler_Log(); Stop_Recompiler_Log();
Start_Recompiler_Log();
} }
WriteTrace(TraceN64System, TraceDebug, "Done"); WriteTrace(TraceN64System, TraceDebug, "Done");