summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/net_lib.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add 74393 device and unit test. Aaron Giles2020-05-011-0/+2
|
* netlist: Add the NE566 as a macro device. [Couriersud] couriersud2020-05-011-3/+3
| | | | | | | | 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.
* Stub implementation of 566 VCO Aaron Giles2020-04-291-0/+2
|
* Netlist: Added 74163 to netlist. [Couriersud] couriersud2020-04-281-0/+2
|
* netlist: use initializer_list. (nw) couriersud2020-03-021-0/+1
| | | | | | - Use initializer_list in object_array_t. - Added constructor which accepts a format string for object names. - Started work on logic_input8 which provides 8 logic outputs.
* netlist: add current controlled voltage source (CCVS). [Couriersud] couriersud2020-01-261-0/+1
|
* netlist: New devices and some fixes. [Couriersud] couriersud2020-01-251-0/+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.
* -netlist: Add new devices to net_lib.cpp, nw mooglyguy2019-11-231-0/+4
|
* netlist: maintenance and bug fixes, remove DUMMY_INPUT. [Couriersud] couriersud2019-11-151-1/+1
| | | | | | | | | | - Removed DUMMY_INPUT. NC (not connected) pins should now use NC_PIN. If a NC_PIN is actually connected, an error will be logged and validation will fail. - Enabled "extended" validation. This will catch now if power terminals are not connected. - Added const and noexcept where appropriate. - Removed dead code. - Fixed the 7414 Schmitt-Trigger device to use nld_power_pins
* netlist: code maintenance and bug fixes. (nw) couriersud2019-11-081-7/+8
| | | | | | | - comment style migration continues. - Fixed a two bugs in the truthtable ignore inputs code - refactored the truthtable code a bit for better readability. - updated netlist specific gitignore.
* Netlist: code maintenance and improvements. [Couriersud] couriersud2019-10-181-2/+2
| | | | | | | | - Added support for line markers to the preprocessor and parser. - Added support for include processing to the preprocessor. - Moved sources base type to plib to be used for preprocessor includes. This enables to include e.g. from rom memory regions. - Renamed some defines
* netlist: maintenance and lint fixes. (nw) couriersud2019-10-061-1/+1
|
* netlist: Fix more lint warnings/hints (nw) couriersud2019-09-281-1/+0
|
* netlist: provide example for state in truthtable. couriersud2019-05-011-0/+2
| | | | | | | The truthtable implementation of 74107 (JK-Flipflop) is included for educational purposes to demonstrate how to implement state holding devices as truthtables. It will completely nuke performance for pong and therefore is disabled.
* netlist: Fix the 7448 mess. couriersud2019-04-231-0/+2
| | | | Moved truth table implementation of 7448 in macro. At the same time added power terminals and update game netlists accordingly.
* netlist: MB3614 again, function controlled VARCLOCK and other couriersud2019-04-071-0/+1
| | | | | | | | | | | improvements. - fix MB3614 parameter - Added VARCLOCK which derives step size from function - optimized function handling in CS and VS - fixed a bug in ppreprocessor - add trunc to pfunction - added opamp_amplification_curve to derive characteristic amplification curve
* (nw) Clean up the mess on master Vas Crabb2019-03-261-137/+144
| | | | | | | | | | | | | 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-144/+137
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: add MOSFET model. [Couriersud] couriersud2019-03-251-0/+1
| | | | | | | | | | | | | | | | | | | - added MOSFET model. Currently capacitances are not modelled. This is a 3-pin model (Bulk connected to Source) with provisions to extend it to 4-pin at a later stage. - Add a capacitor generic model which is charge conserving. Switch netlist to use this model instead of constant capacity model. - Start putting constants into a central place. Please expect minor timing differences due to a different numerical path. The cmos inverter example illustrates the analog implementation of a cmos inverter gate. These were used a lot back in the 70s/80s to generate sinus waves. The model should also be able to better emulate 4066 analog switches. The addition of a relatively simple capacitor model is planned at a later stage. Expect everything from the MOSFET model at the current stage. Wrong results as well as convergence issues and crashes.
* netlist: add MC1455P as device. (nw) couriersud2019-03-171-1/+3
|
* netlist: Fix relative include paths and a conflict. (nw) couriersud2019-02-231-2/+2
| | | | 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
* netlist: All devices now specify parameters in factory constructor. (nw) couriersud2019-02-011-139/+138
| | | | This previously was part of net_lib.cpp and repeatedly caused bugs.
* srcclean and cleanup (nw) Vas Crabb2019-01-271-1/+1
|
* Refactoring and bug fixes. (nw) couriersud2019-01-101-5/+5
|
* Move information where it belongs ... into the drivers. (nw) couriersud2019-01-101-37/+40
|
* Improve type safety on string->numeric conversions. (nw) couriersud2019-01-101-1/+1
| | | | | | | Also fixed an issue with 7497. ./nltool -t 5 -f src/mame/machine/nl_tp1983.cpp -v now runs again.
* Fixed tp1983 and 7497 and added 7497 dip version. (nw) couriersud2019-01-091-1/+1
| | | | | | | | The schematic for the tp1983 contains an error. R19 is connected to GND. This will never work since when Q goes low, the reset pulse will dead lock Q to low. R19 needs to be connected to VCC (5V). This will generate the proper, high-pass filtered pulse. Further fixes for the 7497 as well.
* netlist wip: 7474, 7497, test driver Sergey Svishchev2019-01-071-0/+2
|
* A large portion of the Atari Gran Trak 10 schematics (1974) Felipe Corrêa da Silva Sanches2018-07-281-0/+4
| | | | implemented on MAME using the netlist subsystem.
* netlist: add a crude TTL schmitt trigger model and hook up in 1B11142 Vas Crabb2017-05-271-0/+1
| | | | | | | | | | | | | | | | | sound board, completing the tromba circuit (nw) I'm not sure whether the model works properly or not, but in the circuit where it's used, I don't think it can work properly with the current TTL output model. A capacitor is charged by the Q output of a 74LS74 flipflop (U3A) until the voltage passes the Schmitt trigger's threshold, causing it to reset the flipflop. However, the positive trigger voltage of the Schmitt trigger is 1.6V, but our TTL output model has a high output voltage of 1.0V (see nl_base.cpp:89). I realise the simplified model of TTL logic with high impedance inputs and outputs behaving as though thery're loaded is convenient and fast to simulate, but it's not detailed enough for applications like this where 7400-series chips are used in analog circuitry. This is what held me up last time I tried adding a netlist for this sound board.
* Merge pull request #2068 from JoakimLarsson/prodigy_display R. Belmont2017-02-171-0/+2
|\ | | | | Prodigy display
| * new netlist device: 74164 - 8bit parallel output serial shift register Joakim Larsson Edstrom2017-02-171-0/+2
| |
* | Reworked truthtables a bit. couriersud2017-02-171-3/+0
|/ | | | | - Moved 9312 and 74279 to ttl macro library. - Renamed TTL_9312_* to DM9312. This is more appropriate. - Fixed a number of warnings from latest ubuntu clang-5.0.
* Make sure netlist includes are not found directly on include path. couriersud2017-02-101-2/+2
| | | | Instead, they have to be prefixed by "netlist/". Removed unneeded link librariers for nltool and nlwav along the way. (nw)
* Netlist: It is now possible to have multiple handlers per device ... couriersud2017-02-051-6/+0
| | | | | | | | | | | | | ... 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]
* Separate include file usage for netlist. couriersud2017-01-291-10/+1
| | | | | | | | 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)
* Assume string literals are UTF8 in netlist code. couriersud2017-01-201-1/+2
| | | | | | | At the same time, any char pointer has to be explicitly converted to pstring by specifying an encoding. Not yet optimal, but certainly better than what was there before. Removed unneeded methods from pstring. (nw)
* Register all devices using NETLIB_DEVICE_IMPL. Fix encoding issue. (nw) couriersud2017-01-161-16/+20
|
* Preparation work for automatically generated include file for devices. couriersud2017-01-161-3/+2
| | | | | | | | | | | | | | | 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]
* Move analog devices into "netlist::analog" namespace. Added couriersud2017-01-151-3/+5
| | | documentation to opamp model. (nw)
* Move netlists into macro folder. (nw) couriersud2017-01-091-46/+0
|
* Refactored factory. Use namespace "factory" instead of prefix factory_ couriersud2017-01-021-3/+3
| | | all over the place. (nw)
* Simplify code. Introduce consistent approach to loading macro devices. couriersud2017-01-021-95/+96
| | | | Changed nltool "listdevices" command accordingly. Fix some bugs which surfaced by this exercise. (nw)
* Hook up luigi walking sound in netlist mario sound implementation. couriersud2016-12-311-1/+1
| | | | | | Mario driver now uses netlist audio implementation instead of discrete implementation. The previous discrete sound emulation has not been removed yet because it still contains a lot of documentation. [Couriersud]
* Some preparation for future changes on proxies and chip families. (nw) couriersud2016-12-281-2/+2
|
* Fix loading roms in two devices. (nl) couriersud2016-12-271-8/+8
|
* netlist: Added LM747, LM747A and 2N2565. Vas Crabb2016-12-261-0/+1
|
* first srcclean pass (nw) Vas Crabb2016-12-251-5/+5
|
* Netlist: align naming of 9334/make nl_hazelvid.cpp parseable by nltool couriersud2016-12-251-15/+15
| | | | | | | | Renamed DM9334 to 9334 to align with naming convention used for other 93XX chips. Added proper connection information for a number of chips to net_lib.cpp. This allows to parse and run nl_hazelvid.cpp using nltool: nltool -t 1 -f nl_hazelvid.cpp
* -netlist: Added 82S123 256-bit (32x8) TTL bipolar PROM. [Ryan Holtz] MooglyGuy2016-12-241-1/+4
|