diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 97f52ddac..b743a02ba 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -772,6 +772,9 @@ void DivPlatformGenesisExt::forceIns() { chan[csmChan].freqChanged=true; chan[csmChan].keyOn=true; } + if (!extMode) { + immWrite(0x27,0x00); + } } void* DivPlatformGenesisExt::getChanState(int ch) { diff --git a/src/engine/platform/ym2203ext.cpp b/src/engine/platform/ym2203ext.cpp index 062431101..4791d513e 100644 --- a/src/engine/platform/ym2203ext.cpp +++ b/src/engine/platform/ym2203ext.cpp @@ -671,6 +671,9 @@ void DivPlatformYM2203Ext::forceIns() { opChan[i].freqChanged=true; } } + if (!extMode) { + immWrite(0x27,0x00); + } } void* DivPlatformYM2203Ext::getChanState(int ch) { diff --git a/src/engine/platform/ym2608ext.cpp b/src/engine/platform/ym2608ext.cpp index e09afa182..a2e0f25a5 100644 --- a/src/engine/platform/ym2608ext.cpp +++ b/src/engine/platform/ym2608ext.cpp @@ -721,6 +721,9 @@ void DivPlatformYM2608Ext::forceIns() { opChan[i].freqChanged=true; } } + if (!extMode) { + immWrite(0x27,0x00); + } } void* DivPlatformYM2608Ext::getChanState(int ch) { diff --git a/src/engine/platform/ym2610bext.cpp b/src/engine/platform/ym2610bext.cpp index 747f3f600..7f38830b3 100644 --- a/src/engine/platform/ym2610bext.cpp +++ b/src/engine/platform/ym2610bext.cpp @@ -711,6 +711,9 @@ void DivPlatformYM2610BExt::forceIns() { opChan[i].freqChanged=true; } } + if (!extMode) { + immWrite(0x27,0x00); + } } void* DivPlatformYM2610BExt::getChanState(int ch) { diff --git a/src/engine/platform/ym2610ext.cpp b/src/engine/platform/ym2610ext.cpp index 21f38048f..9f84aa72c 100644 --- a/src/engine/platform/ym2610ext.cpp +++ b/src/engine/platform/ym2610ext.cpp @@ -711,6 +711,9 @@ void DivPlatformYM2610Ext::forceIns() { opChan[i].freqChanged=true; } } + if (!extMode) { + immWrite(0x27,0x00); + } } void* DivPlatformYM2610Ext::getChanState(int ch) {