summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2019-10-13 16:45:03 +0200
committer couriersud <couriersud@gmx.org>2019-10-13 16:45:30 +0200
commita89b7d194d77cacfe73dd1936c3db68c52ba0b36 (patch)
treed6463bf9ef1417f470227660bb9a4c3a98482524 /src/mame/audio
parent3812869c54c98505f08d88c54c430eb93991b8bf (diff)
netlist: mame netlist reorganization. [Couriersud]
- moved netlists out of driver code into audio/ or machine/ as nl_xxx.cpp files. - identified and documented extended validation - updated arcade, mess and nl targets
Diffstat (limited to 'src/mame/audio')
-rw-r--r--src/mame/audio/nl_1942.cpp93
-rw-r--r--src/mame/audio/nl_1942.h6
-rw-r--r--src/mame/audio/nl_cocoloco.cpp53
-rw-r--r--src/mame/audio/nl_cocoloco.h6
-rw-r--r--src/mame/audio/nl_gamemachine.cpp88
-rw-r--r--src/mame/audio/nl_gamemachine.h7
-rw-r--r--src/mame/audio/nl_kidniki.cpp6
-rw-r--r--src/mame/audio/nl_popeye.cpp93
-rw-r--r--src/mame/audio/nl_popeye.h6
9 files changed, 355 insertions, 3 deletions
diff --git a/src/mame/audio/nl_1942.cpp b/src/mame/audio/nl_1942.cpp
new file mode 100644
index 00000000000..234b716cb11
--- /dev/null
+++ b/src/mame/audio/nl_1942.cpp
@@ -0,0 +1,93 @@
+// license:BSD-3-Clause
+// copyright-holders:Couriersud
+#include "netlist/devices/net_lib.h"
+
+/* ----------------------------------------------------------------------------
+ * 1942 schematics
+ * ---------------------------------------------------------------------------*/
+
+NETLIST_START(1942)
+
+ /* Standard stuff */
+
+ SOLVER(Solver, 48000)
+ ANALOG_INPUT(V5, 5)
+
+ /* AY 8910 internal resistors */
+
+ RES(R_AY1_1, 1000)
+ RES(R_AY1_2, 1000)
+ RES(R_AY1_3, 1000)
+ RES(R_AY2_1, 1000)
+ RES(R_AY2_2, 1000)
+ RES(R_AY2_3, 1000)
+
+ RES(R2, 220000)
+ RES(R3, 220000)
+ RES(R4, 220000)
+ RES(R5, 220000)
+ RES(R6, 220000)
+ RES(R7, 220000)
+
+ RES(R11, 10000)
+ RES(R12, 10000)
+ RES(R13, 10000)
+ RES(R14, 10000)
+ RES(R15, 10000)
+ RES(R16, 10000)
+
+ CAP(CC7, 10e-6)
+ CAP(CC8, 10e-6)
+ CAP(CC9, 10e-6)
+ CAP(CC10, 10e-6)
+ CAP(CC11, 10e-6)
+ CAP(CC12, 10e-6)
+
+ NET_C(V5, R_AY2_3.1, R_AY2_2.1, R_AY2_1.1, R_AY1_3.1, R_AY1_2.1, R_AY1_1.1)
+ NET_C(GND, R13.2, R15.2, R11.2, R12.2, R14.2, R16.2)
+ //NLFILT(R_AY2_3, R13, CC7, R2)
+ NET_C(R_AY2_3.2, R13.1)
+ NET_C(R13.1, CC7.1)
+ NET_C(CC7.2, R2.1)
+ //NLFILT(R_AY2_2, R15, CC8, R3)
+ NET_C(R_AY2_2.2, R15.1)
+ NET_C(R15.1, CC8.1)
+ NET_C(CC8.2, R3.1)
+ //NLFILT(R_AY2_1, R11, CC9, R4)
+ NET_C(R_AY2_1.2, R11.1)
+ NET_C(R11.1, CC9.1)
+ NET_C(CC9.2, R4.1)
+
+ //NLFILT(R_AY1_3, R12, CC10, R5)
+ NET_C(R_AY1_3.2, R12.1)
+ NET_C(R12.1, CC10.1)
+ NET_C(CC10.2, R5.1)
+ //NLFILT(R_AY1_2, R14, CC11, R6)
+ NET_C(R_AY1_2.2, R14.1)
+ NET_C(R14.1, CC11.1)
+ NET_C(CC11.2, R6.1)
+ //NLFILT(R_AY1_1, R16, CC12, R7)
+ NET_C(R_AY1_1.2, R16.1)
+ NET_C(R16.1, CC12.1)
+ NET_C(CC12.2, R7.1)
+
+ POT(VR, 2000)
+ NET_C(VR.3, GND)
+
+ NET_C(R2.2, VR.1)
+ NET_C(R3.2, VR.1)
+ NET_C(R4.2, VR.1)
+ NET_C(R5.2, VR.1)
+ NET_C(R6.2, VR.1)
+ NET_C(R7.2, VR.1)
+
+ CAP(CC6, 10e-6)
+ RES(R1, 100000)
+
+ NET_C(CC6.1, VR.2)
+ NET_C(CC6.2, R1.1)
+ CAP(CC3, 220e-6)
+ NET_C(R1.2, CC3.1)
+ NET_C(CC3.2, GND)
+
+NETLIST_END()
diff --git a/src/mame/audio/nl_1942.h b/src/mame/audio/nl_1942.h
new file mode 100644
index 00000000000..a6ef34e4c41
--- /dev/null
+++ b/src/mame/audio/nl_1942.h
@@ -0,0 +1,6 @@
+// license:BSD-3-Clause
+// copyright-holders:Couriersud
+
+#include "netlist/nl_setup.h"
+
+NETLIST_EXTERNAL(1942)
diff --git a/src/mame/audio/nl_cocoloco.cpp b/src/mame/audio/nl_cocoloco.cpp
new file mode 100644
index 00000000000..57ff637a85b
--- /dev/null
+++ b/src/mame/audio/nl_cocoloco.cpp
@@ -0,0 +1,53 @@
+// license:CC0
+// copyright-holders:Couriersud
+
+#include "netlist/devices/net_lib.h"
+
+/* ----------------------------------------------------------------------------
+ * cocoloco schematics
+ * ---------------------------------------------------------------------------*/
+
+// 7W LM383T Amplifier not included below
+
+NETLIST_START(cocoloco)
+
+ /* Standard stuff */
+
+ SOLVER(Solver, 48000)
+ PARAM(Solver.ACCURACY, 1e-5)
+ ANALOG_INPUT(V5, 5)
+
+ /* AY 8910 internal resistors */
+
+ RES(R_AY1_1, 1000)
+ RES(R_AY1_2, 1000)
+ RES(R_AY1_3, 1000)
+
+ RES(R1, 4700)
+ RES(R2, 4700)
+ RES(R3, 4700)
+ RES(RAMP, 150000)
+ //RES(RAMP, 150)
+ POT(P1, 5000)
+ PARAM(P1.DIAL, 0.5) // 50%
+
+ CAP(C1, 10e-6)
+
+ NET_C(V5, R_AY1_1.1, R_AY1_2.1, R_AY1_3.1)
+
+ NET_C(R_AY1_1.2, R1.1)
+ NET_C(R_AY1_2.2, R2.1)
+ NET_C(R_AY1_3.2, R3.1)
+
+ NET_C(R1.2, R2.2, R3.2, P1.1)
+
+ NET_C(P1.3, RAMP.2, GND)
+ NET_C(P1.2, C1.1)
+ NET_C(C1.2, RAMP.1)
+#if 0
+ CAP(C2, 0.1e-6)
+ NET_C(C2.2, GND)
+ NET_C(C2.1, RAMP.1)
+#endif
+NETLIST_END()
+
diff --git a/src/mame/audio/nl_cocoloco.h b/src/mame/audio/nl_cocoloco.h
new file mode 100644
index 00000000000..a81ce56cad1
--- /dev/null
+++ b/src/mame/audio/nl_cocoloco.h
@@ -0,0 +1,6 @@
+// license:CC0
+// copyright-holders:Couriersud
+
+#include "netlist/nl_setup.h"
+
+NETLIST_EXTERNAL(cocoloco)
diff --git a/src/mame/audio/nl_gamemachine.cpp b/src/mame/audio/nl_gamemachine.cpp
new file mode 100644
index 00000000000..9d7f9a24388
--- /dev/null
+++ b/src/mame/audio/nl_gamemachine.cpp
@@ -0,0 +1,88 @@
+// license:CC0
+// copyright-holders:Couriersud
+// thanks-to:Sean Riddle
+
+#include "netlist/devices/net_lib.h"
+
+/* ----------------------------------------------------------------------------
+ * Gamemachine schematics
+ * ---------------------------------------------------------------------------*/
+
+NETLIST_START(gamemachine)
+
+ /* Standard stuff */
+
+ SOLVER(Solver, 48000)
+ PARAM(Solver.ACCURACY, 1e-7)
+ ANALOG_INPUT(V5, 5)
+
+ /* Schematics: http://seanriddle.com/gamemachineaudio.JPG
+ *
+ * 3870 datasheet: http://nice.kaze.com/MK3870.pdf
+ *
+ * The 3870 has mask-programmable outputs (page VIII-7 in datasheet).
+ *
+ * Given the schematics, in this case the OPENDRAIN configuration is the
+ * most probable.
+ *
+ */
+
+ NET_MODEL("OPENDRAIN FAMILY(OVL=0.0 OVH=0.0 ORL=1.0 ORH=1e12)")
+ NET_MODEL("TYPE6K FAMILY(OVL=0.05 OVH=0.05 ORL=1.0 ORH=6000)")
+ NET_MODEL("DIRECTDRIVE FAMILY(OVL=0.05 OVH=0.05 ORL=1.0 ORH=1000)")
+
+ LOGIC_INPUT(P08, 1, "OPENDRAIN")
+ LOGIC_INPUT(P09, 1, "OPENDRAIN")
+ LOGIC_INPUT(P10, 1, "OPENDRAIN")
+ LOGIC_INPUT(P11, 1, "OPENDRAIN")
+ LOGIC_INPUT(P12, 1, "OPENDRAIN")
+ LOGIC_INPUT(P13, 1, "OPENDRAIN")
+ LOGIC_INPUT(P14, 1, "OPENDRAIN")
+ LOGIC_INPUT(P15, 1, "OPENDRAIN")
+
+ RES(R1, RES_K(2.4))
+ RES(R2, RES_K(10))
+ RES(R3, RES_K(4.3))
+ RES(R4, RES_K(150))
+ RES(R5, RES_K(240))
+ RES(R6, RES_K(2.4))
+ RES(SPK1, 8)
+
+ CAP(C1, CAP_P(50))
+ CAP(C2, CAP_U(0.001))
+ CAP(C3, CAP_U(0.002))
+ CAP(C4, CAP_U(0.005))
+ CAP(C5, CAP_U(0.010))
+
+ CAP(C6, CAP_P(50))
+ CAP(C7, CAP_U(0.01))
+ CAP(C8, CAP_U(470))
+
+ QBJT_EB(Q1, "9013")
+
+ MC1455P_DIP(IC1)
+
+ NET_C(P08.Q, R2.2, IC1.4)
+ NET_C(P09.Q, C8.2)
+ NET_C(P15.Q, R1.2)
+
+ NET_C(C1.1, P10.Q)
+ NET_C(C2.1, P11.Q)
+ NET_C(C3.1, P12.Q)
+ NET_C(C4.1, P13.Q)
+ NET_C(C5.1, P14.Q)
+
+ NET_C(C1.2, C2.2, C3.2, C4.2, C5.2, C6.2, IC1.2, IC1.6, R5.2)
+ NET_C(GND, C6.1, IC1.1, Q1.E)
+ NET_C(R5.1, R4.2, IC1.7)
+ NET_C(V5, R4.1, R2.1, IC1.8, SPK1.1, R3.1)
+
+ NET_C(C7.1, R6.1, IC1.3)
+
+ NET_C(C7.2, R6.2, Q1.B)
+ NET_C(Q1.C, SPK1.2)
+
+ NET_C(C8.1, R1.1, R3.2, IC1.5)
+
+NETLIST_END()
+
diff --git a/src/mame/audio/nl_gamemachine.h b/src/mame/audio/nl_gamemachine.h
new file mode 100644
index 00000000000..d4655c166e5
--- /dev/null
+++ b/src/mame/audio/nl_gamemachine.h
@@ -0,0 +1,7 @@
+// license:CC0
+// copyright-holders:Couriersud
+// thanks-to:Sean Riddle
+
+#include "netlist/nl_setup.h"
+
+NETLIST_EXTERNAL(gamemachine)
diff --git a/src/mame/audio/nl_kidniki.cpp b/src/mame/audio/nl_kidniki.cpp
index ce5fcb4434e..0cbcc0af857 100644
--- a/src/mame/audio/nl_kidniki.cpp
+++ b/src/mame/audio/nl_kidniki.cpp
@@ -7,9 +7,9 @@
#endif
#ifndef NLTOOL_VERSION
-#define USE_FRONTIERS 0
+#define USE_FRONTIERS 1
#else
-#define USE_FRONTIERS 0
+#define USE_FRONTIERS 1
#endif
/* if we use frontiers, use fixed STV for smaller matrix sizes */
@@ -361,7 +361,7 @@ NETLIST_END()
NETLIST_START(kidniki)
-#if (1 || USE_FRONTIERS)
+#if (0 || USE_FRONTIERS)
SOLVER(Solver, 48000)
PARAM(Solver.ACCURACY, 1e-7)
PARAM(Solver.NR_LOOPS, 300)
diff --git a/src/mame/audio/nl_popeye.cpp b/src/mame/audio/nl_popeye.cpp
new file mode 100644
index 00000000000..6dd3656c47c
--- /dev/null
+++ b/src/mame/audio/nl_popeye.cpp
@@ -0,0 +1,93 @@
+// license:BSD-3-Clause
+// copyright-holders:Couriersud
+#include "netlist/devices/net_lib.h"
+
+/* ----------------------------------------------------------------------------
+ * popeye schematics
+ * ---------------------------------------------------------------------------*/
+
+/* This is the output stage of the audio circuit.
+ * It is solely an impedance changer and could be left away
+ */
+
+static NETLIST_START(popeye_imp_changer)
+ RES(R62, 510000)
+ RES(R63, 100)
+ RES(R64, 510000)
+ RES(R65, 2100)
+ RES(R66, 330)
+ RES(R67, 51)
+
+ QBJT_EB(Q8, "2SC1815")
+ QBJT_EB(Q9, "2SA1015")
+
+ NET_C(V5, R62.1, Q8.C, R66.1)
+ NET_C(R62.2, R64.1, R63.1, C7.2)
+ NET_C(R63.2, Q8.B)
+ NET_C(Q8.E, R65.1, Q9.B)
+ NET_C(R66.2, Q9.E, R67.1)
+
+ NET_C(GND, Q9.C, R65.2, R64.2)
+NETLIST_END()
+
+NETLIST_START(popeye)
+
+ /* register hard coded netlists */
+
+ LOCAL_SOURCE(popeye_imp_changer)
+
+ /* Standard stuff */
+
+ SOLVER(Solver, 48000)
+ PARAM(Solver.ACCURACY, 1e-5)
+ ANALOG_INPUT(V5, 5)
+
+ /* AY 8910 internal resistors */
+
+ RES(R_AY1_1, 1000)
+ RES(R_AY1_2, 1000)
+ RES(R_AY1_3, 1000)
+
+ RES(R52, 2000)
+ RES(R55, 2000)
+ RES(R58, 2000)
+ RES(R53, 2000)
+ RES(R56, 2000)
+ RES(R59, 2000)
+ RES(R51, 20000)
+ RES(R57, 30000)
+ RES(R60, 30000)
+
+ RES(R61, 120000)
+
+ RES(ROUT, 5000)
+
+ CAP(C4, 0.047e-6)
+ CAP(C5, 330e-12)
+ CAP(C6, 330e-12)
+ CAP(C7, 3.3e-6)
+ CAP(C40, 680e-12)
+
+ NET_C(V5, R_AY1_1.1, R_AY1_2.1, R_AY1_3.1)
+
+ NET_C(R_AY1_1.2, R52.1, R53.1)
+ NET_C(R_AY1_2.2, R55.1, R56.1)
+ NET_C(R_AY1_3.2, R58.1, R59.1)
+
+ NET_C(R53.2, R51.1, C4.1)
+ NET_C(R56.2, R57.1, C5.1)
+ NET_C(R59.2, R60.1, C6.1)
+
+ NET_C(R51.2, R57.2, R60.2, R61.1, C40.1, C7.1)
+
+ NET_C(GND, R52.2, R55.2, R58.2, C4.2, C5.2, C6.2, R61.2, C40.2)
+
+ INCLUDE(popeye_imp_changer)
+
+ /* output resistor (actually located in TV */
+
+ NET_C(R67.2, ROUT.1)
+
+ NET_C(GND, ROUT.2)
+
+NETLIST_END()
diff --git a/src/mame/audio/nl_popeye.h b/src/mame/audio/nl_popeye.h
new file mode 100644
index 00000000000..30746e2a4a0
--- /dev/null
+++ b/src/mame/audio/nl_popeye.h
@@ -0,0 +1,6 @@
+// license:BSD-3-Clause
+// copyright-holders:Couriersud
+
+#include "netlist/nl_setup.h"
+
+NETLIST_EXTERNAL(popeye)