From 2f6c2d63c33675d475f26a3d01ccb231dc20637a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 2 May 2025 14:39:34 -0500 Subject: [PATCH] OPL3: fix 4-op mode ignoring ins change issue #2457 --- src/engine/platform/opl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index fd813bb38..79088cb0e 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -1763,7 +1763,7 @@ void DivPlatformOPL::commitState(int ch, DivInstrument* ins) { int DivPlatformOPL::dispatch(DivCommand c) { if (c.chan>=totalChans && c.chan!=adpcmChan) return 0; // ineffective in 4-op mode - if (oplType==3 && c.chan!=adpcmChan && c.chan<14 && (c.chan&1) && c.cmd!=DIV_CMD_GET_VOLMAX) { + if (oplType==3 && c.chan!=adpcmChan && c.chan<14 && (c.chan&1) && c.cmd!=DIV_CMD_GET_VOLMAX && c.cmd!=DIV_CMD_INSTRUMENT) { if (chan[c.chan-1].fourOp) return 0; } switch (c.cmd) {