amerihok: Add preliminary inputs

This commit is contained in:
AJR 2019-03-24 20:18:01 -04:00
parent cdde287597
commit fb9e4823f4

View File

@ -39,15 +39,16 @@ private:
virtual void machine_start() override;
virtual void machine_reset() override;
DECLARE_WRITE8_MEMBER(control_w);
void control_w(u8 data);
u8 p3_r();
required_device<cpu_device> m_maincpu;
required_device<z8_device> m_maincpu;
required_device<okim6376_device> m_oki;
void amerihok_data_map(address_map &map);
void amerihok_map(address_map &map);
};
WRITE8_MEMBER(amerihok_state::control_w)
void amerihok_state::control_w(u8 data)
{
m_oki->st_w(!BIT(data, 4));
m_oki->ch2_w(!BIT(data, 7));
@ -60,11 +61,38 @@ void amerihok_state::amerihok_map(address_map &map)
void amerihok_state::amerihok_data_map(address_map &map)
{
map(0x1000, 0x1000).portr("1000");
map(0x2000, 0x2000).w(FUNC(amerihok_state::control_w));
map(0x3000, 0x3000).portr("3000");
map(0x4000, 0x4000).w(m_oki, FUNC(okim6376_device::write));
}
static INPUT_PORTS_START( amerihok )
PORT_START("1000")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_CODE(KEYCODE_Z)
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_CODE(KEYCODE_X)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_CODE(KEYCODE_C)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_CODE(KEYCODE_V)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON5) PORT_CODE(KEYCODE_B)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_BUTTON6) PORT_CODE(KEYCODE_N)
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_BUTTON7) PORT_CODE(KEYCODE_M)
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_BUTTON8) PORT_CODE(KEYCODE_COMMA)
PORT_START("3000")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_A) PORT_NAME("Score Visitor")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_S) PORT_NAME("Score Home")
PORT_BIT(0xfc, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_START("P2")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_BUTTON9) PORT_CODE(KEYCODE_STOP)
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON10) PORT_CODE(KEYCODE_SLASH)
PORT_BIT(0xee, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_START("P3")
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_CUSTOM) PORT_READ_LINE_DEVICE_MEMBER("oki", okim6376_device, busy_r)
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_COIN1)
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_COIN2)
INPUT_PORTS_END
@ -83,6 +111,8 @@ void amerihok_state::amerihok(machine_config &config)
Z8681(config, m_maincpu, 12_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &amerihok_state::amerihok_map);
m_maincpu->set_addrmap(AS_DATA, &amerihok_state::amerihok_data_map);
m_maincpu->p2_in_cb().set_ioport("P2");
m_maincpu->p3_in_cb().set_ioport("P3");
/* sound hardware */
SPEAKER(config, "mono").front_center();