summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/msm5232.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/msm5232.cpp')
-rw-r--r--src/devices/sound/msm5232.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/src/devices/sound/msm5232.cpp b/src/devices/sound/msm5232.cpp
index da8fc499dc7..972b83a8c53 100644
--- a/src/devices/sound/msm5232.cpp
+++ b/src/devices/sound/msm5232.cpp
@@ -34,7 +34,7 @@ void msm5232_device::device_start()
init(clock(), rate);
- m_stream = stream_alloc_legacy(0, 11, rate);
+ m_stream = stream_alloc(0, 11, rate);
/* register with the save state system */
save_item(NAME(m_EN_out16));
@@ -725,34 +725,34 @@ void msm5232_device::set_clock(int clock)
//-------------------------------------------------
-// sound_stream_update_legacy - handle a stream update
+// sound_stream_update - handle a stream update
//-------------------------------------------------
-void msm5232_device::sound_stream_update_legacy(sound_stream &stream, stream_sample_t const * const *inputs, stream_sample_t * const *outputs, int samples)
+void msm5232_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
{
- stream_sample_t *buf1 = outputs[0];
- stream_sample_t *buf2 = outputs[1];
- stream_sample_t *buf3 = outputs[2];
- stream_sample_t *buf4 = outputs[3];
- stream_sample_t *buf5 = outputs[4];
- stream_sample_t *buf6 = outputs[5];
- stream_sample_t *buf7 = outputs[6];
- stream_sample_t *buf8 = outputs[7];
- stream_sample_t *bufsolo1 = outputs[8];
- stream_sample_t *bufsolo2 = outputs[9];
- stream_sample_t *bufnoise = outputs[10];
+ auto &buf1 = outputs[0];
+ auto &buf2 = outputs[1];
+ auto &buf3 = outputs[2];
+ auto &buf4 = outputs[3];
+ auto &buf5 = outputs[4];
+ auto &buf6 = outputs[5];
+ auto &buf7 = outputs[6];
+ auto &buf8 = outputs[7];
+ auto &bufsolo1 = outputs[8];
+ auto &bufsolo2 = outputs[9];
+ auto &bufnoise = outputs[10];
int i;
- for (i=0; i<samples; i++)
+ for (i=0; i<buf1.samples(); i++)
{
/* calculate all voices' envelopes */
EG_voices_advance();
TG_group_advance(0); /* calculate tones group 1 */
- buf1[i] = o2;
- buf2[i] = o4;
- buf3[i] = o8;
- buf4[i] = o16;
+ buf1.put_int(i, o2, 32768);
+ buf2.put_int(i, o4, 32768);
+ buf3.put_int(i, o8, 32768);
+ buf4.put_int(i, o16, 32768);
SAVE_SINGLE_CHANNEL(0,o2)
SAVE_SINGLE_CHANNEL(1,o4)
@@ -760,13 +760,13 @@ void msm5232_device::sound_stream_update_legacy(sound_stream &stream, stream_sam
SAVE_SINGLE_CHANNEL(3,o16)
TG_group_advance(1); /* calculate tones group 2 */
- buf5[i] = o2;
- buf6[i] = o4;
- buf7[i] = o8;
- buf8[i] = o16;
+ buf5.put_int(i, o2, 32768);
+ buf6.put_int(i, o4, 32768);
+ buf7.put_int(i, o8, 32768);
+ buf8.put_int(i, o16, 32768);
- bufsolo1[i] = solo8;
- bufsolo2[i] = solo16;
+ bufsolo1.put_int(i, solo8, 32768);
+ bufsolo2.put_int(i, solo16, 32768);
SAVE_SINGLE_CHANNEL(4,o2)
SAVE_SINGLE_CHANNEL(5,o4)
@@ -794,6 +794,6 @@ void msm5232_device::sound_stream_update_legacy(sound_stream &stream, stream_sam
}
}
- bufnoise[i] = (m_noise_rng & (1<<16)) ? 32767 : 0;
+ bufnoise.put(i, (m_noise_rng & (1<<16)) ? 1.0 : 0.0);
}
}