From 26017a2c253dc2aabd34706e91cc4b17359b940c Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 27 Nov 2017 12:40:45 -0500 Subject: [PATCH] et3400: Add reset key --- src/mame/drivers/et3400.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mame/drivers/et3400.cpp b/src/mame/drivers/et3400.cpp index 4481aed35dd..e581889261b 100644 --- a/src/mame/drivers/et3400.cpp +++ b/src/mame/drivers/et3400.cpp @@ -51,6 +51,7 @@ public: DECLARE_WRITE8_MEMBER(pia_aw); DECLARE_READ8_MEMBER(pia_br); DECLARE_WRITE8_MEMBER(pia_bw); + DECLARE_WRITE_LINE_MEMBER(reset_key_w); private: required_device m_maincpu; required_device m_pia; @@ -128,6 +129,12 @@ static ADDRESS_MAP_START(mem_map, AS_PROGRAM, 8, et3400_state) AM_RANGE( 0xfc00, 0xffff ) AM_ROM AM_REGION("roms", 0x1000) ADDRESS_MAP_END +WRITE_LINE_MEMBER(et3400_state::reset_key_w) +{ + // delivered through MC6875 (or 74LS241 on ET-3400A) + m_maincpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); +} + /* Input ports */ static INPUT_PORTS_START( et3400 ) PORT_START("X0") @@ -145,8 +152,7 @@ static INPUT_PORTS_START( et3400 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("8 SS") PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("5 CC") PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("2 ACCB") PORT_CODE(KEYCODE_2) PORT_CHAR('2') - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') - PORT_BIT( 0xc0, 0xc0, IPT_UNUSED ) + PORT_BIT( 0xe0, 0xe0, IPT_UNUSED ) PORT_START("X2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F FWD") PORT_CODE(KEYCODE_F) PORT_CHAR('F') @@ -165,6 +171,9 @@ static INPUT_PORTS_START( et3400 ) PORT_DIPSETTING( 0x06, "2400" ) PORT_DIPSETTING( 0x04, "4800" ) PORT_DIPSETTING( 0x02, "9600" ) + + PORT_START("RESET") // RESET is directly below 2, but electrically separate from key matrix + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("RESET") PORT_CODE(KEYCODE_STOP) PORT_WRITE_LINE_DEVICE_MEMBER(DEVICE_SELF, et3400_state, reset_key_w) INPUT_PORTS_END