summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/rainbow.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/rainbow.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/rainbow.c')
-rw-r--r--src/mess/drivers/rainbow.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/mess/drivers/rainbow.c b/src/mess/drivers/rainbow.c
index c0b87294a32..57ef93b8a3b 100644
--- a/src/mess/drivers/rainbow.c
+++ b/src/mess/drivers/rainbow.c
@@ -272,9 +272,6 @@ public:
DECLARE_READ8_MEMBER(system_parameter_r);
- DECLARE_READ_LINE_MEMBER(dsr_r);
-
- DECLARE_READ_LINE_MEMBER(kbd_rx);
DECLARE_WRITE_LINE_MEMBER(kbd_tx);
DECLARE_WRITE_LINE_MEMBER(kbd_rxready_w);
DECLARE_WRITE_LINE_MEMBER(kbd_txready_w);
@@ -510,6 +507,7 @@ static INPUT_PORTS_START( rainbow100b_in )
PORT_DIPNAME( 0x02, 0x02, "W13 (FACTORY TEST A, LEAVE OFF)") PORT_TOGGLE
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
PORT_START("W14")
PORT_DIPNAME( 0x04, 0x04, "W14 (FACTORY TEST B, LEAVE OFF)") PORT_TOGGLE
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
@@ -523,6 +521,7 @@ static INPUT_PORTS_START( rainbow100b_in )
PORT_DIPNAME( 0x01, 0x00, "W18 (FACTORY TEST D, LEAVE OFF) (8251A: DSR)") PORT_TOGGLE
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_WRITE_LINE_DEVICE_MEMBER("kbdser", i8251_device, write_dsr)
// J17 jumper on FDC controller board shifts drive select (experimental) -
PORT_START("FLOPPY CONTROLLER")
@@ -1119,11 +1118,6 @@ WRITE8_MEMBER( rainbow_state::diagnostic_w )
}
-READ_LINE_MEMBER(rainbow_state::dsr_r)
-{
- return m_inp4->read(); // W18 (1/0)
-}
-
// KEYBOARD
void rainbow_state::update_kbd_irq()
{
@@ -1138,12 +1132,6 @@ void rainbow_state::update_kbd_irq()
}
-READ_LINE_MEMBER(rainbow_state::kbd_rx)
-{
-// printf("read keyboard\n");
- return 0x00;
-}
-
WRITE_LINE_MEMBER(rainbow_state::kbd_tx)
{
// printf("%02x to keyboard\n", state);
@@ -1246,9 +1234,7 @@ static const floppy_interface floppy_intf =
static const i8251_interface i8251_intf =
{
- DEVCB_DRIVER_LINE_MEMBER(rainbow_state, kbd_rx), // rxd in
DEVCB_DRIVER_LINE_MEMBER(rainbow_state, kbd_tx), // txd out
- DEVCB_DRIVER_LINE_MEMBER(rainbow_state, dsr_r), // dsr
DEVCB_NULL, // dtr
DEVCB_NULL, // rts
DEVCB_DRIVER_LINE_MEMBER(rainbow_state, kbd_rxready_w),