summaryrefslogtreecommitdiffstats
path: root/src/mess/drivers/horizon.c
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2013-12-22 16:27:05 +0000
committer smf- <smf-@users.noreply.github.com>2013-12-22 16:27:05 +0000
commit6c3f17c5956faefd2f1dc026468db2da03eee2bc (patch)
tree275f9cacd98df9821ae9e0e2a2ff4d155a4df358 /src/mess/drivers/horizon.c
parentb4c7b67ff9a1b12dd414502864cee66628b3bd19 (diff)
replaced read rx/cts/dcd callbacks in I8251 with write handlers, which allows multiple chips to be connected together without using glue methods. [smf]
Diffstat (limited to 'src/mess/drivers/horizon.c')
-rw-r--r--src/mess/drivers/horizon.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mess/drivers/horizon.c b/src/mess/drivers/horizon.c
index 68748d5a8c1..166a97fa092 100644
--- a/src/mess/drivers/horizon.c
+++ b/src/mess/drivers/horizon.c
@@ -103,9 +103,7 @@ INPUT_PORTS_END
static const i8251_interface usart_l_intf =
{
- DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, rx),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, serial_port_device, tx),
- DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dsr_r),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, dtr_w),
DEVCB_DEVICE_LINE_MEMBER(RS232_A_TAG, rs232_port_device, rts_w),
DEVCB_NULL,
@@ -121,9 +119,7 @@ static const i8251_interface usart_l_intf =
static const i8251_interface usart_r_intf =
{
- DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, rx),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, serial_port_device, tx),
- DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dsr_r),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, dtr_w),
DEVCB_DEVICE_LINE_MEMBER(RS232_B_TAG, rs232_port_device, rts_w),
DEVCB_NULL,
@@ -192,9 +188,15 @@ static MACHINE_CONFIG_START( horizon, horizon_state )
// devices
MCFG_I8251_ADD(I8251_L_TAG, usart_l_intf)
MCFG_I8251_ADD(I8251_R_TAG, usart_r_intf)
+
MCFG_RS232_PORT_ADD(RS232_A_TAG, default_rs232_devices, "serial_terminal")
+ MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx))
+ MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_L_TAG, i8251_device, write_rx))
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("serial_terminal", terminal)
+
MCFG_RS232_PORT_ADD(RS232_B_TAG, default_rs232_devices, NULL)
+ MCFG_SERIAL_OUT_RX_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx))
+ MCFG_RS232_OUT_DSR_HANDLER(DEVWRITELINE(I8251_R_TAG, i8251_device, write_rx))
// S-100
MCFG_S100_BUS_ADD(s100_intf)