diff options
Diffstat (limited to 'src/lib/netlist/devices/nld_74123.cpp')
-rw-r--r-- | src/lib/netlist/devices/nld_74123.cpp | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/lib/netlist/devices/nld_74123.cpp b/src/lib/netlist/devices/nld_74123.cpp index 5f45b330b61..0e36e2ed487 100644 --- a/src/lib/netlist/devices/nld_74123.cpp +++ b/src/lib/netlist/devices/nld_74123.cpp @@ -181,47 +181,47 @@ namespace netlist NETLIB_UPDATE(74123) { netlist_sig_t m_trig; - netlist_sig_t res = !INPLOGIC(m_CLRQ); + netlist_sig_t res = !m_CLRQ(); netlist_time t_AB_to_Q = NLTIME_FROM_NS(10); netlist_time t_C_to_Q = NLTIME_FROM_NS(10); if (m_dev_type == 74123) { - m_trig = (INPLOGIC(m_A) ^ 1) & INPLOGIC(m_B) & INPLOGIC(m_CLRQ); + m_trig = (m_A() ^ 1) & m_B() & m_CLRQ(); } else if (m_dev_type == 9602) { - m_trig = (INPLOGIC(m_A) ^ 1) | INPLOGIC(m_B); + m_trig = (m_A() ^ 1) | m_B(); } else // 4538 { - m_trig = (INPLOGIC(m_B) ^ 1) | INPLOGIC(m_A); + m_trig = (m_B() ^ 1) | m_A(); // The line below is from the datasheet truthtable ... doesn't make sense at all - //res = res | INPLOGIC(m_A) | (INPLOGIC(m_B) ^ 1); + //res = res | m_A) | (m_B) ^ 1); t_AB_to_Q = NLTIME_FROM_NS(300); t_C_to_Q = NLTIME_FROM_NS(250); } if (res) { - OUTLOGIC(m_Q, 0, t_C_to_Q); - OUTLOGIC(m_QQ, 1, t_C_to_Q); + m_Q.push(0, t_C_to_Q); + m_QQ.push(1, t_C_to_Q); /* quick charge until trigger */ /* FIXME: SGS datasheet shows quick charge to 5V, * though schematics indicate quick charge to Vhigh only. */ - OUTLOGIC(m_RP_Q, 1, t_C_to_Q); // R_ON - OUTLOGIC(m_RN_Q, 0, t_C_to_Q); // R_OFF + m_RP_Q.push(1, t_C_to_Q); // R_ON + m_RN_Q.push(0, t_C_to_Q); // R_OFF m_state = 2; //charging (quick) } else if (!m_last_trig && m_trig) { // FIXME: Timing! - OUTLOGIC(m_Q, 1, t_AB_to_Q); - OUTLOGIC(m_QQ, 0,t_AB_to_Q); + m_Q.push(1, t_AB_to_Q); + m_QQ.push(0,t_AB_to_Q); - OUTLOGIC(m_RN_Q, 1, t_AB_to_Q); // R_ON - OUTLOGIC(m_RP_Q, 0, t_AB_to_Q); // R_OFF + m_RN_Q.push(1, t_AB_to_Q); // R_ON + m_RP_Q.push(0, t_AB_to_Q); // R_OFF m_state = 1; // discharging } @@ -230,22 +230,22 @@ namespace netlist if (m_state == 1) { - const nl_double vLow = m_KP * TERMANALOG(m_RP.m_R.m_P); - if (INPANALOG(m_CV) < vLow) + const nl_double vLow = m_KP * m_RP.m_R.m_P(); + if (m_CV() < vLow) { - OUTLOGIC(m_RN_Q, 0, NLTIME_FROM_NS(10)); // R_OFF + m_RN_Q.push(0, NLTIME_FROM_NS(10)); // R_OFF m_state = 2; // charging } } if (m_state == 2) { - const nl_double vHigh = TERMANALOG(m_RP.m_R.m_P) * (1.0 - m_KP); - if (INPANALOG(m_CV) > vHigh) + const nl_double vHigh = m_RP.m_R.m_P() * (1.0 - m_KP); + if (m_CV() > vHigh) { - OUTLOGIC(m_RP_Q, 0, NLTIME_FROM_NS(10)); // R_OFF + m_RP_Q.push(0, NLTIME_FROM_NS(10)); // R_OFF - OUTLOGIC(m_Q, 0, NLTIME_FROM_NS(10)); - OUTLOGIC(m_QQ, 1, NLTIME_FROM_NS(10)); + m_Q.push(0, NLTIME_FROM_NS(10)); + m_QQ.push(1, NLTIME_FROM_NS(10)); m_state = 0; // waiting } } @@ -253,7 +253,7 @@ namespace netlist NETLIB_RESET(74123) { - m_KP = 1.0 / (1.0 + exp(m_K.Value())); + m_KP = 1.0 / (1.0 + exp(m_K())); m_RP.do_reset(); m_RN.do_reset(); |