mirror of
https://github.com/holub/mame
synced 2025-04-27 18:53:05 +03:00
Moved CD4020_DIP implementation to macro lib. (nw)
This commit is contained in:
parent
1184ed0a3a
commit
d76c3d1193
@ -126,7 +126,6 @@ void initialize_factory(factory_list_t &factory)
|
|||||||
//ENTRY(4066, CD_4066, "+A,B")
|
//ENTRY(4066, CD_4066, "+A,B")
|
||||||
ENTRY(NE555, NE555, "-")
|
ENTRY(NE555, NE555, "-")
|
||||||
ENTRY(r2r_dac, R2R_DAC, "+VIN,R,N")
|
ENTRY(r2r_dac, R2R_DAC, "+VIN,R,N")
|
||||||
ENTRY(CD4020_DIP, CD4020_DIP, "-")
|
|
||||||
ENTRY(CD4016_DIP, CD4016_DIP, "-")
|
ENTRY(CD4016_DIP, CD4016_DIP, "-")
|
||||||
ENTRY(CD4066_DIP, CD4066_DIP, "-")
|
ENTRY(CD4066_DIP, CD4066_DIP, "-")
|
||||||
ENTRY(4538_dip, CD4538_DIP, "-")
|
ENTRY(4538_dip, CD4538_DIP, "-")
|
||||||
|
@ -104,49 +104,4 @@ inline NETLIB_FUNC_VOID(CD4020_sub, update_outputs, (const UINT16 cnt))
|
|||||||
OUTLOGIC(m_Q[i], (cnt >> i) & 1, out_delayQn[i]);
|
OUTLOGIC(m_Q[i], (cnt >> i) & 1, out_delayQn[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
NETLIB_START(CD4020_DIP)
|
|
||||||
{
|
|
||||||
NETLIB_NAME(CD4020)::start();
|
|
||||||
|
|
||||||
/* +--------------+
|
|
||||||
* Q12 |1 ++ 16| VDD
|
|
||||||
* Q13 |2 15| Q11
|
|
||||||
* Q14 |3 14| Q10
|
|
||||||
* Q6 |4 4020 13| Q8
|
|
||||||
* Q5 |5 12| Q9
|
|
||||||
* Q7 |6 11| RESET
|
|
||||||
* Q4 |7 10| IP (Input pulses)
|
|
||||||
* VSS |8 9| Q1
|
|
||||||
* +--------------+
|
|
||||||
*/
|
|
||||||
|
|
||||||
register_subalias("1", sub.m_Q[11]);
|
|
||||||
register_subalias("2", sub.m_Q[12]);
|
|
||||||
register_subalias("3", sub.m_Q[13]);
|
|
||||||
register_subalias("4", sub.m_Q[5]);
|
|
||||||
register_subalias("5", sub.m_Q[4]);
|
|
||||||
register_subalias("6", sub.m_Q[6]);
|
|
||||||
register_subalias("7", sub.m_Q[3]);
|
|
||||||
register_subalias("8", m_supply.m_vss);
|
|
||||||
|
|
||||||
register_subalias("9", sub.m_Q[0]);
|
|
||||||
register_subalias("10", sub.m_IP);
|
|
||||||
register_subalias("11", m_RESET);
|
|
||||||
register_subalias("12", sub.m_Q[8]);
|
|
||||||
register_subalias("13", sub.m_Q[7]);
|
|
||||||
register_subalias("14", sub.m_Q[9]);
|
|
||||||
register_subalias("15", sub.m_Q[10]);
|
|
||||||
register_subalias("16", m_supply.m_vdd);
|
|
||||||
}
|
|
||||||
|
|
||||||
NETLIB_UPDATE(CD4020_DIP)
|
|
||||||
{
|
|
||||||
NETLIB_NAME(CD4020)::update();
|
|
||||||
}
|
|
||||||
|
|
||||||
NETLIB_RESET(CD4020_DIP)
|
|
||||||
{
|
|
||||||
NETLIB_NAME(CD4020)::reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
NETLIB_NAMESPACE_DEVICES_END()
|
NETLIB_NAMESPACE_DEVICES_END()
|
||||||
|
@ -38,12 +38,9 @@
|
|||||||
NET_CONNECT(_name, VDD, _VDD) \
|
NET_CONNECT(_name, VDD, _VDD) \
|
||||||
NET_CONNECT(_name, VSS, _VSS)
|
NET_CONNECT(_name, VSS, _VSS)
|
||||||
|
|
||||||
#define CD4020(_name, _IP, _RESET, _VDD, _VSS) \
|
#define CD4020(_name) \
|
||||||
NET_REGISTER_DEV(CD4020, _name)
|
NET_REGISTER_DEV(CD4020, _name)
|
||||||
|
|
||||||
#define CD4020_DIP(_name) \
|
|
||||||
NET_REGISTER_DEV(CD4020_DIP, _name)
|
|
||||||
|
|
||||||
NETLIB_NAMESPACE_DEVICES_START()
|
NETLIB_NAMESPACE_DEVICES_START()
|
||||||
|
|
||||||
NETLIB_SUBDEVICE(CD4020_sub,
|
NETLIB_SUBDEVICE(CD4020_sub,
|
||||||
@ -65,8 +62,6 @@ NETLIB_DEVICE(CD4020,
|
|||||||
logic_input_t m_RESET;
|
logic_input_t m_RESET;
|
||||||
);
|
);
|
||||||
|
|
||||||
NETLIB_DEVICE_DERIVED_PURE(CD4020_DIP, CD4020);
|
|
||||||
|
|
||||||
NETLIB_NAMESPACE_DEVICES_END()
|
NETLIB_NAMESPACE_DEVICES_END()
|
||||||
|
|
||||||
#endif /* NLD_4020_H_ */
|
#endif /* NLD_4020_H_ */
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "CD4XXX.h"
|
#include "CD4XXX.h"
|
||||||
#include "devices/nld_truthtable.h"
|
#include "devices/nld_truthtable.h"
|
||||||
#include "devices/nld_system.h"
|
#include "devices/nld_system.h"
|
||||||
|
#include "devices/nld_4020.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CD4001BC: Quad 2-Input NOR Buffered B Series Gate
|
* CD4001BC: Quad 2-Input NOR Buffered B Series Gate
|
||||||
@ -40,6 +41,45 @@ NETLIST_START(CD4001_DIP)
|
|||||||
|
|
||||||
NETLIST_END()
|
NETLIST_END()
|
||||||
|
|
||||||
|
/* CD4020: 14-Stage Ripple Carry Binary Counters
|
||||||
|
*
|
||||||
|
* +--------------+
|
||||||
|
* Q12 |1 ++ 16| VDD
|
||||||
|
* Q13 |2 15| Q11
|
||||||
|
* Q14 |3 14| Q10
|
||||||
|
* Q6 |4 4020 13| Q8
|
||||||
|
* Q5 |5 12| Q9
|
||||||
|
* Q7 |6 11| RESET
|
||||||
|
* Q4 |7 10| IP (Input pulses)
|
||||||
|
* VSS |8 9| Q1
|
||||||
|
* +--------------+
|
||||||
|
*
|
||||||
|
* Naming conventions follow Texas Instruments datasheet
|
||||||
|
*
|
||||||
|
* FIXME: Timing depends on VDD-VSS
|
||||||
|
* This needs a cmos d-a/a-d proxy implementation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
NETLIST_START(CD4020_DIP)
|
||||||
|
|
||||||
|
CD4020(s1)
|
||||||
|
DIPPINS( /* +--------------+ */
|
||||||
|
s1.Q12, /* Q12 |1 ++ 16| VDD */ s1.VDD,
|
||||||
|
s1.Q13, /* Q13 |2 15| Q11 */ s1.Q11,
|
||||||
|
s1.Q14, /* Q14 |3 14| Q10 */ s1.Q10,
|
||||||
|
s1.Q6, /* Q6 |4 4020 13| Q8 */ s1.Q8,
|
||||||
|
s1.Q5, /* Q5 |5 12| Q9 */ s1.Q9,
|
||||||
|
s1.Q7, /* Q7 |6 11| RESET */ s1.RESET,
|
||||||
|
s1.Q4, /* Q4 |7 10| IP */ s1.IP,
|
||||||
|
s1.VSS, /* VSS |8 9| Q1 */ s1.Q1
|
||||||
|
/* +--------------+ */
|
||||||
|
)
|
||||||
|
/*
|
||||||
|
* IP = (Input pulses)
|
||||||
|
*/
|
||||||
|
|
||||||
|
NETLIST_END()
|
||||||
|
|
||||||
NETLIST_START(CD4XXX_lib)
|
NETLIST_START(CD4XXX_lib)
|
||||||
TRUTHTABLE_START(CD4001_NOR, 2, 1, 0, "")
|
TRUTHTABLE_START(CD4001_NOR, 2, 1, 0, "")
|
||||||
TT_HEAD("A , B | Q ")
|
TT_HEAD("A , B | Q ")
|
||||||
@ -51,4 +91,7 @@ NETLIST_START(CD4XXX_lib)
|
|||||||
|
|
||||||
LOCAL_LIB_ENTRY(CD4001_DIP)
|
LOCAL_LIB_ENTRY(CD4001_DIP)
|
||||||
|
|
||||||
|
/* DIP ONLY */
|
||||||
|
LOCAL_LIB_ENTRY(CD4020_DIP)
|
||||||
|
|
||||||
NETLIST_END()
|
NETLIST_END()
|
||||||
|
@ -15,6 +15,13 @@
|
|||||||
#define CD4001_DIP(_name) \
|
#define CD4001_DIP(_name) \
|
||||||
NET_REGISTER_DEV_X(CD4001_DIP, _name)
|
NET_REGISTER_DEV_X(CD4001_DIP, _name)
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* DIP only macros
|
||||||
|
* ---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#define CD4020_DIP(_name) \
|
||||||
|
NET_REGISTER_DEV(CD4020_DIP, _name)
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
* External declarations
|
* External declarations
|
||||||
* ---------------------------------------------------------------------------*/
|
* ---------------------------------------------------------------------------*/
|
||||||
|
Loading…
Reference in New Issue
Block a user