ref: 52b54097bf23ed4f14e82ff21b24f39827055448
parent: 79cf39c53ab311f61fd3a3826cefeaead6342601
author: Michael Forney <mforney@mforney.org>
date: Wed Feb 17 06:19:39 EST 2021
games/snes: fix BRR decoding with filters 2 and 3 s1 and s2 should store the last and next to last output, but were set in the wrong order, causing them both to be the last output. This breaks filters 2 and 3, which both utilize s2.
--- a/sys/src/games/snes/dsp.c
+++ b/sys/src/games/snes/dsp.c
@@ -275,8 +275,8 @@
d = (s16int)(clamp16(d) << 1);
p->buf[p->bp] = d;
p->buf[p->bp++ + 12] = d;
- s1 = d;
s2 = s1;
+ s1 = d;
brr <<= 4;
}
if(p->bp == 12)