summaryrefslogblamecommitdiffstatshomepage
path: root/src/mame/audio/nl_tankbatt.cpp
blob: ac19ef51f4d68703375460261953106257e84de1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                                             













                                                    





                                              

































































































































                                                                                                                                      
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz

//
// Netlist for Tank Battalion
//
// Derived from the schematics in the manual.
//
// Known problems/issues:
//
//    * None.
//

#include "netlist/devices/net_lib.h"

//
// Main netlist
//

NETLIST_START(tankbatt)

	SOLVER(Solver, 48000)
	ANALOG_INPUT(V5, 5)
	ALIAS(VCC, V5)

	CLOCK(2V, 4000) // 18.432MHz / (3 * 384 * 2)
	CLOCK(4V, 2000) // 18.432MHz / (3 * 384 * 4)

	TTL_INPUT(S1, 0)        // active high
	TTL_INPUT(S2, 0)        // active high
	TTL_INPUT(OFF, 1)       // active high
	TTL_INPUT(ENGINE_HI, 0) // active high
	TTL_INPUT(SHOOT, 0)     // active high
	TTL_INPUT(HIT, 0)       // active high

	RES(R31, 470)
	RES(R32, 470)
	RES(R35, RES_K(4.7))
	RES(R36, RES_K(4.7))
	RES(R37, RES_K(6.8))
	RES(R38, RES_K(10))
	//RES(R41, RES_K(22))
	RES(R42, RES_K(22))
	RES(R43, RES_K(22))
	RES(R44, RES_K(33))
	RES(R45, RES_K(47))
	RES(R46, RES_K(4.7)) // Possible schematic or scan-quality error: Schematic says 47K
	RES(R47, RES_K(4.7))
	RES(R48, RES_K(4.7))
	RES(R49, RES_K(4.7)) // Possible schematic or scan-quality error: Schematic says 47K
	RES(R50, RES_K(150))
	RES(R51, RES_K(150))
	RES(R52, RES_K(220))
	RES(R53, RES_K(470))
	RES(R54, RES_K(470))
	RES(R56_1, RES_K(1))
	RES(R56_2, RES_K(1))
	RES(R57, RES_K(10))
	RES(R58, RES_K(1))
	RES(R59, RES_K(1))
	RES(R60, RES_K(1))
	RES(R61, RES_K(1))

	CAP(C10, CAP_U(2.2))
	CAP(C11, CAP_U(2.2))
	CAP(C12, CAP_U(2.2))
	CAP(C13, CAP_U(2.2))
	CAP(C14, CAP_U(0.1))
	CAP(C15, CAP_U(0.01))
	CAP(C16, CAP_U(0.01))
	CAP(C17, CAP_U(0.01))
	CAP(C18, CAP_U(0.01))
	CAP(C42, CAP_U(0.1))

	DIODE(D8, "D") // Generic diodes, types not listed on schematic
	DIODE(D9, "D")
	DIODE(D10, "D")
	DIODE(D11, "D")

	CD4006(_6F)
	CD4066_DIP(_6L)
	LM324_DIP(_6J)
	TTL_7486_DIP(_6K)
	TTL_7492_DIP(_5K)

	NET_C(VCC, _5K.5, _6F.VDD, _6J.4, _6K.7, _6L.14, S1.VCC, S2.VCC, OFF.VCC, ENGINE_HI.VCC, SHOOT.VCC, HIT.VCC, 2V.VCC, 4V.VCC)
	NET_C(GND, _5K.10, _6F.VSS, _6J.11, _6K.14, _6L.7, S1.GND, S2.GND, OFF.GND, ENGINE_HI.GND, SHOOT.GND, HIT.GND, 2V.GND, 4V.GND)

	// Noise generation (presumably)
	NET_C(_6F.CLOCK, 2V)
	NET_C(_6F.D1P4, _6F.D3)
	NET_C(_6F.D3P4, _6F.D4, _6L.12, _6L.6)
	NET_C(_6F.D1, _6F.D2P5, _6K.A.A)
	NET_C(_6F.D4P4, _6K.A.B)
	NET_C(_6K.A.Q, R38.1)
	NET_C(_6F.D2, R38.2, D9.K)
	NET_C(_6F.D4P5, D8.A, R53.1)
	NET_C(D8.K, R53.2, C42.1, _6J.2)
	NET_C(_6J.1, C42.2, D9.A)
	NET_C(_6J.3, C12.1, R43.1, R44.1, _6J.12, _6J.10)
	NET_C(C12.2, GND)
	NET_C(R43.2, GND)
	NET_C(R44.2, V5)

	// S1
	NET_C(S1.Q, _6L.5)
	NET_C(4V, _6L.4)
	NET_C(_6L.3, R35.1)

	// S2
	NET_C(S2.Q, _6L.13)
	NET_C(2V, _6L.1)
	NET_C(_6L.2, R36.1)

	// Hit
	NET_C(HIT.Q, R31.1)
	NET_C(R31.2, D10.A)
	NET_C(D10.K, C10.1, _6L.8)
	NET_C(C10.2, GND)
	NET_C(_6L.9, R50.1)
	NET_C(R50.2, R42.1, C15.1, C16.1)
	NET_C(R42.2, GND)
	NET_C(C16.2, R54.1, _6J.9)
	NET_C(C15.2, R54.2, _6J.8, R56_1.1)

	// Shoot
	NET_C(SHOOT.Q, R32.1)
	NET_C(R32.2, D11.A)
	NET_C(D11.K, C11.1, _6L.11)
	NET_C(C11.2, GND)
	NET_C(_6L.10, R45.1)
	NET_C(R45.2, R37.1, C17.1, C18.1)
	NET_C(R37.2, GND)
	NET_C(C18.2, R51.1, _6J.13)
	NET_C(C17.2, R51.2, _6J.14, R56_2.1)

	// Engine Rumble
	NET_C(ENGINE_HI.Q, _6K.B.A)
	NET_C(_6K.B.B, _6K.C.Q)
	NET_C(_6K.B.Q, R52.1, _5K.1)
	NET_C(R52.2, R46.1, _6J.6, C14.1)
	NET_C(C14.2, GND)
	NET_C(_6J.5, R47.1, R48.1, R49.1)
	NET_C(R47.2, V5)
	NET_C(R48.2, GND)
	NET_C(R49.2, R57.1, _6J.7, R46.2, _6K.C.A)
	NET_C(R57.2, GND)
	NET_C(_6K.C.B, VCC)
	NET_C(_5K.7, VCC)
	NET_C(_5K.6, OFF.Q)
	NET_C(_5K.11, R60.1, _6K.D.A)
	NET_C(_5K.8, R58.1, _6K.D.B)
	NET_C(_6K.D.Q, _5K.14)
	NET_C(_5K.12, R61.1)
	NET_C(R58.2, R60.2, R61.2, C13.1, R59.1)
	NET_C(C13.2, GND)

	// Mixing
	//NET_C(R56_1.2, R56_2.2)
	//NET_C(R35.2, R36.2)
	//NET_C(R56_2.2, R59.2)
	NET_C(R35.2, R36.2, R56_1.2, R56_2.2, R59.2)
	//NET_C(R41.2, GND)
NETLIST_END()