summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/wacky_gator.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/wacky_gator.c')
-rw-r--r--src/mame/drivers/wacky_gator.c160
1 files changed, 80 insertions, 80 deletions
diff --git a/src/mame/drivers/wacky_gator.c b/src/mame/drivers/wacky_gator.c
index 99a4eecf47a..da8376248e4 100644
--- a/src/mame/drivers/wacky_gator.c
+++ b/src/mame/drivers/wacky_gator.c
@@ -36,39 +36,39 @@
class wackygtr_state : public driver_device
{
public:
- wackygtr_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_msm(*this, "msm"),
- m_maincpu(*this, "maincpu")
- { }
-
- UINT8* m_samples;
- int m_adpcm_data;
- int m_adpcm_pos;
- int m_adpcm_length;
-
- required_device<msm5205_device> m_msm;
- required_device<cpu_device> m_maincpu;
- DECLARE_DRIVER_INIT(wackygtr);
-
- INTERRUPT_GEN_MEMBER(wackygtr_interrupt);
- DECLARE_WRITE_LINE_MEMBER(adpcm_int);
- DECLARE_READ8_MEMBER(_0x6000_r);
- DECLARE_READ8_MEMBER(_0x6001_r);
- DECLARE_READ8_MEMBER(_0x6002_r);
- DECLARE_READ8_MEMBER(_0x71d0_r);
- DECLARE_READ8_MEMBER(_0x71d5_r);
- DECLARE_WRITE8_MEMBER(sample_pos_w);
- DECLARE_WRITE8_MEMBER(sample_length_w);
+ wackygtr_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_msm(*this, "msm"),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ UINT8* m_samples;
+ int m_adpcm_data;
+ int m_adpcm_pos;
+ int m_adpcm_length;
+
+ required_device<msm5205_device> m_msm;
+ required_device<cpu_device> m_maincpu;
+ DECLARE_DRIVER_INIT(wackygtr);
+
+ INTERRUPT_GEN_MEMBER(wackygtr_interrupt);
+ DECLARE_WRITE_LINE_MEMBER(adpcm_int);
+ DECLARE_READ8_MEMBER(_0x6000_r);
+ DECLARE_READ8_MEMBER(_0x6001_r);
+ DECLARE_READ8_MEMBER(_0x6002_r);
+ DECLARE_READ8_MEMBER(_0x71d0_r);
+ DECLARE_READ8_MEMBER(_0x71d5_r);
+ DECLARE_WRITE8_MEMBER(sample_pos_w);
+ DECLARE_WRITE8_MEMBER(sample_length_w);
};
DRIVER_INIT_MEMBER(wackygtr_state, wackygtr)
{
- m_adpcm_data = -1;
- m_adpcm_pos = 0;
- m_adpcm_length = 0;
- m_samples = memregion("oki")->base();
+ m_adpcm_data = -1;
+ m_adpcm_pos = 0;
+ m_adpcm_length = 0;
+ m_samples = memregion("oki")->base();
}
/*
@@ -76,23 +76,23 @@ DRIVER_INIT_MEMBER(wackygtr_state, wackygtr)
* and may be completely wrong, so should not yet be understood as hardware documentation.
*/
READ8_MEMBER(wackygtr_state::_0x6000_r){
- return 0x00;
+ return 0x00;
}
READ8_MEMBER(wackygtr_state::_0x6001_r){
- return 0x00;
+ return 0x00;
}
READ8_MEMBER(wackygtr_state::_0x6002_r){
- return 0x00;
+ return 0x00;
}
READ8_MEMBER(wackygtr_state::_0x71d0_r){
- return 0;
+ return 0;
}
READ8_MEMBER(wackygtr_state::_0x71d5_r){
- return 0xFF;
+ return 0xFF;
}
/* The handling of sample playback is also guessed.
@@ -100,79 +100,79 @@ READ8_MEMBER(wackygtr_state::_0x71d5_r){
* better understand how this is actually hooked up on the original boards;
*/
WRITE8_MEMBER(wackygtr_state::sample_pos_w){
- m_adpcm_pos = (m_adpcm_pos & 0xFF) << 8 | (data & 0xFF);
+ m_adpcm_pos = (m_adpcm_pos & 0xFF) << 8 | (data & 0xFF);
}
WRITE8_MEMBER(wackygtr_state::sample_length_w){
- m_adpcm_length = (m_adpcm_length & 0xFF) << 8 | (data & 0xFF);
+ m_adpcm_length = (m_adpcm_length & 0xFF) << 8 | (data & 0xFF);
}
static INPUT_PORTS_START( wackygtr )
- PORT_START("INP0")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_START("INP0")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
WRITE_LINE_MEMBER(wackygtr_state::adpcm_int)
-{
+{
/* This looks almost correct, but I am not yet completely sure. */
- if (m_adpcm_length > 0)
- {
- m_adpcm_length--;
- if (m_adpcm_data == -1)
- {
- /* transferring 1st nibble */
- m_adpcm_data = m_samples[m_adpcm_pos];
- m_adpcm_pos = (m_adpcm_pos + 1) & 0xffff;
- m_msm->data_w((m_adpcm_data >> 4) & 0xf);
- }
- else
- {
- /* transferring 2nd nibble */
- m_msm->data_w(m_adpcm_data & 0x0f);
- m_adpcm_data = -1;
- }
- }
+ if (m_adpcm_length > 0)
+ {
+ m_adpcm_length--;
+ if (m_adpcm_data == -1)
+ {
+ /* transferring 1st nibble */
+ m_adpcm_data = m_samples[m_adpcm_pos];
+ m_adpcm_pos = (m_adpcm_pos + 1) & 0xffff;
+ m_msm->data_w((m_adpcm_data >> 4) & 0xf);
+ }
+ else
+ {
+ /* transferring 2nd nibble */
+ m_msm->data_w(m_adpcm_data & 0x0f);
+ m_adpcm_data = -1;
+ }
+ }
}
static ADDRESS_MAP_START( program_map, AS_PROGRAM, 8, wackygtr_state )
- AM_RANGE(0x3000, 0x3000) AM_WRITE(sample_length_w)
- AM_RANGE(0x3001, 0x3001) AM_WRITE(sample_pos_w)
- AM_RANGE(0x6000, 0x6000) AM_READ(_0x6000_r) /* guessed hw peripheral address */
- AM_RANGE(0x6001, 0x6001) AM_READ(_0x6001_r) /* guessed hw peripheral address */
- AM_RANGE(0x6002, 0x6002) AM_READ(_0x6002_r) /* guessed hw peripheral address */
- AM_RANGE(0x71d0, 0x71d0) AM_READ(_0x71d0_r) /* guessed hw peripheral address */
- AM_RANGE(0x71d5, 0x71d5) AM_READ(_0x71d5_r) /* guessed hw peripheral address */
- AM_RANGE(0x7000, 0x7fff) AM_RAM
- AM_RANGE(0x8000, 0xffff) AM_ROM
+ AM_RANGE(0x3000, 0x3000) AM_WRITE(sample_length_w)
+ AM_RANGE(0x3001, 0x3001) AM_WRITE(sample_pos_w)
+ AM_RANGE(0x6000, 0x6000) AM_READ(_0x6000_r) /* guessed hw peripheral address */
+ AM_RANGE(0x6001, 0x6001) AM_READ(_0x6001_r) /* guessed hw peripheral address */
+ AM_RANGE(0x6002, 0x6002) AM_READ(_0x6002_r) /* guessed hw peripheral address */
+ AM_RANGE(0x71d0, 0x71d0) AM_READ(_0x71d0_r) /* guessed hw peripheral address */
+ AM_RANGE(0x71d5, 0x71d5) AM_READ(_0x71d5_r) /* guessed hw peripheral address */
+ AM_RANGE(0x7000, 0x7fff) AM_RAM
+ AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
static MACHINE_CONFIG_START( wackygtr, wackygtr_state )
- MCFG_CPU_ADD("maincpu", M6809E, XTAL_8MHz)
- MCFG_CPU_PROGRAM_MAP(program_map)
+ MCFG_CPU_ADD("maincpu", M6809E, XTAL_8MHz)
+ MCFG_CPU_PROGRAM_MAP(program_map)
- /* Video */
+ /* Video */
// MCFG_DEFAULT_LAYOUT(layout_wackygtr)
- /* Sound */
- MCFG_SPEAKER_STANDARD_MONO("mono")
- MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz )
- MCFG_MSM5205_VCLK_CB(WRITELINE(wackygtr_state, adpcm_int)) /* IRQ handler */
- MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S48_4B) /* 8 KHz, 4 Bits */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+ /* Sound */
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+ MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz )
+ MCFG_MSM5205_VCLK_CB(WRITELINE(wackygtr_state, adpcm_int)) /* IRQ handler */
+ MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S48_4B) /* 8 KHz, 4 Bits */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
- /* I have a hunch that this board may also
- * contain a YM2151 sound chip for background music...
- */
+ /* I have a hunch that this board may also
+ * contain a YM2151 sound chip for background music...
+ */
MACHINE_CONFIG_END
ROM_START( wackygtr )
- ROM_REGION(0x10000, "maincpu", 0)
- ROM_LOAD("wp3-pr0.4d", 0x8000, 0x8000, CRC(71ca4437) SHA1(c7d948c5593e6053fd0a65601f6c06871f5861f0))
+ ROM_REGION(0x10000, "maincpu", 0)
+ ROM_LOAD("wp3-pr0.4d", 0x8000, 0x8000, CRC(71ca4437) SHA1(c7d948c5593e6053fd0a65601f6c06871f5861f0))
- ROM_REGION(0x10000, "oki", 0)
- ROM_LOAD("wp3-vo0.2h", 0x0000, 0x10000, CRC(91c7986f) SHA1(bc9fa0d41c1caa0f909a349f511d022b7e42c6cd))
+ ROM_REGION(0x10000, "oki", 0)
+ ROM_LOAD("wp3-vo0.2h", 0x0000, 0x10000, CRC(91c7986f) SHA1(bc9fa0d41c1caa0f909a349f511d022b7e42c6cd))
ROM_END
GAME(1990, wackygtr, 0, wackygtr, wackygtr, wackygtr_state, wackygtr, ROT0, "Data East", "Wacky Gator", MACHINE_IS_SKELETON_MECHANICAL)