et3400: Add reset key

This commit is contained in:
AJR 2017-11-27 12:40:45 -05:00
parent 4a81ecd8c1
commit 26017a2c25

View File

@ -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<cpu_device> m_maincpu;
required_device<pia6821_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