summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/avalnche.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/audio/avalnche.cpp')
-rw-r--r--src/mame/audio/avalnche.cpp38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/mame/audio/avalnche.cpp b/src/mame/audio/avalnche.cpp
index 8040ea4c734..6d01a99077d 100644
--- a/src/mame/audio/avalnche.cpp
+++ b/src/mame/audio/avalnche.cpp
@@ -5,8 +5,20 @@
audio\avalnche.c
*************************************************************************/
+
#include "emu.h"
#include "includes/avalnche.h"
+#include "machine/74259.h"
+#include "sound/discrete.h"
+#include "speaker.h"
+
+
+/* Avalanche Discrete Sound Input Nodes */
+#define AVALNCHE_AUD0_EN NODE_01
+#define AVALNCHE_AUD1_EN NODE_02
+#define AVALNCHE_AUD2_EN NODE_03
+#define AVALNCHE_SOUNDLVL_DATA NODE_04
+#define AVALNCHE_ATTRACT_EN NODE_05
/***************************************************************************
@@ -43,7 +55,7 @@ static const discrete_lfsr_desc avalnche_lfsr={
#define AVALNCHE_AUD2_SND NODE_12
#define AVALNCHE_SOUNDLVL_AUD0_SND NODE_13
-DISCRETE_SOUND_START(avalnche)
+static DISCRETE_SOUND_START(avalnche)
/************************************************/
/* avalnche Effects Relataive Gain Table */
/* */
@@ -91,6 +103,30 @@ DISCRETE_SOUND_START(avalnche)
DISCRETE_SOUND_END
+MACHINE_CONFIG_START( avalnche_sound )
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+
+ MCFG_SOUND_ADD("discrete", DISCRETE, 0)
+ MCFG_DISCRETE_INTF(avalnche)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+
+ MCFG_DEVICE_MODIFY("latch")
+ MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(DEVWRITELINE("discrete", discrete_device, write_line<AVALNCHE_ATTRACT_EN>))
+ MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(DEVWRITELINE("discrete", discrete_device, write_line<AVALNCHE_AUD0_EN>))
+ MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(DEVWRITELINE("discrete", discrete_device, write_line<AVALNCHE_AUD1_EN>))
+ MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(DEVWRITELINE("discrete", discrete_device, write_line<AVALNCHE_AUD2_EN>))
+MACHINE_CONFIG_END
+
+
+MACHINE_CONFIG_START( catch_sound ) // just a stub here...
+ MCFG_DEVICE_MODIFY("latch")
+ MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(NOOP) // It is attract_enable just like avalnche, but not hooked up yet.
+ MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(avalnche_state, catch_aud0_w))
+ MCFG_ADDRESSABLE_LATCH_Q5_OUT_CB(WRITELINE(avalnche_state, catch_aud1_w))
+ MCFG_ADDRESSABLE_LATCH_Q6_OUT_CB(WRITELINE(avalnche_state, catch_aud2_w))
+MACHINE_CONFIG_END
+
+
/***************************************************************************
Catch memory audio output handlers
***************************************************************************/