summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/asc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/asc.cpp')
-rw-r--r--src/devices/sound/asc.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/devices/sound/asc.cpp b/src/devices/sound/asc.cpp
index 231e6b2357f..347f9104649 100644
--- a/src/devices/sound/asc.cpp
+++ b/src/devices/sound/asc.cpp
@@ -123,20 +123,14 @@ TIMER_CALLBACK_MEMBER(asc_device::delayed_stream_update)
// our sound stream
//-------------------------------------------------
-void asc_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs)
+void asc_device::sound_stream_update(sound_stream &stream)
{
int i, ch;
static uint32_t wtoffs[2] = { 0, 0x200 };
- auto &outL = outputs[0];
- auto &outR = outputs[1];
-
switch (m_regs[R_MODE-0x800] & 3)
{
case 0: // chip off
- outL.fill(0);
- outR.fill(0);
-
// IIvx/IIvi bootrom indicates VASP updates this flag even when the chip is off
if (m_chip_type == asc_type::VASP)
{
@@ -154,7 +148,7 @@ void asc_device::sound_stream_update(sound_stream &stream, std::vector<read_stre
case 1: // FIFO mode
{
- for (i = 0; i < outL.samples(); i++)
+ for (i = 0; i < stream.samples(); i++)
{
int8_t smpll, smplr;
@@ -257,15 +251,15 @@ void asc_device::sound_stream_update(sound_stream &stream, std::vector<read_stre
break;
}
- outL.put_int(i, smpll, 32768 / 64);
- outR.put_int(i, smplr, 32768 / 64);
+ stream.put_int(0, i, smpll, 32768 / 64);
+ stream.put_int(1, i, smplr, 32768 / 64);
}
break;
}
case 2: // wavetable mode
{
- for (i = 0; i < outL.samples(); i++)
+ for (i = 0; i < stream.samples(); i++)
{
int32_t mixL, mixR;
int8_t smpl;
@@ -291,8 +285,8 @@ void asc_device::sound_stream_update(sound_stream &stream, std::vector<read_stre
mixR += smpl*256;
}
- outL.put_int(i, mixL, 32768 * 4);
- outR.put_int(i, mixR, 32768 * 4);
+ stream.put_int(0, i, mixL, 32768 * 4);
+ stream.put_int(1, i, mixR, 32768 * 4);
}
break;
}