| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* Removed unnecessary preprocessor line continuations from C++ code.
* Use parentheses to avoid need for line continuations in expressions in Python code.
* Removed line continuations at the end of lists in makefiles.
* cpu/m68000: Regenerated C++ source files.
|
| |
|
|
|
|
| |
coleco: remove romhacked bios rom
|
| |
|
| |
|
|
|
|
|
|
| |
- move code to more appropriate locations
- apply clang-format to modified files
- fixed some cspell errors
- Applied emu.h rule.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* netlist: fix bug, prepare for future changes and improve readability
- fix a bug where a net processing error may trigger a nullptr access
- applied some clang-tidy recommendations
- add no_return to plib::terminate
- properly encapsulate dynamic_cast usage
- more review of noexcept
- added a clang-format file. Over time, all source files will be
processed with clang-format
- Used clang format on a number of files
- Rewrote 74174
- all device constructors now use a struct to pass data on
to base classes. Neither netlist state nor the name are intended
to be used in a constructor. After the base class was
constructed, they can be accessed by state() and name().
- The device construction macros can now be removed. Changes to
the core will not need to be reflected in constructors.
- Change truth table macros so that going forward NETLIST_END and
TRUTH_TABLE_END can be replaced by a closing curly brace. netlists can
than use curly braces enclosed blocks.
- more clang-format
- removed some macros completely
- all derived classes from base_device_t now don't use macros
any longer.
- as a result, delegator_t was removed. This class was only used
to support macros :-(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* netlist: fix bugs and more cpp instead of macros
- C-style comments converted to c++
- Fix crash in state saving code when an abort queue processing event
is pending.
- Fix a bug where a net could be twice in the queue.
- Convert more macros to c++
- fixed SUBTARGET=nl build
- fixed potential bugs which would allow a terminal to belong to more
than one net. This is not possible even for a short time.
- moved some member function definitions out-of-class.
- moved code out-of-class
- added constexpr where appropriate
- fixed mamenl build
- Cleanup and indentation
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Make netlist/plib noexcept issue workaround trigger for clang 8 or
Apple clang 11.0.0.
* Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue
in GNU libstdc++ rather than GCC itself - using compiler version as a
proxy for standard library version is bad, but it's the path of least
resistance for now).
|
|
|
|
|
|
|
|
|
|
|
| |
- nltool: Added support for building individual static solver files.
- Added pre-built documentation files for nltool and nlwav.
- plib: Extended typed_version to have patchlevel as well.
- plib: Compile more of ppmf.h with nvcc.
- create_devinc.py: Add include guards to the generated files.
- makefile: Recreate generated files when python code has changed.
- Reduced nld_base.h usage in the core.
- <oved extern template class declarations to where they belong.
- Generally improved code readability and fixed a lot of issues cspell reported.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Added more documentation to palloc.h
- Made the use of allocation arenas more transparent throughout code
- palloc now uses c++17 alignment aware operator new.
This required further changes to the arena_deleter object to
track alignment and size of allocated objects to avoid the use
of alignment and size of base classes in case a unique_ptr was
cast to a unique_ptr of the base class.
|
| |
|
|
|
|
|
| |
- added cstddef to includes in ppmf.h
- more explicit comments in ppmf.h
- Fixed more typos and improved readiability
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- More c++, less macros
* Significantly reduced the use of unused_var and replaced it with
[[maybe_unused]]
* use enum class in ppmf.h
- Changes to testing code in ptest.h
* Catch exceptions in more places
* The verbosity of the output can now be controlled
* Display of test stats totals
- added support for cspell
- fixed various typos
- fixed SUBTARGET=nl build
- fixed more file permissions
- srcclean and add fix_permissions target to netlist makefile
|
|
|
|
| |
feature constants for C++ standard library version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
netlist: pointer to member function code
- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
make plib::hash use uint64 to ensure consistent static solver
hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases
* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.
The code submitted now supports:
a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.
b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.
c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.
d) The code now also supports `clang-cl`
e) sizeof(size_t) may be different on build targets.
Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
|
|
|
|
|
|
|
|
|
|
| |
This addresses most of the issues described in #8590.
* Fixed standalone Visual Studio 2019 builds, including support for clang toolchain.
* Added static stub to PMF to support MSVC ABI.
* Better aligned ppmf syntax with MAME's delegate syntax.
* Add tests/test_ppmf*.cpp testing examples given in #8590.
Also worked around issues some versions of Apple clang have with 5aaae19230bd39dda6766641672f57276a3f9ea1.
|
|
|
|
| |
nvcc 11.3 (latest cuda tools) has an issue with some auto x(some
variable) declarations.
|
|
|
|
|
|
| |
- update netlist makefile to more recent compilers
- prototypes for NETLISTs in macros are now created create_devinc.py
- apply ctidy recommendations
- Python None in create_device.py
|
|
|
|
|
| |
- Added a first version of a FAQ.
- Use better error messages in pfunction.
- Made member functions static where appropriate in nld_solver.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* 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.
|
|
|
|
| |
assignment operator does not match the calculated one
|
| |
|
|
|
|
|
| |
* These are used during creation and reset only. No need to
maintain them on net_t level.
|
| |
|
|
|
|
| |
* "(1 + 2)*a" now during parse step will be rewritten to "3*a".
|
| |
|
|
|
|
| |
* Also includes a small optimization for FP signal code.
|
| |
|
| |
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* use default move and copy constructors
* various minor edits like adding noexcept
* removed a lot of inline keywords - you can't beat the compiler
|