aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authornotaz2011-09-20 02:29:28 +0300
committernotaz2011-09-20 02:29:28 +0300
commit587fa7de9b496a0b7fa1d52d393733886602ca83 (patch)
tree7f5e99b2dd2b1144b11532438692154037e8f674 /plugins
parent76d63edf34bea0f132d74f8b847a3a57c64572a5 (diff)
downloadpcsx_rearmed-587fa7de9b496a0b7fa1d52d393733886602ca83.tar.gz
pcsx_rearmed-587fa7de9b496a0b7fa1d52d393733886602ca83.tar.bz2
pcsx_rearmed-587fa7de9b496a0b7fa1d52d393733886602ca83.zip
spu: fix a few mixing issues
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfsound/arm_utils.s8
-rw-r--r--plugins/dfsound/spu.c2
2 files changed, 6 insertions, 4 deletions
diff --git a/plugins/dfsound/arm_utils.s b/plugins/dfsound/arm_utils.s
index a278174..6d3c974 100644
--- a/plugins/dfsound/arm_utils.s
+++ b/plugins/dfsound/arm_utils.s
@@ -42,9 +42,9 @@ mix_chan:
mc_finish:
vstmia r2!, {d2}
- cmp r1, #2
+ cmp r1, #-2
vstmiage r2!, {d3}
- cmp r1, #3
+ cmp r1, #-1
vstmiage r2!, {d4}
bx lr
@@ -87,10 +87,10 @@ mix_chan_rvb:
mcr_finish:
vstmia r2!, {d2}
vstmia r3!, {d6}
- cmp r1, #2
+ cmp r1, #-2
vstmiage r2!, {d3}
vstmiage r3!, {d7}
- cmp r1, #3
+ cmp r1, #-1
vstmiage r2!, {d4}
vstmiage r3!, {d8}
bx lr
diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c
index cb639b2..bea8414 100644
--- a/plugins/dfsound/spu.c
+++ b/plugins/dfsound/spu.c
@@ -762,6 +762,8 @@ static void *MAINThread(void *arg)
bIRQReturn=1;
lastch=ch;
lastns=ns_to=d;
+ if(d==0)
+ break;
}
MixADSR(ch, ns_from, ns_to);