diff options
-rw-r--r-- | scripts/src/netlist.lua | 2 | ||||
-rw-r--r-- | src/lib/netlist/devices/net_lib.cpp | 2 | ||||
-rw-r--r-- | src/lib/netlist/devices/net_lib.h | 1 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_7411.cpp | 61 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_7411.h | 65 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.cpp | 60 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.h | 14 |
7 files changed, 71 insertions, 134 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index ce50444baac..c34da82c3bb 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -86,8 +86,6 @@ project "netlist" MAME_DIR .. "src/lib/netlist/devices/nld_4020.h", MAME_DIR .. "src/lib/netlist/devices/nld_4066.cpp", MAME_DIR .. "src/lib/netlist/devices/nld_4066.h", - MAME_DIR .. "src/lib/netlist/devices/nld_7411.cpp", - MAME_DIR .. "src/lib/netlist/devices/nld_7411.h", MAME_DIR .. "src/lib/netlist/devices/nld_7420.cpp", MAME_DIR .. "src/lib/netlist/devices/nld_7420.h", MAME_DIR .. "src/lib/netlist/devices/nld_7425.cpp", diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index 790ae6c7598..8e71cfa19c0 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -98,7 +98,6 @@ void initialize_factory(factory_list_t &factory) ENTRY(switch2, SWITCH2, "-") ENTRY(nicRSFF, NETDEV_RSFF, "+S,R") ENTRY(nicDelay, NETDEV_DELAY, "-") - ENTRY(7411, TTL_7411_AND, "+A,B,C") 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") @@ -133,7 +132,6 @@ void initialize_factory(factory_list_t &factory) ENTRY(NE555, NE555, "-") ENTRY(r2r_dac, R2R_DAC, "+VIN,R,N") ENTRY(4538_dip, CD4538_DIP, "-") - ENTRY(7411_dip, TTL_7411_DIP, "-") ENTRY(7420_dip, TTL_7420_DIP, "-") ENTRY(7425_dip, TTL_7425_DIP, "-") ENTRY(7427_dip, TTL_7427_DIP, "-") diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h index f772041c159..c85fd6ef34d 100644 --- a/src/lib/netlist/devices/net_lib.h +++ b/src/lib/netlist/devices/net_lib.h @@ -17,7 +17,6 @@ #include "nld_4020.h" #include "nld_4066.h" -#include "nld_7411.h" #include "nld_7420.h" #include "nld_7425.h" #include "nld_7427.h" diff --git a/src/lib/netlist/devices/nld_7411.cpp b/src/lib/netlist/devices/nld_7411.cpp deleted file mode 100644 index 23a1dd8ff33..00000000000 --- a/src/lib/netlist/devices/nld_7411.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7411.c - * - */ - -#include "nld_7411.h" - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -nld_7411::truthtable_t nld_7411::m_ttbl; -const char *nld_7411::m_desc[] = { - "A,B,C|Q", - "0,X,X|0|15", - "X,0,X|0|15", - "X,X,0|0|15", - "1,1,1|1|22", - "" -}; -#endif - -NETLIB_START(7411_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(7411_dip) -{ - /* only called during startup */ - m_1->update_dev(); - m_2->update_dev(); - m_3->update_dev(); -} - -NETLIB_RESET(7411_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_7411.h b/src/lib/netlist/devices/nld_7411.h deleted file mode 100644 index d07594afd8b..00000000000 --- a/src/lib/netlist/devices/nld_7411.h +++ /dev/null @@ -1,65 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7411.h - * - * DM7411: Triple 3-Input AND Gates - * - * +--------------+ - * A1 |1 ++ 14| VCC - * B1 |2 13| C1 - * A2 |3 12| Y1 - * B2 |4 7411 11| C3 - * C2 |5 10| B3 - * Y2 |6 9| A3 - * GND |7 8| Y3 - * +--------------+ - * - * Y = ABC - * +---+---+---++---+ - * | A | B | C || Y | - * +===+===+===++===+ - * | X | X | 0 || 0 | - * | X | 0 | X || 0 | - * | 0 | X | X || 0 | - * | 1 | 1 | 1 || 1 | - * +---+---+---++---+ - * - * Naming conventions follow National Semiconductor datasheet - * - */ - -#ifndef NLD_7411_H_ -#define NLD_7411_H_ - -#include "nld_signal.h" -#include "nld_truthtable.h" - -#define TTL_7411_AND(_name, _I1, _I2, _I3) \ - NET_REGISTER_DEV(TTL_7411_AND, _name) \ - NET_CONNECT(_name, A, _I1) \ - NET_CONNECT(_name, B, _I2) \ - NET_CONNECT(_name, C, _I3) - -#define TTL_7411_DIP(_name) \ - NET_REGISTER_DEV(TTL_7411_DIP, _name) - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -NETLIB_TRUTHTABLE(7411, 3, 1, 0); -#else -NETLIB_SIGNAL(7411, 3, 0, 1); -#endif - - -NETLIB_DEVICE(7411_dip, - - NETLIB_SUB(7411) m_1; - NETLIB_SUB(7411) m_2; - NETLIB_SUB(7411) m_3; -); - -NETLIB_NAMESPACE_DEVICES_END() - -#endif /* NLD_7411_H_ */ diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index e8ad31b4f85..e74d269e9a6 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -117,7 +117,7 @@ NETLIST_START(TTL_7404_DIP) s3.A, /* A3 |5 10| Y5 */ s5.Q, s3.Q, /* Y3 |6 9| A4 */ s4.A, GND.I, /* GND |7 8| Y4 */ s4.Q - /* +--------------+ */ + /* +--------------+ */ ) NETLIST_END() @@ -198,6 +198,43 @@ NETLIST_START(TTL_7410_DIP) NETLIST_END() /* + * DM7411: Triple 3-Input AND Gates + * + * Y = ABC + * +---+---+---++---+ + * | A | B | C || Y | + * +===+===+===++===+ + * | X | X | 0 || 0 | + * | X | 0 | X || 0 | + * | 0 | X | X || 0 | + * | 1 | 1 | 1 || 1 | + * +---+---+---++---+ + * + * Naming conventions follow National Semiconductor datasheet + * + */ + +NETLIST_START(TTL_7411_DIP) + TTL_7411_GATE(s1) + TTL_7411_GATE(s2) + TTL_7411_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 7400 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() + +/* * DM7416: Hex Inverting Buffers with * High Voltage Open-Collector Outputs * @@ -290,7 +327,7 @@ NETLIST_START(TTL74XX_lib) TT_FAMILY("74XX") TRUTHTABLE_END() - TRUTHTABLE_START(TTL_7410_NAND, 3, 1, 0, "A,B") + TRUTHTABLE_START(TTL_7410_NAND, 3, 1, 0, "A,B,C") TT_HEAD("A,B,C|Q ") TT_LINE("0,X,X|1|22") TT_LINE("X,0,X|1|22") @@ -308,6 +345,24 @@ NETLIST_START(TTL74XX_lib) TT_FAMILY("74XX") TRUTHTABLE_END() + TRUTHTABLE_START(TTL_7411_AND, 3, 1, 0, "A,B,C") + TT_HEAD("A,B,C|Q ") + TT_LINE("0,X,X|0|22") + TT_LINE("X,0,X|0|22") + TT_LINE("X,X,0|0|22") + TT_LINE("1,1,1|1|15") + TT_FAMILY("74XX") + TRUTHTABLE_END() + + TRUTHTABLE_START(TTL_7411_GATE, 3, 1, 0, "") + TT_HEAD("A,B,C|Q ") + TT_LINE("0,X,X|0|22") + TT_LINE("X,0,X|0|22") + TT_LINE("X,X,0|0|22") + TT_LINE("1,1,1|1|15") + TT_FAMILY("74XX") + TRUTHTABLE_END() + TRUTHTABLE_START(TTL_7416_GATE, 1, 1, 0, "") TT_HEAD(" A | Q ") TT_LINE(" 0 | 1 |15") @@ -321,5 +376,6 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_7404_DIP) LOCAL_LIB_ENTRY(TTL_7408_DIP) LOCAL_LIB_ENTRY(TTL_7410_DIP) + LOCAL_LIB_ENTRY(TTL_7411_DIP) LOCAL_LIB_ENTRY(TTL_7416_DIP) NETLIST_END() diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h index ddde19885d8..db2f6cccf2c 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -59,7 +59,7 @@ #define TTL_7410_GATE(_name) \ - NET_REGISTER_DEV(TTL_7410_NAND, _name) + NET_REGISTER_DEV(TTL_7410_GATE, _name) #define TTL_7410_NAND(_name, _I1, _I2, _I3) \ NET_REGISTER_DEV(TTL_7410_NAND, _name) \ @@ -70,6 +70,18 @@ #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, _I1, _I2, _I3) \ + NET_REGISTER_DEV(TTL_7411_AND, _name) \ + NET_CONNECT(_name, A, _I1) \ + NET_CONNECT(_name, B, _I2) \ + NET_CONNECT(_name, C, _I3) + +#define TTL_7411_DIP(_name) \ + NET_REGISTER_DEV(TTL_7411_DIP, _name) + #define TTL_7416_GATE(_name) \ NET_REGISTER_DEV(TTL_7416_GATE, _name) |