summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/amerihok.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/amerihok.cpp')
-rw-r--r--src/mame/drivers/amerihok.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/mame/drivers/amerihok.cpp b/src/mame/drivers/amerihok.cpp
index c690eeee588..2954ad7fd89 100644
--- a/src/mame/drivers/amerihok.cpp
+++ b/src/mame/drivers/amerihok.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:David Haywood
+// copyright-holders:David Haywood, AJR
/*
Ameri-Hockey?
@@ -27,19 +27,31 @@ public:
amerihok_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_oki(*this, "oki")
{ }
virtual void machine_start() override;
virtual void machine_reset() override;
+ DECLARE_WRITE8_MEMBER(control_w);
+
required_device<cpu_device> m_maincpu;
+ required_device<okim6376_device> m_oki;
};
+WRITE8_MEMBER(amerihok_state::control_w)
+{
+ m_oki->st_w(!BIT(data, 4));
+ m_oki->ch2_w(!BIT(data, 7));
+}
+
static ADDRESS_MAP_START(amerihok_map, AS_PROGRAM, 8, amerihok_state)
AM_RANGE(0x0000, 0xffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START(amerihok_data_map, AS_DATA, 8, amerihok_state)
+ AM_RANGE(0x2000, 0x2000) AM_WRITE(control_w)
+ AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("oki", okim6376_device, write)
ADDRESS_MAP_END
static INPUT_PORTS_START( amerihok )
@@ -82,4 +94,4 @@ ROM_START( amerihok )
ROM_LOAD( "airh-u10", 0x80000, 0x40000, CRC(71ee6421) SHA1(10131fc7c009158308c4a8bb2b037101622c07a1) )
ROM_END
-GAME( 199?, amerihok, 0, amerihok, amerihok, driver_device, 0, ROT0, "Ameri", "Ameri-Hockey", MACHINE_IS_SKELETON_MECHANICAL )
+GAME( 199?, amerihok, 0, amerihok, amerihok, amerihok_state, 0, ROT0, "Ameri", "Ameri-Hockey", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND )