summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/netlist.lua
Commit message (Collapse)AuthorAgeFilesLines
* netlist: Convert driver filenames to lower case. couriersud2020-09-301-6/+6
|
* Disable SOUND_DEBUG for non-debug builds, and srcclean Vas Crabb2020-09-271-1/+1
|
* netlist: code refactoring. couriersud2020-09-201-1/+1
| | | | | - rename mat_cr.h to pmatrix_cr.h - Optimization to the gmres solver. - Simplifcation of vector operation code
* Netlist devices for MCM14524, CD4029, CD4030, CD4042, CD4049, CD4076 [Lord ↵ Lord-Nightmare2020-09-171-0/+3
| | | | Nightmare]
* netlist: Move ICL8038_DIP and NE556_DIP to core. couriersud2020-09-171-0/+2
| | | | * Remove code duplication.
* netlist: remove obsolete headers from netlist.lua couriersud2020-09-131-7/+0
|
* netlist: move to generated header and link support files files. couriersud2020-09-121-63/+5
| | | | | | | | | | | | | * 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.
* -atarittl: Added netlist for Tank. currently runs at about 0.005% of full ↵ Ryan Holtz2020-08-161-0/+6
| | | | speed, unsure why.
* netlist: more include untangling. couriersud2020-08-121-0/+2
| | | | * nl_base.h now basically only includes files from core. * all headers in core compile on their own.
* netlist: align naming of files within the macro folder. couriersud2020-08-101-12/+12
| | | | * Use a consistent naming scheme. This is a preparational step towards improved parsing performance.
* netlist: more header file separation couriersud2020-08-081-0/+6
|
* -fireone: Committed netlist for couriersud to have a look at. Ryan Holtz2020-08-061-0/+1
|
* netlist: Better fixes for Emscripten (#7031) Justin Kerk2020-08-041-5/+0
| | | | Silence indentation warning in 3rdparty/ under Emscripten (#7031)
* netlist: Fix build under Emscripten (#7031) Justin Kerk2020-08-051-0/+5
| | | | netlist: Fix crash under Emscripten by disabling aligned optimizations
* netlist: Added CD4017/4022 devices. Aaron Giles2020-08-011-0/+2
| | | | * Also contains squashed clang signedness fixes
* netlist: Device refactoring Aaron Giles2020-08-011-2/+0
| | | | | | | * Move DIPs for 82S16, 82S115, and 2102A devices into nlm_proms * Moved 7448 DIP to a macro. Replaced 7442 with truthtable and macro. * Moved 74LS629 DIP into macro. * Expand truthtable to handle 10 outputs.
* netlist: Fix an issue during proxy hookup. couriersud2020-07-281-0/+2
| | | | | * Add cd4053 to netlist.lua * Recreated nld_devinc.h
* netlist: separate nl_base.h into separate header files. couriersud2020-07-251-0/+5
| | | | | | * This clean-up exercise will hopefully make it easier to navigate the core code. Another long term goal is to further straighten the object model.
* netlist: Add 74113 device. Aaron Giles2020-07-101-0/+2
|
* netlist: code maintenance and bug fixes. couriersud2020-07-011-0/+1
| | | | | | | | | | | * palloc.h/pmatrix2d.h: Fix static_assert warnings at the origin. * Rework hints to broaden their use and fix NC hint. * 74377: use NC hint * plists.h: Fix debugging in MSVC * Include cleanup: Move everything not needed by netlists from nl_setup.h into core/setup.h * Fix some clang tidy warnings * srcclean
* netlist: Performance improvement and refactoring. [Couriersud] couriersud2020-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Kidniki now achieves up to 910% when run with static solvers and with nltool. That is significant better than the 860% we have seen previously. This increase is driven by using a global memory pool in the solver code. In addition the following refactoring and code maintenance work is included. Please excuse the large commit, some of this took interfered with other work and the detail development steps were ugly. - gsl support: This commit adds pgsl.h which implements a very limited number of the functionality of the gsl header described in the c++ core guidelines. - clang-tidy fixes - A significant refactoring of palloc.h. Aligned hints were removed, they added complexity without a significant performance gain. Vector operations should better be done on special spans/views. The code has been tested on linux with g++-7, g++-9, clang-11. On Windows mingw-10 and VS2019, OSX clang-11.
* netlist: device factory enhancements. (nw) couriersud2020-06-011-0/+1
| | | | | | | | | Factory elements can now pass additional parameters to device constructors. This makes the design of interface objects like analog callbacks easier. The change also allowed to remove some "deep" calls into the core from the MAME interface in netlist.h
* netlist: split plists.h and fix nvcc compile for 10.2 (nw) couriersud2020-05-251-0/+2
| | | | | | | | | plists.h was splitted into plists.h, pmulti_threading.h and ptimed_queue.h. In addition removed plists.h from a number of files it wasn't used in. Certain minor adjustment needed to be made for cuda toolkit 10.1 and 10.2.
* netlist: move penum into own header file. (nw) couriersud2020-05-241-0/+1
|
* netlist: Fix performance issues and VC2019. [Couriersud] couriersud2020-05-221-2/+6
| | | | | | For reasons unknown to me compile optimizations do not behave for template code. If the implementation is in separate compile units, the code compiles and performs.
* netlist: consolidate 9316-type counters. [Couriersud] couriersud2020-05-221-4/+0
| | | | | | | This needs more attention since for certain compilers there is a considerable performance degregation. It looks like this is only triggered if too many variants are declared in one cpp file and the compiler stops inlining.
* netlist: Fix cd4013 implementation and include it in compile. (nw) couriersud2020-05-171-0/+2
|
* netlist: rewrite rom devices from scratch. [Couriersud] couriersud2020-05-171-6/+4
| | | | | | | | | | | | | Thanks to Aaron Giles who made me think about a different approach. This is a rewrite from scratch for rom devices. It uses a generic template to implement rom devices which is used together with a description struct to define a rom device. This leads to highly efficient code since all information is available at compile time. This is also a step forward to support tristate outputs. All rom devices covered by this approach have tristate or open collector outputs and thus all code changes to support tristate outputs can now be made consistently in one file.
* netlist: Add 74377/74378/74379 devices to netlist. [Aaron Giles] Aaron Giles2020-05-151-0/+2
|
* netlist: code cleanup and development stage tristate [Couriersud] couriersud2020-05-151-0/+2
| | | | | | | | | | Code cleanup to better separate the following stages: - parsing - setup - run In addition preliminary native tristate support was added. Not yet production ready, please don't use it.
* netlist: Add two noise sources. [Couriersud] couriersud2020-05-031-0/+1
| | | | | | | | | | | | | | | | | | | The two sources act as voltage sources, though noise may also be injected as conductivy or current noise. SYS_NOISE_MT_U: Mersenne Twister uniform noise SYS_NOISE_MT_N: Mersenne Twister normal noise nld_sys_noise is templated: using NETLIB_NAME(sys_noise_mt_u) = NETLIB_NAME(sys_noise)<plib::mt19937_64, plib::uniform_distribution_t>; Thus the approach is scalable. The implementation is state save aware, and thus reproducible results are guaranteed. An example use case is provided as well, see examples/noise.cpp.
* netlist: add 393 to netlist.lua (nw) couriersud2020-05-011-0/+2
|
* netlist: Add the NE566 as a macro device. [Couriersud] couriersud2020-05-011-2/+0
| | | | | | | | 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.
* Fixed indenting in netlist.lua. (nw) couriersud2020-04-291-2/+2
|
* netlist: add NE566 to netlist.lua. (nw) couriersud2020-04-291-2/+4
|
* srcclean and manual cleanup (nw) Vas Crabb2020-04-261-1/+1
|
* netlist: compile time improvement and code maintenance. (nw) couriersud2020-04-191-0/+1
| | | | | 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.
* netlist: improve performance up to 65% on audio netlists. [Couriersud] couriersud2020-04-131-0/+2
| | | | | | | | | | | | | | | | | | | 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.
* srcclean, manual adjustments (nw) Vas Crabb2020-01-261-2/+2
|
* netlist: New devices and some fixes. [Couriersud] couriersud2020-01-251-1/+2
| | | | | | | | | - add CD4006 and CD4070 devices - add TL084 opamp model - Clock now supports proxies, i.e. can be connected to analog devices. - Fixed netlists using CLOCK - added some comments - removed a forgotten header file.
* srcclean and indentation cleanup (nw) Vas Crabb2019-11-241-6/+6
|
* -netlist: Added 7442 4-Line BCD to 10-Line Decimal Decoder. [Ryan Holtz] MooglyGuy2019-11-231-0/+2
|
* -netlist: Added 7492 Divide-by-12 Counter. [Ryan Holtz] MooglyGuy2019-11-231-0/+2
|
* netlist: code maintenance. (nw) couriersud2019-11-031-1/+3
| | | | | | - Separate code out into pmath.h and pstonum.h. - Fix VC build error - optimize pfmtlog.h a bit
* netlist: code maintenance. (nw) couriersud2019-10-291-2/+4
| | | | | | | | - Removed code no longer used - Add noexcept where appropriate - split pparser.[c|h] into ppreprocessor and ptokenizer - smaller optimizations, e.g. use of std::size_t - fix lint warnings
* srcclean (nw) Vas Crabb2019-10-261-18/+18
|
* Netlist: code maintenance and bug fixes. (nw) couriersud2019-10-171-1/+0
| | | | | | | - solver now uses dynamic allocation on systems larger than 512x512 - fixed osx build - moved nl_lists.h classes to plists.h - fixed netlist makefile clint section - readability and typos
* netlist: code maintenance (nw) couriersud2019-10-121-0/+1
| | | | - clang lint and pedantic fixes - mat_cr.h: separate solving linear systems from underlying matrix
* netlist: less cpp - more headers (nw) couriersud2019-09-291-8/+5
| | | | - move more code in headers - delete some cpp files.