Previous 199869 Revisions Next

r34116 Wednesday 31st December, 2014 at 01:41:25 UTC by Alex W. Jackson
zaccaria.c: kill some trampolines (nw)
[src/mame/drivers]zaccaria.c
[src/mame/includes]zaccaria.h

trunk/src/mame/drivers/zaccaria.c
r242627r242628
4141#include "cpu/z80/z80.h"
4242#include "cpu/m6800/m6800.h"
4343#include "machine/i8255.h"
44#include "sound/dac.h"
4445#include "includes/zaccaria.h"
4546
4647
r242627r242628
115116   m_ay2->set_volume(1, v);
116117}
117118
118
119WRITE_LINE_MEMBER(zaccaria_state::irq0a)
120{
121   m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
122}
123
124WRITE_LINE_MEMBER(zaccaria_state::irq0b)
125{
126   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
127}
128
129119READ8_MEMBER(zaccaria_state::port0a_r)
130120{
131121   return (m_active_8910 == 0) ? m_ay1->data_r(space, 0) : m_ay2->data_r(space, 0);
r242627r242628
168158
169159INTERRUPT_GEN_MEMBER(zaccaria_state::cb1_toggle)
170160{
171   m_pia->cb1_w(m_toggle & 1);
161   m_pia0->cb1_w(m_toggle & 1);
172162   m_toggle ^= 1;
173163}
174164
r242627r242628
195185
196186WRITE8_MEMBER(zaccaria_state::sound1_command_w)
197187{
198   m_pia->ca1_w(data & 0x80);
188   m_pia0->ca1_w(data & 0x80);
199189   soundlatch2_byte_w(space, 0, data);
200190}
201191
202WRITE8_MEMBER(zaccaria_state::mc1408_data_w)
203{
204   m_dac2->write_unsigned8(data);
205}
206
207
208192GAME_EXTERN(monymony);
209193
210194READ8_MEMBER(zaccaria_state::prot1_r)
r242627r242628
331315static ADDRESS_MAP_START( sound_map_2, AS_PROGRAM, 8, zaccaria_state )
332316   AM_RANGE(0x0000, 0x007f) AM_RAM /* 6802 internal ram */
333317   AM_RANGE(0x0090, 0x0093) AM_DEVREADWRITE("pia1", pia6821_device, read, write) AM_MIRROR(0x8F6C)
334   AM_RANGE(0x1000, 0x1000) AM_WRITE(mc1408_data_w) AM_MIRROR(0x83FF) /* MC1408 */
318   AM_RANGE(0x1000, 0x1000) AM_DEVWRITE("mc1408", dac_device, write_unsigned8) AM_MIRROR(0x83FF) /* MC1408 */
335319   AM_RANGE(0x1400, 0x1400) AM_WRITE(sound1_command_w) AM_MIRROR(0xC3FF)
336320   AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_byte_r) AM_MIRROR(0xC3FF)
337321   AM_RANGE(0x2000, 0x2fff) AM_ROM AM_MIRROR(0x8000) // rom 8 with A12 low
r242627r242628
541525   MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, port0a_r))
542526   MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, port0a_w))
543527   MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, port0b_w))
544   MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, irq0a))
545   MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, irq0b))
528   MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("audiocpu", m6802_cpu_device, nmi_line))
529   MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("audiocpu", m6802_cpu_device, irq_line))
546530
547531   MCFG_DEVICE_ADD( "pia1", PIA6821, 0)
548532   MCFG_PIA_READPA_HANDLER(DEVREAD8("tms", tms5220_device, status_r))
r242627r242628
574558   MCFG_SOUND_ADD("ay2", AY8910, XTAL_3_579545MHz/2) /* verified on pcb */
575559   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
576560
577   MCFG_DAC_ADD("dac2")
561   MCFG_DAC_ADD("mc1408")
578562   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
579563
580564   /* There is no xtal, the clock is obtained from a RC oscillator as shown in the TMS5220 datasheet (R=100kOhm C=22pF) */
trunk/src/mame/includes/zaccaria.h
r242627r242628
11#include "machine/6821pia.h"
22#include "sound/ay8910.h"
3#include "sound/dac.h"
43#include "sound/tms5220.h"
54
65class zaccaria_state : public driver_device
r242627r242628
98   zaccaria_state(const machine_config &mconfig, device_type type, const char *tag)
109      : driver_device(mconfig, type, tag),
1110      m_maincpu(*this, "maincpu"),
12      m_audiocpu(*this, "audiocpu"),
1311      m_audio2(*this, "audio2"),
14      m_pia(*this, "pia0"),
15      m_dac2(*this, "dac2"),
12      m_pia0(*this, "pia0"),
1613      m_ay1(*this, "ay1"),
1714      m_ay2(*this, "ay2"),
1815      m_tms(*this, "tms"),
r242627r242628
2825   
2926   /* devices */
3027   required_device<cpu_device> m_maincpu;
31   required_device<cpu_device> m_audiocpu;
3228   required_device<cpu_device> m_audio2;
33   required_device<pia6821_device> m_pia;
34   required_device<dac_device> m_dac2;
29   required_device<pia6821_device> m_pia0;
3530   required_device<ay8910_device> m_ay1;
3631   required_device<ay8910_device> m_ay2;
3732   required_device<tms5220_device> m_tms;
r242627r242628
6964   DECLARE_CUSTOM_INPUT_MEMBER(acs_r);
7065   DECLARE_WRITE8_MEMBER(dsw_sel_w);
7166   DECLARE_WRITE8_MEMBER(ay8910_port0a_w);
72   DECLARE_WRITE_LINE_MEMBER(irq0a);
73   DECLARE_WRITE_LINE_MEMBER(irq0b);
7467   DECLARE_READ8_MEMBER(port0a_r);
7568   DECLARE_WRITE8_MEMBER(port0a_w);
7669   DECLARE_WRITE8_MEMBER(port0b_w);
7770   DECLARE_WRITE8_MEMBER(port1b_w);
78   DECLARE_WRITE8_MEMBER(mc1408_data_w);
7971   TILE_GET_INFO_MEMBER(get_tile_info);
8072   virtual void machine_start();
8173   virtual void machine_reset();


Previous 199869 Revisions Next


© 1997-2024 The MAME Team