summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ss50/mps2.cpp
diff options
context:
space:
mode:
author 68bit <info@68bit.org>2019-10-16 16:47:20 +1100
committer 68bit <info@68bit.org>2019-10-16 16:47:20 +1100
commitde879f69eb93b321eaa5577a2c66de3347332d18 (patch)
treeb8cef2523fed3e46a14a16d46832db81fa2f93f7 /src/devices/bus/ss50/mps2.cpp
parent151f5fca2555be797ee45ab01bd226d8c71eae0e (diff)
SWTPC MP-S2: connect up the RS232 control lines
At least some of these are required for operation with terminals. For example the SWTPC 8212 terminal uses DTR to CTS for hardware flow control, and that is needed even at 9600 baud.
Diffstat (limited to 'src/devices/bus/ss50/mps2.cpp')
-rw-r--r--src/devices/bus/ss50/mps2.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/devices/bus/ss50/mps2.cpp b/src/devices/bus/ss50/mps2.cpp
index 7211aea1e3e..30bdd9e5a64 100644
--- a/src/devices/bus/ss50/mps2.cpp
+++ b/src/devices/bus/ss50/mps2.cpp
@@ -134,20 +134,24 @@ void ss50_mps2_device::device_add_mconfig(machine_config &config)
{
ACIA6850(config, m_acia_upper, 0);
m_acia_upper->txd_handler().set("rs232_upper", FUNC(rs232_port_device::write_txd));
- //m_acia_upper->rts_handler().set(FUNC(ss50_mps2_device::reader_control_w));
+ m_acia_upper->rts_handler().set("rs232_upper", FUNC(rs232_port_device::write_rts));
m_acia_upper->irq_handler().set("irq", FUNC(input_merger_device::in_w<0>));
rs232_port_device &rs232_upper(RS232_PORT(config, "rs232_upper", default_rs232_devices, "terminal"));
rs232_upper.rxd_handler().set(m_acia_upper, FUNC(acia6850_device::write_rxd));
+ rs232_upper.cts_handler().set(m_acia_upper, FUNC(acia6850_device::write_cts));
+ rs232_upper.dcd_handler().set(m_acia_upper, FUNC(acia6850_device::write_dcd));
rs232_upper.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal_upper));
ACIA6850(config, m_acia_lower, 0);
m_acia_lower->txd_handler().set("rs232_lower", FUNC(rs232_port_device::write_txd));
- //m_acia_lower->rts_handler().set(FUNC(ss50_mps2_device::reader_control_w));
+ m_acia_lower->rts_handler().set("rs232_lower", FUNC(rs232_port_device::write_rts));
m_acia_lower->irq_handler().set("irq", FUNC(input_merger_device::in_w<1>));
rs232_port_device &rs232_lower(RS232_PORT(config, "rs232_lower", default_rs232_devices, "terminal"));
rs232_lower.rxd_handler().set(m_acia_lower, FUNC(acia6850_device::write_rxd));
+ rs232_lower.cts_handler().set(m_acia_lower, FUNC(acia6850_device::write_cts));
+ rs232_lower.dcd_handler().set(m_acia_lower, FUNC(acia6850_device::write_dcd));
rs232_lower.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal_lower));
INPUT_MERGER_ANY_HIGH(config, "irq").output_handler().set(FUNC(ss50_mps2_device::write_irq));