mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
netlist: Macro-ized 74107 DIPs
This commit is contained in:
parent
fe8c88862f
commit
8705fe505e
@ -87,9 +87,8 @@ namespace devices
|
||||
LIB_ENTRY(7497)
|
||||
#if (!NL_USE_TRUTHTABLE_74107)
|
||||
LIB_ENTRY(74107)
|
||||
LIB_ENTRY(74107_dip)
|
||||
#endif
|
||||
LIB_ENTRY(74107A) // FIXME: implement missing DIP
|
||||
LIB_ENTRY(74107A)
|
||||
LIB_ENTRY(74113)
|
||||
LIB_ENTRY(74113_dip)
|
||||
LIB_ENTRY(74113A)
|
||||
|
@ -101,47 +101,8 @@ namespace netlist
|
||||
}
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(74107_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(74107_dip)
|
||||
, m_A(*this, "A")
|
||||
, m_B(*this, "B")
|
||||
{
|
||||
register_subalias("1", m_A.m_J);
|
||||
register_subalias("2", m_A.m_QQ);
|
||||
register_subalias("3", m_A.m_Q);
|
||||
|
||||
register_subalias("4", m_A.m_K);
|
||||
register_subalias("5", m_B.m_Q);
|
||||
register_subalias("6", m_B.m_QQ);
|
||||
|
||||
register_subalias("7", "A.GND");
|
||||
|
||||
register_subalias("8", m_B.m_J);
|
||||
register_subalias("9", m_B.m_clk);
|
||||
register_subalias("10", m_B.m_clrQ);
|
||||
|
||||
register_subalias("11", m_B.m_K);
|
||||
register_subalias("12", m_A.m_clk);
|
||||
register_subalias("13", m_A.m_clrQ);
|
||||
|
||||
register_subalias("14", "A.VCC" );
|
||||
|
||||
connect("A.GND", "B.GND");
|
||||
connect("A.VCC", "B.VCC");
|
||||
|
||||
}
|
||||
//NETLIB_RESETI();
|
||||
//NETLIB_UPDATEI();
|
||||
|
||||
private:
|
||||
NETLIB_SUB(74107) m_A;
|
||||
NETLIB_SUB(74107) m_B;
|
||||
};
|
||||
|
||||
#if (!NL_USE_TRUTHTABLE_74107)
|
||||
NETLIB_DEVICE_IMPL(74107, "TTL_74107", "+CLK,+J,+K,+CLRQ,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(74107_dip, "TTL_74107_DIP", "")
|
||||
#endif
|
||||
NETLIB_DEVICE_IMPL(74107A, "TTL_74107A", "+CLK,+J,+K,+CLRQ,@VCC,@GND")
|
||||
|
||||
|
@ -66,22 +66,13 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_74107A(name, cCLK, cJ, cK, cCLRQ) \
|
||||
NET_REGISTER_DEV(TTL_74107A, name) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, CLK, cCLK) \
|
||||
NET_CONNECT(name, J, cJ) \
|
||||
NET_CONNECT(name, K, cK) \
|
||||
NET_CONNECT(name, CLRQ, cCLRQ)
|
||||
|
||||
#if (!NL_USE_TRUTHTABLE_74107)
|
||||
#define TTL_74107(name, cCLK, cJ, cK, cCLRQ) \
|
||||
TTL_74107A(name, cCLK, cJ, cK, cCLRQ)
|
||||
|
||||
#define TTL_74107_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_74107_DIP, name)
|
||||
|
||||
#define TTL_74107(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
// usage: TTL_74107A(name, cCLK, cJ, cK, cCLRQ)
|
||||
#define TTL_74107A(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107A, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_74107_H_ */
|
||||
|
@ -344,10 +344,6 @@
|
||||
#define TTL_74107(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_74107_DIP(name)
|
||||
#define TTL_74107_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_74107A(name, pCLK, pJ, pK, pCLRQ)
|
||||
// auto connect: VCC, GND
|
||||
#define TTL_74107A(...) \
|
||||
@ -1007,6 +1003,14 @@
|
||||
#define TTL_7497_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7497_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_74107_DIP(name)
|
||||
#define TTL_74107_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_74107_DIP(name)
|
||||
#define TTL_74107A_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107A_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_74155A_GATE(name)
|
||||
#define TTL_74155A_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74155A_GATE, __VA_ARGS__)
|
||||
|
@ -1093,32 +1093,62 @@ static NETLIST_START(TTL_7497_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
#if (NL_USE_TRUTHTABLE_74107)
|
||||
#ifndef __PLIB_PREPROCESSOR__
|
||||
#define TTL_74107_TT(name) \
|
||||
NET_REGISTER_DEV(TTL_74107, name)
|
||||
#endif
|
||||
/*
|
||||
* DM74107: DUAL J-K FLIP-FLOPS WITH CLEAR
|
||||
*
|
||||
* +--------------+
|
||||
* 1J |1 ++ 14| VCC
|
||||
* 1QQ |2 13| 1CLRQ
|
||||
* 1Q |3 12| 1CLK
|
||||
* 1K |4 74107 11| 2K
|
||||
* 2Q |5 10| 2CLRQ
|
||||
* 2QQ |6 9| 2CLK
|
||||
* GND |7 8| 2J
|
||||
* +--------------+
|
||||
*/
|
||||
|
||||
static NETLIST_START(TTL_74107_DIP)
|
||||
#if (NL_USE_TRUTHTABLE_74107)
|
||||
TTL_74107_TT(A)
|
||||
TTL_74107_TT(B)
|
||||
#else
|
||||
TTL_74107(A)
|
||||
TTL_74107(B)
|
||||
#endif
|
||||
|
||||
NET_C(A.VCC, B.VCC)
|
||||
NET_C(A.GND, B.GND)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.J, /* 1J |1 ++ 14| VCC */ A.VCC,
|
||||
A.QQ, /* 1QQ |2 13| 1CLRQ */ A.CLRQ,
|
||||
A.Q, /* 1Q |3 12| 1CLK */ A.CLK,
|
||||
A.K, /* 1K |4 74107 11| 2K */ B.K,
|
||||
B.Q, /* 2Q |5 10| 2CLRQ */ B.CLRQ,
|
||||
B.QQ, /* 2QQ |6 9| 2CLK */ B.CLK,
|
||||
B.GND, /* GND |7 8| 2J */ B.J
|
||||
/* +--------------+ */
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.J, /* 1J |1 ++ 14| VCC */ A.VCC,
|
||||
A.QQ, /* 1QQ |2 13| 1CLRQ */ A.CLRQ,
|
||||
A.Q, /* 1Q |3 12| 1CLK */ A.CLK,
|
||||
A.K, /* 1K |4 74107 11| 2K */ B.K,
|
||||
B.Q, /* 2Q |5 10| 2CLRQ */ B.CLRQ,
|
||||
B.QQ, /* 2QQ |6 9| 2CLK */ B.CLK,
|
||||
B.GND, /* GND |7 8| 2J */ B.J
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
static NETLIST_START(TTL_74107A_DIP)
|
||||
TTL_74107A(A)
|
||||
TTL_74107A(B)
|
||||
|
||||
NET_C(A.VCC, B.VCC)
|
||||
NET_C(A.GND, B.GND)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.J, /* 1J |1 ++ 14| VCC */ A.VCC,
|
||||
A.QQ, /* 1QQ |2 13| 1CLRQ */ A.CLRQ,
|
||||
A.Q, /* 1Q |3 12| 1CLK */ A.CLK,
|
||||
A.K, /* 1K |4 74107 11| 2K */ B.K,
|
||||
B.Q, /* 2Q |5 10| 2CLRQ */ B.CLRQ,
|
||||
B.QQ, /* 2QQ |6 9| 2CLK */ B.CLK,
|
||||
B.GND, /* GND |7 8| 2J */ B.J
|
||||
/* +--------------+ */
|
||||
)
|
||||
|
||||
NETLIST_END()
|
||||
#endif
|
||||
|
||||
//- Identifier: TTL_74121_DIP
|
||||
//- Title: DM74121 One-Shot with Clear and Complementary Outputs
|
||||
@ -2356,7 +2386,7 @@ NETLIST_START(TTL74XX_lib)
|
||||
* | 1 | * | 1 | 1 || TOGGLE |
|
||||
* +-----+-----+-----+---++---+-----+
|
||||
*/
|
||||
TRUTHTABLE_START(TTL_74107, 6, 4, "+CLK,+J,+K,+CLRQ,@VCC,@GND")
|
||||
TRUTHTABLE_START(TTL_74107_TT, 6, 4, "+CLK,+J,+K,+CLRQ,@VCC,@GND")
|
||||
TT_HEAD("CLRQ, CLK, _CO, J, K,_QX | Q, QQ, CO, QX")
|
||||
TT_LINE(" 0, 0, X, X, X, X | 0, 1, 0, 0 | 16, 25, 1, 1")
|
||||
TT_LINE(" 0, 1, X, X, X, X | 0, 1, 1, 0 | 16, 25, 1, 1")
|
||||
@ -2544,14 +2574,13 @@ NETLIST_START(TTL74XX_lib)
|
||||
LOCAL_LIB_ENTRY(TTL_7492_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7493_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7497_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74107_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74107A_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74121_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74123_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9602_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74125_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74126_DIP)
|
||||
#if (NL_USE_TRUTHTABLE_74107)
|
||||
LOCAL_LIB_ENTRY(TTL_74107_DIP)
|
||||
#endif
|
||||
LOCAL_LIB_ENTRY(TTL_74155_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74156_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74157_DIP)
|
||||
|
@ -316,19 +316,16 @@
|
||||
NET_REGISTER_DEV(TTL_7497_DIP, name)
|
||||
|
||||
#if (NL_USE_TRUTHTABLE_74107)
|
||||
#define TTL_74107(name, cCLK, cJ, cK, cCLRQ) \
|
||||
NET_REGISTER_DEV(TTL_74107, name) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, CLK, cCLK) \
|
||||
NET_CONNECT(name, J, cJ) \
|
||||
NET_CONNECT(name, K, cK) \
|
||||
NET_CONNECT(name, CLRQ, cCLRQ)
|
||||
// usage: TTL_74107(name, cCLK, cJ, cK, cCLRQ)
|
||||
#define TTL_74107(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_74107_TT, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#define TTL_74107_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_74107_DIP, name)
|
||||
|
||||
#endif
|
||||
#define TTL_74107A_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_74107A_DIP, name)
|
||||
|
||||
#define TTL_74121_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_74121_DIP, name)
|
||||
|
Loading…
Reference in New Issue
Block a user