From 77f162a0d1759e5e6fefdfddabd840ca7d4a02ec Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 4 Feb 2024 16:08:07 -0500 Subject: [PATCH] X1-010: fix wave after PCM issue #1734 --- src/engine/platform/x1_010.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/engine/platform/x1_010.cpp b/src/engine/platform/x1_010.cpp index 77d34b668..9ac523f6f 100644 --- a/src/engine/platform/x1_010.cpp +++ b/src/engine/platform/x1_010.cpp @@ -534,11 +534,21 @@ int DivPlatformX1_010::dispatch(DivCommand c) { if ((ins->type==DIV_INS_AMIGA || ins->amiga.useSample) || chan[c.chan].pcm) { if (ins->type==DIV_INS_AMIGA || ins->amiga.useSample) { chan[c.chan].furnacePCM=true; + chan[c.chan].pcm=true; } else { chan[c.chan].furnacePCM=false; + chan[c.chan].pcm=false; chan[c.chan].sampleNote=DIV_NOTE_NULL; chan[c.chan].sampleNoteDelta=0; + chWrite(c.chan,0,0); // reset + chWrite(c.chan,1,0); + chWrite(c.chan,2,0); + chWrite(c.chan,4,0); + chWrite(c.chan,5,0); + updateWave(c.chan); } + } + if (chan[c.chan].pcm) { if (skipRegisterWrites) break; if (chan[c.chan].furnacePCM) { chan[c.chan].pcm=true;