-in8250: De-MCFG, nw

This commit is contained in:
mooglyguy 2018-09-04 22:05:25 +02:00
parent 4cb48c238d
commit c5f8c29d1c
29 changed files with 342 additions and 360 deletions

View File

@ -26,18 +26,17 @@ DEFINE_DEVICE_TYPE(HPDIO_98644, dio16_98644_device, "dio98644", "HP98644A Asynch
#define INS8250_TAG "ins8250"
MACHINE_CONFIG_START( dio16_98644_device::device_add_mconfig )
MCFG_DEVICE_ADD(INS8250_TAG, INS8250, XTAL(2'457'600))
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
INS8250(config, m_uart, XTAL(2'457'600));
m_uart->out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().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(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))
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))
MACHINE_CONFIG_END
//**************************************************************************

View File

@ -34,54 +34,54 @@ DEFINE_DEVICE_TYPE(ISA8_COM, isa8_com_device, "isa_com", "Communications Adapter
//-------------------------------------------------
MACHINE_CONFIG_START(isa8_com_device::device_add_mconfig)
MCFG_DEVICE_ADD( "uart_0", INS8250, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport0", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport0", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport0", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, isa8_com_device, pc_com_interrupt_1))
MCFG_DEVICE_ADD( "uart_1", INS8250, XTAL(1'843'200) )
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, isa8_com_device, pc_com_interrupt_2))
/*MCFG_DEVICE_ADD( "uart_2", INS8250, XTAL(1'843'200) )
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, isa8_com_device, pc_com_interrupt_1))
MCFG_DEVICE_ADD( "uart_3", INS8250, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport3", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport3", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport3", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, isa8_com_device, pc_com_interrupt_2))*/
ins8250_device &uart0(INS8250(config, "uart_0", XTAL(1'843'200)));
uart0.out_tx_callback().set("serport0", FUNC(rs232_port_device::write_txd));
uart0.out_dtr_callback().set("serport0", FUNC(rs232_port_device::write_dtr));
uart0.out_rts_callback().set("serport0", FUNC(rs232_port_device::write_rts));
uart0.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_1));
ins8250_device &uart1(INS8250(config, "uart_1", XTAL(1'843'200)));
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(isa8_com_device::pc_com_interrupt_2));
/*ins8250_device &uart2(INS8250(config, "uart_2", XTAL(1'843'200)));
uart2.out_tx_callback().set("serport2", FUNC(rs232_port_device::write_txd));
uart2.out_dtr_callback().set("serport2", FUNC(rs232_port_device::write_dtr));
uart2.out_rts_callback().set("serport2", FUNC(rs232_port_device::write_rts));
uart2.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_1));
ins8250_device &uart3(INS8250(config, "uart_3", XTAL(1'843'200)));
uart3.out_tx_callback().set("serport3", FUNC(rs232_port_device::write_txd));
uart3.out_dtr_callback().set("serport3", FUNC(rs232_port_device::write_dtr));
uart3.out_rts_callback().set("serport3", FUNC(rs232_port_device::write_rts));
uart3.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_2));*/
MCFG_DEVICE_ADD( "serport0", RS232_PORT, isa_com, "microsoft_mouse" )
MCFG_RS232_RXD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("uart_0", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart_0", ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(uart0, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(uart0, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(uart0, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(uart0, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(uart0, ins8250_uart_device, cts_w))
MCFG_DEVICE_ADD( "serport1", RS232_PORT, isa_com, nullptr )
MCFG_RS232_RXD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("uart_1", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart_1", ins8250_uart_device, cts_w))
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))
//MCFG_DEVICE_ADD( "serport2", RS232_PORT, isa_com, nullptr )
//MCFG_RS232_RXD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, rx_w))
//MCFG_RS232_DCD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dcd_w))
//MCFG_RS232_DSR_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dsr_w))
//MCFG_RS232_RI_HANDLER(WRITELINE("uart_1", ins8250_uart_device, ri_w))
//MCFG_RS232_CTS_HANDLER(WRITELINE("uart_1", ins8250_uart_device, cts_w))
//MCFG_RS232_RXD_HANDLER(WRITELINE(uart2, ins8250_uart_device, rx_w))
//MCFG_RS232_DCD_HANDLER(WRITELINE(uart2, ins8250_uart_device, dcd_w))
//MCFG_RS232_DSR_HANDLER(WRITELINE(uart2, ins8250_uart_device, dsr_w))
//MCFG_RS232_RI_HANDLER(WRITELINE(uart2, ins8250_uart_device, ri_w))
//MCFG_RS232_CTS_HANDLER(WRITELINE(uart2, ins8250_uart_device, cts_w))
//MCFG_DEVICE_ADD( "serport3", RS232_PORT, isa_com, nullptr )
//MCFG_RS232_RXD_HANDLER(WRITELINE("uart_2", ins8250_uart_device, rx_w))
//MCFG_RS232_DCD_HANDLER(WRITELINE("uart_2", ins8250_uart_device, dcd_w))
//MCFG_RS232_DSR_HANDLER(WRITELINE("uart_2", ins8250_uart_device, dsr_w))
//MCFG_RS232_RI_HANDLER(WRITELINE("uart_2", ins8250_uart_device, ri_w))
//MCFG_RS232_CTS_HANDLER(WRITELINE("uart_2", ins8250_uart_device, cts_w))
//MCFG_RS232_RXD_HANDLER(WRITELINE(uart3, ins8250_uart_device, rx_w))
//MCFG_RS232_DCD_HANDLER(WRITELINE(uart3, ins8250_uart_device, dcd_w))
//MCFG_RS232_DSR_HANDLER(WRITELINE(uart3, ins8250_uart_device, dsr_w))
//MCFG_RS232_RI_HANDLER(WRITELINE(uart3, ins8250_uart_device, ri_w))
//MCFG_RS232_CTS_HANDLER(WRITELINE(uart3, ins8250_uart_device, cts_w))
MACHINE_CONFIG_END
//**************************************************************************
@ -136,39 +136,39 @@ DEFINE_DEVICE_TYPE(ISA8_COM_AT, isa8_com_at_device, "isa_com_at", "Communication
//-------------------------------------------------
MACHINE_CONFIG_START(isa8_com_at_device::device_add_mconfig)
MCFG_DEVICE_ADD( "uart_0", NS16450, XTAL(1'843'200) ) /* Verified: IBM P/N 6320947 Serial/Parallel card uses an NS16450N */
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport0", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport0", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport0", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, isa8_com_device, pc_com_interrupt_1))
MCFG_DEVICE_ADD( "uart_1", NS16450, XTAL(1'843'200) )
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, isa8_com_device, pc_com_interrupt_2))
/*MCFG_DEVICE_ADD( "uart_2", NS16450, XTAL(1'843'200) )
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, isa8_com_device, pc_com_interrupt_1))
MCFG_DEVICE_ADD( "uart_3", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport3", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport3", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport3", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, isa8_com_device, pc_com_interrupt_2))*/
ns16450_device &uart0(NS16450(config, "uart_0", XTAL(1'843'200))); /* Verified: IBM P/N 6320947 Serial/Parallel card uses an NS16450N */
uart0.out_tx_callback().set("serport0", FUNC(rs232_port_device::write_txd));
uart0.out_dtr_callback().set("serport0", FUNC(rs232_port_device::write_dtr));
uart0.out_rts_callback().set("serport0", FUNC(rs232_port_device::write_rts));
uart0.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_1));
ns16450_device &uart1(NS16450(config, "uart_1", XTAL(1'843'200)));
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(isa8_com_device::pc_com_interrupt_2));
/*ns16450_device &uart2(NS16450(config, "uart_2", XTAL(1'843'200)));
uart2.out_tx_callback().set("serport2", FUNC(rs232_port_device::write_txd));
uart2.out_dtr_callback().set("serport2", FUNC(rs232_port_device::write_dtr));
uart2.out_rts_callback().set("serport2", FUNC(rs232_port_device::write_rts));
uart2.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_1));
ns16450_device &uart3(NS16450(config, "uart_3", XTAL(1'843'200)));
uart3.out_tx_callback().set("serport3", FUNC(rs232_port_device::write_txd));
uart3.out_dtr_callback().set("serport3", FUNC(rs232_port_device::write_dtr));
uart3.out_rts_callback().set("serport3", FUNC(rs232_port_device::write_rts));
uart3.out_int_callback().set(FUNC(isa8_com_device::pc_com_interrupt_2));*/
MCFG_DEVICE_ADD( "serport0", RS232_PORT, isa_com, "microsoft_mouse" )
MCFG_RS232_RXD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("uart_0", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart_0", ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(uart0, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(uart0, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(uart0, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(uart0, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(uart0, ins8250_uart_device, cts_w))
MCFG_DEVICE_ADD( "serport1", RS232_PORT, isa_com, nullptr )
MCFG_RS232_RXD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart_1", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("uart_1", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart_1", ins8250_uart_device, cts_w))
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))
// MCFG_DEVICE_ADD( "serport2", RS232_PORT, isa_com, nullptr )
// MCFG_DEVICE_ADD( "serport3", RS232_PORT, isa_com, nullptr )

