From 7a8afe38dd2b25fa6045a60c87b588af5def659e Mon Sep 17 00:00:00 2001 From: "SND\\notaz_cp" Date: Wed, 9 Jan 2013 01:51:21 +0000 Subject: spu: don't subtract cycles on bIRQReturn this was causing underflows, because no samples were generated, but cycles were used up, breaking FMVs (Chrono Cross intro FMV). git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@82138 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- plugins/dfsound/spu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'plugins') diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index c19be6e9..5f5ecf11 100755 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -1125,8 +1125,6 @@ void CALLBACK SPUasync(unsigned long cycle) iSpuAsyncWait++; if(iSpuAsyncWait<=64) return; iSpuAsyncWait=0; - - cpu_cycles = cycle; } #ifdef _WINDOWS @@ -1155,7 +1153,9 @@ void CALLBACK SPUasync(unsigned long cycle) MAINThread(0); // -> linux high-compat mode #endif - cpu_cycles -= CPU_CLOCK / 44100 * NSSIZE; + if (iSpuAsyncWait) + break; + cpu_cycles -= CPU_CLOCK / 44100 * NSSIZE; } } } -- cgit v1.2.3