T6W28: fix noise reset on all duty macro steps

issue #2665
This commit is contained in:
tildearrow 2025-09-05 13:26:52 -05:00
parent aa67f78d36
commit 0da42f18a6

View file

@ -129,7 +129,7 @@ void DivPlatformT6W28::tick(bool sysTick) {
chan[i].freqChanged=true; chan[i].freqChanged=true;
} }
if (i==3 && chan[i].std.duty.had) { if (i==3 && chan[i].std.duty.had) {
if (chan[i].duty!=chan[i].std.duty.val) { if (chan[i].duty!=(((chan[i].std.duty.val==1)?4:0)|3)) {
chan[i].duty=((chan[i].std.duty.val==1)?4:0)|3; chan[i].duty=((chan[i].std.duty.val==1)?4:0)|3;
rWrite(1,0xe0+chan[i].duty); rWrite(1,0xe0+chan[i].duty);
} }