mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
netlist: Macro DIP definitons for TMS4800, 9314, 9334
This commit is contained in:
parent
e28e936a14
commit
86f4a96c4a
@ -252,7 +252,6 @@ namespace devices
|
||||
LIB_ENTRY(9322)
|
||||
LIB_ENTRY(9334)
|
||||
LIB_ENTRY(AM2847)
|
||||
// FIXME: duplicate?
|
||||
LIB_ENTRY(CD4006)
|
||||
LIB_ENTRY(CD4013)
|
||||
LIB_ENTRY(CD4017)
|
||||
@ -269,14 +268,11 @@ namespace devices
|
||||
LIB_ENTRY(MC1455P)
|
||||
LIB_ENTRY(MC1455P_dip)
|
||||
LIB_ENTRY(TMS4800)
|
||||
LIB_ENTRY(TMS4800_dip)
|
||||
LIB_ENTRY(r2r_dac)
|
||||
LIB_ENTRY(tristate)
|
||||
LIB_ENTRY(tristate3)
|
||||
LIB_ENTRY(8277_dip)
|
||||
LIB_ENTRY(9602)
|
||||
LIB_ENTRY(9314_dip)
|
||||
LIB_ENTRY(9334_dip)
|
||||
LIB_ENTRY(AM2847_dip)
|
||||
LIB_ENTRY(MM5837_dip)
|
||||
#endif
|
||||
|
@ -42,6 +42,8 @@ namespace netlist
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
NETLIB_RESETI()
|
||||
{
|
||||
m_last_MRQ = 0;
|
||||
@ -51,8 +53,6 @@ namespace netlist
|
||||
m_last_Q = 0;
|
||||
}
|
||||
|
||||
friend class NETLIB_NAME(9314_dip);
|
||||
private:
|
||||
NETLIB_HANDLERI(inputs)
|
||||
{
|
||||
netlist_time delay = NLTIME_FROM_NS(24); //FIXME!
|
||||
@ -97,35 +97,7 @@ namespace netlist
|
||||
nld_power_pins m_power_pins;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(9314_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(9314_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
register_subalias("1", A.m_EQ);
|
||||
register_subalias("2", A.m_SQ[0]);
|
||||
register_subalias("3", A.m_D[0]);
|
||||
register_subalias("4", A.m_D[1]);
|
||||
register_subalias("5", A.m_SQ[2]);
|
||||
register_subalias("6", A.m_D[2]);
|
||||
register_subalias("7", A.m_D[3]);
|
||||
register_subalias("8", "A.GND");
|
||||
|
||||
register_subalias("9", A.m_MRQ);
|
||||
register_subalias("10", A.m_Q[3]);
|
||||
register_subalias("11", A.m_SQ[3]);
|
||||
register_subalias("12", A.m_Q[2]);
|
||||
register_subalias("13", A.m_Q[1]);
|
||||
register_subalias("14", A.m_SQ[1]);
|
||||
register_subalias("15", A.m_Q[0]);
|
||||
register_subalias("16", "A.VCC");
|
||||
}
|
||||
private:
|
||||
NETLIB_SUB(9314) A;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(9314, "TTL_9314", "+EQ,+MRQ,+S0Q,+S1Q,+S2Q,+S3Q,+D0,+D1,+D2,+D3,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(9314_dip, "TTL_9314_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,22 +6,9 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_9314(name, cEQ, cMRQ, cS0Q, cS1Q, cS2Q, cS3Q, cD0, cD1, cD2, cD3) \
|
||||
NET_REGISTER_DEV(TTL_9314, name) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, EQ, cEQ) \
|
||||
NET_CONNECT(name, MRQ, cMRQ) \
|
||||
NET_CONNECT(name, S0Q, cS0Q) \
|
||||
NET_CONNECT(name, S1Q, cS1Q) \
|
||||
NET_CONNECT(name, S2Q, cS2Q) \
|
||||
NET_CONNECT(name, S3Q, cS3Q) \
|
||||
NET_CONNECT(name, D0, cD0) \
|
||||
NET_CONNECT(name, D1, cD1) \
|
||||
NET_CONNECT(name, D2, cD2) \
|
||||
NET_CONNECT(name, D3, cD3)
|
||||
|
||||
#define TTL_9314_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9314_DIP, name)
|
||||
// usage : TTL_9314(name, pEQ, pMRQ, pS0Q, pS1Q, pS2Q, pS3Q, pD0, pD1, pD2, pD3)
|
||||
// auto connect: VCC, GND
|
||||
#define TTL_9314(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_9314, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_DM9314_H_ */
|
||||
|
@ -86,6 +86,7 @@ namespace netlist
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
NETLIB_RESETI()
|
||||
{
|
||||
m_last_CQ = 0;
|
||||
@ -95,8 +96,6 @@ namespace netlist
|
||||
m_last_Q = 0;
|
||||
}
|
||||
|
||||
friend class NETLIB_NAME(9334_dip);
|
||||
private:
|
||||
NETLIB_HANDLERI(inputs)
|
||||
{
|
||||
uint_fast8_t a = 0;
|
||||
@ -177,37 +176,7 @@ namespace netlist
|
||||
nld_power_pins m_power_pins;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(9334_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(9334_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
register_subalias("1", A.m_A[0]);
|
||||
register_subalias("2", A.m_A[1]);
|
||||
register_subalias("3", A.m_A[2]);
|
||||
register_subalias("4", A.m_Q[0]);
|
||||
register_subalias("5", A.m_Q[1]);
|
||||
register_subalias("6", A.m_Q[2]);
|
||||
register_subalias("7", A.m_Q[3]);
|
||||
register_subalias("8", "A.GND");
|
||||
|
||||
register_subalias("9", A.m_Q[4]);
|
||||
register_subalias("10", A.m_Q[5]);
|
||||
register_subalias("11", A.m_Q[6]);
|
||||
register_subalias("12", A.m_Q[7]);
|
||||
register_subalias("13", A.m_D);
|
||||
register_subalias("14", A.m_EQ);
|
||||
register_subalias("15", A.m_CQ);
|
||||
register_subalias("16", "A.VCC");
|
||||
|
||||
}
|
||||
//NETLIB_RESETI() {}
|
||||
private:
|
||||
NETLIB_SUB(9334) A;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(9334, "TTL_9334", "+CQ,+EQ,+D,+A0,+A1,+A2,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(9334_dip, "TTL_9334_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,18 +6,9 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_9334(name, cCQ, cEQ, cD, cA0, cA1, cA2) \
|
||||
NET_REGISTER_DEV(TTL_9334, name) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, CQ, cCQ) \
|
||||
NET_CONNECT(name, EQ, cEQ) \
|
||||
NET_CONNECT(name, D, cD) \
|
||||
NET_CONNECT(name, A0, cA0) \
|
||||
NET_CONNECT(name, A1, cA1) \
|
||||
NET_CONNECT(name, A2, cA2)
|
||||
|
||||
#define TTL_9334_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9334_DIP, name)
|
||||
// usage : TTL_9334(name, pCQ, pEQ, pD, pA0, pA1, pA2)
|
||||
// auto connect: VCC, GND
|
||||
#define TTL_9334(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_9334, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_DM9334_H_ */
|
||||
|
@ -46,7 +46,6 @@ namespace netlist
|
||||
{
|
||||
}
|
||||
|
||||
friend class NETLIB_NAME(TMS4800_dip);
|
||||
private:
|
||||
// FIXME: timing!
|
||||
// FIXME: CS: The code looks odd, looks like m_last_data should be pushed out.
|
||||
@ -87,45 +86,8 @@ namespace netlist
|
||||
NETLIB_NAME(power_pins) m_supply;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(TMS4800_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(TMS4800_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
// FIXME: this device is missing supply pins
|
||||
register_subalias("2", A.m_A[0]);
|
||||
register_subalias("3", A.m_A[1]);
|
||||
register_subalias("4", A.m_A[2]);
|
||||
register_subalias("5", A.m_A[3]);
|
||||
register_subalias("6", A.m_A[4]);
|
||||
register_subalias("7", A.m_A[5]);
|
||||
register_subalias("12", A.m_A[6]);
|
||||
register_subalias("11", A.m_A[7]);
|
||||
register_subalias("10", A.m_A[8]);
|
||||
register_subalias("8", A.m_A[9]);
|
||||
register_subalias("15", A.m_A[10]);
|
||||
|
||||
register_subalias("13", A.m_AR);
|
||||
register_subalias("24", A.m_OE1);
|
||||
register_subalias("14", A.m_OE2);
|
||||
|
||||
register_subalias("23", A.m_D[0]);
|
||||
register_subalias("22", A.m_D[1]);
|
||||
register_subalias("21", A.m_D[2]);
|
||||
register_subalias("20", A.m_D[3]);
|
||||
register_subalias("19", A.m_D[4]);
|
||||
register_subalias("18", A.m_D[5]);
|
||||
register_subalias("17", A.m_D[6]);
|
||||
register_subalias("16", A.m_D[7]);
|
||||
}
|
||||
//NETLIB_RESETI() {}
|
||||
private:
|
||||
NETLIB_SUB(TMS4800) A;
|
||||
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(TMS4800, "ROM_TMS4800", "+AR,+OE1,+OE2,+A0,+A1,+A2,+A3,+A4,+A5,+A6,+A7,+A8,+A9,+A10,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(TMS4800_dip, "ROM_TMS4800_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,26 +6,9 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define ROM_TMS4800(name, cAR, cOE1, cOE2, cA0, cA1, cA2, cA3, cA4, cA5, cA6, cA7, cA8, cA9, cA10) \
|
||||
NET_REGISTER_DEV(ROM_TMS4800, name) \
|
||||
NET_CONNECT(name, AR, cAR) \
|
||||
NET_CONNECT(name, OE1, cOE1) \
|
||||
NET_CONNECT(name, OE2, cOE2) \
|
||||
NET_CONNECT(name, A0, cA0) \
|
||||
NET_CONNECT(name, A1, cA1) \
|
||||
NET_CONNECT(name, A2, cA2) \
|
||||
NET_CONNECT(name, A3, cA3) \
|
||||
NET_CONNECT(name, A4, cA4) \
|
||||
NET_CONNECT(name, A5, cA5) \
|
||||
NET_CONNECT(name, A6, cA6) \
|
||||
NET_CONNECT(name, A7, cA7) \
|
||||
NET_CONNECT(name, A8, cA8) \
|
||||
NET_CONNECT(name, A9, cA9) \
|
||||
NET_CONNECT(name, A10, cA10) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, GND, GND)
|
||||
|
||||
#define ROM_TMS4800_DIP(name) \
|
||||
NET_REGISTER_DEV(ROM_TMS4800_DIP, name)
|
||||
// usage : ROM_TMS4800(name, pAR, pOE1, pOE2, pA0, pA1, pA2, pA3, pA4, pA5, pA6, pA7, pA8, pA9, pA10)
|
||||
// auto connect: VCC, GND
|
||||
#define ROM_TMS4800(...) \
|
||||
NET_REGISTER_DEVEXT(ROM_TMS4800, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_TMS4800_H_ */
|
||||
|
@ -414,8 +414,7 @@ NETLIST_END()
|
||||
* A0 |8 9| GND
|
||||
* +--------------+
|
||||
*/
|
||||
|
||||
static NETLIST_START(RAM_2102A_DIP)
|
||||
static NETLIST_START(RAM_2102A_DIP)
|
||||
RAM_2102A(A)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
@ -431,6 +430,27 @@ NETLIST_END()
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
//FIXME: Documentation
|
||||
static NETLIST_START(ROM_TMS4800_DIP)
|
||||
ROM_TMS4800(A)
|
||||
|
||||
DIPPINS( /* +----------------+ */
|
||||
A.VSS, /* VSS |1 ++ 24| OE1 */ A.OE1,
|
||||
A.A1, /* A1 |2 23| O1 */ A.O1,
|
||||
A.A2, /* A2 |3 22| O2 */ A.O2,
|
||||
A.A3, /* A3 |4 TMS-4800 21| O3 */ A.O3,
|
||||
A.A4, /* A4 |5 20| O4 */ A.O4,
|
||||
A.A5, /* A5 |6 19| O5 */ A.O5,
|
||||
A.A6, /* A6 |7 18| O6 */ A.O6,
|
||||
A.A10, /* A10 |8 17| O7 */ A.O7,
|
||||
A.VGG, /* VGG |9 16| O8 */ A.O8,
|
||||
A.A9, /* A9 |10 15| A11 */ A.A11,
|
||||
A.A8, /* A8 |11 14| OE2 */ A.OE2,
|
||||
A.A7, /* A7 |12 13| AR */ A.AR
|
||||
/* +----------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
|
||||
NETLIST_START(roms_lib)
|
||||
|
||||
@ -442,6 +462,6 @@ NETLIST_START(roms_lib)
|
||||
LOCAL_LIB_ENTRY(PROM_82S115_DIP)
|
||||
LOCAL_LIB_ENTRY(PROM_MK28000_DIP)
|
||||
LOCAL_LIB_ENTRY(RAM_2102A_DIP)
|
||||
|
||||
LOCAL_LIB_ENTRY(ROM_TMS4800_DIP)
|
||||
NETLIST_END()
|
||||
|
||||
|
@ -43,6 +43,9 @@
|
||||
#define RAM_2102A_DIP(name) \
|
||||
NET_REGISTER_DEV(RAM_2102A_DIP, name)
|
||||
|
||||
#define ROM_TMS4800_DIP(name) \
|
||||
NET_REGISTER_DEV(ROM_TMS4800, name)
|
||||
|
||||
#endif // NL_AUTO_DEVICES
|
||||
|
||||
|
||||
|
@ -2851,6 +2851,23 @@ static NETLIST_START(TTL_9312_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
// FIXME: Documenation
|
||||
static NETLIST_START(TTL_9314_DIP)
|
||||
TTL_9314(A)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.EQ, /* /E |1 ++ 16| VCC */ A.VCC,
|
||||
A.S0Q, /* /S0 |2 15| Q0 */ A.Q0,
|
||||
A.D0, /* D0 |3 14| /S1 */ A.S1Q,
|
||||
A.D1, /* D1 |4 DM9314 13| Q1 */ A.Q1,
|
||||
A.S2Q, /* /S2 |5 12| Q2 */ A.Q2,
|
||||
A.D2, /* D2 |6 11| /S3 */ A.S3Q,
|
||||
A.D3, /* D3 |7 10| Q3 */ A.Q3,
|
||||
A.GND, /* GND |8 9| /MR */ A.MRQ
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
//- Identifier: TTL_9316_DIP
|
||||
//- Title: DM9316/DM8316 Synchronous 4-Bit Counters
|
||||
//- Description: These synchronous, presettable counters feature an
|
||||
@ -2972,6 +2989,24 @@ static NETLIST_START(TTL_9321_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
|
||||
//FIXME: Documenation
|
||||
static NETLIST_START(TTL_9334_DIP)
|
||||
TTL_9334(A)
|
||||
|
||||
DIPPINS(/* +--------------+ */
|
||||
A.A0, /* A0 |1 ++ 16| VCC */ A.VCC,
|
||||
A.A1, /* A1 |2 15| /C */ A.CQ,
|
||||
A.A2, /* A2 |3 14| /E */ A.EQ,
|
||||
A.Q0, /* Q0 |4 DM9334 13| D */ A.D,
|
||||
A.Q1, /* Q1 |5 12| Q7 */ A.Q7,
|
||||
A.Q2, /* Q2 |6 11| Q6 */ A.Q6,
|
||||
A.Q3, /* Q3 |7 10| Q5 */ A.Q5,
|
||||
A.GND,/* GND |8 9| Q4 */ A.Q4
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
//- Identifier: TTL_9602_DIP
|
||||
//- Title: DM9602/DM6802 Dual Retriggerable, Resettable One Shots
|
||||
//- Description: These dual resettable, retriggerable one shots have two
|
||||
@ -3411,9 +3446,11 @@ NETLIST_START(ttl74xx_lib)
|
||||
LOCAL_LIB_ENTRY(TTL_74379_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_74393_DIP)
|
||||
LOCAL_LIB_ENTRY(SN74LS629_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9312_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9310_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9312_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9314_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9316_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9321_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9322_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9334_DIP)
|
||||
NETLIST_END()
|
||||
|
@ -290,6 +290,9 @@
|
||||
#define TTL_9312_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9312_DIP, name)
|
||||
|
||||
#define TTL_9314_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9314_DIP, name)
|
||||
|
||||
#define TTL_9310_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9310_DIP, name)
|
||||
|
||||
@ -302,6 +305,9 @@
|
||||
#define TTL_9322_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9322_DIP, name)
|
||||
|
||||
#define TTL_9334_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9334_DIP, name)
|
||||
|
||||
#endif // NL_AUTO_DEVICES
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user