From 38d3050da0bae4e1ea6209e789ec5002be9da447 Mon Sep 17 00:00:00 2001 From: couriersud Date: Thu, 5 May 2016 14:36:47 +0200 Subject: [PATCH] Convert 7425 to macro modul --- scripts/src/netlist.lua | 2 - src/lib/netlist/devices/net_lib.cpp | 2 - src/lib/netlist/devices/net_lib.h | 1 - src/lib/netlist/devices/nld_7425.cpp | 50 --------------------- src/lib/netlist/devices/nld_7425.h | 63 --------------------------- src/lib/netlist/macro/nlm_ttl74xx.cpp | 63 +++++++++++++++++++++++++++ src/lib/netlist/macro/nlm_ttl74xx.h | 14 ++++++ 7 files changed, 77 insertions(+), 118 deletions(-) delete mode 100644 src/lib/netlist/devices/nld_7425.cpp delete mode 100644 src/lib/netlist/devices/nld_7425.h diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 1752cbe1211..1dd2ef48078 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_7425.cpp", - 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_7448.cpp", diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index 752055e8916..2a9dbf9a460 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(7425, TTL_7425_NOR, "+A,B,C,D") ENTRY(7430, TTL_7430_NAND, "+A,B,C,D,E,F,G,H") ENTRY(7450, TTL_7450_ANDORINVERT, "+A,B,C,D") ENTRY(7486, TTL_7486_XOR, "+A,B") @@ -128,7 +127,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(7425_dip, TTL_7425_DIP, "-") ENTRY(7430_dip, TTL_7430_DIP, "-") ENTRY(7448_dip, TTL_7448_DIP, "-") ENTRY(7450_dip, TTL_7450_DIP, "-") diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h index f8b5d9ee574..e40642138f9 100644 --- a/src/lib/netlist/devices/net_lib.h +++ b/src/lib/netlist/devices/net_lib.h @@ -16,7 +16,6 @@ #include "nld_4020.h" #include "nld_4066.h" -#include "nld_7425.h" #include "nld_7430.h" #include "nld_7448.h" #include "nld_7450.h" diff --git a/src/lib/netlist/devices/nld_7425.cpp b/src/lib/netlist/devices/nld_7425.cpp deleted file mode 100644 index 01e033d2f06..00000000000 --- a/src/lib/netlist/devices/nld_7425.cpp +++ /dev/null @@ -1,50 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7425.c - * - */ - -#include "nld_7425.h" - -NETLIB_NAMESPACE_DEVICES_START() - -NETLIB_START(7425_dip) -{ - register_sub("1", m_1); - register_sub("2", m_2); - - register_subalias("1", m_1->m_I[0]); - register_subalias("2", m_1->m_I[1]); - - //register_subalias("3", ); X1 ==> NC - - register_subalias("4", m_1->m_I[2]); - register_subalias("5", m_1->m_I[3]); - register_subalias("6", m_1->m_Q[0]); - - register_subalias("8", m_2->m_Q[0]); - register_subalias("9", m_2->m_I[0]); - register_subalias("10", m_2->m_I[1]); - - //register_subalias("11", ); X2 ==> NC - - register_subalias("12", m_2->m_I[2]); - register_subalias("13", m_2->m_I[3]); - -} - -NETLIB_UPDATE(7425_dip) -{ - /* only called during startup */ - m_1->update_dev(); - m_2->update_dev(); -} - -NETLIB_RESET(7425_dip) -{ - m_1->do_reset(); - m_2->do_reset(); -} - -NETLIB_NAMESPACE_DEVICES_END() diff --git a/src/lib/netlist/devices/nld_7425.h b/src/lib/netlist/devices/nld_7425.h deleted file mode 100644 index 80331fa9068..00000000000 --- a/src/lib/netlist/devices/nld_7425.h +++ /dev/null @@ -1,63 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7425.h - * - * DM7425: Dual 4-Input NOR Gates - * - * +--------------+ - * A1 |1 ++ 14| VCC - * B1 |2 13| D2 - * X1 |3 12| C2 - * C1 |4 7425 11| X2 - * D1 |5 10| B2 - * Y1 |6 9| A2 - * GND |7 8| Y2 - * +--------------+ - * _______ - * Y = A+B+C+D - * +---+---+---+---+---++---+ - * | A | B | C | D | X || Y | - * +===+===+===+===+===++===+ - * | X | X | X | X | 0 || Z | - * | 0 | 0 | 0 | 0 | 1 || 1 | - * | X | X | X | 1 | 1 || 0 | - * | X | X | 1 | X | 1 || 0 | - * | X | 1 | X | X | 1 || 0 | - * | 1 | X | X | X | 1 || 0 | - * +---+---+---+---+---++---+ - * - * TODO: The "X" input and high impedance output are currently not simulated. - * - * Naming conventions follow National Semiconductor datasheet - * - */ - -#ifndef NLD_7425_H_ -#define NLD_7425_H_ - -#include "nld_signal.h" - -#define TTL_7425_NOR(_name, _I1, _I2, _I3, _I4) \ - NET_REGISTER_DEV(TTL_7425_NOR, _name) \ - NET_CONNECT(_name, A, _I1) \ - NET_CONNECT(_name, B, _I2) \ - NET_CONNECT(_name, C, _I3) \ - NET_CONNECT(_name, D, _I4) - -#define TTL_7425_DIP(_name) \ - NET_REGISTER_DEV(TTL_7425_DIP, _name) - -NETLIB_NAMESPACE_DEVICES_START() - -NETLIB_SIGNAL(7425, 4, 1, 0); - -NETLIB_DEVICE(7425_dip, - - NETLIB_SUB(7425) m_1; - NETLIB_SUB(7425) m_2; -); - -NETLIB_NAMESPACE_DEVICES_END() - -#endif /* NLD_7425_H_ */ diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index e7ac6bf1136..b58747dce0a 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -301,6 +301,48 @@ NETLIST_START(TTL_7420_DIP) ) NETLIST_END() +/* + * DM7425: Dual 4-Input NOR Gates + * + * _______ + * Y = A+B+C+D + * +---+---+---+---+---++---+ + * | A | B | C | D | X || Y | + * +===+===+===+===+===++===+ + * | X | X | X | X | 0 || Z | + * | 0 | 0 | 0 | 0 | 1 || 1 | + * | X | X | X | 1 | 1 || 0 | + * | X | X | 1 | X | 1 || 0 | + * | X | 1 | X | X | 1 || 0 | + * | 1 | X | X | X | 1 || 0 | + * +---+---+---+---+---++---+ + * + * FIXME: The "X" input and high impedance output are currently not simulated. + * + * Naming conventions follow National Semiconductor datasheet + * + */ + +NETLIST_START(TTL_7425_DIP) + TTL_7425_GATE(s1) + TTL_7425_GATE(s2) + + DUMMY_INPUT(GND) + DUMMY_INPUT(VCC) + DUMMY_INPUT(X) + + DIPPINS( /* +--------------+ */ + s1.A, /* A1 |1 ++ 14| VCC */ VCC.I, + s1.B, /* B1 |2 13| D2 */ s2.D, + X.I, /* X1 |3 12| C2 */ s2.C, + s1.C, /* C1 |4 7425 11| X2 */ X.I, + s1.D, /* D1 |5 10| B2 */ s2.B, + s1.Q, /* Y1 |6 9| A2 */ s2.A, + GND.I, /* GND |7 8| Y2 */ s2.Q + /* +--------------+ */ + ) +NETLIST_END() + /* * DM7427: Triple 3-Input NOR Gates * @@ -549,6 +591,26 @@ NETLIST_START(TTL74XX_lib) TT_FAMILY("74XX") TRUTHTABLE_END() + TRUTHTABLE_START(TTL_7425_GATE, 4, 1, 0, "") + 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, 0, "A,B,C,D") + 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_7427_GATE, 3, 1, 0, "") TT_HEAD("A,B,C|Q ") TT_LINE("1,X,X|0|15") @@ -611,6 +673,7 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_7411_DIP) LOCAL_LIB_ENTRY(TTL_7416_DIP) LOCAL_LIB_ENTRY(TTL_7420_DIP) + LOCAL_LIB_ENTRY(TTL_7425_DIP) LOCAL_LIB_ENTRY(TTL_7427_DIP) LOCAL_LIB_ENTRY(TTL_7432_DIP) LOCAL_LIB_ENTRY(TTL_7437_DIP) diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h index 2490b997911..918bd1ab175 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -105,6 +105,20 @@ NET_REGISTER_DEV(TTL_7420_DIP, _name) +#define TTL_7425_GATE(_name) \ + NET_REGISTER_DEV(TTL_7425_GATE, _name) + +#define TTL_7425_NOR(_name, _I1, _I2, _I3, _I4) \ + NET_REGISTER_DEV(TTL_7425_NOR, _name) \ + NET_CONNECT(_name, A, _I1) \ + NET_CONNECT(_name, B, _I2) \ + NET_CONNECT(_name, C, _I3) \ + NET_CONNECT(_name, D, _I4) + +#define TTL_7425_DIP(_name) \ + NET_REGISTER_DEV(TTL_7425_DIP, _name) + + #define TTL_7427_GATE(_name) \ NET_REGISTER_DEV(TTL_7427_GATE, _name)