diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index e0f23d5f9..d3dfd685e 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -160,7 +160,9 @@ int DivPlatformGenesis::dispatch(DivCommand c) { unsigned short baseAddr=chanOffs[c.chan]|opOffs[i]; DivInstrumentFM::Operator op=ins->fm.op[i]; if (isOutput[ins->fm.alg][i]) { - rWrite(baseAddr+0x40,127-(((127-op.tl)*(chan[c.chan].vol&0x7f))/127)); + if (!chan[c.chan].active) { + rWrite(baseAddr+0x40,127-(((127-op.tl)*(chan[c.chan].vol&0x7f))/127)); + } } else { if (chan[c.chan].insChanged) { rWrite(baseAddr+0x40,op.tl);