summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2015-01-08 20:01:19 -0500
committerGravatar bunnei2015-01-08 20:01:19 -0500
commit0d0d6ef31a8a347a3660c5ff64639e6a9a65b331 (patch)
tree4c04ce1ccae59017deb85c296dd3ab0de67e5c18 /src
parentMerge pull request #443 from Subv/sleep_thread (diff)
parentDynCom: Add a comment to GetTicks. (diff)
downloadyuzu-0d0d6ef31a8a347a3660c5ff64639e6a9a65b331.tar.gz
yuzu-0d0d6ef31a8a347a3660c5ff64639e6a9a65b331.tar.xz
yuzu-0d0d6ef31a8a347a3660c5ff64639e6a9a65b331.zip
Merge pull request #450 from Subv/ticks_fix
Timing: Use CoreTiming::GetTicks to keep track of ticks.
Diffstat (limited to 'src')
-rw-r--r--src/core/arm/dyncom/arm_dyncom.cpp6
-rw-r--r--src/core/arm/dyncom/arm_dyncom.h3
2 files changed, 3 insertions, 6 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index c779e3fd4..31eb879a2 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -15,7 +15,7 @@ const static cpu_config_t s_arm11_cpu_info = {
15 "armv6", "arm11", 0x0007b000, 0x0007f000, NONCACHE 15 "armv6", "arm11", 0x0007b000, 0x0007f000, NONCACHE
16}; 16};
17 17
18ARM_DynCom::ARM_DynCom() : ticks(0) { 18ARM_DynCom::ARM_DynCom() {
19 state = std::unique_ptr<ARMul_State>(new ARMul_State); 19 state = std::unique_ptr<ARMul_State>(new ARMul_State);
20 20
21 ARMul_EmulateInit(); 21 ARMul_EmulateInit();
@@ -74,11 +74,11 @@ void ARM_DynCom::SetCPSR(u32 cpsr) {
74} 74}
75 75
76u64 ARM_DynCom::GetTicks() const { 76u64 ARM_DynCom::GetTicks() const {
77 return ticks; 77 // TODO(Subv): Remove ARM_DynCom::GetTicks() and use CoreTiming::GetTicks() directly once ARMemu is gone
78 return CoreTiming::GetTicks();
78} 79}
79 80
80void ARM_DynCom::AddTicks(u64 ticks) { 81void ARM_DynCom::AddTicks(u64 ticks) {
81 this->ticks += ticks;
82 down_count -= ticks; 82 down_count -= ticks;
83 if (down_count < 0) 83 if (down_count < 0)
84 CoreTiming::Advance(); 84 CoreTiming::Advance();
diff --git a/src/core/arm/dyncom/arm_dyncom.h b/src/core/arm/dyncom/arm_dyncom.h
index 7284dcd07..9e102a46e 100644
--- a/src/core/arm/dyncom/arm_dyncom.h
+++ b/src/core/arm/dyncom/arm_dyncom.h
@@ -89,8 +89,5 @@ public:
89 void ExecuteInstructions(int num_instructions) override; 89 void ExecuteInstructions(int num_instructions) override;
90 90
91private: 91private:
92
93 std::unique_ptr<ARMul_State> state; 92 std::unique_ptr<ARMul_State> state;
94 u64 ticks;
95
96}; 93};