From bb0e5c9b7cead5ed85ae9843897eddfd9f143764 Mon Sep 17 00:00:00 2001 From: mooglyguy Date: Fri, 7 Sep 2018 21:37:48 +0200 Subject: -mb87078,mb8795,mb89363b,mc14411: De-MCFG, nw --- src/devices/bus/coco/coco_t4426.cpp | 31 +++++++------- src/devices/machine/mb87078.h | 16 +------- src/devices/machine/mb8795.h | 25 ++---------- src/devices/machine/mb89363b.h | 73 +++++++-------------------------- src/devices/machine/mc14411.h | 44 +------------------- src/mame/audio/taito_en.cpp | 4 +- src/mame/drivers/force68k.cpp | 22 +++++----- src/mame/drivers/kenseim.cpp | 23 ++++++----- src/mame/drivers/next.cpp | 10 ++--- src/mame/drivers/proteus3.cpp | 32 +++++++-------- src/mame/drivers/swtpc.cpp | 80 ++++++++++++++++++------------------- src/mame/drivers/swtpc09.cpp | 4 +- src/mame/drivers/taito_b.cpp | 12 +++--- 13 files changed, 131 insertions(+), 245 deletions(-) diff --git a/src/devices/bus/coco/coco_t4426.cpp b/src/devices/bus/coco/coco_t4426.cpp index fa34a31c31c..eaa6f651ef2 100644 --- a/src/devices/bus/coco/coco_t4426.cpp +++ b/src/devices/bus/coco/coco_t4426.cpp @@ -148,7 +148,8 @@ namespace IMPLEMENTATION ***************************************************************************/ -MACHINE_CONFIG_START(coco_t4426_device::device_add_mconfig) +void coco_t4426_device::device_add_mconfig(machine_config &config) +{ PIA6821(config, m_pia, 0); m_pia->writepa_handler().set(FUNC(coco_t4426_device::pia_A_w)); @@ -156,22 +157,22 @@ MACHINE_CONFIG_START(coco_t4426_device::device_add_mconfig) m_uart->txd_handler().set(SERIAL_TAG, FUNC(rs232_port_device::write_txd)); m_uart->rts_handler().set(SERIAL_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(SERIAL_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(UART_TAG, acia6850_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE(UART_TAG, acia6850_device, write_cts)) + rs232_port_device &rs232(RS232_PORT(config, SERIAL_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(UART_TAG, FUNC(acia6850_device::write_rxd)); + rs232.cts_handler().set(UART_TAG, FUNC(acia6850_device::write_cts)); /* Bit Rate Generator */ - MCFG_DEVICE_ADD(BRG_TAG, MC14411, 1.8432_MHz_XTAL) - MCFG_MC14411_F1_CB(WRITELINE(*this, coco_t4426_device, write_f1_clock)) - MCFG_MC14411_F3_CB(WRITELINE(*this, coco_t4426_device, write_f3_clock)) - MCFG_MC14411_F5_CB(WRITELINE(*this, coco_t4426_device, write_f5_clock)) - MCFG_MC14411_F7_CB(WRITELINE(*this, coco_t4426_device, write_f7_clock)) - MCFG_MC14411_F8_CB(WRITELINE(*this, coco_t4426_device, write_f8_clock)) - MCFG_MC14411_F9_CB(WRITELINE(*this, coco_t4426_device, write_f9_clock)) - MCFG_MC14411_F11_CB(WRITELINE(*this, coco_t4426_device, write_f11_clock)) - MCFG_MC14411_F13_CB(WRITELINE(*this, coco_t4426_device, write_f13_clock)) - MCFG_MC14411_F15_CB(WRITELINE(*this, coco_t4426_device, write_f15_clock)) -MACHINE_CONFIG_END + MC14411(config, m_brg, 1.8432_MHz_XTAL); + m_brg->out_f<1>().set(FUNC(coco_t4426_device::write_f1_clock)); + m_brg->out_f<3>().set(FUNC(coco_t4426_device::write_f3_clock)); + m_brg->out_f<5>().set(FUNC(coco_t4426_device::write_f5_clock)); + m_brg->out_f<7>().set(FUNC(coco_t4426_device::write_f7_clock)); + m_brg->out_f<8>().set(FUNC(coco_t4426_device::write_f8_clock)); + m_brg->out_f<9>().set(FUNC(coco_t4426_device::write_f9_clock)); + m_brg->out_f<11>().set(FUNC(coco_t4426_device::write_f11_clock)); + m_brg->out_f<13>().set(FUNC(coco_t4426_device::write_f13_clock)); + m_brg->out_f<15>().set(FUNC(coco_t4426_device::write_f15_clock)); +} ROM_START( coco_t4426 ) // Part of this region is filled by set_bank diff --git a/src/devices/machine/mb87078.h b/src/devices/machine/mb87078.h index 61ef9aac8ea..ba58bdfb089 100644 --- a/src/devices/machine/mb87078.h +++ b/src/devices/machine/mb87078.h @@ -12,24 +12,12 @@ #pragma once - -/*************************************************************************** - DEVICE CONFIGURATION MACROS -***************************************************************************/ - -#define MCFG_MB87078_GAIN_CHANGED_CB(_devcb) \ - downcast(*device).set_gain_changed_callback(DEVCB_##_devcb); - -/*************************************************************************** - TYPE DEFINITIONS -***************************************************************************/ - class mb87078_device : public device_t { public: - mb87078_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mb87078_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); - template devcb_base &set_gain_changed_callback(Object &&cb) { return m_gain_changed_cb.set_callback(std::forward(cb)); } + auto gain_changed() { return m_gain_changed_cb.bind(); } void data_w(int data, int dsel); void reset_comp_w(int level); diff --git a/src/devices/machine/mb8795.h b/src/devices/machine/mb8795.h index a3b6e6244cc..6662cd96ebc 100644 --- a/src/devices/machine/mb8795.h +++ b/src/devices/machine/mb8795.h @@ -3,33 +3,16 @@ #ifndef MAME_MACHINE_MB8795_H #define MAME_MACHINE_MB8795_H -#define MCFG_MB8795_ADD(_tag, _tx_irq, _rx_irq, _tx_drq, _rx_drq) \ - MCFG_DEVICE_ADD(_tag, MB8795, 0) \ - downcast(device)->set_irq_cb(_tx_irq, _rx_irq); \ - downcast(device)->set_drq_cb(_tx_drq, _rx_drq); - -#define MCFG_MB8795_TX_IRQ_CALLBACK(_write) \ - downcast(*device).set_tx_irq_wr_callback(DEVCB_##_write); - -#define MCFG_MB8795_RX_IRQ_CALLBACK(_write) \ - downcast(*device).set_rx_irq_wr_callback(DEVCB_##_write); - -#define MCFG_MB8795_TX_DRQ_CALLBACK(_write) \ - downcast(*device).set_tx_drq_wr_callback(DEVCB_##_write); - -#define MCFG_MB8795_RX_DRQ_CALLBACK(_write) \ - downcast(*device).set_rx_drq_wr_callback(DEVCB_##_write); - class mb8795_device : public device_t, public device_network_interface { public: mb8795_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_tx_irq_wr_callback(Object &&cb) { return irq_tx_cb.set_callback(std::forward(cb)); } - template devcb_base &set_rx_irq_wr_callback(Object &&cb) { return irq_rx_cb.set_callback(std::forward(cb)); } - template devcb_base &set_tx_drq_wr_callback(Object &&cb) { return drq_tx_cb.set_callback(std::forward(cb)); } - template devcb_base &set_rx_drq_wr_callback(Object &&cb) { return drq_rx_cb.set_callback(std::forward(cb)); } + auto tx_irq() { return irq_tx_cb.bind(); } + auto rx_irq() { return irq_rx_cb.bind(); } + auto tx_drq() { return drq_tx_cb.bind(); } + auto rx_drq() { return drq_rx_cb.bind(); } void tx_dma_w(uint8_t data, bool eof); void rx_dma_r(uint8_t &data, bool &eof); diff --git a/src/devices/machine/mb89363b.h b/src/devices/machine/mb89363b.h index 755730d05aa..da8198288c0 100644 --- a/src/devices/machine/mb89363b.h +++ b/src/devices/machine/mb89363b.h @@ -12,78 +12,33 @@ #pragma once - #include "machine/i8255.h" DECLARE_DEVICE_TYPE(MB89363B, mb89363b_device) -#define MCFG_MB89363B_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, MB89363B, 0) - - - -#define MCFG_MB89363B_IN_PORTA_CB(_devcb) \ - downcast(*device).set_in_a_pa_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_IN_PORTB_CB(_devcb) \ - downcast(*device).set_in_a_pb_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_IN_PORTC_CB(_devcb) \ - downcast(*device).set_in_a_pc_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTA_CB(_devcb) \ - downcast(*device).set_out_a_pa_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTB_CB(_devcb) \ - downcast(*device).set_out_a_pb_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTC_CB(_devcb) \ - downcast(*device).set_out_a_pc_callback(DEVCB_##_devcb); - - -#define MCFG_MB89363B_IN_PORTD_CB(_devcb) \ - downcast(*device).set_in_b_pa_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_IN_PORTE_CB(_devcb) \ - downcast(*device).set_in_b_pb_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_IN_PORTF_CB(_devcb) \ - downcast(*device).set_in_b_pc_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTD_CB(_devcb) \ - downcast(*device).set_out_b_pa_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTE_CB(_devcb) \ - downcast(*device).set_out_b_pb_callback(DEVCB_##_devcb); - -#define MCFG_MB89363B_OUT_PORTF_CB(_devcb) \ - downcast(*device).set_out_b_pc_callback(DEVCB_##_devcb); - - - class mb89363b_device : public device_t { public: // construction/destruction - mb89363b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + mb89363b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0); DECLARE_READ8_MEMBER(read); DECLARE_WRITE8_MEMBER(write); - template devcb_base &set_in_a_pa_callback(Object &&cb) { return m_in_a_pa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_a_pb_callback(Object &&cb) { return m_in_a_pb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_a_pc_callback(Object &&cb) { return m_in_a_pc_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_a_pa_callback(Object &&cb) { return m_out_a_pa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_a_pb_callback(Object &&cb) { return m_out_a_pb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_a_pc_callback(Object &&cb) { return m_out_a_pc_cb.set_callback(std::forward(cb)); } - - template devcb_base &set_in_b_pa_callback(Object &&cb) { return m_in_b_pa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_b_pb_callback(Object &&cb) { return m_in_b_pb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_in_b_pc_callback(Object &&cb) { return m_in_b_pc_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_b_pa_callback(Object &&cb) { return m_out_b_pa_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_b_pb_callback(Object &&cb) { return m_out_b_pb_cb.set_callback(std::forward(cb)); } - template devcb_base &set_out_b_pc_callback(Object &&cb) { return m_out_b_pc_cb.set_callback(std::forward(cb)); } + auto in_pa() { return m_in_a_pa_cb.bind(); } + auto in_pb() { return m_in_a_pb_cb.bind(); } + auto in_pc() { return m_in_a_pc_cb.bind(); } + auto out_pa() { return m_out_a_pa_cb.bind(); } + auto out_pb() { return m_out_a_pb_cb.bind(); } + auto out_pc() { return m_out_a_pc_cb.bind(); } + + auto in_pd() { return m_in_b_pa_cb.bind(); } + auto in_pe() { return m_in_b_pb_cb.bind(); } + auto in_pf() { return m_in_b_pc_cb.bind(); } + auto out_pd() { return m_out_b_pa_cb.bind(); } + auto out_pe() { return m_out_b_pb_cb.bind(); } + auto out_pf() { return m_out_b_pc_cb.bind(); } protected: virtual void device_add_mconfig(machine_config &config) override; diff --git a/src/devices/machine/mc14411.h b/src/devices/machine/mc14411.h index ef5196ef363..6012e679d03 100644 --- a/src/devices/machine/mc14411.h +++ b/src/devices/machine/mc14411.h @@ -26,31 +26,6 @@ #pragma once - -//************************************************************************** -// DEVICE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_MC14411_F1_CB(_devcb) downcast(*device).set_out_fx_cb( 0, DEVCB_##_devcb); -#define MCFG_MC14411_F2_CB(_devcb) downcast(*device).set_out_fx_cb( 1, DEVCB_##_devcb); -#define MCFG_MC14411_F3_CB(_devcb) downcast(*device).set_out_fx_cb( 2, DEVCB_##_devcb); -#define MCFG_MC14411_F4_CB(_devcb) downcast(*device).set_out_fx_cb( 3, DEVCB_##_devcb); -#define MCFG_MC14411_F5_CB(_devcb) downcast(*device).set_out_fx_cb( 4, DEVCB_##_devcb); -#define MCFG_MC14411_F6_CB(_devcb) downcast(*device).set_out_fx_cb( 5, DEVCB_##_devcb); -#define MCFG_MC14411_F7_CB(_devcb) downcast(*device).set_out_fx_cb( 6, DEVCB_##_devcb); -#define MCFG_MC14411_F8_CB(_devcb) downcast(*device).set_out_fx_cb( 7, DEVCB_##_devcb); -#define MCFG_MC14411_F9_CB(_devcb) downcast(*device).set_out_fx_cb( 8, DEVCB_##_devcb); -#define MCFG_MC14411_F10_CB(_devcb) downcast(*device).set_out_fx_cb( 9, DEVCB_##_devcb); -#define MCFG_MC14411_F11_CB(_devcb) downcast(*device).set_out_fx_cb(10, DEVCB_##_devcb); -#define MCFG_MC14411_F12_CB(_devcb) downcast(*device).set_out_fx_cb(11, DEVCB_##_devcb); -#define MCFG_MC14411_F13_CB(_devcb) downcast(*device).set_out_fx_cb(12, DEVCB_##_devcb); -#define MCFG_MC14411_F14_CB(_devcb) downcast(*device).set_out_fx_cb(13, DEVCB_##_devcb); -#define MCFG_MC14411_F15_CB(_devcb) downcast(*device).set_out_fx_cb(14, DEVCB_##_devcb); -#define MCFG_MC14411_F16_CB(_devcb) downcast(*device).set_out_fx_cb(15, DEVCB_##_devcb); - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** class mc14411_device : public device_t { public: @@ -86,23 +61,7 @@ public: // construction/destruction mc14411_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - template devcb_base &set_out_fx_cb(int index, Object &&cb) { return m_out_fx_cbs[index].set_callback(std::forward(cb)); } - auto out_f1_cb() { return m_out_fx_cbs[0].bind(); } - auto out_f2_cb() { return m_out_fx_cbs[1].bind(); } - auto out_f3_cb() { return m_out_fx_cbs[2].bind(); } - auto out_f4_cb() { return m_out_fx_cbs[3].bind(); } - auto out_f5_cb() { return m_out_fx_cbs[4].bind(); } - auto out_f6_cb() { return m_out_fx_cbs[5].bind(); } - auto out_f7_cb() { return m_out_fx_cbs[6].bind(); } - auto out_f8_cb() { return m_out_fx_cbs[7].bind(); } - auto out_f9_cb() { return m_out_fx_cbs[8].bind(); } - auto out_f10_cb() { return m_out_fx_cbs[9].bind(); } - auto out_f11_cb() { return m_out_fx_cbs[10].bind(); } - auto out_f12_cb() { return m_out_fx_cbs[11].bind(); } - auto out_f13_cb() { return m_out_fx_cbs[12].bind(); } - auto out_f14_cb() { return m_out_fx_cbs[13].bind(); } - auto out_f15_cb() { return m_out_fx_cbs[14].bind(); } - auto out_f16_cb() { return m_out_fx_cbs[15].bind(); } + template auto out_f() { return m_out_fx_cbs[Line-1].bind(); } DECLARE_WRITE_LINE_MEMBER(reset_w); DECLARE_WRITE8_MEMBER(rate_select_w); @@ -141,7 +100,6 @@ private: bool m_timer_enabled[16]; }; -// device type definition DECLARE_DEVICE_TYPE(MC14411, mc14411_device) #endif // MAME_MACHINE_MC14411_H diff --git a/src/mame/audio/taito_en.cpp b/src/mame/audio/taito_en.cpp index a9c77698cc4..a12c3bef195 100644 --- a/src/mame/audio/taito_en.cpp +++ b/src/mame/audio/taito_en.cpp @@ -210,8 +210,8 @@ MACHINE_CONFIG_START(taito_en_device::device_add_mconfig) MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, taito_en_device, duart_irq_handler)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, taito_en_device, duart_output)) - MCFG_DEVICE_ADD("mb87078", MB87078, 0) - MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taito_en_device, mb87078_gain_changed)) + MB87078(config, m_mb87078); + m_mb87078->gain_changed().set(FUNC(taito_en_device::mb87078_gain_changed)); MCFG_DEVICE_ADD("dpram", MB8421, 0) // host accesses this from the other side diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp index 9f23d7d5172..4c2f72b8933 100644 --- a/src/mame/drivers/force68k.cpp +++ b/src/mame/drivers/force68k.cpp @@ -575,19 +575,19 @@ MACHINE_CONFIG_START(force68k_state::fccpu1) ACIA6850(config, m_aciaremt, 0); /* Bit Rate Generator */ - MCFG_DEVICE_ADD("brg", MC14411, XTAL(1'843'200)) - MCFG_MC14411_F1_CB(WRITELINE (*this, force68k_state, write_f1_clock)) - MCFG_MC14411_F3_CB(WRITELINE (*this, force68k_state, write_f3_clock)) - MCFG_MC14411_F5_CB(WRITELINE (*this, force68k_state, write_f5_clock)) - MCFG_MC14411_F7_CB(WRITELINE (*this, force68k_state, write_f7_clock)) - MCFG_MC14411_F8_CB(WRITELINE (*this, force68k_state, write_f8_clock)) - MCFG_MC14411_F9_CB(WRITELINE (*this, force68k_state, write_f9_clock)) - MCFG_MC14411_F11_CB(WRITELINE (*this, force68k_state, write_f11_clock)) - MCFG_MC14411_F13_CB(WRITELINE (*this, force68k_state, write_f13_clock)) - MCFG_MC14411_F15_CB(WRITELINE (*this, force68k_state, write_f15_clock)) + MC14411(config, m_brg, XTAL(1'843'200)); + m_brg->out_f<1>().set(FUNC(force68k_state::write_f1_clock)); + m_brg->out_f<3>().set(FUNC(force68k_state::write_f3_clock)); + m_brg->out_f<5>().set(FUNC(force68k_state::write_f5_clock)); + m_brg->out_f<7>().set(FUNC(force68k_state::write_f7_clock)); + m_brg->out_f<8>().set(FUNC(force68k_state::write_f8_clock)); + m_brg->out_f<9>().set(FUNC(force68k_state::write_f9_clock)); + m_brg->out_f<11>().set(FUNC(force68k_state::write_f11_clock)); + m_brg->out_f<13>().set(FUNC(force68k_state::write_f13_clock)); + m_brg->out_f<15>().set(FUNC(force68k_state::write_f15_clock)); /* RTC Real Time Clock device */ - MCFG_DEVICE_ADD("rtc", MM58167, XTAL(32'768)) + MM58167(config, m_rtc, XTAL(32'768)); /* PIT Parallel Interface and Timer device, assuming strapped for on board clock */ PIT68230(config, m_pit, XTAL(16'000'000) / 2); diff --git a/src/mame/drivers/kenseim.cpp b/src/mame/drivers/kenseim.cpp index aec34d7a567..ad985da6393 100644 --- a/src/mame/drivers/kenseim.cpp +++ b/src/mame/drivers/kenseim.cpp @@ -477,7 +477,8 @@ static const z80_daisy_config daisy_chain_gamecpu[] = { nullptr } }; -MACHINE_CONFIG_START(kenseim_state::kenseim) +void kenseim_state::kenseim(machine_config &config) +{ cps1_12MHz(config); /* basic machine hardware */ @@ -493,18 +494,18 @@ MACHINE_CONFIG_START(kenseim_state::kenseim) gamecpu.in_pc_callback().set_ioport("CAB-IN"); gamecpu.in_pd_callback().set(FUNC(kenseim_state::cpu_portd_r)); - MCFG_MB89363B_ADD("mb89363b") + mb89363b_device &ppi_x2(MB89363B(config, "mb89363b")); // a,b,c always $80: all ports set as output // d,e,f always $92: port D and E as input, port F as output - MCFG_MB89363B_OUT_PORTA_CB(WRITE8(*this, kenseim_state, mb8936_porta_w)) - MCFG_MB89363B_OUT_PORTB_CB(WRITE8(*this, kenseim_state, mb8936_portb_w)) - MCFG_MB89363B_OUT_PORTC_CB(WRITE8(*this, kenseim_state, mb8936_portc_w)) - MCFG_MB89363B_IN_PORTD_CB(IOPORT("MOLEA")) - MCFG_MB89363B_IN_PORTE_CB(IOPORT("MOLEB")) - MCFG_MB89363B_OUT_PORTF_CB(WRITE8(*this, kenseim_state, mb8936_portf_w)) - - MCFG_QUANTUM_PERFECT_CPU("maincpu") -MACHINE_CONFIG_END + ppi_x2.out_pa().set(FUNC(kenseim_state::mb8936_porta_w)); + ppi_x2.out_pb().set(FUNC(kenseim_state::mb8936_portb_w)); + ppi_x2.out_pc().set(FUNC(kenseim_state::mb8936_portc_w)); + ppi_x2.in_pd().set_ioport("MOLEA"); + ppi_x2.in_pe().set_ioport("MOLEB"); + ppi_x2.out_pf().set(FUNC(kenseim_state::mb8936_portf_w)); + + config.m_perfect_cpu_quantum = subtag("maincpu"); +} static INPUT_PORTS_START( kenseim ) // the regular CPS1 input ports are used for comms with the extra board diff --git a/src/mame/drivers/next.cpp b/src/mame/drivers/next.cpp index 8dc4435f557..d4c134c9f3a 100644 --- a/src/mame/drivers/next.cpp +++ b/src/mame/drivers/next.cpp @@ -1036,11 +1036,11 @@ MACHINE_CONFIG_START(next_state::next_base) MCFG_NSCSI_ADD("scsibus:7", next_scsi_devices, "ncr5390", true) MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr5390", [this] (device_t *device) { ncr5390(device); }) - MCFG_DEVICE_ADD("net", MB8795, 0) - MCFG_MB8795_TX_IRQ_CALLBACK(WRITELINE(*this, next_state, net_tx_irq)) - MCFG_MB8795_RX_IRQ_CALLBACK(WRITELINE(*this, next_state, net_rx_irq)) - MCFG_MB8795_TX_DRQ_CALLBACK(WRITELINE(*this, next_state, net_tx_drq)) - MCFG_MB8795_RX_DRQ_CALLBACK(WRITELINE(*this, next_state, net_rx_drq)) + MB8795(config, net, 0); + net->tx_irq().set(FUNC(next_state::net_tx_irq)); + net->rx_irq().set(FUNC(next_state::net_rx_irq)); + net->tx_drq().set(FUNC(next_state::net_tx_drq)); + net->rx_drq().set(FUNC(next_state::net_rx_drq)); MCFG_DEVICE_ADD("mo", NEXTMO, 0) MCFG_NEXTMO_IRQ_CALLBACK(WRITELINE(*this, next_state, mo_irq)) diff --git a/src/mame/drivers/proteus3.cpp b/src/mame/drivers/proteus3.cpp index 3543bce7fc4..1b193e970b8 100644 --- a/src/mame/drivers/proteus3.cpp +++ b/src/mame/drivers/proteus3.cpp @@ -426,22 +426,22 @@ MACHINE_CONFIG_START(proteus3_state::proteus3) MCFG_RS232_CTS_HANDLER(WRITELINE("acia2", acia6850_device, write_cts)) /* Bit Rate Generator */ - MCFG_DEVICE_ADD ("brg", MC14411, XTAL(1'843'200)) // crystal needs verification but is the likely one - MCFG_MC14411_F1_CB(WRITELINE (*this, proteus3_state, write_f1_clock)) - MCFG_MC14411_F2_CB(WRITELINE (*this, proteus3_state, write_f2_clock)) - MCFG_MC14411_F3_CB(WRITELINE (*this, proteus3_state, write_f3_clock)) - MCFG_MC14411_F4_CB(WRITELINE (*this, proteus3_state, write_f4_clock)) - MCFG_MC14411_F5_CB(WRITELINE (*this, proteus3_state, write_f5_clock)) - MCFG_MC14411_F6_CB(WRITELINE (*this, proteus3_state, write_f6_clock)) - MCFG_MC14411_F7_CB(WRITELINE (*this, proteus3_state, write_f7_clock)) - MCFG_MC14411_F8_CB(WRITELINE (*this, proteus3_state, write_f8_clock)) - MCFG_MC14411_F9_CB(WRITELINE (*this, proteus3_state, write_f9_clock)) - MCFG_MC14411_F10_CB(WRITELINE (*this, proteus3_state, write_f10_clock)) - MCFG_MC14411_F11_CB(WRITELINE (*this, proteus3_state, write_f11_clock)) - MCFG_MC14411_F12_CB(WRITELINE (*this, proteus3_state, write_f12_clock)) - MCFG_MC14411_F13_CB(WRITELINE (*this, proteus3_state, write_f13_clock)) - MCFG_MC14411_F14_CB(WRITELINE (*this, proteus3_state, write_f14_clock)) - MCFG_MC14411_F15_CB(WRITELINE (*this, proteus3_state, write_f15_clock)) + MC14411(config, m_brg, XTAL(1'843'200)); // crystal needs verification but is the likely one + m_brg->out_f<1>().set(FUNC(proteus3_state::write_f1_clock)); + m_brg->out_f<2>().set(FUNC(proteus3_state::write_f2_clock)); + m_brg->out_f<3>().set(FUNC(proteus3_state::write_f3_clock)); + m_brg->out_f<4>().set(FUNC(proteus3_state::write_f4_clock)); + m_brg->out_f<5>().set(FUNC(proteus3_state::write_f5_clock)); + m_brg->out_f<6>().set(FUNC(proteus3_state::write_f6_clock)); + m_brg->out_f<7>().set(FUNC(proteus3_state::write_f7_clock)); + m_brg->out_f<8>().set(FUNC(proteus3_state::write_f8_clock)); + m_brg->out_f<9>().set(FUNC(proteus3_state::write_f9_clock)); + m_brg->out_f<10>().set(FUNC(proteus3_state::write_f10_clock)); + m_brg->out_f<11>().set(FUNC(proteus3_state::write_f11_clock)); + m_brg->out_f<12>().set(FUNC(proteus3_state::write_f12_clock)); + m_brg->out_f<13>().set(FUNC(proteus3_state::write_f13_clock)); + m_brg->out_f<14>().set(FUNC(proteus3_state::write_f14_clock)); + m_brg->out_f<15>().set(FUNC(proteus3_state::write_f15_clock)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/swtpc.cpp b/src/mame/drivers/swtpc.cpp index b69fc7c68a5..5f2343136f7 100644 --- a/src/mame/drivers/swtpc.cpp +++ b/src/mame/drivers/swtpc.cpp @@ -103,46 +103,46 @@ MACHINE_CONFIG_START(swtpc_state::swtpc) MCFG_DEVICE_PROGRAM_MAP(mem_map) MC14411(config, m_brg, XTAL(1'843'200)); - m_brg->out_f7_cb().set("io0", FUNC(ss50_interface_port_device::f600_1200_w)); // 1200b - m_brg->out_f7_cb().append("io1", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io2", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io3", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io4", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io5", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io6", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f7_cb().append("io7", FUNC(ss50_interface_port_device::f600_1200_w)); - m_brg->out_f8_cb().set("io0", FUNC(ss50_interface_port_device::f600_4800_w)); // 600b - m_brg->out_f8_cb().append("io1", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io2", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io3", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io4", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io5", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io6", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f8_cb().append("io7", FUNC(ss50_interface_port_device::f600_4800_w)); - m_brg->out_f9_cb().set("io0", FUNC(ss50_interface_port_device::f300_w)); // 300b - m_brg->out_f9_cb().append("io1", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io2", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io3", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io4", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io5", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io6", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f9_cb().append("io7", FUNC(ss50_interface_port_device::f300_w)); - m_brg->out_f11_cb().set("io0", FUNC(ss50_interface_port_device::f150_9600_w)); // 150b - m_brg->out_f11_cb().append("io1", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io2", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io3", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io4", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io5", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io6", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f11_cb().append("io7", FUNC(ss50_interface_port_device::f150_9600_w)); - m_brg->out_f13_cb().set("io0", FUNC(ss50_interface_port_device::f110_w)); // 110b - m_brg->out_f13_cb().append("io1", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io2", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io3", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io4", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io5", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io6", FUNC(ss50_interface_port_device::f110_w)); - m_brg->out_f13_cb().append("io7", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<7>().set("io0", FUNC(ss50_interface_port_device::f600_1200_w)); // 1200b + m_brg->out_f<7>().append("io1", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io2", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io3", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io4", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io5", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io6", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<7>().append("io7", FUNC(ss50_interface_port_device::f600_1200_w)); + m_brg->out_f<8>().set("io0", FUNC(ss50_interface_port_device::f600_4800_w)); // 600b + m_brg->out_f<8>().append("io1", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io2", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io3", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io4", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io5", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io6", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<8>().append("io7", FUNC(ss50_interface_port_device::f600_4800_w)); + m_brg->out_f<9>().set("io0", FUNC(ss50_interface_port_device::f300_w)); // 300b + m_brg->out_f<9>().append("io1", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io2", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io3", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io4", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io5", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io6", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<9>().append("io7", FUNC(ss50_interface_port_device::f300_w)); + m_brg->out_f<11>().set("io0", FUNC(ss50_interface_port_device::f150_9600_w)); // 150b + m_brg->out_f<11>().append("io1", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io2", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io3", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io4", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io5", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io6", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<11>().append("io7", FUNC(ss50_interface_port_device::f150_9600_w)); + m_brg->out_f<13>().set("io0", FUNC(ss50_interface_port_device::f110_w)); // 110b + m_brg->out_f<13>().append("io1", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io2", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io3", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io4", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io5", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io6", FUNC(ss50_interface_port_device::f110_w)); + m_brg->out_f<13>().append("io7", FUNC(ss50_interface_port_device::f110_w)); MCFG_SS50_INTERFACE_PORT_ADD("io0", default_2rs_devices, nullptr) MCFG_SS50_INTERFACE_IRQ_CALLBACK(WRITELINE("mainirq", input_merger_device, in_w<0>)) diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp index 82404f1f10c..638d3a2d23a 100644 --- a/src/mame/drivers/swtpc09.cpp +++ b/src/mame/drivers/swtpc09.cpp @@ -198,8 +198,8 @@ void swtpc09_state::swtpc09_base(machine_config &config) m_acia->irq_handler().set(FUNC(swtpc09_state::acia_interrupt)); MC14411(config, m_brg, 1.8432_MHz_XTAL); - m_brg->out_f1_cb().set(m_acia, FUNC(acia6850_device::write_txc)); - m_brg->out_f1_cb().append(m_acia, FUNC(acia6850_device::write_rxc)); + m_brg->out_f<1>().set(m_acia, FUNC(acia6850_device::write_txc)); + m_brg->out_f<1>().append(m_acia, FUNC(acia6850_device::write_rxc)); FD1793(config, m_fdc, 1_MHz_XTAL); FLOPPY_CONNECTOR(config, "fdc:0", swtpc09_floppies, "dd", swtpc09_state::floppy_formats); diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp index 7b957615713..81cb0a183e1 100644 --- a/src/mame/drivers/taito_b.cpp +++ b/src/mame/drivers/taito_b.cpp @@ -2203,8 +2203,8 @@ MACHINE_CONFIG_START(taitob_state::pbobble) m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); - MCFG_DEVICE_ADD("mb87078", MB87078, 0) - MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) + MB87078(config, m_mb87078); + m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2267,8 +2267,8 @@ MACHINE_CONFIG_START(taitob_state::spacedx) m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); - MCFG_DEVICE_ADD("mb87078", MB87078, 0) - MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) + MB87078(config, m_mb87078); + m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -2389,8 +2389,8 @@ MACHINE_CONFIG_START(taitob_state::qzshowby) m_tc0640fio->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w)); m_tc0640fio->read_7_callback().set_ioport("P1_P2_B"); - MCFG_DEVICE_ADD("mb87078", MB87078, 0) - MCFG_MB87078_GAIN_CHANGED_CB(WRITE8(*this, taitob_state, mb87078_gain_changed)) + MB87078(config, m_mb87078); + m_mb87078->gain_changed().set(FUNC(taitob_state::mb87078_gain_changed)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) -- cgit v1.2.3