mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +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
					
				
					 2 changed files with 2 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -15,7 +15,7 @@ const static cpu_config_t s_arm11_cpu_info = {
 | 
			
		|||
    "armv6", "arm11", 0x0007b000, 0x0007f000, NONCACHE
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ARM_DynCom::ARM_DynCom() : ticks(0) {
 | 
			
		||||
ARM_DynCom::ARM_DynCom() {
 | 
			
		||||
    state = std::unique_ptr<ARMul_State>(new ARMul_State);
 | 
			
		||||
 | 
			
		||||
    ARMul_EmulateInit();
 | 
			
		||||
| 
						 | 
				
			
			@ -74,11 +74,10 @@ void ARM_DynCom::SetCPSR(u32 cpsr) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
u64 ARM_DynCom::GetTicks() const {
 | 
			
		||||
    return ticks;
 | 
			
		||||
    return CoreTiming::GetTicks();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ARM_DynCom::AddTicks(u64 ticks) {
 | 
			
		||||
    this->ticks += ticks;
 | 
			
		||||
    down_count -= ticks;
 | 
			
		||||
    if (down_count < 0)
 | 
			
		||||
        CoreTiming::Advance();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,8 +89,5 @@ public:
 | 
			
		|||
    void ExecuteInstructions(int num_instructions) override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
    std::unique_ptr<ARMul_State> state;
 | 
			
		||||
    u64 ticks;
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue