diff options
| author | 2016-03-26 15:29:31 +0100 | |
|---|---|---|
| committer | 2016-03-26 16:17:39 +0100 | |
| commit | 1a36bfd0eb4e615d6c8efc47298d3bfcf9c14360 (patch) | |
| tree | 9118d19040930b1187a871322655e753541fdb58 | |
| parent | f5bcee0db382987888d308ab61f02b43ee3b0169 (diff) | |
Fix kidniki sound speed. Make more class members private.
| -rw-r--r-- | nl_examples/kidniki.c | 1 | ||||
| -rw-r--r-- | src/lib/netlist/nl_base.cpp | 2 | ||||
| -rw-r--r-- | src/lib/netlist/nl_base.h | 18 | ||||
| -rw-r--r-- | src/lib/netlist/solver/nld_solver.cpp | 4 | ||||
| -rw-r--r-- | src/mame/audio/irem.cpp | 4 |
5 files changed, 18 insertions, 11 deletions
diff --git a/nl_examples/kidniki.c b/nl_examples/kidniki.c index ba53fb3867b..b1d0a87317b 100644 --- a/nl_examples/kidniki.c +++ b/nl_examples/kidniki.c @@ -14,6 +14,7 @@ NETLIST_START(dummy) PARAM(Solver.NR_LOOPS, 300) PARAM(Solver.GS_LOOPS, 1) PARAM(Solver.GS_THRESHOLD, 6) + //PARAM(Solver.ITERATIVE, "MAT") PARAM(Solver.ITERATIVE, "SOR") PARAM(Solver.PARALLEL, 0) PARAM(Solver.SOR_FACTOR, 1.00) diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index 6ea052b4132..9ebb1378e5b 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -840,10 +840,10 @@ ATTR_COLD void core_terminal_t::set_net(net_t &anet) ATTR_COLD terminal_t::terminal_t() : analog_t(TERMINAL) +, m_otherterm(NULL) , m_Idr1(NULL) , m_go1(NULL) , m_gt1(NULL) -, m_otherterm(NULL) { } diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h index bf7e8e41c41..e4374b75ad3 100644 --- a/src/lib/netlist/nl_base.h +++ b/src/lib/netlist/nl_base.h @@ -551,10 +551,6 @@ namespace netlist ATTR_COLD terminal_t(); - nl_double *m_Idr1; // drive current - nl_double *m_go1; // conductance for Voltage from other term - nl_double *m_gt1; // conductance for total conductance - terminal_t *m_otherterm; ATTR_HOT void set(const nl_double G) @@ -581,6 +577,13 @@ namespace netlist ATTR_HOT void schedule_solve(); ATTR_HOT void schedule_after(const netlist_time &after); + void set_ptrs(nl_double *gt, nl_double *go, nl_double *Idr) + { + m_gt1 = gt; + m_go1 = go; + m_Idr1 = Idr; + } + protected: virtual void save_register() override; @@ -593,7 +596,12 @@ namespace netlist *ptr = val; } } - }; + + nl_double *m_Idr1; // drive current + nl_double *m_go1; // conductance for Voltage from other term + nl_double *m_gt1; // conductance for total conductance + +}; // ----------------------------------------------------------------------------- diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index 3c8b0f4a663..701e418d4ef 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -79,9 +79,7 @@ ATTR_COLD void terms_t::set_pointers() { for (unsigned i = 0; i < count(); i++) { - m_term[i]->m_gt1 = &m_gt[i]; - m_term[i]->m_go1 = &m_go[i]; - m_term[i]->m_Idr1 = &m_Idr[i]; + m_term[i]->set_ptrs(&m_gt[i], &m_go[i], &m_Idr[i]); m_other_curanalog[i] = &m_term[i]->m_otherterm->net().m_cur_Analog; } } diff --git a/src/mame/audio/irem.cpp b/src/mame/audio/irem.cpp index 0020c880c30..0d16b99e066 100644 --- a/src/mame/audio/irem.cpp +++ b/src/mame/audio/irem.cpp @@ -419,9 +419,9 @@ NETLIST_START(kidniki_interface) PARAM(Solver.NR_LOOPS, 300) PARAM(Solver.GS_LOOPS, 1) PARAM(Solver.GS_THRESHOLD, 6) - //PARAM(Solver.ITERATIVE, "SOR") + PARAM(Solver.ITERATIVE, "SOR") //PARAM(Solver.ITERATIVE, "MAT") - PARAM(Solver.ITERATIVE, "GMRES") + //PARAM(Solver.ITERATIVE, "GMRES") PARAM(Solver.PARALLEL, 1) PARAM(Solver.SOR_FACTOR, 1.00) #else |