View File

@ -47,17 +47,17 @@ DEFINE_DEVICE_TYPE(NUBUS_BOOTBUG, nubus_bootbug_device, "nb_btbug", "Brigent Boo
//-------------------------------------------------
MACHINE_CONFIG_START(nubus_bootbug_device::device_add_mconfig)
MCFG_DEVICE_ADD( "uart_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport0", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport0", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport0", rs232_port_device, write_rts))
ns16450_device &uart(NS16450(config, "uart_0", XTAL(1'843'200)));
uart.out_tx_callback().set("serport0", FUNC(rs232_port_device::write_txd));
uart.out_dtr_callback().set("serport0", FUNC(rs232_port_device::write_dtr));
uart.out_rts_callback().set("serport0", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD( "serport0", RS232_PORT, isa_com, "terminal" )
MCFG_RS232_RXD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart_0", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("uart_0", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart_0", ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(uart, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(uart, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(uart, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(uart, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(uart, ins8250_uart_device, cts_w))
MACHINE_CONFIG_END
//-------------------------------------------------

View File

@ -34,18 +34,18 @@ DEFINE_DEVICE_TYPE(POFO_HPC102, pofo_hpc102_device, "pofo_hpc102", "Atari Portfo
//-------------------------------------------------
MACHINE_CONFIG_START(pofo_hpc102_device::device_add_mconfig)
MCFG_DEVICE_ADD(M82C50A_TAG, INS8250, XTAL(1'843'200)) // should be INS8250A
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, device_portfolio_expansion_slot_interface, eint_w))
INS8250(config, m_uart, XTAL(1'843'200)); // should be INS8250A
m_uart->out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(FUNC(device_portfolio_expansion_slot_interface::eint_w));
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE(M82C50A_TAG, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(M82C50A_TAG, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(M82C50A_TAG, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(M82C50A_TAG, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(M82C50A_TAG, ins8250_uart_device, cts_w))
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))
MACHINE_CONFIG_END

View File

@ -92,45 +92,45 @@ MACHINE_CONFIG_START(s100_wunderbus_device::device_add_mconfig)
MCFG_PIC8259_OUT_INT_CB(WRITELINE(*this, s100_wunderbus_device, pic_int_w))
MCFG_PIC8259_IN_SP_CB(CONSTANT(1))
MCFG_DEVICE_ADD(INS8250_1_TAG, INS8250, XTAL(18'432'000)/10)
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_A_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(I8259A_TAG, pic8259_device, ir3_w))
INS8250(config, m_ace1, XTAL(18'432'000)/10);
m_ace1->out_tx_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_txd));
m_ace1->out_dtr_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_dtr));
m_ace1->out_rts_callback().set(RS232_A_TAG, FUNC(rs232_port_device::write_rts));
m_ace1->out_int_callback().set(I8259A_TAG, FUNC(pic8259_device::ir3_w));
MCFG_DEVICE_ADD(INS8250_2_TAG, INS8250, XTAL(18'432'000)/10)
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_B_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(I8259A_TAG, pic8259_device, ir4_w))
INS8250(config, m_ace2, XTAL(18'432'000)/10);
m_ace2->out_tx_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_txd));
m_ace2->out_dtr_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_dtr));
m_ace2->out_rts_callback().set(RS232_B_TAG, FUNC(rs232_port_device::write_rts));
m_ace2->out_int_callback().set(I8259A_TAG, FUNC(pic8259_device::ir4_w));
MCFG_DEVICE_ADD(INS8250_3_TAG, INS8250, XTAL(18'432'000)/10)
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_C_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_C_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_C_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(I8259A_TAG, pic8259_device, ir5_w))
INS8250(config, m_ace3, XTAL(18'432'000)/10);
m_ace3->out_tx_callback().set(RS232_C_TAG, FUNC(rs232_port_device::write_txd));
m_ace3->out_dtr_callback().set(RS232_C_TAG, FUNC(rs232_port_device::write_dtr));
m_ace3->out_rts_callback().set(RS232_C_TAG, FUNC(rs232_port_device::write_rts));
m_ace3->out_int_callback().set(I8259A_TAG, FUNC(pic8259_device::ir5_w));
MCFG_DEVICE_ADD(RS232_A_TAG, RS232_PORT, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(WRITELINE(INS8250_1_TAG, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(INS8250_1_TAG, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(INS8250_1_TAG, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(INS8250_1_TAG, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(INS8250_1_TAG, ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(m_ace1, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(m_ace1, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(m_ace1, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(m_ace1, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(m_ace1, ins8250_uart_device, cts_w))
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", terminal)
MCFG_DEVICE_ADD(RS232_B_TAG, RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE(INS8250_2_TAG, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(INS8250_2_TAG, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(INS8250_2_TAG, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(INS8250_2_TAG, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(INS8250_2_TAG, ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(m_ace2, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(m_ace2, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(m_ace2, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(m_ace2, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(m_ace2, ins8250_uart_device, cts_w))
MCFG_DEVICE_ADD(RS232_C_TAG, RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE(INS8250_3_TAG, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(INS8250_3_TAG, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(INS8250_3_TAG, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(INS8250_3_TAG, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(INS8250_3_TAG, ins8250_uart_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(m_ace3, ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(m_ace3, ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(m_ace3, ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE(m_ace3, ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(m_ace3, ins8250_uart_device, cts_w))
MCFG_UPD1990A_ADD(UPD1990C_TAG, XTAL(32'768), NOOP, WRITELINE(DEVICE_SELF, s100_wunderbus_device, rtc_tp_w))
MACHINE_CONFIG_END

View File

@ -21,17 +21,17 @@ DEFINE_DEVICE_TYPE(SV805, sv805_device, "sv805", "SV-805 RS-232 Interface")
//-------------------------------------------------
MACHINE_CONFIG_START(sv805_device::device_add_mconfig)
MCFG_DEVICE_ADD("uart", INS8250, XTAL(3'072'000))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, sv805_device, uart_intr_w))
MCFG_INS8250_OUT_TX_CB(WRITELINE("rs232", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("rs232", rs232_port_device, write_rts))
INS8250(config, m_uart, XTAL(3'072'000));
m_uart->out_int_callback().set(FUNC(sv805_device::uart_intr_w));
m_uart->out_tx_callback().set("rs232", FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set("rs232", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD("rs232", RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE("uart", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("uart", ins8250_uart_device, dsr_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart", ins8250_uart_device, cts_w))
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_CTS_HANDLER(WRITELINE(m_uart, ins8250_uart_device, cts_w))
MACHINE_CONFIG_END

View File

@ -250,17 +250,20 @@ MACHINE_CONFIG_START(fdc37c93x_device::device_add_mconfig)
// parallel port
MCFG_DEVICE_ADD("lpt", PC_LPT, 0)
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(*this, fdc37c93x_device, irq_parallel_w))
// serial ports
MCFG_DEVICE_ADD("uart_0", NS16450, XTAL(1'843'200)) // or NS16550 ?
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, fdc37c93x_device, irq_serial1_w))
MCFG_INS8250_OUT_TX_CB(WRITELINE(*this, fdc37c93x_device, txd_serial1_w))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(*this, fdc37c93x_device, dtr_serial1_w))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(*this, fdc37c93x_device, rts_serial1_w))
MCFG_DEVICE_ADD("uart_1", NS16450, XTAL(1'843'200))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, fdc37c93x_device, irq_serial2_w))
MCFG_INS8250_OUT_TX_CB(WRITELINE(*this, fdc37c93x_device, txd_serial2_w))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(*this, fdc37c93x_device, dtr_serial2_w))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(*this, fdc37c93x_device, rts_serial2_w))
NS16450(config, pc_serial1_comdev, XTAL(1'843'200)); // or NS16550 ?
pc_serial1_comdev->out_int_callback().set(FUNC(fdc37c93x_device::irq_serial1_w));
pc_serial1_comdev->out_tx_callback().set(FUNC(fdc37c93x_device::txd_serial1_w));
pc_serial1_comdev->out_dtr_callback().set(FUNC(fdc37c93x_device::dtr_serial1_w));
pc_serial1_comdev->out_rts_callback().set(FUNC(fdc37c93x_device::rts_serial1_w));
NS16450(config, pc_serial2_comdev, XTAL(1'843'200));
pc_serial2_comdev->out_int_callback().set(FUNC(fdc37c93x_device::irq_serial2_w));
pc_serial2_comdev->out_tx_callback().set(FUNC(fdc37c93x_device::txd_serial2_w));
pc_serial2_comdev->out_dtr_callback().set(FUNC(fdc37c93x_device::dtr_serial2_w));
pc_serial2_comdev->out_rts_callback().set(FUNC(fdc37c93x_device::rts_serial2_w));
// RTC
MCFG_DS12885_ADD("rtc")
MCFG_MC146818_IRQ_HANDLER(WRITELINE(*this, fdc37c93x_device, irq_rtc_w))

View File

@ -158,27 +158,4 @@ DECLARE_DEVICE_TYPE(INS8250, ins8250_device)
DECLARE_DEVICE_TYPE(NS16450, ns16450_device)
DECLARE_DEVICE_TYPE(NS16550, ns16550_device)
/***************************************************************************
DEVICE CONFIGURATION MACROS
***************************************************************************/
#define MCFG_INS8250_OUT_TX_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_tx_callback(DEVCB_##_devcb);
#define MCFG_INS8250_OUT_DTR_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_dtr_callback(DEVCB_##_devcb);
#define MCFG_INS8250_OUT_RTS_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_rts_callback(DEVCB_##_devcb);
#define MCFG_INS8250_OUT_INT_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_int_callback(DEVCB_##_devcb);
#define MCFG_INS8250_OUT_OUT1_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_out1_callback(DEVCB_##_devcb);
#define MCFG_INS8250_OUT_OUT2_CB(_devcb) \
downcast<ins8250_uart_device &>(*device).set_out_out2_callback(DEVCB_##_devcb);
#endif // MAME_MACHINE_INS8250_H

View File

@ -144,16 +144,16 @@ void vrc5074_device::target1_map(address_map &map)
}
MACHINE_CONFIG_START(vrc5074_device::device_add_mconfig)
MCFG_DEVICE_ADD("uart", NS16550, DERIVED_CLOCK(1, 12))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, vrc5074_device, uart_irq_callback))
MCFG_INS8250_OUT_TX_CB(WRITELINE("ttys00", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("ttys00", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("ttys00", rs232_port_device, write_rts))
ns16550_device &uart(NS16550(config, "uart", DERIVED_CLOCK(1, 12)));
uart.out_int_callback().set(FUNC(vrc5074_device::uart_irq_callback));
uart.out_tx_callback().set("ttys00", FUNC(rs232_port_device::write_txd));
uart.out_dtr_callback().set("ttys00", FUNC(rs232_port_device::write_dtr));
uart.out_rts_callback().set("ttys00", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD("ttys00", RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE("uart", ns16550_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("uart", ns16550_device, dcd_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("uart", ns16550_device, cts_w))
MCFG_RS232_RXD_HANDLER(WRITELINE(uart, ns16550_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE(uart, ns16550_device, dcd_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(uart, ns16550_device, cts_w))
MACHINE_CONFIG_END
vrc5074_device::vrc5074_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :

View File

@ -2060,28 +2060,28 @@ MACHINE_CONFIG_START(aristmk5_state::aristmk5)
NVRAM(config, "nvram", nvram_device::DEFAULT_NONE);
// TL16C452FN U71
MCFG_DEVICE_ADD("uart_0a", NS16450, MASTER_CLOCK / 9)
MCFG_INS8250_OUT_INT_CB(WRITELINE("uart_irq", input_merger_device, in_w<0>))
MCFG_DEVICE_ADD("uart_0b", NS16450, MASTER_CLOCK / 9)
MCFG_INS8250_OUT_INT_CB(WRITELINE("uart_irq", input_merger_device, in_w<1>))
ns16450_device &uart0a(NS16450(config, "uart_0a", MASTER_CLOCK / 9));
uart0a.out_int_callback().set("uart_irq", FUNC(input_merger_device::in_w<0>));
ns16450_device &uart0b(NS16450(config, "uart_0b", MASTER_CLOCK / 9));
uart0b.out_int_callback().set("uart_irq", FUNC(input_merger_device::in_w<1>));
// TL16C452FN U72
MCFG_DEVICE_ADD("uart_1a", NS16450, MASTER_CLOCK / 9)
MCFG_INS8250_OUT_INT_CB(WRITELINE("uart_irq", input_merger_device, in_w<2>))
MCFG_DEVICE_ADD("uart_1b", NS16450, MASTER_CLOCK / 9)
MCFG_INS8250_OUT_INT_CB(WRITELINE("uart_irq", input_merger_device, in_w<3>))
ns16450_device &uart1a(NS16450(config, "uart_1a", MASTER_CLOCK / 9));
uart1a.out_int_callback().set("uart_irq", FUNC(input_merger_device::in_w<2>));
ns16450_device &uart1b(NS16450(config, "uart_1b", MASTER_CLOCK / 9));
uart1b.out_int_callback().set("uart_irq", FUNC(input_merger_device::in_w<3>));
// COMM port 4 - 5
MCFG_DEVICE_ADD("uart_2a", NS16450, MASTER_CLOCK / 9)
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, aristmk5_state, uart_irq_callback))
MCFG_DEVICE_ADD("uart_2b", NS16450, MASTER_CLOCK / 9)
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, aristmk5_state, uart_irq_callback))
NS16450(config, "uart_2a", MASTER_CLOCK / 9);
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, FUNC(input_merger_device::in_w<4>));
NS16450(config, "uart_2b", MASTER_CLOCK / 9);
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, FUNC(input_merger_device::in_w<5>));
// COMM port 6 - 7
MCFG_DEVICE_ADD("uart_3a", NS16450, MASTER_CLOCK / 9)
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, aristmk5_state, uart_irq_callback))
MCFG_DEVICE_ADD("uart_3b", NS16450, MASTER_CLOCK / 9)
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, aristmk5_state, uart_irq_callback))
NS16450(config, "uart_3a", MASTER_CLOCK / 9);
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, FUNC(input_merger_device::in_w<6>));
NS16450(config, "uart_3b", MASTER_CLOCK / 9);
// MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, FUNC(input_merger_device::in_w<7>));
MCFG_INPUT_MERGER_ANY_HIGH("uart_irq")
MCFG_INPUT_MERGER_OUTPUT_HANDLER(WRITELINE(*this, aristmk5_state, uart_irq_callback))
@ -2113,8 +2113,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(aristmk5_state::aristmk5_touch)
aristmk5(config);
MCFG_DEVICE_MODIFY("uart_0a")
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
subdevice<ins8250_device>("uart_0a")
->out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
MCFG_MICROTOUCH_ADD("microtouch", 2400, WRITELINE("uart_0a", ins8250_uart_device, rx_w))
MACHINE_CONFIG_END
@ -2127,8 +2127,8 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(aristmk5_state::aristmk5_usa_touch)
aristmk5_usa(config);
MCFG_DEVICE_MODIFY("uart_0a")
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
subdevice<ins8250_device>("uart_0a")
->out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
MCFG_MICROTOUCH_ADD("microtouch", 2400, WRITELINE("uart_0a", ins8250_uart_device, rx_w))
MACHINE_CONFIG_END

View File

@ -756,11 +756,11 @@ MACHINE_CONFIG_START(avigo_state::avigo)
MCFG_DEVICE_IO_MAP(avigo_io)
MCFG_QUANTUM_TIME(attotime::from_hz(60))
MCFG_DEVICE_ADD( "ns16550", NS16550, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, avigo_state, com_interrupt))
NS16550(config, m_uart, XTAL(1'843'200));
m_uart->out_tx_callback().set("serport", FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set("serport", FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(FUNC(avigo_state::com_interrupt));
MCFG_DEVICE_ADD( "serport", RS232_PORT, default_rs232_devices, nullptr )
MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, rx_w))

View File

@ -348,11 +348,11 @@ MACHINE_CONFIG_START(cdc721_state::cdc721)
ledlatch.bit_handler<6>().set_output("prog3").invert();
ledlatch.bit_handler<7>().set_output("dsr").invert();
MCFG_DEVICE_ADD("comuart", INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, cdc721_state, int_w<0>))
MCFG_INS8250_OUT_TX_CB(WRITELINE("comm", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("comm", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("comm", rs232_port_device, write_rts))
ins8250_device &comuart(INS8250(config, "comuart", 1.8432_MHz_XTAL));
comuart.out_int_callback().set(FUNC(cdc721_state::int_w<0>));
comuart.out_tx_callback().set("comm", FUNC(rs232_port_device::write_txd));
comuart.out_dtr_callback().set("comm", FUNC(rs232_port_device::write_dtr));
comuart.out_rts_callback().set("comm", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD("comm", RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE("comuart", ins8250_device, rx_w))
@ -361,18 +361,18 @@ MACHINE_CONFIG_START(cdc721_state::cdc721)
MCFG_RS232_CTS_HANDLER(WRITELINE("comuart", ins8250_device, cts_w))
MCFG_RS232_RI_HANDLER(WRITELINE("comuart", ins8250_device, ri_w))
MCFG_DEVICE_ADD("kbduart", INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, cdc721_state, int_w<5>))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(*this, cdc721_state, foreign_char_bank_w<2>))
//MCFG_INS8250_OUT_RTS_CB(WRITELINE(*this, cdc721_state, alarm_high_low_w))
MCFG_INS8250_OUT_OUT1_CB(WRITELINE(*this, cdc721_state, foreign_char_bank_w<1>))
MCFG_INS8250_OUT_OUT2_CB(WRITELINE(*this, cdc721_state, foreign_char_bank_w<0>))
ins8250_device &kbduart(INS8250(config, "kbduart", 1.8432_MHz_XTAL));
kbduart.out_int_callback().set(FUNC(cdc721_state::int_w<5>));
kbduart.out_dtr_callback().set(FUNC(cdc721_state::foreign_char_bank_w<2>));
//kbduart.out_rts_callback().set(FUNC(cdc721_state::alarm_high_low_w));
kbduart.out_out1_callback().set(FUNC(cdc721_state::foreign_char_bank_w<1>));
kbduart.out_out2_callback().set(FUNC(cdc721_state::foreign_char_bank_w<0>));
MCFG_DEVICE_ADD("pauart", INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_INT_CB(WRITELINE("int2", input_merger_device, in_w<1>))
MCFG_INS8250_OUT_TX_CB(WRITELINE("cha", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("cha", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("cha", rs232_port_device, write_rts))
ins8250_device &pauart(INS8250(config, "pauart", 1.8432_MHz_XTAL));
pauart.out_int_callback().set("int2", FUNC(input_merger_device::in_w<1>));
pauart.out_tx_callback().set("cha", FUNC(rs232_port_device::write_txd));
pauart.out_dtr_callback().set("cha", FUNC(rs232_port_device::write_dtr));
pauart.out_rts_callback().set("cha", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD("cha", RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE("pauart", ins8250_device, rx_w))
@ -381,11 +381,11 @@ MACHINE_CONFIG_START(cdc721_state::cdc721)
MCFG_RS232_CTS_HANDLER(WRITELINE("pauart", ins8250_device, cts_w))
MCFG_RS232_RI_HANDLER(WRITELINE("pauart", ins8250_device, ri_w))
MCFG_DEVICE_ADD("pbuart", INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_INT_CB(WRITELINE("int2", input_merger_device, in_w<0>))
MCFG_INS8250_OUT_TX_CB(WRITELINE("chb", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("chb", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("chb", rs232_port_device, write_rts))
ins8250_device &pbuart(INS8250(config, "pbuart", 1.8432_MHz_XTAL));
pbuart.out_int_callback().set("int2", FUNC(input_merger_device::in_w<0>));
pbuart.out_tx_callback().set("chb", FUNC(rs232_port_device::write_txd));
pbuart.out_dtr_callback().set("chb", FUNC(rs232_port_device::write_dtr));
pbuart.out_rts_callback().set("chb", FUNC(rs232_port_device::write_rts));
MCFG_DEVICE_ADD("chb", RS232_PORT, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(WRITELINE("pbuart", ins8250_device, rx_w))

View File

@ -1223,14 +1223,14 @@ MACHINE_CONFIG_START(firebeat_state::firebeat)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_DEVICE_ADD("duart_com", PC16552D, 0) // pgmd to 9600baud
MCFG_DEVICE_ADD("duart_com:chan0", NS16550, XTAL(19'660'800))
MCFG_DEVICE_ADD("duart_com:chan1", NS16550, XTAL(19'660'800))
MCFG_DEVICE_ADD("duart_midi", PC16552D, 0) // in all memory maps, pgmd to 31250baud
MCFG_DEVICE_ADD("duart_midi:chan0", NS16550, XTAL(24'000'000))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, firebeat_state, midi_uart_ch0_irq_callback))
MCFG_DEVICE_ADD("duart_midi:chan1", NS16550, XTAL(24'000'000))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, firebeat_state, midi_uart_ch1_irq_callback))
PC16552D(config, "duart_com", 0); // pgmd to 9600baud
NS16550(config, "duart_com:chan0", XTAL(19'660'800));
NS16550(config, "duart_com:chan1", XTAL(19'660'800));
PC16552D(config, "duart_midi", 0); // in all memory maps, pgmd to 31250baud
ns16550_device &midi_chan0(NS16550(config, "duart_midi:chan0", XTAL(24'000'000)));
midi_chan0.out_int_callback().set(FUNC(firebeat_state::midi_uart_ch0_irq_callback));
ns16550_device &midi_chan1(NS16550(config, "duart_midi:chan1", XTAL(24'000'000)));
midi_chan1.out_int_callback().set(FUNC(firebeat_state::midi_uart_ch1_irq_callback));
MACHINE_CONFIG_END
MACHINE_CONFIG_START(firebeat_state::firebeat2)
@ -1292,16 +1292,17 @@ MACHINE_CONFIG_START(firebeat_state::firebeat2)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_DEVICE_ADD("duart_com", PC16552D, 0)
MCFG_DEVICE_ADD("duart_com:chan0", NS16550, XTAL(19'660'800))
MCFG_DEVICE_ADD("duart_com:chan1", NS16550, XTAL(19'660'800))
MCFG_DEVICE_ADD("duart_midi", PC16552D, 0)
MCFG_DEVICE_ADD("duart_midi:chan0", NS16550, XTAL(24'000'000))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, firebeat_state, midi_uart_ch0_irq_callback))
MCFG_DEVICE_ADD("duart_midi:chan1", NS16550, XTAL(24'000'000))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, firebeat_state, midi_uart_ch1_irq_callback))
MCFG_MIDI_KBD_ADD("kbd0", WRITELINE("duart_midi:chan0", ins8250_uart_device, rx_w), 31250)
MCFG_MIDI_KBD_ADD("kbd1", WRITELINE("duart_midi:chan1", ins8250_uart_device, rx_w), 31250)
PC16552D(config, "duart_com", 0);
NS16550(config, "duart_com:chan0", XTAL(19'660'800));
NS16550(config, "duart_com:chan1", XTAL(19'660'800));
PC16552D(config, "duart_midi", 0);
ns16550_device &midi_chan0(NS16550(config, "duart_midi:chan0", XTAL(24'000'000)));
midi_chan0.out_int_callback().set(FUNC(firebeat_state::midi_uart_ch0_irq_callback));
ns16550_device &midi_chan1(NS16550(config, "duart_midi:chan1", XTAL(24'000'000)));
midi_chan1.out_int_callback().set(FUNC(firebeat_state::midi_uart_ch1_irq_callback));
MCFG_MIDI_KBD_ADD("kbd0", WRITELINE(midi_chan0, ins8250_uart_device, rx_w), 31250)
MCFG_MIDI_KBD_ADD("kbd1", WRITELINE(midi_chan1, ins8250_uart_device, rx_w), 31250)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(firebeat_state::firebeat_spu)

View File

@ -636,10 +636,10 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc4)
EEPROM_93C46_16BIT(config, "eeprom");
MCFG_DEVICE_ADD("uart", NS16550, 2000000) // actual type is TL16C550CFN; clock unknown
MCFG_INS8250_OUT_INT_CB(INPUTLINE("maincpu", M68K_IRQ_2))
//MCFG_INS8250_OUT_TX_CB(WRITELINE("link", rs232_port_device, write_txd))
//MCFG_INS8250_OUT_RTS_CB(WRITELINE("link", rs232_port_device, write_rts))
NS16550(config, m_uart, 2000000); // actual type is TL16C550CFN; clock unknown
m_uart->out_int_callback().set_inputline("maincpu", M68K_IRQ_2);
//m_uart->out_tx_callback().set("link", FUNC(rs232_port_device::write_txd));
//m_uart->out_rts_callback().set("link", FUNC(rs232_port_device::write_rts));
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "lpalette", gfx_fromancr)

View File

@ -544,8 +544,8 @@ MACHINE_CONFIG_START(h19_state::h19)
MCFG_MC6845_UPDATE_ROW_CB(h19_state, crtc_update_row)
MCFG_MC6845_OUT_VSYNC_CB(INPUTLINE("maincpu", INPUT_LINE_NMI)) // frame pulse
MCFG_DEVICE_ADD("ins8250", INS8250, INS8250_CLOCK)
MCFG_INS8250_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
ins8250_device &uart(INS8250(config, "ins8250", INS8250_CLOCK));
uart.out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0);
MCFG_DEVICE_ADD(KBDC_TAG, MM5740, MM5740_CLOCK)
MCFG_MM5740_MATRIX_X1(IOPORT("X1"))

View File

@ -191,8 +191,8 @@ MACHINE_CONFIG_START(h89_state::h89)
MCFG_DEVICE_PROGRAM_MAP(h89_mem)
MCFG_DEVICE_IO_MAP(h89_io)
MCFG_DEVICE_ADD( "ins8250", INS8250, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
ins8250_device &uart(INS8250(config, "ins8250", XTAL(1'843'200)));
uart.out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
MCFG_DEVICE_ADD(RS232_TAG, RS232_PORT, default_rs232_devices, "terminal")
MCFG_RS232_RXD_HANDLER(WRITELINE("ins8250", ins8250_uart_device, rx_w))

View File

@ -617,11 +617,11 @@ MACHINE_CONFIG_START(pcjr_state::ibmpcjr)
ppi.out_pb_callback().set(FUNC(pcjr_state::pcjr_ppi_portb_w));
ppi.in_pc_callback().set(FUNC(pcjr_state::pcjr_ppi_portc_r));
MCFG_DEVICE_ADD( "ins8250", INS8250, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE("pic8259", pic8259_device, ir3_w))
ins8250_device &uart(INS8250(config, "ins8250", XTAL(1'843'200)));
uart.out_tx_callback().set("serport", FUNC(rs232_port_device::write_txd));
uart.out_dtr_callback().set("serport", FUNC(rs232_port_device::write_dtr));
uart.out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
uart.out_int_callback().set("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))

View File

@ -85,22 +85,13 @@ void imds_state::machine_reset()
m_term_data = 0;
}
//static const ins8250_interface imds_com_interface =
//{
// 1843200,
// DEVCB_NOOP,
// nullptr,
// nullptr,
// nullptr
//};
MACHINE_CONFIG_START(imds_state::imds)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080, 4_MHz_XTAL) // no idea of clock.
MCFG_DEVICE_PROGRAM_MAP(imds_mem)
MCFG_DEVICE_IO_MAP(imds_io)
// MCFG_INS8250_ADD( "ins8250", imds_com_interface )
// INS8250(config, "ins8250", 1843200);
/* video hardware */
MCFG_DEVICE_ADD(m_terminal, GENERIC_TERMINAL, 0)

View File

@ -205,9 +205,11 @@ MACHINE_CONFIG_START(magtouch_state::magtouch)
MCFG_DEVICE_REPLACE("vga", TVGA9000_VGA, 0)
pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
ns16450_device &uart(NS16450(config, "ns16450_0", XTAL(1'843'200)));
uart.out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE("ns16450_0", ins8250_uart_device, rx_w) )
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);

View File

@ -1165,8 +1165,9 @@ MACHINE_CONFIG_START(meritm_state::crt250_crt252_crt258)
MCFG_MACHINE_START_OVERRIDE(meritm_state, crt250_crt252_crt258)
MCFG_DEVICE_ADD(m_uart, NS16550, UART_CLK)
MCFG_INS8250_OUT_TX_CB(WRITELINE(m_microtouch, microtouch_device, rx))
NS16550(config, m_uart, UART_CLK);
m_uart->out_tx_callback().set(m_microtouch, FUNC(microtouch_device::rx));
MCFG_MICROTOUCH_ADD(m_microtouch, 9600, WRITELINE(m_uart, ins8250_uart_device, rx_w))
MCFG_MICROTOUCH_TOUCH_CB(meritm_state, touch_coord_transform)
MACHINE_CONFIG_END
@ -1183,8 +1184,9 @@ MACHINE_CONFIG_START(meritm_state::crt260)
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(1200)) // DS1232, TD connected to VCC
MCFG_MACHINE_START_OVERRIDE(meritm_state, crt260)
MCFG_DEVICE_ADD(m_uart, NS16550, UART_CLK)
MCFG_INS8250_OUT_TX_CB(WRITELINE(m_microtouch, microtouch_device, rx))
NS16550(config, m_uart, UART_CLK);
m_uart->out_tx_callback().set(m_microtouch, FUNC(microtouch_device::rx));
MCFG_MICROTOUCH_ADD(m_microtouch, 9600, WRITELINE(m_uart, ins8250_uart_device, rx_w))
MCFG_MICROTOUCH_TOUCH_CB(meritm_state, touch_coord_transform)
MACHINE_CONFIG_END

View File

@ -226,10 +226,11 @@ MACHINE_CONFIG_START(mtxl_state::at486)
MCFG_SLOT_OPTION_MACHINE_CONFIG("ide", cdrom)
MCFG_DEVICE_ADD("isa1", ISA16_SLOT, 0, "mb:isabus", pc_isa16_cards, "svga_dm", true) // original is a gd-5440
MCFG_DEVICE_ADD("ns16550", NS16550, XTAL(1'843'200))
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(WRITELINE("mb:pic8259_master", pic8259_device, ir4_w))
MCFG_MICROTOUCH_ADD("microtouch", 9600, WRITELINE("ns16550", ins8250_uart_device, rx_w))
ns16550_device &uart(NS16550(config, "ns16550", XTAL(1'843'200)));
uart.out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
uart.out_int_callback().set("mb:pic8259_master", FUNC(pic8259_device::ir4_w));
MCFG_MICROTOUCH_ADD("microtouch", 9600, WRITELINE(uart, ins8250_uart_device, rx_w))
MCFG_DEVICE_ADD("cs4231", AD1848, 0)
MCFG_AD1848_IRQ_CALLBACK(WRITELINE("mb:pic8259_master", pic8259_device, ir5_w))

View File

@ -1216,11 +1216,11 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_base_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_base_state::floppy_formats)
MCFG_DEVICE_ADD(INS8250_TAG, INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(I8259A2_TAG, pic8259_device, ir4_w))
INS8250(config, m_uart, 1.8432_MHz_XTAL);
m_uart->out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(I8259A2_TAG, FUNC(pic8259_device::ir4_w));
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_ack))
@ -1231,11 +1231,11 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
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))
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))
// ISA8 bus
MCFG_DEVICE_ADD(ISA_BUS_TAG, ISA8, 0)
@ -1347,11 +1347,11 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_base_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_base_state::floppy_formats)
MCFG_DEVICE_ADD(INS8250_TAG, INS8250, 1.8432_MHz_XTAL)
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(I8259A2_TAG, pic8259_device, ir4_w))
INS8250(config, m_uart, 1.8432_MHz_XTAL);
m_uart->out_tx_callback().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set(RS232_TAG, FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(I8259A2_TAG, FUNC(pic8259_device::ir4_w));
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_ack))

View File

@ -192,11 +192,12 @@ MACHINE_CONFIG_START(pcat_dyn_state::pcat_dyn)
NVRAM(config, "nvram").set_custom_handler(FUNC(pcat_dyn_state::nvram_init));
MCFG_DEVICE_ADD( "ns16550", NS16550, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
ns16550_device &uart(NS16550(config, "ns16550", XTAL(1'843'200)));
uart.out_tx_callback().set("serport", FUNC(rs232_port_device::write_txd));
uart.out_dtr_callback().set("serport", FUNC(rs232_port_device::write_dtr));
uart.out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
MCFG_DEVICE_ADD( "serport", RS232_PORT, pcat_dyn_com, "msmouse" )
MCFG_SLOT_FIXED(true)
MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, rx_w))

View File

@ -242,10 +242,12 @@ MACHINE_CONFIG_START(pcat_nit_state::pcat_nit)
pcvideo_vga(config);
pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate?
ns16450_device &uart(NS16450(config, "ns16450_0", XTAL(1'843'200)));
uart.out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE(uart, ins8250_uart_device, rx_w) ) // rate?
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
@ -261,10 +263,11 @@ MACHINE_CONFIG_START(pcat_nit_state::bonanza)
pcvideo_cirrus_gd5428(config);
pcat_common(config);
MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("microtouch", microtouch_device, rx))
MCFG_INS8250_OUT_INT_CB(WRITELINE("pic8259_1", pic8259_device, ir4_w))
MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate?
ns16450_device &uart(NS16450(config, "ns16450_0", XTAL(1'843'200)));
uart.out_tx_callback().set("microtouch", FUNC(microtouch_device::rx));
uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w));
MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE(uart, ins8250_uart_device, rx_w) ) // rate?
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END

View File

@ -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_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( "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_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)

View File

@ -921,18 +921,18 @@ MACHINE_CONFIG_START(rex6000_state::rex6000)
ADDRESS_MAP_BANK(config, "bank0").set_map(&rex6000_state::rex6000_banked_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x2000);
ADDRESS_MAP_BANK(config, "bank1").set_map(&rex6000_state::rex6000_banked_map).set_options(ENDIANNESS_LITTLE, 8, 32, 0x2000);
MCFG_DEVICE_ADD( "ns16550", NS16550, XTAL(1'843'200) )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, rex6000_state, serial_irq))
NS16550(config, m_uart, XTAL(1'843'200));
m_uart->out_tx_callback().set("serport", FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set("serport", FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(FUNC(rex6000_state::serial_irq));
MCFG_DEVICE_ADD( "serport", RS232_PORT, default_rs232_devices, nullptr )
MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("ns16550", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("ns16550", ins8250_uart_device, cts_w))
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))
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", rex6000_state, rex6000, "rex,ds2", 0)
@ -971,18 +971,18 @@ MACHINE_CONFIG_START(oz750_state::oz750)
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer1", rex6000_state, irq_timer1, attotime::from_hz(64))
MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer2", rex6000_state, irq_timer2, attotime::from_hz(8192))
MCFG_DEVICE_ADD( "ns16550", NS16550, XTAL(9'830'400) / 4 )
MCFG_INS8250_OUT_TX_CB(WRITELINE("serport", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("serport", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("serport", rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, rex6000_state, serial_irq))
NS16550(config, m_uart, XTAL(9'830'400) / 4);
m_uart->out_tx_callback().set("serport", FUNC(rs232_port_device::write_txd));
m_uart->out_dtr_callback().set("serport", FUNC(rs232_port_device::write_dtr));
m_uart->out_rts_callback().set("serport", FUNC(rs232_port_device::write_rts));
m_uart->out_int_callback().set(FUNC(rex6000_state::serial_irq));
MCFG_DEVICE_ADD( "serport", RS232_PORT, default_rs232_devices, nullptr )
MCFG_RS232_RXD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, rx_w))
MCFG_RS232_DCD_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE("ns16550", ins8250_uart_device, dsr_w))
MCFG_RS232_RI_HANDLER(WRITELINE("ns16550", ins8250_uart_device, ri_w))
//MCFG_RS232_CTS_HANDLER(WRITELINE("ns16550", ins8250_uart_device, cts_w))
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))
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)

View File

@ -387,17 +387,17 @@ MACHINE_CONFIG_START(tv990_state::tv990)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette")
MCFG_DEVICE_ADD( UART0_TAG, NS16450, XTAL(3'686'400) )
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232A_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, tv990_state, uart0_irq))
NS16450(config, m_uart0, XTAL(3'686'400));
m_uart0->out_dtr_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_dtr));
m_uart0->out_rts_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_rts));
m_uart0->out_tx_callback().set(RS232A_TAG, FUNC(rs232_port_device::write_txd));
m_uart0->out_int_callback().set(FUNC(tv990_state::uart0_irq));
MCFG_DEVICE_ADD( UART1_TAG, NS16450, XTAL(3'686'400) )
MCFG_INS8250_OUT_DTR_CB(WRITELINE(RS232B_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE(RS232B_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_TX_CB(WRITELINE(RS232B_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_INT_CB(WRITELINE(*this, tv990_state, uart1_irq))
NS16450(config, m_uart1, XTAL(3'686'400));
m_uart1->out_dtr_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_dtr));
m_uart1->out_rts_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_rts));
m_uart1->out_tx_callback().set(RS232B_TAG, FUNC(rs232_port_device::write_txd));
m_uart1->out_int_callback().set(FUNC(tv990_state::uart1_irq));
MCFG_DEVICE_ADD(LPT_TAG, PC_LPT, 0)
MCFG_PC_LPT_IRQ_HANDLER(WRITELINE(*this, tv990_state, lpt_irq))

View File

@ -1116,10 +1116,10 @@ MACHINE_CONFIG_START(twinkle_state::twinkle)
MCFG_RS232_RI_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, ri_w))
MCFG_RS232_CTS_HANDLER(WRITELINE("fdc37c665gt:uart2", ins8250_uart_device, cts_w))
MCFG_DEVICE_MODIFY("fdc37c665gt:uart2")
MCFG_INS8250_OUT_TX_CB(WRITELINE("rs232", rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(WRITELINE("rs232", rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(WRITELINE("rs232", rs232_port_device, write_rts))
ins8250_device &uart(*subdevice<ins8250_device>("fdc37c665gt:uart2"));
uart.out_tx_callback().set("rs232", FUNC(rs232_port_device::write_txd));
uart.out_dtr_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
uart.out_rts_callback().set("rs232", FUNC(rs232_port_device::write_rts));
/* video hardware */
MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561Q, 0x200000, XTAL(53'693'175) )

View File

@ -302,8 +302,9 @@ MACHINE_CONFIG_START(zrt80_state::zrt80)
MCFG_MC6845_CHAR_WIDTH(8) /*?*/
MCFG_MC6845_UPDATE_ROW_CB(zrt80_state, crtc_update_row)
MCFG_DEVICE_ADD( "ins8250", INS8250, 2457600 )
MCFG_INS8250_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0))
INS8250(config, m_8250, 2457600);
m_8250->out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0);
MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0)
MCFG_GENERIC_KEYBOARD_CB(PUT(zrt80_state, kbd_put))
MACHINE_CONFIG_END