diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index dd12d4ac1..d62161827 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -674,6 +674,7 @@ void DivPlatformOPL::acquire_nukedLLE2(short** buf, size_t len) { void DivPlatformOPL::acquire_nukedLLE3(short** buf, size_t len) { int chOut[20]; + int ch=0; for (size_t h=0; h0) ch|=1; + + if (ch>=12 || (ch&1) || !chan[ch&(~1)].fourOp) { if (fm_lle3.op_value_debug&0x1000) { - chOut[cycleMap3[curCycle]]+=(fm_lle3.op_value_debug|0xfffff000)<<1; + chOut[ch]+=(fm_lle3.op_value_debug|0xfffff000)<<1; } else { - chOut[cycleMap3[curCycle]]+=(fm_lle3.op_value_debug)<<1; + chOut[ch]+=(fm_lle3.op_value_debug)<<1; } } curCycle++;