From ffe8b5ed9c04c47360e95138ad2a87fdebcbb54d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 19 Aug 2023 02:54:19 -0500 Subject: [PATCH] ExtCh: fix forceIns after 1800 --- src/engine/platform/genesisext.cpp | 3 +++ src/engine/platform/ym2203ext.cpp | 3 +++ src/engine/platform/ym2608ext.cpp | 3 +++ src/engine/platform/ym2610bext.cpp | 3 +++ src/engine/platform/ym2610ext.cpp | 3 +++ 5 files changed, 15 insertions(+) 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) {