summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Alex W. Jackson <alex.w.jackson@gmail.com>2014-12-30 20:41:25 -0500
committer Alex W. Jackson <alex.w.jackson@gmail.com>2014-12-30 20:41:25 -0500
commit93bb9a37be17add379bce2dd51544d065256537f (patch)
tree3eb063e1d174e3e5b16ef2279a534fe5991f403f
parentb328aebce8a170a114e5dc55a9694d16713c7829 (diff)
zaccaria.c: kill some trampolines (nw)
-rw-r--r--src/mame/drivers/zaccaria.c30
-rw-r--r--src/mame/includes/zaccaria.h12
2 files changed, 9 insertions, 33 deletions
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 18280228bed..a883e7b6e81 100644
--- a/src/mame/drivers/zaccaria.c
+++ b/src/mame/drivers/zaccaria.c
@@ -41,6 +41,7 @@ Notes:
#include "cpu/z80/z80.h"
#include "cpu/m6800/m6800.h"
#include "machine/i8255.h"
+#include "sound/dac.h"
#include "includes/zaccaria.h"
@@ -115,17 +116,6 @@ WRITE8_MEMBER(zaccaria_state::ay8910_port0a_w)
m_ay2->set_volume(1, v);
}
-
-WRITE_LINE_MEMBER(zaccaria_state::irq0a)
-{
- m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
-}
-
-WRITE_LINE_MEMBER(zaccaria_state::irq0b)
-{
- m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
-}
-
READ8_MEMBER(zaccaria_state::port0a_r)
{
return (m_active_8910 == 0) ? m_ay1->data_r(space, 0) : m_ay2->data_r(space, 0);
@@ -168,7 +158,7 @@ WRITE8_MEMBER(zaccaria_state::port0b_w)
INTERRUPT_GEN_MEMBER(zaccaria_state::cb1_toggle)
{
- m_pia->cb1_w(m_toggle & 1);
+ m_pia0->cb1_w(m_toggle & 1);
m_toggle ^= 1;
}
@@ -195,16 +185,10 @@ WRITE8_MEMBER(zaccaria_state::sound_command_w)
WRITE8_MEMBER(zaccaria_state::sound1_command_w)
{
- m_pia->ca1_w(data & 0x80);
+ m_pia0->ca1_w(data & 0x80);
soundlatch2_byte_w(space, 0, data);
}
-WRITE8_MEMBER(zaccaria_state::mc1408_data_w)
-{
- m_dac2->write_unsigned8(data);
-}
-
-
GAME_EXTERN(monymony);
READ8_MEMBER(zaccaria_state::prot1_r)
@@ -331,7 +315,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map_2, AS_PROGRAM, 8, zaccaria_state )
AM_RANGE(0x0000, 0x007f) AM_RAM /* 6802 internal ram */
AM_RANGE(0x0090, 0x0093) AM_DEVREADWRITE("pia1", pia6821_device, read, write) AM_MIRROR(0x8F6C)
- AM_RANGE(0x1000, 0x1000) AM_WRITE(mc1408_data_w) AM_MIRROR(0x83FF) /* MC1408 */
+ AM_RANGE(0x1000, 0x1000) AM_DEVWRITE("mc1408", dac_device, write_unsigned8) AM_MIRROR(0x83FF) /* MC1408 */
AM_RANGE(0x1400, 0x1400) AM_WRITE(sound1_command_w) AM_MIRROR(0xC3FF)
AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_byte_r) AM_MIRROR(0xC3FF)
AM_RANGE(0x2000, 0x2fff) AM_ROM AM_MIRROR(0x8000) // rom 8 with A12 low
@@ -541,8 +525,8 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state )
MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, port0a_r))
MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, port0a_w))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, port0b_w))
- MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, irq0a))
- MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, irq0b))
+ MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("audiocpu", m6802_cpu_device, nmi_line))
+ MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("audiocpu", m6802_cpu_device, irq_line))
MCFG_DEVICE_ADD( "pia1", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(DEVREAD8("tms", tms5220_device, status_r))
@@ -574,7 +558,7 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state )
MCFG_SOUND_ADD("ay2", AY8910, XTAL_3_579545MHz/2) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
- MCFG_DAC_ADD("dac2")
+ MCFG_DAC_ADD("mc1408")
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
/* There is no xtal, the clock is obtained from a RC oscillator as shown in the TMS5220 datasheet (R=100kOhm C=22pF) */
diff --git a/src/mame/includes/zaccaria.h b/src/mame/includes/zaccaria.h
index c83a6dd23f8..e271f12fd37 100644
--- a/src/mame/includes/zaccaria.h
+++ b/src/mame/includes/zaccaria.h
@@ -1,6 +1,5 @@
#include "machine/6821pia.h"
#include "sound/ay8910.h"
-#include "sound/dac.h"
#include "sound/tms5220.h"
class zaccaria_state : public driver_device
@@ -9,10 +8,8 @@ public:
zaccaria_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
- m_audiocpu(*this, "audiocpu"),
m_audio2(*this, "audio2"),
- m_pia(*this, "pia0"),
- m_dac2(*this, "dac2"),
+ m_pia0(*this, "pia0"),
m_ay1(*this, "ay1"),
m_ay2(*this, "ay2"),
m_tms(*this, "tms"),
@@ -28,10 +25,8 @@ public:
/* devices */
required_device<cpu_device> m_maincpu;
- required_device<cpu_device> m_audiocpu;
required_device<cpu_device> m_audio2;
- required_device<pia6821_device> m_pia;
- required_device<dac_device> m_dac2;
+ required_device<pia6821_device> m_pia0;
required_device<ay8910_device> m_ay1;
required_device<ay8910_device> m_ay2;
required_device<tms5220_device> m_tms;
@@ -69,13 +64,10 @@ public:
DECLARE_CUSTOM_INPUT_MEMBER(acs_r);
DECLARE_WRITE8_MEMBER(dsw_sel_w);
DECLARE_WRITE8_MEMBER(ay8910_port0a_w);
- DECLARE_WRITE_LINE_MEMBER(irq0a);
- DECLARE_WRITE_LINE_MEMBER(irq0b);
DECLARE_READ8_MEMBER(port0a_r);
DECLARE_WRITE8_MEMBER(port0a_w);
DECLARE_WRITE8_MEMBER(port0b_w);
DECLARE_WRITE8_MEMBER(port1b_w);
- DECLARE_WRITE8_MEMBER(mc1408_data_w);
TILE_GET_INFO_MEMBER(get_tile_info);
virtual void machine_start();
virtual void machine_reset();