diff options
| author | SND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-01-09 01:51:21 +0000 |
|---|---|---|
| committer | SND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-01-09 01:51:21 +0000 |
| commit | 7a8afe38dd2b25fa6045a60c87b588af5def659e (patch) | |
| tree | 697e1dbba4ab3ebf4b5e1c573f91ca460498c4e8 /plugins | |
| parent | f5df9147d46216814d91b0b902307329833ae5c2 (diff) | |
| download | pcsxr-7a8afe38dd2b25fa6045a60c87b588af5def659e.tar.gz | |
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
Diffstat (limited to 'plugins')
| -rwxr-xr-x | plugins/dfsound/spu.c | 6 |
1 files changed, 3 insertions, 3 deletions
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; } } } |
