summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2016-03-26 15:29:31 +0100
committer couriersud <couriersud@arcor.de>2016-03-26 16:17:39 +0100
commit1a36bfd0eb4e615d6c8efc47298d3bfcf9c14360 (patch)
tree9118d19040930b1187a871322655e753541fdb58
parentf5bcee0db382987888d308ab61f02b43ee3b0169 (diff)
Fix kidniki sound speed. Make more class members private.
-rw-r--r--nl_examples/kidniki.c1
-rw-r--r--src/lib/netlist/nl_base.cpp2
-rw-r--r--src/lib/netlist/nl_base.h18
-rw-r--r--src/lib/netlist/solver/nld_solver.cpp4
-rw-r--r--src/mame/audio/irem.cpp4
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