diff options
Diffstat (limited to 'src/mame/apple/mac128.cpp')
| -rw-r--r-- | src/mame/apple/mac128.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mame/apple/mac128.cpp b/src/mame/apple/mac128.cpp index cda2867745c..f2a67a97c70 100644 --- a/src/mame/apple/mac128.cpp +++ b/src/mame/apple/mac128.cpp @@ -93,6 +93,7 @@ Scanline 0 is the start of vblank. #include "bus/macpds/pds_tpdfpd.h" #include "bus/nscsi/cd.h" #include "bus/nscsi/devices.h" +#include "bus/rs232/rs232.h" #include "cpu/m68000/m68000.h" #include "machine/6522via.h" #include "machine/iwm.h" @@ -1188,6 +1189,18 @@ void mac128_state::mac512ke(machine_config &config) SCC85C30(config, m_scc, C7M); m_scc->configure_channels(C3_7M, 0, C3_7M, 0); m_scc->out_int_callback().set(FUNC(mac128_state::set_scc_interrupt)); + m_scc->out_txda_callback().set("modem", FUNC(rs232_port_device::write_txd)); + m_scc->out_txdb_callback().set("printer", FUNC(rs232_port_device::write_txd)); + + rs232_port_device &rs232a(RS232_PORT(config, "modem", default_rs232_devices, nullptr)); + rs232a.rxd_handler().set(m_scc, FUNC(z80scc_device::rxa_w)); + rs232a.dcd_handler().set(m_scc, FUNC(z80scc_device::dcda_w)); + rs232a.cts_handler().set(m_scc, FUNC(z80scc_device::ctsa_w)); + + rs232_port_device &rs232b(RS232_PORT(config, "printer", default_rs232_devices, nullptr)); + rs232b.rxd_handler().set(m_scc, FUNC(z80scc_device::rxb_w)); + rs232b.dcd_handler().set(m_scc, FUNC(z80scc_device::dcdb_w)); + rs232b.cts_handler().set(m_scc, FUNC(z80scc_device::ctsb_w)); MOS6522(config, m_via, C7M/10); m_via->readpa_handler().set(FUNC(mac128_state::mac_via_in_a)); |
