diff options
Diffstat (limited to 'src/lib/netlist/analog/nld_switches.cpp')
-rw-r--r-- | src/lib/netlist/analog/nld_switches.cpp | 55 |
1 files changed, 15 insertions, 40 deletions
diff --git a/src/lib/netlist/analog/nld_switches.cpp b/src/lib/netlist/analog/nld_switches.cpp index 57a895f1d18..fe21fe4576b 100644 --- a/src/lib/netlist/analog/nld_switches.cpp +++ b/src/lib/netlist/analog/nld_switches.cpp @@ -17,35 +17,25 @@ NETLIB_NAMESPACE_DEVICES_START() // SWITCH // ---------------------------------------------------------------------------------------- -NETLIB_START(switch1) -{ - register_sub("R", m_R); - - register_param("POS", m_POS, 0); - - register_subalias("1", m_R->m_P); - register_subalias("2", m_R->m_N); -} - NETLIB_RESET(switch1) { - m_R->do_reset(); + m_R.do_reset(); - m_R->set_R(R_OFF); + m_R.set_R(R_OFF); } NETLIB_UPDATE(switch1) { if (m_POS.Value() == 0) { - m_R->set_R(R_OFF); + m_R.set_R(R_OFF); } else { - m_R->set_R(R_ON); + m_R.set_R(R_ON); } - m_R->update_dev(); + m_R.update_dev(); } NETLIB_UPDATE_PARAM(switch1) @@ -58,45 +48,30 @@ NETLIB_UPDATE_PARAM(switch1) // ---------------------------------------------------------------------------------------- -NETLIB_START(switch2) -{ - register_sub("R1", m_R[0]); - register_sub("R2", m_R[1]); - - register_param("POS", m_POS, 0); - - connect_late(m_R[0]->m_N, m_R[1]->m_N); - - register_subalias("1", m_R[0]->m_P); - register_subalias("2", m_R[1]->m_P); - - register_subalias("Q", m_R[0]->m_N); -} - NETLIB_RESET(switch2) { - m_R[0]->do_reset(); - m_R[1]->do_reset(); + m_R1.do_reset(); + m_R2.do_reset(); - m_R[0]->set_R(R_ON); - m_R[1]->set_R(R_OFF); + m_R1.set_R(R_ON); + m_R2.set_R(R_OFF); } NETLIB_UPDATE(switch2) { if (m_POS.Value() == 0) { - m_R[0]->set_R(R_ON); - m_R[1]->set_R(R_OFF); + m_R1.set_R(R_ON); + m_R2.set_R(R_OFF); } else { - m_R[0]->set_R(R_OFF); - m_R[1]->set_R(R_ON); + m_R1.set_R(R_OFF); + m_R2.set_R(R_ON); } - m_R[0]->update_dev(); - m_R[1]->update_dev(); + m_R1.update_dev(); + m_R2.update_dev(); } NETLIB_UPDATE_PARAM(switch2) |