diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2011-02-01 02:15:55 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2011-02-01 02:15:55 +0000 |
| commit | f1da161879cfb46abd5680203cdc2ffad7870283 (patch) | |
| tree | 6a7087f35c8ce2e4e9d38b2844be3cbea927e13b /plugins | |
| parent | ad7c7d019ce039b9e9893ec94260f83edb581e6f (diff) | |
| download | pcsxr-f1da161879cfb46abd5680203cdc2ffad7870283.tar.gz | |
notaz:
- libpcsxcore: add handling for a branch in delay slot. This fixes explosion effect in Shadow Master. Interpreter only. (Patch #8233).
- dfsound: don't stop a channel by adsr if we have potential irq. otherwise we miss irqs, causing lockups in Misadventures of Tron Bonne (Patch #8234).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@62781 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/dfsound/adsr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/dfsound/adsr.c b/plugins/dfsound/adsr.c index 2d7eb3ae..8d353287 100644 --- a/plugins/dfsound/adsr.c +++ b/plugins/dfsound/adsr.c @@ -182,7 +182,9 @@ INLINE int MixADSR(int ch) // MIX ADSR {
EnvelopeVol=0;
EnvelopeVol_f=0;
- s_chan[ch].bOn=0;
+ // don't stop if this chan can still cause irqs
+ if(!(spuCtrl&0x40) || (s_chan[ch].pCurr > pSpuIrq && s_chan[ch].pLoop > pSpuIrq))
+ s_chan[ch].bOn=0;
}
|
