diff options
author | 2016-05-04 00:51:51 +0200 | |
---|---|---|
committer | 2016-05-04 00:51:51 +0200 | |
commit | a920da0ec390da0bbcea5a3c63c783605097e72f (patch) | |
tree | 788e402e1e2612aefa0c186dce4dc4b3468fe050 | |
parent | 1ea05793beb3a94e6251e6186873b3314cf7eb56 (diff) |
Convert 7432 to macro device.
-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_7432.cpp | 65 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_7432.h | 64 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.cpp | 91 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.h | 12 |
7 files changed, 86 insertions, 151 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 22f4e14f257..cde5d9c4748 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -92,8 +92,6 @@ project "netlist" MAME_DIR .. "src/lib/netlist/devices/nld_7425.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", - MAME_DIR .. "src/lib/netlist/devices/nld_7432.h", MAME_DIR .. "src/lib/netlist/devices/nld_7448.cpp", MAME_DIR .. "src/lib/netlist/devices/nld_7448.h", MAME_DIR .. "src/lib/netlist/devices/nld_7450.cpp", diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index b7a0f50a7e7..a4ccdaebb9f 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -101,7 +101,6 @@ void initialize_factory(factory_list_t &factory) ENTRY(7420, TTL_7420_NAND, "+A,B,C,D") ENTRY(7425, TTL_7425_NOR, "+A,B,C,D") ENTRY(7430, TTL_7430_NAND, "+A,B,C,D,E,F,G,H") - ENTRY(7432, TTL_7432_OR, "+A,B") ENTRY(7450, TTL_7450_ANDORINVERT, "+A,B,C,D") ENTRY(7486, TTL_7486_XOR, "+A,B") ENTRY(7448, TTL_7448, "+A,B,C,D,LTQ,BIQ,RBIQ") @@ -133,7 +132,6 @@ void initialize_factory(factory_list_t &factory) ENTRY(7420_dip, TTL_7420_DIP, "-") ENTRY(7425_dip, TTL_7425_DIP, "-") ENTRY(7430_dip, TTL_7430_DIP, "-") - ENTRY(7432_dip, TTL_7432_DIP, "-") ENTRY(7448_dip, TTL_7448_DIP, "-") ENTRY(7450_dip, TTL_7450_DIP, "-") ENTRY(7474_dip, TTL_7474_DIP, "-") diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h index 4e998d99586..baa48fa4b60 100644 --- a/src/lib/netlist/devices/net_lib.h +++ b/src/lib/netlist/devices/net_lib.h @@ -19,7 +19,6 @@ #include "nld_7420.h" #include "nld_7425.h" #include "nld_7430.h" -#include "nld_7432.h" #include "nld_7448.h" #include "nld_7450.h" #include "nld_7474.h" diff --git a/src/lib/netlist/devices/nld_7432.cpp b/src/lib/netlist/devices/nld_7432.cpp deleted file mode 100644 index fcf761e7473..00000000000 --- a/src/lib/netlist/devices/nld_7432.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7432.c - * - */ - -#include "nld_7432.h" - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -nld_7432::truthtable_t nld_7432::m_ttbl; -const char *nld_7432::m_desc[] = { - "A,B|Q ", - "1,X|1|22", - "0,1|1|22", - "0,0|0|15", - "" -}; - -#endif - -NETLIB_START(7432_dip) -{ - register_sub("1", m_1); - register_sub("2", m_2); - register_sub("3", m_3); - register_sub("4", m_4); - - register_subalias("3", m_1->m_Q[0]); - register_subalias("1", m_1->m_I[0]); - register_subalias("2", m_1->m_I[1]); - - register_subalias("6", m_2->m_Q[0]); - register_subalias("4", m_2->m_I[0]); - register_subalias("5", m_2->m_I[1]); - - register_subalias("9", m_3->m_I[0]); - register_subalias("10", m_3->m_I[1]); - register_subalias("8", m_3->m_Q[0]); - - register_subalias("12", m_4->m_I[0]); - register_subalias("13", m_4->m_I[1]); - register_subalias("11", m_4->m_Q[0]); -} - -NETLIB_UPDATE(7432_dip) -{ - /* only called during startup */ - m_1->update_dev(); - m_2->update_dev(); - m_3->update_dev(); - m_4->update_dev(); -} - -NETLIB_RESET(7432_dip) -{ - m_1->do_reset(); - m_2->do_reset(); - m_3->do_reset(); - m_4->do_reset(); -} - -NETLIB_NAMESPACE_DEVICES_END() diff --git a/src/lib/netlist/devices/nld_7432.h b/src/lib/netlist/devices/nld_7432.h deleted file mode 100644 index 6e928e0520b..00000000000 --- a/src/lib/netlist/devices/nld_7432.h +++ /dev/null @@ -1,64 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7432.h - * - * DM7432: Quad 2-Input OR Gates - * - * +--------------+ - * A1 |1 ++ 14| VCC - * B1 |2 13| B4 - * Y1 |3 12| A4 - * A2 |4 7432 11| Y4 - * B2 |5 10| B3 - * Y2 |6 9| A3 - * GND |7 8| Y3 - * +--------------+ - * ___ - * Y = A+B - * +---+---++---+ - * | A | B || Y | - * +===+===++===+ - * | 0 | 0 || 0 | - * | 0 | 1 || 1 | - * | 1 | 0 || 1 | - * | 1 | 1 || 1 | - * +---+---++---+ - * - * Naming conventions follow National Semiconductor datasheet - * - */ - -#ifndef NLD_7432_H_ -#define NLD_7432_H_ - -#include "nld_signal.h" -#include "nld_truthtable.h" - -#define TTL_7432_OR(_name, _I1, _I2) \ - NET_REGISTER_DEV(TTL_7432_OR, _name) \ - NET_CONNECT(_name, A, _I1) \ - NET_CONNECT(_name, B, _I2) - -#define TTL_7432_DIP(_name) \ - NET_REGISTER_DEV(TTL_7432_DIP, _name) - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -NETLIB_TRUTHTABLE(7432, 2, 1, 0); -#else -NETLIB_SIGNAL(7432, 2, 1, 1); -#endif - -NETLIB_DEVICE(7432_dip, - - NETLIB_SUB(7432) m_1; - NETLIB_SUB(7432) m_2; - NETLIB_SUB(7432) m_3; - NETLIB_SUB(7432) m_4; -); - -NETLIB_NAMESPACE_DEVICES_END() - -#endif /* NLD_7432_H_ */ diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index f06320504f0..44c77d49e35 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -302,7 +302,47 @@ NETLIST_START(TTL_7427_DIP) NETLIST_END() /* - * DM7400: Quad 2-Input NAND Gates + * DM7432: Quad 2-Input OR Gates + * + * ___ + * Y = A+B + * +---+---++---+ + * | A | B || Y | + * +===+===++===+ + * | 0 | 0 || 0 | + * | 0 | 1 || 1 | + * | 1 | 0 || 1 | + * | 1 | 1 || 1 | + * +---+---++---+ + * + * Naming conventions follow National Semiconductor datasheet + * + */ + +NETLIST_START(TTL_7432_DIP) + TTL_7432_GATE(s1) + TTL_7432_GATE(s2) + TTL_7432_GATE(s3) + TTL_7432_GATE(s4) + + DUMMY_INPUT(GND) + DUMMY_INPUT(VCC) + + DIPPINS( /* +--------------+ */ + s1.A, /* A1 |1 ++ 14| VCC */ VCC.I, + s1.B, /* B1 |2 13| B4 */ s4.B, + s1.Q, /* Y1 |3 12| A4 */ s4.A, + s2.A, /* A2 |4 7400 11| Y4 */ s4.Q, + s2.B, /* B2 |5 10| B3 */ s3.B, + s2.Q, /* Y2 |6 9| A3 */ s3.A, + GND.I, /* GND |7 8| Y3 */ s3.Q + /* +--------------+ */ + ) +NETLIST_END() + + +/* + * DM7437: Quad 2-Input NAND Gates * * __ * Y = AB @@ -427,19 +467,19 @@ NETLIST_START(TTL74XX_lib) 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_LINE("0,X,X|0|15") + TT_LINE("X,0,X|0|15") + TT_LINE("X,X,0|0|15") + TT_LINE("1,1,1|1|22") 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_LINE("0,X,X|0|15") + TT_LINE("X,0,X|0|15") + TT_LINE("X,X,0|0|15") + TT_LINE("1,1,1|1|22") TT_FAMILY("74XX") TRUTHTABLE_END() @@ -453,19 +493,35 @@ NETLIST_START(TTL74XX_lib) 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_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, 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_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_7432_GATE, 2, 1, 0, "") + 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, 0, "A,B") + 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() @@ -497,5 +553,6 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_7411_DIP) LOCAL_LIB_ENTRY(TTL_7416_DIP) LOCAL_LIB_ENTRY(TTL_7427_DIP) + LOCAL_LIB_ENTRY(TTL_7432_DIP) LOCAL_LIB_ENTRY(TTL_7437_DIP) NETLIST_END() diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h index b65c944f463..1a38e7e4829 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -104,6 +104,18 @@ NET_REGISTER_DEV(TTL_7427_DIP, _name) +#define TTL_7432_GATE(_name) \ + NET_REGISTER_DEV(TTL_7432_OR, _name) + +#define TTL_7432_OR(_name, _I1, _I2) \ + NET_REGISTER_DEV(TTL_7432_OR, _name) \ + NET_CONNECT(_name, A, _I1) \ + NET_CONNECT(_name, B, _I2) + +#define TTL_7432_DIP(_name) \ + NET_REGISTER_DEV(TTL_7432_DIP, _name) + + #define TTL_7437_GATE(_name) \ NET_REGISTER_DEV(TTL_7437_GATE, _name) |