From 0b70902dbe4e29f663cc51f9d6d25b2dfb019acf Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 29 Jun 2022 01:40:03 -0500 Subject: [PATCH] OPLL: fix per-channel osc, part 2 --- src/engine/platform/opll.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engine/platform/opll.cpp b/src/engine/platform/opll.cpp index 2549c96fc..85fd551af 100644 --- a/src/engine/platform/opll.cpp +++ b/src/engine/platform/opll.cpp @@ -129,12 +129,12 @@ void DivPlatformOPLL::acquire_nuked(short* bufL, short* bufR, size_t start, size unsigned char nextOut=cycleMapOPLL[fm.cycles]; if ((nextOut>=6 && properDrums) || !isMuted[nextOut]) { os+=(o[0]+o[1]); - if (vrc7) oscBuf[nextOut]->data[oscBuf[nextOut]->needle++]=(o[0]+o[1])<<6; + if (vrc7 || fm.rm_enable) oscBuf[nextOut]->data[oscBuf[nextOut]->needle++]=(o[0]+o[1])<<6; } else { - if (vrc7) oscBuf[nextOut]->data[oscBuf[nextOut]->needle++]=0; + if (vrc7 || fm.rm_enable) oscBuf[nextOut]->data[oscBuf[nextOut]->needle++]=0; } } - if (!vrc7) for (int i=0; i<9; i++) { + if (!(vrc7 || fm.rm_enable)) for (int i=0; i<9; i++) { unsigned char ch=visMapOPLL[i]; if ((i>=6 && properDrums) || !isMuted[ch]) { oscBuf[ch]->data[oscBuf[ch]->needle++]=(fm.output_ch[i])<<6;