diff options
author | 2014-05-30 16:04:08 +0000 | |
---|---|---|
committer | 2014-05-30 16:04:08 +0000 | |
commit | f4f871ada4f0f228fe520b881ca6e311f378299a (patch) | |
tree | 30a23bfa0625738d2cd8181348256143a466b168 /src/emu/machine/netlist.c | |
parent | ac79d15878a371cfab002527d3964646ba16eb9a (diff) |
Netlist changes:
- Reworked the analog storage model to better support the compiler.
This will most likely only pay off on larger matrices than currently used.
Investment for future platforms with larger vectors
- Added parameter "GS_THRESHOLD" to select the minimum matrix size for Gauss-Seidel solver
- pstate: pointer will be resolved late, i.e. after all initialization is finished.
State is registered during start, but some pointers are only set during post_load in the solver.
Diffstat (limited to 'src/emu/machine/netlist.c')
-rw-r--r-- | src/emu/machine/netlist.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/machine/netlist.c b/src/emu/machine/netlist.c index 3365144af68..55ef624f35e 100644 --- a/src/emu/machine/netlist.c +++ b/src/emu/machine/netlist.c @@ -439,7 +439,10 @@ ATTR_COLD void netlist_mame_device_t::save_state() switch (s->m_dt) { case DT_DOUBLE: - save_pointer((double *) s->m_ptr, s->m_name, s->m_count); + { + double *td = s->resolved<double>(); + if (td != NULL) save_pointer(td, s->m_name, s->m_count); + } break; case DT_INT64: save_pointer((INT64 *) s->m_ptr, s->m_name, s->m_count); |