| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
I am not really happy with this. But I am missing some creativity
currently.
|
|
|
|
|
| |
On some I wasn't entirely sure :-(
Thanks Vas:
https://github.com/mamedev/mame/commit/0f0e8853f33bef49bc6f5bd8b53444d209699e44#r31909683
|
| |
|
| |
|
|
|
|
|
|
|
| |
Also fixed an issue with 7497.
./nltool -t 5 -f src/mame/machine/nl_tp1983.cpp -v
now runs again.
|
|
|
|
|
| |
This change removes all string extensions like trim, rpad, left, right,
... from pstring and replaces them by function templates.
This aligns a lot better with the intentions of the standard library.
|
| |
|
|
|
|
| |
after free in void device_debug::errorlog_write_line(const char *line) & fixed the copy & pasted comment. (nw)
|
| |
|
| |
|
|
|
|
|
|
| |
- OPENMP refactored. All OPENMP operations are now templatized in pomp.h
- We don't need thread-safe priority queue. Event code updating analog
outputs now runs outside the parallel code.
(nw)
|
|
|
|
|
|
|
|
|
|
|
| |
0: Parallel processing of solvers disabled
1: One processor parallel processing. Can be used to measure OPENMP
overhead
>1: Solve n analog subnets in parallel.
Previously, all available processors were used which caused performance
to degrade on hyperthreading.
[Couriersud]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- more use of c++ features
- some CRTP in pfmtlog
- demangled code for truthtables
- use more constexpr
- rewrite main loop
- use default constructors and assignment operators were applicable.
- optimized 7448 and 9316
All of this has decreased startup time by approx. 25% to 30%. Complex
netlists like pong or kidniki are parsed, analyzed and constructed in
around 15 ms. Run performance has increased by about 5%.
All in all not to bad. A game like pong uses a clock of 7 MHz (after
division by 2). Thats 14 MHz clock invocations. Running at over 200%, 28
MHz. On a 3.9 GHz Machine about 140 cycles/clock change.
[Couriersud]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pstring:
- added support for UTF16LE to pstring.
- renamed size() to mem_t_size()
- renmaed len() to length()
- added size() == length()
- added empty()
- added simple compare()
pfmtlog:
- Simplified pfmtlog, added more c++
pdynlib:
- add a dynproc type to dynlib to wrap dynamic library calls.
various:
- fix two coverty scan issue.
- various clang warnings fixed.
(nw)
|
|
|
|
|
|
|
|
| |
This removes all allocation code from pstring. const_iterator is
consequently now based on pstring::const_iterator.
Removed pstring_buffer. This was class wasn't a good idea.
Vas was right: This change did not impact runtime performance. Startup
performance (string intensive) increased. (nw)
|
| |
|
|
|
|
|
|
| |
Fixed -Winconsistent-missing-destructor-override warnings. Made
some constructors of template classes and classes with virtual .. = 0
methods protected. Fixed src/lib/netlist/build/makefile (nw)
|
| |
|
| |
|
| |
|
|
|
|
| |
Instead, they have to be prefixed by "netlist/". Removed unneeded link
librariers for nltool and nlwav along the way. (nw)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... for updates. This will make device implementation more flexible and
faster. A nice side-effect is that there was some minor (<5%)
performance increase already. Each input is now assigned a notification
handler. Currently this is update, but going forward this may be a
custom handler. In addition
- fixed MEMPOOL on OSX
- removed dead code
- avoid bit-rot
- added delegate support for emscripten and arm processors
- added delegate support for VS 2015 x64
[Couriersud]
|
|
|
|
|
|
|
|
|
|
| |
- Fixed crashes on terminals without nets (i.e. connected to a rail)
- Reviewed "FIXMEs" and corrected some minor ones.
- Made m_cur_analog protected.
- Fixed pmf delegates to work with msvc.
- More optimizations to the solver code.
- Started work on a better signal pipeline in nlwav
- Only generate documentation for entities which are documented.
[Couriersud]
|
|
|
|
|
|
|
|
| |
Device implementations (all cpp files in netlist/devices) now should
only include nl_base.h.
Netlist implementation sources should only include "net_lib.h".
Refactored netlist.h and netlist.cpp to avoid namespace congestion in
netlist.h.
Fixed VC2015 build. (nw)
|
|
|
|
|
|
| |
Rewrote mat_cr_t to include data as well.
Fixed some bitrot in other parts.
Simplified solver creation. (nw)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Remove virtual from some destructors and make them protected.
- Various cleanups.
- Small performance improvement.
- Fixed some inconsistencies.
- More c++ refactoring. (nw)
|
|
|
|
|
|
|
| |
Make streams provide binary access only. Use putf8_reader and
putf8_writer to actually access streams. Replace some char * parameters
with pstring where appropriate. Minor code refactoring and move
functionality were it belongs. (nw)
|
| |
|
|
|
| |
Also refactored some code to ease the exercise. (nw)
|
|
|
|
|
|
|
|
|
| |
- refactored reverse polish notation evaluator into own source files.
- added function parameter to current and voltage sources VS and CS.
You can now use those to e.g. produce a sine wave.
- Changed code to allow devices to optionally be treated as dynamic or
timestepping devices.
[Couriersud]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nltool now is able to create all defines from the factory definitions.
This will reduce the number of places needed to touch when adding
devices and always ensure that the parser and statically compiled
netlist code use the same syntax. This will enable us to delete most
device include files, e.g. nld_74107.h.
Netlist usage to create this header file:
./nltool -c header > src/lib/netlist/devices/nld_devinc.h
This is not yet used in production. It will be enabled after additional
tests.
[Couriersud]
|
|
|
|
|
| |
- connect_late ==> connect
- register nets where they are created
|
|
|
|
|
|
|
|
| |
- Fixed OPENMP compile
For congo bongo, using Solver.PARALLEL=1 significantly increases
performance from 270% to 380%. However, this has to be taken
with a grain of salt. Enabling this on predominantly logic netlists
can severly kill performance.
- Increased readability of timed queue code.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
or inductors. (nw)
|