diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 6bd4e203..2ce2a1eb 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -345,7 +345,7 @@ void DivPlatformArcade::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 0c9d94d1..40ef34a5 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -345,7 +345,7 @@ void DivPlatformGenesis::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index c81fb6da..f2eb1055 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -392,7 +392,7 @@ void DivPlatformOPL::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/opll.cpp b/src/engine/platform/opll.cpp index 0b3274e4..81710f05 100644 --- a/src/engine/platform/opll.cpp +++ b/src/engine/platform/opll.cpp @@ -189,7 +189,7 @@ void DivPlatformOPLL::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/tx81z.cpp b/src/engine/platform/tx81z.cpp index ca3e7492..c853a250 100644 --- a/src/engine/platform/tx81z.cpp +++ b/src/engine/platform/tx81z.cpp @@ -325,7 +325,7 @@ void DivPlatformTX81Z::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/ym2203.cpp b/src/engine/platform/ym2203.cpp index 057c98b7..24e092d1 100644 --- a/src/engine/platform/ym2203.cpp +++ b/src/engine/platform/ym2203.cpp @@ -381,7 +381,7 @@ void DivPlatformYM2203::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 730b6225..8782ac27 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -544,7 +544,7 @@ void DivPlatformYM2608::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index f096f8f2..7f94421e 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -588,7 +588,7 @@ void DivPlatformYM2610::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } } diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index c002f4b3..fd7c8739 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -567,7 +567,7 @@ void DivPlatformYM2610B::tick(bool sysTick) { } if (chan[i].std.phaseReset.had) { - if (chan[i].std.phaseReset.val==1) { + if (chan[i].std.phaseReset.val==1 && chan[i].active) { chan[i].keyOn=true; } }