mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
Added some pin assignment devices (*_dip). DICE connects package pins, not logical entities. No WN
This commit is contained in:
parent
789165f4ff
commit
120ba389dd
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2160,6 +2160,7 @@ src/emu/netlist/analog/nld_twoterm.c svneol=native#text/plain
|
||||
src/emu/netlist/analog/nld_twoterm.h svneol=native#text/plain
|
||||
src/emu/netlist/devices/net_lib.c svneol=native#text/plain
|
||||
src/emu/netlist/devices/net_lib.h svneol=native#text/plain
|
||||
src/emu/netlist/devices/nld_7400.c svneol=native#text/plain
|
||||
src/emu/netlist/devices/nld_7400.h svneol=native#text/plain
|
||||
src/emu/netlist/devices/nld_7402.h svneol=native#text/plain
|
||||
src/emu/netlist/devices/nld_7404.c svneol=native#text/plain
|
||||
|
@ -266,8 +266,9 @@ void netlist_factory_t::initialize()
|
||||
ENTRY(switch2, SWITCH2, "+i1,i2")
|
||||
ENTRY(nicRSFF, NETDEV_RSFF, "+S,R")
|
||||
ENTRY(7400, TTL_7400_NAND, "+A,B")
|
||||
ENTRY(7400_dip, TTL_7400_DIP, "-")
|
||||
ENTRY(7402, TTL_7402_NOR, "+A,B")
|
||||
ENTRY(nic7404, TTL_7404_INVERT, "+A")
|
||||
ENTRY(7404, TTL_7404_INVERT, "+A")
|
||||
ENTRY(7410, TTL_7410_NAND, "+A,B,C")
|
||||
ENTRY(7420, TTL_7420_NAND, "+A,B,C,D")
|
||||
ENTRY(7425, TTL_7425_NOR, "+A,B,C,D")
|
||||
@ -280,9 +281,11 @@ void netlist_factory_t::initialize()
|
||||
ENTRY(7483, TTL_7483, "+A1,A2,A3,A4,B1,B2,B3,B4,C0")
|
||||
ENTRY(7490, TTL_7490, "+CLK,R1,R2,R91,R92")
|
||||
ENTRY(7493, TTL_7493, "+CLKA,CLKB,R1,R2")
|
||||
ENTRY(nic74107, TTL_74107, "+CLK,J,K,CLRQ")
|
||||
ENTRY(nic74107A, TTL_74107A, "+CLK,J,K,CLRQ")
|
||||
ENTRY(nic74153, TTL_74153, "+C0,C1,C2,C3,A,B,G")
|
||||
ENTRY(7493_dip, TTL_7493_DIP, "-")
|
||||
ENTRY(74107, TTL_74107, "+CLK,J,K,CLRQ")
|
||||
ENTRY(74107_dip, TTL_74107_DIP, "-")
|
||||
ENTRY(74107A, TTL_74107A, "+CLK,J,K,CLRQ")
|
||||
ENTRY(74153, TTL_74153, "+C0,C1,C2,C3,A,B,G")
|
||||
ENTRY(9316, TTL_9316, "+CLK,ENP,ENT,CLRQ,LOADQ,A,B,C,D")
|
||||
ENTRY(NE555, NE555, "-")
|
||||
}
|
||||
|
43
src/emu/netlist/devices/nld_7400.c
Normal file
43
src/emu/netlist/devices/nld_7400.c
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* nld_7400.c
|
||||
*
|
||||
*/
|
||||
|
||||
#include "nld_7400.h"
|
||||
|
||||
NETLIB_START(7400_dip)
|
||||
{
|
||||
register_sub(m_1, "1");
|
||||
register_sub(m_2, "2");
|
||||
register_sub(m_3, "3");
|
||||
register_sub(m_4, "4");
|
||||
|
||||
register_subalias("1", m_1.m_i[0]);
|
||||
register_subalias("2", m_1.m_i[1]);
|
||||
register_subalias("3", m_1.m_Q);
|
||||
|
||||
register_subalias("4", m_2.m_i[0]);
|
||||
register_subalias("5", m_2.m_i[1]);
|
||||
register_subalias("6", m_2.m_Q);
|
||||
|
||||
register_subalias("9", m_3.m_i[0]);
|
||||
register_subalias("10", m_3.m_i[1]);
|
||||
register_subalias("8", m_3.m_Q);
|
||||
|
||||
register_subalias("12", m_4.m_i[0]);
|
||||
register_subalias("13", m_4.m_i[1]);
|
||||
register_subalias("11", m_4.m_Q);
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(7400_dip)
|
||||
{
|
||||
}
|
||||
|
||||
NETLIB_RESET(7400_dip)
|
||||
{
|
||||
m_1.do_reset();
|
||||
m_2.do_reset();
|
||||
m_3.do_reset();
|
||||
m_4.do_reset();
|
||||
}
|
||||
|
@ -41,7 +41,10 @@
|
||||
|
||||
NETLIB_SIGNAL(7400, 2, 0, 0);
|
||||
|
||||
NETLIB_DEVICE(7400pin,
|
||||
#define TTL_7400_DIP(_name) \
|
||||
NET_REGISTER_DEV(7400_dip, _name)
|
||||
|
||||
NETLIB_DEVICE(7400_dip,
|
||||
|
||||
NETLIB_NAME(7400) m_1;
|
||||
NETLIB_NAME(7400) m_2;
|
||||
@ -49,36 +52,4 @@ NETLIB_DEVICE(7400pin,
|
||||
NETLIB_NAME(7400) m_4;
|
||||
);
|
||||
|
||||
inline NETLIB_START(7400pin)
|
||||
{
|
||||
register_sub(m_1, "1");
|
||||
register_sub(m_2, "2");
|
||||
register_sub(m_3, "3");
|
||||
register_sub(m_4, "4");
|
||||
|
||||
register_subalias("1", m_1.m_i[0]);
|
||||
register_subalias("2", m_1.m_i[1]);
|
||||
register_subalias("3", m_1.m_Q);
|
||||
|
||||
register_subalias("4", m_2.m_i[0]);
|
||||
register_subalias("5", m_2.m_i[1]);
|
||||
register_subalias("6", m_2.m_Q);
|
||||
|
||||
register_subalias("9", m_3.m_i[0]);
|
||||
register_subalias("10", m_3.m_i[1]);
|
||||
register_subalias("8", m_3.m_Q);
|
||||
|
||||
register_subalias("12", m_4.m_i[0]);
|
||||
register_subalias("13", m_4.m_i[1]);
|
||||
register_subalias("11", m_4.m_Q);
|
||||
}
|
||||
|
||||
inline NETLIB_RESET(7400pin)
|
||||
{
|
||||
m_1.do_reset();
|
||||
m_2.do_reset();
|
||||
m_3.do_reset();
|
||||
m_4.do_reset();
|
||||
}
|
||||
|
||||
#endif /* NLD_7400_H_ */
|
||||
|
@ -5,18 +5,18 @@
|
||||
|
||||
#include "nld_7404.h"
|
||||
|
||||
NETLIB_START(nic7404)
|
||||
NETLIB_START(7404)
|
||||
{
|
||||
register_input("A", m_I);
|
||||
register_output("Q", m_Q);
|
||||
}
|
||||
|
||||
NETLIB_RESET(nic7404)
|
||||
NETLIB_RESET(7404)
|
||||
{
|
||||
m_Q.initial(1);
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(nic7404)
|
||||
NETLIB_UPDATE(7404)
|
||||
{
|
||||
static const netlist_time delay[2] = { NLTIME_FROM_NS(15), NLTIME_FROM_NS(22) };
|
||||
UINT8 t = (INPLOGIC(m_I)) ^ 1;
|
||||
|
@ -32,13 +32,13 @@
|
||||
|
||||
#include "nld_signal.h"
|
||||
|
||||
NETLIB_DEVICE(nic7404,
|
||||
NETLIB_DEVICE(7404,
|
||||
netlist_ttl_input_t m_I;
|
||||
netlist_ttl_output_t m_Q;
|
||||
);
|
||||
|
||||
#define TTL_7404_INVERT(_name, _A) \
|
||||
NET_REGISTER_DEV(nic7404, _name) \
|
||||
NET_REGISTER_DEV(7404, _name) \
|
||||
NET_CONNECT(_name, A, _A)
|
||||
|
||||
#endif /* NLD_7404_H_ */
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "nld_74107.h"
|
||||
|
||||
NETLIB_START(nic74107Asub)
|
||||
NETLIB_START(74107Asub)
|
||||
{
|
||||
register_input("CLK", m_clk);
|
||||
register_output("Q", m_Q);
|
||||
@ -16,7 +16,7 @@ NETLIB_START(nic74107Asub)
|
||||
save(NAME(m_F));
|
||||
}
|
||||
|
||||
NETLIB_RESET(nic74107Asub)
|
||||
NETLIB_RESET(74107Asub)
|
||||
{
|
||||
m_clk.set_state(netlist_input_t::STATE_INP_HL);
|
||||
m_Q.initial(0);
|
||||
@ -27,7 +27,7 @@ NETLIB_RESET(nic74107Asub)
|
||||
m_F = 0;
|
||||
}
|
||||
|
||||
NETLIB_START(nic74107A)
|
||||
NETLIB_START(74107A)
|
||||
{
|
||||
register_sub(sub, "sub");
|
||||
|
||||
@ -40,12 +40,12 @@ NETLIB_START(nic74107A)
|
||||
|
||||
}
|
||||
|
||||
NETLIB_RESET(nic74107A)
|
||||
NETLIB_RESET(74107A)
|
||||
{
|
||||
sub.reset();
|
||||
}
|
||||
|
||||
ATTR_HOT inline void NETLIB_NAME(nic74107Asub)::newstate(const netlist_sig_t state)
|
||||
ATTR_HOT inline void NETLIB_NAME(74107Asub)::newstate(const netlist_sig_t state)
|
||||
{
|
||||
const netlist_time delay[2] = { NLTIME_FROM_NS(40), NLTIME_FROM_NS(25) };
|
||||
|
||||
@ -53,7 +53,7 @@ ATTR_HOT inline void NETLIB_NAME(nic74107Asub)::newstate(const netlist_sig_t sta
|
||||
OUTLOGIC(m_QQ, state ^ 1, delay[state]);
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(nic74107Asub)
|
||||
NETLIB_UPDATE(74107Asub)
|
||||
{
|
||||
const netlist_sig_t t = m_Q.net().Q();
|
||||
newstate((!t & m_Q1) | (t & m_Q2) | m_F);
|
||||
@ -61,7 +61,7 @@ NETLIB_UPDATE(nic74107Asub)
|
||||
m_clk.inactivate();
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(nic74107A)
|
||||
NETLIB_UPDATE(74107A)
|
||||
{
|
||||
const UINT8 JK = (INPLOGIC(m_J) << 1) | INPLOGIC(m_K);
|
||||
|
||||
@ -100,3 +100,39 @@ NETLIB_UPDATE(nic74107A)
|
||||
else if (!sub.m_Q2)
|
||||
sub.m_clk.activate_hl();
|
||||
}
|
||||
|
||||
NETLIB_START(74107_dip)
|
||||
{
|
||||
register_sub(m_1, "1");
|
||||
register_sub(m_2, "2");
|
||||
|
||||
register_subalias("1", m_1.m_J);
|
||||
register_subalias("2", m_1.sub.m_QQ);
|
||||
register_subalias("3", m_1.sub.m_Q);
|
||||
|
||||
register_subalias("4", m_1.m_K);
|
||||
register_subalias("5", m_2.sub.m_Q);
|
||||
register_subalias("6", m_2.sub.m_QQ);
|
||||
|
||||
// register_subalias("7", ); ==> GND
|
||||
|
||||
register_subalias("8", m_2.m_J);
|
||||
register_subalias("9", m_2.sub.m_clk);
|
||||
register_subalias("10", m_2.m_clrQ);
|
||||
|
||||
register_subalias("11", m_2.m_K);
|
||||
register_subalias("12", m_1.sub.m_clk);
|
||||
register_subalias("13", m_1.m_clrQ);
|
||||
|
||||
// register_subalias("14", ); ==> VCC
|
||||
}
|
||||
|
||||
NETLIB_RESET(74107_dip)
|
||||
{
|
||||
m_1.do_reset();
|
||||
m_2.do_reset();
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(74107_dip)
|
||||
{
|
||||
}
|
||||
|
@ -62,7 +62,7 @@
|
||||
#include "../nl_base.h"
|
||||
|
||||
#define TTL_74107A(_name, _CLK, _J, _K, _CLRQ) \
|
||||
NET_REGISTER_DEV(nic74107A, _name) \
|
||||
NET_REGISTER_DEV(74107A, _name) \
|
||||
NET_CONNECT(_name, CLK, _CLK) \
|
||||
NET_CONNECT(_name, J, _J) \
|
||||
NET_CONNECT(_name, K, _K) \
|
||||
@ -71,7 +71,7 @@
|
||||
#define TTL_74107(_name, _CLK, _J, _K, _CLRQ) \
|
||||
TTL_74107A(_name, _CLK, _J, _K, _CLRQ)
|
||||
|
||||
NETLIB_SUBDEVICE(nic74107Asub,
|
||||
NETLIB_SUBDEVICE(74107Asub,
|
||||
netlist_ttl_input_t m_clk;
|
||||
|
||||
netlist_ttl_output_t m_Q;
|
||||
@ -85,8 +85,9 @@ NETLIB_SUBDEVICE(nic74107Asub,
|
||||
|
||||
);
|
||||
|
||||
NETLIB_DEVICE(nic74107A,
|
||||
NETLIB_NAME(nic74107Asub) sub;
|
||||
NETLIB_DEVICE(74107A,
|
||||
public:
|
||||
NETLIB_NAME(74107Asub) sub;
|
||||
|
||||
netlist_ttl_input_t m_J;
|
||||
netlist_ttl_input_t m_K;
|
||||
@ -94,13 +95,21 @@ NETLIB_DEVICE(nic74107A,
|
||||
|
||||
);
|
||||
|
||||
class NETLIB_NAME(nic74107) : public NETLIB_NAME(nic74107A)
|
||||
class NETLIB_NAME(74107) : public NETLIB_NAME(74107A)
|
||||
{
|
||||
public:
|
||||
NETLIB_NAME(nic74107) ()
|
||||
: NETLIB_NAME(nic74107A) () {}
|
||||
NETLIB_NAME(74107) ()
|
||||
: NETLIB_NAME(74107A) () {}
|
||||
|
||||
};
|
||||
|
||||
#define TTL_74107_DIP(_name) \
|
||||
NET_REGISTER_DEV(74107_dip, _name)
|
||||
|
||||
NETLIB_DEVICE(74107_dip,
|
||||
|
||||
NETLIB_NAME(74107) m_1;
|
||||
NETLIB_NAME(74107) m_2;
|
||||
);
|
||||
|
||||
#endif /* NLD_74107_H_ */
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
#include "nld_74153.h"
|
||||
|
||||
NETLIB_START(nic74153)
|
||||
NETLIB_START(74153)
|
||||
{
|
||||
register_input("C0", m_C[0]);
|
||||
register_input("C1", m_C[1]);
|
||||
@ -18,7 +18,7 @@ NETLIB_START(nic74153)
|
||||
register_output("AY", m_Y); //FIXME: Change netlists
|
||||
}
|
||||
|
||||
NETLIB_RESET(nic74153)
|
||||
NETLIB_RESET(74153)
|
||||
{
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ NETLIB_RESET(nic74153)
|
||||
* Convert this to sub-devices at some time.
|
||||
*/
|
||||
|
||||
NETLIB_UPDATE(nic74153)
|
||||
NETLIB_UPDATE(74153)
|
||||
{
|
||||
const netlist_time delay[2] = { NLTIME_FROM_NS(23), NLTIME_FROM_NS(18) };
|
||||
if (!INPLOGIC(m_G))
|
||||
|
@ -48,7 +48,7 @@
|
||||
#include "../nl_base.h"
|
||||
|
||||
#define TTL_74153(_name, _C0, _C1, _C2, _C3, _A, _B, _G) \
|
||||
NET_REGISTER_DEV(nic74153, _name) \
|
||||
NET_REGISTER_DEV(74153, _name) \
|
||||
NET_CONNECT(_name, C0, _C0) \
|
||||
NET_CONNECT(_name, C1, _C1) \
|
||||
NET_CONNECT(_name, C2, _C2) \
|
||||
@ -57,7 +57,7 @@
|
||||
NET_CONNECT(_name, B, _B) \
|
||||
NET_CONNECT(_name, G, _G)
|
||||
|
||||
NETLIB_DEVICE(nic74153,
|
||||
NETLIB_DEVICE(74153,
|
||||
netlist_ttl_input_t m_C[4];
|
||||
netlist_ttl_input_t m_A;
|
||||
netlist_ttl_input_t m_B;
|
||||
|
@ -76,3 +76,35 @@ NETLIB_UPDATE(7493)
|
||||
B.m_I.activate_hl();
|
||||
}
|
||||
}
|
||||
|
||||
NETLIB_START(7493_dip)
|
||||
{
|
||||
NETLIB_NAME(7493)::start();
|
||||
|
||||
register_subalias("1", B.m_I);
|
||||
register_subalias("2", m_R1);
|
||||
register_subalias("3", m_R2);
|
||||
|
||||
// register_subalias("4", ); --> NC
|
||||
// register_subalias("5", ); --> VCC
|
||||
// register_subalias("6", ); --> NC
|
||||
// register_subalias("7", ); --> NC
|
||||
|
||||
register_subalias("8", C.m_Q);
|
||||
register_subalias("9", B.m_Q);
|
||||
// register_subalias("10", ); --> GND
|
||||
register_subalias("11", D.m_Q);
|
||||
register_subalias("12", A.m_Q);
|
||||
// register_subalias("13", ); --> NC
|
||||
register_subalias("14", A.m_I);
|
||||
}
|
||||
|
||||
NETLIB_UPDATE(7493_dip)
|
||||
{
|
||||
NETLIB_NAME(7493)::update();
|
||||
}
|
||||
|
||||
NETLIB_RESET(7493_dip)
|
||||
{
|
||||
NETLIB_NAME(7493)::reset();
|
||||
}
|
||||
|
@ -66,6 +66,9 @@
|
||||
NET_CONNECT(_name, R1, _R1) \
|
||||
NET_CONNECT(_name, R2, _R2)
|
||||
|
||||
#define TTL_7493_DIP(_name) \
|
||||
NET_REGISTER_DEV(7493_dip, _name)
|
||||
|
||||
NETLIB_SUBDEVICE(7493ff,
|
||||
netlist_ttl_input_t m_I;
|
||||
netlist_ttl_output_t m_Q;
|
||||
@ -83,4 +86,8 @@ NETLIB_DEVICE(7493,
|
||||
NETLIB_NAME(7493ff) D;
|
||||
);
|
||||
|
||||
NETLIB_DEVICE_DERIVED(7493_dip, 7493,
|
||||
);
|
||||
|
||||
|
||||
#endif /* NLD_7493_H_ */
|
||||
|
@ -33,6 +33,7 @@ NETLISTOBJS+= \
|
||||
$(NETLISTOBJ)/analog/nld_solver.o \
|
||||
$(NETLISTOBJ)/analog/nld_switches.o \
|
||||
$(NETLISTOBJ)/analog/nld_twoterm.o \
|
||||
$(NETLISTOBJ)/devices/nld_7400.o \
|
||||
$(NETLISTOBJ)/devices/nld_7404.o \
|
||||
$(NETLISTOBJ)/devices/nld_7474.o \
|
||||
$(NETLISTOBJ)/devices/nld_7483.o \
|
||||
|
@ -61,7 +61,7 @@ void netlist_parser::parse(const char *buf)
|
||||
else if (n == "NETLIST_END")
|
||||
netdev_netlist_end();
|
||||
else
|
||||
DIODEevice(n);
|
||||
device(n);
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ void netlist_parser::netdev_param()
|
||||
check_char(')');
|
||||
}
|
||||
|
||||
void netlist_parser::DIODEevice(const pstring &dev_type)
|
||||
void netlist_parser::device(const pstring &dev_type)
|
||||
{
|
||||
pstring devname;
|
||||
net_device_t_base_factory *f = m_setup.factory().factory_by_name(dev_type, m_setup);
|
||||
|
@ -21,7 +21,7 @@ public:
|
||||
void net_alias();
|
||||
void netdev_param();
|
||||
void net_c();
|
||||
void DIODEevice(const pstring &dev_type);
|
||||
void device(const pstring &dev_type);
|
||||
void netdev_netlist_start();
|
||||
void netdev_netlist_end();
|
||||
void net_model();
|
||||
|
Loading…
Reference in New Issue
Block a user