diff --git a/src/engine/platform/n163.cpp b/src/engine/platform/n163.cpp index ead44cc1e..1063349df 100644 --- a/src/engine/platform/n163.cpp +++ b/src/engine/platform/n163.cpp @@ -207,7 +207,7 @@ void DivPlatformN163::tick(bool sysTick) { } } if (chan[i].std.wave.had) { - if (chan[i].wave!=chan[i].std.wave.val) { + if (chan[i].wave!=chan[i].std.wave.val || chan[i].ws.activeChanged()) { chan[i].wave=chan[i].std.wave.val; chan[i].ws.changeWave1(chan[i].wave); if (chan[i].waveMode&0x2) { diff --git a/src/engine/waveSynth.cpp b/src/engine/waveSynth.cpp index 25f68eac2..cdb696881 100644 --- a/src/engine/waveSynth.cpp +++ b/src/engine/waveSynth.cpp @@ -27,6 +27,7 @@ bool DivWaveSynth::activeChanged() { activeChangedB=false; return true; } + if (first) return true; return false; }