# HG changeset patch # User Michael Pavone # Date 1553664881 25200 # Node ID a851d36e24bbf52a66629bd6cb1f7759b0fc25c8 # Parent 1d1198f162794e20744548b7040ce18fb145770b Zero offset should also impact output channels that a channel is panned away from diff -r 1d1198f16279 -r a851d36e24bb ym2612.c --- a/ym2612.c Tue Mar 26 22:27:23 2019 -0700 +++ b/ym2612.c Tue Mar 26 22:34:41 2019 -0700 @@ -592,9 +592,21 @@ } if (context->channels[i].lr & 0x80) { left += (value * context->volume_mult) / context->volume_div; + } else if (context->zero_offset) { + if (value >= 0) { + left += (context->zero_offset * context->volume_mult) / context->volume_div; + } else { + left -= (context->zero_offset * context->volume_mult) / context->volume_div; + } } if (context->channels[i].lr & 0x40) { right += (value * context->volume_mult) / context->volume_div; + } else if (context->zero_offset) { + if (value >= 0) { + right += (context->zero_offset * context->volume_mult) / context->volume_div; + } else { + right -= (context->zero_offset * context->volume_mult) / context->volume_div; + } } } render_put_stereo_sample(context->audio, left, right);