diff options
Diffstat (limited to 'src/devices/bus/coco/coco_dcmodem.cpp')
-rw-r--r-- | src/devices/bus/coco/coco_dcmodem.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/devices/bus/coco/coco_dcmodem.cpp b/src/devices/bus/coco/coco_dcmodem.cpp index d1555215922..cad760775b7 100644 --- a/src/devices/bus/coco/coco_dcmodem.cpp +++ b/src/devices/bus/coco/coco_dcmodem.cpp @@ -81,18 +81,19 @@ namespace IMPLEMENTATION ***************************************************************************/ -MACHINE_CONFIG_START(coco_dc_modem_device::device_add_mconfig) - MCFG_DEVICE_ADD(UART_TAG, MOS6551, 0) - MCFG_MOS6551_XTAL(XTAL(1'843'200)) - MCFG_MOS6551_IRQ_HANDLER(WRITELINE(*this, coco_dc_modem_device, uart_irq_w)) - MCFG_MOS6551_TXD_HANDLER(WRITELINE(PORT_TAG, rs232_port_device, write_txd)) - - MCFG_DEVICE_ADD(PORT_TAG, RS232_PORT, default_rs232_devices, nullptr) - MCFG_RS232_RXD_HANDLER(WRITELINE(UART_TAG, mos6551_device, write_rxd)) - MCFG_RS232_DCD_HANDLER(WRITELINE(UART_TAG, mos6551_device, write_dcd)) - MCFG_RS232_DSR_HANDLER(WRITELINE(UART_TAG, mos6551_device, write_dsr)) - MCFG_RS232_CTS_HANDLER(WRITELINE(UART_TAG, mos6551_device, write_cts)) -MACHINE_CONFIG_END +void coco_dc_modem_device::device_add_mconfig(machine_config &config) +{ + MOS6551(config, m_uart, 0); + m_uart->set_xtal(1.8432_MHz_XTAL); + m_uart->irq_handler().set(FUNC(coco_dc_modem_device::uart_irq_w)); + m_uart->txd_handler().set(PORT_TAG, FUNC(rs232_port_device::write_txd)); + + rs232_port_device &rs232(RS232_PORT(config, PORT_TAG, default_rs232_devices, nullptr)); + rs232.rxd_handler().set(m_uart, FUNC(mos6551_device::write_rxd)); + rs232.dcd_handler().set(m_uart, FUNC(mos6551_device::write_dcd)); + rs232.dsr_handler().set(m_uart, FUNC(mos6551_device::write_dsr)); + rs232.cts_handler().set(m_uart, FUNC(mos6551_device::write_cts)); +} ROM_START(coco_dcmodem) |