diff --git a/src/engine/platform/opl.cpp b/src/engine/platform/opl.cpp index e76d033f4..512e857cb 100644 --- a/src/engine/platform/opl.cpp +++ b/src/engine/platform/opl.cpp @@ -286,8 +286,8 @@ void DivPlatformOPL::acquire_nuked(short* bufL, short* bufR, size_t start, size_ adpcmB->output<2>(aOut,0); if (!isMuted[adpcmChan]) { - os[0]+=aOut.data[0]; - os[1]+=aOut.data[0]; + os[0]-=aOut.data[0]>>3; + os[1]-=aOut.data[0]>>3; oscBuf[adpcmChan]->data[oscBuf[adpcmChan]->needle++]+=aOut.data[0]; } else { oscBuf[adpcmChan]->data[oscBuf[adpcmChan]->needle++]=0;