diff --git a/Core/CoreTiming.cpp b/Core/CoreTiming.cpp index 1c148c86c3..1f41a6f802 100644 --- a/Core/CoreTiming.cpp +++ b/Core/CoreTiming.cpp @@ -573,6 +573,10 @@ void ForceCheck() currentMIPS->downcount = -1; // But let's not eat a bunch more time in Advance() because of this. slicelength = -1; + +#ifdef _DEBUG + _dbg_assert_msg_(CPU, cyclesExecuted >= 0, "Shouldn't have a negative cyclesExecuted"); +#endif } void Advance() @@ -613,7 +617,7 @@ void LogPendingEvents() Event *ptr = first; while (ptr) { - //INFO_LOG(TIMER, "PENDING: Now: %lld Pending: %lld Type: %d", globalTimer, ptr->time, ptr->type); + //INFO_LOG(CPU, "PENDING: Now: %lld Pending: %lld Type: %d", globalTimer, ptr->time, ptr->type); ptr = ptr->next; } } diff --git a/GPU/Debugger/Record.cpp b/GPU/Debugger/Record.cpp index 5e4d250a07..e5a85b6a44 100644 --- a/GPU/Debugger/Record.cpp +++ b/GPU/Debugger/Record.cpp @@ -767,7 +767,10 @@ static bool ExecuteSubmitCmds(void *p, u32 sz) { execListQueue.clear(); gpu->UpdateStall(execListID, execListPos); - currentMIPS->downcount -= gpu->GetListTicks(execListID) - CoreTiming::GetTicks(); + s64 listTicks = gpu->GetListTicks(execListID); + if (listTicks != -1) { + currentMIPS->downcount -= listTicks - CoreTiming::GetTicks(); + } // Make sure downcount doesn't overflow. CoreTiming::ForceCheck();