From: notaz Date: Sat, 5 Jan 2013 02:05:56 +0000 (+0200) Subject: spu: fix decode offset X-Git-Tag: r18~11 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=commitdiff_plain;h=ee9afdbd4d9e0aee75dd9e17878c76f1c7236d04 spu: fix decode offset --- diff --git a/plugins/dfsound/spu.c b/plugins/dfsound/spu.c index a190b29b..b89ab1af 100644 --- a/plugins/dfsound/spu.c +++ b/plugins/dfsound/spu.c @@ -671,12 +671,13 @@ static void noinline do_decode_bufs(int which, int start, int count) { const int *src = ChanBuf + start; unsigned short *dst = &spuMem[0x800/2 + which*0x400/2]; - int cursor = decode_pos; + int cursor = decode_pos + start; while (count-- > 0) { + cursor &= 0x1ff; dst[cursor] = *src++; - cursor = (cursor + 1) & 0x1ff; + cursor++; } // decode_pos is updated and irqs are checked later, after voice loop