diff options
Diffstat (limited to 'src/mame/namco')
28 files changed, 148 insertions, 183 deletions
diff --git a/src/mame/namco/dkmb.cpp b/src/mame/namco/dkmb.cpp index ba1d8256061..d3c75fcc131 100644 --- a/src/mame/namco/dkmb.cpp +++ b/src/mame/namco/dkmb.cpp @@ -137,8 +137,7 @@ void dkmb_state::dkmb(machine_config &config) PALETTE(config, "palette").set_entries(65536); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); } diff --git a/src/mame/namco/gal3.cpp b/src/mame/namco/gal3.cpp index b946491b57b..0f7588a8b40 100644 --- a/src/mame/namco/gal3.cpp +++ b/src/mame/namco/gal3.cpp @@ -681,19 +681,18 @@ void gal3_state::gal3(machine_config &config) m_namcos21_dsp_c67[1]->set_renderer_tag("namcos21_3d_2"); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); // TODO: Total 5 of C140s in sound board, verified from gal3zlgr PCB - gal3 uses same board? C140(config, m_c140_16g, 49152000/2304); //m_c140_16g->set_addrmap(0, &gal3_state::c140_16g_map); //to be verified - m_c140_16g->add_route(0, "lspeaker", 0.50); - m_c140_16g->add_route(1, "rspeaker", 0.50); + m_c140_16g->add_route(0, "speaker", 0.50, 0); + m_c140_16g->add_route(1, "speaker", 0.50, 1); C140(config, m_c140_16a, 49152000/2304); //m_c140_16a->set_addrmap(0, &gal3_state::c140_16a_map); //to be verified - m_c140_16a->add_route(0, "lspeaker", 0.50); - m_c140_16a->add_route(1, "rspeaker", 0.50); + m_c140_16a->add_route(0, "speaker", 0.50, 0); + m_c140_16a->add_route(1, "speaker", 0.50, 1); } /* diff --git a/src/mame/namco/geebee.cpp b/src/mame/namco/geebee.cpp index e05ba694a58..839b7296025 100644 --- a/src/mame/namco/geebee.cpp +++ b/src/mame/namco/geebee.cpp @@ -99,13 +99,11 @@ void geebee_sound_device::sound_w(u8 data) // sound_stream_update - handle a stream update //------------------------------------------------- -void geebee_sound_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void geebee_sound_device::sound_stream_update(sound_stream &stream) { - auto &buffer = outputs[0]; - - for (int sampindex = 0; sampindex < buffer.samples(); sampindex++) + for (int sampindex = 0; sampindex < stream.samples(); sampindex++) { - buffer.put_int(sampindex, m_sound_signal, 32768); + stream.put_int(0, sampindex, m_sound_signal, 32768); // 1V = HSYNC = 18.432MHz / 3 / 2 / 384 = 8000Hz m_vcount++; diff --git a/src/mame/namco/geebee.h b/src/mame/namco/geebee.h index 7ec36b3bf69..1b4e3253b27 100644 --- a/src/mame/namco/geebee.h +++ b/src/mame/namco/geebee.h @@ -17,7 +17,7 @@ protected: virtual void device_start() override ATTR_COLD; // sound stream update 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; TIMER_CALLBACK_MEMBER(volume_decay_tick); diff --git a/src/mame/namco/namcofl.cpp b/src/mame/namco/namcofl.cpp index 3e9bd011d53..7556a76f3e1 100644 --- a/src/mame/namco/namcofl.cpp +++ b/src/mame/namco/namcofl.cpp @@ -707,13 +707,12 @@ void namcofl_state::namcofl(machine_config &config) NAMCO_C116(config, m_c116, 0); m_c116->enable_shadows(); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", 48.384_MHz_XTAL / 2, 288)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - //c352.add_route(2, "lspeaker", 1.00); // Second DAC not present. - //c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + //c352.add_route(2, "speaker", 1.00); // Second DAC not present. + //c352.add_route(3, "speaker", 1.00); } ROM_START( speedrcr ) diff --git a/src/mame/namco/namcona1.cpp b/src/mame/namco/namcona1.cpp index 153b6452d03..20a2f517588 100644 --- a/src/mame/namco/namcona1.cpp +++ b/src/mame/namco/namcona1.cpp @@ -1067,13 +1067,12 @@ void namcona1_state::namcona_base(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_namcona1); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C219(config, m_c219, 44100); m_c219->set_addrmap(0, &namcona1_state::namcona1_c219_map); - m_c219->add_route(0, "rspeaker", 1.00); - m_c219->add_route(1, "lspeaker", 1.00); + m_c219->add_route(0, "speaker", 1.00, 1); + m_c219->add_route(1, "speaker", 1.00, 0); } void namcona1_state::namcona1(machine_config &config) diff --git a/src/mame/namco/namconb1.cpp b/src/mame/namco/namconb1.cpp index 0b1631abec2..0f693d1362e 100644 --- a/src/mame/namco/namconb1.cpp +++ b/src/mame/namco/namconb1.cpp @@ -1012,14 +1012,13 @@ void namconb1_state::namconb1(machine_config &config) NAMCO_C116(config, m_c116); m_c116->enable_shadows(); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", XTAL(48'384'000) / 2, 288)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - //c352.add_route(2, "lspeaker", 1.00); // Second DAC not present. - //c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + //c352.add_route(2, "speaker", 1.00); // Second DAC not present. + //c352.add_route(3, "speaker", 1.00); } void gunbulet_state::gunbulet(machine_config &config) diff --git a/src/mame/namco/namcond1.cpp b/src/mame/namco/namcond1.cpp index dce25c7a58f..7d2ff628c4b 100644 --- a/src/mame/namco/namcond1.cpp +++ b/src/mame/namco/namcond1.cpp @@ -522,14 +522,13 @@ void namcond1_state::namcond1(machine_config &config) screen.set_palette("ygv608"); // sound hardware - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", XTAL(49'152'000) / 2, 288)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - //c352.add_route(2, "lspeaker", 1.00); // Second DAC not present. - //c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + //c352.add_route(2, "speaker", 1.00); // Second DAC not present. + //c352.add_route(3, "speaker", 1.00); AT28C16(config, "at28c16", 0); } diff --git a/src/mame/namco/namcos1.cpp b/src/mame/namco/namcos1.cpp index ecd7ccb4da5..689639ec716 100644 --- a/src/mame/namco/namcos1.cpp +++ b/src/mame/namco/namcos1.cpp @@ -1057,27 +1057,26 @@ void namcos1_state::ns1(machine_config &config) m_c123tmap->set_tmap3_half_height(); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); ym2151_device &ymsnd(YM2151(config, "ymsnd", XTAL(3'579'545))); ymsnd.irq_handler().set_inputline(m_audiocpu, M6809_FIRQ_LINE); - ymsnd.add_route(0, "lspeaker", 0.50); - ymsnd.add_route(1, "rspeaker", 0.50); + ymsnd.add_route(0, "speaker", 0.50, 0); + ymsnd.add_route(1, "speaker", 0.50, 1); namco_cus30_device &cus30(NAMCO_CUS30(config, "namco", XTAL(49'152'000)/2048/2)); cus30.set_voices(8); cus30.set_stereo(1); - cus30.add_route(0, "lspeaker", 0.50); - cus30.add_route(1, "rspeaker", 0.50); + cus30.add_route(0, "speaker", 0.50, 0); + cus30.add_route(1, "speaker", 0.50, 1); DAC_8BIT_R2R(config, m_dac[0], 0); // 10-pin 1Kx8R SIP with HC374 latch - m_dac[0]->add_route(ALL_OUTPUTS, "lspeaker", 0.5); - m_dac[0]->add_route(ALL_OUTPUTS, "rspeaker", 0.5); + m_dac[0]->add_route(ALL_OUTPUTS, "speaker", 0.5, 0); + m_dac[0]->add_route(ALL_OUTPUTS, "speaker", 0.5, 1); DAC_8BIT_R2R(config, m_dac[1], 0); // 10-pin 1Kx8R SIP with HC374 latch - m_dac[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.5); - m_dac[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.5); + m_dac[1]->add_route(ALL_OUTPUTS, "speaker", 0.5, 0); + m_dac[1]->add_route(ALL_OUTPUTS, "speaker", 0.5, 1); } void quester_state::quester(machine_config &config) diff --git a/src/mame/namco/namcos10.cpp b/src/mame/namco/namcos10.cpp index f8833e33dd2..b6f50ff71fd 100644 --- a/src/mame/namco/namcos10.cpp +++ b/src/mame/namco/namcos10.cpp @@ -1101,15 +1101,14 @@ void namcos10_state::namcos10_base(machine_config &config) SCREEN(config, "screen", SCREEN_TYPE_RASTER); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); // CXD2938Q; SPU with CD-ROM controller - also seen in PSone, 101.4912MHz / 2 // TODO: This must be replaced with a proper CXD2938Q device, CD-ROM functionality of chip not used spu_device &spu(SPU(config, "spu", XTAL(101'491'200)/2, m_maincpu.target())); spu.set_stream_flags(STREAM_SYNCHRONOUS); - spu.add_route(0, "lspeaker", 0.75); - spu.add_route(1, "rspeaker", 0.75); + spu.add_route(0, "speaker", 0.75, 0); + spu.add_route(1, "speaker", 0.75, 1); // TODO: Trace main PCB to see where JAMMA I/O goes and/or how int10 can be triggered (SM10MA3?) m_io_update_interrupt.bind().set("maincpu:irq", FUNC(psxirq_device::intin10)); @@ -2899,8 +2898,8 @@ void namcos10_memp3_state::namcos10_memp3_base(machine_config &config) }); LC82310(config, m_lc82310, XTAL(16'934'400)); - m_lc82310->add_route(0, "lspeaker", 1.0); - m_lc82310->add_route(1, "rspeaker", 1.0); + m_lc82310->add_route(0, "speaker", 1.0, 0); + m_lc82310->add_route(1, "speaker", 1.0, 1); } void namcos10_memp3_state::machine_start() diff --git a/src/mame/namco/namcos11.cpp b/src/mame/namco/namcos11.cpp index be8856df52d..294fba09a38 100644 --- a/src/mame/namco/namcos11.cpp +++ b/src/mame/namco/namcos11.cpp @@ -775,14 +775,13 @@ void namcos11_state::coh110(machine_config &config) SCREEN(config, "screen", SCREEN_TYPE_RASTER); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", 25401600, 288)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - //c352.add_route(2, "lspeaker", 1.00); // Second DAC not present. - //c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + //c352.add_route(2, "speaker", 1.00); // Second DAC not present. + //c352.add_route(3, "speaker", 1.00); AT28C16(config, "at28c16", 0); } diff --git a/src/mame/namco/namcos12.cpp b/src/mame/namco/namcos12.cpp index 713c6d91cbf..203cee1f160 100644 --- a/src/mame/namco/namcos12.cpp +++ b/src/mame/namco/namcos12.cpp @@ -1191,14 +1191,13 @@ public: AT28C16(config, "at28c16", 0); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", 25401600, 288)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - //c352.add_route(2, "lspeaker", 1.00); // Second DAC not present. - //c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + //c352.add_route(2, "speaker", 1.00); // Second DAC not present. + //c352.add_route(3, "speaker", 1.00); } void aplarail(machine_config &config) ATTR_COLD @@ -1558,8 +1557,8 @@ public: coh700b(config); NAMCOS12_CDXA(config, m_cdxa_pcb, XTAL(14'745'600)); - m_cdxa_pcb->add_route(0, "lspeaker", 0.30); // roughly matched the volume of speaking lines between the CDXA audio vs non-CDXA audio - m_cdxa_pcb->add_route(1, "rspeaker", 0.30); + m_cdxa_pcb->add_route(0, "speaker", 0.30, 0); // roughly matched the volume of speaking lines between the CDXA audio vs non-CDXA audio + m_cdxa_pcb->add_route(1, "speaker", 0.30, 1); m_cdxa_pcb->psx_int10_callback().set("maincpu:irq", FUNC(psxirq_device::intin10)); } diff --git a/src/mame/namco/namcos2.cpp b/src/mame/namco/namcos2.cpp index 3dbfc3f441b..e9cfa29f8f8 100644 --- a/src/mame/namco/namcos2.cpp +++ b/src/mame/namco/namcos2.cpp @@ -1713,8 +1713,7 @@ void namcos2_state::configure_common_standard(machine_config &config) m_screen->set_raw(MAIN_OSC_CLOCK/8, 384, 0*8, 36*8, 264, 0*8, 28*8); m_screen->set_palette(m_c116); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C140(config, m_c140, C140_SOUND_CLOCK); /* 21.333kHz */ m_c140->set_addrmap(0, &namcos2_state::c140_default_am); @@ -1820,10 +1819,10 @@ void namcos2_state::base_noio(machine_config &config) configure_c123tmap_standard(config); configure_namcos2_roz_standard(config); - m_c140->add_route(0, "lspeaker", 0.75); - m_c140->add_route(1, "rspeaker", 0.75); + m_c140->add_route(0, "speaker", 0.75, 0); + m_c140->add_route(1, "speaker", 0.75, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ } @@ -1844,8 +1843,8 @@ void namcos2_state::base2(machine_config &config) base(config); m_c140->reset_routes(); - m_c140->add_route(0, "lspeaker", 1.0); - m_c140->add_route(1, "rspeaker", 1.0); + m_c140->add_route(0, "speaker", 1.0, 0); + m_c140->add_route(1, "speaker", 1.0, 1); } void namcos2_state::assaultp(machine_config &config) @@ -1860,10 +1859,10 @@ void namcos2_state::base3(machine_config &config) base(config); m_c140->reset_routes(); - m_c140->add_route(0, "lspeaker", 0.45); - m_c140->add_route(1, "rspeaker", 0.45); + m_c140->add_route(0, "speaker", 0.45, 0); + m_c140->add_route(1, "speaker", 0.45, 1); - YM2151(config.replace(), "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0); /* 3.579545MHz */ + YM2151(config.replace(), "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 1.0, 0).add_route(1, "speaker", 1.0, 1); /* 3.579545MHz */ } @@ -1887,10 +1886,10 @@ void namcos2_state::finallap_noio(machine_config &config) configure_c123tmap_standard(config); configure_c45road_standard(config); - m_c140->add_route(0, "lspeaker", 0.75); - m_c140->add_route(1, "rspeaker", 0.75); + m_c140->add_route(0, "speaker", 0.75, 0); + m_c140->add_route(1, "speaker", 0.75, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ } void namcos2_state::base_fl(machine_config &config) @@ -1954,10 +1953,10 @@ void namcos2_state::sgunner(machine_config &config) MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner) - m_c140->add_route(0, "lspeaker", 0.75); - m_c140->add_route(1, "rspeaker", 0.75); + m_c140->add_route(0, "speaker", 0.75, 0); + m_c140->add_route(1, "speaker", 0.75, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ } void namcos2_state::sgunner2(machine_config &config) @@ -1983,10 +1982,10 @@ void namcos2_state::sgunner2(machine_config &config) MCFG_VIDEO_START_OVERRIDE(namcos2_state, sgunner) - m_c140->add_route(0, "lspeaker", 0.75); - m_c140->add_route(1, "rspeaker", 0.75); + m_c140->add_route(0, "speaker", 0.75, 0); + m_c140->add_route(1, "speaker", 0.75, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ } void namcos2_state::suzuka8h(machine_config &config) @@ -2016,10 +2015,10 @@ void namcos2_state::suzuka8h(machine_config &config) MCFG_VIDEO_START_OVERRIDE(namcos2_state, luckywld) - m_c140->add_route(0, "lspeaker", 0.75); - m_c140->add_route(1, "rspeaker", 0.75); + m_c140->add_route(0, "speaker", 0.75, 0); + m_c140->add_route(1, "speaker", 0.75, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ } void namcos2_state::luckywld(machine_config &config) @@ -2061,10 +2060,10 @@ void namcos2_state::metlhawk(machine_config &config) MCFG_VIDEO_START_OVERRIDE(namcos2_state, metlhawk) - m_c140->add_route(0, "lspeaker", 1.0); - m_c140->add_route(1, "rspeaker", 1.0); + m_c140->add_route(0, "speaker", 1.0, 0); + m_c140->add_route(1, "speaker", 1.0, 1); - YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "lspeaker", 0.80).add_route(1, "rspeaker", 0.80); /* 3.579545MHz */ + YM2151(config, "ymsnd", YM2151_SOUND_CLOCK).add_route(0, "speaker", 0.80, 0).add_route(1, "speaker", 0.80, 1); /* 3.579545MHz */ // ymsnd.irq_handler().set_inputline("audiocpu", 1); } diff --git a/src/mame/namco/namcos21.cpp b/src/mame/namco/namcos21.cpp index f54550b1d28..50a66156140 100644 --- a/src/mame/namco/namcos21.cpp +++ b/src/mame/namco/namcos21.cpp @@ -923,16 +923,15 @@ void namcos21_state::winrun(machine_config &config) m_namcos21_3d->set_depth_reverse(true); m_namcos21_3d->set_framebuffer_size(496,480); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C140(config, m_c140, 49.152_MHz_XTAL / 2304); m_c140->set_addrmap(0, &namcos21_state::c140_map); m_c140->int1_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE); - m_c140->add_route(0, "lspeaker", 0.50); - m_c140->add_route(1, "rspeaker", 0.50); + m_c140->add_route(0, "speaker", 0.50, 0); + m_c140->add_route(1, "speaker", 0.50, 1); - YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); + YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "speaker", 0.30, 0).add_route(1, "speaker", 0.30, 1); } diff --git a/src/mame/namco/namcos21_c67.cpp b/src/mame/namco/namcos21_c67.cpp index 927cb1fef69..4ac77ad478e 100644 --- a/src/mame/namco/namcos21_c67.cpp +++ b/src/mame/namco/namcos21_c67.cpp @@ -840,16 +840,15 @@ void namcos21_c67_state::namcos21(machine_config &config) m_c355spr->set_color_base(0x1000); m_c355spr->set_external_prifill(true); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C140(config, m_c140, 49.152_MHz_XTAL / 2304); m_c140->set_addrmap(0, &namcos21_c67_state::c140_map); m_c140->int1_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE); - m_c140->add_route(0, "lspeaker", 0.50); - m_c140->add_route(1, "rspeaker", 0.50); + m_c140->add_route(0, "speaker", 0.50, 0); + m_c140->add_route(1, "speaker", 0.50, 1); - YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); + YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "speaker", 0.30, 0).add_route(1, "speaker", 0.30, 1); } void namcos21_c67_state::aircomb(machine_config &config) diff --git a/src/mame/namco/namcos21_de.cpp b/src/mame/namco/namcos21_de.cpp index 8bb7565ea8c..6b41f9c75ce 100644 --- a/src/mame/namco/namcos21_de.cpp +++ b/src/mame/namco/namcos21_de.cpp @@ -201,16 +201,15 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config) m_c355spr->set_color_base(0x1000); m_c355spr->set_external_prifill(true); - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C140(config, m_c140, 49.152_MHz_XTAL / 2304); m_c140->set_addrmap(0, &namco_de_pcbstack_device::c140_map); m_c140->int1_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE); - m_c140->add_route(0, "lspeaker", 0.50); - m_c140->add_route(1, "rspeaker", 0.50); + m_c140->add_route(0, "speaker", 0.50, 0); + m_c140->add_route(1, "speaker", 0.50, 1); - YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "lspeaker", 0.30).add_route(1, "rspeaker", 0.30); + YM2151(config, "ymsnd", 3.579545_MHz_XTAL).add_route(0, "speaker", 0.30, 0).add_route(1, "speaker", 0.30, 1); } diff --git a/src/mame/namco/namcos22.cpp b/src/mame/namco/namcos22.cpp index e44cc4d40a0..777bde6e38a 100644 --- a/src/mame/namco/namcos22.cpp +++ b/src/mame/namco/namcos22.cpp @@ -3787,12 +3787,11 @@ void namcos22_state::namcos22(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_namcos22); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); C352(config, m_c352, 49.152_MHz_XTAL/2, 288); - m_c352->add_route(0, "lspeaker", 1.0); - m_c352->add_route(1, "rspeaker", 1.0); + m_c352->add_route(0, "speaker", 1.0, 0); + m_c352->add_route(1, "speaker", 1.0, 1); } void namcos22_state::cybrcomm(machine_config &config) diff --git a/src/mame/namco/namcos23.cpp b/src/mame/namco/namcos23.cpp index 0cebfe9efae..ca36fc6b82e 100644 --- a/src/mame/namco/namcos23.cpp +++ b/src/mame/namco/namcos23.cpp @@ -6177,14 +6177,13 @@ void gorgon_state::gorgon(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_gorgon); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", C352CLOCK, C352DIV)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - c352.add_route(2, "lspeaker", 1.00); - c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + c352.add_route(2, "speaker", 1.00, 0); + c352.add_route(3, "speaker", 1.00, 1); JVS_PORT(config, m_jvs, jvs_port_devices, nullptr); m_jvs->rxd().set(m_subcpu, FUNC(h8_device::sci_rx_w<0>)); @@ -6254,14 +6253,13 @@ void namcos23_state::s23(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_namcos23); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); c352_device &c352(C352(config, "c352", C352CLOCK, C352DIV)); - c352.add_route(0, "lspeaker", 1.00); - c352.add_route(1, "rspeaker", 1.00); - c352.add_route(2, "lspeaker", 1.00); - c352.add_route(3, "rspeaker", 1.00); + c352.add_route(0, "speaker", 1.00, 0); + c352.add_route(1, "speaker", 1.00, 1); + c352.add_route(2, "speaker", 1.00, 0); + c352.add_route(3, "speaker", 1.00, 1); JVS_PORT(config, m_jvs, jvs_port_devices, nullptr); m_jvs->rxd().set(m_subcpu, FUNC(h8_device::sci_rx_w<0>)); diff --git a/src/mame/namco/polepos.cpp b/src/mame/namco/polepos.cpp index a0e5b05ff14..af62e4eb396 100644 --- a/src/mame/namco/polepos.cpp +++ b/src/mame/namco/polepos.cpp @@ -932,24 +932,23 @@ void polepos_state::polepos(machine_config &config) config.set_default_layout(layout_polepos); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); NAMCO(config, m_namco_sound, MASTER_CLOCK/512); m_namco_sound->set_voices(8); m_namco_sound->set_stereo(true); - m_namco_sound->add_route(0, "lspeaker", 0.80); - m_namco_sound->add_route(1, "rspeaker", 0.80); + m_namco_sound->add_route(0, "speaker", 0.80, 0); + m_namco_sound->add_route(1, "speaker", 0.80, 1); /* discrete circuit on the 54XX outputs */ discrete_sound_device &discrete(DISCRETE(config, "discrete", polepos_discrete)); - discrete.add_route(ALL_OUTPUTS, "lspeaker", 0.90); - discrete.add_route(ALL_OUTPUTS, "rspeaker", 0.90); + discrete.add_route(ALL_OUTPUTS, "speaker", 0.90, 0); + discrete.add_route(ALL_OUTPUTS, "speaker", 0.90, 1); /* engine sound */ polepos_sound_device &polepos(POLEPOS_SOUND(config, "polepos", MASTER_CLOCK/8)); - polepos.add_route(ALL_OUTPUTS, "lspeaker", 0.90 * 0.77); - polepos.add_route(ALL_OUTPUTS, "rspeaker", 0.90 * 0.77); + polepos.add_route(ALL_OUTPUTS, "speaker", 0.90 * 0.77, 0); + polepos.add_route(ALL_OUTPUTS, "speaker", 0.90 * 0.77, 1); } void polepos_state::bootleg_soundlatch_w(uint8_t data) @@ -1040,23 +1039,22 @@ void polepos_state::topracern(machine_config &config) config.set_default_layout(layout_topracer); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); NAMCO(config, m_namco_sound, MASTER_CLOCK/512); m_namco_sound->set_voices(8); m_namco_sound->set_stereo(true); - m_namco_sound->add_route(0, "lspeaker", 0.80); - m_namco_sound->add_route(1, "rspeaker", 0.80); + m_namco_sound->add_route(0, "speaker", 0.80, 0); + m_namco_sound->add_route(1, "speaker", 0.80, 1); /* engine sound */ polepos_sound_device &polepos(POLEPOS_SOUND(config, "polepos", 0)); - polepos.add_route(ALL_OUTPUTS, "lspeaker", 0.90 * 0.77); - polepos.add_route(ALL_OUTPUTS, "rspeaker", 0.90 * 0.77); + polepos.add_route(ALL_OUTPUTS, "speaker", 0.90 * 0.77, 0); + polepos.add_route(ALL_OUTPUTS, "speaker", 0.90 * 0.77, 1); dac_4bit_r2r_device &dac(DAC_4BIT_R2R(config, "dac", 0)); // unknown resistor configuration - dac.add_route(ALL_OUTPUTS, "lspeaker", 0.12); - dac.add_route(ALL_OUTPUTS, "rspeaker", 0.12); + dac.add_route(ALL_OUTPUTS, "speaker", 0.12, 0); + dac.add_route(ALL_OUTPUTS, "speaker", 0.12, 1); } void polepos_state::polepos2bi(machine_config &config) @@ -1072,8 +1070,8 @@ void polepos_state::polepos2bi(machine_config &config) m_soundlatch->set_separate_acknowledge(true); TMS5220(config, "tms", 600000) /* ? Mhz */ - .add_route(ALL_OUTPUTS, "lspeaker", 0.80) - .add_route(ALL_OUTPUTS, "rspeaker", 0.80); + .add_route(ALL_OUTPUTS, "speaker", 0.80, 0) + .add_route(ALL_OUTPUTS, "speaker", 0.80, 1); } diff --git a/src/mame/namco/polepos_a.cpp b/src/mame/namco/polepos_a.cpp index 95a52451207..2e8b353cca4 100644 --- a/src/mame/namco/polepos_a.cpp +++ b/src/mame/namco/polepos_a.cpp @@ -254,20 +254,16 @@ void polepos_sound_device::device_reset() // sound_stream_update - handle a stream update //------------------------------------------------- -void polepos_sound_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void polepos_sound_device::sound_stream_update(sound_stream &stream) { uint32_t step, clock, slot; uint8_t *base; double volume, i_total; - auto &buffer = outputs[0]; int loop; /* if we're not enabled, just fill with 0 */ if (!m_sample_enable) - { - buffer.fill(0); return; - } /* determine the effective clock rate */ clock = (unscaled_clock() / 16) * ((m_sample_msb + 1) * 64 + m_sample_lsb + 1) / (64*64); @@ -279,7 +275,7 @@ void polepos_sound_device::sound_stream_update(sound_stream &stream, std::vector base = &machine().root_device().memregion("engine")->base()[slot * 0x800]; /* fill in the sample */ - for (int sampindex = 0; sampindex < buffer.samples(); sampindex++) + for (int sampindex = 0; sampindex < stream.samples(); sampindex++) { m_filter_engine[0].x0 = (3.4 / 255 * base[(m_current_position >> 12) & 0x7ff] - 2) * volume; m_filter_engine[1].x0 = m_filter_engine[0].x0; @@ -298,7 +294,7 @@ void polepos_sound_device::sound_stream_update(sound_stream &stream, std::vector } i_total *= r_filt_total/2; /* now contains voltage adjusted by final gain */ - buffer.put(sampindex, i_total); + stream.put(0, sampindex, i_total); m_current_position += step; } } diff --git a/src/mame/namco/polepos_a.h b/src/mame/namco/polepos_a.h index 069a1d796c5..4033f6698d8 100644 --- a/src/mame/namco/polepos_a.h +++ b/src/mame/namco/polepos_a.h @@ -19,7 +19,7 @@ protected: virtual void device_reset() override ATTR_COLD; // sound stream update 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; public: void clson_w(int state); diff --git a/src/mame/namco/sweetland4.cpp b/src/mame/namco/sweetland4.cpp index 4155c960aad..007ff6e3017 100644 --- a/src/mame/namco/sweetland4.cpp +++ b/src/mame/namco/sweetland4.cpp @@ -134,24 +134,22 @@ void sweetland4_state::sweetland4(machine_config &config) RTC72423(config, "rtc", 32'768); // no evident XTAL on PCB - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); okim9810_device &oki(OKIM9810(config, "oki", 4'096'000)); // no evident XTAL on PCB - oki.add_route(0, "lspeaker", 1.00); - oki.add_route(1, "rspeaker", 1.00); + oki.add_route(0, "speaker", 1.00, 0); + oki.add_route(1, "speaker", 1.00, 1); } void sweetland4_state::tairyodk(machine_config &config) { H83002(config, m_maincpu, 14.746_MHz_XTAL); // H8/3002 6413002F17 - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); okim9810_device &oki(OKIM9810(config, "oki", 4.096_MHz_XTAL)); - oki.add_route(0, "lspeaker", 1.00); - oki.add_route(1, "rspeaker", 1.00); + oki.add_route(0, "speaker", 1.00, 0); + oki.add_route(1, "speaker", 1.00, 1); } diff --git a/src/mame/namco/tceptor.cpp b/src/mame/namco/tceptor.cpp index 226b9432f70..6741981c454 100644 --- a/src/mame/namco/tceptor.cpp +++ b/src/mame/namco/tceptor.cpp @@ -333,22 +333,21 @@ void tceptor_state::tceptor(machine_config &config) m_screen->set_palette(m_palette); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); ym2151_device &ym(YM2151(config, "ymsnd", XTAL(14'318'181)/4)); - ym.add_route(0, "lspeaker", 1.0); - ym.add_route(1, "rspeaker", 1.0); + ym.add_route(0, "speaker", 1.0, 0); + ym.add_route(1, "speaker", 1.0, 1); NAMCO_CUS30(config, m_cus30, XTAL(49'152'000)/2048); m_cus30->set_voices(8); m_cus30->set_stereo(true); - m_cus30->add_route(0, "lspeaker", 0.40); - m_cus30->add_route(1, "rspeaker", 0.40); + m_cus30->add_route(0, "speaker", 0.40, 0); + m_cus30->add_route(1, "speaker", 0.40, 1); dac_8bit_r2r_device &dac(DAC_8BIT_R2R(config, "dac", 0)); // unknown DAC - dac.add_route(ALL_OUTPUTS, "lspeaker", 0.4); - dac.add_route(ALL_OUTPUTS, "rspeaker", 0.4); + dac.add_route(ALL_OUTPUTS, "speaker", 0.4, 0); + dac.add_route(ALL_OUTPUTS, "speaker", 0.4, 1); } diff --git a/src/mame/namco/turrett.cpp b/src/mame/namco/turrett.cpp index f4221b7e5b3..cdf913d5f36 100644 --- a/src/mame/namco/turrett.cpp +++ b/src/mame/namco/turrett.cpp @@ -372,13 +372,12 @@ void turrett_state::turrett(machine_config &config) PALETTE(config, "palette", palette_device::RGB_555); /* sound hardware */ - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); turrett_device &ttsound(TURRETT(config, "ttsound", R3041_CLOCK)); // ? ttsound.set_addrmap(0, &turrett_state::turrett_sound_map); - ttsound.add_route(ALL_OUTPUTS, "lspeaker", 1.0); - ttsound.add_route(ALL_OUTPUTS, "rspeaker", 1.0); + ttsound.add_route(ALL_OUTPUTS, "speaker", 1.0, 0); + ttsound.add_route(ALL_OUTPUTS, "speaker", 1.0, 1); } diff --git a/src/mame/namco/turrett.h b/src/mame/namco/turrett.h index 78fc37228a2..e4b755e25ac 100644 --- a/src/mame/namco/turrett.h +++ b/src/mame/namco/turrett.h @@ -121,7 +121,7 @@ protected: virtual void device_reset() override ATTR_COLD; // 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; // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; diff --git a/src/mame/namco/turrett_a.cpp b/src/mame/namco/turrett_a.cpp index 72d0d61e35d..5d919b680d7 100644 --- a/src/mame/namco/turrett_a.cpp +++ b/src/mame/namco/turrett_a.cpp @@ -81,12 +81,8 @@ void turrett_device::device_reset() // sound_stream_update - update sound stream //------------------------------------------------- -void turrett_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void turrett_device::sound_stream_update(sound_stream &stream) { - // Silence the buffers - outputs[0].fill(0); - outputs[1].fill(0); - for (int ch = 0; ch < SOUND_CHANNELS; ++ch) { if (m_channels[ch].m_playing) @@ -101,7 +97,7 @@ void turrett_device::sound_stream_update(sound_stream &stream, std::vector<read_ // Channels 30 and 31 expect interleaved stereo samples uint32_t incr = (ch >= 30) ? 2 : 1; - for (int s = 0; s < outputs[0].samples(); ++s) + for (int s = 0; s < stream.samples(); ++s) { int16_t sample = m_cache.read_word(addr << 1); @@ -113,8 +109,8 @@ void turrett_device::sound_stream_update(sound_stream &stream, std::vector<read_ addr += incr; - outputs[0].add_int(s, (sample * lvol) >> 17, 32768); - outputs[1].add_int(s, (sample * rvol) >> 17, 32768); + stream.add_int(0, s, (sample * lvol) >> 17, 32768); + stream.add_int(1, s, (sample * rvol) >> 17, 32768); } } } diff --git a/src/mame/namco/warpwarp_a.cpp b/src/mame/namco/warpwarp_a.cpp index 79a3c06936a..f6e119a86f8 100644 --- a/src/mame/namco/warpwarp_a.cpp +++ b/src/mame/namco/warpwarp_a.cpp @@ -168,13 +168,11 @@ void warpwarp_sound_device::music2_w(u8 data) // sound_stream_update - handle a stream update //------------------------------------------------- -void warpwarp_sound_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void warpwarp_sound_device::sound_stream_update(sound_stream &stream) { - auto &buffer = outputs[0]; - - for (int sampindex = 0; sampindex < buffer.samples(); sampindex++) + for (int sampindex = 0; sampindex < stream.samples(); sampindex++) { - buffer.put_int(sampindex, m_sound_signal + m_music_signal, 32768 * 2); + stream.put_int(0, sampindex, m_sound_signal + m_music_signal, 32768 * 2); /* * The music signal is selected at a rate of 2H (1.536MHz) from the diff --git a/src/mame/namco/warpwarp_a.h b/src/mame/namco/warpwarp_a.h index 1f7e3f76e27..2f235146dc9 100644 --- a/src/mame/namco/warpwarp_a.h +++ b/src/mame/namco/warpwarp_a.h @@ -19,7 +19,7 @@ protected: virtual void device_start() override ATTR_COLD; // sound stream update 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; TIMER_CALLBACK_MEMBER(sound_decay_tick); TIMER_CALLBACK_MEMBER(music_decay_tick); |