mirror of
https://github.com/holub/mame
synced 2025-04-19 15:11:37 +03:00
Converted 7427 to macro device
This commit is contained in:
parent
e93ebba837
commit
ba57ebf222
@ -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",
|
||||
|
@ -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, "-")
|
||||
|
@ -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"
|
||||
|
@ -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()
|
@ -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_ */
|
@ -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()
|
||||
|
@ -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
|
||||
* ---------------------------------------------------------------------------*/
|
||||
|
Loading…
Reference in New Issue
Block a user