diff options
Diffstat (limited to 'src/devices/machine/acorn_vidc.cpp')
-rw-r--r-- | src/devices/machine/acorn_vidc.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/devices/machine/acorn_vidc.cpp b/src/devices/machine/acorn_vidc.cpp index cd428e3fc01..dd6137c75b9 100644 --- a/src/devices/machine/acorn_vidc.cpp +++ b/src/devices/machine/acorn_vidc.cpp @@ -65,8 +65,7 @@ acorn_vidc10_device::acorn_vidc10_device(const machine_config &mconfig, device_t , m_sound_mode(false) , m_dac(*this, "dac%u", 0) , m_dac_type(dac_type) - , m_lspeaker(*this, "lspeaker") - , m_rspeaker(*this, "rspeaker") + , m_speaker(*this, "speaker") , m_vblank_cb(*this) , m_sound_drq_cb(*this) , m_pixel_clock(0) @@ -110,12 +109,11 @@ device_memory_interface::space_config_vector acorn_vidc10_device::memory_space_c void acorn_vidc10_device::device_add_mconfig(machine_config &config) { - SPEAKER(config, m_lspeaker).front_left(); - SPEAKER(config, m_rspeaker).front_right(); + SPEAKER(config, m_speaker, 2).front(); for (int i = 0; i < m_sound_max_channels; i++) { // custom DAC - DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac[i], 0).add_route(0, m_lspeaker, m_sound_input_gain).add_route(0, m_rspeaker, m_sound_input_gain); + DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac[i], 0).add_route(0, m_speaker, m_sound_input_gain, 0).add_route(0, m_speaker, m_sound_input_gain, 1); } } @@ -405,9 +403,8 @@ inline void acorn_vidc10_device::refresh_stereo_image(u8 channel) const float left_gain[8] = { 1.0f, 2.0f, 1.66f, 1.34f, 1.0f, 0.66f, 0.34f, 0.0f }; const float right_gain[8] = { 1.0f, 0.0f, 0.34f, 0.66f, 1.0f, 1.34f, 1.66f, 2.0f }; - m_lspeaker->set_input_gain(channel, left_gain[m_stereo_image[channel]] * m_sound_input_gain); - m_rspeaker->set_input_gain(channel, right_gain[m_stereo_image[channel]] * m_sound_input_gain); - //printf("%d %f %f\n",channel,m_lspeaker->input(channel).gain(),m_rspeaker->input(channel).gain()); + m_speaker->set_input_gain(0, left_gain[m_stereo_image[channel]] * m_sound_input_gain); + m_speaker->set_input_gain(1, right_gain[m_stereo_image[channel]] * m_sound_input_gain); } @@ -582,14 +579,14 @@ void arm_vidc20_device::device_add_mconfig(machine_config &config) for (int i = 0; i < m_sound_max_channels; i++) { m_dac[i]->reset_routes(); - m_dac[i]->add_route(0, m_lspeaker, 0.0); - m_dac[i]->add_route(0, m_rspeaker, 0.0); + m_dac[i]->add_route(0, m_speaker, 0.0, 0); + m_dac[i]->add_route(0, m_speaker, 0.0, 1); } // For simplicity we separate DACs for 32-bit mode // TODO: how stereo image copes with this if at all? - DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac32[0], 0).add_route(ALL_OUTPUTS, m_lspeaker, 0.25); - DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac32[1], 0).add_route(ALL_OUTPUTS, m_rspeaker, 0.25); + DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac32[0], 0).add_route(ALL_OUTPUTS, m_speaker, 0.25, 0); + DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac32[1], 0).add_route(ALL_OUTPUTS, m_speaker, 0.25, 1); } void arm_vidc20_device::device_config_complete() |