diff options
Diffstat (limited to 'src/devices/bus/isa')
-rw-r--r-- | src/devices/bus/isa/gblaster.cpp | 11 | ||||
-rw-r--r-- | src/devices/bus/isa/gus.cpp | 22 | ||||
-rw-r--r-- | src/devices/bus/isa/gus.h | 2 | ||||
-rw-r--r-- | src/devices/bus/isa/sb16.cpp | 19 | ||||
-rw-r--r-- | src/devices/bus/isa/sblaster.cpp | 31 | ||||
-rw-r--r-- | src/devices/bus/isa/stereo_fx.cpp | 11 |
6 files changed, 42 insertions, 54 deletions
diff --git a/src/devices/bus/isa/gblaster.cpp b/src/devices/bus/isa/gblaster.cpp index 1cbd9458c04..3b6d66adb14 100644 --- a/src/devices/bus/isa/gblaster.cpp +++ b/src/devices/bus/isa/gblaster.cpp @@ -70,14 +70,13 @@ DEFINE_DEVICE_TYPE(ISA8_GAME_BLASTER, isa8_gblaster_device, "isa_gblaster", "Gam void isa8_gblaster_device::device_add_mconfig(machine_config &config) { - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); SAA1099(config, m_saa1099_1, XTAL(14'318'181) / 2); // or CMS-301, from OSC pin in ISA bus - m_saa1099_1->add_route(0, "lspeaker", 0.50); - m_saa1099_1->add_route(1, "rspeaker", 0.50); + m_saa1099_1->add_route(0, "speaker", 0.50, 0); + m_saa1099_1->add_route(1, "speaker", 0.50, 1); SAA1099(config, m_saa1099_2, XTAL(14'318'181) / 2); // or CMS-301, from OSC pin in ISA bus - m_saa1099_2->add_route(0, "lspeaker", 0.50); - m_saa1099_2->add_route(1, "rspeaker", 0.50); + m_saa1099_2->add_route(0, "speaker", 0.50, 0); + m_saa1099_2->add_route(1, "speaker", 0.50, 1); } //************************************************************************** diff --git a/src/devices/bus/isa/gus.cpp b/src/devices/bus/isa/gus.cpp index 2017482fc96..3d9fd1c073f 100644 --- a/src/devices/bus/isa/gus.cpp +++ b/src/devices/bus/isa/gus.cpp @@ -242,26 +242,19 @@ TIMER_CALLBACK_MEMBER(gf1_device::dma_tick) m_drq1_handler(1); } -void gf1_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void gf1_device::sound_stream_update(sound_stream &stream) { int x; - //uint32_t count; - - auto &outputl = outputs[0]; - auto &outputr = outputs[1]; - - outputl.fill(0); - outputr.fill(0); for(x=0;x<32;x++) // for each voice { uint16_t vol = (m_volume_table[(m_voice[x].current_vol & 0xfff0) >> 4]); - for (int sampindex = 0; sampindex < outputl.samples(); sampindex++) + for (int sampindex = 0; sampindex < stream.samples(); sampindex++) { uint32_t current = m_voice[x].current_addr >> 9; // TODO: implement proper panning - outputl.add_int(sampindex, m_voice[x].sample * vol, 32768 * 8192); - outputr.add_int(sampindex, m_voice[x].sample * vol, 32768 * 8192); + stream.add_int(0, sampindex, m_voice[x].sample * vol, 32768 * 8192); + stream.add_int(1, sampindex, m_voice[x].sample * vol, 32768 * 8192); if((!(m_voice[x].voice_ctrl & 0x40)) && (m_voice[x].current_addr >= m_voice[x].end_addr) && !m_voice[x].rollover && !(m_voice[x].voice_ctrl & 0x01)) { if(m_voice[x].vol_ramp_ctrl & 0x04) @@ -1238,11 +1231,10 @@ INPUT_PORTS_END void isa16_gus_device::device_add_mconfig(machine_config &config) { - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); GGF1(config, m_gf1, GF1_CLOCK); - m_gf1->add_route(0, "lspeaker", 0.50); - m_gf1->add_route(1, "rspeaker", 0.50); + m_gf1->add_route(0, "speaker", 0.50, 0); + m_gf1->add_route(1, "speaker", 0.50, 1); m_gf1->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_gf1->txirq_handler().set(FUNC(isa16_gus_device::midi_txirq)); diff --git a/src/devices/bus/isa/gus.h b/src/devices/bus/isa/gus.h index cc86b2f088c..e58fea6c9fa 100644 --- a/src/devices/bus/isa/gus.h +++ b/src/devices/bus/isa/gus.h @@ -122,7 +122,7 @@ public: void eop_w(int state); // device_sound_interface overrides - virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override; + virtual void sound_stream_update(sound_stream &stream) override; protected: // device-level overrides diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp index 30d0a6f8950..b260edca7b9 100644 --- a/src/devices/bus/isa/sb16.cpp +++ b/src/devices/bus/isa/sb16.cpp @@ -434,27 +434,26 @@ void sb16_lle_device::device_add_mconfig(machine_config &config) m_cpu->port_in_cb<2>().set(FUNC(sb16_lle_device::p2_r)); m_cpu->port_out_cb<2>().set(FUNC(sb16_lle_device::p2_w)); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); CT1745(config, m_mixer); m_mixer->set_fm_tag("ymf262"); m_mixer->set_ldac_tag(m_ldac); m_mixer->set_rdac_tag(m_rdac); - m_mixer->add_route(0, "lspeaker", 1.0); - m_mixer->add_route(1, "rspeaker", 1.0); + m_mixer->add_route(0, "speaker", 1.0, 0); + m_mixer->add_route(1, "speaker", 1.0, 1); m_mixer->irq_status_cb().set([this] () { return (m_irq8 << 0) | (m_irq16 << 1) | (m_irq_midi << 2) | (0x8 << 4); }); - DAC_16BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, m_mixer, 0.5, AUTO_ALLOC_INPUT, 0); // unknown DAC - DAC_16BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, m_mixer, 0.5, AUTO_ALLOC_INPUT, 1); // unknown DAC + DAC_16BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, m_mixer, 0.5, 0); // unknown DAC + DAC_16BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, m_mixer, 0.5, 1); // unknown DAC ymf262_device &ymf262(YMF262(config, "ymf262", XTAL(14'318'181))); - ymf262.add_route(0, m_mixer, 1.00, AUTO_ALLOC_INPUT, 0); - ymf262.add_route(1, m_mixer, 1.00, AUTO_ALLOC_INPUT, 1); - ymf262.add_route(2, m_mixer, 1.00, AUTO_ALLOC_INPUT, 0); - ymf262.add_route(3, m_mixer, 1.00, AUTO_ALLOC_INPUT, 1); + ymf262.add_route(0, m_mixer, 1.00, 0); + ymf262.add_route(1, m_mixer, 1.00, 1); + ymf262.add_route(2, m_mixer, 1.00, 0); + ymf262.add_route(3, m_mixer, 1.00, 1); PC_JOY(config, m_joy); } diff --git a/src/devices/bus/isa/sblaster.cpp b/src/devices/bus/isa/sblaster.cpp index 0f73dc7ec9f..a17d808cebd 100644 --- a/src/devices/bus/isa/sblaster.cpp +++ b/src/devices/bus/isa/sblaster.cpp @@ -1152,11 +1152,10 @@ DEFINE_DEVICE_TYPE(ISA16_SOUND_BLASTER_16, isa16_sblaster16_device, "isa_sblaste void sb_device::common(machine_config &config) { - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); - DAC_16BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC - DAC_16BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC + DAC_16BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5, 0); // unknown DAC + DAC_16BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5, 1); // unknown DAC PC_JOY(config, m_joy); @@ -1169,16 +1168,16 @@ void isa8_sblaster1_0_device::device_add_mconfig(machine_config &config) common(config); YM3812(config, m_ym3812, ym3812_StdClock); - m_ym3812->add_route(ALL_OUTPUTS, "lspeaker", 3.0); - m_ym3812->add_route(ALL_OUTPUTS, "rspeaker", 3.0); + m_ym3812->add_route(ALL_OUTPUTS, "speaker", 3.0, 0); + m_ym3812->add_route(ALL_OUTPUTS, "speaker", 3.0, 1); SAA1099(config, m_saa1099_1, XTAL(14'318'181) / 2); // or CMS-301, from OSC pin in ISA bus - m_saa1099_1->add_route(0, "lspeaker", 0.5); - m_saa1099_1->add_route(1, "rspeaker", 0.5); + m_saa1099_1->add_route(0, "speaker", 0.5, 0); + m_saa1099_1->add_route(1, "speaker", 0.5, 1); SAA1099(config, m_saa1099_2, XTAL(14'318'181) / 2); // or CMS-301, from OSC pin in ISA bus - m_saa1099_2->add_route(0, "lspeaker", 0.5); - m_saa1099_2->add_route(1, "rspeaker", 0.5); + m_saa1099_2->add_route(0, "speaker", 0.5, 0); + m_saa1099_2->add_route(1, "speaker", 0.5, 1); } void isa8_sblaster1_5_device::device_add_mconfig(machine_config &config) @@ -1186,8 +1185,8 @@ void isa8_sblaster1_5_device::device_add_mconfig(machine_config &config) common(config); YM3812(config, m_ym3812, ym3812_StdClock); - m_ym3812->add_route(ALL_OUTPUTS, "lspeaker", 1.0); - m_ym3812->add_route(ALL_OUTPUTS, "rspeaker", 1.0); + m_ym3812->add_route(ALL_OUTPUTS, "speaker", 1.0, 0); + m_ym3812->add_route(ALL_OUTPUTS, "speaker", 1.0, 1); /* no CM/S support (empty sockets) */ } @@ -1196,10 +1195,10 @@ void isa16_sblaster16_device::device_add_mconfig(machine_config &config) common(config); ymf262_device &ymf262(YMF262(config, "ymf262", ymf262_StdClock)); - ymf262.add_route(0, "lspeaker", 1.0); - ymf262.add_route(1, "rspeaker", 1.0); - ymf262.add_route(2, "lspeaker", 1.0); - ymf262.add_route(3, "rspeaker", 1.0); + ymf262.add_route(0, "speaker", 1.0, 0); + ymf262.add_route(1, "speaker", 1.0, 1); + ymf262.add_route(2, "speaker", 1.0, 0); + ymf262.add_route(3, "speaker", 1.0, 1); } //************************************************************************** diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp index 70f3c5160c7..bfd6eb6cfe5 100644 --- a/src/devices/bus/isa/stereo_fx.cpp +++ b/src/devices/bus/isa/stereo_fx.cpp @@ -124,15 +124,14 @@ void stereo_fx_device::device_add_mconfig(machine_config &config) m_cpu->port_in_cb<3>().set(FUNC(stereo_fx_device::p3_r)); m_cpu->port_out_cb<3>().set(FUNC(stereo_fx_device::p3_w)); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); ym3812_device &ym3812(YM3812(config, "ym3812", XTAL(3'579'545))); - ym3812.add_route(ALL_OUTPUTS, "lspeaker", 1.00); - ym3812.add_route(ALL_OUTPUTS, "rspeaker", 1.00); + ym3812.add_route(ALL_OUTPUTS, "speaker", 1.00, 0); + ym3812.add_route(ALL_OUTPUTS, "speaker", 1.00, 1); /* no CM/S support (empty sockets) */ - DAC_8BIT_R2R(config, "ldac", 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC - DAC_8BIT_R2R(config, "rdac", 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC + DAC_8BIT_R2R(config, "ldac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5, 0); // unknown DAC + DAC_8BIT_R2R(config, "rdac", 0).add_route(ALL_OUTPUTS, "speaker", 0.5, 1); // unknown DAC PC_JOY(config, m_joy); } |