diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 84504f84b..84bb7e814 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -350,6 +350,8 @@ void DivPlatformArcade::tick() { for (int i=0; i<8; i++) { if (chan[i].freqChanged) { chan[i].freq=chan[i].baseFreq+(chan[i].pitch>>1)-64; + if (chan[i].freq<0) chan[i].freq=0; + if (chan[i].freq>=(95<<6)) chan[i].freq=(95<<6)-1; immWrite(i+0x28,hScale(chan[i].freq>>6)); immWrite(i+0x30,chan[i].freq<<2); chan[i].freqChanged=false;