From fe2da0019a1294ef530bdfa5f6083cfc69951300 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 16 Jun 2023 13:34:03 -0500 Subject: [PATCH] YM2612: fix DualPCM chan osc sustain issue #1162 --- src/engine/platform/genesis.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 9f905105..8e92c40f 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -188,9 +188,11 @@ void DivPlatformGenesis::acquire_nuked(short** buf, size_t len) { oscBuf[6]->data[oscBuf[6]->needle++]=chan[6].dacOutput<<7; } else { oscBuf[i]->data[oscBuf[i]->needle++]=fm.dacdata<<7; + oscBuf[6]->data[oscBuf[6]->needle++]=0; } } else { oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm.ch_out[i]<<(chipType==2?2:7),-32768,32767); + oscBuf[6]->data[oscBuf[6]->needle++]=0; } } else { oscBuf[i]->data[oscBuf[i]->needle++]=CLAMP(fm.ch_out[i]<<(chipType==2?2:7),-32768,32767); @@ -251,9 +253,11 @@ void DivPlatformGenesis::acquire_ymfm(short** buf, size_t len) { oscBuf[6]->data[oscBuf[6]->needle++]=chan[6].dacOutput<<7; } else { oscBuf[i]->data[oscBuf[i]->needle++]=fm_ymfm->debug_dac_data()<<7; + oscBuf[6]->data[oscBuf[6]->needle++]=0; } } else { oscBuf[i]->data[oscBuf[i]->needle++]=chOut; + oscBuf[6]->data[oscBuf[6]->needle++]=0; } } else { oscBuf[i]->data[oscBuf[i]->needle++]=chOut;