... | ... |
@@ -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]; |