From add61d2a00afcd3ba1a06e4eaec258cd625e5808 Mon Sep 17 00:00:00 2001 From: couriersud Date: Thu, 5 May 2016 14:53:45 +0200 Subject: [PATCH] Convert 7430 to macro module. --- 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_7430.cpp | 59 --------------------- src/lib/netlist/devices/nld_7430.h | 75 --------------------------- src/lib/netlist/macro/nlm_ttl74xx.cpp | 69 ++++++++++++++++++++++++ src/lib/netlist/macro/nlm_ttl74xx.h | 18 +++++++ 7 files changed, 87 insertions(+), 139 deletions(-) delete mode 100644 src/lib/netlist/devices/nld_7430.cpp delete mode 100644 src/lib/netlist/devices/nld_7430.h diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 1dd2ef48078..2d061aeeee6 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_7430.cpp", - MAME_DIR .. "src/lib/netlist/devices/nld_7430.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 2a9dbf9a460..8bfc17be643 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(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") ENTRY(7448, TTL_7448, "+A,B,C,D,LTQ,BIQ,RBIQ") @@ -127,7 +126,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(7430_dip, TTL_7430_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 e40642138f9..748f78c2c8c 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_7430.h" #include "nld_7448.h" #include "nld_7450.h" #include "nld_7474.h" diff --git a/src/lib/netlist/devices/nld_7430.cpp b/src/lib/netlist/devices/nld_7430.cpp deleted file mode 100644 index 29a9e048ba9..00000000000 --- a/src/lib/netlist/devices/nld_7430.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7430.c - * - */ - -#include "nld_7430.h" - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -nld_7430::truthtable_t nld_7430::m_ttbl; -const char *nld_7430::m_desc[] = { - "A,B,C,D,E,F,G,H|Q ", - "0,X,X,X,X,X,X,X|1|22", - "X,0,X,X,X,X,X,X|1|22", - "X,X,0,X,X,X,X,X|1|22", - "X,X,X,0,X,X,X,X|1|22", - "X,X,X,X,0,X,X,X|1|22", - "X,X,X,X,X,0,X,X|1|22", - "X,X,X,X,X,X,0,X|1|22", - "X,X,X,X,X,X,X,0|1|22", - "1,1,1,1,1,1,1,1|0|15", - "" -}; - -#endif - - -NETLIB_START(7430_dip) -{ - register_sub("1", m_1); - - register_subalias("1", m_1->m_I[0]); - register_subalias("2", m_1->m_I[1]); - register_subalias("3", m_1->m_I[2]); - register_subalias("4", m_1->m_I[3]); - register_subalias("5", m_1->m_I[4]); - register_subalias("6", m_1->m_I[5]); - - register_subalias("8", m_1->m_Q[0]); - - register_subalias("11", m_1->m_I[6]); - register_subalias("12", m_1->m_I[7]); -} - -NETLIB_UPDATE(7430_dip) -{ - /* only called during startup */ - m_1->update_dev(); -} - -NETLIB_RESET(7430_dip) -{ - m_1->do_reset(); -} - -NETLIB_NAMESPACE_DEVICES_END() diff --git a/src/lib/netlist/devices/nld_7430.h b/src/lib/netlist/devices/nld_7430.h deleted file mode 100644 index fbe4e4f1919..00000000000 --- a/src/lib/netlist/devices/nld_7430.h +++ /dev/null @@ -1,75 +0,0 @@ -// license:GPL-2.0+ -// copyright-holders:Couriersud -/* - * nld_7430.h - * - * DM7430: 8-Input NAND Gate - * - * +--------------+ - * A |1 ++ 14| VCC - * B |2 13| NC - * C |3 12| H - * D |4 7430 11| G - * E |5 10| NC - * F |6 9| NC - * GND |7 8| Y - * +--------------+ - * ________ - * Y = ABCDEFGH - * +---+---+---+---+---+---+---+---++---+ - * | A | B | C | D | E | F | G | H || Y | - * +===+===+===+===+===+===+===+===++===+ - * | X | X | X | X | X | X | X | 0 || 1 | - * | X | X | X | X | X | X | 0 | X || 1 | - * | X | X | X | X | X | 0 | X | X || 1 | - * | X | X | X | X | 0 | X | X | X || 1 | - * | X | X | X | 0 | X | X | X | X || 1 | - * | X | X | 0 | X | X | X | X | X || 1 | - * | X | 0 | X | X | X | X | X | X || 1 | - * | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 0 | - * +---+---+---+---+---+---+---+---++---+ - * - * Naming conventions follow National Semiconductor datasheet - * - */ - - -#ifndef NLD_7430_H_ -#define NLD_7430_H_ - -#include "nld_signal.h" -#include "nld_truthtable.h" - -#define TTL_7430_NAND(_name, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8) \ - NET_REGISTER_DEV(TTL_7430_NAND, _name) \ - NET_CONNECT(_name, A, _I1) \ - NET_CONNECT(_name, B, _I2) \ - NET_CONNECT(_name, C, _I3) \ - NET_CONNECT(_name, D, _I4) \ - NET_CONNECT(_name, E, _I5) \ - NET_CONNECT(_name, F, _I6) \ - NET_CONNECT(_name, G, _I7) \ - NET_CONNECT(_name, H, _I8) - - -#define TTL_7430_DIP(_name) \ - NET_REGISTER_DEV(TTL_7430_DIP, _name) - -NETLIB_NAMESPACE_DEVICES_START() - -#if (USE_TRUTHTABLE) -NETLIB_TRUTHTABLE(7430, 8, 1, 0); -#else -NETLIB_SIGNAL(7430, 8, 0, 0); -#endif - - -NETLIB_DEVICE(7430_dip, - - NETLIB_SUB(7430) m_1; -); - -NETLIB_NAMESPACE_DEVICES_END() - - -#endif /* NLD_7430_H_ */ diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index b58747dce0a..64097e15679 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -381,6 +381,46 @@ NETLIST_START(TTL_7427_DIP) ) NETLIST_END() +/* + * DM7430: 8-Input NAND Gate + * + * ________ + * Y = ABCDEFGH + * +---+---+---+---+---+---+---+---++---+ + * | A | B | C | D | E | F | G | H || Y | + * +===+===+===+===+===+===+===+===++===+ + * | X | X | X | X | X | X | X | 0 || 1 | + * | X | X | X | X | X | X | 0 | X || 1 | + * | X | X | X | X | X | 0 | X | X || 1 | + * | X | X | X | X | 0 | X | X | X || 1 | + * | X | X | X | 0 | X | X | X | X || 1 | + * | X | X | 0 | X | X | X | X | X || 1 | + * | X | 0 | X | X | X | X | X | X || 1 | + * | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 0 | + * +---+---+---+---+---+---+---+---++---+ + * + * Naming conventions follow National Semiconductor datasheet + */ + +NETLIST_START(TTL_7430_DIP) + TTL_7430_GATE(s1) + + DUMMY_INPUT(GND) + DUMMY_INPUT(VCC) + DUMMY_INPUT(NC) + + DIPPINS( /* +--------------+ */ + s1.A, /* A |1 ++ 14| VCC */ VCC.I, + s1.B, /* B |2 13| NC */ NC.I, + s1.C, /* C |3 12| H */ s1.H, + s1.D, /* D |4 7420 11| G */ s1.G, + s1.E, /* E |5 10| NC */ NC.I, + s1.F, /* F |6 9| NC */ NC.I, + GND.I, /* GND |7 8| Y */ s1.Q + /* +--------------+ */ + ) +NETLIST_END() + /* * DM7432: Quad 2-Input OR Gates * @@ -629,6 +669,34 @@ NETLIST_START(TTL74XX_lib) TT_FAMILY("74XX") TRUTHTABLE_END() + TRUTHTABLE_START(TTL_7430_GATE, 8, 1, 0, "") + 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, 0, "A,B,C,D,E,F,G,H") + 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_7432_GATE, 2, 1, 0, "") TT_HEAD("A,B|Q ") TT_LINE("1,X|1|22") @@ -675,6 +743,7 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_7420_DIP) LOCAL_LIB_ENTRY(TTL_7425_DIP) LOCAL_LIB_ENTRY(TTL_7427_DIP) + LOCAL_LIB_ENTRY(TTL_7430_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 918bd1ab175..84c5f042667 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -132,6 +132,24 @@ NET_REGISTER_DEV(TTL_7427_DIP, _name) +#define TTL_7430_GATE(_name) \ + NET_REGISTER_DEV(TTL_7430_GATE, _name) + +#define TTL_7430_NAND(_name, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8) \ + NET_REGISTER_DEV(TTL_7430_NAND, _name) \ + NET_CONNECT(_name, A, _I1) \ + NET_CONNECT(_name, B, _I2) \ + NET_CONNECT(_name, C, _I3) \ + NET_CONNECT(_name, D, _I4) \ + NET_CONNECT(_name, E, _I5) \ + NET_CONNECT(_name, F, _I6) \ + NET_CONNECT(_name, G, _I7) \ + NET_CONNECT(_name, H, _I8) + +#define TTL_7430_DIP(_name) \ + NET_REGISTER_DEV(TTL_7430_DIP, _name) + + #define TTL_7432_GATE(_name) \ NET_REGISTER_DEV(TTL_7432_OR, _name)