comparison ym2612.c @ 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 ce6881d64eef
comparison
equal deleted inserted replaced
1802:1d1198f16279 1803:a851d36e24bb
590 if (context->channels[i].logfile) { 590 if (context->channels[i].logfile) {
591 fwrite(&value, sizeof(value), 1, context->channels[i].logfile); 591 fwrite(&value, sizeof(value), 1, context->channels[i].logfile);
592 } 592 }
593 if (context->channels[i].lr & 0x80) { 593 if (context->channels[i].lr & 0x80) {
594 left += (value * context->volume_mult) / context->volume_div; 594 left += (value * context->volume_mult) / context->volume_div;
595 } else if (context->zero_offset) {
596 if (value >= 0) {
597 left += (context->zero_offset * context->volume_mult) / context->volume_div;
598 } else {
599 left -= (context->zero_offset * context->volume_mult) / context->volume_div;
600 }
595 } 601 }
596 if (context->channels[i].lr & 0x40) { 602 if (context->channels[i].lr & 0x40) {
597 right += (value * context->volume_mult) / context->volume_div; 603 right += (value * context->volume_mult) / context->volume_div;
604 } else if (context->zero_offset) {
605 if (value >= 0) {
606 right += (context->zero_offset * context->volume_mult) / context->volume_div;
607 } else {
608 right -= (context->zero_offset * context->volume_mult) / context->volume_div;
609 }
598 } 610 }
599 } 611 }
600 render_put_stereo_sample(context->audio, left, right); 612 render_put_stereo_sample(context->audio, left, right);
601 } 613 }
602 614