mirror of
https://github.com/holub/mame
synced 2025-04-28 11:11:48 +03:00
netlist: Macro-ized 7485 DIP
This commit is contained in:
parent
ea921a554d
commit
5649ce186f
@ -81,7 +81,6 @@ namespace devices
|
||||
LIB_ENTRY(7477_GATE)
|
||||
LIB_ENTRY(7483)
|
||||
LIB_ENTRY(7485)
|
||||
LIB_ENTRY(7485_dip)
|
||||
LIB_ENTRY(7490)
|
||||
LIB_ENTRY(7490_dip)
|
||||
LIB_ENTRY(7492)
|
||||
|
@ -27,9 +27,6 @@ namespace netlist
|
||||
{
|
||||
}
|
||||
|
||||
void update_outputs(unsigned gt, unsigned lt, unsigned eq);
|
||||
|
||||
friend class NETLIB_NAME(7485_dip);
|
||||
private:
|
||||
// FIXME: Timing
|
||||
NETLIB_HANDLERI(inputs)
|
||||
@ -62,6 +59,13 @@ namespace netlist
|
||||
update_outputs(1, 1, 0);
|
||||
}
|
||||
|
||||
void update_outputs(unsigned gt, unsigned lt, unsigned eq)
|
||||
{
|
||||
m_GTOUT.push(gt, NLTIME_FROM_NS(23));
|
||||
m_LTOUT.push(lt, NLTIME_FROM_NS(23));
|
||||
m_EQOUT.push(eq, NLTIME_FROM_NS(23));
|
||||
}
|
||||
|
||||
object_array_t<logic_input_t, 4> m_A;
|
||||
object_array_t<logic_input_t, 4> m_B;
|
||||
logic_input_t m_LTIN;
|
||||
@ -73,44 +77,7 @@ namespace netlist
|
||||
nld_power_pins m_power_pins;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(7485_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(7485_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
register_subalias("1", A.m_B[3]);
|
||||
register_subalias("2", A.m_LTIN);
|
||||
register_subalias("3", A.m_EQIN);
|
||||
register_subalias("4", A.m_GTIN);
|
||||
register_subalias("5", A.m_GTOUT);
|
||||
register_subalias("6", A.m_EQOUT);
|
||||
register_subalias("7", A.m_LTOUT);
|
||||
register_subalias("8", "A.GND");
|
||||
|
||||
register_subalias("9", A.m_B[0]);
|
||||
register_subalias("10", A.m_A[0]);
|
||||
register_subalias("11", A.m_B[1]);
|
||||
register_subalias("12", A.m_A[1]);
|
||||
register_subalias("13", A.m_A[2]);
|
||||
register_subalias("14", A.m_B[2]);
|
||||
register_subalias("15", A.m_A[3]);
|
||||
register_subalias("16", "A.VCC");
|
||||
|
||||
}
|
||||
//NETLIB_RESETI() {}
|
||||
private:
|
||||
NETLIB_SUB(7485) A;
|
||||
};
|
||||
|
||||
void NETLIB_NAME(7485)::update_outputs(unsigned gt, unsigned lt, unsigned eq)
|
||||
{
|
||||
m_GTOUT.push(gt, NLTIME_FROM_NS(23));
|
||||
m_LTOUT.push(lt, NLTIME_FROM_NS(23));
|
||||
m_EQOUT.push(eq, NLTIME_FROM_NS(23));
|
||||
}
|
||||
|
||||
NETLIB_DEVICE_IMPL(7485, "TTL_7485", "+A0,+A1,+A2,+A3,+B0,+B1,+B2,+B3,+LTIN,+EQIN,+GTIN,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(7485_dip, "TTL_7485_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -25,23 +25,8 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_7485(name, cA0, cA1, cA2, cA3, cB0, cB1, cB2, cB3, cLTIN, cEQIN, cGTIN) \
|
||||
NET_REGISTER_DEV(TTL_7485, name) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, A0, cA0) \
|
||||
NET_CONNECT(name, A1, cA1) \
|
||||
NET_CONNECT(name, A2, cA2) \
|
||||
NET_CONNECT(name, A3, cA3) \
|
||||
NET_CONNECT(name, B0, cB0) \
|
||||
NET_CONNECT(name, B1, cB1) \
|
||||
NET_CONNECT(name, B2, cB2) \
|
||||
NET_CONNECT(name, B3, cB3) \
|
||||
NET_CONNECT(name, LTIN, cLTIN) \
|
||||
NET_CONNECT(name, EQIN, cEQIN) \
|
||||
NET_CONNECT(name, GTIN, cGTIN)
|
||||
|
||||
#define TTL_7485_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_7485_DIP, name)
|
||||
// usage: TTL_7485(name, cA0, cA1, cA2, cA3, cB0, cB1, cB2, cB3, cLTIN, cEQIN, cGTIN)
|
||||
#define TTL_7485(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_7485_H_ */
|
||||
|
@ -304,10 +304,6 @@
|
||||
#define TTL_7485(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7485, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_7485_DIP(name)
|
||||
#define TTL_7485_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7485_DIP, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/devices/nld_7490.cpp
|
||||
// ---------------------------------------------------------------------
|
||||
@ -1027,6 +1023,10 @@
|
||||
#define TTL_7483_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_7485_DIP(name)
|
||||
#define TTL_7485_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7485_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : TTL_7486_GATE(name)
|
||||
#define TTL_7486_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7486_GATE, __VA_ARGS__)
|
||||
|
@ -897,7 +897,40 @@ static NETLIST_START(TTL_7483_DIP)
|
||||
A.S2, /* S2 |6 11| B1 */ A.B1,
|
||||
A.B2, /* B2 |7 10| A1 */ A.A1,
|
||||
A.A2, /* A2 |8 9| S1 */ A.S1
|
||||
/* +--------------+ */
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
/*
|
||||
* DM7485: 4-bit Magnitude Comparators
|
||||
*
|
||||
* +------------+
|
||||
* B3 |1 ++ 16| VCC
|
||||
* LTIN |2 15| A3
|
||||
* EQIN |3 14| B2
|
||||
* GTIN |4 7485 13| A2
|
||||
* GTOUT |5 12| A1
|
||||
* EQOUT |6 11| B1
|
||||
* LTOUT |7 10| A0
|
||||
* GND |8 9| B0
|
||||
* +------------+
|
||||
*
|
||||
* Naming convention attempts to follow Texas Instruments datasheet
|
||||
*/
|
||||
|
||||
static NETLIST_START(TTL_7485_DIP)
|
||||
TTL_7485(A)
|
||||
|
||||
DIPPINS( /* +------------+ */
|
||||
A.B3, /* B3 |1 ++ 16| VCC */ A.VCC,
|
||||
A.LTIN, /* LTIN |2 15| A3 */ A.A3,
|
||||
A.EQIN, /* EQIN |3 14| B2 */ A.B2,
|
||||
A.GTIN, /* GTIN |4 7485 13| A2 */ A.A2,
|
||||
A.GTOUT, /* GTOUT |5 12| A1 */ A.A1,
|
||||
A.EQOUT, /* EQOUT |6 11| B1 */ A.B1,
|
||||
A.LTOUT, /* LTOUT |7 10| A0 */ A.A0,
|
||||
A.GND, /* GND |8 9| B0 */ A.B0
|
||||
/* +------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
@ -2251,6 +2284,7 @@ NETLIST_START(TTL74XX_lib)
|
||||
LOCAL_LIB_ENTRY(TTL_7475_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7477_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7483_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7485_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_7486_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74121_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74123_DIP)
|
||||
|
@ -287,6 +287,9 @@
|
||||
#define TTL_7483_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_7483_DIP, name)
|
||||
|
||||
#define TTL_7485_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_7485_DIP, name)
|
||||
|
||||
#define TTL_7486_GATE(name) \
|
||||
NET_REGISTER_DEV(TTL_7486_GATE, name)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user