diff options
author | 2018-08-31 22:36:54 +0200 | |
---|---|---|
committer | 2018-08-31 22:36:54 +0200 | |
commit | 27e30dd243a58fc3c51f3eb5fff47792ee9ad163 (patch) | |
tree | eefed90a138353cbcd0bbaa19f7ec4c0aa2241fd | |
parent | 25035d3ac0ed0dc1ab103f7e9044cc02ad54b47a (diff) |
zsg2.cpp: properly reset emphasis filter state at key on
zsg2.cpp: update documentation
-rw-r--r-- | src/devices/sound/zsg2.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/devices/sound/zsg2.cpp b/src/devices/sound/zsg2.cpp index 6e97ce01f43..bac1d065ba6 100644 --- a/src/devices/sound/zsg2.cpp +++ b/src/devices/sound/zsg2.cpp @@ -10,7 +10,7 @@ --------------------------------------------------------- Register map: - 000-5fe : Channel specific registers + 000-5fe : Channel specific registers (48 channels) (high) (low) +000 : xxxxxxxx -------- : Start address (low) +000 : -------- xxxxxxxx : Unknown register (usually cleared) @@ -27,7 +27,7 @@ +010 : xxxxxxxx xxxxxxxx : Initial filter time constant +012 : xxxxxxxx xxxxxxxx : Current filter time constant +014 : xxxxxxxx xxxxxxxx : Initial volume - +016 : xxxxxxxx xxxxxxxx : Current volume + +016 : xxxxxxxx xxxxxxxx : Current volume? +018 : xxxxxxxx xxxxxxxx : Target filter time constant +01a : xxxxxxxx -------- : DSP ch 1 (chorus) output gain : -------- xxxxxxxx : Filter ramping speed @@ -85,7 +85,7 @@ TODO: - Filter and ramping behavior might not be perfect. -- sometimes clicking / popping noises +- clicking / popping noises in gdarius, raystorm: maybe the sample ROMs are bad dumps? - memory reads out of range sometimes */ @@ -309,10 +309,11 @@ void zsg2_device::sound_stream_update(sound_stream &stream, stream_sample_t **in elem.status &= ~STATUS_ACTIVE; continue; } - - if(elem.cur_pos == elem.start_pos) - elem.emphasis_filter_state = EMPHASIS_INITIAL_BIAS; } + + if(elem.cur_pos == elem.start_pos) + elem.emphasis_filter_state = EMPHASIS_INITIAL_BIAS; + elem.step_ptr &= 0xffff; filter_samples(&elem); } |