- nltool now accepts -Ddefine=value to pass on to netlists
- improved option handling and added "dummy" options to add grouping and
examples in help output.
- improved --cmd=listdevices output
- Fix dynamic timestepping. This will work with breakout using real
capacitor modelling instead of delay devices. Really slow, but very
useful to calibrate timings.
- Fix an awful bug in timing for delay devices.
- Switched to clang 3.8 and made code compile with
-Weverything -Werror -Wno-old-style-cast -Wno-padded -Wno-weak-vtables
-Wno-missing-variable-declarations -Wno-conversion -Wno-c++98-compat
-Wno-float-equal -Wno-cast-align -Wno-global-constructors
-Wno-c++98-compat-pedantic -Wno-exit-time-destructors
-Wno-format-nonliteral -Wno-weak-template-vtables
This was a helpful exercise since it brought forward some
serious issues with implicit constructors.
[Couriersud]
- Dead code removal and minor refactoring.
- Simplify. Align naming with stl. Fix somed pedantic warnings.
- More STL compatability.
- Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time.
- Fix long standing workaround which would ignore policy of change-only"
propagation.
- Rewrote for loops to use auto : semantics.
- Truthtable cleanup. (nw)
- Get rid of nl_math. Remove nl_util.h and moved contents to
plib/putil.h.
- Fix standalone build. Refactor ptypes.h.
[Couriersud]
- added a new solver using compressed row format
- fixed sorting
As a result, netlist performance on kidniki nearly doubled. The
performance increase is mainly due to the fact that sorting decreases
the number of operations for gaussian elimination of the kidniki matrix
from ~7800 to 707. In addition, compressed row format improves L1 usage.
[Couriersud]
- rename netlist_analog_t to analog_t
- straighten object model
- reduce access to member variables
- use pvector<analog_net_t::list_t> for groups.
- simple coverity fixes.
- First steps to move towards c++11.
- Base plist on std::vector
- Replace pstack with std::stack
- Remove pnamed_list
- use c++ "for each" in a number of places
- Fixed two "time bombs"
[couriersud]
easily extensible to utf16 and utf32 as well. All position related
operations now operate on char code positions instead of byte positions.
[Couriersud]
This file is a standard csv file specifing times and values of parameter
modifications for specified devices. This file triggers the various
sound inputs using a 10ms impulse.
Use
./nltool -f nl_examples/congo_bongo.c -t 8 -l RO.1 -i
nl_examples/congo_bongo.csv
to create a netlist log file of the congo bongo mixer stage.
Use
./nlwav -i netlist.log_RO.1.log -o tt.wav -a 17000
to create a wav file tt.wav from the log file using an amplification
factor of 17000.
[Couriersud]
OPAMP: Generic opamp model. This does all the annoying calculations.
Just pass the the datasheet values.
LVCCS: A limited current voltage control current source. This will allow
slew rate limiting going forward.
In addition:
- add a (small) parallel conductance to all capacitors to improve
convergence.
- some initial work to use "long double".
boils down to a 87x87 matrix. This is due to a total of 6 opamps which
all are submodels and thus add their own internal nets.
Gauss Seidel iterative solving comes to it's limits.
nltool runs this at about 50% speed on my machine. Given the complexity
this is quite good. Yet, any m62 game currently will not be playable.
Time for a new cpu :-)
[Andrew Gardner, Couriersud]
NETLIST_START(lib)
TRUTHTABLE_START(TTL_7400A_NAND, 2, 1, 0, "+A,B")
TT_HEAD(" A , B | Q ")
TT_LINE(" 0 , X | 1 |22")
TT_LINE(" X , 0 | 1 |22")
TT_LINE(" 1 , 1 | 0 |15")
TRUTHTABLE_END()
NETLIST_END()
This enables the addition of devices without changing the netlist
source code and allows the creation of libraries. Used pong.c as a
proof of concept for the time being. [Couriersud]
This is a first step to ease synchronisation with a stand alone, e.g.
outside mame, netlist implementation. More signed/unsigned cleanups and
started work on generic truthtable devices. (nw)