summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2016-05-03 23:45:44 +0200
committer couriersud <couriersud@arcor.de>2016-05-04 00:08:07 +0200
commitba57ebf222b9e94d5978d96536e024d9af370dd8 (patch)
treec5816a6c8e9db95d2cffd8753c6d19d49a78932a
parente93ebba83725ff7bc637d178197d03e4cdcca5f7 (diff)
Converted 7427 to macro device
-rw-r--r--scripts/src/netlist.lua2
-rw-r--r--src/lib/netlist/devices/net_lib.cpp2
-rw-r--r--src/lib/netlist/devices/net_lib.h1
-rw-r--r--src/lib/netlist/devices/nld_7427.cpp61
-rw-r--r--src/lib/netlist/devices/nld_7427.h65
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp62
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h14
7 files changed, 74 insertions, 133 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua
index c34da82c3bb..9a9d49976f1 100644
--- a/scripts/src/netlist.lua
+++ b/scripts/src/netlist.lua
@@ -90,8 +90,6 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/devices/nld_7420.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7425.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7425.h",
- MAME_DIR .. "src/lib/netlist/devices/nld_7427.cpp",
- MAME_DIR .. "src/lib/netlist/devices/nld_7427.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7430.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_7430.h",
MAME_DIR .. "src/lib/netlist/devices/nld_7432.cpp",
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 8e71cfa19c0..f570f7dfd08 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -100,7 +100,6 @@ void initialize_factory(factory_list_t &factory)
ENTRY(nicDelay, NETDEV_DELAY, "-")
ENTRY(7420, TTL_7420_NAND, "+A,B,C,D")
ENTRY(7425, TTL_7425_NOR, "+A,B,C,D")
- ENTRY(7427, TTL_7427_NOR, "+A,B,C")
ENTRY(7430, TTL_7430_NAND, "+A,B,C,D,E,F,G,H")
ENTRY(7432, TTL_7432_OR, "+A,B")
ENTRY(7437, TTL_7437_NAND, "+A,B")
@@ -134,7 +133,6 @@ void initialize_factory(factory_list_t &factory)
ENTRY(4538_dip, CD4538_DIP, "-")
ENTRY(7420_dip, TTL_7420_DIP, "-")
ENTRY(7425_dip, TTL_7425_DIP, "-")
- ENTRY(7427_dip, TTL_7427_DIP, "-")
ENTRY(7430_dip, TTL_7430_DIP, "-")
ENTRY(7432_dip, TTL_7432_DIP, "-")
ENTRY(7437_dip, TTL_7437_DIP, "-")
diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h
index c85fd6ef34d..b3c8f8b78eb 100644
--- a/src/lib/netlist/devices/net_lib.h
+++ b/src/lib/netlist/devices/net_lib.h
@@ -19,7 +19,6 @@
#include "nld_4066.h"
#include "nld_7420.h"
#include "nld_7425.h"
-#include "nld_7427.h"
#include "nld_7430.h"
#include "nld_7432.h"
#include "nld_7437.h"
diff --git a/src/lib/netlist/devices/nld_7427.cpp b/src/lib/netlist/devices/nld_7427.cpp
deleted file mode 100644
index 7d9244b61c0..00000000000
--- a/src/lib/netlist/devices/nld_7427.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_7427.c
- *
- */
-
-#include "nld_7427.h"
-
-NETLIB_NAMESPACE_DEVICES_START()
-
-#if (USE_TRUTHTABLE)
-nld_7427::truthtable_t nld_7427::m_ttbl;
-const char *nld_7427::m_desc[] = {
- "A,B,C|Q ",
- "0,0,0|1|22",
- "1,X,X|0|15",
- "X,1,X|0|15",
- "X,X,1|0|15",
- ""
-};
-#endif
-
-NETLIB_START(7427_dip)
-{
- register_sub("1", m_1);
- register_sub("2", m_2);
- register_sub("3", m_3);
-
- register_subalias("1", m_1->m_I[0]);
- register_subalias("2", m_1->m_I[1]);
- register_subalias("3", m_2->m_I[0]);
- register_subalias("4", m_2->m_I[1]);
- register_subalias("5", m_2->m_I[2]);
- register_subalias("6", m_2->m_Q[0]);
-
- register_subalias("8", m_3->m_Q[0]);
- register_subalias("9", m_3->m_I[0]);
- register_subalias("10", m_3->m_I[1]);
- register_subalias("11", m_3->m_I[2]);
-
- register_subalias("12", m_1->m_Q[0]);
- register_subalias("13", m_1->m_I[2]);
-}
-
-NETLIB_UPDATE(7427_dip)
-{
- /* only called during startup */
- m_1->update_dev();
- m_2->update_dev();
- m_3->update_dev();
-}
-
-NETLIB_RESET(7427_dip)
-{
- m_1->do_reset();
- m_2->do_reset();
- m_3->do_reset();
-}
-
-NETLIB_NAMESPACE_DEVICES_END()
diff --git a/src/lib/netlist/devices/nld_7427.h b/src/lib/netlist/devices/nld_7427.h
deleted file mode 100644
index 16302e3fd54..00000000000
--- a/src/lib/netlist/devices/nld_7427.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_7427.h
- *
- * DM7427: Triple 3-Input NOR Gates
- *
- * +--------------+
- * A1 |1 ++ 14| VCC
- * B1 |2 13| C1
- * A2 |3 12| Y1
- * B2 |4 7427 11| C3
- * C2 |5 10| B3
- * Y2 |6 9| A3
- * GND |7 8| Y3
- * +--------------+
- * _____
- * Y = A+B+C
- * +---+---+---++---+
- * | A | B | C || Y |
- * +===+===+===++===+
- * | X | X | 1 || 0 |
- * | X | 1 | X || 0 |
- * | 1 | X | X || 0 |
- * | 0 | 0 | 0 || 1 |
- * +---+---+---++---+
- *
- * Naming conventions follow National Semiconductor datasheet
- *
- */
-
-#ifndef NLD_7427_H_
-#define NLD_7427_H_
-
-#include "nld_signal.h"
-#include "nld_truthtable.h"
-
-#define TTL_7427_NOR(_name, _I1, _I2, _I3) \
- NET_REGISTER_DEV(TTL_7427_NOR, _name) \
- NET_CONNECT(_name, A, _I1) \
- NET_CONNECT(_name, B, _I2) \
- NET_CONNECT(_name, C, _I3)
-
-#define TTL_7427_DIP(_name) \
- NET_REGISTER_DEV(TTL_7427_DIP, _name)
-
-NETLIB_NAMESPACE_DEVICES_START()
-
-#if (USE_TRUTHTABLE)
-NETLIB_TRUTHTABLE(7427, 3, 1, 0);
-#else
-NETLIB_SIGNAL(7427, 3, 1, 0);
-#endif
-
-NETLIB_DEVICE(7427_dip,
-
- NETLIB_SUB(7427) m_1;
- NETLIB_SUB(7427) m_2;
- NETLIB_SUB(7427) m_3;
-);
-
-NETLIB_NAMESPACE_DEVICES_END()
-
-
-#endif /* NLD_7427_H_ */
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index e74d269e9a6..c72e6ee9ce2 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -189,7 +189,7 @@ NETLIST_START(TTL_7410_DIP)
s1.A, /* A1 |1 ++ 14| VCC */ VCC.I,
s1.B, /* B1 |2 13| C1 */ s1.C,
s2.A, /* A2 |3 12| Y1 */ s1.Q,
- s2.B, /* B2 |4 7400 11| C3 */ s3.C,
+ s2.B, /* B2 |4 7410 11| C3 */ s3.C,
s2.C, /* C2 |5 10| B3 */ s3.B,
s2.Q, /* Y2 |6 9| A3 */ s3.A,
GND.I, /* GND |7 8| Y3 */ s3.Q
@@ -226,7 +226,7 @@ NETLIST_START(TTL_7411_DIP)
s1.A, /* A1 |1 ++ 14| VCC */ VCC.I,
s1.B, /* B1 |2 13| C1 */ s1.C,
s2.A, /* A2 |3 12| Y1 */ s1.Q,
- s2.B, /* B2 |4 7400 11| C3 */ s3.C,
+ s2.B, /* B2 |4 7411 11| C3 */ s3.C,
s2.C, /* C2 |5 10| B3 */ s3.B,
s2.Q, /* Y2 |6 9| A3 */ s3.A,
GND.I, /* GND |7 8| Y3 */ s3.Q
@@ -263,6 +263,45 @@ NETLIST_START(TTL_7416_DIP)
)
NETLIST_END()
+/*
+ * DM7427: Triple 3-Input NOR Gates
+ *
+ * _____
+ * Y = A+B+C
+ * +---+---+---++---+
+ * | A | B | C || Y |
+ * +===+===+===++===+
+ * | X | X | 1 || 0 |
+ * | X | 1 | X || 0 |
+ * | 1 | X | X || 0 |
+ * | 0 | 0 | 0 || 1 |
+ * +---+---+---++---+
+ *
+ * Naming conventions follow National Semiconductor datasheet
+ *
+ */
+
+NETLIST_START(TTL_7427_DIP)
+ TTL_7427_GATE(s1)
+ TTL_7427_GATE(s2)
+ TTL_7427_GATE(s3)
+
+ DUMMY_INPUT(GND)
+ DUMMY_INPUT(VCC)
+
+ DIPPINS( /* +--------------+ */
+ s1.A, /* A1 |1 ++ 14| VCC */ VCC.I,
+ s1.B, /* B1 |2 13| C1 */ s1.C,
+ s2.A, /* A2 |3 12| Y1 */ s1.Q,
+ s2.B, /* B2 |4 7427 11| C3 */ s3.C,
+ s2.C, /* C2 |5 10| B3 */ s3.B,
+ s2.Q, /* Y2 |6 9| A3 */ s3.A,
+ GND.I, /* GND |7 8| Y3 */ s3.Q
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+
NETLIST_START(TTL74XX_lib)
TRUTHTABLE_START(TTL_7400_GATE, 2, 1, 0, "")
@@ -371,6 +410,24 @@ NETLIST_START(TTL74XX_lib)
TT_FAMILY("74XXOC")
TRUTHTABLE_END()
+ TRUTHTABLE_START(TTL_7427_GATE, 3, 1, 0, "")
+ TT_HEAD("A,B,C|Q ")
+ TT_LINE("1,X,X|0|22")
+ TT_LINE("X,1,X|0|22")
+ TT_LINE("X,X,1|0|22")
+ TT_LINE("0,0,0|1|15")
+ TT_FAMILY("74XX")
+ TRUTHTABLE_END()
+
+ TRUTHTABLE_START(TTL_7427_NOR, 3, 1, 0, "A,B,C")
+ TT_HEAD("A,B,C|Q ")
+ TT_LINE("1,X,X|0|22")
+ TT_LINE("X,1,X|0|22")
+ TT_LINE("X,X,1|0|22")
+ TT_LINE("0,0,0|1|15")
+ TT_FAMILY("74XX")
+ TRUTHTABLE_END()
+
LOCAL_LIB_ENTRY(TTL_7400_DIP)
LOCAL_LIB_ENTRY(TTL_7402_DIP)
LOCAL_LIB_ENTRY(TTL_7404_DIP)
@@ -378,4 +435,5 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_7410_DIP)
LOCAL_LIB_ENTRY(TTL_7411_DIP)
LOCAL_LIB_ENTRY(TTL_7416_DIP)
+ LOCAL_LIB_ENTRY(TTL_7427_DIP)
NETLIST_END()
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index db2f6cccf2c..54d7a634010 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -70,6 +70,7 @@
#define TTL_7410_DIP(_name) \
NET_REGISTER_DEV(TTL_7410_DIP, _name)
+
#define TTL_7411_GATE(_name) \
NET_REGISTER_DEV(TTL_7411_GATE, _name)
@@ -89,6 +90,19 @@
#define TTL_7416_DIP(_name) \
NET_REGISTER_DEV(TTL7416_DIP, _name)
+
+#define TTL_7427_GATE(_name) \
+ NET_REGISTER_DEV(TTL_7427_GATE, _name)
+
+#define TTL_7427_NOR(_name, _I1, _I2, _I3) \
+ NET_REGISTER_DEV(TTL_7427_NOR, _name) \
+ NET_CONNECT(_name, A, _I1) \
+ NET_CONNECT(_name, B, _I2) \
+ NET_CONNECT(_name, C, _I3)
+
+#define TTL_7427_DIP(_name) \
+ NET_REGISTER_DEV(TTL_7427_DIP, _name)
+
/* ----------------------------------------------------------------------------
* External declarations
* ---------------------------------------------------------------------------*/