Mercurial > repos > blastem
changeset 929:0ee8cfcc06d1
Change where decay to sustain transition happens to match hardware when decay rate is slow or 0
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 10 Feb 2016 20:05:39 -0800 |
parents | 8bd82aead087 |
children | f33e8d88ab6f |
files | ym2612.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ym2612.c Wed Feb 10 20:04:51 2016 -0800 +++ b/ym2612.c Wed Feb 10 20:05:39 2016 -0800 @@ -298,6 +298,10 @@ ym_operator * operator = context->operators + op; ym_channel * channel = context->channels + op/4; uint8_t rate; + if (operator->env_phase == PHASE_DECAY && operator->envelope >= operator->sustain_level) { + //operator->envelope = operator->sustain_level; + operator->env_phase = PHASE_SUSTAIN; + } for(;;) { rate = operator->rates[operator->env_phase]; if (rate) { @@ -348,10 +352,6 @@ if (operator->envelope > MAX_ENVELOPE) { operator->envelope = MAX_ENVELOPE; } - if (operator->env_phase == PHASE_DECAY && operator->envelope >= operator->sustain_level) { - //operator->envelope = operator->sustain_level; - operator->env_phase = PHASE_SUSTAIN; - } } } context->current_env_op++;