summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2019-11-03 23:28:01 +0100
committer couriersud <couriersud@gmx.org>2019-11-03 23:28:01 +0100
commit5b6b3f4e75ed5b39c64e927d23084c45dee69228 (patch)
treeffe98b040352375817ea4b36f10b9c0ef9398e55
parent76ee24ab7ec427e1fc37a716a3ce36fb96322bc9 (diff)
pongf, rebound: Performance increases. [Couriersud]
Switched nl_pongf to dynamic timestepping. Pongf now runs about 20% faster than previously. About the same for rebound.
-rw-r--r--src/mame/machine/nl_pongf.cpp9
-rw-r--r--src/mame/machine/nl_rebound.cpp4
2 files changed, 8 insertions, 5 deletions
diff --git a/src/mame/machine/nl_pongf.cpp b/src/mame/machine/nl_pongf.cpp
index a5d3e510251..4ce0e73ba1c 100644
--- a/src/mame/machine/nl_pongf.cpp
+++ b/src/mame/machine/nl_pongf.cpp
@@ -16,10 +16,13 @@
NETLIST_START(pongf)
- SOLVER(Solver, 48000)
+ SOLVER(Solver, 5000)
PARAM(Solver.PARALLEL, 0) // Don't do parallel solvers
- PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient
- PARAM(Solver.DYNAMIC_LTE, 1e-4) // Default is not enough for paddle control if using LTE
+ PARAM(Solver.VNTOL, 1e-4) // works and is sufficient
+ PARAM(Solver.DYNAMIC_LTE, 1e-1) // Aggressive timestepping
+ PARAM(Solver.METHOD, "MAT_CR")
+ PARAM(Solver.DYNAMIC_TS, 1)
+ PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 2e-5)
PARAM(NETLIST.USE_DEACTIVATE, 1)
ANALOG_INPUT(V5, 5)
diff --git a/src/mame/machine/nl_rebound.cpp b/src/mame/machine/nl_rebound.cpp
index 7b7d3abe1ba..9843b95d698 100644
--- a/src/mame/machine/nl_rebound.cpp
+++ b/src/mame/machine/nl_rebound.cpp
@@ -1288,11 +1288,11 @@ NETLIST_END()
NETLIST_START(rebound)
LOCAL_SOURCE(rebound_schematics)
- SOLVER(Solver, 4800)
+ SOLVER(Solver, 480)
PARAM(Solver.VNTOL, 1e-9)
PARAM(Solver.RELTOL, 1e-9)
PARAM(Solver.DYNAMIC_TS, 1)
- PARAM(Solver.DYNAMIC_LTE, 1e-4)
+ PARAM(Solver.DYNAMIC_LTE, 1e-6)
PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 5e-7)
PARAM(Solver.PARALLEL, 0) // Don't do parallel solvers