diff options
Diffstat (limited to 'src/emu/netlist/analog/nld_solver.h')
-rw-r--r-- | src/emu/netlist/analog/nld_solver.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/emu/netlist/analog/nld_solver.h b/src/emu/netlist/analog/nld_solver.h index 62af5d9ef9e..1f4a1fb6c83 100644 --- a/src/emu/netlist/analog/nld_solver.h +++ b/src/emu/netlist/analog/nld_solver.h @@ -22,12 +22,16 @@ class NETLIB_NAME(solver); +/* FIXME: these should become proper devices */ + class netlist_matrix_solver_t { public: typedef netlist_list_t<netlist_matrix_solver_t *> list_t; typedef netlist_core_device_t::list_t dev_list_t; + netlist_matrix_solver_t() : m_resched(false) {} + ATTR_COLD void setup(netlist_net_t::list_t &nets, NETLIB_NAME(solver) &owner); // return true if a reschedule is needed ... @@ -50,8 +54,9 @@ private: dev_list_t m_dynamic; netlist_core_terminal_t::list_t m_inps; dev_list_t m_steps; + bool m_resched; - NETLIB_NAME(solver) *m_owner; + NETLIB_NAME(solver) *m_owner; }; NETLIB_DEVICE_WITH_PARAMS(solver, @@ -89,7 +94,6 @@ public: ATTR_HOT inline void NETLIB_NAME(solver)::schedule() { - // FIXME: time should be parameter; if (!m_Q_sync.net().is_queued()) m_Q_sync.net().push_to_queue(m_nt_sync_delay); } |