| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Note: This affects all use cases of CCCS. I have changed all uses in
MAME.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
The device can be found in nlm_other.cpp.
Removed nld_ne566.*
Added SYS_SW, SYS_SW2 and SYS_COMP. These are single switch,
alternating switch and a analog comparator with digital outputs.
Renamed RES_SWITCH to SYS_SW.
Added example ne566.cpp in netlist/examples.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Comes with a new version of static_solvers.cpp
|
| |
|
|
|
|
|
| |
Documentation should be created on Windows using
make mingw PARAMS=doc
Admittedly this is ugly and the makefile needs to be changed to
use something like "make HOSTOS=windows doc".
|
| |
|
| |
Broken for quite a while this is now working again.
|
| |
|
|
|
|
|
| |
Make some calls private which were public before.
Eliminate functions which would be executed only once.
Make terminal reference functions in twoterm.h return const.
Clearly identify the use cases which need a non-const ref
to terminals.
|
| |
|
|
| |
Identified a number of code locations which could accept const
arguments.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Rename COPYASSIGN* and friends to PCOPYASSIGN*.
|
| | |
|
| |
|
|
|
|
| |
Calls to the solver used different paths. These changes unify these
calls and provide a common call for discontinuous state changes on
analog components (change_state).
|
| |
|
|
| |
The purpose here is to make clear what is actually done and to reduce
usage of calls to update.
|
| | |
|
| | |
|
| |
|
| |
This seems to be a compiler/standard library issues.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
"Edge cases" are compiles were the floting point type used for the core
may be different from the one used by solvers, e.g. double/float.
This does not happen in MAME, here currently this is always
double/double. Since floats are better suited for GPUs whose double
performance is limited it was time to review the code.
This commit fixes warnings about type conversions and precision loss.
In addition there is better support for INT128 and FLOAT128.
The MAT solver has seen some minor performance increases.
|
| | |
|
| | |
|
| |
|
|
|
| |
Added a define NL_USE_ACADEMIC_SOLVERS and disabled it in the build.
This will not compile in solvers which are either illustrative or only
perform for large sparse matrices like GMRES.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit simplifies the creation of static solvers. For this to
happen the following changes were made:
- nltool does no longer support the "-f netlist_file.cpp" option.
All parts of netlist which used the option now expect the file
to be specified after all other options.
Before: nltool -t 10 -f somenetlist.cpp
Now : nltool -t 10 somenetlist.cpp
- The static compile command now supports an "--output" option
to specify the file to be created and accepts multiple input
files. To be create the static solver file for MAME use the
script provided or:
./nltool --cmd static
--output=src/lib/netlist/generated/static_solvers.cpp
src/mame/audio/nl_*.cpp src/mame/machine/nl_*.cpp
- Updated documentation and examples provided by nltool --help
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
to allow passing in a custom line end string.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The CD4016 is an analog switch IC. Document an experimental approach
to implement the analog switch as a 3 terminal element which is
completely being dealt with as part as the linear system.
The intention was to improve convergence when the switch is in a
feedback loop. One example are two-opamp tridiagonal wave generators.
Unfortunately the approach did not work out and in addition was
performing far worse than the net-separating original code.
Also updated comment in nld_generic_models.h.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces precompiled static solver code. Due to
additional optimizations the compiler can use because the detail
calculation steps for the solution are known e.g. the kidniki netlist
sees a 100% speed increase.
In all environments (windows/*nix/osx) the source for the static
solver code can be created using
bash src/lib/netlist/nl_create_mame_solvers.sh
This will create src/lib/netlist/generated/static_solvers.cpp which is
compiled into the mame binary.
The script is just a temporary workaround. The intention is that nltool
whill be able to create this file with one call.
There are other improvements in this commit speeding up the processing
of timestep and dynamic calculations.
|
| |
|
|
| |
handlers as BSD-3-Clause (nw)
|