summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-08-24 00:28:45 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-08-24 00:28:45 -0400
commit10bfa8f9feee4dcd627a2c603b7769fac75d7700 (patch)
tree99001e2edb433f8e47b98c8dbfad9544c5ec6f15
parent9c798ba67a4a39a99167e3c1c087471d1f2b06ee (diff)
dec0.cpp: Soundlatch partial modernization (nw)
-rw-r--r--src/mame/drivers/dec0.cpp30
-rw-r--r--src/mame/includes/dec0.h1
2 files changed, 4 insertions, 27 deletions
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index 719b9cbbd10..8b9ebc431ee 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -360,10 +360,7 @@ WRITE16_MEMBER(dec0_state::dec0_control_w)
case 4: /* 6502 sound cpu */
if (ACCESSING_BITS_0_7)
- {
m_soundlatch->write(space, 0, data & 0xff);
- m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- }
break;
case 6: /* Intel 8751 microcontroller - Bad Dudes, Heavy Barrel, Birdy Try only */
@@ -423,30 +420,10 @@ WRITE16_MEMBER(dec0_automat_state::automat_control_w)
}
}
-WRITE16_MEMBER(dec0_state::slyspy_control_w)
-{
- switch (offset << 1)
- {
- case 0:
- if (ACCESSING_BITS_0_7)
- {
- m_soundlatch->write(space, 0, data & 0xff);
- m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- }
- break;
- case 2:
- dec0_priority_w(space, 0, data, mem_mask);
- break;
- }
-}
-
WRITE16_MEMBER(dec0_state::midres_sound_w)
{
if (ACCESSING_BITS_0_7)
- {
m_soundlatch->write(space, 0, data & 0xff);
- m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- }
}
/******************************************************************************/
@@ -625,7 +602,8 @@ static ADDRESS_MAP_START( slyspy_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x304000, 0x307fff) AM_RAM AM_SHARE("ram") /* Sly spy main ram */
AM_RANGE(0x308000, 0x3087ff) AM_RAM AM_SHARE("spriteram") /* Sprites */
AM_RANGE(0x310000, 0x3107ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x314000, 0x314003) AM_WRITE(slyspy_control_w)
+ AM_RANGE(0x314000, 0x314001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
+ AM_RANGE(0x314002, 0x314003) AM_WRITE(dec0_priority_w)
AM_RANGE(0x314008, 0x31400f) AM_READ(slyspy_controls_r)
AM_RANGE(0x31c000, 0x31c00f) AM_READ(slyspy_protection_r) AM_WRITENOP
ADDRESS_MAP_END
@@ -639,7 +617,7 @@ static ADDRESS_MAP_START( midres_map, AS_PROGRAM, 16, dec0_state )
AM_RANGE(0x160000, 0x160001) AM_WRITE(dec0_priority_w)
AM_RANGE(0x180000, 0x18000f) AM_READ(midres_controls_r)
AM_RANGE(0x180008, 0x18000f) AM_WRITENOP /* ?? watchdog ?? */
- AM_RANGE(0x1a0000, 0x1a0001) AM_WRITE(midres_sound_w)
+ AM_RANGE(0x1a0000, 0x1a0001) AM_DEVWRITE8("soundlatch", generic_latch_8_device, write, 0x00ff)
AM_RANGE(0x200000, 0x200007) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control_0_w)
AM_RANGE(0x200010, 0x200017) AM_DEVWRITE("tilegen2", deco_bac06_device, pf_control_1_w)
@@ -1479,6 +1457,7 @@ static MACHINE_CONFIG_START( dec0_base )
MCFG_DECO_MXC06_GFXDECODE("gfxdecode")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
+ MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( dec0, dec0_base )
@@ -1849,7 +1828,6 @@ static MACHINE_CONFIG_DERIVED( midresb, midres )
MCFG_CPU_PROGRAM_MAP(dec0_s_map)
MCFG_CPU_ADD("mcu", M68705R3, XTAL_3_579545MHz)
- MCFG_DEVICE_DISABLE()
MCFG_SOUND_MODIFY("ym2")
MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h
index 415ccb58174..7a784509308 100644
--- a/src/mame/includes/dec0.h
+++ b/src/mame/includes/dec0.h
@@ -64,7 +64,6 @@ public:
uint16_t m_pri;
DECLARE_WRITE16_MEMBER(dec0_control_w);
- DECLARE_WRITE16_MEMBER(slyspy_control_w);
DECLARE_WRITE16_MEMBER(midres_sound_w);
DECLARE_READ16_MEMBER(slyspy_controls_r);
DECLARE_READ16_MEMBER(slyspy_protection_r);