1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles,Ernesto Corvi
3 #include "emu.h"
4 #include "audio/cliffhgr.h"
5 
6 
7 #define CLIFF_ENABLE_SND_1  NODE_01
8 #define CLIFF_ENABLE_SND_2  NODE_02
9 
10 static const discrete_555_desc desc_cliffhgr_555 =
11 {
12 	DISC_555_OUT_ENERGY | DISC_555_OUT_DC,
13 	5,  /* B+ voltage of 555 */
14 	DEFAULT_555_VALUES
15 };
16 
17 static const discrete_mixer_desc desc_cliffhgr_mixer =
18 {
19 	DISC_MIXER_IS_RESISTOR,
20 	{ 1.0/(1.0/RES_K(4.7)+1.0/RES_K(10))+RES_K(10), 1.0/(1.0/RES_K(5.1)+1.0/RES_K(12))+RES_K(10) },
21 	{ 0, 0 },
22 	{ CAP_U(4.7), CAP_U(4.7) },
23 	0,
24 	RES_K(10),
25 	0,
26 	CAP_U(4.7),
27 	0,
28 	8
29 };
30 
31 
32 DISCRETE_SOUND_START(cliffhgr_discrete)
33 	DISCRETE_INPUT_LOGIC(CLIFF_ENABLE_SND_1)
34 	DISCRETE_INPUT_LOGIC(CLIFF_ENABLE_SND_2)
35 
36 	DISCRETE_555_ASTABLE(NODE_03, 1, RES_K(24), RES_K(10), CAP_U(0.047), &desc_cliffhgr_555)
37 	DISCRETE_555_ASTABLE(NODE_04, 1, RES_K(24), RES_K(10), CAP_U(0.1), &desc_cliffhgr_555)
38 
39 	DISCRETE_ONOFF(NODE_05,CLIFF_ENABLE_SND_1,NODE_03)
40 	DISCRETE_ONOFF(NODE_06,CLIFF_ENABLE_SND_2,NODE_04)
41 
42 	DISCRETE_RCFILTER(NODE_07,NODE_05,1.0/(1.0/RES_K(4.7)+1.0/RES_K(10)), CAP_U(0.1))
43 	DISCRETE_RCFILTER(NODE_08,NODE_06,1.0/(1.0/RES_K(5.1)+1.0/RES_K(12)), CAP_U(0.1))
44 
45 	DISCRETE_GAIN(NODE_09,NODE_07,RES_K(10)/(RES_K(4.7)+RES_K(10)))
46 	DISCRETE_GAIN(NODE_10,NODE_08,RES_K(12)/(RES_K(5.1)+RES_K(12)))
47 
48 	DISCRETE_MIXER2(NODE_11,1,NODE_09,NODE_10,&desc_cliffhgr_mixer)
49 
50 //  DISCRETE_WAVELOG1(NODE_11,32767/9)
51 //  DISCRETE_WAVELOG2(CLIFF_ENABLE_SND_1,1000,NODE_09,1000)
52 //  DISCRETE_WAVELOG2(CLIFF_ENABLE_SND_2,1000,NODE_10,1000)
53 	DISCRETE_OUTPUT(NODE_11,32767/9)
54 DISCRETE_SOUND_END
55