From f1da161879cfb46abd5680203cdc2ffad7870283 Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Tue, 1 Feb 2011 02:15:55 +0000 Subject: 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 --- plugins/dfsound/adsr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'plugins') 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; } -- cgit v1.2.3