summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--scripts/src/netlist.lua2
-rwxr-xr-xsrc/lib/netlist/generated/nlm_modules_lib.cpp4
-rw-r--r--src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp61
-rw-r--r--src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp24
-rw-r--r--src/mame/audio/nl_destroyr.cpp21
-rw-r--r--src/mame/audio/nl_fireone.cpp84
-rw-r--r--src/mame/audio/nl_flyball.cpp21
-rw-r--r--src/mame/audio/nl_starfire.cpp79
-rw-r--r--src/mame/machine/nl_tank.cpp21
9 files changed, 91 insertions, 226 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index 07fdfe85a53..442074f0215 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -203,6 +203,8 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/macro/nlm_roms_lib.cpp",
MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_RTEST.cpp",
+ MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp",
+ MAME_DIR .. "src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp",
MAME_DIR .. "src/lib/netlist/generated/static_solvers.cpp",
MAME_DIR .. "src/lib/netlist/generated/nld_devinc.h",
diff --git a/src/lib/netlist/generated/nlm_modules_lib.cpp b/src/lib/netlist/generated/nlm_modules_lib.cpp
index d9fe63979d9..7f91075ac40 100755
--- a/src/lib/netlist/generated/nlm_modules_lib.cpp
+++ b/src/lib/netlist/generated/nlm_modules_lib.cpp
@@ -1,12 +1,14 @@
// license:CC0
// copyright-holders:Couriersud
-// File programmatically created Sat Sep 12 14:42:49 2020
+// File programmatically created Sun Sep 13 20:49:39 2020
#include "devices/net_lib.h"
NETLIST_START(modules_lib)
+ EXTERNAL_LIB_ENTRY(ICL8038_DIP)
+ EXTERNAL_LIB_ENTRY(NE556_DIP)
EXTERNAL_LIB_ENTRY(RTEST)
NETLIST_END()
diff --git a/src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp b/src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp
new file mode 100644
index 00000000000..05a4d300099
--- /dev/null
+++ b/src/lib/netlist/macro/modules/nlmod_ICL8038_DIP.cpp
@@ -0,0 +1,61 @@
+// license:BSD-3-Clause
+// copyright-holders:Ryan Holtz
+
+#include "devices/net_lib.h"
+
+//
+// ICL8038 is broadly similar to a 566 VCO, and can be simulated partially as such.
+//
+
+NETLIST_START(ICL8038_DIP)
+ VCVS(VI, 1)
+ CCCS(CI1, -1)
+ CCCS(CI2, 2)
+ SYS_COMPD(COMP)
+ SYS_DSW2(SW)
+ VCVS(VO, 1)
+ RES(R_SHUNT, RES_R(50))
+
+ PARAM(VO.RO, 50)
+ PARAM(COMP.MODEL, "FAMILY(TYPE=CUSTOM IVL=0.16 IVH=0.4 OVL=0.01 OVH=0.01 ORL=50 ORH=50)")
+ PARAM(SW.GOFF, 0) // This has to be zero to block current sources
+
+ NET_C(VI.OP, CI1.IN, CI2.IN)
+ NET_C(CI1.OP, VO.IP)
+ NET_C(COMP.Q, SW.I)
+ NET_C(CI2.OP, SW.2)
+ NET_C(COMP.VCC, R_SHUNT.1)
+ NET_C(SW.1, R_SHUNT.2)
+ NET_C(SW.3, VO.IP)
+ NET_C(VO.OP, COMP.IN)
+
+ // Avoid singular Matrix due to G=0 switch
+ RES(RX1, 1e10)
+ RES(RX2, 1e10)
+ NET_C(RX1.1, SW.1)
+ NET_C(RX2.1, SW.3)
+
+ NET_C(COMP.GND, RX1.2, RX2.2)
+
+ RES(R1, 5000)
+ RES(R2, 5000)
+ RES(R3, 5000)
+
+ // Square output wave
+ VCVS(V_SQR, 1)
+ NET_C(COMP.Q, V_SQR.IP)
+
+ NET_C(COMP.GND, SW.GND, VI.ON, VI.IN, CI1.ON, CI2.ON, VO.IN, VO.ON, R2.2, V_SQR.IN, V_SQR.ON)
+ NET_C(COMP.VCC, SW.VCC, R1.2)
+ NET_C(COMP.IP, R1.1, R2.1, R3.1)
+ NET_C(COMP.Q, R3.2)
+
+ ALIAS(11, VI.ON) // GND
+ ALIAS(9, V_SQR.OP) // Square out
+ ALIAS(3, VO.OP) // Triag out
+ ALIAS(8, VI.IP) // VC
+ ALIAS(4, CI1.IP) // R1
+ ALIAS(5, CI2.IP) // R2
+ ALIAS(10, VO.IP) // C1
+ ALIAS(6, COMP.VCC) // V+
+NETLIST_END()
diff --git a/src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp b/src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp
new file mode 100644
index 00000000000..7f278a18b6d
--- /dev/null
+++ b/src/lib/netlist/macro/modules/nlmod_NE556_DIP.cpp
@@ -0,0 +1,24 @@
+// license:BSD-3-Clause
+// copyright-holders:Ryan Holtz
+//
+
+#include "devices/net_lib.h"
+
+NETLIST_START(NE556_DIP)
+ NE555(A)
+ NE555(B)
+
+ NET_C(A.GND, B.GND)
+ NET_C(A.VCC, B.VCC)
+
+ DIPPINS( /* +--------------+ */
+ A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
+ A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
+ A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
+ A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
+ A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
+ A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
+ A.GND, /* GND |7 8| 2TRIG */ B.TRIG
+ /* +--------------+ */
+ )
+NETLIST_END()
diff --git a/src/mame/audio/nl_destroyr.cpp b/src/mame/audio/nl_destroyr.cpp
index 2f3e8f7f81b..0ed9c7dc701 100644
--- a/src/mame/audio/nl_destroyr.cpp
+++ b/src/mame/audio/nl_destroyr.cpp
@@ -32,25 +32,6 @@ static NETLIST_START(LM324_VM5V12_DIP)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NETLIST_END()
-static NETLIST_START(NE556_DIP)
- NE555(A)
- NE555(B)
-
- NET_C(A.GND, B.GND)
- NET_C(A.VCC, B.VCC)
-
- DIPPINS( /* +--------------+ */
- A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
- A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
- A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
- A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
- A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
- A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
- A.GND, /* GND |7 8| 2TRIG */ B.TRIG
- /* +--------------+ */
- )
-NETLIST_END()
-
NETLIST_START(destroyr)
SOLVER(Solver, 48000)
@@ -65,7 +46,7 @@ NETLIST_START(destroyr)
NET_MODEL("LM324_M5V12V OPAMP(TYPE=3 VLH=1.1 VLL=0.11 FPF=5 UGF=50k SLEW=0.3M RI=1000k RO=50 DAB=0.00075)")
- LOCAL_SOURCE(NE556_DIP)
+ //LOCAL_SOURCE(NE556_DIP)
LOCAL_SOURCE(LM324_VM5V12_DIP)
TTL_INPUT(MOTOR_SPEED, 0)
diff --git a/src/mame/audio/nl_fireone.cpp b/src/mame/audio/nl_fireone.cpp
index 5bca887402e..fced0ac6994 100644
--- a/src/mame/audio/nl_fireone.cpp
+++ b/src/mame/audio/nl_fireone.cpp
@@ -13,87 +13,6 @@
#include "netlist/devices/net_lib.h"
//
-// 556 is just two 555s in one package
-//
-
-static NETLIST_START(NE556_DIP)
- NE555(A)
- NE555(B)
-
- NET_C(A.GND, B.GND)
- NET_C(A.VCC, B.VCC)
-
- DIPPINS( /* +--------------+ */
- A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
- A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
- A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
- A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
- A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
- A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
- A.GND, /* GND |7 8| 2TRIG */ B.TRIG
- /* +--------------+ */
- )
-NETLIST_END()
-
-
-//
-// ICL8038 is broadly similar to a 566 VCO, and can be simulated partially as such.
-//
-
-static NETLIST_START(ICL8038_DIP)
- VCVS(VI, 1)
- CCCS(CI1, -1)
- CCCS(CI2, 2)
- SYS_COMPD(COMP)
- SYS_DSW2(SW)
- VCVS(VO, 1)
- RES(R_SHUNT, RES_R(50))
-
- PARAM(VO.RO, 50)
- PARAM(COMP.MODEL, "FAMILY(TYPE=CUSTOM IVL=0.16 IVH=0.4 OVL=0.01 OVH=0.01 ORL=50 ORH=50)")
- PARAM(SW.GOFF, 0) // This has to be zero to block current sources
-
- NET_C(VI.OP, CI1.IN, CI2.IN)
- NET_C(CI1.OP, VO.IP)
- NET_C(COMP.Q, SW.I)
- NET_C(CI2.OP, SW.2)
- NET_C(COMP.VCC, R_SHUNT.1)
- NET_C(SW.1, R_SHUNT.2)
- NET_C(SW.3, VO.IP)
- NET_C(VO.OP, COMP.IN)
-
- // Avoid singular Matrix due to G=0 switch
- RES(RX1, 1e10)
- RES(RX2, 1e10)
- NET_C(RX1.1, SW.1)
- NET_C(RX2.1, SW.3)
-
- NET_C(COMP.GND, RX1.2, RX2.2)
-
- RES(R1, 5000)
- RES(R2, 5000)
- RES(R3, 5000)
-
- // Square output wave
- VCVS(V_SQR, 1)
- NET_C(COMP.Q, V_SQR.IP)
-
- NET_C(COMP.GND, SW.GND, VI.ON, VI.IN, CI1.ON, CI2.ON, VO.IN, VO.ON, R2.2, V_SQR.IN, V_SQR.ON)
- NET_C(COMP.VCC, SW.VCC, R1.2)
- NET_C(COMP.IP, R1.1, R2.1, R3.1)
- NET_C(COMP.Q, R3.2)
-
- ALIAS(11, VI.ON) // GND
- ALIAS(9, V_SQR.OP) // Square out
- ALIAS(3, VO.OP) // Triag out
- ALIAS(8, VI.IP) // VC
- ALIAS(4, CI1.IP) // R1
- ALIAS(5, CI2.IP) // R2
- ALIAS(10, VO.IP) // C1
- ALIAS(6, COMP.VCC) // V+
-NETLIST_END()
-
-//
// Main netlist
//
@@ -130,9 +49,6 @@ NETLIST_START(fireone)
NET_C(VCC, MUSIC_A.VCC, MUSIC_B.VCC, MUSIC_C.VCC)
NET_C(GND, MUSIC_A.GND, MUSIC_B.GND, MUSIC_C.GND)
- LOCAL_SOURCE(NE556_DIP)
- LOCAL_SOURCE(ICL8038_DIP)
-
TTL_7406_GATE(IC27_A)
TTL_7406_GATE(IC27_B)
TTL_7406_GATE(IC27_C)
diff --git a/src/mame/audio/nl_flyball.cpp b/src/mame/audio/nl_flyball.cpp
index 6e6a1d94fa1..45a4ab4cb19 100644
--- a/src/mame/audio/nl_flyball.cpp
+++ b/src/mame/audio/nl_flyball.cpp
@@ -11,25 +11,6 @@
#include "netlist/devices/net_lib.h"
-static NETLIST_START(NE556_DIP)
- NE555(A)
- NE555(B)
-
- NET_C(A.GND, B.GND)
- NET_C(A.VCC, B.VCC)
-
- DIPPINS( /* +--------------+ */
- A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
- A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
- A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
- A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
- A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
- A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
- A.GND, /* GND |7 8| 2TRIG */ B.TRIG
- /* +--------------+ */
- )
-NETLIST_END()
-
NETLIST_START(flyball)
SOLVER(Solver, 48000)
@@ -41,8 +22,6 @@ NETLIST_START(flyball)
NET_C(VCC, H256.VCC, V128.VCC)
NET_C(GND, H256.GND, V128.GND)
- LOCAL_SOURCE(NE556_DIP)
-
TTL_INPUT(BAT_SOUND, 1)
TTL_INPUT(FOOTSTEP, 1)
TTL_INPUT(CROWD_SL, 1)
diff --git a/src/mame/audio/nl_starfire.cpp b/src/mame/audio/nl_starfire.cpp
index bae260e7ad1..668d85966cb 100644
--- a/src/mame/audio/nl_starfire.cpp
+++ b/src/mame/audio/nl_starfire.cpp
@@ -14,82 +14,6 @@
#include "netlist/devices/net_lib.h"
//
-// 556 is just two 555s in one package
-//
-
-static NETLIST_START(NE556_DIP)
- NE555(A)
- NE555(B)
-
- NET_C(A.GND, B.GND)
- NET_C(A.VCC, B.VCC)
-
- DIPPINS( /* +--------------+ */
- A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
- A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
- A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
- A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
- A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
- A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
- A.GND, /* GND |7 8| 2TRIG */ B.TRIG
- /* +--------------+ */
- )
-NETLIST_END()
-
-static NETLIST_START(ICL8038_DIP)
- VCVS(VI, 1)
- CCCS(CI1, -1)
- CCCS(CI2, 2)
- SYS_COMPD(COMP)
- SYS_DSW2(SW)
- VCVS(VO, 1)
- RES(R_SHUNT, RES_R(50))
-
- PARAM(VO.RO, 50)
- PARAM(COMP.MODEL, "FAMILY(TYPE=CUSTOM IVL=0.16 IVH=0.4 OVL=0.01 OVH=0.01 ORL=50 ORH=50)")
- PARAM(SW.GOFF, 0) // This has to be zero to block current sources
-
- NET_C(VI.OP, CI1.IN, CI2.IN)
- NET_C(CI1.OP, VO.IP)
- NET_C(COMP.Q, SW.I)
- NET_C(CI2.OP, SW.2)
- NET_C(COMP.VCC, R_SHUNT.1)
- NET_C(SW.1, R_SHUNT.2)
- NET_C(SW.3, VO.IP)
- NET_C(VO.OP, COMP.IN)
-
- // Avoid singular Matrix due to G=0 switch
- RES(RX1, 1e10)
- RES(RX2, 1e10)
- NET_C(RX1.1, SW.1)
- NET_C(RX2.1, SW.3)
-
- NET_C(COMP.GND, RX1.2, RX2.2)
-
- RES(R1, 5000)
- RES(R2, 5000)
- RES(R3, 5000)
-
- // Square output wave
- VCVS(V_SQR, 1)
- NET_C(COMP.Q, V_SQR.IP)
-
- NET_C(COMP.GND, SW.GND, VI.ON, VI.IN, CI1.ON, CI2.ON, VO.IN, VO.ON, R2.2, V_SQR.IN, V_SQR.ON)
- NET_C(COMP.VCC, SW.VCC, R1.2)
- NET_C(COMP.IP, R1.1, R2.1, R3.1)
- NET_C(COMP.Q, R3.2)
-
- ALIAS(11, VI.ON) // GND
- ALIAS(9, V_SQR.OP) // Square out
- ALIAS(3, VO.OP) // Triag out
- ALIAS(8, VI.IP) // VC
- ALIAS(4, CI1.IP) // R1
- ALIAS(5, CI2.IP) // R2
- ALIAS(10, VO.IP) // C1
- ALIAS(6, COMP.VCC) // V+
-NETLIST_END()
-
-//
// Main netlist
//
@@ -117,9 +41,6 @@ NETLIST_START(starfire)
NET_C(VCC, SIZE.VCC, SEXPLO.VCC, STIE.VCC, SLASER.VCC, TRACK.VCC, LOCK.VCC, SCANNER.VCC, OHEAT.VCC)
NET_C(GND, SIZE.GND, SEXPLO.GND, STIE.GND, SLASER.GND, TRACK.GND, LOCK.GND, SCANNER.GND, OHEAT.GND)
- LOCAL_SOURCE(NE556_DIP)
- LOCAL_SOURCE(ICL8038_DIP)
-
RES(R12, RES_K(10))
RES(R13, RES_K(470))
RES(R14, RES_K(470))
diff --git a/src/mame/machine/nl_tank.cpp b/src/mame/machine/nl_tank.cpp
index e956d12a09c..152d7fe01d3 100644
--- a/src/mame/machine/nl_tank.cpp
+++ b/src/mame/machine/nl_tank.cpp
@@ -9,25 +9,6 @@
#include "netlist/devices/net_lib.h"
-static NETLIST_START(NE556_DIP)
- NE555(A)
- NE555(B)
-
- NET_C(A.GND, B.GND)
- NET_C(A.VCC, B.VCC)
-
- DIPPINS( /* +--------------+ */
- A.DISCH, /* 1DISCH |1 ++ 14| VCC */ A.VCC,
- A.THRESH, /* 1THRES |2 13| 2DISCH */ B.DISCH,
- A.CONT, /* 1CONT |3 12| 2THRES */ B.THRESH,
- A.RESET, /* 1RESET |4 NE556 11| 2CONT */ B.CONT,
- A.OUT, /* 1OUT |5 10| 2RESET */ B.RESET,
- A.TRIG, /* 1TRIG |6 9| 2OUT */ B.OUT,
- A.GND, /* GND |7 8| 2TRIG */ B.TRIG
- /* +--------------+ */
- )
-NETLIST_END()
-
NETLIST_START(tank)
SOLVER(Solver, 16000)
@@ -42,8 +23,6 @@ NETLIST_START(tank)
ALIAS(VCC, V5)
ALIAS(P, V5)
- LOCAL_SOURCE(NE556_DIP)
-
RES(R4, RES_K(3.3))
RES(R5, RES_K(3.3))
RES(R6, RES_K(3.3))