summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-09-01 14:21:29 +0200
committerbunnei <bunneidev@gmail.com>2015-09-01 14:21:29 +0200
commit5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f (patch)
tree1d359c29f40c6f816a8a5e4852c074c0c698d93a
parentMerge pull request #1083 from yuriks/microprofile-vs2015 (diff)
parentSVC: Advance time when calling GetSystemTick to escape busy-wait loops (diff)
downloadyuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar.gz
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar.bz2
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar.lz
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar.xz
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.tar.zst
yuzu-5e3536f66f5ea1a3e96112ab83b41bb2b1c55f8f.zip
-rw-r--r--src/core/hle/svc.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 19f750d72..45d5f3c5d 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -755,7 +755,10 @@ static void SleepThread(s64 nanoseconds) {
/// This returns the total CPU ticks elapsed since the CPU was powered-on
static s64 GetSystemTick() {
- return (s64)CoreTiming::GetTicks();
+ s64 result = CoreTiming::GetTicks();
+ // Advance time to defeat dumb games (like Cubic Ninja) that busy-wait for the frame to end.
+ Core::g_app_core->AddTicks(150); // Measured time between two calls on a 9.2 o3DS with Ninjhax 1.1b
+ return result;
}
/// Creates a memory block at the specified address with the specified permissions and size