changeset 1803:a851d36e24bb

Zero offset should also impact output channels that a channel is panned away from
author Michael Pavone <pavone@retrodev.com>
date Tue, 26 Mar 2019 22:34:41 -0700
parents 1d1198f16279
children 34370330eaf3
files ym2612.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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);