diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2018-10-22 18:44:07 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2018-10-22 18:44:07 +0200 |
commit | 21b6c96cac665e557415c8c2d4ebef1d56bf5060 (patch) | |
tree | 41ee560bc42f8f9d9b56998794df37c0b2e3c17f | |
parent | 9703b60a209037ba4f8d091ed5a8f30744a83143 (diff) |
rs232: another batch of MCFG removal (nw)
34 files changed, 224 insertions, 217 deletions
diff --git a/src/mame/drivers/a7150.cpp b/src/mame/drivers/a7150.cpp index ef44b6550a8..dc139a21d32 100644 --- a/src/mame/drivers/a7150.cpp +++ b/src/mame/drivers/a7150.cpp @@ -549,14 +549,14 @@ MACHINE_CONFIG_START(a7150_state::a7150) //sio.out_rtsb_callback().set(FUNC(a7150_state::kgs_ifss_loopback_w)); // V.24 port (graphics tablet) - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "loopback") - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, ctsa_w)) + rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "loopback")); + rs232a.rxd_handler().set(Z80SIO_TAG, FUNC(z80sio_device::rxa_w)); + rs232a.dcd_handler().set(Z80SIO_TAG, FUNC(z80sio_device::dcda_w)); + rs232a.cts_handler().set(Z80SIO_TAG, FUNC(z80sio_device::ctsa_w)); // IFSS (current loop) port (keyboard) - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, "loopback") - MCFG_RS232_RXD_HANDLER(WRITELINE(Z80SIO_TAG, z80sio_device, rxb_w)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, "loopback")); + rs232b.rxd_handler().set(Z80SIO_TAG, FUNC(z80sio_device::rxb_w)); MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) MCFG_SCREEN_RAW_PARAMS( XTAL(16'000'000), 737,0,640, 431,0,400 ) diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp index b571f15c41f..73433f49461 100644 --- a/src/mame/drivers/abc1600.cpp +++ b/src/mame/drivers/abc1600.cpp @@ -941,10 +941,10 @@ MACHINE_CONFIG_START(abc1600_state::abc1600) MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":1", abc1600_floppies, nullptr, floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD(SAB1797_02P_TAG":2", abc1600_floppies, "525qd", floppy_image_device::default_floppy_formats) - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) + RS232_PORT(config, RS232_A_TAG, default_rs232_devices, nullptr); - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w)); MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, "abc99") MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) diff --git a/src/mame/drivers/abc80.cpp b/src/mame/drivers/abc80.cpp index 53bc5e7b7b3..3f69e2eed92 100644 --- a/src/mame/drivers/abc80.cpp +++ b/src/mame/drivers/abc80.cpp @@ -527,7 +527,7 @@ MACHINE_CONFIG_START(abc80_state::abc80) MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abc80_cards, "abcexp") - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) + RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr); MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) MCFG_GENERIC_KEYBOARD_CB(PUT(abc80_state, kbd_w)) diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp index 3f1994437f9..385af11840e 100644 --- a/src/mame/drivers/abc80x.cpp +++ b/src/mame/drivers/abc80x.cpp @@ -1087,15 +1087,15 @@ MACHINE_CONFIG_START(abc800_state::common) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED) MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_CASSETTE_TAG, abc800_state, cassette_input_tick, attotime::from_hz(44100)) - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_dart, z80dart_device, dcda_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_dart, z80dart_device, ctsa_w)) - - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - 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, nullptr)); + rs232a.rxd_handler().set(m_sio, FUNC(z80dart_device::rxa_w)); + rs232a.dcd_handler().set(m_sio, FUNC(z80dart_device::dcda_w)); + rs232a.cts_handler().set(m_sio, FUNC(z80dart_device::ctsa_w)); + + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_sio, FUNC(z80dart_device::rxa_w)); + rs232b.dcd_handler().set(m_sio, FUNC(z80dart_device::dcda_w)); + rs232b.cts_handler().set(m_sio, FUNC(z80dart_device::ctsa_w)); MCFG_ABC_KEYBOARD_PORT_ADD(ABC_KEYBOARD_PORT_TAG, nullptr) MCFG_ABC_KEYBOARD_OUT_RX_HANDLER(WRITELINE(m_dart, z80dart_device, rxb_w)) diff --git a/src/mame/drivers/altair.cpp b/src/mame/drivers/altair.cpp index a11ba79bd9a..2c7d771b7c6 100644 --- a/src/mame/drivers/altair.cpp +++ b/src/mame/drivers/altair.cpp @@ -97,29 +97,30 @@ void altair_state::machine_reset() m_maincpu->set_state_int(i8080_cpu_device::I8085_PC, 0xFD00); } -MACHINE_CONFIG_START(altair_state::altair) +void altair_state::altair(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8080, 2_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(mem_map) - MCFG_DEVICE_IO_MAP(io_map) + I8080(config, m_maincpu, 2_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &altair_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &altair_state::io_map); /* video hardware */ acia6850_device &acia(ACIA6850(config, "acia", 0)); acia.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); acia.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("acia", acia6850_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(WRITELINE("acia", acia6850_device, write_dcd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("acia", acia6850_device, write_cts)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set("acia", FUNC(acia6850_device::write_rxd)); + rs232.dcd_handler().set("acia", FUNC(acia6850_device::write_dcd)); + rs232.cts_handler().set("acia", FUNC(acia6850_device::write_cts)); clock_device &uart_clock(CLOCK(config, "uart_clock", 153600)); // TODO: this is set using jumpers S3/S2/S1/S0 uart_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc)); uart_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc)); /* quickload */ - MCFG_QUICKLOAD_ADD("quickload", altair_state, altair, "bin", 0) -MACHINE_CONFIG_END + QUICKLOAD(config, "quickload", 0).set_handler(snapquick_load_delegate(&QUICKLOAD_LOAD_NAME(altair_state, altair), this), "bin", 0); +} /* ROM definition */ ROM_START( al8800bt ) diff --git a/src/mame/drivers/ampro.cpp b/src/mame/drivers/ampro.cpp index c537346f507..dade88e641d 100644 --- a/src/mame/drivers/ampro.cpp +++ b/src/mame/drivers/ampro.cpp @@ -48,8 +48,10 @@ public: void init_ampro(); +protected: + virtual void machine_reset() override; + private: - DECLARE_MACHINE_RESET(ampro); TIMER_DEVICE_CALLBACK_MEMBER(ctc_tick); DECLARE_WRITE8_MEMBER(port00_w); DECLARE_READ8_MEMBER(io_r); @@ -137,7 +139,7 @@ static void ampro_floppies(device_slot_interface &device) static INPUT_PORTS_START( ampro ) INPUT_PORTS_END -MACHINE_RESET_MEMBER( ampro_state, ampro ) +void ampro_state::machine_reset() { membank("bankr0")->set_entry(0); // point at rom membank("bankw0")->set_entry(0); // always write to ram @@ -152,15 +154,14 @@ void ampro_state::init_ampro() membank("bankw0")->configure_entry(0, &main[0x0000]); } -MACHINE_CONFIG_START(ampro_state::ampro) +void ampro_state::ampro(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_maincpu, 16_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &ro_state::ampro_mem); m_maincpu->set_addrmap(AS_IO, &ro_state::ampro_io); m_maincpu->set_daisy_config(daisy_chain_intf); - MCFG_MACHINE_RESET_OVERRIDE(ampro_state, ampro) - clock_device &ctc_clock(CLOCK(config, "ctc_clock", 16_MHz_XTAL / 8)); // 2MHz ctc_clock.signal_handler().set(m_ctc, FUNC(z80ctc_device::trg0)); ctc_clock.signal_handler().append(m_ctc, FUNC(z80ctc_device::trg1)); @@ -178,14 +179,13 @@ MACHINE_CONFIG_START(ampro_state::ampro) m_dart->out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); m_dart->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_dart, z80dart_device, rxa_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w)); WD1772(config, m_fdc, 16_MHz_XTAL / 2); - MCFG_FLOPPY_DRIVE_ADD("fdc:0", ampro_floppies, "525dd", floppy_image_device::default_floppy_formats) - MCFG_FLOPPY_DRIVE_SOUND(true) - MCFG_SOFTWARE_LIST_ADD("flop_list", "ampro") -MACHINE_CONFIG_END + FLOPPY_CONNECTOR(config, "fdc:0", ampro_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true); + SOFTWARE_LIST(config, "flop_list").set_original("ampro"); +} /* ROM definition */ ROM_START( ampro ) diff --git a/src/mame/drivers/amust.cpp b/src/mame/drivers/amust.cpp index 8a810dce397..2c9de4a8cb3 100644 --- a/src/mame/drivers/amust.cpp +++ b/src/mame/drivers/amust.cpp @@ -478,17 +478,17 @@ MACHINE_CONFIG_START(amust_state::amust) uart1.dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); uart1.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("uart1", i8251_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("uart1", i8251_device, write_cts)) - MCFG_RS232_DSR_HANDLER(WRITELINE("uart1", i8251_device, write_dsr)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "keyboard")); + rs232.rxd_handler().set("uart1", FUNC(i8251_device::write_rxd)); + rs232.cts_handler().set("uart1", FUNC(i8251_device::write_cts)); + rs232.dsr_handler().set("uart1", FUNC(i8251_device::write_dsr)); I8251(config, "uart2", 0); //uart2.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); //uart2.dtr_handler().set("rs232", FUNC(rs232_port_device::write_dtr)); //uart2.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("pit", PIT8253, 0) + PIT8253(config, "pit", 0); i8255_device &ppi1(I8255A(config, "ppi1")); ppi1.in_pa_callback().set(FUNC(amust_state::port04_r)); diff --git a/src/mame/drivers/attache.cpp b/src/mame/drivers/attache.cpp index 951473295c8..8a373fc85fd 100644 --- a/src/mame/drivers/attache.cpp +++ b/src/mame/drivers/attache.cpp @@ -1154,13 +1154,13 @@ MACHINE_CONFIG_START(attache_state::attache) m_sio->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxa_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio", z80sio_device, ctsa_w)) + rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr)); + rs232a.rxd_handler().set(m_sio, FUNC(z80sio_device::rxa_w)); + rs232a.cts_handler().set(m_sio, FUNC(z80sio_device::ctsa_w)); - MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio", z80sio_device, ctsb_w)) + rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_sio, FUNC(z80sio_device::rxb_w)); + rs232b.cts_handler().set(m_sio, FUNC(z80sio_device::ctsb_w)); Z80CTC(config, m_ctc, 8_MHz_XTAL / 2); m_ctc->zc_callback<0>().set(m_sio, FUNC(z80sio_device::rxca_w)); @@ -1237,13 +1237,13 @@ MACHINE_CONFIG_START(attache816_state::attache816) m_sio->out_rtsb_callback().set("rs232b", FUNC(rs232_port_device::write_rts)); m_sio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); - MCFG_DEVICE_ADD("rs232a", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxa_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio", z80sio_device, ctsa_w)) + rs232_port_device &rs232a(RS232_PORT(config, "rs232a", default_rs232_devices, nullptr)); + rs232a.rxd_handler().set(m_sio, FUNC(z80sio_device::rxa_w)); + rs232a.cts_handler().set(m_sio, FUNC(z80sio_device::ctsa_w)); - MCFG_DEVICE_ADD("rs232b", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("sio", z80sio_device, rxb_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("sio", z80sio_device, ctsb_w)) + rs232_port_device &rs232b(RS232_PORT(config, "rs232b", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_sio, FUNC(z80sio_device::rxb_w)); + rs232b.cts_handler().set(m_sio, FUNC(z80sio_device::ctsb_w)); Z80CTC(config, m_ctc, 8_MHz_XTAL / 2); m_ctc->zc_callback<0>().set(m_sio, FUNC(z80sio_device::rxca_w)); diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp index b371206e878..0847cf0a848 100644 --- a/src/mame/drivers/aussiebyte.cpp +++ b/src/mame/drivers/aussiebyte.cpp @@ -571,8 +571,8 @@ MACHINE_CONFIG_START(aussiebyte_state::aussiebyte) sio2.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); sio2.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard") - MCFG_RS232_RXD_HANDLER(WRITELINE("sio2", z80sio_device, rxa_w)) + RS232_PORT(config, m_rs232, default_rs232_devices, "keyboard"); + m_rs232->rxd_handler().set("sio2", FUNC(z80sio_device::rxa_w)); WD2797(config, m_fdc, 16_MHz_XTAL / 16); m_fdc->intrq_wr_callback().set(FUNC(aussiebyte_state::fdc_intrq_w)); diff --git a/src/mame/drivers/dbox.cpp b/src/mame/drivers/dbox.cpp index 6b16eed4b63..88e8b5e7bf4 100644 --- a/src/mame/drivers/dbox.cpp +++ b/src/mame/drivers/dbox.cpp @@ -617,10 +617,10 @@ MACHINE_CONFIG_START(dbox_state::dbox) MCFG_DEVICE_MODIFY("maincpu:serial") MCFG_MC68340SER_A_TX_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd)) MCFG_MC68340SER_B_TX_CALLBACK(WRITELINE("modem", rs232_port_device, write_txd)) - MCFG_DEVICE_ADD ("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (WRITELINE ("maincpu:serial", mc68340_serial_module_device, rx_a_w)) - MCFG_DEVICE_ADD ("modem", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER (WRITELINE ("maincpu:serial", mc68340_serial_module_device, rx_b_w)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set("maincpu:serial", FUNC(mc68340_serial_module_device::rx_a_w)); + rs232_port_device &modem(RS232_PORT(config, "modem", default_rs232_devices, nullptr)); + modem.rxd_handler().set("maincpu:serial", FUNC(mc68340_serial_module_device::rx_b_w)); /* Add the boot flash */ AMD_29F800B_16BIT(config, "flash"); diff --git a/src/mame/drivers/duet16.cpp b/src/mame/drivers/duet16.cpp index 3b37314e0c3..5905b8ceb98 100644 --- a/src/mame/drivers/duet16.cpp +++ b/src/mame/drivers/duet16.cpp @@ -396,9 +396,9 @@ MACHINE_CONFIG_START(duet16_state::duet16) kbusart.rxrdy_handler().set("kbint", FUNC(input_merger_device::in_w<0>)); kbusart.txrdy_handler().set("kbint", FUNC(input_merger_device::in_w<1>)); - MCFG_DEVICE_ADD("kbd", RS232_PORT, duet16_keyboard_devices, "keyboard") - MCFG_RS232_RXD_HANDLER(WRITELINE("kbusart", i8251_device, write_rxd)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + rs232_port_device &kbd(RS232_PORT(config, "kbd", duet16_keyboard_devices, "keyboard")); + kbd.rxd_handler().set("kbusart", FUNC(i8251_device::write_rxd)); + kbd.set_option_device_input_defaults("keyboard", DEVICE_INPUT_DEFAULTS_NAME(keyboard)); MCFG_INPUT_MERGER_ANY_HIGH("kbint") MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE("pic", pic8259_device, ir5_w)) // INT2 diff --git a/src/mame/drivers/horizon.cpp b/src/mame/drivers/horizon.cpp index f5e47dfc061..80dd8fd3967 100644 --- a/src/mame/drivers/horizon.cpp +++ b/src/mame/drivers/horizon.cpp @@ -191,19 +191,19 @@ MACHINE_CONFIG_START(horizon_state::horizon) m_usart_l->dtr_handler().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); m_usart_l->rts_handler().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_L_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_L_TAG, i8251_device, write_dsr)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) + rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "terminal")); + rs232a.rxd_handler().set(m_usart_l, FUNC(i8251_device::write_rxd)); + rs232a.dsr_handler().set(m_usart_l, FUNC(i8251_device::write_dsr)); + rs232a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); I8251(config, m_usart_r, 0); m_usart_r->txd_handler().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); m_usart_r->dtr_handler().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr)); m_usart_r->rts_handler().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_R_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_R_TAG, i8251_device, write_dsr)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_usart_r, FUNC(i8251_device::write_rxd)); + rs232b.dsr_handler().set(m_usart_r, FUNC(i8251_device::write_dsr)); // S-100 MCFG_DEVICE_ADD("s100", S100_BUS, XTAL(8'000'000) / 4) diff --git a/src/mame/drivers/ibmpcjr.cpp b/src/mame/drivers/ibmpcjr.cpp index eb24d034596..7e5f16ed9c0 100644 --- a/src/mame/drivers/ibmpcjr.cpp +++ b/src/mame/drivers/ibmpcjr.cpp @@ -630,12 +630,12 @@ MACHINE_CONFIG_START(pcjr_state::ibmpcjr) uart.out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts)); uart.out_int_callback().set(m_pic8259, FUNC(pic8259_device::ir3_w)); - MCFG_DEVICE_ADD( "serport", RS232_PORT, pcjr_com, nullptr ) - MCFG_RS232_RXD_HANDLER(WRITELINE("ins8250", ins8250_uart_device, rx_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("ins8250", ins8250_uart_device, dcd_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE("ins8250", ins8250_uart_device, dsr_w)) - MCFG_RS232_RI_HANDLER(WRITELINE("ins8250", ins8250_uart_device, ri_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("ins8250", ins8250_uart_device, cts_w)) + rs232_port_device &serport(RS232_PORT(config, "serport", pcjr_com, nullptr)); + serport.rxd_handler().set("ins8250", FUNC(ins8250_uart_device::rx_w)); + serport.dcd_handler().set("ins8250", FUNC(ins8250_uart_device::dcd_w)); + serport.dsr_handler().set("ins8250", FUNC(ins8250_uart_device::dsr_w)); + serport.ri_handler().set("ins8250", FUNC(ins8250_uart_device::ri_w)); + serport.cts_handler().set("ins8250", FUNC(ins8250_uart_device::cts_w)); /* video hardware */ MCFG_DEVICE_ADD("pcvideo_pcjr", PCVIDEO_PCJR, 0) diff --git a/src/mame/drivers/iris3130.cpp b/src/mame/drivers/iris3130.cpp index 4caa22bd9de..32b1f0ab43a 100644 --- a/src/mame/drivers/iris3130.cpp +++ b/src/mame/drivers/iris3130.cpp @@ -422,24 +422,25 @@ static DEVICE_INPUT_DEFAULTS_START( ip2_terminal ) DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 ) DEVICE_INPUT_DEFAULTS_END -MACHINE_CONFIG_START(sgi_ip2_state::sgi_ip2) +void sgi_ip2_state::sgi_ip2(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68020, 16000000) - MCFG_DEVICE_PROGRAM_MAP(sgi_ip2_map) + M68020(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &sgi_ip2_state::sgi_ip2_map); - MCFG_DEVICE_ADD("duart68681a", MC68681, 3.6864_MHz_XTAL) /* Y3 3.6864MHz Xtal ??? copy-over from dectalk */ - MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, sgi_ip2_state, duarta_irq_handler)) - MCFG_MC68681_B_TX_CALLBACK(WRITELINE("rs232", rs232_port_device, write_txd)) + MC68681(config, m_duarta, 3.6864_MHz_XTAL); /* Y3 3.6864MHz Xtal ??? copy-over from dectalk */ + m_duarta->irq_cb().set(FUNC(sgi_ip2_state::duarta_irq_handler)); + m_duarta->b_tx_cb().set("rs232", FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD("duart68681b", MC68681, 3.6864_MHz_XTAL) /* Y3 3.6864MHz Xtal ??? copy-over from dectalk */ - MCFG_MC68681_IRQ_CALLBACK(WRITELINE(*this, sgi_ip2_state, duartb_irq_handler)) + MC68681(config, m_duartb, 3.6864_MHz_XTAL); /* Y3 3.6864MHz Xtal ??? copy-over from dectalk */ + m_duartb->irq_cb().set(FUNC(sgi_ip2_state::duartb_irq_handler)); - MCFG_DEVICE_ADD("rtc", MC146818, 4.194304_MHz_XTAL) + MC146818(config, m_rtc, 4.194304_MHz_XTAL); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("duart68681a", mc68681_device, rx_b_w)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", ip2_terminal) -MACHINE_CONFIG_END + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set(m_duarta, FUNC(mc68681_device::rx_b_w)); + rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(ip2_terminal)); +} static INPUT_PORTS_START( sgi_ip2 ) PORT_START("SWTCH") diff --git a/src/mame/drivers/k8915.cpp b/src/mame/drivers/k8915.cpp index cbafad2ef75..c2315cf1871 100644 --- a/src/mame/drivers/k8915.cpp +++ b/src/mame/drivers/k8915.cpp @@ -163,10 +163,10 @@ MACHINE_CONFIG_START(k8915_state::k8915) sio.out_dtrb_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); sio.out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "keyboard") - 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, "keyboard")); + rs232.rxd_handler().set("sio", FUNC(z80sio_device::rxb_w)); + rs232.dcd_handler().set("sio", FUNC(z80sio_device::dcdb_w)); + rs232.cts_handler().set("sio", FUNC(z80sio_device::ctsb_w)); MACHINE_CONFIG_END diff --git a/src/mame/drivers/konin.cpp b/src/mame/drivers/konin.cpp index 8342e9e4b5f..3628ad19d1b 100644 --- a/src/mame/drivers/konin.cpp +++ b/src/mame/drivers/konin.cpp @@ -124,13 +124,14 @@ void konin_state::machine_start() { } -MACHINE_CONFIG_START(konin_state::konin) +void konin_state::konin(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8080, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(konin_mem) - MCFG_DEVICE_IO_MAP(konin_io) - MCFG_I8085A_INTE(WRITELINE("picu", i8214_device, inte_w)) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("intlatch", i8212_device, inta_cb) + i8080_cpu_device &maincpu(I8080(config, m_maincpu, XTAL(4'000'000))); + maincpu.set_addrmap(AS_PROGRAM, &konin_state::konin_mem); + maincpu.set_addrmap(AS_IO, &konin_state::konin_io); + maincpu.out_inte_func().set(m_picu, FUNC(i8214_device::inte_w)); + maincpu.set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(i8212_device::inta_cb), "intlatch", (i8212_device*)nullptr)); i8212_device &intlatch(I8212(config, "intlatch", 0)); intlatch.md_rd_callback().set_constant(0); @@ -158,11 +159,11 @@ MACHINE_CONFIG_START(konin_state::konin) uart.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); uart.rxrdy_handler().set(FUNC(konin_state::picu_r3_w)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("uart", i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE("uart", i8251_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(WRITELINE("uart", i8251_device, write_cts)) -MACHINE_CONFIG_END + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set("uart", FUNC(i8251_device::write_rxd)); + rs232.dsr_handler().set("uart", FUNC(i8251_device::write_dsr)); + rs232.cts_handler().set("uart", FUNC(i8251_device::write_cts)); +} /* ROM definition */ ROM_START( konin ) diff --git a/src/mame/drivers/m20.cpp b/src/mame/drivers/m20.cpp index 4a1c4f8124d..06888db0a48 100644 --- a/src/mame/drivers/m20.cpp +++ b/src/mame/drivers/m20.cpp @@ -841,11 +841,11 @@ MACHINE_CONFIG_START(m20_state::m20) MCFG_DEVICE_ADD(m_i8259, PIC8259, 0) MCFG_PIC8259_OUT_INT_CB(WRITELINE(*this, m20_state, int_w)) - MCFG_DEVICE_ADD("kbd", RS232_PORT, keyboard, "m20") - MCFG_RS232_RXD_HANDLER(WRITELINE("i8251_1", i8251_device, write_rxd)) + rs232_port_device &kbd(RS232_PORT(config, "kbd", keyboard, "m20")); + kbd.rxd_handler().set(m_kbdi8251, FUNC(i8251_device::write_rxd)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("i8251_2", i8251_device, write_rxd)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_ttyi8251, FUNC(i8251_device::write_rxd)); MCFG_DEVICE_ADD("apb", M20_8086, "maincpu", m_i8259, RAM_TAG) diff --git a/src/mame/drivers/m79152pc.cpp b/src/mame/drivers/m79152pc.cpp index ba4cf7caa48..8eb93236cdd 100644 --- a/src/mame/drivers/m79152pc.cpp +++ b/src/mame/drivers/m79152pc.cpp @@ -335,12 +335,12 @@ MACHINE_CONFIG_START(m79152pc_state::m79152pc) m_uart->out_dtrb_callback().set("modem", FUNC(rs232_port_device::write_dtr)); m_uart->out_rtsb_callback().set("modem", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("keyboard", RS232_PORT, default_rs232_devices, "keyboard") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, z80sio_device, rxa_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, z80sio_device, ctsa_w)) - MCFG_DEVICE_ADD("modem", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_uart, z80sio_device, rxb_w)) - //MCFG_RS232_CTS_HANDLER(WRITELINE(m_uart, z80sio_device, ctsb_w)) + rs232_port_device &keyboard(RS232_PORT(config, "keyboard", default_rs232_devices, "keyboard")); + keyboard.rxd_handler().set(m_uart, FUNC(z80sio_device::rxa_w)); + keyboard.cts_handler().set(m_uart, FUNC(z80sio_device::ctsa_w)); + rs232_port_device &modem(RS232_PORT(config, "modem", default_rs232_devices, nullptr)); + modem.rxd_handler().set(m_uart, FUNC(z80sio_device::rxb_w)); + //modem.cts_handler().set(m_uart, FUNC(z80sio_device::ctsb_w)); SPEAKER(config, "mono").front_center(); BEEP(config, m_beep, 1000); diff --git a/src/mame/drivers/meritum.cpp b/src/mame/drivers/meritum.cpp index 84bd6e27743..2fa35fc4d0a 100644 --- a/src/mame/drivers/meritum.cpp +++ b/src/mame/drivers/meritum.cpp @@ -402,9 +402,9 @@ MACHINE_CONFIG_START(meritum_state::meritum) i8251_device &usart(I8251(config, "usart", 10_MHz_XTAL / 4)); // same as CPU clock usart.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("usart", i8251_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("usart", i8251_device, write_cts)) + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr)); + rs232.rxd_handler().set("usart", FUNC(i8251_device::write_rxd)); + rs232.cts_handler().set("usart", FUNC(i8251_device::write_cts)); INPUT_MERGER_ALL_HIGH(config, "nmigate").output_handler().set("mainpit", FUNC(pit8253_device::write_gate2)).invert(); diff --git a/src/mame/drivers/mikromik.cpp b/src/mame/drivers/mikromik.cpp index 96d9a72381c..84dfd1e26b7 100644 --- a/src/mame/drivers/mikromik.cpp +++ b/src/mame/drivers/mikromik.cpp @@ -499,17 +499,17 @@ MACHINE_CONFIG_START(mm1_state::mm1) MCFG_FLOPPY_DRIVE_SOUND(true) UPD7201(config, m_mpsc, 6.144_MHz_XTAL/2); - m_mpsc->out_txda_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd)); - m_mpsc->out_dtra_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr)); - m_mpsc->out_rtsa_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts)); + m_mpsc->out_txda_callback().set(m_rs232a, FUNC(rs232_port_device::write_txd)); + m_mpsc->out_dtra_callback().set(m_rs232a, FUNC(rs232_port_device::write_dtr)); + m_mpsc->out_rtsa_callback().set(m_rs232a, FUNC(rs232_port_device::write_rts)); m_mpsc->out_rxdrqa_callback().set(FUNC(mm1_state::drq2_w)); m_mpsc->out_txdrqa_callback().set(FUNC(mm1_state::drq1_w)); - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, z80dart_device, rxa_w)) - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_DEVICE_ADD(RS232_C_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_mpsc, z80dart_device, ctsb_w)) + RS232_PORT(config, m_rs232a, default_rs232_devices, nullptr); + m_rs232a->cts_handler().set(m_mpsc, FUNC(z80dart_device::rxa_w)); + RS232_PORT(config, m_rs232b, default_rs232_devices, nullptr); + RS232_PORT(config, m_rs232c, default_rs232_devices, nullptr); + m_rs232c->cts_handler().set(m_mpsc, FUNC(z80dart_device::ctsb_w)); MCFG_DEVICE_ADD(KB_TAG, MM1_KEYBOARD, 2500) // actual KBCLK is 6.144_MHz_XTAL/2/16 MCFG_MM1_KEYBOARD_KBST_CALLBACK(WRITELINE(I8212_TAG, i8212_device, stb_w)) @@ -526,24 +526,26 @@ MACHINE_CONFIG_END // MACHINE_CONFIG( mm1m6 ) //------------------------------------------------- -MACHINE_CONFIG_START(mm1_state::mm1m6) +void mm1_state::mm1m6(machine_config &config) +{ mm1(config); // video hardware mm1m6_video(config); -MACHINE_CONFIG_END +} //------------------------------------------------- // MACHINE_CONFIG( mm1m7 ) //------------------------------------------------- -MACHINE_CONFIG_START(mm1_state::mm1m7) +void mm1_state::mm1m7(machine_config &config) +{ mm1(config); // video hardware mm1m6_video(config); // TODO hard disk -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/mits680b.cpp b/src/mame/drivers/mits680b.cpp index 96a932158f1..c5aca8f7768 100644 --- a/src/mame/drivers/mits680b.cpp +++ b/src/mame/drivers/mits680b.cpp @@ -65,10 +65,11 @@ static INPUT_PORTS_START( mits680b ) INPUT_PORTS_END -MACHINE_CONFIG_START(mits680b_state::mits680b) +void mits680b_state::mits680b(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6800, XTAL(1'000'000) / 2) - MCFG_DEVICE_PROGRAM_MAP(mem_map) + M6800(config, m_maincpu, XTAL(1'000'000) / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &mits680b_state::mem_map); clock_device &uart_clock(CLOCK(config, "uart_clock", 153600)); uart_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc)); @@ -78,10 +79,10 @@ MACHINE_CONFIG_START(mits680b_state::mits680b) acia.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); acia.rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE("acia", acia6850_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("acia", acia6850_device, write_cts)) -MACHINE_CONFIG_END + rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); + rs232.rxd_handler().set("acia", FUNC(acia6850_device::write_rxd)); + rs232.cts_handler().set("acia", FUNC(acia6850_device::write_cts)); +} /* ROM definition */ ROM_START( mits680b ) diff --git a/src/mame/drivers/mvme147.cpp b/src/mame/drivers/mvme147.cpp index f4ceba450a3..4ba6ed13afe 100644 --- a/src/mame/drivers/mvme147.cpp +++ b/src/mame/drivers/mvme147.cpp @@ -655,7 +655,7 @@ MACHINE_CONFIG_START(mvme147_state::mvme147) MCFG_VME_DEVICE_ADD("vme") MCFG_VME_SLOT_ADD("vme", 1, mvme147_vme_cards, nullptr) - MCFG_DEVICE_ADD("m48t18", M48T02, 0) /* t08 differs only in accepted voltage levels compared to t18 */ + M48T02(config, "m48t18", 0); /* t08 differs only in accepted voltage levels compared to t18 */ /* Terminal Port config */ SCC85C30(config, m_sccterm, SCC_CLOCK); @@ -663,9 +663,9 @@ MACHINE_CONFIG_START(mvme147_state::mvme147) m_sccterm->out_dtra_callback().set("rs232trm", FUNC(rs232_port_device::write_dtr)); m_sccterm->out_rtsa_callback().set("rs232trm", FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD("rs232trm", RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER (WRITELINE(m_sccterm, scc85c30_device, rxa_w)) - MCFG_RS232_CTS_HANDLER (WRITELINE(m_sccterm, scc85c30_device, ctsa_w)) + rs232_port_device &rs232trm(RS232_PORT(config, "rs232trm", default_rs232_devices, "terminal")); + rs232trm.rxd_handler().set(m_sccterm, FUNC(scc85c30_device::rxa_w)); + rs232trm.cts_handler().set(m_sccterm, FUNC(scc85c30_device::ctsa_w)); SCC85C30(config, m_sccterm2, SCC_CLOCK); MACHINE_CONFIG_END diff --git a/src/mame/drivers/pc8401a.cpp b/src/mame/drivers/pc8401a.cpp index e6492f1cb5d..aa97d5b96c9 100644 --- a/src/mame/drivers/pc8401a.cpp +++ b/src/mame/drivers/pc8401a.cpp @@ -591,9 +591,9 @@ MACHINE_CONFIG_START(pc8401a_state::pc8401a) uart.dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr)); uart.rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_dsr)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(I8251_TAG, FUNC(i8251_device::write_rxd)); + rs232.dsr_handler().set(I8251_TAG, FUNC(i8251_device::write_dsr)); /* video hardware */ pc8401a_video(config); @@ -631,9 +631,9 @@ MACHINE_CONFIG_START(pc8500_state::pc8500) uart.dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr)); uart.rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(I8251_TAG, i8251_device, write_dsr)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(I8251_TAG, FUNC(i8251_device::write_rxd)); + rs232.dsr_handler().set(I8251_TAG, FUNC(i8251_device::write_dsr)); /* video hardware */ pc8500_video(config); diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp index d7bfdbe7e16..9bc1ef95030 100644 --- a/src/mame/drivers/pcd.cpp +++ b/src/mame/drivers/pcd.cpp @@ -547,10 +547,10 @@ MACHINE_CONFIG_START(pcd_state::pcd) m_usart[2]->txrdy_handler().set(m_pic1, FUNC(pic8259_device::ir4_w)); m_usart[2]->txd_handler().set("rs232_2", FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD("rs232_1", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_usart[0], mc2661_device, rx_w)) - MCFG_DEVICE_ADD("rs232_2", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_usart[2], mc2661_device, rx_w)) + rs232_port_device &rs232_1(RS232_PORT(config, "rs232_1", default_rs232_devices, nullptr)); + rs232_1.rxd_handler().set(m_usart[0], FUNC(mc2661_device::rx_w)); + rs232_port_device &rs232_2(RS232_PORT(config, "rs232_2", default_rs232_devices, nullptr)); + rs232_2.rxd_handler().set(m_usart[2], FUNC(mc2661_device::rx_w)); // sound hardware SPEAKER(config, "mono").front_center(); diff --git a/src/mame/drivers/pcipc.cpp b/src/mame/drivers/pcipc.cpp index 08669a9b8dd..7b00286fd50 100644 --- a/src/mame/drivers/pcipc.cpp +++ b/src/mame/drivers/pcipc.cpp @@ -544,18 +544,18 @@ MACHINE_CONFIG_START(pcipc_state::pcipc) MCFG_DEVICE_ADD("isa3", ISA16_SLOT, 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false) MCFG_DEVICE_ADD("isa4", ISA16_SLOT, 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false) MCFG_DEVICE_ADD("isa5", ISA16_SLOT, 0, "pci:07.0:isabus", pc_isa16_cards, nullptr, false) - MCFG_DEVICE_ADD("serport0", RS232_PORT, isa_com, "logitech_mouse") - MCFG_RS232_RXD_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, rxd1_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ndcd1_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ndsr1_w)) - MCFG_RS232_RI_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, nri1_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ncts1_w)) - MCFG_DEVICE_ADD("serport1", RS232_PORT, isa_com, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, rxd2_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ndcd2_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ndsr2_w)) - MCFG_RS232_RI_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, nri2_w)) - MCFG_RS232_CTS_HANDLER(WRITELINE("board4:fdc37c93x", fdc37c93x_device, ncts2_w)) + rs232_port_device &serport0(RS232_PORT(config, "serport0", isa_com, "logitech_mouse")); + serport0.rxd_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::rxd1_w)); + serport0.dcd_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ndcd1_w)); + serport0.dsr_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ndsr1_w)); + serport0.ri_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::nri1_w)); + serport0.cts_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ncts1_w)); + rs232_port_device &serport1(RS232_PORT(config, "serport1", isa_com, nullptr)); + serport1.rxd_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::rxd2_w)); + serport1.dcd_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ndcd2_w)); + serport1.dsr_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ndsr2_w)); + serport1.ri_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::nri2_w)); + serport1.cts_handler().set("board4:fdc37c93x", FUNC(fdc37c93x_device::ncts2_w)); MACHINE_CONFIG_END MACHINE_CONFIG_START(pcipc_state::pcipctx) diff --git a/src/mame/drivers/peoplepc.cpp b/src/mame/drivers/peoplepc.cpp index 153c78fdfd4..100d6df6b3b 100644 --- a/src/mame/drivers/peoplepc.cpp +++ b/src/mame/drivers/peoplepc.cpp @@ -298,9 +298,9 @@ MACHINE_CONFIG_START(peoplepc_state::olypeopl) m_8251key->rxrdy_handler().set("pic8259_1", FUNC(pic8259_device::ir1_w)); m_8251key->txd_handler().set("kbd", FUNC(rs232_port_device::write_txd)); - MCFG_DEVICE_ADD("kbd", RS232_PORT, peoplepc_keyboard_devices, "keyboard") - MCFG_RS232_RXD_HANDLER(WRITELINE("i8251_0", i8251_device, write_rxd)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("keyboard", keyboard) + rs232_port_device &kbd(RS232_PORT(config, "kbd", peoplepc_keyboard_devices, "keyboard")); + kbd.rxd_handler().set(m_8251key, FUNC(i8251_device::write_rxd)); + kbd.set_option_device_input_defaults("keyboard", DEVICE_INPUT_DEFAULTS_NAME(keyboard)); I8251(config, m_8251ser, 0); MACHINE_CONFIG_END diff --git a/src/mame/drivers/proteus.cpp b/src/mame/drivers/proteus.cpp index 79d96e73130..689813e5da8 100644 --- a/src/mame/drivers/proteus.cpp +++ b/src/mame/drivers/proteus.cpp @@ -375,9 +375,9 @@ MACHINE_CONFIG_START(proteus_state::proteus) m_acia[0]->rts_handler().set("terminal", FUNC(rs232_port_device::write_rts)); m_acia[0]->irq_handler().set("irqs", FUNC(input_merger_device::in_w<4>)); - MCFG_DEVICE_ADD("terminal", RS232_PORT, default_rs232_devices, "terminal") // TODO: ADM-31 terminal required - MCFG_RS232_RXD_HANDLER(WRITELINE("acia0", acia6850_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("acia0", acia6850_device, write_cts)) + rs232_port_device &terminal(RS232_PORT(config, "terminal", default_rs232_devices, "terminal")); // TODO: ADM-31 terminal required + terminal.rxd_handler().set(m_acia[0], FUNC(acia6850_device::write_rxd)); + terminal.cts_handler().set(m_acia[0], FUNC(acia6850_device::write_cts)); clock_device &acia0_clock(CLOCK(config, "acia0_clock", 4_MHz_XTAL / 2 / 13)); // TODO: this is set using jumpers acia0_clock.signal_handler().set(m_acia[0], FUNC(acia6850_device::write_txc)); @@ -389,9 +389,9 @@ MACHINE_CONFIG_START(proteus_state::proteus) m_acia[1]->rts_handler().set("printer", FUNC(rs232_port_device::write_rts)); m_acia[1]->irq_handler().set("irqs", FUNC(input_merger_device::in_w<5>)); - MCFG_DEVICE_ADD("printer", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("acia1", acia6850_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("acia1", acia6850_device, write_cts)) + rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr)); + printer.rxd_handler().set(m_acia[1], FUNC(acia6850_device::write_rxd)); + printer.cts_handler().set(m_acia[1], FUNC(acia6850_device::write_cts)); clock_device &acia1_clock(CLOCK(config, "acia1_clock", 4_MHz_XTAL / 2 / 13)); // TODO: this is set using jumpers J2 acia1_clock.signal_handler().set(m_acia[1], FUNC(acia6850_device::write_txc)); @@ -403,9 +403,9 @@ MACHINE_CONFIG_START(proteus_state::proteus) m_acia[2]->rts_handler().set("modem", FUNC(rs232_port_device::write_rts)); m_acia[2]->irq_handler().set("irqs", FUNC(input_merger_device::in_w<6>)); - MCFG_DEVICE_ADD("modem", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("acia2", acia6850_device, write_rxd)) - MCFG_RS232_CTS_HANDLER(WRITELINE("acia2", acia6850_device, write_cts)) + rs232_port_device &modem(RS232_PORT(config, "modem", default_rs232_devices, nullptr)); + modem.rxd_handler().set(m_acia[2], FUNC(acia6850_device::write_rxd)); + modem.cts_handler().set(m_acia[2], FUNC(acia6850_device::write_cts)); clock_device &acia2_clock(CLOCK(config, "acia2_clock", 4_MHz_XTAL / 2 / 13)); // TODO: this is set using jumpers J1 acia2_clock.signal_handler().set(m_acia[2], FUNC(acia6850_device::write_txc)); diff --git a/src/mame/drivers/ql.cpp b/src/mame/drivers/ql.cpp index 148b2e2385b..34df45d79e5 100644 --- a/src/mame/drivers/ql.cpp +++ b/src/mame/drivers/ql.cpp @@ -951,9 +951,9 @@ MACHINE_CONFIG_START(ql_state::ql) MCFG_MICRODRIVE_COMMS_OUT_CALLBACK(WRITELINE(MDV_2, microdrive_image_device, comms_in_w)) MCFG_MICRODRIVE_ADD(MDV_2) - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, nullptr) // wired as DCE - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) // wired as DTE - MCFG_RS232_CTS_HANDLER(WRITELINE(ZX8302_TAG, zx8302_device, write_cts2)) + RS232_PORT(config, m_ser1, default_rs232_devices, nullptr); // wired as DCE + RS232_PORT(config, m_ser2, default_rs232_devices, nullptr); // wired as DTE + m_ser2->cts_handler().set(m_zx8302, FUNC(zx8302_device::write_cts2)); MCFG_DEVICE_ADD("exp", QL_EXPANSION_SLOT, 0, ql_expansion_cards, nullptr) // FIXME: what's the clock on the slot? //MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK() diff --git a/src/mame/drivers/qvt201.cpp b/src/mame/drivers/qvt201.cpp index 49e6add37fb..81cf016c7fc 100644 --- a/src/mame/drivers/qvt201.cpp +++ b/src/mame/drivers/qvt201.cpp @@ -105,16 +105,16 @@ MACHINE_CONFIG_START(qvt201_state::qvt201) MCFG_DEVICE_ADD("duart", SCN2681, 3.6864_MHz_XTAL) // XTAL not directly connected MCFG_MC68681_IRQ_CALLBACK(WRITELINE("mainint", input_merger_device, in_w<1>)) - MCFG_MC68681_A_TX_CALLBACK(WRITELINE("eia", rs232_port_device, write_txd)) + MCFG_MC68681_A_TX_CALLBACK(WRITELINE(m_eia, rs232_port_device, write_txd)) MCFG_MC68681_B_TX_CALLBACK(WRITELINE("aux", rs232_port_device, write_txd)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, qvt201_state, duart_out_w)) - MCFG_DEVICE_ADD("eia", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_a_w)) + RS232_PORT(config, m_eia, default_rs232_devices, nullptr); + m_eia->rxd_handler().set("duart", FUNC(scn2681_device::rx_a_w)); - MCFG_DEVICE_ADD("aux", RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE("duart", scn2681_device, rx_b_w)) - MCFG_RS232_DSR_HANDLER(WRITELINE("duart", scn2681_device, ip4_w)) + rs232_port_device &aux(RS232_PORT(config, "aux", default_rs232_devices, nullptr)); + aux.rxd_handler().set("duart", FUNC(scn2681_device::rx_b_w)); + aux.dsr_handler().set("duart", FUNC(scn2681_device::ip4_w)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // TC5516APL-2 or uPD446C-2 + battery diff --git a/src/mame/drivers/sage2.cpp b/src/mame/drivers/sage2.cpp index 66a8cdb0334..2beb04fe575 100644 --- a/src/mame/drivers/sage2.cpp +++ b/src/mame/drivers/sage2.cpp @@ -450,11 +450,11 @@ MACHINE_CONFIG_START(sage2_state::sage2) m_usart0->rxrdy_handler().set_inputline(M68000_TAG, M68K_IRQ_5); m_usart0->txrdy_handler().set(I8259_TAG, FUNC(pic8259_device::ir2_w)); - MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal") - MCFG_RS232_RXD_HANDLER(WRITELINE(m_usart0, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(m_usart0, i8251_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_usart0, i8251_device, write_cts)) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal) + rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "terminal")); + rs232a.rxd_handler().set(m_usart0, FUNC(i8251_device::write_rxd)); + rs232a.dsr_handler().set(m_usart0, FUNC(i8251_device::write_dsr)); + rs232a.cts_handler().set(m_usart0, FUNC(i8251_device::write_cts)); + rs232a.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); I8251(config, m_usart1, 0); m_usart1->txd_handler().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd)); @@ -463,9 +463,9 @@ MACHINE_CONFIG_START(sage2_state::sage2) m_usart1->rxrdy_handler().set(I8259_TAG, FUNC(pic8259_device::ir1_w)); m_usart1->txrdy_handler().set(I8259_TAG, FUNC(pic8259_device::ir3_w)); - MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_usart1, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(m_usart1, i8251_device, write_dsr)) + rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_usart1, FUNC(i8251_device::write_rxd)); + rs232b.dsr_handler().set(m_usart1, FUNC(i8251_device::write_dsr)); UPD765A(config, m_fdc, false, false); m_fdc->intrq_wr_callback().set(FUNC(sage2_state::fdc_irq)); diff --git a/src/mame/drivers/sg1000.cpp b/src/mame/drivers/sg1000.cpp index f9cd0d60758..2344d2582a7 100644 --- a/src/mame/drivers/sg1000.cpp +++ b/src/mame/drivers/sg1000.cpp @@ -645,9 +645,9 @@ MACHINE_CONFIG_START(sf7000_state::sf7000) upd8251.dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr)); upd8251.rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(UPD8251_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(UPD8251_TAG, i8251_device, write_dsr)) + rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(UPD8251_TAG, FUNC(i8251_device::write_rxd)); + rs232.dsr_handler().set(UPD8251_TAG, FUNC(i8251_device::write_dsr)); UPD765A(config, m_fdc, false, false); MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", sf7000_floppies, "3ssdd", sf7000_state::floppy_formats) diff --git a/src/mame/drivers/slicer.cpp b/src/mame/drivers/slicer.cpp index 9ffdeb6de7b..79e14f9fd8a 100644 --- a/src/mame/drivers/slicer.cpp +++ b/src/mame/drivers/slicer.cpp @@ -108,10 +108,10 @@ MACHINE_CONFIG_START(slicer_state::slicer) MCFG_MC68681_B_TX_CALLBACK(WRITELINE("rs232_2", rs232_port_device, write_txd)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(*this, slicer_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)); FD1797(config, m_fdc, 16_MHz_XTAL / 2 / 8); m_fdc->intrq_wr_callback().set("maincpu", FUNC(i80186_cpu_device::int1_w)); diff --git a/src/mame/drivers/vixen.cpp b/src/mame/drivers/vixen.cpp index 9f349bcae61..2ab569670b8 100644 --- a/src/mame/drivers/vixen.cpp +++ b/src/mame/drivers/vixen.cpp @@ -775,15 +775,15 @@ MACHINE_CONFIG_START(vixen_state::vixen) i8155_io.out_to_callback().set(FUNC(vixen_state::io_i8155_to_w)); I8251(config, m_usart, 0); - m_usart->txd_handler().set(RS232_TAG, FUNC(rs232_port_device::write_txd)); - m_usart->dtr_handler().set(RS232_TAG, FUNC(rs232_port_device::write_dtr)); - m_usart->rts_handler().set(RS232_TAG, FUNC(rs232_port_device::write_rts)); + m_usart->txd_handler().set(m_rs232, FUNC(rs232_port_device::write_txd)); + m_usart->dtr_handler().set(m_rs232, FUNC(rs232_port_device::write_dtr)); + m_usart->rts_handler().set(m_rs232, FUNC(rs232_port_device::write_rts)); m_usart->rxrdy_handler().set(FUNC(vixen_state::rxrdy_w)); m_usart->txrdy_handler().set(FUNC(vixen_state::txrdy_w)); - MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(P8251A_TAG, i8251_device, write_rxd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(P8251A_TAG, i8251_device, write_dsr)) + RS232_PORT(config, m_rs232, default_rs232_devices, nullptr); + m_rs232->rxd_handler().set(m_usart, FUNC(i8251_device::write_rxd)); + m_rs232->dsr_handler().set(m_usart, FUNC(i8251_device::write_dsr)); FD1797(config, m_fdc, 23.9616_MHz_XTAL / 24); m_fdc->intrq_wr_callback().set(FUNC(vixen_state::fdc_intrq_w)); diff --git a/src/mame/machine/ioc2.cpp b/src/mame/machine/ioc2.cpp index bb96828ccef..34fa8f26210 100644 --- a/src/mame/machine/ioc2.cpp +++ b/src/mame/machine/ioc2.cpp @@ -48,7 +48,8 @@ ioport_constructor ioc2_device::device_input_ports() const return INPUT_PORTS_NAME(front_panel); } -MACHINE_CONFIG_START(ioc2_device::device_add_mconfig) +void ioc2_device::device_add_mconfig(machine_config &config) +{ SCC85230(config, m_scc, SCC_PCLK); m_scc->configure_channels(SCC_RXA_CLK.value(), SCC_TXA_CLK.value(), SCC_RXB_CLK.value(), SCC_TXB_CLK.value()); m_scc->out_txda_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_txd)); @@ -58,15 +59,15 @@ MACHINE_CONFIG_START(ioc2_device::device_add_mconfig) m_scc->out_dtrb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_dtr)); m_scc->out_rtsb_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_rts)); - MCFG_DEVICE_ADD(RS232A_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_scc, scc85230_device, ctsa_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_scc, scc85230_device, dcda_w)) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, scc85230_device, rxa_w)) + rs232_port_device &rs232a(RS232_PORT(config, RS232A_TAG, default_rs232_devices, nullptr)); + rs232a.cts_handler().set(m_scc, FUNC(scc85230_device::ctsa_w)); + rs232a.dcd_handler().set(m_scc, FUNC(scc85230_device::dcda_w)); + rs232a.rxd_handler().set(m_scc, FUNC(scc85230_device::rxa_w)); - MCFG_DEVICE_ADD(RS232B_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_CTS_HANDLER(WRITELINE(m_scc, scc85230_device, ctsb_w)) - MCFG_RS232_DCD_HANDLER(WRITELINE(m_scc, scc85230_device, dcdb_w)) - MCFG_RS232_RXD_HANDLER(WRITELINE(m_scc, scc85230_device, rxb_w)) + rs232_port_device &rs232b(RS232_PORT(config, RS232B_TAG, default_rs232_devices, nullptr)); + rs232b.cts_handler().set(m_scc, FUNC(scc85230_device::ctsb_w)); + rs232b.dcd_handler().set(m_scc, FUNC(scc85230_device::dcdb_w)); + rs232b.rxd_handler().set(m_scc, FUNC(scc85230_device::rxb_w)); PC_LPT(config, m_pi1); @@ -79,7 +80,7 @@ MACHINE_CONFIG_START(ioc2_device::device_add_mconfig) m_pit->set_clk<1>(1000000); m_pit->set_clk<2>(1000000); m_pit->out_handler<2>().set(m_kbdc, FUNC(kbdc8042_device::write_out2)); -MACHINE_CONFIG_END +} ioc2_device::ioc2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) |