From 4f56d21643a366dbd6840f5315266414e222809d Mon Sep 17 00:00:00 2001 From: angelosa Date: Mon, 4 Sep 2017 14:06:38 +0200 Subject: vicdual.cpp: Added sound samples to Borderline [Angelo Salese, Corrado Tomaselli] --- src/mame/audio/vicdual.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'src/mame/audio/vicdual.cpp') diff --git a/src/mame/audio/vicdual.cpp b/src/mame/audio/vicdual.cpp index 941d5e368b0..e49c35cfb81 100644 --- a/src/mame/audio/vicdual.cpp +++ b/src/mame/audio/vicdual.cpp @@ -577,3 +577,56 @@ DISCRETE_SOUND_START(brdrline) DISCRETE_SOUND_END #endif + +static const char *const brdrline_sample_names[] = +{ + "*brdrline", + "boot_and_start", + "coin", + "crashes", + "end_level", + "engine_noise", + "field", + "fire", + nullptr +}; + + +MACHINE_CONFIG_START( brdrline_audio ) + MCFG_SOUND_ADD("samples", SAMPLES, 0) + MCFG_SAMPLES_CHANNELS(7) + MCFG_SAMPLES_NAMES(brdrline_sample_names) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35) +MACHINE_CONFIG_END + +WRITE8_MEMBER( vicdual_state::brdrline_audio_w ) +{ + uint8_t res = data ^ 0xff; + +// if(res & 2) // low fuel, MISSING + + if(res & 8) // end level + m_samples->start(3, 3); + + if(res & 0x10) // moving in the brush + m_samples->start(5, 5); + + if(res & 0x20) // fire + m_samples->start(6, 6); + + if(res & 0x40) // car engine noise + m_samples->start(4, 4); + + if(res & 0x80) // crashes + m_samples->start(2, 2); + + //printf("%02x\n",res); +} + +WRITE8_MEMBER( vicdual_state::brdrline_audio_aux_w ) +{ + if(data & 0xfc) // coin, unknown which is the trigger + m_samples->start(1, 1); + else // boot sample + m_samples->start(0, 0); +} -- cgit v1.2.3