From a27f76590ffa1caeb2ffe8e9c89c7e665bf6f5ba Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 11 Jun 2025 18:10:51 -0500 Subject: [PATCH] VIC-20: fix on/off or note off during forceIns() for real this time issue #2539 --- src/engine/platform/vic20.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/vic20.cpp b/src/engine/platform/vic20.cpp index 6f74b6e0a..0a3e763a2 100644 --- a/src/engine/platform/vic20.cpp +++ b/src/engine/platform/vic20.cpp @@ -284,13 +284,13 @@ void DivPlatformVIC20::muteChannel(int ch, bool mute) { void DivPlatformVIC20::forceIns() { for (int i=0; i<4; i++) { chan[i].insChanged=true; - // I give up! - if (chan[i].onOff) { + if (chan[i].onOff && chan[i].active) { chan[i].freqChanged=true; } else { chan[i].freqChanged=false; chan[i].keyOff=true; chan[i].keyOn=false; + chan[i].waveWriteCycle=-1; } writeOutVol(i); }