summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-08-17 23:03:40 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-08-17 23:03:40 -0400
commite3314be6162dc463612321c0a893839e7fc87d67 (patch)
tree316e9ae77d7fd928543ed4406f27711c1ca41d9e
parent5a5136079ab80c3af7cfad242c502474013d2dba (diff)
madalien: Soundlatch modernization (nw)
-rw-r--r--src/mame/drivers/madalien.cpp20
-rw-r--r--src/mame/includes/madalien.h2
2 files changed, 4 insertions, 18 deletions
diff --git a/src/mame/drivers/madalien.cpp b/src/mame/drivers/madalien.cpp
index 6586f1144e2..7ca8b8299c8 100644
--- a/src/mame/drivers/madalien.cpp
+++ b/src/mame/drivers/madalien.cpp
@@ -57,20 +57,6 @@ WRITE8_MEMBER(madalien_state::madalien_output_w)
}
-WRITE8_MEMBER(madalien_state::madalien_sound_command_w)
-{
- m_audiocpu->set_input_line(0, ASSERT_LINE);
- m_soundlatch->write(space, offset, data);
-}
-
-
-READ8_MEMBER(madalien_state::madalien_sound_command_r)
-{
- m_audiocpu->set_input_line(0, CLEAR_LINE);
- return m_soundlatch->read(space, offset);
-}
-
-
WRITE8_MEMBER(madalien_state::madalien_portA_w)
{
m_discrete->write(space, MADALIEN_8910_PORTA, data);
@@ -92,7 +78,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, madalien_state )
AM_RANGE(0x8001, 0x8001) AM_MIRROR(0x0ff0) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
AM_RANGE(0x8004, 0x8004) AM_MIRROR(0x0ff0) AM_WRITEONLY AM_SHARE("video_control")
AM_RANGE(0x8005, 0x8005) AM_MIRROR(0x0ff0) AM_WRITE(madalien_output_w)
- AM_RANGE(0x8006, 0x8006) AM_MIRROR(0x0ff0) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) AM_WRITE(madalien_sound_command_w)
+ AM_RANGE(0x8006, 0x8006) AM_MIRROR(0x0ff0) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
AM_RANGE(0x8008, 0x8008) AM_MIRROR(0x07f0) AM_RAM_READ(shift_r) AM_SHARE("shift_hi")
AM_RANGE(0x8009, 0x8009) AM_MIRROR(0x07f0) AM_RAM_READ(shift_rev_r) AM_SHARE("shift_lo")
AM_RANGE(0x800b, 0x800b) AM_MIRROR(0x07f0) AM_WRITEONLY AM_SHARE("video_flags")
@@ -112,7 +98,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, madalien_state )
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x1ffc) AM_RAM /* unknown device in an epoxy block, might be tilt detection */
- AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1ffc) AM_READ(madalien_sound_command_r)
+ AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1ffc) AM_DEVREAD("soundlatch", generic_latch_8_device, read)
AM_RANGE(0x8000, 0x8001) AM_MIRROR(0x1ffc) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
AM_RANGE(0x8002, 0x8002) AM_MIRROR(0x1ffc) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write)
AM_RANGE(0xf800, 0xffff) AM_ROM
@@ -179,6 +165,8 @@ static MACHINE_CONFIG_START( madalien )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
+ MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 0)) // 7400 at 3A used as R/S latch
+
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
MCFG_SOUND_ADD("aysnd", AY8910, SOUND_CLOCK / 4)
diff --git a/src/mame/includes/madalien.h b/src/mame/includes/madalien.h
index c0527dc1db2..8c1f4f74efd 100644
--- a/src/mame/includes/madalien.h
+++ b/src/mame/includes/madalien.h
@@ -56,8 +56,6 @@ public:
DECLARE_READ8_MEMBER(shift_r);
DECLARE_READ8_MEMBER(shift_rev_r);
DECLARE_WRITE8_MEMBER(madalien_output_w);
- DECLARE_WRITE8_MEMBER(madalien_sound_command_w);
- DECLARE_READ8_MEMBER(madalien_sound_command_r);
DECLARE_WRITE8_MEMBER(madalien_videoram_w);
DECLARE_WRITE8_MEMBER(madalien_charram_w);
DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);