Previous 199869 Revisions Next

r31000 Monday 16th June, 2014 at 21:57:15 UTC by Sandro Ronco
segajw: added preliminary sound. (nw)
[src/mame/drivers]segajw.c

trunk/src/mame/drivers/segajw.c
r30999r31000
2323#include "cpu/m68000/m68000.h"
2424#include "cpu/z80/z80.h"
2525#include "machine/nvram.h"
26#include "sound/2612intf.h"
2627#include "video/h63484.h"
2728#include "video/ramdac.h"
2829
r30999r31000
3233   segajw_state(const machine_config &mconfig, device_type type, const char *tag)
3334      : driver_device(mconfig, type, tag),
3435         m_maincpu(*this, "maincpu"),
35         m_palette(*this, "palette")
36         m_audiocpu(*this, "audiocpu")
3637   { }
3738
3839   DECLARE_READ16_MEMBER(coin_counter_r);
r30999r31000
4142   DECLARE_WRITE16_MEMBER(hopper_w);
4243   DECLARE_READ16_MEMBER(coinlockout_r);
4344   DECLARE_WRITE16_MEMBER(coinlockout_w);
44   DECLARE_READ16_MEMBER(soundboard_r);
45   DECLARE_WRITE8_MEMBER(audiocpu_cmd_w);
4546   DECLARE_INPUT_CHANGED_MEMBER(coin_drop_start);
4647   DECLARE_CUSTOM_INPUT_MEMBER(coin_sensors_r);
4748   DECLARE_CUSTOM_INPUT_MEMBER(hopper_sensors_r);
r30999r31000
5051
5152   // devices
5253   required_device<cpu_device> m_maincpu;
53   required_device<palette_device> m_palette;
54   required_device<cpu_device> m_audiocpu;
5455
5556   // driver_device overrides
5657   virtual void machine_start();
r30999r31000
99100   m_coin_lockout = data;
100101}
101102
102
103READ16_MEMBER(segajw_state::soundboard_r)
103WRITE8_MEMBER(segajw_state::audiocpu_cmd_w)
104104{
105   // TODO: to replace with proper sound emulation
106   return 0xfff0;  // value expected for pass the sound board test
105   soundlatch_byte_w(space, 0, data);
106   m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
107107}
108108
109109INPUT_CHANGED_MEMBER( segajw_state::coin_drop_start )
r30999r31000
161161   AM_RANGE(0x080002, 0x080003) AM_DEVREADWRITE("hd63484", h63484_device, data_r, data_w)
162162
163163   AM_RANGE(0x180000, 0x180001) AM_READ_PORT("DSW0")
164   AM_RANGE(0x180004, 0x180005) AM_READ(soundboard_r)
164   AM_RANGE(0x180004, 0x180005) AM_READWRITE8(soundlatch2_byte_r, audiocpu_cmd_w, 0x00ff)
165165   AM_RANGE(0x180008, 0x180009) AM_READ_PORT("DSW1")
166166   AM_RANGE(0x18000a, 0x18000b) AM_READ_PORT("DSW3")
167167   AM_RANGE(0x18000c, 0x18000d) AM_READ_PORT("DSW2")
168168
169169   AM_RANGE(0x1a0000, 0x1a0001) AM_WRITE(coin_counter_w)
170   AM_RANGE(0x1a0002, 0x1a0005) AM_NOP // TODO: lamps
170171   AM_RANGE(0x1a0006, 0x1a0007) AM_READWRITE(hopper_r, hopper_w)
171172   AM_RANGE(0x1a000a, 0x1a000b) AM_READ(coin_counter_r)
172173
r30999r31000
192193
193194static ADDRESS_MAP_START( segajw_audiocpu_io_map, AS_IO, 8, segajw_state )
194195   ADDRESS_MAP_GLOBAL_MASK(0xff)
196   AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ymsnd", ym3438_device, read, write)
197   AM_RANGE(0xc0, 0xc0) AM_READWRITE(soundlatch_byte_r, soundlatch2_byte_w)
195198ADDRESS_MAP_END
196199
197200static ADDRESS_MAP_START( segajw_hd63484_map, AS_0, 16, segajw_state )
r30999r31000
365368   MCFG_CPU_ADD("maincpu",M68000,8000000) // unknown clock
366369   MCFG_CPU_PROGRAM_MAP(segajw_map)
367370   MCFG_CPU_VBLANK_INT_DRIVER("screen", segajw_state, irq4_line_hold)
368   MCFG_CPU_PERIODIC_INT_DRIVER(segajw_state, irq5_line_hold, 300)    // FIXME: unknown source, but vblank is too slow
369371
370372   MCFG_CPU_ADD("audiocpu", Z80, 4000000) // unknown clock
371373   MCFG_CPU_PROGRAM_MAP(segajw_audiocpu_map)
372374   MCFG_CPU_IO_MAP(segajw_audiocpu_io_map)
373   MCFG_DEVICE_DISABLE()
374375
376   MCFG_QUANTUM_TIME(attotime::from_hz(2000))
377
375378   MCFG_NVRAM_ADD_NO_FILL("nvram")
376379
377380   /* video hardware */
r30999r31000
390393
391394   /* sound hardware */
392395   MCFG_SPEAKER_STANDARD_MONO("mono")
393//  MCFG_SOUND_ADD("aysnd", AY8910, MAIN_CLOCK/4) /* guess */
394//  MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
396   MCFG_SOUND_ADD("ymsnd", YM3438, 8000000)   // unknown clock
397   MCFG_YM2612_IRQ_HANDLER(INPUTLINE("maincpu", 5))
398   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
395399MACHINE_CONFIG_END
396400
397401/***************************************************************************

Previous 199869 Revisions Next


© 1997-2024 The MAME Team