* Ported Cirrus Logic CS8900A Crystal LAN MAC emulation from VICE and hooked it up to Apple II card device.
* Adds Ethernet networking support for Apple IIgs.
* new WORKING machines
-----
Double Dance Mania: Supreme / Dance Supreme [Sean Riddle, David Haywood, Kamaal Brown]
Double Dance Mania: Mega 12 [Sean Riddle, David Haywood]
* new NOT WORKING
-----
My Arcade Wireless Video Game Station 200-in-1 (DGUN-2572) [Sean Riddle, David Haywood]
* 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.
* Added akkaarrh to the ci target.
* Switched Travis CI to Ubuntu Focal.
* Allow ppc64le CI build to fail.
* Report CI status as soon as a job has failed or remaining jobs are allowed to fail.
Sound and other improvements to Sega G-80 games: [Aaron Giles, couriersud]
* Added netlist-based sound to Eliminator, Zektor, Space Fury, and Astro Blaster.
* Split the Sega Universal Sound Board and Speech Boards into their own separate files.
* Improved Universal Sound Board implementation for better accuracy in Star Trek and Tac/Scan.
* Wrote netlist-based backend for Universal Sound Board; currently disabled due to limitations in the system.
* Wrote netlist-based backend for Speech Board; currently disabled pending future sound system changes.
* Implemented wait states and the vector DRAW flag to help improve timing.
SP0250 Improvements: [Aaron Giles]
* Matched clock divider to real chip measurements.
* Fixed behavior when not fed enough data; addresses "gapping" in speech in Sega games.
* Implemented accurate LFR noise generator according to real chip measurements.
* Added pulse-width modulation DAC output mode for future consumption by netlist.
Netlist additions: [Aaron Giles]
* Added compile-time option to record nltool-compatible CSV files.
* Improved CD4020 implementation.
* Fixed CD4053 behavior.
* Added 74139 device.
* Added TL082 device.
8253 PIT changes: [Aaron Giles]
* Added explicit synchronization to all writes.
* Cleaned up some timing calculations to avoid double<->attotime conversions.
* sspeedr: new netlist audio implementation
Netlist-based audio implementation for sspeedr (Super Speed Race, 1979)
derived from Midway audio schematics, and based on that used for
280zzzap (280-ZZZAP) and lagunar (Laguna Racer) in the mw8080bw driver.
The Super Speed Race audio circuits are clearly derived from those games;
the biggest difference is the use of a linear feedback shift register
for noise generation.
* Updated netlist static solvers with recent netlist changes.
IMGUI_DISABLE_OBSOLETE_FUNCTIONS was defined in osd/modules.lua but not
in 3rdparty.lua. As a result, two different variants of struct ImGuiIO
were being defined, causing a C++ One Definition Rule violation
* new NOT WORKING machines
-----
PCP 8728 - 788 in 1 [David Shah]
unknown unSP based handheld [unknown]
* new NOT WORKING machines
------
Virtual Ping Pong (Protocol) [Sean Riddle, David Haywood]
My Arcade Gamer Mini 160-in-1 (DGUN-2953) [Sean Riddle, David Haywood]
* The saver/loadr commands should consider region endianness for portability.
-cpu/gigatron: Capitalisation of hex values was inconsistent, change it to lowercase as that tends to be the MAME standard.
-machine/exorterm.cpp: Fixed inputs magically changing on reset when they shouldn't (there are still others that should be fixed).
-mpu4vid.cpp: Corrected some errors in game descriptions.
-Fixed a couple of editing errors.
new NOT WORKING machines
------------------------
Super PC TV (Epoch) [Preservat!on Quest / Noah Bacon, Hubz]
U-Dance [Sean Riddle, David Haywood]
Moving Music (MM-TV110) [Sean Riddle, David Haywood]
* splitting up xavix a bit, preparation for better device encapsulation
* Move DIPs for 82S16, 82S115, and 2102A devices into nlm_proms
* Moved 7448 DIP to a macro. Replaced 7442 with truthtable and macro.
* Moved 74LS629 DIP into macro.
* Expand truthtable to handle 10 outputs.
* Added netlist simulations for the following games: Space War, Barrier, Star Hawk, Speed Freak, Star Castle, War of the Worlds, Sundance, Tail Gunner, Rip Off, Armor Attack, Warrior, Solar Quest, Boxing Bugs. Removed previous samples-based sound. [Aaron Giles, Couriersud]
* Added built-in minimal artwork for Warrior. [Aaron Giles]
* Changed speaker maximum sample tracking to be based on new compile-time define SPEAKER_TRACK_MAX_SAMPLE instead of MAME_DEBUG. [Aaron Giles]
* Modernized 74164 and 74393 netlist TTL devices. [Aaron Giles]
----------------------------------
El auto de papa [Victor Fernandez (City Game), ClawGrip]
Susanita tiene un raton [Victor Fernandez (City Game), ClawGrip]
- Rewrite memory system, now allows supporting expansion devices and better prepared for contention emulation
- Add expansion interfaces for rear expansion, drive ports and mouse
- Now supports the following rear expansion devices:
* Blue Alpha Sound Sampler
* Dallas Clock
* 1 Mb Interface
* SAMBUS 4-slot Expansion Interface (with clock)
* SID Interface (6581 and 8580 variants)
* S.P.I. SAM Parallel Interface
* Voicebox
- Added support for the Atom HDD interface, used in place of a floppy drive
- Simplified and cleaned up driver
- Temporarily deactivated joystick code, interferes with the keyboard
-tsb12lv01a: Added a skeleton device for the TI TSB12LV01A IEEE 1394 link-layer controller. [Ryan Holtz]
-ibm21s850: Added a skeleton device for the iBM 21S850 IEEE 1394 PHY controller. [Ryan Holtz]
New machines marked as NOT_WORKING
----------------------------------
RS-70 648-in-1 [David Shah]
-mk3b: Added a skeleton driver for the Monkey King 3B SoC. [David Shah]
* palloc.h/pmatrix2d.h: Fix static_assert warnings at the origin.
* Rework hints to broaden their use and fix NC hint.
* 74377: use NC hint
* plists.h: Fix debugging in MSVC
* Include cleanup: Move everything not needed by netlists from
nl_setup.h into core/setup.h
* Fix some clang tidy warnings
* srcclean
Available keyboards are us (M0110, U.S.), gb (M0110B, British), fr
(M0110F, French), pad (M0120F, numeric keypad with passthrough port)
and plus (M0110A, U.S. with integrated numeric keypad). The mac128k,
mac512k and mac512ke drivers default to the numeric keypad with the
U.S. keyboard connected to the passthrough port; the macplus driver
defaults to the U.S. keyboard with integrated numeric keypad.
Note that the numeric keypad may seem strange. Four of the operators
work as cursor arrows if you don't hold shift. There is a comma on one
of the keys, but by the time System 6 was released, Apple had decided
an equals sign was more useful, so that's what it will produces on
newer system versions. The U.S. keyboard with integrated numeric
keypad emulates these aspects of the stand-alone keypad - pressing the
operator keys on the keypad sends fake shit key down/up events, and
using the arrow keys while holding shift will produces operator
characters rather than selecting text.
The ISO layout keyboards (M0110B and M0110F) produce different scan
codes to the ANSI keyboards (M0110 and M0110A) but they don't report a
different identification byte. To use an ISO keyboard, you must open
the Keyboard control panel and change the layout to International (and
change it back to Domestic if you switch back to an ANSI keyboard).
This doesn't actually work at the moment due to issues with 6522 VIA
emulation, but it will work with macplus sys603 if applied on top of
revision 963a2c166d.
-----------------------------------------------------------------------
* moved schick.cpp out of pengo driver, too many small modifications to the hardware make it messy to keep there (nw)
also promoted some sunplus games I've decided work well enough to promote (nw)
* (nw)
* (nw)
Kidniki now achieves up to 910% when run with static solvers and with
nltool. That is significant better than the 860% we have seen
previously.
This increase is driven by using a global memory pool in the solver
code.
In addition the following refactoring and code maintenance work is
included. Please excuse the large commit, some of this took interfered
with other work and the detail development steps were ugly.
- gsl support: This commit adds pgsl.h which implements a very limited
number of the functionality of the gsl header described in the c++ core
guidelines.
- clang-tidy fixes
- A significant refactoring of palloc.h. Aligned hints were removed,
they added complexity without a significant performance gain. Vector
operations should better be done on special spans/views.
The code has been tested on linux with g++-7, g++-9, clang-11.
On Windows mingw-10 and VS2019, OSX clang-11.
- Added emulation of the SPG290 CDServo
- Added joypad inputs
- Added RFID card support
- Split SPG290 PPU, Timers and I2C into separate devices
- Added a softlist for the RFID cards