summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/nld_log.cpp
Commit message (Collapse)AuthorAgeFilesLines
* netlist: Relicensing of the GPL code to BSD-3 with the blessing of the Olivier Galibert2021-03-091-1/+1
| | | | | | | | | | copyright owners. Much thanks for that Couriersud, the main creator and contributor, but also to Jonathan Gevaryahu and Sergey Svishchev. There are small remnants in machine/NL_*, specifially breakout, pong doubles and rebound that are also copyrighted by the DICE team, whoever that means. They're not critical since they only concern these drivers and not an important core subsystem.
* -unidasm: Allow input piped from stdin by specifying a bare hyphen as the ↵ Vas Crabb2020-11-181-6/+3
| | | | | | | | | | filename. [AJR, Vas Crabb] -netlist: Give devices the C++17 namespace treatment. -Tidied up compiler warning options for 3rdparty. -emu/render.cpp: Exposed a few information view item properties.
* netlist: minor code cleanup. couriersud2020-09-251-2/+2
| | | | | | * a number of minor fixes leading to an increase of 570% to 588% on pongf. * admittedly micro optimization. * Includes some comments why certain decisions have been taken.
* netlist: move to generated header and link support files files. couriersud2020-09-121-1/+0
| | | | | | | | | | | | | * Removed device and macro header files. * All of those can be generated automatically so going forward there is no need for these any longer. * Introduced the modules concept. Modules are netlists for which automatic lib entries are generated. * Going forward you just store them in macro/modules and they will be automatically registered as device elements. * You need to do a "make generated" is src/lib/netlist/build * Some_device.cpp still needs to be added to netlist.lua * Added documentation on how to add devices to netlist. * Please refer to adding_devices.md for more information.
* netlist: Fix various issues around include directories. couriersud2020-08-251-1/+1
| | | | | | | | | * removed include directory src/lib/netlist from various genie files to avoid potential issues. * Code using netlist should use #include "netlist/*". * Updated includes. * Fixed standalone makefile depend target to properly deal with relative paths.
* netlist: Move documentation from header to cpp file. Batch 3. couriersud2020-08-021-1/+11
| | | | | | * Header files will disappear and only nld_devinc.h which is can be created by nltool will stay. * These commits ensure that the documentation is preserved when the header files are deleted at some point in the future
* netlist: further nl_base.h splitting into headers in core subdir. couriersud2020-07-281-1/+1
|
* netlist: fix some clang tidy warnings. couriersud2020-07-251-0/+2
|
* netlist: fix logging of final timestamp. couriersud2020-07-191-2/+3
|
* netlist: Potential regression trigger. couriersud2020-07-171-10/+0
| | | | | | | | | * Removed update and NETLIB_UPDATE completely. * Startup initialization order may change. * This may cause regression tests to trigger. This is expected. Logic TTL devices do not have a defined power-up state. That's why reset circuits exist which create a reset signal *after* all power supply lines are stable.
* netlist: comment out empty reset and update calls couriersud2020-07-161-1/+1
|
* netlist: finished input handler refactoring. couriersud2020-07-121-4/+20
| | | * all inputs now explicitly specify a signal handler.
* netlist: use threads on netlist logs. couriersud2020-07-111-3/+68
| | | | * This significantly increases the performance of output/terminal logs. * Adds a psemaphore class to pmulti_threading.h.
* netlist: Enable utf7 filenames on windows. (nw) couriersud2020-06-061-1/+1
|
* netlist: remove family_setter and other maintenance. (nw) couriersud2020-05-091-1/+1
| | | | | | | | | | | | | | | - removed family_setter - naming alignment, family becomes model. - architecture cleanups.) - reviewed reset logic. - pass truthtable family as string to factory. This is another set of changes on the path to align logic families and models. As a side effect, the object model now makes a clear distinction between analog models and logic models. The number of macros in nl_base.h has decreased significantly due to these changes.
* netlist: Fix a bug introduced by latest nld_log change. (nw) couriersud2020-05-011-2/+5
|
* netlist: nld_log now writes out last value at end of run. (nw) couriersud2020-05-011-0/+5
|
* netlist: code maintenance. (nw) couriersud2020-01-201-1/+1
| | | | | | - remove pthrow trampline as proposed by Vas. - identify throwing code by adding noexcept(false) - move "connected term" information to setup code. - srcclean
* netlist: more consistent exception handling. (nw) couriersud2019-11-051-1/+1
| | | | Still not optimal, but better than what we had previously. No exception logging comes closer.
* netlist: Support for float, double and long double solvers. [Couriersud] couriersud2019-11-021-3/+3
| | | | | | | | | | | | | - Added new solver parameter FPTYPE. This determines in which floating point domain the linear system is solved. May be one of "FLOAT", "DOUBLE" or "LONGDOUBLE" - Added option "--fperr" to nltool. This enables floating point exceptions. This helps debugging the code under gdb. The purpose of this going forward is to have more choice in optimization. Non-dynamic systems should be just fine in the float domain. Dynamic systems (i.e. diodes, bjts, mosfets) should in general work with double. Certain edge cases may require long double resolution.
* netlist: maintenance and simplifcation. (nw) couriersud2019-10-311-2/+2
| | | | | | | - solver: align matrix population along the various solvers - solver: delete dead code - renamed nl_double to nl_fptype and use nl_fptype where previously double has been used. - renamed param_double_t to param_fp_t
* netlist: switch to c++ streams. (nw) couriersud2019-09-251-2/+6
| | | | Removed the home-brew implementation pstreams and replaced those with c++ streams.
* (nw) Clean up the mess on master Vas Crabb2019-03-261-9/+9
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-9/+9
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: tidy changes and better constexpr support for ptime class. (nw) couriersud2019-02-241-1/+1
|
* netlist: Fix relative include paths and a conflict. (nw) couriersud2019-02-231-1/+1
| | | | nl_types.h is part of libc++. Any project with a file with the same name on the include path just fails to compile. Renamed to nltypes.h
* Move ptime struct into plib namespace and fix relative includes. (nw) couriersud2019-02-231-2/+2
|
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-1/+1
| | | | | | | - convert macros to c++ code. - order of device creation should not depend on std lib. - some state saving cleanup. - added support for clang-tidy to makefile. - modifications triggered by clang-tidy-9.
* netlist: All devices now specify parameters in factory constructor. (nw) couriersud2019-02-011-2/+2
| | | | This previously was part of net_lib.cpp and repeatedly caused bugs.
* netlist: refactored netlist creation. (nw) couriersud2019-01-151-2/+2
| | | | | | This is an effort to separate netlist creation from netlist execution. The primary target is to avoid that code which will only run during execution is able to call setup code and thus create ugly hacks.
* Improve dealing ownership in pstreams. (nw) couriersud2019-01-131-2/+2
| | | | I am not really happy with this. But I am missing some creativity currently.
* Move information where it belongs ... into the drivers. (nw) couriersud2019-01-101-2/+2
|
* pstring, pdynlib, pfmtlog refactoring : couriersud2017-04-041-2/+2
| | | | | | | | | | | | | | | | | | | | | 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)
* Make sure netlist includes are not found directly on include path. couriersud2017-02-101-3/+3
| | | | Instead, they have to be prefixed by "netlist/". Removed unneeded link librariers for nltool and nlwav along the way. (nw)
* Cleanup of includes. (nw) couriersud2017-01-271-1/+0
|
* Netlist: code refactoring couriersud2017-01-201-5/+6
| | | | | | | 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)
* Netlist updates: couriersud2016-07-211-3/+3
| | | | | | | | | | | | | | | - Removed trampolines (OUTLOGIC, INPLOGIC and friends). - Started using doxygen comment and documentation style. Added doxygen files to documentation folder. - Refactored code triggered by doxygen output. - Moved internal and support classes into namespace detail. - Use an anordered map in parser. - -Wconversion fixes - All done now. - Fixed -Wold-style-cast warnings in netlist code. - Added iterators to pstring. - Moved two macros, added more RAII and improved exceptions. Fixed some bugs in parser code. - Fixed a number of bugs in parser code and exception handling. [Couriersud]
* Srcclean on netlist files. Avoid the merge massacre. (nw) couriersud2016-06-251-2/+0
|
* - Added constructors to prepare to move terminal setup into constructor. couriersud2016-06-071-2/+2
| | | | | | | | | | - Reworked twoterm setup. Fixed some timebombs along the way. - Fix r2r dac. Remove dead code. - analog_outputs now created in constructor. - moved analog_input creation into constructor. - moved logic output creation to constructor. - moved all logic inputs into constructor. - Completely removed init_object. Finally. [Couriersud]
* - Minor cosmetic refactoring. Added a "uninitialised array" template to balr0g2016-06-071-34/+79
| | | | | | | | | | | allow in-place creation (for increased locality) of netlist classes. Main use is in truthtable class. - Remove PLIB_NAMESPACE macros. - Remove namespace macros. Use explicit namespace declarations. - Moved device definitions into cpp files. - Moved more device definitions into cpp files. - New prefix "nlid" for include files flags purely internal include files not to be leaked into userland. - Fix factory code.
* Moved more code into plib namespace. (nw) couriersud2016-05-271-2/+2
|
* All netlist devices now follow new syntax. Removed dead code. All sub couriersud2016-05-211-22/+0
| | | | devices are now forced to be initialized in the constructor. Device setup now completely in constructor. Removed start call. [Couriersud]
* Converted more devices to new layout. Improved memory handling in couriersud2016-05-211-2/+1
| | | factories. (nw)
* Align object registration syntax. (nw) couriersud2016-05-101-3/+3
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+76