shithub: riscv

Download patch

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)