diff options
Diffstat (limited to 'src/mame/drivers/pcw16.cpp')
-rw-r--r-- | src/mame/drivers/pcw16.cpp | 41 |
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) |