summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/lib/netlist/analog/nld_bjt.cpp19
-rw-r--r--src/lib/netlist/analog/nld_mosfet.cpp5
-rw-r--r--src/lib/netlist/analog/nld_opamps.cpp5
-rw-r--r--src/lib/netlist/analog/nld_switches.cpp36
-rw-r--r--src/lib/netlist/analog/nlid_fourterm.cpp5
-rw-r--r--src/lib/netlist/analog/nlid_fourterm.h9
-rw-r--r--src/lib/netlist/analog/nlid_twoterm.cpp5
-rw-r--r--src/lib/netlist/analog/nlid_twoterm.h2
-rw-r--r--src/lib/netlist/devices/nld_2102A.cpp6
-rw-r--r--src/lib/netlist/devices/nld_4006.cpp5
-rw-r--r--src/lib/netlist/devices/nld_4013.cpp5
-rw-r--r--src/lib/netlist/devices/nld_4020.cpp10
-rw-r--r--src/lib/netlist/devices/nld_4066.cpp9
-rw-r--r--src/lib/netlist/devices/nld_4316.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74107.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74113.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74123.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74125.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74153.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74164.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74165.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74166.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74174.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74175.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74192.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74193.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74194.cpp5
-rw-r--r--src/lib/netlist/devices/nld_74365.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74377.cpp4
-rw-r--r--src/lib/netlist/devices/nld_74393.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7442.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7448.cpp4
-rw-r--r--src/lib/netlist/devices/nld_7450.cpp4
-rw-r--r--src/lib/netlist/devices/nld_7473.cpp5
-rw-r--r--src/lib/netlist/devices/nld_7474.cpp5
-rw-r--r--src/lib/netlist/devices/nld_7475.cpp11
-rw-r--r--src/lib/netlist/devices/nld_7483.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7485.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7490.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7492.cpp5
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp6
-rw-r--r--src/lib/netlist/devices/nld_7497.cpp6
-rw-r--r--src/lib/netlist/devices/nld_74ls629.cpp11
-rw-r--r--src/lib/netlist/devices/nld_82S115.cpp5
-rw-r--r--src/lib/netlist/devices/nld_82S16.cpp6
-rw-r--r--src/lib/netlist/devices/nld_9316_base.hxx5
-rw-r--r--src/lib/netlist/devices/nld_9322.cpp11
-rw-r--r--src/lib/netlist/devices/nld_am2847.cpp11
-rw-r--r--src/lib/netlist/devices/nld_dm9314.cpp5
-rw-r--r--src/lib/netlist/devices/nld_dm9334.cpp6
-rw-r--r--src/lib/netlist/devices/nld_legacy.cpp10
-rw-r--r--src/lib/netlist/devices/nld_log.cpp10
-rw-r--r--src/lib/netlist/devices/nld_mm5837.cpp5
-rw-r--r--src/lib/netlist/devices/nld_ne555.cpp6
-rw-r--r--src/lib/netlist/devices/nld_roms.cpp5
-rw-r--r--src/lib/netlist/devices/nld_schmitt.cpp5
-rw-r--r--src/lib/netlist/devices/nld_tms4800.cpp6
-rw-r--r--src/lib/netlist/devices/nld_tristate.cpp10
-rw-r--r--src/lib/netlist/devices/nlid_proxy.h9
-rw-r--r--src/lib/netlist/devices/nlid_system.h53
-rw-r--r--src/lib/netlist/devices/nlid_truthtable.cpp6
-rw-r--r--src/lib/netlist/nl_base.cpp55
-rw-r--r--src/lib/netlist/nl_base.h16
-rw-r--r--src/lib/netlist/nl_factory.cpp1
-rw-r--r--src/lib/netlist/nl_interface.h15
-rw-r--r--src/lib/netlist/solver/nld_matrix_solver.h6
-rw-r--r--src/lib/netlist/solver/nld_solver.h5
67 files changed, 40 insertions, 526 deletions
diff --git a/src/lib/netlist/analog/nld_bjt.cpp b/src/lib/netlist/analog/nld_bjt.cpp
index a863bfbe8a7..4ec7b3c971e 100644
--- a/src/lib/netlist/analog/nld_bjt.cpp
+++ b/src/lib/netlist/analog/nld_bjt.cpp
@@ -142,7 +142,6 @@ namespace analog
NETLIB_IS_DYNAMIC(true)
//NETLIB_RESETI();
- NETLIB_UPDATEI();
bjt_type qtype() const noexcept { return m_qtype; }
bool is_qtype(bjt_type atype) const noexcept { return m_qtype == atype; }
@@ -194,10 +193,6 @@ namespace analog
}
NETLIB_RESETI();
- NETLIB_UPDATEI()
- {
- termhandler();
- }
NETLIB_HANDLERI(termhandler)
{
auto *solv(m_RB.solver());
@@ -268,11 +263,6 @@ namespace analog
protected:
NETLIB_RESETI();
- NETLIB_UPDATEI()
- {
- termhandler();
- }
-
NETLIB_HANDLERI(termhandler)
{
auto *solv(m_D_EB.solver());
@@ -303,15 +293,6 @@ namespace analog
// ----------------------------------------------------------------------------------------
- // nld_Q
- // ----------------------------------------------------------------------------------------
-
- NETLIB_UPDATE(QBJT)
- {
- // netlist().solver()->schedule1();
- }
-
- // ----------------------------------------------------------------------------------------
// nld_QBJT_switch
// ----------------------------------------------------------------------------------------
diff --git a/src/lib/netlist/analog/nld_mosfet.cpp b/src/lib/netlist/analog/nld_mosfet.cpp
index 653063dd243..0bc46adb002 100644
--- a/src/lib/netlist/analog/nld_mosfet.cpp
+++ b/src/lib/netlist/analog/nld_mosfet.cpp
@@ -162,7 +162,6 @@ namespace analog
NETLIB_IS_DYNAMIC(true)
//NETLIB_RESETI();
- //NETLIB_UPDATEI() {}
q_type qtype() const noexcept { return m_qtype; }
bool is_qtype(q_type atype) const noexcept { return m_qtype == atype; }
@@ -332,10 +331,6 @@ namespace analog
#endif
}
- NETLIB_UPDATEI()
- {
- termhandler();
- }
NETLIB_HANDLERI(termhandler)
{
// FIXME: This should never be called
diff --git a/src/lib/netlist/analog/nld_opamps.cpp b/src/lib/netlist/analog/nld_opamps.cpp
index 0fc1b27a553..fa9c64e0e9a 100644
--- a/src/lib/netlist/analog/nld_opamps.cpp
+++ b/src/lib/netlist/analog/nld_opamps.cpp
@@ -183,11 +183,6 @@ namespace netlist
}
- NETLIB_UPDATEI()
- {
- supply();
- }
-
NETLIB_HANDLERI(supply)
{
const nl_fptype cVt = nlconst::np_VT(nlconst::one()); // * m_n;
diff --git a/src/lib/netlist/analog/nld_switches.cpp b/src/lib/netlist/analog/nld_switches.cpp
index 45515a8c416..061ea0a7995 100644
--- a/src/lib/netlist/analog/nld_switches.cpp
+++ b/src/lib/netlist/analog/nld_switches.cpp
@@ -29,33 +29,23 @@ namespace netlist
register_subalias("2", m_R.N());
}
- NETLIB_RESETI();
- NETLIB_UPDATEI();
- NETLIB_UPDATE_PARAMI();
+ NETLIB_RESETI()
+ {
+ m_R.set_R(R_OFF);
+ }
+ NETLIB_UPDATE_PARAMI()
+ {
+ m_R.change_state([this]()
+ {
+ m_R.set_R(m_POS() ? R_ON : R_OFF);
+ });
+ }
private:
analog::NETLIB_SUB(R_base) m_R;
param_logic_t m_POS;
};
-
- NETLIB_RESET(switch1)
- {
- m_R.set_R(R_OFF);
- }
-
- NETLIB_UPDATE(switch1)
- {
- }
-
- NETLIB_UPDATE_PARAM(switch1)
- {
- m_R.change_state([this]()
- {
- m_R.set_R(m_POS() ? R_ON : R_OFF);
- });
- }
-
// ----------------------------------------------------------------------------------------
// SWITCH2
// ----------------------------------------------------------------------------------------
@@ -76,7 +66,6 @@ namespace netlist
}
NETLIB_RESETI();
- NETLIB_UPDATEI();
NETLIB_UPDATE_PARAMI();
private:
@@ -91,6 +80,7 @@ namespace netlist
m_R2.set_R(R_OFF);
}
+#ifdef FIXMELATER
NETLIB_UPDATE(switch2)
{
if (!m_POS())
@@ -104,7 +94,7 @@ namespace netlist
m_R2.set_R(R_ON);
}
}
-
+#endif
NETLIB_UPDATE_PARAM(switch2)
{
// R1 and R2 are connected. However this net may be a rail net.
diff --git a/src/lib/netlist/analog/nlid_fourterm.cpp b/src/lib/netlist/analog/nlid_fourterm.cpp
index c6412127b6a..ed3ff1ca579 100644
--- a/src/lib/netlist/analog/nlid_fourterm.cpp
+++ b/src/lib/netlist/analog/nlid_fourterm.cpp
@@ -30,11 +30,6 @@ NETLIB_RESET(VCCS)
m_ON1.set_go_gt(-m_mult, nlconst::zero());
}
-NETLIB_UPDATE(VCCS)
-{
- termhandler();
-}
-
NETLIB_HANDLER(VCCS, termhandler)
{
// only called if connected to a rail net ==> notify the solver to recalculate
diff --git a/src/lib/netlist/analog/nlid_fourterm.h b/src/lib/netlist/analog/nlid_fourterm.h
index 21a22d60102..dc47483a9e1 100644
--- a/src/lib/netlist/analog/nlid_fourterm.h
+++ b/src/lib/netlist/analog/nlid_fourterm.h
@@ -57,7 +57,6 @@ namespace analog {
param_fp_t m_RI;
protected:
- NETLIB_UPDATEI();
NETLIB_HANDLERI(termhandler);
NETLIB_UPDATE_PARAMI()
{
@@ -194,10 +193,6 @@ namespace analog {
param_fp_t m_RO;
private:
- NETLIB_UPDATEI()
- {
- termhandler();
- }
//NETLIB_UPDATE_PARAMI();
NETLIB_HANDLERI(termhandler)
{
@@ -253,10 +248,6 @@ namespace analog {
param_fp_t m_RO;
private:
- NETLIB_UPDATEI()
- {
- termhandler();
- }
//NETLIB_UPDATE_PARAMI();
NETLIB_HANDLERI(termhandler)
diff --git a/src/lib/netlist/analog/nlid_twoterm.cpp b/src/lib/netlist/analog/nlid_twoterm.cpp
index c3b2274984c..9b6d10ccd7c 100644
--- a/src/lib/netlist/analog/nlid_twoterm.cpp
+++ b/src/lib/netlist/analog/nlid_twoterm.cpp
@@ -31,11 +31,6 @@ namespace analog
solv->solve_now();
}
- NETLIB_UPDATE(twoterm)
- {
- termhandler();
- }
-
NETLIB_HANDLER(twoterm, termhandler)
{
// only called if connected to a rail net ==> notify the solver to recalculate
diff --git a/src/lib/netlist/analog/nlid_twoterm.h b/src/lib/netlist/analog/nlid_twoterm.h
index 937917dc09b..66b6d97ffe9 100644
--- a/src/lib/netlist/analog/nlid_twoterm.h
+++ b/src/lib/netlist/analog/nlid_twoterm.h
@@ -89,7 +89,6 @@ namespace analog
public:
- NETLIB_UPDATEI();
NETLIB_HANDLERI(termhandler);
solver::matrix_solver_t *solver() const noexcept;
@@ -221,7 +220,6 @@ namespace analog
protected:
- //NETLIB_UPDATEI() {}
NETLIB_RESETI()
{
set_R(std::max(m_R(), exec().gmin()));
diff --git a/src/lib/netlist/devices/nld_2102A.cpp b/src/lib/netlist/devices/nld_2102A.cpp
index 2f673fadd53..d60b661ad21 100644
--- a/src/lib/netlist/devices/nld_2102A.cpp
+++ b/src/lib/netlist/devices/nld_2102A.cpp
@@ -60,11 +60,6 @@ namespace netlist
}
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(2102A_dip);
private:
object_array_t<logic_input_t, 10> m_A;
@@ -106,7 +101,6 @@ namespace netlist
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(2102A) A;
};
diff --git a/src/lib/netlist/devices/nld_4006.cpp b/src/lib/netlist/devices/nld_4006.cpp
index 5f4e93ad7ae..45f885b91d5 100644
--- a/src/lib/netlist/devices/nld_4006.cpp
+++ b/src/lib/netlist/devices/nld_4006.cpp
@@ -59,10 +59,6 @@ namespace netlist
}
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
friend class NETLIB_NAME(CD4006_dip);
private:
logic_input_t m_CLOCK;
@@ -95,7 +91,6 @@ namespace netlist
register_subalias("14", "A.VDD");
}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(CD4006) A;
};
diff --git a/src/lib/netlist/devices/nld_4013.cpp b/src/lib/netlist/devices/nld_4013.cpp
index 34a44962ce5..42c2eb71350 100644
--- a/src/lib/netlist/devices/nld_4013.cpp
+++ b/src/lib/netlist/devices/nld_4013.cpp
@@ -35,11 +35,6 @@ namespace netlist
m_nextD = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
const auto set(m_SET());
diff --git a/src/lib/netlist/devices/nld_4020.cpp b/src/lib/netlist/devices/nld_4020.cpp
index 31dfaae34e9..9fe5bb2ec0a 100644
--- a/src/lib/netlist/devices/nld_4020.cpp
+++ b/src/lib/netlist/devices/nld_4020.cpp
@@ -37,11 +37,6 @@ namespace netlist
update_outputs(m_cnt);
}
- NETLIB_UPDATEI()
- {
- ip();
- }
-
public:
void update_outputs(const unsigned cnt) noexcept
{
@@ -106,11 +101,6 @@ namespace netlist
m_sub.m_IP.activate_hl();
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
private:
NETLIB_SUB(CD4020_sub) m_sub;
logic_input_t m_RESET;
diff --git a/src/lib/netlist/devices/nld_4066.cpp b/src/lib/netlist/devices/nld_4066.cpp
index 27d388424be..97b503541e7 100644
--- a/src/lib/netlist/devices/nld_4066.cpp
+++ b/src/lib/netlist/devices/nld_4066.cpp
@@ -46,11 +46,6 @@ namespace netlist
m_R.set_R(plib::reciprocal(exec().gmin()));
}
- NETLIB_UPDATEI()
- {
- control();
- }
-
private:
NETLIB_HANDLERI(control)
{
@@ -108,10 +103,6 @@ namespace netlist
// FIXME: is ROFF correct?
}
- NETLIB_UPDATEI()
- {
- }
-
NETLIB_UPDATE_TERMINALSI()
{
nl_fptype sup = (m_supply.VCC().Q_Analog() - m_supply.GND().Q_Analog());
diff --git a/src/lib/netlist/devices/nld_4316.cpp b/src/lib/netlist/devices/nld_4316.cpp
index 63aba880355..b5b7fa80760 100644
--- a/src/lib/netlist/devices/nld_4316.cpp
+++ b/src/lib/netlist/devices/nld_4316.cpp
@@ -41,11 +41,6 @@ namespace netlist { namespace devices {
, NLTIME_FROM_NS(1));
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
private:
analog::NETLIB_SUB(R_base) m_R;
diff --git a/src/lib/netlist/devices/nld_74107.cpp b/src/lib/netlist/devices/nld_74107.cpp
index 71f77a5bdeb..dbf7f40d34b 100644
--- a/src/lib/netlist/devices/nld_74107.cpp
+++ b/src/lib/netlist/devices/nld_74107.cpp
@@ -41,11 +41,6 @@ namespace netlist
//m_QQ.initial(1);
}
- NETLIB_UPDATEI()
- {
- other();
- }
-
NETLIB_HANDLERI(other)
{
if (!m_clrQ())
diff --git a/src/lib/netlist/devices/nld_74113.cpp b/src/lib/netlist/devices/nld_74113.cpp
index 0c3115e7fda..784e866570a 100644
--- a/src/lib/netlist/devices/nld_74113.cpp
+++ b/src/lib/netlist/devices/nld_74113.cpp
@@ -70,11 +70,6 @@ namespace netlist
m_QQ.push(m_q ^ 1, NLTIME_FROM_NS(20)); // FIXME: timing
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
public:
logic_input_t m_CLK;
logic_input_t m_J;
diff --git a/src/lib/netlist/devices/nld_74123.cpp b/src/lib/netlist/devices/nld_74123.cpp
index ae8663b78d9..31f59dbbc22 100644
--- a/src/lib/netlist/devices/nld_74123.cpp
+++ b/src/lib/netlist/devices/nld_74123.cpp
@@ -127,11 +127,6 @@ namespace netlist
m_last_trig = m_trig;
}
- NETLIB_UPDATEI()
- {
- cv();
- }
-
NETLIB_HANDLERI(cv)
{
if (m_state == 1)
diff --git a/src/lib/netlist/devices/nld_74125.cpp b/src/lib/netlist/devices/nld_74125.cpp
index 28118f8248e..094803ea803 100644
--- a/src/lib/netlist/devices/nld_74125.cpp
+++ b/src/lib/netlist/devices/nld_74125.cpp
@@ -45,11 +45,9 @@ namespace netlist
}
private:
- NETLIB_RESETI()
- {
- }
+ //NETLIB_RESETI() {}
- NETLIB_UPDATEI()
+ NETLIB_UPDATE_PARAMI()
{
// this one is only called during startup. Ensure all outputs
// are in a consistent state.
diff --git a/src/lib/netlist/devices/nld_74153.cpp b/src/lib/netlist/devices/nld_74153.cpp
index 31ead62b6da..80b460ef52b 100644
--- a/src/lib/netlist/devices/nld_74153.cpp
+++ b/src/lib/netlist/devices/nld_74153.cpp
@@ -41,11 +41,6 @@ namespace devices
sub();
}
- NETLIB_UPDATEI()
- {
- other();
- }
-
NETLIB_HANDLERI(sub)
{
constexpr const std::array<netlist_time, 2> delay = { NLTIME_FROM_NS(23), NLTIME_FROM_NS(18) };
diff --git a/src/lib/netlist/devices/nld_74164.cpp b/src/lib/netlist/devices/nld_74164.cpp
index 7c196141dba..2907910c8b7 100644
--- a/src/lib/netlist/devices/nld_74164.cpp
+++ b/src/lib/netlist/devices/nld_74164.cpp
@@ -64,11 +64,6 @@ namespace netlist
m_last_CLK = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(74164_dip);
private:
logic_input_t m_A;
diff --git a/src/lib/netlist/devices/nld_74165.cpp b/src/lib/netlist/devices/nld_74165.cpp
index 47106269b91..afa5f3de90d 100644
--- a/src/lib/netlist/devices/nld_74165.cpp
+++ b/src/lib/netlist/devices/nld_74165.cpp
@@ -66,11 +66,6 @@ namespace netlist
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(74165_dip);
private:
object_array_t<logic_input_t, 8> m_DATA;
@@ -110,7 +105,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74165) A;
};
diff --git a/src/lib/netlist/devices/nld_74166.cpp b/src/lib/netlist/devices/nld_74166.cpp
index fd45d32730f..d8da82a1e7a 100644
--- a/src/lib/netlist/devices/nld_74166.cpp
+++ b/src/lib/netlist/devices/nld_74166.cpp
@@ -84,11 +84,6 @@ namespace netlist
m_QH.push(qh, delay); //FIXME
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(74166_dip);
private:
object_array_t<logic_input_t, 8> m_DATA;
@@ -129,7 +124,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74166) A;
};
diff --git a/src/lib/netlist/devices/nld_74174.cpp b/src/lib/netlist/devices/nld_74174.cpp
index 88825593e46..37071e190ed 100644
--- a/src/lib/netlist/devices/nld_74174.cpp
+++ b/src/lib/netlist/devices/nld_74174.cpp
@@ -54,11 +54,6 @@ namespace devices
}
}
- NETLIB_UPDATEI()
- {
- other();
- }
-
NETLIB_HANDLERI(clk)
{
if (m_clrq)
@@ -115,7 +110,6 @@ namespace devices
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74174) A;
};
diff --git a/src/lib/netlist/devices/nld_74175.cpp b/src/lib/netlist/devices/nld_74175.cpp
index c0bb9ae67a5..5f1b483e5c3 100644
--- a/src/lib/netlist/devices/nld_74175.cpp
+++ b/src/lib/netlist/devices/nld_74175.cpp
@@ -60,11 +60,6 @@ namespace netlist
}
}
- NETLIB_UPDATEI()
- {
- other();
- }
-
NETLIB_HANDLERI(clk)
{
if (m_CLRQ())
@@ -120,7 +115,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74175) A;
};
diff --git a/src/lib/netlist/devices/nld_74192.cpp b/src/lib/netlist/devices/nld_74192.cpp
index e5fc34e1e1a..f395e8e3df4 100644
--- a/src/lib/netlist/devices/nld_74192.cpp
+++ b/src/lib/netlist/devices/nld_74192.cpp
@@ -54,11 +54,6 @@ namespace netlist
m_last_CD = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(74192_dip);
private:
logic_input_t m_CLEAR;
@@ -160,7 +155,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74192) A;
};
diff --git a/src/lib/netlist/devices/nld_74193.cpp b/src/lib/netlist/devices/nld_74193.cpp
index b33854bd25c..38933a89a62 100644
--- a/src/lib/netlist/devices/nld_74193.cpp
+++ b/src/lib/netlist/devices/nld_74193.cpp
@@ -53,10 +53,6 @@ namespace netlist
m_last_CU = 0;
m_last_CD = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
friend class NETLIB_NAME(74193_dip);
private:
@@ -148,7 +144,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74193) A;
};
diff --git a/src/lib/netlist/devices/nld_74194.cpp b/src/lib/netlist/devices/nld_74194.cpp
index 15fd6d68840..6cd30ff648a 100644
--- a/src/lib/netlist/devices/nld_74194.cpp
+++ b/src/lib/netlist/devices/nld_74194.cpp
@@ -36,10 +36,6 @@ namespace netlist
m_last_CLK = 0;
m_last_Q = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
friend class NETLIB_NAME(74194_dip);
private:
@@ -124,7 +120,6 @@ namespace netlist
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74194) A;
};
diff --git a/src/lib/netlist/devices/nld_74365.cpp b/src/lib/netlist/devices/nld_74365.cpp
index f7d33d7e9b4..46a13a4d086 100644
--- a/src/lib/netlist/devices/nld_74365.cpp
+++ b/src/lib/netlist/devices/nld_74365.cpp
@@ -31,11 +31,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(74365_dip);
private:
NETLIB_HANDLERI(inputs)
@@ -83,7 +78,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(74365) A;
};
diff --git a/src/lib/netlist/devices/nld_74377.cpp b/src/lib/netlist/devices/nld_74377.cpp
index 13d4b1bb542..4f2e00f229a 100644
--- a/src/lib/netlist/devices/nld_74377.cpp
+++ b/src/lib/netlist/devices/nld_74377.cpp
@@ -31,10 +31,6 @@ namespace netlist
NETLIB_RESETI()
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
private:
NETLIB_HANDLERI(inputs)
diff --git a/src/lib/netlist/devices/nld_74393.cpp b/src/lib/netlist/devices/nld_74393.cpp
index c8dfce300e5..09ac49e8ffb 100644
--- a/src/lib/netlist/devices/nld_74393.cpp
+++ b/src/lib/netlist/devices/nld_74393.cpp
@@ -33,11 +33,6 @@ namespace netlist
m_cnt = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
netlist_sig_t last_cp = m_cp;
@@ -103,7 +98,6 @@ namespace netlist
connect("A.GND", "B.GND");
connect("A.VCC", "B.VCC");
}
- //NETLIB_UPDATEI() {}
//NETLIB_RESETI() {}
private:
diff --git a/src/lib/netlist/devices/nld_7442.cpp b/src/lib/netlist/devices/nld_7442.cpp
index c389ed2d85c..e25b56e60d3 100644
--- a/src/lib/netlist/devices/nld_7442.cpp
+++ b/src/lib/netlist/devices/nld_7442.cpp
@@ -30,11 +30,6 @@ namespace devices
}
private:
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_RESETI()
{
m_val = 0;
@@ -99,7 +94,6 @@ namespace devices
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7442) A;
};
diff --git a/src/lib/netlist/devices/nld_7448.cpp b/src/lib/netlist/devices/nld_7448.cpp
index 6dc97cc22b4..13a9b171258 100644
--- a/src/lib/netlist/devices/nld_7448.cpp
+++ b/src/lib/netlist/devices/nld_7448.cpp
@@ -35,10 +35,6 @@ namespace netlist
{
m_state = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
friend class NETLIB_NAME(7448_dip);
private:
diff --git a/src/lib/netlist/devices/nld_7450.cpp b/src/lib/netlist/devices/nld_7450.cpp
index 1c26fde8185..5099ec5eea1 100644
--- a/src/lib/netlist/devices/nld_7450.cpp
+++ b/src/lib/netlist/devices/nld_7450.cpp
@@ -28,10 +28,6 @@ namespace netlist
}
//NETLIB_RESETI();
- NETLIB_UPDATEI()
- {
- inputs();
- }
public:
NETLIB_HANDLERI(inputs)
diff --git a/src/lib/netlist/devices/nld_7473.cpp b/src/lib/netlist/devices/nld_7473.cpp
index b9deb2649c1..d724ca16a3b 100644
--- a/src/lib/netlist/devices/nld_7473.cpp
+++ b/src/lib/netlist/devices/nld_7473.cpp
@@ -32,11 +32,6 @@ namespace netlist
m_last_CLK = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
public:
NETLIB_HANDLERI(inputs)
{
diff --git a/src/lib/netlist/devices/nld_7474.cpp b/src/lib/netlist/devices/nld_7474.cpp
index 01fc479f5e3..ac01a769f1e 100644
--- a/src/lib/netlist/devices/nld_7474.cpp
+++ b/src/lib/netlist/devices/nld_7474.cpp
@@ -38,11 +38,6 @@ namespace netlist
m_nextD = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(clk)
{
newstate(m_nextD, !m_nextD);
diff --git a/src/lib/netlist/devices/nld_7475.cpp b/src/lib/netlist/devices/nld_7475.cpp
index 6dc05a44ed8..e80326c8cb1 100644
--- a/src/lib/netlist/devices/nld_7475.cpp
+++ b/src/lib/netlist/devices/nld_7475.cpp
@@ -30,10 +30,6 @@ namespace netlist
{
m_last_Q = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
NETLIB_HANDLERI(inputs)
{
@@ -98,11 +94,6 @@ namespace netlist
m_last_Q = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
unsigned start_q = m_last_Q;
@@ -179,7 +170,6 @@ namespace netlist
register_subalias("16", A.m_Q[0]);
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7475) A;
};
@@ -206,7 +196,6 @@ namespace netlist
register_subalias("14", A.m_Q[0]);
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7477) A;
};
diff --git a/src/lib/netlist/devices/nld_7483.cpp b/src/lib/netlist/devices/nld_7483.cpp
index 93f1dd44610..a38c6123e7d 100644
--- a/src/lib/netlist/devices/nld_7483.cpp
+++ b/src/lib/netlist/devices/nld_7483.cpp
@@ -40,11 +40,6 @@ namespace netlist
m_lastr = 0;
}
- NETLIB_UPDATEI()
- {
- c0();
- }
-
friend class NETLIB_NAME(7483_dip);
private:
NETLIB_HANDLERI(c0)
@@ -121,7 +116,6 @@ namespace netlist
register_subalias("16", A.m_B4);
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7483) A;
};
diff --git a/src/lib/netlist/devices/nld_7485.cpp b/src/lib/netlist/devices/nld_7485.cpp
index cd276ce2ee2..0fa0bc982a2 100644
--- a/src/lib/netlist/devices/nld_7485.cpp
+++ b/src/lib/netlist/devices/nld_7485.cpp
@@ -27,11 +27,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
void update_outputs(unsigned gt, unsigned lt, unsigned eq);
friend class NETLIB_NAME(7485_dip);
@@ -103,7 +98,6 @@ namespace netlist
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7485) A;
};
diff --git a/src/lib/netlist/devices/nld_7490.cpp b/src/lib/netlist/devices/nld_7490.cpp
index 2b19eff4227..e7b57044c59 100644
--- a/src/lib/netlist/devices/nld_7490.cpp
+++ b/src/lib/netlist/devices/nld_7490.cpp
@@ -39,11 +39,6 @@ namespace devices
}
private:
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
const netlist_sig_t new_A = m_A();
@@ -123,7 +118,6 @@ namespace devices
register_subalias("14", "A.A");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7490) A;
};
diff --git a/src/lib/netlist/devices/nld_7492.cpp b/src/lib/netlist/devices/nld_7492.cpp
index dd2a9291feb..d4130081cb6 100644
--- a/src/lib/netlist/devices/nld_7492.cpp
+++ b/src/lib/netlist/devices/nld_7492.cpp
@@ -37,10 +37,6 @@ namespace devices
}
private:
- NETLIB_UPDATEI()
- {
- inputs();
- }
NETLIB_HANDLERI(inputs)
{
@@ -116,7 +112,6 @@ namespace devices
register_subalias("14", "A.A");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7492) A;
};
diff --git a/src/lib/netlist/devices/nld_7493.cpp b/src/lib/netlist/devices/nld_7493.cpp
index 131be393592..a6514183f76 100644
--- a/src/lib/netlist/devices/nld_7493.cpp
+++ b/src/lib/netlist/devices/nld_7493.cpp
@@ -102,11 +102,6 @@ namespace netlist
m_CLKB.set_state(logic_t::STATE_INP_HL);
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
if (!(m_R1() && m_R2()))
@@ -177,7 +172,6 @@ namespace netlist
register_subalias("14", "A.CLKA");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7493) A;
};
diff --git a/src/lib/netlist/devices/nld_7497.cpp b/src/lib/netlist/devices/nld_7497.cpp
index 6645adea53e..a5140e9593f 100644
--- a/src/lib/netlist/devices/nld_7497.cpp
+++ b/src/lib/netlist/devices/nld_7497.cpp
@@ -48,11 +48,6 @@ namespace netlist
m_lastclock = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(noop) { }
NETLIB_HANDLERI(unity)
@@ -170,7 +165,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(7497) A;
};
diff --git a/src/lib/netlist/devices/nld_74ls629.cpp b/src/lib/netlist/devices/nld_74ls629.cpp
index 8c56528458d..cc924450eca 100644
--- a/src/lib/netlist/devices/nld_74ls629.cpp
+++ b/src/lib/netlist/devices/nld_74ls629.cpp
@@ -65,11 +65,6 @@ namespace netlist
m_inc = netlist_time::zero();
}
- NETLIB_UPDATEI()
- {
- fb();
- }
-
public:
logic_input_t m_FB;
logic_output_t m_Y;
@@ -120,11 +115,6 @@ namespace netlist
m_clock.reset();
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_UPDATE_PARAMI()
{
/* update param may be called from anywhere, update_dev(time) is not a good idea */
@@ -227,7 +217,6 @@ namespace netlist
register_subalias("14", m_B.m_RNG);
}
- //NETLIB_UPDATEI() {}
NETLIB_RESETI()
{
diff --git a/src/lib/netlist/devices/nld_82S115.cpp b/src/lib/netlist/devices/nld_82S115.cpp
index 883e13f6f9c..1b1235817f0 100644
--- a/src/lib/netlist/devices/nld_82S115.cpp
+++ b/src/lib/netlist/devices/nld_82S115.cpp
@@ -30,10 +30,6 @@ namespace netlist
{
m_last_O = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
friend class NETLIB_NAME(82S115_dip);
private:
@@ -114,7 +110,6 @@ namespace netlist
register_subalias("24", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(82S115) A;
};
diff --git a/src/lib/netlist/devices/nld_82S16.cpp b/src/lib/netlist/devices/nld_82S16.cpp
index 53213deb02f..370f2c0104d 100644
--- a/src/lib/netlist/devices/nld_82S16.cpp
+++ b/src/lib/netlist/devices/nld_82S16.cpp
@@ -38,11 +38,6 @@ namespace netlist
m_addr = 0;
m_enq = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(82S16_dip);
private:
// FIXME: timing!
@@ -137,7 +132,6 @@ namespace netlist
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(82S16) A;
};
diff --git a/src/lib/netlist/devices/nld_9316_base.hxx b/src/lib/netlist/devices/nld_9316_base.hxx
index cbbc20f014d..dee25a8397f 100644
--- a/src/lib/netlist/devices/nld_9316_base.hxx
+++ b/src/lib/netlist/devices/nld_9316_base.hxx
@@ -69,11 +69,6 @@ namespace netlist
m_RC.push(m_ent && (m_cnt == D::MAXCNT::value), D::tRC::value(0));
}
- NETLIB_UPDATEI()
- {
- other();
- }
-
NETLIB_HANDLERI(clk)
{
if (!D::ASYNC::value && !m_CLRQ())
diff --git a/src/lib/netlist/devices/nld_9322.cpp b/src/lib/netlist/devices/nld_9322.cpp
index 154c51a8c95..8c7742360b9 100644
--- a/src/lib/netlist/devices/nld_9322.cpp
+++ b/src/lib/netlist/devices/nld_9322.cpp
@@ -25,11 +25,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
// FIXME: Timing
NETLIB_HANDLERI(inputs);
@@ -76,11 +71,6 @@ namespace netlist
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(9322_dip);
public:
logic_input_t m_SELECT;
@@ -136,7 +126,6 @@ namespace netlist
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(9322) A;
};
diff --git a/src/lib/netlist/devices/nld_am2847.cpp b/src/lib/netlist/devices/nld_am2847.cpp
index 5777de6dc3c..7dff2cdb07e 100644
--- a/src/lib/netlist/devices/nld_am2847.cpp
+++ b/src/lib/netlist/devices/nld_am2847.cpp
@@ -23,11 +23,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
public:
void shift() noexcept
{
@@ -97,11 +92,6 @@ namespace netlist
m_last_CP = 0;
}
- NETLIB_UPDATEI()
- {
- cp();
- }
-
friend class NETLIB_NAME(AM2847_dip);
private:
NETLIB_HANDLERI(cp)
@@ -148,7 +138,6 @@ namespace netlist
register_subalias("16", "A.VSS");
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(AM2847) A;
};
diff --git a/src/lib/netlist/devices/nld_dm9314.cpp b/src/lib/netlist/devices/nld_dm9314.cpp
index fb16d1414e5..2ded51abbd4 100644
--- a/src/lib/netlist/devices/nld_dm9314.cpp
+++ b/src/lib/netlist/devices/nld_dm9314.cpp
@@ -38,11 +38,6 @@ namespace netlist
m_last_Q = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(9314_dip);
private:
NETLIB_HANDLERI(inputs)
diff --git a/src/lib/netlist/devices/nld_dm9334.cpp b/src/lib/netlist/devices/nld_dm9334.cpp
index 9dd94b8e2c8..cdc38827755 100644
--- a/src/lib/netlist/devices/nld_dm9334.cpp
+++ b/src/lib/netlist/devices/nld_dm9334.cpp
@@ -38,11 +38,6 @@ namespace netlist
m_last_Q = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(9334_dip);
private:
NETLIB_HANDLERI(inputs)
@@ -150,7 +145,6 @@ namespace netlist
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(9334) A;
};
diff --git a/src/lib/netlist/devices/nld_legacy.cpp b/src/lib/netlist/devices/nld_legacy.cpp
index a643aa92261..ba66ae1bf94 100644
--- a/src/lib/netlist/devices/nld_legacy.cpp
+++ b/src/lib/netlist/devices/nld_legacy.cpp
@@ -28,11 +28,6 @@ namespace netlist
m_QQ.initial(1);
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
private:
NETLIB_HANDLERI(inputs)
{
@@ -73,11 +68,6 @@ namespace netlist
//m_Q.initial(0);
}
- NETLIB_UPDATEI()
- {
- input();
- }
-
private:
NETLIB_HANDLERI(input)
{
diff --git a/src/lib/netlist/devices/nld_log.cpp b/src/lib/netlist/devices/nld_log.cpp
index 864f77f1135..eccb0c5ccff 100644
--- a/src/lib/netlist/devices/nld_log.cpp
+++ b/src/lib/netlist/devices/nld_log.cpp
@@ -53,11 +53,6 @@ namespace netlist
m_write_thread.join();
}
- NETLIB_UPDATEI()
- {
- input();
- }
-
NETLIB_HANDLERI(input)
{
log_value(static_cast<nl_fptype>(m_I()));
@@ -132,11 +127,6 @@ namespace netlist
m_I.set_delegate(nldelegate(&NETLIB_NAME(logD)::input, this));
}
- NETLIB_UPDATEI()
- {
- input();
- }
-
NETLIB_HANDLERI(input)
{
log_value(static_cast<nl_fptype>(m_I() - m_I2()));
diff --git a/src/lib/netlist/devices/nld_mm5837.cpp b/src/lib/netlist/devices/nld_mm5837.cpp
index 139bb3f55d1..aac0d38fe82 100644
--- a/src/lib/netlist/devices/nld_mm5837.cpp
+++ b/src/lib/netlist/devices/nld_mm5837.cpp
@@ -50,11 +50,6 @@ namespace netlist
m_shift = 0x1ffff;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_UPDATE_PARAMI()
{
m_inc = netlist_time::from_fp(plib::reciprocal(m_FREQ()));
diff --git a/src/lib/netlist/devices/nld_ne555.cpp b/src/lib/netlist/devices/nld_ne555.cpp
index 4e812a0bd53..28027b9efb0 100644
--- a/src/lib/netlist/devices/nld_ne555.cpp
+++ b/src/lib/netlist/devices/nld_ne555.cpp
@@ -98,11 +98,6 @@ namespace netlist
connect(m_OUT, m_ROUT.N());
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_RESETI()
{
/* FIXME make resistances a parameter, properly model other variants */
@@ -234,7 +229,6 @@ namespace netlist
// The reset on R_Base executed after NE555 reset will
// overwrite values.
NETLIB_RESETI() { A.reset(); }
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(NE555) A;
};
diff --git a/src/lib/netlist/devices/nld_roms.cpp b/src/lib/netlist/devices/nld_roms.cpp
index a921c932aa2..946707ad0ef 100644
--- a/src/lib/netlist/devices/nld_roms.cpp
+++ b/src/lib/netlist/devices/nld_roms.cpp
@@ -86,11 +86,6 @@ namespace netlist
}
}
- NETLIB_UPDATEI()
- {
- ce<0>(); // only called during setup
- }
-
state_var<bool> m_enabled;
param_logic_t m_TE;
object_array_t<logic_input_t, D::address_width::value> m_A;
diff --git a/src/lib/netlist/devices/nld_schmitt.cpp b/src/lib/netlist/devices/nld_schmitt.cpp
index 98075ee549c..5225bdcc139 100644
--- a/src/lib/netlist/devices/nld_schmitt.cpp
+++ b/src/lib/netlist/devices/nld_schmitt.cpp
@@ -85,11 +85,6 @@ namespace netlist
m_RVO.set_G_V_I(plib::reciprocal(m_modacc.m_ROL()), m_modacc.m_VOL, nlconst::zero());
}
- NETLIB_UPDATEI()
- {
- input();
- }
-
private:
NETLIB_HANDLERI(input)
{
diff --git a/src/lib/netlist/devices/nld_tms4800.cpp b/src/lib/netlist/devices/nld_tms4800.cpp
index 9ce94e518c5..3f9de696ea8 100644
--- a/src/lib/netlist/devices/nld_tms4800.cpp
+++ b/src/lib/netlist/devices/nld_tms4800.cpp
@@ -27,11 +27,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
friend class NETLIB_NAME(TMS4800_dip);
private:
// FIXME: timing!
@@ -105,7 +100,6 @@ namespace netlist
register_subalias("16", A.m_D[7]);
}
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_SUB(TMS4800) A;
diff --git a/src/lib/netlist/devices/nld_tristate.cpp b/src/lib/netlist/devices/nld_tristate.cpp
index e5b7f4863ca..93dcbb4913d 100644
--- a/src/lib/netlist/devices/nld_tristate.cpp
+++ b/src/lib/netlist/devices/nld_tristate.cpp
@@ -24,11 +24,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
protected:
object_array_t<logic_input_t, 2> m_CEQ;
object_array_t<logic_input_t, 2> m_D;
@@ -55,11 +50,6 @@ namespace netlist
{
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
protected:
object_array_t<logic_input_t, 3> m_CEQ;
object_array_t<logic_input_t, 3> m_D;
diff --git a/src/lib/netlist/devices/nlid_proxy.h b/src/lib/netlist/devices/nlid_proxy.h
index 664fcc3dc24..bdae6c1b851 100644
--- a/src/lib/netlist/devices/nlid_proxy.h
+++ b/src/lib/netlist/devices/nlid_proxy.h
@@ -70,11 +70,6 @@ namespace devices
protected:
//NETLIB_RESETI();
- NETLIB_UPDATEI()
- {
- input();
- }
-
private:
NETLIB_HANDLERI(input);
@@ -114,10 +109,6 @@ namespace devices
protected:
NETLIB_RESETI();
- NETLIB_UPDATEI()
- {
- input();
- }
private:
NETLIB_HANDLERI(input);
diff --git a/src/lib/netlist/devices/nlid_system.h b/src/lib/netlist/devices/nlid_system.h
index d8f1ec0b0b4..2a03a6c4289 100644
--- a/src/lib/netlist/devices/nlid_system.h
+++ b/src/lib/netlist/devices/nlid_system.h
@@ -28,12 +28,11 @@ namespace devices
{
NETLIB_CONSTRUCTOR(netlistparams)
, m_use_deactivate(*this, "USE_DEACTIVATE", false)
- , m_startup_strategy(*this, "STARTUP_STRATEGY", 1)
+ , m_startup_strategy(*this, "STARTUP_STRATEGY", 0)
, m_mos_capmodel(*this, "DEFAULT_MOS_CAPMODEL", 2)
, m_max_link_loops(*this, "MAX_LINK_RESOLVE_LOOPS", 100)
{
}
- //NETLIB_UPDATEI() {}
//NETLIB_RESETI() {}
//NETLIB_UPDATE_PARAMI() { }
public:
@@ -66,11 +65,6 @@ namespace devices
m_inc = netlist_time::from_fp(plib::reciprocal(m_freq()*nlconst::two()));
}
- NETLIB_UPDATEI()
- {
- fb();
- }
-
NETLIB_HANDLERI(fb)
{
m_Q.push(m_feedback() ^ 1, m_inc);
@@ -119,11 +113,6 @@ namespace devices
//NETLIB_RESETI();
//NETLIB_UPDATE_PARAMI()
- NETLIB_UPDATEI()
- {
- fb();
- }
-
private:
NETLIB_HANDLERI(fb)
{
@@ -192,11 +181,6 @@ namespace devices
}
- NETLIB_UPDATEI()
- {
- first();
- }
-
NETLIB_RESETI()
{
m_cnt = 0;
@@ -261,7 +245,6 @@ namespace devices
{
}
- //NETLIB_UPDATEI() {}
NETLIB_RESETI() { m_Q.initial(0); }
NETLIB_UPDATE_PARAMI()
{
@@ -286,7 +269,6 @@ namespace devices
{
}
- //NETLIB_UPDATEI() {}
NETLIB_RESETI() { for (auto &q : m_Q) q.initial(0); }
NETLIB_UPDATE_PARAMI()
{
@@ -310,7 +292,6 @@ namespace devices
{
}
- //NETLIB_UPDATEI() {}
NETLIB_RESETI() { m_Q.initial(nlconst::zero()); }
NETLIB_UPDATE_PARAMI() { m_Q.push(m_IN()); }
@@ -330,7 +311,6 @@ namespace devices
{
}
- //NETLIB_UPDATEI() {}
NETLIB_UPDATE_PARAMI()
{
m_Q.push(nlconst::zero());
@@ -355,7 +335,6 @@ namespace devices
protected:
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
private:
NETLIB_HANDLERI(noop)
@@ -397,11 +376,6 @@ namespace devices
m_ROUT.set_G_V_I(plib::reciprocal(m_p_ROUT()),0,0);
}
- NETLIB_UPDATEI()
- {
- input();
- }
-
private:
NETLIB_HANDLERI(input)
{
@@ -446,11 +420,6 @@ namespace devices
//m_Q.initial(0.0);
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
for (std::size_t i = 0; i < static_cast<unsigned>(m_N()); i++)
@@ -508,11 +477,6 @@ namespace devices
param_fp_t m_ROFF;
private:
- NETLIB_UPDATEI()
- {
- input();
- }
-
NETLIB_HANDLERI(input)
{
const netlist_sig_t state = m_I();
@@ -565,11 +529,6 @@ namespace devices
//NETLIB_UPDATE_PARAMI();
private:
- NETLIB_UPDATEI()
- {
- input();
- }
-
NETLIB_HANDLERI(input)
{
const netlist_sig_t state = m_I();
@@ -630,11 +589,6 @@ namespace devices
m_last_state = 0;
}
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
//NETLIB_UPDATE_PARAMI();
private:
@@ -713,11 +667,6 @@ namespace devices
}
private:
- NETLIB_UPDATEI()
- {
- input();
- }
-
NETLIB_HANDLERI(input)
{
nl_fptype val = m_dis.var()(m_mt.var());
diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp
index 9569cba465e..8614f949f77 100644
--- a/src/lib/netlist/devices/nlid_truthtable.cpp
+++ b/src/lib/netlist/devices/nlid_truthtable.cpp
@@ -78,12 +78,6 @@ namespace devices
set_active_outputs(active_outputs);
}
- // update is only called during startup here ...
- NETLIB_UPDATEI()
- {
- inputs();
- }
-
NETLIB_HANDLERI(inputs)
{
#if USE_TT_ALTERNATIVE
diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp
index a949e8cf8b7..078236da474 100644
--- a/src/lib/netlist/nl_base.cpp
+++ b/src/lib/netlist/nl_base.cpp
@@ -304,9 +304,14 @@ namespace netlist
// Currently analog input and logic input also
// push their outputs to queue.
+ std::vector<core_device_t *> devices_called;
log().verbose("Call update_param on all devices:");
for (auto & dev : m_devices)
+ {
dev.second->update_param();
+ if (!plib::container::contains(devices_called, dev.second.get()))
+ devices_called.push_back(dev.second.get());
+ }
// Step all devices once !
//
@@ -319,57 +324,33 @@ namespace netlist
{
case 0:
{
- std::vector<core_device_t *> d;
std::vector<const nldelegate *> t;
log().verbose("Using default startup strategy");
for (auto &n : m_nets)
for (auto & term : n->core_terms())
- if (term->delegate().has_object())
+ {
+ n->update_inputs(); // only used if USE_COPY_INSTEAD_OF_REFERENCE == 1
+ if (!plib::container::contains(t, &term->delegate()))
{
- if (!plib::container::contains(t, &term->delegate()))
- {
- t.push_back(&term->delegate());
- term->run_delegate();
- }
- // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
- auto *dev = reinterpret_cast<core_device_t *>(term->delegate().object());
- if (!plib::container::contains(d, dev))
- d.push_back(dev);
+ t.push_back(&term->delegate());
+ term->run_delegate();
}
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
+ auto *dev = reinterpret_cast<core_device_t *>(term->delegate().object());
+ if (!plib::container::contains(devices_called, dev))
+ devices_called.push_back(dev);
+ }
log().verbose("Devices not yet updated:");
for (auto &dev : m_devices)
- if (!plib::container::contains(d, dev.second.get()))
+ if (!plib::container::contains(devices_called, dev.second.get()))
{
// FIXME: doesn't seem to be needed, use cases include
// analog output devices. Check and remove
- log().verbose("\t ...{1}", dev.second->name());
- dev.second->update();
+ log().error("\t Device {1} not yet updated", dev.second->name());
+ //dev.second->update();
}
}
break;
- case 1: // brute force backward
- {
- log().verbose("Using brute force backward startup strategy");
-
- for (auto &n : m_nets) // only used if USE_COPY_INSTEAD_OF_REFERENCE == 1
- n->update_inputs();
-
- std::size_t i = m_devices.size();
- while (i>0)
- m_devices[--i].second->update();
-
- for (auto &n : m_nets) // only used if USE_COPY_INSTEAD_OF_REFERENCE == 1
- n->update_inputs();
-
- }
- break;
- case 2: // brute force forward
- {
- log().verbose("Using brute force forward startup strategy");
- for (auto &d : m_devices)
- d.second->update();
- }
- break;
}
// the above may screw up m_active and the list
diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h
index 18cb487510f..7e113214820 100644
--- a/src/lib/netlist/nl_base.h
+++ b/src/lib/netlist/nl_base.h
@@ -177,7 +177,6 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
#define NETLIB_UPDATE_TERMINALSI() virtual void update_terminals() noexcept override
#define NETLIB_HANDLERI(name) void name() noexcept
-#define NETLIB_UPDATEI() virtual void update() noexcept override
#define NETLIB_UPDATE_PARAMI() virtual void update_param() noexcept override
#define NETLIB_RESETI() virtual void reset() override
@@ -185,7 +184,11 @@ class NETLIB_NAME(name) : public delegator_t<base_device_t>
#define NETLIB_SUB_UPTR(ns, chip) device_arena::unique_ptr< ns :: nld_ ## chip >
#define NETLIB_HANDLER(chip, name) void NETLIB_NAME(chip) :: name() noexcept
+
+#if 0
+#define NETLIB_UPDATEI() virtual void update() noexcept override
#define NETLIB_UPDATE(chip) NETLIB_HANDLER(chip, update)
+#endif
#define NETLIB_RESET(chip) void NETLIB_NAME(chip) :: reset(void)
@@ -1392,8 +1395,9 @@ namespace netlist
};
stats_t * stats() const noexcept { return m_stats.get(); }
-
+#if 0
virtual void update() noexcept { }
+#endif
virtual void reset() { }
protected:
@@ -1441,7 +1445,6 @@ namespace netlist
void connect(const detail::core_terminal_t &t1, const detail::core_terminal_t &t2);
protected:
- //NETLIB_UPDATEI() {}
//NETLIB_UPDATE_TERMINALSI() { }
private:
@@ -1473,7 +1476,6 @@ namespace netlist
protected:
- //NETLIB_UPDATEI() {}
//NETLIB_UPDATE_TERMINALSI() { }
private:
@@ -1803,12 +1805,6 @@ namespace netlist
m_inc = netlist_time::from_fp(plib::reciprocal(m_freq()*nlconst::two()));
}
- NETLIB_UPDATEI()
- {
- // only called during start up.
- // mainclock will step forced by main loop
- }
-
public:
logic_output_t m_Q; // NOLINT: needed in core
netlist_time m_inc; // NOLINT: needed in core
diff --git a/src/lib/netlist/nl_factory.cpp b/src/lib/netlist/nl_factory.cpp
index 6018b2fa640..9026bbfb6b1 100644
--- a/src/lib/netlist/nl_factory.cpp
+++ b/src/lib/netlist/nl_factory.cpp
@@ -24,7 +24,6 @@ namespace factory {
}
protected:
//NETLIB_RESETI() {}
- //NETLIB_UPDATEI() {}
};
element_t::element_t(const pstring &name, properties &&props)
diff --git a/src/lib/netlist/nl_interface.h b/src/lib/netlist/nl_interface.h
index d833a7bf0c8..57fffffada5 100644
--- a/src/lib/netlist/nl_interface.h
+++ b/src/lib/netlist/nl_interface.h
@@ -67,11 +67,6 @@ namespace netlist
m_last = 0.0;
}
- NETLIB_UPDATEI()
- {
- in();
- }
-
NETLIB_HANDLERI(in)
{
const nl_fptype cur = m_in();
@@ -117,11 +112,6 @@ namespace netlist
m_func(*this, cur);
}
- NETLIB_UPDATEI()
- {
- in();
- }
-
private:
logic_input_t m_in;
FUNC m_func;
@@ -188,11 +178,6 @@ namespace netlist
m_Q.net().toggle_and_push_to_queue(m_sample_time);
}
- NETLIB_UPDATEI()
- {
- feedback();
- }
-
public:
/// \brief resolve parameter names to pointers
///
diff --git a/src/lib/netlist/solver/nld_matrix_solver.h b/src/lib/netlist/solver/nld_matrix_solver.h
index 233f12b650c..f8c454b2b5c 100644
--- a/src/lib/netlist/solver/nld_matrix_solver.h
+++ b/src/lib/netlist/solver/nld_matrix_solver.h
@@ -252,12 +252,6 @@ namespace solver
m_Q_sync.net().toggle_and_push_to_queue(delay);
}
- // netdevice functions
- NETLIB_UPDATEI()
- {
- fb_sync();
- }
-
NETLIB_HANDLERI(fb_sync)
{
PFDEBUG(printf("update\n");)
diff --git a/src/lib/netlist/solver/nld_solver.h b/src/lib/netlist/solver/nld_solver.h
index 640393dd776..315c1e81d3b 100644
--- a/src/lib/netlist/solver/nld_solver.h
+++ b/src/lib/netlist/solver/nld_solver.h
@@ -43,11 +43,6 @@ namespace devices
solver::static_compile_container create_solver_code(solver::static_compile_target target);
- NETLIB_UPDATEI()
- {
- fb_step();
- }
-
NETLIB_RESETI();
// NETLIB_UPDATE_PARAMI();