This commit is contained in:
tildearrow 2022-03-15 22:06:09 -05:00
commit 32da1e94ed

View file

@ -339,7 +339,7 @@ void DivPlatformX1_010::updateEnvelope(int ch) {
} }
chWrite(ch,5,0x10|(ch&0xf)); chWrite(ch,5,0x10|(ch&0xf));
} else { } else {
chWrite(ch,1,(chan[ch].lvol<<4)|chan[ch].rvol); chWrite(ch,1,isMuted[ch]?0:((chan[ch].lvol<<4)|chan[ch].rvol));
} }
} }
@ -459,10 +459,8 @@ void DivPlatformX1_010::tick() {
} }
} }
if (chan[i].envChanged) { if (chan[i].envChanged) {
if (!isMuted[i]) { chan[i].lvol=isMuted[i]?0:(((chan[i].outVol&0xf)*((chan[i].pan>>4)&0xf))/15);
chan[i].lvol=((chan[i].outVol&0xf)*((chan[i].pan>>4)&0xf))/15; chan[i].rvol=isMuted[i]?0:(((chan[i].outVol&0xf)*((chan[i].pan>>0)&0xf))/15);
chan[i].rvol=((chan[i].outVol&0xf)*((chan[i].pan>>0)&0xf))/15;
}
updateEnvelope(i); updateEnvelope(i);
chan[i].envChanged=false; chan[i].envChanged=false;
} }
@ -661,9 +659,7 @@ int DivPlatformX1_010::dispatch(DivCommand c) {
if (chan[c.chan].pcm!=(c.value&1)) { if (chan[c.chan].pcm!=(c.value&1)) {
chan[c.chan].pcm=c.value&1; chan[c.chan].pcm=c.value&1;
chan[c.chan].freqChanged=true; chan[c.chan].freqChanged=true;
if (!isMuted[c.chan]) { chan[c.chan].envChanged=true;
chan[c.chan].envChanged=true;
}
} }
break; break;
case DIV_CMD_SAMPLE_BANK: case DIV_CMD_SAMPLE_BANK: