diff --git a/src/emu/machine/mos6551.c b/src/emu/machine/mos6551.c index 1ad74f3dafc..63436791ddd 100644 --- a/src/emu/machine/mos6551.c +++ b/src/emu/machine/mos6551.c @@ -345,6 +345,16 @@ void mos6551_device::set_rxc(int clock) } +//------------------------------------------------- +// rxd_w - receive data write +//------------------------------------------------- + +WRITE_LINE_MEMBER( mos6551_device::rxd_w ) +{ + check_for_start(state); +} + + //------------------------------------------------- // rxc_w - receive clock write //------------------------------------------------- diff --git a/src/emu/machine/mos6551.h b/src/emu/machine/mos6551.h index 879311059a2..1736d61c2bb 100644 --- a/src/emu/machine/mos6551.h +++ b/src/emu/machine/mos6551.h @@ -76,6 +76,7 @@ public: DECLARE_READ8_MEMBER( read ); DECLARE_WRITE8_MEMBER( write ); + DECLARE_WRITE_LINE_MEMBER( rxd_w ); DECLARE_WRITE_LINE_MEMBER( rxc_w ); DECLARE_WRITE_LINE_MEMBER( cts_w ); DECLARE_WRITE_LINE_MEMBER( dsr_w ); diff --git a/src/mess/machine/c64_swiftlink.c b/src/mess/machine/c64_swiftlink.c index 536181f1fd4..de64c3e2a91 100644 --- a/src/mess/machine/c64_swiftlink.c +++ b/src/mess/machine/c64_swiftlink.c @@ -42,11 +42,11 @@ SLOT_INTERFACE_END static const rs232_port_interface rs232_intf = { + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, rxd_w), + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dcd_w), + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dsr_w), DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, cts_w) }; @@ -56,6 +56,7 @@ static const rs232_port_interface rs232_intf = static MACHINE_CONFIG_FRAGMENT( c64_swiftlink ) MCFG_MOS6551_ADD(MOS6551_TAG, XTAL_3_6864MHz, DEVWRITELINE(DEVICE_SELF, c64_swiftlink_cartridge_device, acia_irq_w)) + MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, rs232_devices, NULL, NULL) MACHINE_CONFIG_END diff --git a/src/mess/machine/c64_turbo232.c b/src/mess/machine/c64_turbo232.c index 6b8e9fd2c60..917323883e3 100644 --- a/src/mess/machine/c64_turbo232.c +++ b/src/mess/machine/c64_turbo232.c @@ -42,11 +42,11 @@ SLOT_INTERFACE_END static const rs232_port_interface rs232_intf = { + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, rxd_w), + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dcd_w), + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, dsr_w), DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL, - DEVCB_NULL + DEVCB_DEVICE_LINE_MEMBER(MOS6551_TAG, mos6551_device, cts_w) }; @@ -56,6 +56,7 @@ static const rs232_port_interface rs232_intf = static MACHINE_CONFIG_FRAGMENT( c64_turbo232 ) MCFG_MOS6551_ADD(MOS6551_TAG, XTAL_3_6864MHz, DEVWRITELINE(DEVICE_SELF, c64_turbo232_cartridge_device, acia_irq_w)) + MCFG_MOS6551_RXD_TXD_CALLBACKS(NULL, DEVWRITELINE(RS232_TAG, rs232_port_device, tx)) MCFG_RS232_PORT_ADD(RS232_TAG, rs232_intf, rs232_devices, NULL, NULL) MACHINE_CONFIG_END