From 587fa7de9b496a0b7fa1d52d393733886602ca83 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 20 Sep 2011 02:29:28 +0300 Subject: [PATCH] spu: fix a few mixing issues --- plugins/dfsound/arm_utils.s | 8 ++++---- plugins/dfsound/spu.c | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/dfsound/arm_utils.s b/plugins/dfsound/arm_utils.s index a278174d..6d3c9744 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 cb639b26..bea8414e 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); -- 2.39.2