1 // license:CC0
2 // copyright-holders:Aaron Giles
3 
4 //
5 // Netlist for Frogs
6 //
7 // Derived from the schematics in the Frogs manual.
8 //
9 // Known problems/issues:
10 //
11 //    * Croak sound should have a little bit more tonality.
12 //
13 //    * Performance work needed
14 //
15 
16 #include "netlist/devices/net_lib.h"
17 #include "nl_frogs.h"
18 
19 
20 //
21 // Optimizations
22 //
23 
24 #define ENABLE_FRONTIERS (1)
25 #define UNDERCLOCK_NOISE_GEN (1)
26 
27 
28 
29 //
30 // Hacks
31 //
32 
33 
34 
35 //
36 // Main netlist
37 //
38 
39 #define D_1N914(name) DIODE(name, "1N914")
40 
41 #define Q_2N4401(name) QBJT_EB(name, "2N4401")
42 #define Q_2N4403(name) QBJT_EB(name, "2N4403")
43 
44 // JFET transistors not supported, but this should do the trick
45 #define Q_2N4093(name) MOSFET(name, "NMOS(VTO=-1 CAPMOD=0)")
46 
47 #define LM741_DIP UA741_DIP8
48 
49 NETLIST_START(frogs)
50 
51 	SOLVER(Solver, 1000)
52 	PARAM(Solver.DYNAMIC_TS, 1)
53 	PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 4e-6)
54 
55 	TTL_INPUT(I_SOUND_0, 0)
56 	TTL_INPUT(I_SOUND_1, 0)
57 	TTL_INPUT(I_SOUND_2, 0)
58 	TTL_INPUT(I_SOUND_3, 0)
59 	TTL_INPUT(I_SOUND_4, 0)
60 	TTL_INPUT(I_SOUND_5, 0)
61 	TTL_INPUT(I_SOUND_6, 0)
62 	TTL_INPUT(I_SOUND_7, 0)
63 
64 	NET_C(GND, I_SOUND_0.GND, I_SOUND_1.GND, I_SOUND_2.GND, I_SOUND_3.GND, I_SOUND_4.GND, I_SOUND_5.GND, I_SOUND_6.GND, I_SOUND_7.GND)
65 	NET_C(I_V5, I_SOUND_0.VCC, I_SOUND_1.VCC, I_SOUND_2.VCC, I_SOUND_3.VCC, I_SOUND_4.VCC, I_SOUND_5.VCC, I_SOUND_6.VCC, I_SOUND_7.VCC)
66 
67 	ALIAS(I_HOP, I_SOUND_0)
68 	ALIAS(I_JUMP, I_SOUND_1)
69 	ALIAS(I_TONGUE, I_SOUND_2)
70 	ALIAS(I_CAPTURE, I_SOUND_3)
71 	ALIAS(I_FLY, I_SOUND_4)
72 	ALIAS(I_SPLASH, I_SOUND_7)
73 
74 	ANALOG_INPUT(I_V5, 5)
75 	ANALOG_INPUT(I_V12, 12)
76 	ANALOG_INPUT(I_VM12, -12)
77 
78 	RES(R1, RES_K(3.3))     // SPLASH
79 	RES(R2, RES_K(3.3))     // SPLASH
80 	RES(R3, RES_K(3.3))     // CAPTURE
81 	RES(R4, RES_K(3.3))     // CAPTURE
82 	RES(R5, RES_K(3.3))     // TONGUE
83 	RES(R6, RES_K(3.3))     // TONGUE
84 	RES(R7, RES_K(3.3))     // HOP
85 	RES(R8, RES_K(3.3))     // HOP
86 	RES(R9, RES_K(3.3))     // JUMP
87 	RES(R10, RES_K(3.3))    // JUMP
88 	RES(R11, RES_K(3.3))    // FLY
89 	RES(R12, RES_K(10))     // FLY
90 	RES(R13, RES_K(10))     // SPLASH
91 	RES(R14, RES_K(4.7))    // SPLASH
92 	RES(R15, RES_K(100))    // SPLASH
93 	RES(R16, RES_K(4.7))    // CAPTURE
94 	RES(R17, RES_K(330))    // CAPTURE
95 	RES(R18, RES_K(4.7))    // TONGUE
96 	RES(R19, RES_K(100))    // TONGUE
97 	RES(R20, RES_K(4.7))    // HOP
98 	RES(R21, RES_K(3.3))    // HOP
99 	RES(R22, RES_K(4.7))    // JUMP
100 	RES(R23, RES_K(150))    // JUMP
101 	RES(R24, RES_K(4.7))    // FLY
102 	RES(R25, RES_K(22))     // SPLASH
103 	RES(R26, 51)            // HOP
104 	RES(R27, RES_K(10))     // FLY
105 	RES(R28, RES_K(22))     // TONGUE
106 	RES(R29, RES_K(100))    // TONGUE
107 	RES(R30, RES_K(470))    // HOP
108 	RES(R31, 220)           // HOP
109 	RES(R32, RES_K(33))     // HOP (mislabelled R22)
110 	RES(R33, 330)           // JUMP
111 	RES(R34, 820)           // JUMP
112 	RES(R35, RES_K(100))    // FLY
113 	RES(R36, RES_K(2.2))    // FLY
114 	RES(R37, RES_K(2.2))    // SPLASH
115 	RES(R38, RES_K(10))     // SPLASH
116 	RES(R39, RES_K(10))     // SPLASH
117 	RES(R40, RES_K(68))     // CAPTURE
118 	RES(R41, RES_K(4.7))    // CAPTURE
119 	RES(R42, RES_K(1))      // TONGUE
120 	RES(R43, RES_K(82))     // HOP
121 	RES(R44, RES_K(3.3))    // FLY
122 	RES(R45, RES_K(100))    // FLY
123 	RES(R46, RES_K(3.3))    // FLY
124 	POT(R47, RES_K(50))     // SPLASH
125 	RES(R48, RES_K(47))     // CAPTURE
126 	RES(R49, RES_K(3.3))    // CAPTURE
127 	RES(R50, RES_K(100))    // CAPTURE
128 	RES(R51, RES_K(39))     // TONGUE
129 	RES(R52, 51)            // HOP
130 	RES(R53, RES_K(62))
131 	RES(R54, 470)           // JUMP
132 	RES(R55, RES_K(22))     // JUMP
133 	RES(R56, RES_M(2.2))    // JUMP
134 	RES(R57, RES_K(22))
135 	RES(R58, RES_K(22))
136 	RES(R59, RES_K(3.3))    // FLY
137 //  RES(R60, RES_K(10))     -- final amp
138 	RES(R61, RES_K(100))    // SPLASH
139 	RES(R62, RES_K(47))     // SPLASH
140 	RES(R63, RES_K(33))     // SPLASH
141 	RES(R64, RES_K(820))    // CAPTURE
142 	RES(R65, RES_K(150))    // CAPTURE
143 	RES(R66, 51)            // CAPTURE
144 	RES(R67, 51)            // CAPTURE
145 	RES(R68, RES_K(1))      // JUMP
146 	RES(R69, RES_K(82))     // JUMP
147 	RES(R70, 51)            // JUMP
148 	RES(R71, RES_K(4.7))    // JUMP
149 	RES(R72, RES_K(27))     // FLY
150 	RES(R73, RES_K(10))     // FLY
151 	RES(R74, RES_K(1))      // FLY
152 	RES(R75, RES_K(10))     // JUMP
153 	RES(R76, RES_K(10))     // JUMP
154 	RES(R77, 560)           // JUMP
155 	RES(R78, RES_K(10))     // JUMP
156 	RES(R79, RES_K(10))     // JUMP
157 	RES(R80, RES_K(39))     // FLY
158 	RES(R81, RES_K(100))    // FLY
159 	RES(R82, RES_K(10))     // FLY
160 	RES(R83, RES_K(100))    // JUMP
161 	RES(R84, RES_K(1))      // JUMP
162 	RES(R85, RES_K(10))     // JUMP
163 	RES(R86, RES_K(1))      // FLY
164 	RES(R87, RES_K(100))    // FLY
165 	RES(R88, RES_K(82))     // FLY
166 	RES(R90, RES_K(56))     // MIXER
167 	POT(R91, RES_K(100))
168 	POT(R92, RES_M(1))
169 	POT(R93, RES_M(1))
170 	POT(R94, RES_M(1))
171 	POT(R95, RES_M(1))
172 	POT(R96, RES_K(50))
173 
174 //  CAP(C1, CAP_U(10))
175 //  CAP(C2, CAP_U(10))
176 	CAP(C3, CAP_U(0.047))
177 	CAP(C4, CAP_U(1))
178 	CAP(C5, CAP_U(1))
179 	CAP(C6, CAP_U(0.1))
180 	CAP(C7, CAP_U(0.1))
181 	CAP(C8, CAP_U(1))
182 	CAP(C9, CAP_U(0.1))
183 	CAP(C10, CAP_U(0.1))
184 	CAP(C11, CAP_U(0.05))
185 	CAP(C12, CAP_U(0.05))
186 	CAP(C13, CAP_U(0.05))
187 	CAP(C14, CAP_U(0.05))
188 	CAP(C15, CAP_U(0.05))
189 	CAP(C16, CAP_U(0.05))
190 	CAP(C17, CAP_U(0.05))
191 	CAP(C18, CAP_U(0.05))
192 	CAP(C19, CAP_U(0.05))
193 	CAP(C20, CAP_U(0.05))
194 	CAP(C21, CAP_U(0.05))
195 	CAP(C22, CAP_U(2.2))
196 	CAP(C23, CAP_U(10))
197 	CAP(C24, CAP_U(0.1))
198 	CAP(C25, CAP_U(4.7))
199 	CAP(C26, CAP_U(0.05))
200 	CAP(C27, CAP_U(1))
201 	CAP(C28, CAP_U(0.05))
202 	CAP(C29, CAP_U(0.047))
203 	CAP(C30, CAP_U(10))
204 	CAP(C31, CAP_U(0.47))
205 	CAP(C32, CAP_U(0.47))
206 	CAP(C33, CAP_U(0.05))
207 //  CAP(C34, CAP_U(0.05))   -- final amp
208 //  CAP(C35, CAP_U(0.05))   -- final amp
209 	CAP(C36, CAP_U(0.05))
210 	CAP(C37, CAP_U(0.05))
211 	CAP(C38, CAP_U(0.05))
212 	CAP(C39, CAP_U(0.1))
213 	CAP(C40, CAP_U(0.1))
214 	CAP(C41, CAP_U(0.05))
215 	CAP(C42, CAP_U(0.05))
216 	CAP(C43, CAP_U(0.05))
217 	CAP(C44, CAP_U(10))
218 	CAP(C45, CAP_U(0.01))
219 	CAP(C46, CAP_U(0.01))
220 	CAP(C47, CAP_U(1))
221 	CAP(C48, CAP_U(0.05))
222 	CAP(C49, CAP_U(0.1))
223 	CAP(C50, CAP_U(0.01))
224 	CAP(C51, CAP_U(0.01))
225 	CAP(C52, CAP_U(0.1))
226 	CAP(C53, CAP_U(0.05))
227 	CAP(C54, CAP_U(0.01))
228 	CAP(C55, CAP_U(0.05))
229 	CAP(C56, CAP_U(0.05))
230 	CAP(C57, CAP_U(2.2))
231 //  CAP(C58, CAP_U(0.1))    -- final amp
232 	CAP(C59, CAP_U(0.05))
233 	CAP(C60, CAP_U(0.05))
234 	CAP(C61, CAP_U(0.05))
235 	CAP(C62, CAP_U(0.1))
236 	CAP(C63, CAP_U(0.05))
237 	CAP(C64, CAP_U(0.05))
238 	CAP(C65, CAP_U(0.1))
239 	CAP(C66, CAP_U(2.2))
240 	CAP(C67, CAP_U(0.05))
241 	CAP(C68, CAP_U(0.05))
242 	CAP(C69, CAP_U(0.05))
243 	CAP(C70, CAP_U(0.05))
244 	CAP(C71, CAP_U(0.05))
245 	CAP(C72, CAP_U(1))
246 	CAP(C73, CAP_U(0.047))
247 	CAP(C74, CAP_U(0.05))
248 
249 	D_1N914(D1)
250 	D_1N914(D2)
251 	D_1N914(D3)
252 	D_1N914(D4)
253 	D_1N914(D5)
254 	D_1N914(D6)
255 	D_1N914(D7)
256 	D_1N914(D8)
257 	D_1N914(D9)
258 
259 	Q_2N4401(Q1)
260 	Q_2N4401(Q2)
261 	Q_2N4401(Q3)
262 	Q_2N4401(Q4)
263 	Q_2N4401(Q5)
264 	Q_2N4401(Q6)
265 	Q_2N4401(Q7)
266 	Q_2N4403(Q8)
267 	Q_2N4403(Q9)
268 	Q_2N4093(Q10)
269 	Q_2N4401(Q11)
270 	Q_2N4401(Q12)
271 	Q_2N4403(Q13)
272 	Q_2N4401(Q14)
273 	Q_2N4403(Q15)
274 	Q_2N4401(Q16)
275 	Q_2N4403(Q17)
276 	Q_2N4093(Q18)
277 	Q_2N4401(Q19)
278 	Q_2N4401(Q20)
279 	Q_2N4401(Q21)
280 
281 	MM5837_DIP(U1)          // Noise Generator
282 #if (UNDERCLOCK_NOISE_GEN)
283 	PARAM(U1.FREQ, 24000)
284 #endif
285 	NE555_DIP(U2)           // Timer
286 	NE555_DIP(U3)           // Timer
287 	NE555_DIP(U4)           // Timer
288 	NE555_DIP(U5)           // Timer
289 	NE555_DIP(U6)           // Timer
290 	NE555_DIP(U7)           // Timer
291 	LM741_DIP(U8)           // Op. Amp.
292 	NE555_DIP(U9)           // Timer
293 	LM741_DIP(U10)          // Op. Amp.
294 	LM741_DIP(U11)          // Op. Amp.
295 	NE555_DIP(U12)          // Timer
296 //  LM741_DIP(U13)          // Op. Amp. -- final amp
297 	LM741_DIP(U14)          // Op. Amp.
298 	NE555_DIP(U15)          // Timer
299 	LM741_DIP(U16)          // Op. Amp.
300 	LM741_DIP(U17)          // Op. Amp.
301 	LM741_DIP(U18)          // Op. Amp.
302 	NE555_DIP(U19)          // Timer
303 	LM741_DIP(U20)          // Op. Amp.
304 
305 	//
306 	// JUMP
307 	//
308 
309 	NET_C(I_V12, R22.2, U6.4, U6.8, C68.2, R23.2)
310 	NET_C(GND, R10.1, Q2.E, C15.1, U6.1, C7.1, R34.1, U11.3, C71.1, C70.1, R54.1, Q19.B, D7.A, R84.1, R75.1, C64.1, R77.1, U19.1, C53.1, C52.1, U16.3)
311 	NET_C(I_JUMP, R9.1)
312 	NET_C(R9.2, R10.2, Q2.B)
313 	NET_C(Q2.C, R22.1, U6.2)
314 	NET_C(C15.2, U6.5)
315 	NET_C(C68.1, GND)
316 	NET_C(R23.1, U6.7, U6.6, C7.2)
317 	NET_C(U6.3, C22.1, R33.1)
318 	NET_C(R33.2, Q8.E)
319 	NET_C(Q8.B, GND)
320 	NET_C(Q8.C, C44.1, R57.1)
321 	NET_C(C44.2, R70.1)
322 	NET_C(R57.2, R58.2, Q16.B)
323 	NET_C(Q16.E, R71.2)
324 	NET_C(R71.1, R58.1, R70.2, I_VM12)
325 	NET_C(R34.2, C22.2, C32.1, C31.1)
326 	NET_C(C32.2, R56.1, U11.2)
327 	NET_C(R56.2, C31.2, U11.6, R55.1)
328 	NET_C(I_V12, C70.2, U11.7)
329 	NET_C(I_VM12, U11.4, C71.2)
330 	NET_C(R55.2, R54.2, Q21.B)
331 	NET_C(Q21.E, D7.K, Q16.C)
332 	NET_C(Q19.E, Q21.C, Q20.E)
333 	NET_C(Q19.C, R76.1, R85.1, U20.2)
334 	NET_C(I_V12, R76.2, R78.2)
335 	NET_C(R78.1, Q20.C, U20.3, R75.2)
336 	NET_C(Q20.B, R84.2, R83.1)
337 	NET_C(R85.2, U20.6, R79.1)
338 	NET_C(I_V12, U20.7, C63.2)
339 	NET_C(C63.1, GND)
340 	NET_C(I_VM12, U20.4, C64.2)
341 	NET_C(R83.2, C62.1)
342 	NET_C(R79.2, R77.2, C54.1, C51.1)
343 	NET_C(C62.2, U19.3)
344 	NET_C(I_V12, U19.4, C61.2, U19.8, R68.2)
345 	NET_C(C61.1, GND)
346 	NET_C(C53.2, U19.5)
347 	NET_C(U19.2, U19.6, R69.1, C52.2)
348 	NET_C(U19.7, R69.2, R68.1)
349 	NET_C(C54.2, U16.2, R53.1)
350 	NET_C(R53.2, U16.6, C51.2)
351 	NET_C(I_V12, U16.7, C42.2)
352 	NET_C(C42.1, GND)
353 	NET_C(I_VM12, U16.4, C43.2)
354 	NET_C(C43.1, GND)
355 	ALIAS(BOING, U16.6)
356 
357 	//
358 	// TONGUE
359 	//
360 
361 	NET_C(I_V12, C20.2, R18.2, U4.4, U4.8, R19.2, Q11.C, R28.2, R42.2, U15.4, U15.8, C48.2)
362 	NET_C(GND, R6.1, Q4.E, C13.1, U4.1, C5.2, R51.1, C49.1, U15.1, C41.1, C48.1)
363 	NET_C(I_TONGUE, R5.1)
364 	NET_C(R5.2, R6.2, Q4.B)
365 	NET_C(C20.1, GND)
366 	NET_C(Q4.C, R18.1, U4.2)
367 	NET_C(C13.2, U4.5)
368 	NET_C(C5.1, U4.7, U4.6, R19.1, R29.1)
369 	RES(RU4, RES_K(100))    // netlist doesn't like unconnected
370 	NET_C(RU4.1, U4.3)      // 555 outputs, so run it through
371 	NET_C(RU4.2, GND)       // a 100k resistor to ground
372 	NET_C(R29.2, Q11.B)
373 	NET_C(Q11.E, Q12.B)
374 	NET_C(Q12.E, R51.2)
375 	NET_C(Q12.C, R28.1, Q13.B)
376 	NET_C(Q13.E, R42.1)
377 	NET_C(Q13.C, C49.2, U15.2, U15.6, U15.7, C50.1)
378 	NET_C(U15.5, C41.2)
379 	RES(RU15, RES_K(100))   // netlist doesn't like unconnected
380 	NET_C(RU15.1, U15.3)    // 555 outputs, so run it through
381 	NET_C(RU15.2, GND)      // a 100k resistor to ground
382 	ALIAS(ZIP, C50.2)
383 
384 	//
385 	// HOP
386 	//
387 
388 	NET_C(I_V12, C69.2, R20.2, U5.4, U5.8, R21.2)
389 	NET_C(GND, R8.1, Q3.E, C14.1, U5.1, C6.1, C30.2, Q9.B, R52.1, U10.3)
390 	NET_C(I_HOP, R7.1)
391 	NET_C(R7.2, R8.2, Q3.B)
392 	NET_C(C69.1, GND)
393 	NET_C(Q3.C, R20.1, U5.2)
394 	NET_C(U5.5, C14.2)
395 	NET_C(R21.1, U5.6, U5.7, C6.2)
396 	NET_C(U5.3, D2.A, R31.1)
397 	NET_C(D2.K, R32.2, C30.1)
398 	NET_C(R32.1, Q9.E)
399 	NET_C(Q9.C, C72.1, R43.2, Q10.G)
400 	NET_C(C72.2, R26.2)
401 	NET_C(I_VM12, R26.1, R43.1)
402 	NET_C(R31.2, Q10.D, C29.1, C73.1)
403 	NET_C(Q10.S, R52.2)
404 	NET_C(C29.2, U10.2, R30.1)
405 	NET_C(C73.2, R30.2, U10.6)
406 	NET_C(I_V12, U10.7, C28.2)
407 	NET_C(I_VM12, U10.4, C21.2)
408 	NET_C(C21.1, GND)
409 	NET_C(C28.1, GND)
410 	ALIAS(HOP, U10.6)
411 
412 	//
413 	// CAPTURE
414 	//
415 
416 	NET_C(I_V12, R16.2, C18.2, U3.4, U3.8, R17.2, C74.2, U9.8, R41.2)
417 	NET_C(GND, R4.1, Q5.E, C12.1, U3.1, C4.2, C19.1, U9.1, C27.2, R65.1, Q17.B, R66.1, U8.3, C18.1)
418 	NET_C(I_CAPTURE, R3.1)
419 	NET_C(R3.2, R4.2, Q5.B)
420 	NET_C(Q5.C, R16.1, U3.2)
421 	NET_C(U3.5, C12.2)
422 	NET_C(R17.1, U3.6, U3.7, C4.1)
423 	NET_C(U3.3, U9.4)
424 	NET_C(C74.1, GND)
425 	NET_C(C19.2, U9.5)
426 	NET_C(R41.1, R48.2, D4.A, U9.7)
427 	NET_C(U9.2, U9.6, R48.1, D4.K, C27.1)
428 	NET_C(U9.3, R50.2, R49.1)
429 	NET_C(R65.2, R64.2, C47.1, Q17.C, Q18.G)
430 	NET_C(I_VM12, R64.1, R67.1)
431 	NET_C(R67.2, C47.2)
432 	NET_C(R50.1, Q17.E)
433 	NET_C(R49.2, Q18.D, C39.1, C40.1)
434 	NET_C(Q18.S, R66.2)
435 	NET_C(C39.2, R40.1, U8.2)
436 	NET_C(C40.2, R40.2, U8.6)
437 	NET_C(I_V12, U8.7, C38.2)
438 	NET_C(C38.1, GND)
439 	NET_C(I_VM12, U8.4, C26.2)
440 	NET_C(C26.1, GND)
441 	ALIAS(CROAK, U8.6)
442 
443 	//
444 	// SPLASH
445 	//
446 
447 	NET_C(I_V12, R14.2, C17.2, U2.4, U2.8, R15.2, C25.1, R47.3, Q15.E, U1.4)
448 	NET_C(GND, R2.1, Q6.E, C11.1, U2.1, C3.1, R38.1, Q14.E, U1.1, R62.1, R63.1, C37.1)
449 	NET_C(I_SPLASH, R1.1)
450 	NET_C(R1.2, R2.2, Q6.B)
451 	NET_C(Q6.C, R14.1, U2.2)
452 	NET_C(U2.5, C11.2)
453 	NET_C(C17.1, GND)
454 	NET_C(U2.6, U2.7, R15.1, C3.2)
455 	NET_C(U2.3, R39.1)
456 	NET_C(R39.2, R38.2, Q14.B)
457 	NET_C(Q14.C, R37.1)
458 	NET_C(R37.2, C25.2, R47.1, R25.1)
459 	NET_C(R25.2, C10.1, R13.2, C9.1)
460 	NET_C(Q15.C, C10.2)
461 	NET_C(R13.1, D1.K)
462 	NET_C(D1.A, D5.K)
463 	NET_C(D5.A, U1.3)
464 	NET_C(U1.2, I_VM12)
465 	NET_C(C9.2, R63.2, U14.3)
466 	NET_C(R62.2, U14.2, R61.1)
467 	NET_C(R61.2, U14.6)
468 	NET_C(I_V12, U14.7, C36.2)
469 	NET_C(C36.1, GND)
470 	NET_C(I_VM12, C37.2, U14.4)
471 	ALIAS(SPLASH, U14.6)
472 
473 	//
474 	// FLY
475 	//
476 
477 	NET_C(I_V12, R12.2, R24.2, C67.2, U7.8, R35.2, C33.2, U12.8, R44.2, U17.7, C55.2, R87.2)
478 	NET_C(GND, R11.1, C16.1, U7.1, C8.2, Q7.E, C23.2, U12.1, C24.1, R72.1, C56.1, R74.1, R88.1, C66.2, R86.1, U18.3, C60.1)
479 	NET_C(I_FLY, Q1.E)
480 	NET_C(R11.2, R12.1, Q1.B)
481 	NET_C(Q1.C, R24.1, U7.2, U7.4, U12.4)
482 	NET_C(C16.2, U7.5)
483 	NET_C(C67.1, GND)
484 	NET_C(R35.1, U7.6, U7.7, C8.1)
485 	NET_C(U7.3, R27.1, D3.A)
486 	NET_C(R27.2, Q7.B)
487 	NET_C(Q7.C, R36.1)
488 	NET_C(R36.2, C23.1, U12.5)
489 	NET_C(C33.1, GND)
490 	NET_C(U12.2, U12.6, D6.K, R45.1, C24.2)
491 	NET_C(U12.7, D6.A, R45.2, R44.1)
492 	NET_C(U12.3, C46.1)
493 	NET_C(C46.2, C45.1, R59.1)
494 	NET_C(C45.2, R72.2, U17.3)
495 	NET_C(R59.2, U17.2, U17.6, C57.1)
496 	NET_C(I_VM12, U17.4, C56.2)
497 	NET_C(C55.1, GND)
498 	NET_C(C57.2, R73.1)
499 	NET_C(D3.K, R46.1)
500 	NET_C(R46.2, R87.1, R80.2, R88.2, C66.1)
501 	NET_C(R73.2, R74.2, D8.K)
502 	NET_C(D8.A, R80.1, D9.A)
503 	NET_C(D9.K, R86.2, C65.1)
504 	NET_C(C65.2, R82.1)
505 	NET_C(R82.2, U18.2, R81.1)
506 	NET_C(R81.2, U18.6)
507 	NET_C(I_V12, U18.7, C59.2)
508 	NET_C(I_VM12, U18.4, C60.2)
509 	NET_C(C59.1, GND)
510 	ALIAS(BUZZZ, U18.6)
511 
512 	//
513 	// Mixer
514 	//
515 
516 #if (ENABLE_FRONTIERS)
517 	AFUNC(BOING_F, 1, "A0")
518 	NET_C(BOING, BOING_F.A0)
519 	NET_C(BOING_F.Q, R95.1)
520 
521 	AFUNC(ZIP_F, 1, "A0")
522 	NET_C(ZIP, ZIP_F.A0)
523 	NET_C(ZIP_F.Q, R93.1)
524 
525 	AFUNC(HOP_F, 1, "A0")
526 	NET_C(HOP, HOP_F.A0)
527 	NET_C(HOP_F.Q, R94.1)
528 
529 	AFUNC(CROAK_F, 1, "A0")
530 	NET_C(CROAK, CROAK_F.A0)
531 	NET_C(CROAK_F.Q, R92.1)
532 
533 	AFUNC(SPLASH_F, 1, "A0")
534 	NET_C(SPLASH, SPLASH_F.A0)
535 	NET_C(SPLASH_F.Q, R91.1)
536 
537 	AFUNC(BUZZZ_F, 1, "A0")
538 	NET_C(BUZZZ, BUZZZ_F.A0)
539 	NET_C(BUZZZ_F.Q, R96.1)
540 #else
541 	NET_C(BOING, R95.1)
542 	NET_C(ZIP, R93.1)
543 	NET_C(HOP, R94.1)
544 	NET_C(CROAK, R92.1)
545 	NET_C(SPLASH, R91.1)
546 	NET_C(BUZZZ, R96.1)
547 #endif
548 
549 	NET_C(R95.3, R93.3, R94.3, R92.3, R91.3, R96.3, R90.1)
550 	ALIAS(OUTPUT, R90.1)
551 	NET_C(R90.2, GND)
552 
553 	//
554 	// Unconnected inputs
555 	//
556 
557 
558 	//
559 	// Unconnected outputs
560 	//
561 
562 #if (ENABLE_FRONTIERS)
563 #define RXX 192
564 	OPTIMIZE_FRONTIER(BOING, RES_M(1), RXX)
565 #endif
566 
567 NETLIST_END()
568