diff options
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r-- | src/lib/netlist/nl_setup.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 62c06176a2d..6e9d57ec567 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -445,7 +445,7 @@ devices::nld_base_proxy *setup_t::get_d_a_proxy(detail::core_terminal_t &out) } out.net().m_core_terms.clear(); // clear the list - out.net().register_con(new_proxy->in()); + out.net().add_terminal(new_proxy->in()); out_cast.set_proxy(proxy); proxy = new_proxy.get(); @@ -479,20 +479,22 @@ devices::nld_base_proxy *setup_t::get_a_d_proxy(detail::core_terminal_t &inp) /* connect all existing terminals to new net */ if (inp.has_net()) - for (auto & p : inp.net().m_core_terms) { - p->clear_net(); // de-link from all nets ... - if (!connect(ret->proxy_term(), *p)) - log().fatal("Error connecting {1} to {2}\n", ret->proxy_term().name(), (*p).name()); + for (auto & p : inp.net().m_core_terms) + { + p->clear_net(); // de-link from all nets ... + if (!connect(ret->proxy_term(), *p)) + log().fatal("Error connecting {1} to {2}\n", ret->proxy_term().name(), (*p).name()); + } + inp.net().m_core_terms.clear(); // clear the list } - inp.net().m_core_terms.clear(); // clear the list - ret->out().net().register_con(inp); + ret->out().net().add_terminal(inp); #else if (inp.has_net()) //fatalerror("logic inputs can only belong to one net!\n"); merge_nets(ret->out().net(), inp.net()); else - ret->out().net().register_con(inp); + ret->out().net().add_terminal(inp); #endif netlist().register_dev(std::move(new_proxy)); return ret; @@ -537,7 +539,7 @@ void setup_t::connect_input_output(detail::core_terminal_t &in, detail::core_ter #endif auto proxy = get_a_d_proxy(in); - out.net().register_con(proxy->proxy_term()); + out.net().add_terminal(proxy->proxy_term()); } else if (out.is_logic() && in.is_analog()) { @@ -551,7 +553,7 @@ void setup_t::connect_input_output(detail::core_terminal_t &in, detail::core_ter if (in.has_net()) merge_nets(out.net(), in.net()); else - out.net().register_con(in); + out.net().add_terminal(in); } } @@ -594,7 +596,7 @@ void setup_t::connect_terminal_output(terminal_t &in, detail::core_terminal_t &o if (in.has_net()) merge_nets(out.net(), in.net()); else - out.net().register_con(in); + out.net().add_terminal(in); } else if (out.is_logic()) { @@ -619,12 +621,12 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1, detail::core_termin else if (t2.has_net()) { log().debug("T2 has net\n"); - t2.net().register_con(t1); + t2.net().add_terminal(t1); } else if (t1.has_net()) { log().debug("T1 has net\n"); - t1.net().register_con(t2); + t1.net().add_terminal(t2); } else { @@ -632,8 +634,8 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1, detail::core_termin // FIXME: Nets should have a unique name auto anet = plib::palloc<analog_net_t>(netlist(),"net." + t1.name()); t1.set_net(anet); - anet->register_con(t2); - anet->register_con(t1); + anet->add_terminal(t2); + anet->add_terminal(t1); } } |