T6W28: actually fix the phase reset issue

issue #2665
This commit is contained in:
tildearrow 2025-09-07 04:34:59 -05:00
parent d0c4fb0b42
commit 3a66e0ceee

View file

@ -153,8 +153,10 @@ void DivPlatformT6W28::tick(bool sysTick) {
chan[i].freqChanged=true; chan[i].freqChanged=true;
} }
if (chan[i].std.phaseReset.had) { if (chan[i].std.phaseReset.had) {
if (chan[i].std.phaseReset.val==1) {
rWrite(1,0xe0+chan[i].duty); rWrite(1,0xe0+chan[i].duty);
} }
}
if (chan[i].freqChanged || chan[i].keyOn || chan[i].keyOff) { if (chan[i].freqChanged || chan[i].keyOn || chan[i].keyOff) {
chan[i].freq=snCalcFreq(i); chan[i].freq=snCalcFreq(i);
if (chan[i].freq<0) chan[i].freq=0; if (chan[i].freq<0) chan[i].freq=0;