diff options
Diffstat (limited to 'src/devices/sound/vlm5030.cpp')
-rw-r--r-- | src/devices/sound/vlm5030.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/devices/sound/vlm5030.cpp b/src/devices/sound/vlm5030.cpp index 03381d3460f..8f6e3715360 100644 --- a/src/devices/sound/vlm5030.cpp +++ b/src/devices/sound/vlm5030.cpp @@ -498,19 +498,18 @@ void vlm5030_device::st(int state) // sound_stream_update - handle a stream update //------------------------------------------------- -void vlm5030_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void vlm5030_device::sound_stream_update(sound_stream &stream) { int interp_effect; int i; int u[11]; - auto &buffer = outputs[0]; /* running */ int sampindex = 0; if (m_phase == PH_RUN || m_phase == PH_STOP) { /* playing speech */ - for ( ; sampindex < buffer.samples(); sampindex++) + for ( ; sampindex < stream.samples(); sampindex++) { int current_val; @@ -603,7 +602,7 @@ void vlm5030_device::sound_stream_update(sound_stream &stream, std::vector<read_ m_x[0] = u[0]; /* clipping, buffering */ - buffer.put_int_clamp(sampindex, u[0], 512); + stream.put_int_clamp(0, sampindex, u[0], 512); /* sample count */ m_sample_count--; @@ -622,7 +621,7 @@ phase_stop: switch (m_phase) { case PH_SETUP: - if (m_sample_count <= buffer.samples()) + if (m_sample_count <= stream.samples()) { m_sample_count = 0; /* logerror("VLM5030 BSY=H\n"); */ @@ -631,11 +630,11 @@ phase_stop: } else { - m_sample_count -= buffer.samples(); + m_sample_count -= stream.samples(); } break; case PH_END: - if (m_sample_count <= buffer.samples()) + if (m_sample_count <= stream.samples()) { m_sample_count = 0; /* logerror("VLM5030 BSY=L\n"); */ @@ -644,10 +643,7 @@ phase_stop: } else { - m_sample_count -= buffer.samples(); + m_sample_count -= stream.samples(); } } - - /* silent buffering */ - buffer.fill(0, sampindex); } |