From 0b2de3b933c510d865d832af8297ef0c0b682c80 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 9 Jul 2023 14:17:52 -0500 Subject: [PATCH] YM2612: fix DAC mute not respecting queue, part 2 --- src/engine/platform/genesis.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 53ad298ca..1933a057b 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -122,10 +122,6 @@ void DivPlatformGenesis::processDAC(int iRate) { urgentWrite(0x2a,(unsigned char)sample+0x80); chan[5].dacReady=false; } - } else { - if (chan[5].dacReady && writes.size()<16) { - urgentWrite(0x2a,0x80); - } } chan[5].dacPos++; if (!chan[5].dacDirection && (s->isLoopable() && chan[5].dacPos>=(unsigned int)s->loopEnd)) { @@ -597,6 +593,7 @@ void DivPlatformGenesis::muteChannel(int ch, bool mute) { isMuted[ch]=mute; if (ch>6) return; if (ch<6) { + if (ch==5) immWrite(0x2a,0x80); for (int j=0; j<4; j++) { unsigned short baseAddr=chanOffs[ch]|opOffs[j]; DivInstrumentFM::Operator& op=chan[ch].state.op[j];