From b370621a3afb093e7d296c87bb053c8394f94917 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 6 Jul 2014 01:08:44 -0700 Subject: [PATCH] Fix sceCtrl buffer update timing drift. Spotted by xsacha. Only when not using vblank timing (most commonly used by games.) --- Core/HLE/sceCtrl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/HLE/sceCtrl.cpp b/Core/HLE/sceCtrl.cpp index 0c369c32b3..a31f87f671 100644 --- a/Core/HLE/sceCtrl.cpp +++ b/Core/HLE/sceCtrl.cpp @@ -289,7 +289,7 @@ void __CtrlTimerUpdate(u64 userdata, int cyclesLate) // This only runs in timer mode (ctrlCycle > 0.) _dbg_assert_msg_(SCECTRL, ctrlCycle > 0, "Ctrl: sampling cycle should be > 0"); - CoreTiming::ScheduleEvent(usToCycles(ctrlCycle), ctrlTimer, 0); + CoreTiming::ScheduleEvent(usToCycles(ctrlCycle) - cyclesLate, ctrlTimer, 0); __CtrlDoSample(); }