* 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 :-(
-----------------------------------
a2600.xml: Asteroids (PAL, rev. 06) [Guru]
Clones promoted to working
----------------------------
Super Treasure Island (Italy, v1.6) [Ivan Vangelista]
- tankbust.cpp: used finders, logmacro and other small cleanups
* Made the Spectrum/8 firmware selectable as a card BIOS option.
* Added a palette device for the Spectrum/8 so it can be seen in the
graphics viewer.
* Initialise enough members of the Spectrum PDQ device class to not hang
a debug build.
* Got the code of the Spectrum/8 and Spectrum PDQ more in line with each
other.
* Implemented sync pulse width registers and moved sync to be logically
at the end of the line/frame.
* Fixed vertical offset in 480i mode and made vertical blanking
interrupt fire at field frequency.
* bus/nubus: Started emulating SuperMac Spectrum/8 CRTC.
* bus/nubus: Respect Apple 4•8 screen base register.
* cpu/m68000: Fixed disassembly of bit field extract instructions.
* Also cleaned up data plugin a little.
* moved manufacturer / system specifics into subclasses (eg. some bwb configs) [David Haywood]
* identified correct reel setups for many sets, allowing them to boot further [David Haywood]
* added some default input configurations for games needing stake keys and percent keys so that they boot by default [David Haywood]
* moved some sets around based on the machine type [David Haywood]
* adjusted AY hookup to keep 'Four More' happy [AJR]
* ibm5170.xml: 6 new software additions
New working software list additions
-----------------------------------
Battle Chess (Windows 3.x release) [minimojoman, archive.org]
King's Quest VI: Heir Today, Gone Tomorrow (3.5") [The Good Old Days]
King's Quest VI: Heir Today, Gone Tomorrow (3.5", Germany) [The Good Old Days]
King's Quest VI: Heir Today, Gone Tomorrow (5.25") [The Good Old Days]
Litil Divil [The Good Old Days]
Roberta Williams' Laura Bow in "The Dagger of Amon Ra" (Germany) [The Good Old Days]
New working software list additions
-----------------------------------
The FairyLand Story (Japan, prototype) [Forest of Illusion, Gaming Alexandria, Hard4Games, FenrisRetro]
emu/schedule.cpp: Fixed a few more pessimising assumptions. Gains a few
percent in Ketsui and SNES SuperFX.
util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.
sun2.cpp: Fixed uninitialised variable that could cause corrupt video.
Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
----------------------------
Borderline (Tranquillizer Gun conversion) [anonymous]
New working clones
------------------
Beta Force [anonymous]
- astinvad.cpp, rollerg.cpp, shootout.cpp: used finders, derived classes and other minor cleanups