summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-08-22 21:30:51 +0200
committer couriersud <couriersud@gmx.org>2020-08-22 21:31:06 +0200
commit4b7eaf67e3880e33a13c3ba8eb2d50f94c53e199 (patch)
tree2034d0951c306d743687ab8b22f48117e6d5303d
parentba8c8e79cfd55530b10a8b8a064e8181890c1f69 (diff)
netlist: remove duplicate device definitions.
-rw-r--r--src/lib/netlist/devices/net_lib.cpp3
-rw-r--r--src/lib/netlist/devices/nld_4020.cpp3
-rw-r--r--src/lib/netlist/devices/nld_4020.h18
-rw-r--r--src/lib/netlist/devices/nld_74174.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74174.h4
-rw-r--r--src/lib/netlist/devices/nld_9321.cpp44
-rw-r--r--src/lib/netlist/devices/nld_9321.h3
-rw-r--r--src/lib/netlist/devices/nld_9322.cpp1
-rw-r--r--src/lib/netlist/devices/nld_9322.h3
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx_lib.cpp258
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx_lib.h181
-rw-r--r--src/mame/audio/nl_mario.cpp2
-rw-r--r--src/mame/audio/nl_starcrus.cpp2
13 files changed, 114 insertions, 409 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 4918a105fab..768ec52077e 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -248,9 +248,7 @@ namespace devices
LIB_ENTRY(9310)
LIB_ENTRY(9314)
LIB_ENTRY(9316)
- LIB_ENTRY(9321_GATE)
LIB_ENTRY(9321)
- LIB_ENTRY(9322_GATE)
LIB_ENTRY(9322)
LIB_ENTRY(9334)
LIB_ENTRY(AM2847)
@@ -259,7 +257,6 @@ namespace devices
LIB_ENTRY(CD4013)
LIB_ENTRY(CD4017)
LIB_ENTRY(CD4022)
- LIB_ENTRY(CD4020_WI)
LIB_ENTRY(CD4020)
LIB_ENTRY(CD4024)
LIB_ENTRY(CD4053_GATE)
diff --git a/src/lib/netlist/devices/nld_4020.cpp b/src/lib/netlist/devices/nld_4020.cpp
index 7061de4bd31..1edc893aed9 100644
--- a/src/lib/netlist/devices/nld_4020.cpp
+++ b/src/lib/netlist/devices/nld_4020.cpp
@@ -167,8 +167,7 @@ namespace netlist
- NETLIB_DEVICE_IMPL(CD4020, "CD4020", "")
- NETLIB_DEVICE_IMPL_ALIAS(CD4020_WI, CD4020, "CD4020_WI", "+IP,+RESET,+VDD,+VSS")
+ NETLIB_DEVICE_IMPL(CD4020, "CD4020", "+IP,+RESET,+VDD,+VSS")
NETLIB_DEVICE_IMPL(CD4024, "CD4024", "")
diff --git a/src/lib/netlist/devices/nld_4020.h b/src/lib/netlist/devices/nld_4020.h
index 942b2f2d457..440a164910c 100644
--- a/src/lib/netlist/devices/nld_4020.h
+++ b/src/lib/netlist/devices/nld_4020.h
@@ -6,18 +6,12 @@
#include "netlist/nl_setup.h"
-/* FIXME: only used in mario.c */
-#define CD4020_WI(name, cIP, cRESET, cVDD, cVSS) \
- NET_REGISTER_DEV(CD4020_WI, name) \
- NET_CONNECT(name, IP, cIP) \
- NET_CONNECT(name, RESET, cRESET) \
- NET_CONNECT(name, VDD, cVDD) \
- NET_CONNECT(name, VSS, cVSS)
+// usage : CD4020(name)
+#define CD4020(...) \
+ NET_REGISTER_DEVEXT(CD4020, __VA_ARGS__)
-#define CD4020(name) \
- NET_REGISTER_DEV(CD4020, name)
-
-#define CD4024(name) \
- NET_REGISTER_DEV(CD4024, name)
+// usage : CD4024(name)
+#define CD4024(...) \
+ NET_REGISTER_DEVEXT(CD4024, __VA_ARGS__)
#endif /* NLD_4020_H_ */
diff --git a/src/lib/netlist/devices/nld_74174.cpp b/src/lib/netlist/devices/nld_74174.cpp
index cdc08aa8d8e..9949503ef42 100644
--- a/src/lib/netlist/devices/nld_74174.cpp
+++ b/src/lib/netlist/devices/nld_74174.cpp
@@ -162,7 +162,6 @@ namespace devices
NETLIB_SUB(74174_GATE) F;
};
- NETLIB_DEVICE_IMPL(74174_GATE, "TTL_74174_GATE", "")
NETLIB_DEVICE_IMPL(74174, "TTL_74174", "+CLK,+D1,+D2,+D3,+D4,+D5,+D6,+CLRQ,@VCC,@GND")
} //namespace devices
diff --git a/src/lib/netlist/devices/nld_74174.h b/src/lib/netlist/devices/nld_74174.h
index 7b41f818787..572cf560aae 100644
--- a/src/lib/netlist/devices/nld_74174.h
+++ b/src/lib/netlist/devices/nld_74174.h
@@ -6,10 +6,6 @@
#include "netlist/nl_setup.h"
-// usage: TTL_74174_GATE(name)
-#define TTL_74174_GATE(...) \
- NET_REGISTER_DEVEXT(TTL_74174_GATE, __VA_ARGS__)
-
// usage: TTL_74174(name, cCLK, cD1, cD2, cD3, cD4, cD5, cD6, cCLRQ)
#define TTL_74174(...) \
NET_REGISTER_DEVEXT(TTL_74174, __VA_ARGS__)
diff --git a/src/lib/netlist/devices/nld_9321.cpp b/src/lib/netlist/devices/nld_9321.cpp
index a3e5411c86e..f4ae55154ef 100644
--- a/src/lib/netlist/devices/nld_9321.cpp
+++ b/src/lib/netlist/devices/nld_9321.cpp
@@ -25,11 +25,12 @@ namespace netlist
{
namespace devices
{
- class NETLIB_NAME(9321);
- NETLIB_OBJECT(9321_GATE)
+ // FIXME: m_E should activate deactivate m_A
+
+ NETLIB_OBJECT(9321)
{
- NETLIB_CONSTRUCTOR(9321_GATE)
+ NETLIB_CONSTRUCTOR(9321)
, m_enable(*this, "m_enable", true)
, m_o(*this, "m_o", 0)
, m_A(*this, 0, "A{}", NETLIB_DELEGATE(in))
@@ -64,42 +65,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
- NETLIB_OBJECT(9321)
- {
- NETLIB_CONSTRUCTOR(9321)
- , m_A(*this, "A")
- , m_B(*this, "B")
- {
- register_subalias("AE1", m_A.m_E);
- register_subalias("BE1", m_B.m_E);
- register_subalias("AA0", m_A.m_A[0]);
- register_subalias("BA0", m_B.m_A[0]);
- register_subalias("AA1", m_A.m_A[1]);
- register_subalias("BA1", m_B.m_A[1]);
- register_subalias("AD0", m_A.m_D[0]);
- register_subalias("BD0", m_B.m_D[0]);
- register_subalias("AD1", m_A.m_D[1]);
- register_subalias("BD1", m_B.m_D[1]);
- register_subalias("AD2", m_A.m_D[2]);
- register_subalias("BD2", m_B.m_D[2]);
- register_subalias("AD3", m_A.m_D[3]);
- register_subalias("BD3", m_B.m_D[3]);
-
- connect("A.VCC", "B.VCC");
- connect("A.GND", "B.GND");
-
- register_subalias("GND", "A.GND");
- register_subalias("VCC", "B.VCC");
- }
-
- friend class NETLIB_NAME(9321_dip);
- private:
- NETLIB_SUB(9321_GATE) m_A;
- NETLIB_SUB(9321_GATE) m_B;
- };
-
- NETLIB_DEVICE_IMPL(9321_GATE, "TTL_9321_GATE", "")
- NETLIB_DEVICE_IMPL(9321, "TTL_9321", "+SELECT,+A1,+B1,+A2,+B2,+A3,+B3,+A4,+B4,+STROBE,@VCC,@GND")
+ NETLIB_DEVICE_IMPL(9321, "TTL_9321", "+E,+A0,+A1")
} //namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_9321.h b/src/lib/netlist/devices/nld_9321.h
index 3ed55a346bd..41bf89fed2a 100644
--- a/src/lib/netlist/devices/nld_9321.h
+++ b/src/lib/netlist/devices/nld_9321.h
@@ -6,9 +6,6 @@
#include "netlist/nl_setup.h"
-#define TTL_9321_GATE(...) \
- NET_REGISTER_DEVEXT(TTL_9321_GATE, __VA_ARGS__)
-
// usage: TTL_9321(name, cAE, cA0, cA1, cBE, cB0, cB1)
#define TTL_9321(...) \
NET_REGISTER_DEVEXT(TTL_9321, __VA_ARGS__)
diff --git a/src/lib/netlist/devices/nld_9322.cpp b/src/lib/netlist/devices/nld_9322.cpp
index 11b7659b581..4ceb865a13a 100644
--- a/src/lib/netlist/devices/nld_9322.cpp
+++ b/src/lib/netlist/devices/nld_9322.cpp
@@ -107,7 +107,6 @@ namespace netlist
};
- NETLIB_DEVICE_IMPL(9322_GATE, "TTL_9322_GATE", "")
NETLIB_DEVICE_IMPL(9322, "TTL_9322", "+SELECT,+A1,+B1,+A2,+B2,+A3,+B3,+A4,+B4,+STROBE,@VCC,@GND")
} //namespace devices
diff --git a/src/lib/netlist/devices/nld_9322.h b/src/lib/netlist/devices/nld_9322.h
index d53d0c210e5..8a33f66959b 100644
--- a/src/lib/netlist/devices/nld_9322.h
+++ b/src/lib/netlist/devices/nld_9322.h
@@ -6,9 +6,6 @@
#include "netlist/nl_setup.h"
-#define TTL_9322_GATE(...) \
- NET_REGISTER_DEVEXT(TTL_9322_GATE, __VA_ARGS__)
-
// usage: TTL_9322(name, cSELECT, cA1, cB1, cA2, cB2, cA3, cB3, cA4, cB4, cSTROBE)
#define TTL_9322(...) \
NET_REGISTER_DEVEXT(TTL_9322, __VA_ARGS__)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp b/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
index 0d3754e94d7..d63fe93b1c3 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx_lib.cpp
@@ -22,10 +22,10 @@
//- +---+---++---+
//-
static NETLIST_START(TTL_7400_DIP)
- TTL_7400_GATE(A)
- TTL_7400_GATE(B)
- TTL_7400_GATE(C)
- TTL_7400_GATE(D)
+ TTL_7400_NAND(A)
+ TTL_7400_NAND(B)
+ TTL_7400_NAND(C)
+ TTL_7400_NAND(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -61,10 +61,10 @@ NETLIST_END()
//- +---+---++---+
//-
static NETLIST_START(TTL_7402_DIP)
- TTL_7402_GATE(A)
- TTL_7402_GATE(B)
- TTL_7402_GATE(C)
- TTL_7402_GATE(D)
+ TTL_7402_NOR(A)
+ TTL_7402_NOR(B)
+ TTL_7402_NOR(C)
+ TTL_7402_NOR(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -98,12 +98,12 @@ NETLIST_END()
//- +---++---+
//-
static NETLIST_START(TTL_7404_DIP)
- TTL_7404_GATE(A)
- TTL_7404_GATE(B)
- TTL_7404_GATE(C)
- TTL_7404_GATE(D)
- TTL_7404_GATE(E)
- TTL_7404_GATE(F)
+ TTL_7404_INVERT(A)
+ TTL_7404_INVERT(B)
+ TTL_7404_INVERT(C)
+ TTL_7404_INVERT(D)
+ TTL_7404_INVERT(E)
+ TTL_7404_INVERT(F)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC, E.VCC, F.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND, E.GND, F.GND)
@@ -221,10 +221,10 @@ NETLIST_END()
//- +---+---++---+
//-
static NETLIST_START(TTL_7408_DIP)
- TTL_7408_GATE(A)
- TTL_7408_GATE(B)
- TTL_7408_GATE(C)
- TTL_7408_GATE(D)
+ TTL_7408_AND(A)
+ TTL_7408_AND(B)
+ TTL_7408_AND(C)
+ TTL_7408_AND(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -260,9 +260,9 @@ NETLIST_END()
//- +---+---+---++---+
//-
static NETLIST_START(TTL_7410_DIP)
- TTL_7410_GATE(A)
- TTL_7410_GATE(B)
- TTL_7410_GATE(C)
+ TTL_7410_NAND(A)
+ TTL_7410_NAND(B)
+ TTL_7410_NAND(C)
NET_C(A.VCC, B.VCC, C.VCC)
NET_C(A.GND, B.GND, C.GND)
@@ -298,9 +298,9 @@ NETLIST_END()
//- +---+---+---++---+
//-
static NETLIST_START(TTL_7411_DIP)
- TTL_7411_GATE(A)
- TTL_7411_GATE(B)
- TTL_7411_GATE(C)
+ TTL_7411_AND(A)
+ TTL_7411_AND(B)
+ TTL_7411_AND(C)
NET_C(A.VCC, B.VCC, C.VCC)
NET_C(A.GND, B.GND, C.GND)
@@ -457,8 +457,8 @@ NETLIST_END()
//- +---+---+---+---++---+
//-
static NETLIST_START(TTL_7420_DIP)
- TTL_7420_GATE(A)
- TTL_7420_GATE(B)
+ TTL_7420_NAND(A)
+ TTL_7420_NAND(B)
NET_C(A.VCC, B.VCC)
NET_C(A.GND, B.GND)
@@ -496,8 +496,8 @@ NETLIST_END()
//- +---+---+---+---++---+
//-
static NETLIST_START(TTL_7421_DIP)
- TTL_7421_GATE(A)
- TTL_7421_GATE(B)
+ TTL_7421_AND(A)
+ TTL_7421_AND(B)
NET_C(A.VCC, B.VCC)
NET_C(A.GND, B.GND)
@@ -538,8 +538,8 @@ NETLIST_END()
//- +---+---+---+---+---++---+
//-
static NETLIST_START(TTL_7425_DIP)
- TTL_7425_GATE(A)
- TTL_7425_GATE(B)
+ TTL_7425_NOR(A)
+ TTL_7425_NOR(B)
NET_C(A.VCC, B.VCC)
NET_C(A.GND, B.GND)
@@ -577,9 +577,9 @@ NETLIST_END()
//- +---+---+---++---+
//-
static NETLIST_START(TTL_7427_DIP)
- TTL_7427_GATE(A)
- TTL_7427_GATE(B)
- TTL_7427_GATE(C)
+ TTL_7427_NOR(A)
+ TTL_7427_NOR(B)
+ TTL_7427_NOR(C)
NET_C(A.VCC, B.VCC, C.VCC)
NET_C(A.GND, B.GND, C.GND)
@@ -619,7 +619,7 @@ NETLIST_END()
//- +---+---+---+---+---+---+---+---++---+
//-
static NETLIST_START(TTL_7430_DIP)
- TTL_7430_GATE(A)
+ TTL_7430_NAND(A)
NC_PIN(NC)
DIPPINS( /* +--------------+ */
@@ -653,10 +653,10 @@ NETLIST_END()
//- +---+---++---+
//-
static NETLIST_START(TTL_7432_DIP)
- TTL_7432_GATE(A)
- TTL_7432_GATE(B)
- TTL_7432_GATE(C)
- TTL_7432_GATE(D)
+ TTL_7432_OR(A)
+ TTL_7432_OR(B)
+ TTL_7432_OR(C)
+ TTL_7432_OR(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -693,10 +693,10 @@ NETLIST_END()
//- +---+---++---+
//-
static NETLIST_START(TTL_7437_DIP)
- TTL_7437_GATE(A)
- TTL_7437_GATE(B)
- TTL_7437_GATE(C)
- TTL_7437_GATE(D)
+ TTL_7437_NAND(A)
+ TTL_7437_NAND(B)
+ TTL_7437_NAND(C)
+ TTL_7437_NAND(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -1202,10 +1202,10 @@ NETLIST_END()
//- +---+---++---+
//-
static NETLIST_START(TTL_7486_DIP)
- TTL_7486_GATE(A)
- TTL_7486_GATE(B)
- TTL_7486_GATE(C)
- TTL_7486_GATE(D)
+ TTL_7486_XOR(A)
+ TTL_7486_XOR(B)
+ TTL_7486_XOR(C)
+ TTL_7486_XOR(D)
NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
NET_C(A.GND, B.GND, C.GND, D.GND)
@@ -2316,12 +2316,12 @@ NETLIST_END()
//- +------+-----+---++---+
//-
static NETLIST_START(TTL_74174_DIP)
- TTL_74174_GATE(A)
- TTL_74174_GATE(B)
- TTL_74174_GATE(C)
- TTL_74174_GATE(D)
- TTL_74174_GATE(E)
- TTL_74174_GATE(F)
+ TTL_74174(A)
+ TTL_74174(B)
+ TTL_74174(C)
+ TTL_74174(D)
+ TTL_74174(E)
+ TTL_74174(F)
DIPPINS( /* +--------------+ */
A.CLRQ, /* CLRQ |1 ++ 16| VCC */ A.VCC,
@@ -2357,8 +2357,8 @@ NETLIST_END()
//- +---+---+---+---+---++---+
//-
static NETLIST_START(TTL_74260_DIP)
- TTL_74260_GATE(A)
- TTL_74260_GATE(B)
+ TTL_74260_NOR(A)
+ TTL_74260_NOR(B)
NET_C(A.VCC, B.VCC)
NET_C(A.GND, B.GND)
@@ -2846,25 +2846,17 @@ NETLIST_END()
//- http://pdf.datasheetcatalog.com/datasheet/nationalsemiconductor/DS006606.PDF
//-
static NETLIST_START(TTL_9322_DIP)
- TTL_9322_GATE(A)
- TTL_9322_GATE(B)
- TTL_9322_GATE(C)
- TTL_9322_GATE(D)
-
- NET_C(A.SELECT, B.SELECT, C.SELECT, D.SELECT)
- NET_C(A.STROBE, B.STROBE, C.STROBE, D.STROBE)
- NET_C(A.VCC, B.VCC, C.VCC, D.VCC)
- NET_C(A.GND, B.GND, C.GND, D.GND)
+ TTL_9322(A)
DIPPINS( /* +--------------+ */
- A.SELECT, /* SELECT |1 ++ 16| VCC */ A.VCC,
- A.A, /* A1 |2 15| STROBE */ A.STROBE,
- A.B, /* B1 |3 14| A4 */ D.A,
- A.Y, /* Y1 |4 9322 13| B4 */ D.B,
- B.A, /* A2 |5 12| Y4 */ D.Y,
- B.B, /* B2 |6 11| A3 */ C.A,
- B.Y, /* Y2 |7 10| B3 */ C.B,
- A.GND, /* GND |8 9| Y3 */ C.Y
+ A.SELECT, /* SELECT |1 ++ 16| VCC */ A.VCC,
+ A.A1, /* A1 |2 15| STROBE */ A.STROBE,
+ A.B1, /* B1 |3 14| A4 */ A.A4,
+ A.Y1, /* Y1 |4 9322 13| B4 */ A.B4,
+ A.A2, /* A2 |5 12| Y4 */ A.Y4,
+ A.B2, /* B2 |6 11| A3 */ A.A3,
+ A.Y2, /* Y2 |7 10| B3 */ A.B3,
+ A.GND, /* GND |8 9| Y3 */ A.Y3
/* +--------------+ */
)
NETLIST_END()
@@ -2876,8 +2868,8 @@ NETLIST_END()
//- NamingConvention: Naming conventions follow National Semiconductor datasheet
//-
static NETLIST_START(TTL_9321_DIP)
- TTL_9321_GATE(A)
- TTL_9321_GATE(B)
+ TTL_9321(A)
+ TTL_9321(B)
NET_C(A.VCC, B.VCC)
NET_C(A.GND, B.GND)
@@ -2952,14 +2944,6 @@ NETLIST_START(ttl74xx_lib)
//NET_MODEL("DM7414 FAMILY(IVL=0.16 IVH=0.4 OVL=0.1 OVH=0.05 ORL=10.0 ORH=1.0e8)")
- TRUTHTABLE_START(TTL_7400_GATE, 2, 1, "")
- TT_HEAD("A,B|Q ")
- TT_LINE("0,X|1|22")
- TT_LINE("X,0|1|22")
- TT_LINE("1,1|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7400_NAND, 2, 1, "+A,+B,@VCC,@GND")
TT_HEAD("A,B|Q ")
TT_LINE("0,X|1|22")
@@ -2968,14 +2952,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7402_GATE, 2, 1, "")
- TT_HEAD("A,B|Q ")
- TT_LINE("0,0|1|22")
- TT_LINE("X,1|0|15")
- TT_LINE("1,X|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7402_NOR, 2, 1, "+A,+B,@VCC,@GND")
TT_HEAD("A,B|Q ")
TT_LINE("0,0|1|22")
@@ -2984,13 +2960,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7404_GATE, 1, 1, "")
- TT_HEAD(" A | Q ")
- TT_LINE(" 0 | 1 |22")
- TT_LINE(" 1 | 0 |15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7404_INVERT, 1, 1, "+A,@VCC,@GND")
TT_HEAD(" A | Q ")
TT_LINE(" 0 | 1 |22")
@@ -3074,16 +3043,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XXOC")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7420_GATE, 4, 1, "")
- TT_HEAD("A,B,C,D|Q ")
- TT_LINE("0,X,X,X|1|22")
- TT_LINE("X,0,X,X|1|22")
- TT_LINE("X,X,0,X|1|22")
- TT_LINE("X,X,X,0|1|22")
- TT_LINE("1,1,1,1|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7420_NAND, 4, 1, "+A,+B,+C,+D,@VCC,@GND")
TT_HEAD("A,B,C,D|Q ")
TT_LINE("0,X,X,X|1|22")
@@ -3094,16 +3053,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7421_GATE, 4, 1, "")
- TT_HEAD("A,B,C,D|Q ")
- TT_LINE("0,X,X,X|0|22")
- TT_LINE("X,0,X,X|0|22")
- TT_LINE("X,X,0,X|0|22")
- TT_LINE("X,X,X,0|0|22")
- TT_LINE("1,1,1,1|1|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7421_AND, 4, 1, "+A,+B,+C,+D,@VCC,@GND")
TT_HEAD("A,B,C,D|Q ")
TT_LINE("0,X,X,X|0|22")
@@ -3114,16 +3063,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7425_GATE, 4, 1, "")
- TT_HEAD("A,B,C,D|Q ")
- TT_LINE("1,X,X,X|0|15")
- TT_LINE("X,1,X,X|0|15")
- TT_LINE("X,X,1,X|0|15")
- TT_LINE("X,X,X,1|0|15")
- TT_LINE("0,0,0,0|1|22")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7425_NOR, 4, 1, "+A,+B,+C,+D,@VCC,@GND")
TT_HEAD("A,B,C,D|Q ")
TT_LINE("1,X,X,X|0|15")
@@ -3134,15 +3073,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7427_GATE, 3, 1, "")
- TT_HEAD("A,B,C|Q ")
- TT_LINE("1,X,X|0|15")
- TT_LINE("X,1,X|0|15")
- TT_LINE("X,X,1|0|15")
- TT_LINE("0,0,0|1|22")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7427_NOR, 3, 1, "+A,+B,+C,@VCC,@GND")
TT_HEAD("A,B,C|Q ")
TT_LINE("1,X,X|0|15")
@@ -3152,20 +3082,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7430_GATE, 8, 1, "")
- TT_HEAD("A,B,C,D,E,F,G,H|Q ")
- TT_LINE("0,X,X,X,X,X,X,X|1|22")
- TT_LINE("X,0,X,X,X,X,X,X|1|22")
- TT_LINE("X,X,0,X,X,X,X,X|1|22")
- TT_LINE("X,X,X,0,X,X,X,X|1|22")
- TT_LINE("X,X,X,X,0,X,X,X|1|22")
- TT_LINE("X,X,X,X,X,0,X,X|1|22")
- TT_LINE("X,X,X,X,X,X,0,X|1|22")
- TT_LINE("X,X,X,X,X,X,X,0|1|22")
- TT_LINE("1,1,1,1,1,1,1,1|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7430_NAND, 8, 1, "+A,+B,+C,+D,+E,+F,+G,+H,@VCC,@GND")
TT_HEAD("A,B,C,D,E,F,G,H|Q ")
TT_LINE("0,X,X,X,X,X,X,X|1|22")
@@ -3180,14 +3096,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7432_GATE, 2, 1, "")
- TT_HEAD("A,B|Q ")
- TT_LINE("1,X|1|22")
- TT_LINE("X,1|1|22")
- TT_LINE("0,0|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7432_OR, 2, 1, "+A,+B,@VCC,@GND")
TT_HEAD("A,B|Q ")
TT_LINE("1,X|1|22")
@@ -3196,18 +3104,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- /* FIXME: Same as 7400, but drains higher output currents.
- * Netlist currently does not model over currents (should it ever?)
- */
-
- TRUTHTABLE_START(TTL_7437_GATE, 2, 1, "")
- TT_HEAD("A,B|Q ")
- TT_LINE("0,X|1|22")
- TT_LINE("X,0|1|22")
- TT_LINE("1,1|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7442, 4, 10, "")
TT_HEAD("D,C,B,A|0,1,2,3,4,5,6,7,8,9")
TT_LINE("0,0,0,0|0,1,1,1,1,1,1,1,1,1|30,30,30,30,30,30,30,30,30,30")
@@ -3224,6 +3120,10 @@ NETLIST_START(ttl74xx_lib)
TT_LINE("1,1,X,X|1,1,1,1,1,1,1,1,1,1|30,30,30,30,30,30,30,30,30,30")
TRUTHTABLE_END()
+ /* FIXME: Same as 7400, but drains higher output currents.
+ * Netlist currently does not model over currents (should it ever?)
+ */
+
TRUTHTABLE_START(TTL_7437_NAND, 2, 1, "+A,+B")
TT_HEAD("A,B|Q ")
TT_LINE("0,X|1|22")
@@ -3232,15 +3132,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_7486_GATE, 2, 1, "")
- TT_HEAD("A,B|Q ")
- TT_LINE("0,0|0|15")
- TT_LINE("0,1|1|22")
- TT_LINE("1,0|1|22")
- TT_LINE("1,1|0|15")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_7486_XOR, 2, 1, "+A,+B,@VCC,@GND")
TT_HEAD("A,B|Q ")
TT_LINE("0,0|0|15")
@@ -3315,17 +3206,6 @@ NETLIST_START(ttl74xx_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
- TRUTHTABLE_START(TTL_74260_GATE, 5, 1, "")
- TT_HEAD("A,B,C,D,E|Q ")
- TT_LINE("0,0,0,0,0|1|10")
- TT_LINE("X,X,X,X,1|0|12")
- TT_LINE("X,X,X,1,X|0|12")
- TT_LINE("X,X,1,X,X|0|12")
- TT_LINE("X,1,X,X,X|0|12")
- TT_LINE("1,X,X,X,X|0|12")
- TT_FAMILY("74XX")
- TRUTHTABLE_END()
-
TRUTHTABLE_START(TTL_74260_NOR, 5, 1, "+A,+B,+C,+D,+E,@VCC,@GND")
TT_HEAD("A,B,C,D,E|Q")
TT_LINE("0,0,0,0,0|1|10")
diff --git a/src/lib/netlist/macro/nlm_ttl74xx_lib.h b/src/lib/netlist/macro/nlm_ttl74xx_lib.h
index ce91782b5e6..9f1e829b99a 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx_lib.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx_lib.h
@@ -18,41 +18,21 @@
#if !NL_AUTO_DEVICES
-#define TTL_7400_GATE(name) \
- NET_REGISTER_DEV(TTL_7400_GATE, name)
-
-#define TTL_7400_NAND(name, cA, cB) \
- NET_REGISTER_DEV(TTL_7400_NAND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB)
+#define TTL_7400_NAND(...) \
+ NET_REGISTER_DEVEXT(TTL_7400_NAND, __VA_ARGS__)
#define TTL_7400_DIP(name) \
NET_REGISTER_DEV(TTL_7400_DIP, name)
-#define TTL_7402_GATE(name) \
- NET_REGISTER_DEV(TTL_7402_GATE, name)
-
-#define TTL_7402_NOR(name, cI1, cI2) \
- NET_REGISTER_DEV(TTL_7402_NOR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2)
+#define TTL_7402_NOR(...) \
+ NET_REGISTER_DEVEXT(TTL_7402_NOR, __VA_ARGS__)
#define TTL_7402_DIP(name) \
NET_REGISTER_DEV(TTL_7402_DIP, name)
-#define TTL_7404_GATE(name) \
- NET_REGISTER_DEV(TTL_7404_GATE, name)
-
-#define TTL_7404_INVERT(name, cA) \
- NET_REGISTER_DEV(TTL_7404_INVERT, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA)
+#define TTL_7404_INVERT(...) \
+ NET_REGISTER_DEVEXT(TTL_7404_INVERT, __VA_ARGS__)
#define TTL_7404_DIP(name) \
NET_REGISTER_DEV(TTL_7404_DIP, name)
@@ -72,48 +52,27 @@
NET_REGISTER_DEV(TTL_7407_DIP, name)
-#define TTL_7408_GATE(name) \
- NET_REGISTER_DEV(TTL_7408_GATE, name)
-
-#define TTL_7408_AND(name, cA, cB) \
- NET_REGISTER_DEV(TTL_7408_AND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB)
+#define TTL_7408_AND(...) \
+ NET_REGISTER_DEVEXT(TTL_7408_AND, __VA_ARGS__)
#define TTL_7408_DIP(name) \
NET_REGISTER_DEV(TTL_7408_DIP, name)
-#define TTL_7410_GATE(name) \
- NET_REGISTER_DEV(TTL_7410_GATE, name)
-#define TTL_7410_NAND(name, cI1, cI2, cI3) \
- NET_REGISTER_DEV(TTL_7410_NAND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3)
+#define TTL_7410_NAND(...) \
+ NET_REGISTER_DEVEXT(TTL_7410_NAND, __VA_ARGS__)
#define TTL_7410_DIP(name) \
NET_REGISTER_DEV(TTL_7410_DIP, name)
-#define TTL_7411_GATE(name) \
- NET_REGISTER_DEV(TTL_7411_GATE, name)
-
-#define TTL_7411_AND(name, cI1, cI2, cI3) \
- NET_REGISTER_DEV(TTL_7411_AND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3)
+#define TTL_7411_AND(...) \
+ NET_REGISTER_DEVEXT(TTL_7411_AND, __VA_ARGS__)
#define TTL_7411_DIP(name) \
NET_REGISTER_DEV(TTL_7411_DIP, name)
+
#define TTL_7414_GATE(name) \
NET_REGISTER_DEV(TTL_7414_GATE, name)
@@ -135,111 +94,50 @@
NET_REGISTER_DEV(TTL_7416_DIP, name)
-#define TTL_7420_GATE(name) \
- NET_REGISTER_DEV(TTL_7420_GATE, name)
-
-#define TTL_7420_NAND(name, cI1, cI2, cI3, cI4) \
- NET_REGISTER_DEV(TTL_7420_NAND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3) \
- NET_CONNECT(name, D, cI4)
+#define TTL_7420_NAND(...) \
+ NET_REGISTER_DEVEXT(TTL_7420_NAND, __VA_ARGS__)
#define TTL_7420_DIP(name) \
NET_REGISTER_DEV(TTL_7420_DIP, name)
-#define TTL_7421_GATE(name) \
- NET_REGISTER_DEV(TTL_7421_GATE, name)
-
-#define TTL_7421_AND(name, cI1, cI2, cI3, cI4) \
- NET_REGISTER_DEV(TTL_7421_AND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3) \
- NET_CONNECT(name, D, cI4)
+#define TTL_7421_AND(...) \
+ NET_REGISTER_DEVEXT(TTL_7421_AND, __VA_ARGS__)
#define TTL_7421_DIP(name) \
NET_REGISTER_DEV(TTL_7421_DIP, name)
-#define TTL_7425_GATE(name) \
- NET_REGISTER_DEV(TTL_7425_GATE, name)
-
-#define TTL_7425_NOR(name, cI1, cI2, cI3, cI4) \
- NET_REGISTER_DEV(TTL_7425_NOR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3) \
- NET_CONNECT(name, D, cI4)
+#define TTL_7425_NOR(...) \
+ NET_REGISTER_DEVEXT(TTL_7425_NOR, __VA_ARGS__)
#define TTL_7425_DIP(name) \
NET_REGISTER_DEV(TTL_7425_DIP, name)
-#define TTL_7427_GATE(name) \
- NET_REGISTER_DEV(TTL_7427_GATE, name)
-
-#define TTL_7427_NOR(name, cI1, cI2, cI3) \
- NET_REGISTER_DEV(TTL_7427_NOR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3)
+#define TTL_7427_NOR(...) \
+ NET_REGISTER_DEVEXT(TTL_7427_NOR, __VA_ARGS__)
#define TTL_7427_DIP(name) \
NET_REGISTER_DEV(TTL_7427_DIP, name)
-#define TTL_7430_GATE(name) \
- NET_REGISTER_DEV(TTL_7430_GATE, name)
-
-#define TTL_7430_NAND(name, cI1, cI2, cI3, cI4, cI5, cI6, cI7, cI8)\
- NET_REGISTER_DEV(TTL_7430_NAND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2) \
- NET_CONNECT(name, C, cI3) \
- NET_CONNECT(name, D, cI4) \
- NET_CONNECT(name, E, cI5) \
- NET_CONNECT(name, F, cI6) \
- NET_CONNECT(name, G, cI7) \
- NET_CONNECT(name, H, cI8)
+#define TTL_7430_NAND(...) \
+ NET_REGISTER_DEVEXT(TTL_7430_NAND, __VA_ARGS__)
#define TTL_7430_DIP(name) \
NET_REGISTER_DEV(TTL_7430_DIP, name)
-#define TTL_7432_GATE(name) \
- NET_REGISTER_DEV(TTL_7432_OR, name)
-
-#define TTL_7432_OR(name, cI1, cI2) \
- NET_REGISTER_DEV(TTL_7432_OR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cI1) \
- NET_CONNECT(name, B, cI2)
+#define TTL_7432_OR(...) \
+ NET_REGISTER_DEVEXT(TTL_7432_OR, __VA_ARGS__)
#define TTL_7432_DIP(name) \
NET_REGISTER_DEV(TTL_7432_DIP, name)
-#define TTL_7437_GATE(name) \
- NET_REGISTER_DEV(TTL_7437_GATE, name)
-#define TTL_7437_NAND(name, cA, cB) \
- NET_REGISTER_DEV(TTL_7437_NAND, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB)
+#define TTL_7437_NAND(...) \
+ NET_REGISTER_DEVEXT(TTL_7437_NAND, __VA_ARGS__)
#define TTL_7437_DIP(name) \
NET_REGISTER_DEV(TTL_7437_DIP, name)
@@ -275,15 +173,8 @@
#define TTL_7485_DIP(name) \
NET_REGISTER_DEV(TTL_7485_DIP, name)
-#define TTL_7486_GATE(name) \
- NET_REGISTER_DEV(TTL_7486_GATE, name)
-
-#define TTL_7486_XOR(name, cA, cB) \
- NET_REGISTER_DEV(TTL_7486_XOR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB)
+#define TTL_7486_XOR(...) \
+ NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__)
#define TTL_7486_DIP(name) \
NET_REGISTER_DEV(TTL_7486_DIP, name)
@@ -357,18 +248,8 @@
#define TTL_74174_DIP(name) \
NET_REGISTER_DEV(TTL_74174_DIP, name)
-#define TTL_74260_GATE(name) \
- NET_REGISTER_DEV(TTL_74260_GATE, name)
-
-#define TTL_74260_NOR(name, cA, cB, cC, cD, cE) \
- NET_REGISTER_DEV(TTL_74260_NOR, name) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB) \
- NET_CONNECT(name, C, cC) \
- NET_CONNECT(name, D, cD) \
- NET_CONNECT(name, E, cE)
+#define TTL_74260_NOR(...) \
+ NET_REGISTER_DEVEXT(TTL_74260_NOR, __VA_ARGS__)
#define TTL_74260_DIP(name) \
NET_REGISTER_DEV(TTL_74260_DIP, name)
diff --git a/src/mame/audio/nl_mario.cpp b/src/mame/audio/nl_mario.cpp
index a009988fff5..ddd1cc6866e 100644
--- a/src/mame/audio/nl_mario.cpp
+++ b/src/mame/audio/nl_mario.cpp
@@ -149,7 +149,7 @@ static NETLIST_START(nl_mario_snd7)
NET_C(R65.2, 4K_A.FC, C44.1)
NET_C(C44.2, GND)
- CD4020_WI(3H, 4K_B.Y, ttllow, V5, GND)
+ CD4020(3H, 4K_B.Y, ttllow, V5, GND)
TTL_7404_INVERT(4J_B, 3H.Q12)
RES(R64, RES_K(20))
diff --git a/src/mame/audio/nl_starcrus.cpp b/src/mame/audio/nl_starcrus.cpp
index 974e772ce98..99db733b726 100644
--- a/src/mame/audio/nl_starcrus.cpp
+++ b/src/mame/audio/nl_starcrus.cpp
@@ -151,7 +151,7 @@ NETLIST_START(starcrus)
NET_C(LAUNCH_1, H6.1, H6.2)
NET_C(LAUNCH_2, H6.12, H6.13)
- TTL_7404_GATE(F8)
+ TTL_7404_INVERT(F8)
NET_C(F8.GND, GND)
NET_C(F8.VCC, V5)
NET_C(H6.6, F8.A)