Browse code

Made Audio*/output return a minimum of 1 on a playing non-muted channel

Andrew Alderwick authored on 20/08/2021 21:43:35
Showing 1 changed files
... ...
@@ -85,10 +85,11 @@ Uint8
85 85
 apu_get_vu(Apu *c)
86 86
 {
87 87
 	int i;
88
-	Sint32 sum[2];
88
+	Sint32 sum[2] = {0, 0};
89 89
 	if(!c->advance || !c->period) return 0;
90 90
 	for(i = 0; i < 2; ++i) {
91
-		sum[i] = envelope(c, c->age) * c->volume[i] / 0x800;
91
+		if(!c->volume[i]) continue;
92
+		sum[i] = 1 + envelope(c, c->age) * c->volume[i] / 0x800;
92 93
 		if(sum[i] > 0xf) sum[i] = 0xf;
93 94
 	}
94 95
 	return (sum[0] << 4) | sum[1];