From 3ade67a889ecd6816f4893cbec17b6a5cca29f28 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 17 Sep 2024 00:44:13 -0500 Subject: [PATCH] SID3:change reset duty strategy --- src/engine/platform/sid3.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/engine/platform/sid3.cpp b/src/engine/platform/sid3.cpp index 831e8abea..c579fce8c 100644 --- a/src/engine/platform/sid3.cpp +++ b/src/engine/platform/sid3.cpp @@ -856,12 +856,6 @@ int DivPlatformSID3::dispatch(DivCommand c) { chan[c.chan].sr=ins->sid3.sr; chan[c.chan].release=ins->sid3.r; - if(ins->sid3.resetDuty) - { - chan[c.chan].duty=ins->sid3.duty; - updateDuty(c.chan); - } - chan[c.chan].sync = ins->sid3.oscSync; chan[c.chan].ring = ins->sid3.ringMod; chan[c.chan].phase = ins->sid3.phase_mod; @@ -913,6 +907,11 @@ int DivPlatformSID3::dispatch(DivCommand c) { } } } + if(ins->sid3.resetDuty||chan[c.chan].insChanged) + { + chan[c.chan].duty=ins->sid3.duty; + updateDuty(c.chan); + } if (chan[c.chan].insChanged) { chan[c.chan].insChanged=false; }