diff --git a/Core/CoreTiming.cpp b/Core/CoreTiming.cpp index 8a9f03b46f..c01e293461 100644 --- a/Core/CoreTiming.cpp +++ b/Core/CoreTiming.cpp @@ -169,7 +169,7 @@ void Shutdown() u64 GetTicks() { - return (u64)globalTimer; + return (u64)globalTimer + slicelength - downcount; } u64 GetIdleTicks() diff --git a/GPU/GLES/DisplayListInterpreter.cpp b/GPU/GLES/DisplayListInterpreter.cpp index 7b3f0c496b..5011c74dc9 100644 --- a/GPU/GLES/DisplayListInterpreter.cpp +++ b/GPU/GLES/DisplayListInterpreter.cpp @@ -981,6 +981,10 @@ bool GLES_GPU::InterpretList() finished = false; while (!finished) { + if (!Memory::IsValidAddress(dcontext.pc)) { + ERROR_LOG(G3D, "DL PC = %08x WTF!!!!", dcontext.pc); + return true; + } if (dcontext.pc == dcontext.stallAddr) return false;