From 7eeaac23e737eb66dfeb2add315a44d8a185df6d Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 11 Nov 2016 20:31:48 -0500 Subject: [PATCH] Reversed myself. I once again do not think the clock is divided by 256 for envelopes. --- Components/AY38910/AY38910.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Components/AY38910/AY38910.cpp b/Components/AY38910/AY38910.cpp index db8249cf1..b5a0641b4 100644 --- a/Components/AY38910/AY38910.cpp +++ b/Components/AY38910/AY38910.cpp @@ -124,7 +124,7 @@ void AY38910::get_samples(unsigned int number_of_samples, int16_t *target) if(_envelope_divider) _envelope_divider--; else { - _envelope_divider = _envelope_period * 16; + _envelope_divider = _envelope_period; _envelope_position ++; if(_envelope_position == 32) _envelope_position = _envelope_overflow_masks[_output_registers[13]]; } @@ -215,12 +215,12 @@ void AY38910::set_register_value(uint8_t value) case 11: _envelope_period = (_envelope_period & ~0xff) | value; - _envelope_divider = _envelope_period * 16; + _envelope_divider = _envelope_period; break; case 12: _envelope_period = (_envelope_period & 0xff) | (int)(value << 8); - _envelope_divider = _envelope_period * 16; + _envelope_divider = _envelope_period; break; case 13: