summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into netlist-generated couriersud2020-09-136-7/+35
|\
| * 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.
* | netlist.lua: use files provided by generated/mame_netlist.lua couriersud2020-09-131-0/+78
| | | | | | | | | | * Use a list of files which later can be created automatically by the netlist "make generated" target.
* | netlist: Add documentation how to add devices. couriersud2020-09-1214-175/+93
| | | | | | | | | | | | | | * please refer to adding_devices.md for instructions how to add devices to netlist * also fixed VS build * fix a makefile bug. * removed more obsolete include files
* | netlist: files add missing in last commit couriersud2020-09-122-0/+95
| |
* | netlist: automatically create library entries for files in ... couriersud2020-09-126-25/+12
| | | | | | | | * modules folder.
* | Merge remote-tracking branch 'origin/master' into netlist-generated couriersud2020-09-114-5/+9
|\|
| * netlist: clang tidy fixes. couriersud2020-09-114-5/+9
| |
| * netlist: add listmodels command to nltool. Couriersud2020-09-092-1/+55
| | | | | | * nltool --help is your friend.
| * netlist: Implement voltage dependent timing for CD4006 couriersud2020-09-092-9/+35
| |
* | netlist: Implement voltage dependent timing for CD4006 couriersud2020-09-092-9/+35
| |
* | netlist: add listmodels command to nltool. Couriersud2020-09-092-1/+55
| | | | | | * nltool --help is your friend.
* | netlist: start work on modules. couriersud2020-09-0712-34/+87
| | | | | | | | | | | | | | | | * 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 * cpp still needs to be added to netlist.lua
* | netlist: Fix VS2019 header files. couriersud2020-09-072-208/+0
| |
* | netlist: second round of header removal couriersud2020-09-0710-804/+4
| |
* | netlist: First round of header file removal. couriersud2020-09-07104-1054/+4
| |
* | netlist: switch to generated header files. couriersud2020-09-061-1/+1
|/ | | | | | * First step to remove most device and macro header files. * All of those can be generated automatically so going forward there is no need for these any longer.
* netlist: Pedantic and clang tidy updates couriersud2020-09-0628-52/+57
| | | * also fix an issue with netlist vs build
* netlist: fix multi byte string issues. couriersud2020-09-064-32/+36
|
* netlist: Fix a compile issues with mingw. couriersud2020-09-051-0/+4
|
* netlist: code maintenance and performance optimizations. Couriersud2020-09-0541-902/+1034
| | | | | | | | | | | * rename some misleading type names * remove callback_t and replace by better scalable approach * hide implementations details * move sources classes from putil.h to psources.h * reduce code complexity * improve parsing performance, parsing netlists now is twice as fast. * fix issues around multi-byte string support * moved psplit into pstrutil.h
* xmlfile.cpp: Put newline where it’s supposed to go after element content. Vas Crabb2020-09-061-1/+2
|
* -util/xmlfile: Escape attribute and element content. Vas Crabb2020-09-061-4/+42
| | | | | | | | | | | | | | | | | | | | The previous behaviour was unintuitive - parsing an XML file and writing it out immediately would produce invalid XML if the file contained any characters that needed escaping. It makes far more sense to escape on writing rather than expecting the user to escape input. -Add preliminary support for visibility toggles to artwork system. This allows the user to show/hide related elements in a view, with nesting. The view can specify whether elements are shown or hidden by default. Settings are saved per host window/screen per view. There is no way to set the initial visibility state on the command line. Legacy "Space Invaders cabinet model" layers are mapped onto visibility toggles. This is not stable yet. In particular, the XML element/attribute names have not been finalised. The new features have not been added to complay.py to prevent them from being used before they're finalised.
* Don't ignore config elements with attributes but no child nodes. Vas Crabb2020-09-022-5/+16
|
* frontend: Added option to skip repeated imperfect emulation warnings. Vas Crabb2020-09-022-11/+10
| | | | | | | | | | | | | | | | The option is called skip_warnings, and it must be set in ui.ini (it can be set using the internal UI). Red warnings cannot be skipped; yellow warning can be skipped under certain circumstances. For a yellow warning to be skipped, the system must have been launched in a way that allows warnings to be displayed, in a configuration with the same set of devices flagged with unemulated/imperfect features, within the last seven days, and the warning must have been displayed within the past 14 days. Also fixed a bug with display of the MACHINE_NO_COCKTAIL flag in the internal UI, and increased the size of XML integer attributes to 64 bits.
* VG5000µ updates: Sylvain Glaize2020-08-311-0/+1
| | | | | | - Add wavfile support for reading/writing tapes, for more accuracy. The currently supported K7 file type misses timing data. - VG5000µ adds a wait cycle after the second T state of the M1 cycle of the Z80. Because it was not emulated, the timings were off, especially in the sensible cassette read/write routines. - With wavfile support added and timings fixed, the emulation can now read/write cassette at 1200 and 2400 bauds. - Still keeping the MACHINE_NOT_WORKING flag, as real hardware tests need to be complete.
* formats/flopimg.cpp: Use appropriate standard exceptions for reporting ↵ Vas Crabb2020-08-301-11/+13
| | | | errors, allowing libemu to be removed from imgtool and floptool.
* formats: Get rid of more inappropriate use of emu_fatalerror (and fix some ↵ Vas Crabb2020-08-306-32/+39
| | | | spelling issues, etc. while I'm at it)
* pc_dsk: Ignore 84-byte Disk Copy 4.2 header [Justin Kerk] Justin Kerk2020-08-291-0/+5
|
* netlist: Remove copyright-infringing descriptions copy/pasted from datasheets. Vas Crabb2020-08-295-671/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain things are not considered "creative works" under copyright law, making them ineligible for copyright protection. This includes pinouts (facts), descriptions of circuits (utilitarian), integrated circuit lithography masks (utilitarian, but there's a separate field of IP law protecting them), and character shapes (utilitarian). However, many of these descriptions are substantial enough to be treated creative works. A number of them include suggested applications. There are situations where reproducing the descriptions may be permitted, for example: * The publisher may permit reproducing the entire datasheet for reference. * In some jurisdictions, fair use doctrine may allow the description to be quoted in its entirety in a larger creative work (e.g. in a research paper, patent application, or an original description of a circuit utilising the device). * Some jurisdictions allow reproduction of no more than 50% of a creative work for inclusion in teaching materials. I am not confident that these soure code comments qualify as a situation where the long-form descriptions can be copied verbatim lawfully, especially without reproducing copyright notices for them. If you want long form plain language descriptions in the comments, you need to write them yourself. That way, you will be the copyright holder of the creative work, and you can make it availble under a permissive or "copyleft" license.
* netlist: Fix processing of TRUTHTABLES for generated files. couriersud2020-08-284-571/+929
| | | | | * also made nld_devinc.h srcclean friendly. * nld_devinc.h and lib_entries.hxx are currently not used. You can try the automated build by changing NL_AUTO_DEVICES in setup.h to 1.
* netlist: Truth tables are now standalone objects. couriersud2020-08-2610-401/+470
| | | | | * Added TRUTHTABLE_ENTRY to netlist language. * Please see nlm_ttl74xx for reference implementation.
* netlist: standalone makefile support for OSX couriersud2020-08-261-3/+14
|
* netlist: Change license to CC0 in macro folder. couriersud2020-08-2511-11/+11
| | | | * Got agreement from contributors over social media.
* netlist: Fix various issues around include directories. couriersud2020-08-25151-526/+533
| | | | | | | | | * 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: more standalone makefile changes couriersud2020-08-247-741/+804
| | | | | | | | | | | | * On windows a simple make is now enough to build. * Devices, macro and tests folders now included with wildcard. * No more makefile changes if a device is added. * Moved nld_devinc.h to generated folder * Added to python scripts to create nld_devinc.h and lib_entries.hxx * TEST MODE: these two files are created automatically but are not used currently. Once I get feedback that the python scripts work in different environments I will remove header files from devices and macro and start using these files in production.
* netlist: Add 7417, 7438, 74290/74293 devices. Fix PROM DIPs. Aaron Giles2020-08-245-28/+293
|
* netlist: clang tidy include order fixes. couriersud2020-08-246-8/+8
|
* netlist: build system improvements couriersud2020-08-2413-1688/+1334
| | | | * Medium term this will significantly ease adding devices to netlist.
* netlist: in devices folder all DIP devices were removed. couriersud2020-08-235-88/+98
| | | | * NE555 and MC1455P were the last devices with DIP definitions in devices.
* netlist: References to subdevices should be symbolic. couriersud2020-08-2316-124/+118
| | | | | * Exposing sub-device members is not best practice. * The need for sub-devices is a clear indication that a netlist language implementation would be a better solution.
* netlist: Fix visibility in some devices. couriersud2020-08-238-19/+14
| | | * private rules.
* netlist: templatize 74107 and code maintenance. couriersud2020-08-238-143/+85
| | | | * removed some dead friend declarations * optimized template times_ns2
* netlist: macro dip definition for 8277,am2847,mm5837. couriersud2020-08-2311-105/+82
|
* netlist: Macro DIP definitons for TMS4800, 9314, 9334 couriersud2020-08-2311-159/+85
|
* srcclean for 0.224 Vas Crabb2020-08-234-113/+113
|
* formats: Removed some inappropriate uses of emu_fatalerror and stderr. Vas Crabb2020-08-233-29/+42
|
* netlist: use macro dips for 74175, 74192, 74193, 74194, 74365. couriersud2020-08-2213-241/+128
|