summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/apple/mac128.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/apple/mac128.cpp')
-rw-r--r--src/mame/apple/mac128.cpp13
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));