summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist
Commit message (Collapse)AuthorAgeFilesLines
* -ui: Made zoom controls a bit more intuitive. Vas Crabb2021-09-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The UI controls are described as zoom in/out, but they had the opposite effect on the palette and tile viewers. That has been changed to make them consistent with the tilemap viewer. * Made the default zoom key not act as a toggle. People are familiar with the function of Ctrl+0/=/- in web browsers, so making them behave similarly in MAME should make it more approachable. Also added the default zoom key to the relevant documentation page. * Implemented the default zoom key for the palette and tile viewers. * In the tilemap viewer, if the view is in default expand to fit mode, zoom in/out starting from the actual zoom ratio. Once again, this behaves more like the zoom controls in a web browser displaying an image so it should be more intuitive. * Made more messages from the tilemap viewer localisable. -util/zippath.cpp: Fixed MT08074. * There were multiple issues at play here. After #8443 was applied, is_root was simply never returning true on Windows, as OSD_WINDOWS isn't actually defined outside libosd and libocore. This caused phantom parent items to appear in disk roots on Windows, but it meant that the check in zippath_resolve would always fail so the trailing backslash would be trimmed. Fixing the macro test in is_root meant the trailing backslash from C:\ would no longer be trimmed, which caused the stat in zippath_resolve to fail. -bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost. -Reduced tag map lookups in several drivers and devices. -util/coretmpl.h: Removed an overload of bitswap that can be avoided using if constexpr. -Added doxygen comments to some classes, and fixed several doxygen warnings. -util, osd: Test for _WIN32 rather than WIN32. * In C++17 mode, WIN32 is no longer a predefined macro, although various things in 3rdparty define it to maintain legacy support. We're better off moving forward anyway for when WIN32 disappears entirely. (WIN32 is not a reserved name, while _WIN32 is, starting with an underscore follwed by an uppercase letter.)
* Fix a duplicate #include and an indendation error Vas Crabb2021-08-231-1/+0
|
* netlist: Relicensing of the GPL code to BSD-3 with the blessing of the Olivier Galibert2021-03-09155-159/+159
| | | | | | | | | | 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.
* Update "2020" text to "2021" (#7713) Stiletto2021-01-282-2/+2
| | | Update "2020" text to "2021".
* ATTR_UNUSED, do you welcome C++17 in your heart and mind? Olivier Galibert2021-01-221-2/+2
|
* -unidasm: Allow input piped from stdin by specifying a bare hyphen as the ↵ Vas Crabb2020-11-1866-844/+612
| | | | | | | | | | 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.
* -Switch to building MAME as C++17. Vas Crabb2020-11-151-3/+2
| | | | | | | * Updated sol2 to 3.2.2 * Updated pugixml to 1.10 * Increased minimum clang version to 6 * Cleaned up some stuff that can use new features
* srcclean in preparation for 0.226 release branch Vas Crabb2020-10-251-2/+2
|
* brdrline: Add frontiers, reduce timestep to improve performance Aaron Giles2020-10-091-802/+3414
|
* frogs: Add AFUNC frontiers to improve performance Aaron Giles2020-10-081-2921/+2796
|
* netlist: Add LM348, CD4071, CD4081 devices Aaron Giles2020-10-083-1/+112
|
* vicdual: Add frogs netlist. Make sound board interface more general. Aaron Giles2020-10-071-209/+3075
|
* brdrline: sound improvements (#7332) beta-tester2020-10-061-209/+209
| | | | | | - cleaned some parts of nl_brdrline.cpp (removed test points) - changed MB4391 function to pow2 to shorten sounds a bit - changed trigger inputs in vicdual.cpp to fit more to the sounds i remember. - moved trigger mapping from vicdual to nl_brdrline
* Hook up Borderline netlist, provided by 'beta-tester' (#7328) [beta-tester] Aaron Giles2020-10-052-200/+5597
| | | | | | * netlist: Explicitly trim connection names. * Hook up Borderline netlist, provided by 'beta-tester' * brdrline: Add static solver, using dynamic timestep, update driver flags.
* netlist: fix VS build. couriersud2020-10-032-4/+4
|
* netlist: catch parenthesis count mismatch in formulas. couriersud2020-10-032-1/+8
|
* Exception specifications on deleted operators/constructors aren't useful. Vas Crabb2020-10-032-6/+6
|
* pmatrix_cr.h: More logical fix for the nothrow issue AJR2020-10-021-1/+1
|
* netlist: Revert changes intended to make the code work on OSX 10.10. couriersud2020-10-032-4/+4
| | | | * This is working on all contemporary compilers. If outdated compilers are to be used it is fine but a suitable compile path should be used.
* Fix clang error: exception specification of explicitly defaulted move ↵ AJR2020-10-022-6/+6
| | | | assignment operator does not match the calculated one
* netlist: simplify code. couriersud2020-10-027-77/+46
|
* netlist: move core_terms to netlist_state. couriersud2020-10-028-61/+71
| | | | | * These are used during creation and reset only. No need to maintain them on net_t level.
* netlist: more clang lint fixes. couriersud2020-10-0222-346/+384
|
* netlist: Add parse optimization to pfunction. couriersud2020-10-022-20/+99
| | | | * "(1 + 2)*a" now during parse step will be rewritten to "3*a".
* netlist: rename more files to lower case. couriersud2020-10-022-0/+0
|
* netlist: Convert driver filenames to lower case. couriersud2020-09-3012-30/+32
|
* netlist: Fix a net splitting issue with four term devices. couriersud2020-09-306-16/+48
| | | | | | | | | | * Under cirtum circumstances the splitter would create "ghost" solvers consisting of terminals already used in another and complete solver. This may impact all netlist which use opamps and thus is committed early in the cycle. * This commit adds functionality to instruct the splitter code to include terminals which will not create matrix elements into the parsing of net groups for solvers.
* netlist: Rewrote frontier documentation. couriersud2020-09-303-29/+28
| | | | * Also includes a small optimization for FP signal code.
* netlist: applied some clang tidy recommendations couriersud2020-09-3013-14/+24
|
* netlist: implement stricter validation. couriersud2020-09-283-523/+59
| | | | | | | | | | | * Devices like BJTs and FETs which are defined but not used will now cause an error. * An unused device will create an additional solver with a singular matrix. - This is adding unnecessary performance overhead. - It complicates debugging because the unused device will cause an arithmetic signal if used with --fperr (nltool). * Fixed all validation errors.
* netlist: Remove "extended validation mode" couriersud2020-09-286-43/+7
| | | | * No longer added value.
* netlist: Fix astro blaster sonar sound couriersud2020-09-271-1735/+1686
| | | * Also fix two singular matrices being created.
* Disable SOUND_DEBUG for non-debug builds, and srcclean Vas Crabb2020-09-274-14/+14
|
* netlist: minor code cleanup. couriersud2020-09-2518-111/+131
| | | | | | * 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: Fixed a couple of issues with various compilers. couriersud2020-09-246-3/+25
|
* netlist: make pstring length/size use consistent. couriersud2020-09-246-16/+33
| | | | | | | | | | | * length reports the number of character codes in the string * size reports the size in memory units * Reminder: Set PSTRING_USE_STD_STRING to 1 in pstring.h and get native std::string * pstrings are compatible to std::string but only support a limited subset of functionality. * By default (always like this) utf8 is supported and thus length reports the number of multi-byte characters.
* netlist: clearly identify void * casts. couriersud2020-09-244-5/+9
|
* netlist: Fix 128 bit integer support. couriersud2020-09-245-20/+32
|
* netlist: Improve queue handling documentation in code. couriersud2020-09-243-4/+44
| | | | | | | * Document that for performance reasons pushes to queue are allowed even if they may not change state and are filtered out during process. * Provide alternative code path. This is currently not used.
* netlist: code refactoring couriersud2020-09-2427-203/+194
| | | | | | * use default move and copy constructors * various minor edits like adding noexcept * removed a lot of inline keywords - you can't beat the compiler
* astrob: significant performance increase couriersud2020-09-201-1188/+1677
| | | | | | * uses all 4 Sonar oscillators * uses randomized resistor values (5% range) * uses frontiers to separate oscillators * improves performance to 340% locally.
* netlist: code refactoring. couriersud2020-09-207-169/+166
| | | | | - rename mat_cr.h to pmatrix_cr.h - Optimization to the gmres solver. - Simplifcation of vector operation code
* Fix a minor error in the CD4076 netlist library device implementation ↵ Lord-Nightmare2020-09-182-2/+2
| | | | definition.
* Netlist devices for MCM14524, CD4029, CD4030, CD4042, CD4049, CD4076 [Lord ↵ Lord-Nightmare2020-09-178-0/+1012
| | | | Nightmare]
* netlist: emscripten can not use specialization efficiently. couriersud2020-09-173-0/+14
| | | | * Consequently prefer to save on compile time and size.
* netlist: optimize headers. couriersud2020-09-1711-78/+101
| | | | * where possible rely on forward declarations to optimiuze compile time.
* netlist: Move ICL8038_DIP and NE556_DIP to core. couriersud2020-09-173-1/+88
| | | | * Remove code duplication.
* netlist: move more models into the core. couriersud2020-09-133-3/+27
|
* netlist: Move selected NET_MODELS into the core couriersud2020-09-124-4/+8
|
* netlist: move to generated header and link support files files. couriersud2020-09-12137-2278/+273
| | | | | | | | | | | | | * 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.