mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Update cycles and explanation
This commit is contained in:
		
							parent
							
								
									3a1601a534
								
							
						
					
					
						commit
						a0e8255b65
					
				
					 1 changed files with 6 additions and 11 deletions
				
			
		|  | @ -48,18 +48,13 @@ void DspHle::serialize(Archive& ar, const unsigned int) { | |||
| SERIALIZE_IMPL(DspHle) | ||||
| 
 | ||||
| // TODO(xperia64): The value below is the "perfect" mathematical ratio
 | ||||
| // of ARM11 cycles per audio frame. As per merry, this was calculated to be
 | ||||
| // (ARM11 freq)*(samples per frame)/(sample rate)
 | ||||
| // = (268,111,855.956 Hz) * (160 samples)/(32,728 Hz)
 | ||||
| // = (1310739.946008311...) ~ 1310740
 | ||||
| // of ARM11 cycles per audio frame, as per merry's suggestion
 | ||||
| // samples per frame * teaklite cycles per sample * 2 ARM11 cycles/teaklite cycle
 | ||||
| // (160 * 4096 * 2) = (1310720)
 | ||||
| //
 | ||||
| // This value was originally set to 1310252, which was determined by measuring it on hardware
 | ||||
| // However, as of when this was written, Project Mirai 1/2/DX desync on HLE
 | ||||
| // such that the music track runs ahead of the gameplay.
 | ||||
| // When the value is set to 1310740, all three games are playable
 | ||||
| // The audio track only drifts ~1ms over a 4+ minute song compared to hardware
 | ||||
| // and the button presses match as well as I can determine by playing the game/recording
 | ||||
| static constexpr u64 audio_frame_ticks = 1310740ull; ///< Units: ARM11 cycles
 | ||||
| // As per merry, it may be useful to verify this on hardware with the more recently
 | ||||
| // discovered "correct" ARM11 frequency of 268111856 as opposed to 268123480
 | ||||
| static constexpr u64 audio_frame_ticks = 160 * 4096 * 2ull; ///< Units: ARM11 cycles
 | ||||
| 
 | ||||
| struct DspHle::Impl final { | ||||
| public: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue