SID3:change reset duty strategy

This commit is contained in:
tildearrow 2024-09-17 00:44:13 -05:00
parent 05ddfec301
commit 3ade67a889

View file

@ -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;
}