From 248cc6d37a6c2597ef735e84e737886736eb0971 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 9 Dec 2021 03:25:00 -0500 Subject: [PATCH] properly handle note off in PCM --- src/engine/platform/genesis.cpp | 3 +++ src/engine/platform/nes.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index ae939a2bd..eb6cff0dc 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -205,6 +205,9 @@ int DivPlatformGenesis::dispatch(DivCommand c) { break; } case DIV_CMD_NOTE_OFF: + if (c.chan==5) { + dacSample=-1; + } chan[c.chan].keyOff=true; chan[c.chan].active=false; break; diff --git a/src/engine/platform/nes.cpp b/src/engine/platform/nes.cpp index 691d20a95..53df12f24 100644 --- a/src/engine/platform/nes.cpp +++ b/src/engine/platform/nes.cpp @@ -187,6 +187,7 @@ int DivPlatformNES::dispatch(DivCommand c) { } break; case DIV_CMD_NOTE_OFF: + if (c.chan==4) dacSample=-1; chan[c.chan].active=false; chan[c.chan].keyOff=true; chan[c.chan].std.init(NULL);