From abb242a6e160d4eab5b5818d8aaa1881334a3253 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 22 Apr 2024 13:58:42 -0500 Subject: [PATCH] OPNA/B: fix ADPCM-A volume not restoring in forceI ns --- src/engine/platform/ym2608.cpp | 1 + src/engine/platform/ym2610.cpp | 1 + src/engine/platform/ym2610b.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/src/engine/platform/ym2608.cpp b/src/engine/platform/ym2608.cpp index 378ce4a43..81f469faa 100644 --- a/src/engine/platform/ym2608.cpp +++ b/src/engine/platform/ym2608.cpp @@ -1438,6 +1438,7 @@ void DivPlatformYM2608::forceIns() { chan[i].freqChanged=true; } } + immWrite(0x11,globalRSSVolume&0x3f); immWrite(0x22,lfoValue); for (int i=9; i<16; i++) { chan[i].insChanged=true; diff --git a/src/engine/platform/ym2610.cpp b/src/engine/platform/ym2610.cpp index 6753744e2..79d5169ad 100644 --- a/src/engine/platform/ym2610.cpp +++ b/src/engine/platform/ym2610.cpp @@ -1403,6 +1403,7 @@ void DivPlatformYM2610::forceIns() { chan[i].freqChanged=true; } } + immWrite(0x101,globalADPCMAVolume&0x3f); immWrite(0x22,lfoValue); for (int i=adpcmAChanOffs; i<=adpcmBChanOffs; i++) { chan[i].insChanged=true; diff --git a/src/engine/platform/ym2610b.cpp b/src/engine/platform/ym2610b.cpp index e01077d56..54ef9a956 100644 --- a/src/engine/platform/ym2610b.cpp +++ b/src/engine/platform/ym2610b.cpp @@ -1470,6 +1470,7 @@ void DivPlatformYM2610B::forceIns() { chan[i].freqChanged=true; } } + immWrite(0x101,globalADPCMAVolume&0x3f); immWrite(0x22,lfoValue); for (int i=adpcmAChanOffs; i<=adpcmBChanOffs; i++) { chan[i].insChanged=true;