mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Timing: Use CoreTiming::GetTicks to keep track of ticks.
This will keep track of idle ticks for us, and fixes some tickcount-related issues
This commit is contained in:
		
							parent
							
								
									cf1bbe8705
								
							
						
					
					
						commit
						620d77b7e3
					
				| @ -15,7 +15,7 @@ const static cpu_config_t s_arm11_cpu_info = { | |||||||
|     "armv6", "arm11", 0x0007b000, 0x0007f000, NONCACHE |     "armv6", "arm11", 0x0007b000, 0x0007f000, NONCACHE | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| ARM_DynCom::ARM_DynCom() : ticks(0) { | ARM_DynCom::ARM_DynCom() { | ||||||
|     state = std::unique_ptr<ARMul_State>(new ARMul_State); |     state = std::unique_ptr<ARMul_State>(new ARMul_State); | ||||||
| 
 | 
 | ||||||
|     ARMul_EmulateInit(); |     ARMul_EmulateInit(); | ||||||
| @ -74,11 +74,10 @@ void ARM_DynCom::SetCPSR(u32 cpsr) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| u64 ARM_DynCom::GetTicks() const { | u64 ARM_DynCom::GetTicks() const { | ||||||
|     return ticks; |     return CoreTiming::GetTicks(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void ARM_DynCom::AddTicks(u64 ticks) { | void ARM_DynCom::AddTicks(u64 ticks) { | ||||||
|     this->ticks += ticks; |  | ||||||
|     down_count -= ticks; |     down_count -= ticks; | ||||||
|     if (down_count < 0) |     if (down_count < 0) | ||||||
|         CoreTiming::Advance(); |         CoreTiming::Advance(); | ||||||
|  | |||||||
| @ -89,8 +89,5 @@ public: | |||||||
|     void ExecuteInstructions(int num_instructions) override; |     void ExecuteInstructions(int num_instructions) override; | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
| 
 |  | ||||||
|     std::unique_ptr<ARMul_State> state; |     std::unique_ptr<ARMul_State> state; | ||||||
|     u64 ticks; |  | ||||||
| 
 |  | ||||||
| }; | }; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Subv
						Subv