mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
netlist: Fix an issue during proxy hookup.
* Add cd4053 to netlist.lua * Recreated nld_devinc.h
This commit is contained in:
parent
179d03ac96
commit
c7359e0aea
@ -140,6 +140,8 @@ project "netlist"
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4013.h",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4020.cpp",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4020.h",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4053.cpp",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4053.h",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4066.cpp",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4066.h",
|
||||
MAME_DIR .. "src/lib/netlist/devices/nld_4316.cpp",
|
||||
|
@ -923,7 +923,7 @@
|
||||
NET_REGISTER_DEVEXT(MM5837_DIP, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/macro/nlm_ttl74xx.cpp
|
||||
// Source: TTL74XX_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : TTL_7400_GATE(name)
|
||||
#define TTL_7400_GATE(...) \
|
||||
@ -1104,6 +1104,9 @@
|
||||
#define DM9312(...) \
|
||||
NET_REGISTER_DEVEXT(DM9312, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: parser: TTL74XX_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : TTL_7400_DIP(name)
|
||||
#define TTL_7400_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_7400_DIP, __VA_ARGS__)
|
||||
@ -1245,12 +1248,16 @@
|
||||
NET_REGISTER_DEVEXT(DM9312_DIP, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/macro/nlm_cd4xxx.cpp
|
||||
// Source: CD4XXX_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : CD4001_GATE(name)
|
||||
#define CD4001_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(CD4001_GATE, __VA_ARGS__)
|
||||
|
||||
// usage : CD4011_GATE(name)
|
||||
#define CD4011_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(CD4011_GATE, __VA_ARGS__)
|
||||
|
||||
// usage : CD4069_GATE(name)
|
||||
#define CD4069_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(CD4069_GATE, __VA_ARGS__)
|
||||
@ -1259,6 +1266,9 @@
|
||||
#define CD4070_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(CD4070_GATE, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: parser: CD4XXX_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : CD4001_DIP(name)
|
||||
#define CD4001_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4001_DIP, __VA_ARGS__)
|
||||
@ -1287,10 +1297,6 @@
|
||||
#define CD4024_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4024_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4016_DIP(name)
|
||||
#define CD4016_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4016_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4053_DIP(name)
|
||||
#define CD4053_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4053_DIP, __VA_ARGS__)
|
||||
@ -1299,6 +1305,10 @@
|
||||
#define CD4066_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4066_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4016_DIP(name)
|
||||
#define CD4016_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4016_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4316_DIP(name)
|
||||
#define CD4316_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4316_DIP, __VA_ARGS__)
|
||||
@ -1308,7 +1318,7 @@
|
||||
NET_REGISTER_DEVEXT(CD4538_DIP, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/macro/nlm_opamp.cpp
|
||||
// Source: parser: OPAMP_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : opamp_layout_4_4_11(name)
|
||||
#define opamp_layout_4_4_11(...) \
|
||||
@ -1383,12 +1393,15 @@
|
||||
NET_REGISTER_DEVEXT(LM3900, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/macro/nlm_other.cpp
|
||||
// Source: otheric_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : MC14584B_GATE(name)
|
||||
#define MC14584B_GATE(...) \
|
||||
NET_REGISTER_DEVEXT(MC14584B_GATE, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: parser: otheric_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : MC14584B_DIP(name)
|
||||
#define MC14584B_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(MC14584B_DIP, __VA_ARGS__)
|
||||
@ -1398,7 +1411,7 @@
|
||||
NET_REGISTER_DEVEXT(NE566_DIP, __VA_ARGS__)
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Source: src/lib/netlist/macro/nlm_roms.cpp
|
||||
// Source: parser: ROMS_lib
|
||||
// ---------------------------------------------------------------------
|
||||
// usage : PROM_82S123_DIP(name)
|
||||
#define PROM_82S123_DIP(...) \
|
||||
|
@ -733,9 +733,8 @@ devices::nld_base_proxy *setup_t::get_a_d_proxy(detail::core_terminal_t &inp)
|
||||
return iter_proxy->second;
|
||||
|
||||
log().debug("connect_terminal_input: connecting proxy\n");
|
||||
pstring x = plib::pfmt("proxy_ad_{1}_{2}")(inp.name())(m_proxy_cnt);
|
||||
auto new_proxy = incast.logic_family()->create_a_d_proxy(m_nlstate, x, &incast);
|
||||
//auto new_proxy = plib::owned_ptr<devices::nld_a_to_d_proxy>::Create(netlist(), x, &incast);
|
||||
auto new_proxy = incast.logic_family()->create_a_d_proxy(m_nlstate,
|
||||
plib::pfmt("proxy_ad_{1}_{2}")(inp.name())(m_proxy_cnt), &incast);
|
||||
|
||||
auto *ret(new_proxy.get());
|
||||
|
||||
@ -748,20 +747,25 @@ devices::nld_base_proxy *setup_t::get_a_d_proxy(detail::core_terminal_t &inp)
|
||||
|
||||
if (inp.has_net())
|
||||
{
|
||||
for (auto & p : inp.net().core_terms())
|
||||
for (detail::core_terminal_t * p : inp.net().core_terms())
|
||||
{
|
||||
p->clear_net(); // de-link from all nets ...
|
||||
if (!connect(ret->proxy_term(), *p))
|
||||
// inp may already belongs to the logic net. Thus skip it here.
|
||||
// It will be removed by the clear further down.
|
||||
if (p != &inp)
|
||||
{
|
||||
log().fatal(MF_CONNECTING_1_TO_2(
|
||||
ret->proxy_term().name(), (*p).name()));
|
||||
throw nl_exception(MF_CONNECTING_1_TO_2(
|
||||
ret->proxy_term().name(), (*p).name()));
|
||||
|
||||
p->clear_net(); // de-link from all nets ...
|
||||
if (!connect(ret->proxy_term(), *p))
|
||||
{
|
||||
log().fatal(MF_CONNECTING_1_TO_2(
|
||||
ret->proxy_term().name(), (*p).name()));
|
||||
throw nl_exception(MF_CONNECTING_1_TO_2(
|
||||
ret->proxy_term().name(), (*p).name()));
|
||||
}
|
||||
}
|
||||
}
|
||||
inp.net().core_terms().clear(); // clear the list
|
||||
}
|
||||
inp.clear_net();
|
||||
add_terminal(ret->out().net(), inp);
|
||||
m_nlstate.register_device(new_proxy->name(), std::move(new_proxy));
|
||||
return ret;
|
||||
@ -1012,7 +1016,9 @@ bool setup_t::connect(detail::core_terminal_t &t1_in, detail::core_terminal_t &t
|
||||
ret = connect_input_input(t1, t2);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = false;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user