summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pcw16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pcw16.cpp')
-rw-r--r--src/mame/drivers/pcw16.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp
index 65f5d006122..b2d963db4e0 100644
--- a/src/mame/drivers/pcw16.cpp
+++ b/src/mame/drivers/pcw16.cpp
@@ -1017,29 +1017,30 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
MCFG_DEVICE_IO_MAP(pcw16_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
+ ns16550_device &uart1(NS16550(config, "ns16550_1", XTAL(1'843'200))); /* TODO: Verify uart model */
+ uart1.out_tx_callback().set("serport1", FUNC(rs232_port_device::write_txd));
+ uart1.out_dtr_callback().set("serport1", FUNC(rs232_port_device::write_dtr));
+ 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( "ns16550_1", NS16550, XTAL(1'843'200) ) /* TODO: Verify uart model */
- MCFG_INS8250_OUT_TX_CB(WRITELINE("serport1", rs232_port_device, write_txd))
- MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport1", rs232_port_device, write_dtr))
- MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport1", rs232_port_device, write_rts))
- MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, pcw16_state, pcw16_com_interrupt_1))
MCFG_DEVICE_ADD( "serport1", RS232_PORT, pcw16_com, "msystems_mouse" )
- MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550_1", ins8250_uart_device, rx_w))
- MCFG_RS232_DCD_HANDLER(WRITELINE("ns16550_1", ins8250_uart_device, dcd_w))
- MCFG_RS232_DSR_HANDLER(WRITELINE("ns16550_1", ins8250_uart_device, dsr_w))
- MCFG_RS232_RI_HANDLER(WRITELINE("ns16550_1", ins8250_uart_device, ri_w))
- MCFG_RS232_CTS_HANDLER(WRITELINE("ns16550_1", ins8250_uart_device, cts_w))
-
- MCFG_DEVICE_ADD( "ns16550_2", NS16550, XTAL(1'843'200) ) /* TODO: Verify uart model */
- MCFG_INS8250_OUT_TX_CB(WRITELINE("serport2", rs232_port_device, write_txd))
- MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport2", rs232_port_device, write_dtr))
- MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport2", rs232_port_device, write_rts))
- MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, pcw16_state, pcw16_com_interrupt_2))
+ 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))
+
+ 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));
+ m_uart2->out_dtr_callback().set("serport2", FUNC(rs232_port_device::write_dtr));
+ 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("ns16550_2", ins8250_uart_device, rx_w))
- MCFG_RS232_DCD_HANDLER(WRITELINE("ns16550_2", ins8250_uart_device, dcd_w))
- MCFG_RS232_DSR_HANDLER(WRITELINE("ns16550_2", ins8250_uart_device, dsr_w))
- MCFG_RS232_CTS_HANDLER(WRITELINE("ns16550_2", ins8250_uart_device, cts_w))
+ 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))
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)