From 77987bf31e51f841519c0c5006dc2df500675cba Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 9 Nov 2016 21:51:56 -0500 Subject: [PATCH] Decided to go with divide by 256 for the envelope counter after all. --- 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 b5a0641b4..db8249cf1 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; + _envelope_divider = _envelope_period * 16; _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; + _envelope_divider = _envelope_period * 16; break; case 12: _envelope_period = (_envelope_period & 0xff) | (int)(value << 8); - _envelope_divider = _envelope_period; + _envelope_divider = _envelope_period * 16; break; case 13: