mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
replaced read rx callback in MC2661 with a write handler, which allows multiple chips to be connected together without using glue methods. [smf]
This commit is contained in:
parent
409a4b02d7
commit
1aa3f4c200
@ -129,7 +129,6 @@ void mc2661_device::device_config_complete()
|
||||
// or initialize to defaults if none provided
|
||||
else
|
||||
{
|
||||
memset(&m_in_rxd_cb, 0, sizeof(m_in_rxd_cb));
|
||||
memset(&m_out_txd_cb, 0, sizeof(m_out_txd_cb));
|
||||
memset(&m_out_rxrdy_cb, 0, sizeof(m_out_rxrdy_cb));
|
||||
memset(&m_out_txrdy_cb, 0, sizeof(m_out_txrdy_cb));
|
||||
@ -149,7 +148,6 @@ void mc2661_device::device_config_complete()
|
||||
void mc2661_device::device_start()
|
||||
{
|
||||
// resolve callbacks
|
||||
m_in_rxd_func.resolve(m_in_rxd_cb, *this);
|
||||
m_out_txd_func.resolve(m_out_txd_cb, *this);
|
||||
m_out_rxrdy_func.resolve(m_out_rxrdy_cb, *this);
|
||||
m_out_txrdy_func.resolve(m_out_txrdy_cb, *this);
|
||||
@ -242,10 +240,7 @@ void mc2661_device::tra_complete()
|
||||
|
||||
void mc2661_device::rcv_callback()
|
||||
{
|
||||
if (m_in_rxd_func.isnull())
|
||||
receive_register_update_bit(m_signal);
|
||||
else
|
||||
receive_register_update_bit(m_in_rxd_func());
|
||||
receive_register_update_bit(m_signal);
|
||||
}
|
||||
|
||||
|
||||
|
@ -60,7 +60,6 @@ struct mc2661_interface
|
||||
int m_rxc;
|
||||
int m_txc;
|
||||
|
||||
devcb_read_line m_in_rxd_cb;
|
||||
devcb_write_line m_out_txd_cb;
|
||||
|
||||
devcb_write_line m_out_rxrdy_cb;
|
||||
|
@ -963,7 +963,6 @@ static MC2661_INTERFACE( epci_intf )
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx),
|
||||
DEVCB_DRIVER_LINE_MEMBER(wangpc_state, epci_irq_w),
|
||||
DEVCB_NULL,
|
||||
@ -1192,7 +1191,10 @@ static MACHINE_CONFIG_START( wangpc, wangpc_state )
|
||||
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(UPD765_TAG ":1", wangpc_floppies, "525dd", wangpc_state::floppy_formats)
|
||||
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, centronics_intf)
|
||||
|
||||
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
|
||||
MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(SCN2661_TAG,mc2661_device,rx_w))
|
||||
|
||||
MCFG_WANGPC_KEYBOARD_ADD()
|
||||
|
||||
// bus
|
||||
|
@ -444,7 +444,6 @@ static mc2661_interface wicat_uart0_intf =
|
||||
{
|
||||
19200, // RXC
|
||||
19200, // TXC
|
||||
DEVCB_NULL, // RXD in
|
||||
DEVCB_DEVICE_LINE_MEMBER("videouart0",mc2661_device, rx_w), // TXD out
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL, // TXRDY out
|
||||
@ -460,7 +459,6 @@ static mc2661_interface wicat_uart1_intf =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial1", serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial1", serial_port_device, tx),
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL,
|
||||
@ -475,7 +473,6 @@ static mc2661_interface wicat_uart2_intf =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial2", serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial2", serial_port_device, tx),
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL,
|
||||
@ -490,7 +487,6 @@ static mc2661_interface wicat_uart3_intf =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial3", serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial3", serial_port_device, tx),
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL,
|
||||
@ -505,7 +501,6 @@ static mc2661_interface wicat_uart4_intf =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial4", serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial4", serial_port_device, tx),
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL,
|
||||
@ -520,7 +515,6 @@ static mc2661_interface wicat_uart5_intf =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial5", serial_port_device, rx),
|
||||
DEVCB_DEVICE_LINE_MEMBER("serial5", serial_port_device, tx),
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL,
|
||||
@ -536,7 +530,6 @@ static mc2661_interface wicat_uart6_intf =
|
||||
{
|
||||
0, // RXC
|
||||
0, // TXC
|
||||
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, rx), // RXD in
|
||||
DEVCB_NULL, //DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, serial_port_device, tx), // RXD out
|
||||
DEVCB_CPU_INPUT_LINE("maincpu",M68K_IRQ_2), // RXRDY out
|
||||
DEVCB_NULL, // TXRDY out
|
||||
@ -552,7 +545,6 @@ static mc2661_interface wicat_video_uart0_intf =
|
||||
{
|
||||
19200, // RXC
|
||||
19200, // TXC
|
||||
DEVCB_NULL, // RXD in
|
||||
DEVCB_DEVICE_LINE_MEMBER("uart0",mc2661_device, rx_w), // RXD out
|
||||
DEVCB_CPU_INPUT_LINE("videocpu",INPUT_LINE_IRQ0), // RXRDY out
|
||||
DEVCB_NULL, // TXRDY out
|
||||
@ -567,7 +559,6 @@ static mc2661_interface wicat_video_uart1_intf =
|
||||
{
|
||||
19200, // RXC
|
||||
19200, // TXC
|
||||
DEVCB_NULL, // RXD in
|
||||
DEVCB_NULL, // RXD out
|
||||
DEVCB_CPU_INPUT_LINE("videocpu",INPUT_LINE_IRQ0), // RXRDY out
|
||||
DEVCB_NULL, // TXRDY out
|
||||
|
Loading…
Reference in New Issue
Block a user