From 3cb3744f22da18ff8214703773fb1c4430bef186 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 17 Oct 2018 18:13:53 +0200 Subject: rs232: small start at removing MCFG macros (nw) --- src/mame/drivers/altos486.cpp | 62 +++++++++++++++++------------------ src/mame/drivers/altos5.cpp | 8 ++--- src/mame/drivers/altos8600.cpp | 18 +++++----- src/mame/drivers/amiga.cpp | 12 +++---- src/mame/drivers/apple2gs.cpp | 18 +++++----- src/mame/drivers/apple3.cpp | 10 +++--- src/mame/drivers/atarist.cpp | 56 +++++++++++++++---------------- src/mame/drivers/att4425.cpp | 20 +++++------ src/mame/drivers/harddriv.cpp | 4 +-- src/mame/drivers/lb186.cpp | 8 ++--- src/mame/drivers/pc1512.cpp | 24 +++++++------- src/mame/drivers/pcw16.cpp | 22 ++++++------- src/mame/drivers/super6.cpp | 21 ++++++------ src/mame/drivers/superslave.cpp | 39 +++++++++++----------- src/mame/machine/acs8600_ics.cpp | 71 ++++++++++++++++++++-------------------- src/mame/machine/apollo.cpp | 4 +-- 16 files changed, 199 insertions(+), 198 deletions(-) diff --git a/src/mame/drivers/altos486.cpp b/src/mame/drivers/altos486.cpp index bdca3416812..336491a7329 100644 --- a/src/mame/drivers/altos486.cpp +++ b/src/mame/drivers/altos486.cpp @@ -146,7 +146,7 @@ MACHINE_CONFIG_START(altos486_state::altos486) pic8259.in_sp_callback().set_constant(1); pic8259.read_slave_ack_callback().set(FUNC(altos486_state::read_rmx_ack)); - MCFG_DEVICE_ADD("ppi8255", I8255, 0) + I8255(config, "ppi8255"); UPD765A(config, "fdc", false, false); MCFG_FLOPPY_DRIVE_ADD("fdc:0", altos486_floppies, "525qd", altos486_state::floppy_formats) @@ -182,36 +182,36 @@ MACHINE_CONFIG_START(altos486_state::altos486) i8274.out_rtsa_callback().set("rs422_wn", FUNC(rs232_port_device::write_rts)); //i8274.out_int_callback().set(FUNC(altos486_state::sio_interrupt)); - MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("sio0", z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio0", z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio0", z80dart_device, ctsa_w)) - //MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", altos486_terminal) - - MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio0", z80dart_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio0", z80dart_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio0", z80dart_device, ctsb_w)) - - MCFG_DEVICE_ADD("rs232c", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio1", z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio1", z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio1", z80dart_device, ctsa_w)) - - MCFG_DEVICE_ADD("rs232d", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio1", z80dart_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio1", z80dart_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio1", z80dart_device, ctsb_w)) - - MCFG_DEVICE_ADD("rs232_lp", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio2", z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio2", z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio2", z80dart_device, ctsa_w)) - - MCFG_DEVICE_ADD("rs422_wn", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("i8274", z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("i8274", z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("i8274", z80dart_device, ctsa_w)) + rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, "terminal")); + rs232a.rxd_handler().set("sio0", FUNC(z80dart_device::rxa_w)); + rs232a.dcd_handler().set("sio0", FUNC(z80dart_device::dcda_w)); + rs232a.cts_handler().set("sio0", FUNC(z80dart_device::ctsa_w)); + //rs232a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(altos486_terminal)); + + rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set("sio0", FUNC(z80dart_device::rxb_w)); + rs232b.dcd_handler().set("sio0", FUNC(z80dart_device::dcdb_w)); + rs232b.cts_handler().set("sio0", FUNC(z80dart_device::ctsb_w)); + + rs232_port_device &rs232c(RS232_PORT(config, "rs232c", default_rs232_devices, nullptr)); + rs232c.rxd_handler().set("sio1", FUNC(z80dart_device::rxa_w)); + rs232c.dcd_handler().set("sio1", FUNC(z80dart_device::dcda_w)); + rs232c.cts_handler().set("sio1", FUNC(z80dart_device::ctsa_w)); + + rs232_port_device &rs232d(RS232_PORT(config, "rs232d", default_rs232_devices, nullptr)); + rs232d.rxd_handler().set("sio1", FUNC(z80dart_device::rxb_w)); + rs232d.dcd_handler().set("sio1", FUNC(z80dart_device::dcdb_w)); + rs232d.cts_handler().set("sio1", FUNC(z80dart_device::ctsb_w)); + + rs232_port_device &rs232_lp(RS232_PORT(config, "rs232_lp", default_rs232_devices, nullptr)); + rs232_lp.rxd_handler().set("sio2", FUNC(z80dart_device::rxa_w)); + rs232_lp.dcd_handler().set("sio2", FUNC(z80dart_device::dcda_w)); + rs232_lp.cts_handler().set("sio2", FUNC(z80dart_device::ctsa_w)); + + rs232_port_device &rs232_wn(RS232_PORT(config, "rs232_wn", default_rs232_devices, nullptr)); + rs232_wn.rxd_handler().set("i8274", FUNC(z80dart_device::rxa_w)); + rs232_wn.dcd_handler().set("i8274", FUNC(z80dart_device::dcda_w)); + rs232_wn.cts_handler().set("i8274", FUNC(z80dart_device::ctsa_w)); MCFG_DEVICE_ADD("pit0", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL(22'118'400)/18) diff --git a/src/mame/drivers/altos5.cpp b/src/mame/drivers/altos5.cpp index df01069142a..e0fa933a54c 100644 --- a/src/mame/drivers/altos5.cpp +++ b/src/mame/drivers/altos5.cpp @@ -463,10 +463,10 @@ MACHINE_CONFIG_START(altos5_state::altos5) ctc.zc_callback<1>().append("sio", FUNC(z80sio_device::rxca_w)); ctc.zc_callback<2>().set("dart", FUNC(z80dart_device::rxtxcb_w)); // Z80DART Ch B - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio", z80sio_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio", z80sio_device, ctsb_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set("sio", FUNC(z80dart_device::rxb_w)); + rs232.dcd_handler().set("sio", FUNC(z80dart_device::dcdb_w)); + rs232.cts_handler().set("sio", FUNC(z80dart_device::ctsb_w)); FD1797(config, m_fdc, 8_MHz_XTAL / 8); m_fdc->intrq_wr_callback().set(FUNC(altos5_state::fdc_intrq_w)); diff --git a/src/mame/drivers/altos8600.cpp b/src/mame/drivers/altos8600.cpp index 9560c0163c5..2aab3feb743 100644 --- a/src/mame/drivers/altos8600.cpp +++ b/src/mame/drivers/altos8600.cpp @@ -766,15 +766,15 @@ MACHINE_CONFIG_START(altos8600_state::altos8600) m_uart8274->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); m_uart8274->out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir7_w)); - MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsa_w)) - - MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart8274, i8274_new_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart8274, i8274_new_device, ctsb_w)) + rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr)); + rs232a.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxa_w)); + rs232a.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcda_w)); + rs232a.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsa_w)); + + rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_uart8274, FUNC(i8274_new_device::rxb_w)); + rs232b.dcd_handler().set(m_uart8274, FUNC(i8274_new_device::dcdb_w)); + rs232b.cts_handler().set(m_uart8274, FUNC(i8274_new_device::ctsb_w)); I8255A(config, "ppi", 0); diff --git a/src/mame/drivers/amiga.cpp b/src/mame/drivers/amiga.cpp index 97cec6e61a1..f8d942df2b2 100644 --- a/src/mame/drivers/amiga.cpp +++ b/src/mame/drivers/amiga.cpp @@ -1608,12 +1608,12 @@ MACHINE_CONFIG_START(amiga_state::amiga_base) MCFG_FLOPPY_DRIVE_SOUND(true) // rs232 - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(*this, amiga_state, rs232_rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(*this, amiga_state, rs232_dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE(*this, amiga_state, rs232_dsr_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(*this, amiga_state, rs232_ri_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(*this, amiga_state, rs232_cts_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set(FUNC(amiga_state::rs232_rx_w)); + rs232.dcd_handler().set(FUNC(amiga_state::rs232_dcd_w)); + rs232.dsr_handler().set(FUNC(amiga_state::rs232_dsr_w)); + rs232.ri_handler().set(FUNC(amiga_state::rs232_ri_w)); + rs232.cts_handler().set(FUNC(amiga_state::rs232_cts_w)); // centronics MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp index 237965808c5..2ee0ed761e9 100644 --- a/src/mame/drivers/apple2gs.cpp +++ b/src/mame/drivers/apple2gs.cpp @@ -4672,15 +4672,15 @@ MACHINE_CONFIG_START( apple2gs_state::apple2gs ) m_scc->out_txda_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_txd)); m_scc->out_txdb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD(RS232A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, z80scc_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_scc, z80scc_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_scc, z80scc_device, ctsa_w)) - - MCFG_DEVICE_ADD(RS232B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, z80scc_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_scc, z80scc_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_scc, z80scc_device, ctsb_w)) + rs232_port_device &rs232a(RS232_PORT(config, RS232A_TAG, default_rs232_devices, nullptr)); + rs232a.rxd_handler().set(m_scc, FUNC(z80scc_device::rxa_w)); + rs232a.dcd_handler().set(m_scc, FUNC(z80scc_device::dcda_w)); + rs232a.cts_handler().set(m_scc, FUNC(z80scc_device::ctsa_w)); + + rs232_port_device &rs232b(RS232_PORT(config, RS232B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_scc, FUNC(z80scc_device::rxb_w)); + rs232b.dcd_handler().set(m_scc, FUNC(z80scc_device::dcdb_w)); + rs232b.cts_handler().set(m_scc, FUNC(z80scc_device::ctsb_w)); /* slot devices */ A2BUS(config, m_a2bus, 0); diff --git a/src/mame/drivers/apple3.cpp b/src/mame/drivers/apple3.cpp index d7931e7e535..6b04985680f 100644 --- a/src/mame/drivers/apple3.cpp +++ b/src/mame/drivers/apple3.cpp @@ -121,11 +121,11 @@ MACHINE_CONFIG_START(apple3_state::apple3) m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); m_acia->dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("acia", mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(WRITELINE("acia", mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(WRITELINE("acia", mos6551_device, write_dsr)) - // TODO: remove cts kludge from machine/apple3.c and come up with a good way of coping with pull up resistors. + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_acia, FUNC(mos6551_device::write_rxd)); + rs232.dcd_handler().set(m_acia, FUNC(mos6551_device::write_dcd)); + rs232.dsr_handler().set(m_acia, FUNC(mos6551_device::write_dsr)); + // TODO: remove cts kludge from machine/apple3.cpp and come up with a good way of coping with pull up resistors. /* paddle */ MCFG_TIMER_DRIVER_ADD("pdltimer", apple3_state, paddle_timer); diff --git a/src/mame/drivers/atarist.cpp b/src/mame/drivers/atarist.cpp index 8712e0f1ee4..dae918572a7 100644 --- a/src/mame/drivers/atarist.cpp +++ b/src/mame/drivers/atarist.cpp @@ -2046,7 +2046,7 @@ MACHINE_CONFIG_START(st_state::st) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, nullptr, st_state::floppy_formats) MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i0_w)) + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_mfp, mc68901_device, i0_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") @@ -2058,11 +2058,11 @@ MACHINE_CONFIG_START(st_state::st) m_mfp->out_tdo_cb().set(FUNC(st_state::mfp_tdo_w)); m_mfp->out_so_cb().set(RS232_TAG, FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_DCD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i6_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_mfp, FUNC(mc68901_device::write_rx)); + rs232.dcd_handler().set(m_mfp, FUNC(mc68901_device::i1_w)); + rs232.cts_handler().set(m_mfp, FUNC(mc68901_device::i2_w)); + rs232.ri_handler().set(m_mfp, FUNC(mc68901_device::i6_w)); ACIA6850(config, m_acia0, 0); m_acia0->txd_handler().set(FUNC(st_state::ikbd_tx_w)); @@ -2073,7 +2073,7 @@ MACHINE_CONFIG_START(st_state::st) m_acia1->irq_handler().set("aciairq", FUNC(input_merger_device::in_w<1>)); input_merger_device &aciairq(INPUT_MERGER_ANY_HIGH(config, "aciairq")); - aciairq.output_handler().set(MC68901_TAG, FUNC(mc68901_device::i4_w)).invert(); + aciairq.output_handler().set(m_mfp, FUNC(mc68901_device::i4_w)).invert(); MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_1_TAG, acia6850_device, write_rxd)) @@ -2140,7 +2140,7 @@ MACHINE_CONFIG_START(megast_state::megast) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, nullptr, st_state::floppy_formats) MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i0_w)) + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_mfp, mc68901_device, i0_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") @@ -2152,11 +2152,11 @@ MACHINE_CONFIG_START(megast_state::megast) m_mfp->out_tdo_cb().set(FUNC(st_state::mfp_tdo_w)); m_mfp->out_so_cb().set(RS232_TAG, FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_DCD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i6_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_mfp, FUNC(mc68901_device::write_rx)); + rs232.dcd_handler().set(m_mfp, FUNC(mc68901_device::i1_w)); + rs232.cts_handler().set(m_mfp, FUNC(mc68901_device::i2_w)); + rs232.ri_handler().set(m_mfp, FUNC(mc68901_device::i6_w)); ACIA6850(config, m_acia0, 0); m_acia0->txd_handler().set(FUNC(st_state::ikbd_tx_w)); @@ -2167,7 +2167,7 @@ MACHINE_CONFIG_START(megast_state::megast) m_acia1->irq_handler().set("aciairq", FUNC(input_merger_device::in_w<1>)); input_merger_device &aciairq(INPUT_MERGER_ANY_HIGH(config, "aciairq")); - aciairq.output_handler().set(MC68901_TAG, FUNC(mc68901_device::i4_w)).invert(); + aciairq.output_handler().set(m_mfp, FUNC(mc68901_device::i4_w)).invert(); MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_1_TAG, acia6850_device, write_rxd)) @@ -2242,7 +2242,7 @@ MACHINE_CONFIG_START(ste_state::ste) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, nullptr, st_state::floppy_formats) MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i0_w)) + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_mfp, mc68901_device, i0_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") @@ -2254,11 +2254,11 @@ MACHINE_CONFIG_START(ste_state::ste) m_mfp->out_tdo_cb().set(FUNC(st_state::mfp_tdo_w)); m_mfp->out_so_cb().set(RS232_TAG, FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_DCD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i6_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_mfp, FUNC(mc68901_device::write_rx)); + rs232.dcd_handler().set(m_mfp, FUNC(mc68901_device::i1_w)); + rs232.cts_handler().set(m_mfp, FUNC(mc68901_device::i2_w)); + rs232.ri_handler().set(m_mfp, FUNC(mc68901_device::i6_w)); ACIA6850(config, m_acia0, 0); m_acia0->txd_handler().set(FUNC(st_state::ikbd_tx_w)); @@ -2269,7 +2269,7 @@ MACHINE_CONFIG_START(ste_state::ste) m_acia1->irq_handler().set("aciairq", FUNC(input_merger_device::in_w<1>)); input_merger_device &aciairq(INPUT_MERGER_ANY_HIGH(config, "aciairq")); - aciairq.output_handler().set(MC68901_TAG, FUNC(mc68901_device::i4_w)).invert(); + aciairq.output_handler().set(m_mfp, FUNC(mc68901_device::i4_w)).invert(); MCFG_MIDI_PORT_ADD("mdin", midiin_slot, "midiin") MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_1_TAG, acia6850_device, write_rxd)) @@ -2358,15 +2358,15 @@ static MACHINE_CONFIG_START(stbook_state::stbook) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0, 0, st_state::floppy_formats) MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer") - MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i0_w)) + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_mfp, mc68901_device, i0_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_SERIAL_OUT_RX_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, write_rx)) - MCFG_RS232_OUT_DCD_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i1_w)) - MCFG_RS232_OUT_CTS_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i2_w)) - MCFG_RS232_OUT_RI_HANDLER(WRITELINE(MC68901_TAG, mc68901_device, i6_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_mfp, FUNC(mc68901_device::write_rx)); + rs232.dcd_handler().set(m_mfp, FUNC(mc68901_device::i1_w)); + rs232.cts_handler().set(m_mfp, FUNC(mc68901_device::i2_w)); + rs232.ri_handler().set(m_mfp, FUNC(mc68901_device::i6_w)); // device hardware ACIA6850(config, m_acia0, 0); @@ -2378,7 +2378,7 @@ static MACHINE_CONFIG_START(stbook_state::stbook) m_acia1->irq_handler().set("aciairq", FUNC(input_merger_device::in_w<1>)); input_merger_device &aciairq(INPUT_MERGER_ANY_HIGH(config, "aciairq")); - aciairq.output_handler().set(MC68901_TAG, FUNC(mc68901_device::i4_w)).invert(); + aciairq.output_handler().set(m_mfp, FUNC(mc68901_device::i4_w)).invert(); MCFG_SERIAL_PORT_ADD("mdin", midiin_slot, "midiin") MCFG_MIDI_RX_HANDLER(WRITELINE(MC6850_1_TAG, acia6850_device, write_rxd)) diff --git a/src/mame/drivers/att4425.cpp b/src/mame/drivers/att4425.cpp index a6ce9fa3314..494c6e47aad 100644 --- a/src/mame/drivers/att4425.cpp +++ b/src/mame/drivers/att4425.cpp @@ -272,14 +272,14 @@ MACHINE_CONFIG_START(att4425_state::att4425) m_sio->out_txdb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); // host - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "null_modem") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_sio, z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_sio, z80sio_device, ctsa_w)) + rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "null_modem")); + rs232a.rxd_handler().set(m_sio, FUNC(z80sio_device::rxa_w)); + rs232a.dcd_handler().set(m_sio, FUNC(z80sio_device::dcda_w)); + rs232a.cts_handler().set(m_sio, FUNC(z80sio_device::ctsa_w)); // aux printer? - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, "printer") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_sio, z80sio_device, rxb_w)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, "printer")); + rs232b.rxd_handler().set(m_sio, FUNC(z80sio_device::rxb_w)); // XXX MCFG_DEVICE_ADD("line_clock", CLOCK, 9600*64) @@ -290,10 +290,10 @@ MACHINE_CONFIG_START(att4425_state::att4425) m_i8251->dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); m_i8251->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard") - MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_cts)) - MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_dsr)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "keyboard")); + rs232.rxd_handler().set(m_i8251, FUNC(i8251_device::write_rxd)); + rs232.cts_handler().set(m_i8251, FUNC(i8251_device::write_cts)); + rs232.dsr_handler().set(m_i8251, FUNC(i8251_device::write_dsr)); // XXX MCFG_DEVICE_ADD("keyboard_clock", CLOCK, 4800*64) diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp index 86e98898c75..986e7aaff7f 100644 --- a/src/mame/drivers/harddriv.cpp +++ b/src/mame/drivers/harddriv.cpp @@ -1496,8 +1496,8 @@ MACHINE_CONFIG_START(harddriv_state::driver_nomsp) MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, harddriv_state, harddriv_duart_irq_handler)) MCFG_MC68681_A_TX_CALLBACK(WRITELINE ("rs232", rs232_port_device, write_txd)) - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE ("duartn68681", mc68681_device, rx_a_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set("duartn68681", FUNC(mc68681_device::rx_a_w)); /* video hardware */ MCFG_PALETTE_ADD("palette", 1024) diff --git a/src/mame/drivers/lb186.cpp b/src/mame/drivers/lb186.cpp index 73a42c04d55..d6e604ca9ae 100644 --- a/src/mame/drivers/lb186.cpp +++ b/src/mame/drivers/lb186.cpp @@ -143,10 +143,10 @@ MACHINE_CONFIG_START(lb186_state::lb186) MCFG_MC68681_B_TX_CALLBACK(WRITELINE("rs232_2", rs232_port_device, write_txd)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, lb186_state, sio_out_w)) - MCFG_DEVICE_ADD("rs232_1", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_a_w)) - MCFG_DEVICE_ADD("rs232_2", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_b_w)) + rs232_port_device &rs232_1(RS232_PORT(config, "rs232_1", default_rs232_devices, "terminal")); + rs232_1.rxd_handler().set("duart", FUNC(scn2681_device::rx_a_w)); + rs232_port_device &rs232_2(RS232_PORT(config, "rs232_2", default_rs232_devices, nullptr)); + rs232_2.rxd_handler().set("duart", FUNC(scn2681_device::rx_b_w)); WD1772(config, m_fdc, 16_MHz_XTAL / 2); m_fdc->intrq_wr_callback().set(m_maincpu, FUNC(i80186_cpu_device::int2_w)); diff --git a/src/mame/drivers/pc1512.cpp b/src/mame/drivers/pc1512.cpp index d20911446f5..1a7140bb8ce 100644 --- a/src/mame/drivers/pc1512.cpp +++ b/src/mame/drivers/pc1512.cpp @@ -1230,12 +1230,12 @@ MACHINE_CONFIG_START(pc1512_state::pc1512) MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_fault)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart, ins8250_uart_device, dsr_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(m_uart, ins8250_uart_device, ri_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, ins8250_uart_device, cts_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w)); + rs232.dcd_handler().set(m_uart, FUNC(ins8250_uart_device::dcd_w)); + rs232.dsr_handler().set(m_uart, FUNC(ins8250_uart_device::dsr_w)); + rs232.ri_handler().set(m_uart, FUNC(ins8250_uart_device::ri_w)); + rs232.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w)); // ISA8 bus MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0) @@ -1361,12 +1361,12 @@ MACHINE_CONFIG_START(pc1640_state::pc1640) MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_fault)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(INS8250_TAG, ins8250_uart_device, rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(INS8250_TAG, ins8250_uart_device, dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE(INS8250_TAG, ins8250_uart_device, dsr_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(INS8250_TAG, ins8250_uart_device, ri_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(INS8250_TAG, ins8250_uart_device, cts_w)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w)); + rs232.dcd_handler().set(m_uart, FUNC(ins8250_uart_device::dcd_w)); + rs232.dsr_handler().set(m_uart, FUNC(ins8250_uart_device::dsr_w)); + rs232.ri_handler().set(m_uart, FUNC(ins8250_uart_device::ri_w)); + rs232.cts_handler().set(m_uart, FUNC(ins8250_uart_device::cts_w)); // ISA8 bus MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0) diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp index 4df31663131..a74a4f76048 100644 --- a/src/mame/drivers/pcw16.cpp +++ b/src/mame/drivers/pcw16.cpp @@ -1023,12 +1023,12 @@ MACHINE_CONFIG_START(pcw16_state::pcw16) uart1.out_rts_callback().set("serport1", FUNC(rs232_port_device::write_rts)); uart1.out_int_callback().set(FUNC(pcw16_state::pcw16_com_interrupt_1)); - MCFG_DEVICE_ADD( "serport1", RS232_PORT, pcw16_com, "msystems_mouse" ) - MCFG_RS232_RXD_HANDLER(WRITELINE(uart1, ins8250_uart_device, rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(uart1, ins8250_uart_device, dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE(uart1, ins8250_uart_device, dsr_w)) - MCFG_RS232_RI_HANDLER(WRITELINE(uart1, ins8250_uart_device, ri_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(uart1, ins8250_uart_device, cts_w)) + rs232_port_device &serport1(RS232_PORT(config, "serport1", pcw16_com, "msystems_mouse")); + serport1.rxd_handler().set(uart1, FUNC(ins8250_uart_device::rx_w)); + serport1.dcd_handler().set(uart1, FUNC(ins8250_uart_device::dcd_w)); + serport1.dsr_handler().set(uart1, FUNC(ins8250_uart_device::dsr_w)); + serport1.ri_handler().set(uart1, FUNC(ins8250_uart_device::ri_w)); + serport1.cts_handler().set(uart1, FUNC(ins8250_uart_device::cts_w)); NS16550(config, m_uart2, XTAL(1'843'200)); /* TODO: Verify uart model */ m_uart2->out_tx_callback().set("serport2", FUNC(rs232_port_device::write_txd)); @@ -1036,11 +1036,11 @@ MACHINE_CONFIG_START(pcw16_state::pcw16) m_uart2->out_rts_callback().set("serport2", FUNC(rs232_port_device::write_rts)); m_uart2->out_int_callback().set(FUNC(pcw16_state::pcw16_com_interrupt_2)); - MCFG_DEVICE_ADD( "serport2", RS232_PORT, pcw16_com, nullptr ) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart2, ins8250_uart_device, rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_uart2, ins8250_uart_device, dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE(m_uart2, ins8250_uart_device, dsr_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart2, ins8250_uart_device, cts_w)) + rs232_port_device &serport2(RS232_PORT(config, "serport2", pcw16_com, nullptr)); + serport2.rxd_handler().set(m_uart2, FUNC(ins8250_uart_device::rx_w)); + serport2.dcd_handler().set(m_uart2, FUNC(ins8250_uart_device::dcd_w)); + serport2.dsr_handler().set(m_uart2, FUNC(ins8250_uart_device::dsr_w)); + serport2.cts_handler().set(m_uart2, FUNC(ins8250_uart_device::cts_w)); /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) diff --git a/src/mame/drivers/super6.cpp b/src/mame/drivers/super6.cpp index 4ea4fdcadfb..af90622bfde 100644 --- a/src/mame/drivers/super6.cpp +++ b/src/mame/drivers/super6.cpp @@ -443,7 +443,8 @@ void super6_state::machine_reset() // MACHINE_CONFIG( super6 ) //------------------------------------------------- -MACHINE_CONFIG_START(super6_state::super6) +void super6_state::super6(machine_config &config) +{ // basic machine hardware Z80(config, m_maincpu, 24_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &super6_state::super6_mem); @@ -474,10 +475,8 @@ MACHINE_CONFIG_START(super6_state::super6) m_fdc->intrq_wr_callback().set(FUNC(super6_state::fdc_intrq_w)); m_fdc->drq_wr_callback().set(FUNC(super6_state::fdc_drq_w)); - MCFG_FLOPPY_DRIVE_ADD(m_floppy0, super6_floppies, "525dd", floppy_image_device::default_floppy_formats) - MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_FLOPPY_DRIVE_ADD(m_floppy1, super6_floppies, nullptr, floppy_image_device::default_floppy_formats) - MCFG_FLOPPY_DRIVE_SOUND(true) + FLOPPY_CONNECTOR(config, m_floppy0, super6_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true); + FLOPPY_CONNECTOR(config, m_floppy1, super6_floppies, nullptr, floppy_image_device::default_floppy_formats).enable_sound(true); Z80DART(config, m_dart, 24_MHz_XTAL / 4); m_dart->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); @@ -488,11 +487,11 @@ MACHINE_CONFIG_START(super6_state::super6) m_dart->out_rtsb_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) + rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "terminal")); + rs232a.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w)); - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_dart, FUNC(z80dart_device::rxb_w)); COM8116(config, m_brg, 5.0688_MHz_XTAL); m_brg->fr_handler().set(m_dart, FUNC(z80dart_device::txca_w)); @@ -504,8 +503,8 @@ MACHINE_CONFIG_START(super6_state::super6) RAM(config, RAM_TAG).set_default_size("128K"); // software list - MCFG_SOFTWARE_LIST_ADD("flop_list", "super6") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "flop_list").set_original("super6"); +} diff --git a/src/mame/drivers/superslave.cpp b/src/mame/drivers/superslave.cpp index 64a3b5d985e..57ea3da5a8d 100644 --- a/src/mame/drivers/superslave.cpp +++ b/src/mame/drivers/superslave.cpp @@ -361,7 +361,8 @@ void superslave_state::machine_reset() // MACHINE_CONFIG( superslave ) //------------------------------------------------- -MACHINE_CONFIG_START(superslave_state::superslave) +void superslave_state::superslave(machine_config &config) +{ // basic machine hardware Z80(config, m_maincpu, XTAL(8'000'000)/2); m_maincpu->set_addrmap(AS_PROGRAM, &superslave_state::superslave_mem); @@ -384,16 +385,16 @@ MACHINE_CONFIG_START(superslave_state::superslave) dart0.out_rtsb_callback().set(m_rs232b, FUNC(rs232_port_device::write_rts)); dart0.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD(m_rs232a, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, ctsa_w)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) + RS232_PORT(config, m_rs232a, default_rs232_devices, "terminal"); + m_rs232a->rxd_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::rxa_w)); + m_rs232a->dcd_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::dcda_w)); + m_rs232a->cts_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::ctsa_w)); + m_rs232a->set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); - MCFG_DEVICE_ADD(m_rs232b, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(Z80DART_0_TAG, z80dart_device, ctsb_w)) + RS232_PORT(config, m_rs232b, default_rs232_devices, nullptr); + m_rs232b->rxd_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::rxb_w)); + m_rs232b->dcd_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::dcdb_w)); + m_rs232b->cts_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::ctsb_w)); z80dart_device& dart1(Z80DART(config, Z80DART_1_TAG, XTAL(8'000'000)/2)); dart1.out_txda_callback().set(m_rs232c, FUNC(rs232_port_device::write_txd)); @@ -404,15 +405,15 @@ MACHINE_CONFIG_START(superslave_state::superslave) dart1.out_rtsb_callback().set(m_rs232d, FUNC(rs232_port_device::write_rts)); dart1.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD(m_rs232c, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, ctsa_w)) + RS232_PORT(config, m_rs232c, default_rs232_devices, nullptr); + m_rs232c->rxd_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::rxa_w)); + m_rs232c->dcd_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::dcda_w)); + m_rs232c->cts_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::ctsa_w)); - MCFG_DEVICE_ADD(m_rs232d, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(Z80DART_1_TAG, z80dart_device, ctsb_w)) + RS232_PORT(config, m_rs232d, default_rs232_devices, nullptr); + m_rs232d->rxd_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::rxb_w)); + m_rs232d->dcd_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::dcdb_w)); + m_rs232d->cts_handler().set(Z80DART_1_TAG, FUNC(z80dart_device::ctsb_w)); COM8116(config, m_dbrg, XTAL(5'068'800)); m_dbrg->fr_handler().set(Z80DART_0_TAG, FUNC(z80dart_device::txca_w)); @@ -424,7 +425,7 @@ MACHINE_CONFIG_START(superslave_state::superslave) // internal ram RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("128K"); -MACHINE_CONFIG_END +} diff --git a/src/mame/machine/acs8600_ics.cpp b/src/mame/machine/acs8600_ics.cpp index 9f540e574c7..e44d040a81b 100644 --- a/src/mame/machine/acs8600_ics.cpp +++ b/src/mame/machine/acs8600_ics.cpp @@ -95,7 +95,8 @@ static const z80_daisy_config ics_daisy_chain[] = nullptr }; -MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) +void acs8600_ics_device::device_add_mconfig(machine_config &config) +{ Z80(config, m_icscpu, 4_MHz_XTAL); m_icscpu->set_addrmap(AS_PROGRAM, &acs8600_ics_device::ics_mem); m_icscpu->set_addrmap(AS_IO, &acs8600_ics_device::ics_io); @@ -127,16 +128,16 @@ MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) sio1.out_int_callback().set_inputline(m_icscpu, INPUT_LINE_IRQ0); sio1.set_cputag(m_icscpu); - MCFG_DEVICE_ADD("rs2321a", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("sio1", z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio1", z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio1", z80sio_device, ctsa_w)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", altos8600_terminal) + rs232_port_device &rs2321a(RS232_PORT(config, "rs2321a", default_rs232_devices, "terminal")); + rs2321a.rxd_handler().set("sio1", FUNC(z80sio_device::rxa_w)); + rs2321a.dcd_handler().set("sio1", FUNC(z80sio_device::dcda_w)); + rs2321a.cts_handler().set("sio1", FUNC(z80sio_device::ctsa_w)); + rs2321a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(altos8600_terminal)); - MCFG_DEVICE_ADD("rs2321b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio1", z80sio_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio1", z80sio_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio1", z80sio_device, ctsb_w)) + rs232_port_device &rs2321b(RS232_PORT(config, "rs2321b", default_rs232_devices, nullptr)); + rs2321b.rxd_handler().set("sio1", FUNC(z80sio_device::rxb_w)); + rs2321b.dcd_handler().set("sio1", FUNC(z80sio_device::dcdb_w)); + rs2321b.cts_handler().set("sio1", FUNC(z80sio_device::ctsb_w)); z80sio_device &sio2(Z80SIO(config, "sio2", 8_MHz_XTAL/2)); sio2.out_txda_callback().set("rs2322a", FUNC(rs232_port_device::write_txd)); @@ -148,15 +149,15 @@ MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) sio2.out_int_callback().set_inputline(m_icscpu, INPUT_LINE_IRQ0); sio2.set_cputag(m_icscpu); - MCFG_DEVICE_ADD("rs2322a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio2", z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio2", z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio2", z80sio_device, ctsa_w)) + rs232_port_device &rs2322a(RS232_PORT(config, "rs2322a", default_rs232_devices, nullptr)); + rs2322a.rxd_handler().set("sio2", FUNC(z80sio_device::rxa_w)); + rs2322a.dcd_handler().set("sio2", FUNC(z80sio_device::dcda_w)); + rs2322a.cts_handler().set("sio2", FUNC(z80sio_device::ctsa_w)); - MCFG_DEVICE_ADD("rs2322b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio2", z80sio_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio2", z80sio_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio2", z80sio_device, ctsb_w)) + rs232_port_device &rs2322b(RS232_PORT(config, "rs2322b", default_rs232_devices, nullptr)); + rs2322b.rxd_handler().set("sio2", FUNC(z80sio_device::rxb_w)); + rs2322b.dcd_handler().set("sio2", FUNC(z80sio_device::dcdb_w)); + rs2322b.cts_handler().set("sio2", FUNC(z80sio_device::ctsb_w)); z80sio_device &sio3(Z80SIO(config, "sio3", 8_MHz_XTAL/2)); sio3.out_txda_callback().set("rs2323a", FUNC(rs232_port_device::write_txd)); @@ -168,15 +169,15 @@ MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) sio3.out_int_callback().set_inputline(m_icscpu, INPUT_LINE_IRQ0); sio3.set_cputag(m_icscpu); - MCFG_DEVICE_ADD("rs2323a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio3", z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio3", z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio3", z80sio_device, ctsa_w)) + rs232_port_device &rs2323a(RS232_PORT(config, "rs2323a", default_rs232_devices, nullptr)); + rs2323a.rxd_handler().set("sio3", FUNC(z80sio_device::rxa_w)); + rs2323a.dcd_handler().set("sio3", FUNC(z80sio_device::dcda_w)); + rs2323a.cts_handler().set("sio3", FUNC(z80sio_device::ctsa_w)); - MCFG_DEVICE_ADD("rs2323b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio3", z80sio_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio3", z80sio_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio3", z80sio_device, ctsb_w)) + rs232_port_device &rs2323b(RS232_PORT(config, "rs2323b", default_rs232_devices, nullptr)); + rs2323b.rxd_handler().set("sio3", FUNC(z80sio_device::rxb_w)); + rs2323b.dcd_handler().set("sio3", FUNC(z80sio_device::dcdb_w)); + rs2323b.cts_handler().set("sio3", FUNC(z80sio_device::ctsb_w)); z80sio_device &sio4(Z80SIO(config, "sio4", 8_MHz_XTAL/2)); sio4.out_txda_callback().set("rs2324a", FUNC(rs232_port_device::write_txd)); @@ -188,16 +189,16 @@ MACHINE_CONFIG_START(acs8600_ics_device::device_add_mconfig) sio4.out_int_callback().set_inputline(m_icscpu, INPUT_LINE_IRQ0); sio4.set_cputag(m_icscpu); - MCFG_DEVICE_ADD("rs2324a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio4", z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio4", z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio4", z80sio_device, ctsa_w)) + rs232_port_device &rs2324a(RS232_PORT(config, "rs2324a", default_rs232_devices, nullptr)); + rs2324a.rxd_handler().set("sio4", FUNC(z80sio_device::rxa_w)); + rs2324a.dcd_handler().set("sio4", FUNC(z80sio_device::dcda_w)); + rs2324a.cts_handler().set("sio4", FUNC(z80sio_device::ctsa_w)); - MCFG_DEVICE_ADD("rs2324b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio4", z80sio_device, rxb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("sio4", z80sio_device, dcdb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio4", z80sio_device, ctsb_w)) -MACHINE_CONFIG_END + rs232_port_device &rs2324b(RS232_PORT(config, "rs2324b", default_rs232_devices, nullptr)); + rs2324b.rxd_handler().set("sio4", FUNC(z80sio_device::rxb_w)); + rs2324b.dcd_handler().set("sio4", FUNC(z80sio_device::dcdb_w)); + rs2324b.cts_handler().set("sio4", FUNC(z80sio_device::ctsb_w)); +} void acs8600_ics_device::device_resolve_objects() { diff --git a/src/mame/machine/apollo.cpp b/src/mame/machine/apollo.cpp index 727e19be32e..f67b2025425 100644 --- a/src/mame/machine/apollo.cpp +++ b/src/mame/machine/apollo.cpp @@ -1175,8 +1175,8 @@ MACHINE_CONFIG_START(apollo_state::apollo_terminal) MCFG_APOLLO_SIO_OUTPORT_CALLBACK(WRITE8(*this, apollo_state, sio_output)) MCFG_APOLLO_SIO_B_TX_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd)) - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(APOLLO_SIO_TAG, apollo_sio, rx_b_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set(APOLLO_SIO_TAG, FUNC(apollo_sio::rx_b_w)); MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", apollo_terminal) MACHINE_CONFIG_END -- cgit v1.2.3