What's missing:
- parameters (like the disk name when it exists)
- possibly a cleanup of ram_open and friends (but not sure of the appropriate direction in which to go)
new WORKING machines
-------
TV Board Games 6-in-1: Silly 6 Pins, Candy Land, Hungry Hungry Hippos, Match 'em, Mixin' Pics, Checkers [Sean Riddle, David Haywood]
TV Board Games 6-in-1: Simon, Battleship, Mouse Trap, Checkers, Link-a-Line, Roll Over [Sean Riddle, David Haywood]
New BSD-licensed implementation of Yamaha OPN and OPM FM audio chips, along with new device drivers for YM2203, YM2608, YM2610, YM2610B, YM2612, YM3438, and YM2151 based upon these.
New working machines
--------------------
Basketball (Mattel) [hap, Sean Riddle]
QuizKid Speller [hap, Sean Riddle]
New working clones
------------------
QuizKid Racer (MM5799 version) [hap, Sean Riddle]
If you want to build 64-bit and 32-bit in the same tree without them
stomping on each other, use SEPARATE_BIN=1 (you already need to do this
for TOOLS=1 anyway).
* Added note explaining that view options saved in machine CFG take
precedence over INI/command line.
* Added prerequisites for building HTML documentation under MSYS2 and
Fedora Linux.
* Explicitly mentioned that Ubuntu modifies GCC to enable "fortify
source" by default in the relevant section.
* Removed obsolete reference to glibstdc++6.
* Re-formated compiling guide source (hard wrap at 80 columns,
typographical quotes, code blocks for sample command lines).
-genie.lua: Show GCC ignored attribute warnings, but don't fail for
them.
- Separate driver from cosmic.cpp
- Add MC6845 CRTC and use it for all video updates
- Configure screen with raw parameters
- Add support for display flipping in cocktail mode
* Separated Acorn IOC and MEMC into devices.
* Emulated 8051-based serial keyboard.
* acorn_machine/memc.cpp: Ensure only one logical page is mapped to a single physical page.
* Fixed RISC OS POST IOC register test.
* aa310.cpp: Added debug code to display RISC OS POST failures.
-machine/archimedes_keyb.cpp: Dumped Acorn Archimedes keyboard microcontroller. [Phil Pemberton]
* formats/hti_tape.cpp: Added support for Manchester encoded DC100 cassettes.
* machine/hp2640_tape.cpp: added emulation of DC100 tape drives.
* machine/hp_dc100_tape.cpp: Added unit name display.
- sa1110: Added rudimentary support for the ICP and DMA blocks. [Ryan Holtz]
- sa1111: Various changes. [Ryan Holtz]
* Hooked up I2S audio DMA support.
* Hooked up IRQ support.
* Hooked up basic GPIO support.
- uda1344: Added initial pass at audio support, based on DMADAC. [Ryan Holtz]
- sed1356: Added support for BitBLT solid-fill command. [Ryan Holtz]
- jornada: Added more keys, touch pen support, and fixed EEPROM access. [Ryan Holtz]
* New machines marked as NOT_WORKING
----------------------------------
AlphaSmart 3000 [TeamEurope, ClawGrip]
* New NOT_WORKING software list additions
---------------------------------------
alphasmart_kapps.xml: Accelerated Reader (1.3, English (UK)), Accelerated Reader (1.2, English (UK)), AlphaQuiz (3.1, English (UK)), AlphaWord Plus (3.4, English (UK)), Beamer (1.01, English (UK)), Calculator (3.02, English (UK)), Control Panel (1.07, English (UK)), Control Panel (1.04, English (UK)), KeyWords (3.6, English (UK)), KeyWords Wireless (4.2, English (UK)), MathFacts in a Flash RP (1.3, English (UK)), MathFacts in a Flash RP (1.1, English (UK)), MathFacts in a Flash (offline) (1.2, English (UK)), MathFacts in a Flash (offline) (1.0, English (UK)), Neo Font - Large (4 lines) (1.0, English (UK)), Neo Font - Medium (5 lines) (1.0, English (UK)), Neo Font - Small (6 lines) (1.0, English (UK)), Neo Font - Very Large (3 lines) (1.0, English (UK)), Neo Font - Extra Large (2 lines) (1.0, English (UK)), Responder (1.2, English (UK)), SpellCheck Large USA (1.03, English (UK)), SpellCheck Large USA (1.02, English (UK)), SpellCheck Small USA (1.03, English (UK)), SpellCheck Small USA (1.02, English (UK)), SpellCheck Spanish (1.0, Dutch), Text2Speech Updater (1.4, English (UK)), Text2Speech Updater (1.3, English (UK)), Thesaurus Large USA (1.1, English (UK)), Thesaurus Large USA (1.0, English (UK)), Thesaurus Small USA (1.1, English (UK)), Thesaurus Small USA (1.0, English (UK)), Wireless File Transfer (1.1, English (UK)), Wireless Updater (2.0, English (UK)), Wireless Updater (1.3, English (UK)) [ClawGrip]
* Fixed a couple of fixed-size buffers in Windows OSD code.
* Marked MAME as aware of long paths in Windows manifest.
* Made a cleaner, thread-safe API for getting volume names.
* Added compile-time option to disable recompiler W^X mode.
* NuBus image device current directory doesn't need to be pinned.
- render.h: Split out layout class declarations into rendlay.h, with some adjustments for the resulting incomplete types (std::reference_wrapper unfortunately does not allow these by C++17 rules)
- rendlay.h: Move old header contents to layout/generic.h
- vecstream.h: Revert changes made in aa29519528. The std::string_view conversion has been made a non-member function (util::buf_to_string_view) and moved to coretmpl.h.
- strformat.h: Remove the using declaration importing util::string_format into the global namespace. It has been moved to emucore.h and a few tool sources; other references have been qualified.
- osdcore.h: Split out file, directory and path classes and methods to a new header (osdfile.h), Doxygenizing the documentation comments.
- Disaggregate many #includes that were including other standard or custom headers. emu.h now includes basically the same things that it did, but other headers have been streamlined; for instance, emucore.h no longer stealth-includes osdcore.h several ways.
* shuffle a few things around re: the BBL ST2302U based handhelds, give bbl338 its own map due to internal ROM etc.
* fake some interrupts on bbl338
* better document test draw command, so that we can verify we're in test mode
----------------------------------
Twin Basket [Museo Del Recreativo]
-st62xx: Various changes. [Ryan Holtz]
* Fixed RETI and LD rr,A opcodes.
* Optimized internal register handling.
* Converted to use logmacro.
* Added initial timer support.
* Started moving Lua class reference to docs. Expecting people to find
the class reference material in the source isn’t going to help make it
approachable. The docs allow longer explanations, better formatting,
and cross reference links.
* Added another layout scripting example to the docs.
-goldnpkr.cpp: Minor clean-up.
* Improved the short names for Witch Card and Witch Game clone sets.
* Made Witch Up & Down artwork clickable.
* Added working Video Klein sets where the parent is a working Video
Klein set to the tiny subtarget.
* Removed history from the header comment - we have version control for
a readon.
* set additions, see main decription
* not working additions, see main description
* more not working bits, see main description
* more not working additions, see main description
* consistency fix
Added methods for enabling and disabling breakpoints and watchpoints,
and made debugger views update when breakpoints/watchpoints are
manipulated from Lua. Made breakpoints and watchpoints objects rather
than tables. (It’s not possible to enable/disable a breakpoint or
watchpoint from the object itself, you have to go through its owners'
debug interface.)
Exposed more device_t members for dealing with child/sibling tags and
devices. Also provided a way to get regions/shares/banks from a device
using relative tags rather than going through the memory manager with
absolute tags.
* ms32.cpp: fix/document memory map
* ms32.cpp: preliminary CRTC hookup
* ms32.cpp: implement sprite direction bit, nuke per-game kludges
* Move note where it belongs (nw)
* ms32.cpp, bnstars.cpp: correct sprite RAM ranges
* tetrisp2.cpp: kill some legacy screen params, need those anyway
* Improve notes (nw)
* ms32.cpp: move CRTC to a new sysctrl device
Also added a bare-bones Python script for generating new device file
defs to src/mame/etc
* gen_python_def.py: address issues, misc improvements
* Kill device_memory_interface in favour of direct address_map, QA always broken flip_screen in flags
* ms32.cpp: reinstated flip screen thru callback
* ms32.cpp: Make mixing to honor cliprects instead of erratic screen.width / height call
* Need a safeguard somehow, and a symbols build doesn't help here lalala
* Fix notes, cannot repro the bug, next
* Move irq assert/clear lines to device, add preliminary prg timer, make 30 Hz irq to behave like one.
(Note: very untested, feedback is appreciated)
* Send a prg timer ack if irq is disabled
* Misc cleanups
* Nuke emu_timers in favour of configure_scanline, preliminary bnstars1 hookup
* No magic number please
* Add sysctrl to tetrisp2.cpp, move rockms stuff into its own state machine, misc
* Kill off 30 Hz refresh rate hack in stepstag/vjdash sub screens
* Flag all those xtals as unknown
* Move has_zoom/has_yuv in ms32_sprite init constructor, fix dummy config bug with stepstag right screen update
* jalcrpt.h doesn't belong to tetrisp2.cpp, errata on sysctrl reset line
* Fix build
* Left-over
* Fix bool comparison to itself (blame JS habits), nuke bnstars1 mahjong
switch case altogether.
* Notes
* Fix bnstars1 crash
* update_color fn doesn't work without a memory_share_creator, documentation
* Translate clamp_to_12bits_neg to a constexpr method
* Fix crashing in main ms32 driver, except it now has very broken priority for seemingly no reason
* Fix nasty spriteram buffer RAM allocation bug
* Make objectram_size to be calculated at init time
* First (naive) pass in moving common interface to a ms32_base_state
Move m_irqreg save state from video_start to machine_start fn;
Fix embarassing palette overflow bug in ms32.cpp;
Add bitswap for bnstars1 mahjong panel;
.bytes() -> .length() for objectram_size;
* bnstars: template video handlers
* bnstars: fix config, split sprite chips/gfxdecode/palette into two, fix palette ranges
* ms32.cpp: implement proper irq acknowledge lines
* Add config setter in sysctrl for inverted vblank/field lines, make tp2ms32 and wpksocv2 happy
* Move f1superb to own state
* MS32 merge sound maps
* Remove TIMER_DEVICE_CALLBACK_MEMBER in favour of emu_timer
The things that were previously called device iterators are not
iterators in the C++ sense of the word. This is confusing for
newcomers. These have been renamed to be device enumerators.
Several Lua methods and properties that previously returned tables now
return lightweight wrappers for the underlying objects. This means
creating them is a lot faster, but you can't modify them, and the
performance characteristics of different operations varies.
The render manager's target list uses 1-based indexing to be more like
idiomatic Lua.
It's now possible to create a device enumerator on any device, and then
get subdevices (or sibling devices) using a relative tag.
Much more render/layout functionality has been exposed to Lua. Layout
scripts now have access to the layout file and can directly set the
state of an item with no bindings, or register callbacks to obtain
state. Some things that were previously methods are now read-only
properties.
Layout files are no longer required to supply a "name". This was
problematic because the same layout file could be loaded for multiple
instances of the same device, and each instance of the layout file
should use the correct inputs (and in the future outputs) for the device
instance it's associated with.
This should also fix video output with MSVC builds by avoiding delegates
that return things that don't fit in a register.
* replaced dgun2869 dump with good one [Sean Riddle]
* also did some work on the dreamGear unit, works now
* an innotab2 driver entry was also added to hold the software list, but the ROM isn't dumped yet
machines promoted to WORKING
------
My Arcade Retro Micro Controller - 220 Built-In Video Games (DGUN-2869) [Zup, Team Europe, Sean Riddle]
new WORKING machines
------
Code Lyoko (25-in-1 handheld) [KaruzoHikari, Team Europe, David Haywood]
My Arcade Pac-Man Pocket Player (DGUNL-3227) [Sean Riddle]
new NOT WORKING machines
------
Palace Arcade [Sean Riddle, Kamaal Brown]
new NOT WORKING Software List entries
------
vtech_innotab_cart.xml : Mickey Mouse Clubhouse (UK) [Team Europe]
-netlist: Give devices the C++17 namespace treatment.
-Tidied up compiler warning options for 3rdparty.
-emu/render.cpp: Exposed a few information view item properties.
I've guessed whether break or [[fallthrough]] is appropriate. In cases
where it looked particularly suspicious, I added a FIXME comment. All
of these changes should be reviewed by someone familiar with the code.
* Removed .mask(), as it’s not reliable in the general case.
* Added asserts to things that assume power-of-two sizes.
* Got rid of virtual qualifier on pointer-to-member operator.
* Made helpers a bit more assertive about logging warnings.
-emu/rendlay.cpp: Use delegates to avoid hot conditional branches.
-docs: Finished off description of object finders and output finders.
new NOT WORKING machines
----------------------
InnoTV [Team Europe]
new NOT WORKING software list entries
----------------------
vtech_innotv_innotabmax_cart.xml:
pawpatrl: Paw Patrol - Pups Save a UFO! (80-274103 UK) [Team Europe]
dcgcr: DC Comics - Gotham City Robots (80-274803 UK) [Team Europe]
finddory: Finding Dory (80-274903 UK) [Team Europe]
liongrd: The Lion Guard (80-275203 UK) [Team Europe]
new WORKING software list entries
----------------------
gameking.xml:
mc_4v07a: 4 in 1 - TrojanLegend (Trojan) + HappyBall + Supermotor (Motor) + Lanneret (Hawk) (512KB cartridge) [Team Europe]
mc_4v16a: 4 in 1 - Manhunt + Bobby + Tantivy + Racing Car (512KB cartridge) [Team Europe]
- Implemented memory mapper for CP/M.
- Serial printer port.
- External RAM is now scrambled.
- SuperCart bankswitching board implemented for Aquaricart.
- Cartridge images of size 4K, 8K, 16K now supported, was previously 16K only.
new WORKING machines
-----
The New York Times Sudoku [David Haywood, Sean Riddle, Kamaal Brown]
Vs Maxx 25-in-1 (VT03 hardware) [David Haywood, Sean Riddle, Kamaal Brown]
6-in-1 Sudoku Plug & Play [David Haywood, Sean Riddle]
Plug 'N' Play 50-in-1 (DGUN-853) [David Haywood, Sean Riddle, Kamaal Brown]
new WORKING clones
-----
Mega Drive Collection Volume 2 (Radica, Arcade Legends) (UK) [David Haywood, Sean Riddle]
Super Sonic Gold (Radica Plug & Play) (UK) [David Haywood, Sean Riddle]
new NOT WORKING machines
-----
Plug 'N' Play 25-in-1 (DGUN-806) [David Haywood, Sean Riddle, Kamaal Brown]
IQuest (US) [David Haywood, Sean Riddle, Kamaal Brown]
- Added MegaDrive side ROM to sarc110 sets, moved to skeleton 'hybrid' driver based on megadriv_rad.cpp and demoted to not working for now as they're meant to boot from the MD side with the VT03 games as bonus items [Sean Riddle, Team Europe]
- Moved reactmd to a skeleton 'hybrid' driver, demoted to not working, it's also meant to boot from the MD side with the SunPlus games as bonus items.
----------------------------------
Emax Digital Sampling Keyboard [DBWBP]
New clones marked as NOT_WORKING
----------------------------------
Emax Plus Digital Sampling Keyboard [DBWBP]
* emax2: Add dump of serial EEPROM [DBWBP]
* New non-working driver: SONY DFS-500 DME Video Mixer (1994)
-And a few new skeleton drivers for some other SONY video equipment:
* U-Matic vo5850PM
* BETACAM-SP UVW-1200
* BETACAM-SP UVW-1600
* BETACAM-SP UVW-1800
* holeland.cpp: Fix typo ("Refreativos Franco" -> "Recreativos Franco")
* New machines marked as NOT_WORKING
----------------------------------
Santa Fe Golden [jordigahan, ClawGrip]
* Move popn9 into kpython.cpp
* viper.cpp: Fix source name
* kpython.cpp: Add notes for popn9 ds2430 data
* kpython.cpp: internal ROM of H8 mcu isn't 32 bit
The project won't move forward if we're not proactive about ensuring
legacy code isn't added. In particular, this PR contained the kind of
code that we need to remove in order to be able to move to proper
per-device outputs and to allow clients to enumerate a system's outputs
on start; and runtime tagmap lookups for I/O ports, which can't be
checked on validation and hence require exercising all code paths to
detect errors (as well as the performance issues).
The pull request had outstanding reviews requesting changes. It's not
acceptable to ignore that and merge it.
This reverts changes from e3dbb0fa43
and fc8330e65c.
* Implement TT5665 emulation
Similar as OKIM6295, but with Support more ROM capacity and phrase spaces, 2 sound outputs
used in bowltry, igs_m036 (for some hardwares with TT5665, ex: cjddzsp)
bowltry.cpp: Fix game name (BOWLING TRY! in both poster and PCB)
* bowltry.cpp: Typo
* Fix endline
* tt5665.cpp: Reduce unnecessary argument
----------------------------------
Photo Play Spirit Xtreme (Spanish)
New clones marked as NOT_WORKING
--------------------------------
Photo Play Spirit Xtreme (update, Spanish)
And a few new skeleton drivers for some other SONY video equipment:
* U-Matic vo5850PM
* BETACAM-SP UVW-1200
* BETACAM-SP UVW-1600
* BETACAM-SP UVW-1800
This fixes the "typing on all keyboards at once" issue. You can now
enable and disable keyboard/keypad inputs per device in the Keyboard
Mode menu. Default is to enable the first device with keyboard inputs,
and all device with keypad inputs but no keyboard inputs. The settings
are saved in the CFG file for the machine.
Typing in natural keyboard mode only ever types on one keyboard at a
time, but now you can control which keyboard it types on, as it will be
the first enabled keyboard.
You can easily try this out with something like:
mame64d zorba -rs232 terminal cpm
-ui/inputmap.cpp: Show device descriptions as well as tag paths.
-mac128.cpp: Fixed mouse axis wrap compensation, cleaned up mouse code,
eliminated static variables for mouse input state.
You could see the issue with wrap detection easily enough just by
running mac128k/mac512k/macplus and tapping the arrow keys to move the
mouse one pixel at a time. As you moved past the point where the axis
count wrapped, it would move one pixel in the opposite direction.
There were two function static variables related to mouse input state,
probably still lurking from when the code was initially made to use a
driver state class. This obviously messes with save states and prevents
multiple instances.
- bus/a2bus/mouse.cpp: Fixed mouse axis wrap compensation.
This device had the same bug with wrap compensation as mac128k.cpp.
-----------------------------------
vsmile_cart: V.Smile Tanz Mit Center (Germany), V.Smile Défi Gym (France), Gimnasio Interactivo V.Smile (Spain)
-vsmile: Added support for the Jammin' Gym Class dance mat. [bmx, Ryan Holtz]
* Split hc55516 core into separate cores/subclasses for hc55516 and hc55532 (new 'digital' implementation based on decap/die tracing) as well as mc3417 and mc3418 (old existing 'analog' implementation left alone) and hooked the hc55516 and mc3417 implementations to the appropriate hardware drivers. This should vastly improve CVSD sound quality in drivers that use the hc55516. [Lord Nightmare, Sean Riddle]
* Made Exidy's mouse trap use a timer to clock the mc3417 and update the state readable by the z80 rather than relying on the mc3417 to accept a clock parameter and update the z80 state via a callback. The timer implementation ensures proper synchronization and prevents missed clock transitions from the z80 side causing noise in the CVSD audio. [Lord Nightmare]
* Added a biquad-based 2nd order filter emulation for an audio stream (to go along with flt_rc 1st order filter emulation) and hooked it to Exidy's mouse trap (mc3417) and williams drivers (hc55516) following the original schematics. For hc55516 this is necessary as the original chip produces a very pronounced audible 16khz 'carrier' in its output audio even on the real chip, and these filters suppress this. This also happens to a lesser extent with the 8khz quieting waveform noise on both mc3417 and hc55516. [Lord Nightmare]
* Made Williams System 11 and s11_bg relative sound mixing more accurate to the original audio flow on the PCB itself. [Lord Nightmare]
* Switched Williams Joust 2 to use the s11_bg common sound device rather than its own implementation. [Lord Nightmare]
Also improved symmetry of disk components, fixed positioning of
components when fitting to the pixel grid, and fixed inherited color
when item has no color specified.
Removed the dotmatrix components from complay.py - there are more
flexible ways to achieve the same thing.
* fmtowns: add a SCSI card slot for the original models
- Add a slot device for the Model 1/2 dedicated SCSI slot
- Add a device for the FMT-121 SCSI Card
- Modify the I/O maps and machine configurations so the slot and the
integrated controller don't overlap
Moved MS DIB parser out of ICO file reader and made it available for
artwork and layout images.
Added more efficient I/O and better error checking for JPEG file loading
(MAME will no longer exit immediately on a bad JPEG file).
Made caller responsible for opening files for loading images, to avoid
decompressing images used in ZIP/7z artwork multiple times.
Added support for JPEG and Windows DIB to picture_image_device.
Added support for SVG image files in external artwork.
Added support for using I/O port value for animation state and masking
animation state values.
Made bounds elements more flexible in layouts.
Reworked headers to reduce dependencies.
Updated layout file format documentation.
* - split off the handhelds that seem to be based around gpl162xx technology into their own file from generalplus_gpl_unknown.cpp to generalplus_gpl162xx_lcdtype.cpp
- identify unkunsp based on new information
* typo
machines promoted to WORKING
----
TV MegaMax active power game system 30-in-1 (MegaMax GPD001SDG) [David Haywood]
* added files for the VT APU type, currently no extra functionality, but will be built upon
* psixptty: Fix for FreeBSD
We need to check for __FreeBSD__ not __FreeBSD_kernel__
* FreeBSD: Use gl includes from pkg-config
FreeBSD doesn't install the includes from 3rdparty software in a default
location so use pkg-config to get the correct path.
* FreeBSD: genieos is named simple bsd
- Hook up periodic and keyboard interrupts
- Implement keyboard and hook it up
- Render according to vram address and add basic cursor support
- Hook up bell sound
* Most OpenGL link issues fixed. Two remain from drawogl.cpp.
This isn't working anyhow.
* "-video accel" now uses WebGL. This allows GL based scaling and
provides a performance improvement.
* Fixed pong and other games by adding another function to the
exception whitelist
* Target now is mame.html. This allows emrun to be used for testing.
mame.js is created as well and thus the current behaviour
unchanged.
This adds support for the mini digital cassette recorder that can be
found inside a P2000t. This implementation is based on documentation
that can be found in https://github.com/p2000t/documentation.
In memory of NPM Jansen, who taught me all the magic of bits and bytes.
Components may have multiple bounds and/or color child elements with
state attributes, allowing for piecewise linear position/size/colour
animation.
Components may have a statemask attribute, allowing for things like
using external images to draw a multi-segment LED/VFD display without
requiring dozens of outputs for the individual lines or thousands of
images for all possible states. (Texture caching still never releases
anything, so MAME can still exceed the maximum number of textures, but
that’s a separate issue.)
Image components with alpha now blend over previously drawn components.
Layouts have been changed to use yes/no for inputraw to match what's
used for flipx/flipy. External layouts with 1/0 will still work, but
complay.py will complain.
* animalc: Pile kludge upon kludge for poorly understood video timing register
* gocowboy, itazuram: Increase frequency of one timer interrupt (and hopper timing in gocowboy)
* kc82, kp69: Modernize state_add syntax
* 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.
These layouts have changes to element stacking order that can't be
avoided without changing the group structure in the layout files. I
think it's harmless, but it's possible it could have had a detrimental
effect on risc2500 (I tested it and didn't see any changes, but I might
not have known what to look for).
-complay.py: Added basic checks for dupicate collection names.
As with other checks of this kind, it doesn't actually instantiate the
layout so it doesn't check things when variable substitution is
involved.
Changed name of element to "collection" and initial visibility attribute
to "visible", and added them to documentation. Also added them to
complay.py.
Fixed issue with collection inside group, and improved initial view
selection behaviour.
Updated some internal layouts to demonstrate new features, including
et3400, irrmaze, ltcasino, mekd3/mekd4, seawolf and vgmplay.
Removed all uses of cpanel, marquee and overlay from internal layouts
and removed them from complay.py to actively discourage use. Also
cleaned up view names in layouts that were using them in place of
spaces, and removed some superfluous name attributes on elements that
won't do anything useful with an output value anyway.
Made vgmplay cycle visualiser modes when visualiser screen is clicked.
Fixed a copy/paste error in bus/rs232/hlemouse.cpp while I'm at it.
* 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
* Support Colecovision Megacart.
Assume that a rom file that is more than 32K in size is a megacart
and that it should be bankswitched using Megacart protocol.
* Put megacart functionality in its own cartridge type.
----------------------------------
Novation BassStation Rack Analogue Synthesizer Module [DBWBP]
Novation Drum Station [DBWBP]
Novation Super Bass Station [DBWBP]
Add disassembler and skeleton CPU device for Panasonic MN1880 architecture [AJR]
Factory elements can now pass additional parameters to device
constructors. This makes the design of interface objects like analog
callbacks easier.
The change also allowed to remove some "deep" calls into the core from
the MAME interface in netlist.h
* mw8080bw: update 280zzzap audio API in preparation for netlist audio
This is only API changes, following the pattern used by cuavas within the
past year to update other games in mw8080bw.
* mw8080bw: new netlist audio implementation for 280zzzap
New netlist-based audio implementation for 280zzzap (280-ZZZAP, 1976),
derived from Midway game logic board schematic. The sound generally
matches that heard in videos of the machine, though the real machine
seems to have more bass and less treble. This may be a cabinet effect
or something else, such as a difference in component values.
Due to the number of complex components being emulated and the nature
of the circuits, this netlist adds a lot of overhead, but it's still
fast enough to run at greater than real speed on modern hardware.
With minor changes, this implementation should also support lagunar
(Laguna Racer, 1977); with somewhat more substantial changes, it
would also support sspeedr (Super Speed Race, 1979). Both of these
games use sound circuits based on those for 280-ZZZAP.
plists.h was splitted into plists.h, pmulti_threading.h and
ptimed_queue.h. In addition removed plists.h from a number of files it
wasn't used in.
Certain minor adjustment needed to be made for cuda toolkit 10.1 and
10.2.
- Memory references in expressions no longer default to the console's visible CPU if no device name was specified, except when entered through the console itself. Expressions in view windows now use the context of the currently selected device instead.
- The pcatmem debug command and similar qt mouseover function now produce an error message if the initial address translation fails.
Related internal changes (nw)
- The debugger_cpu class no longer interprets memory accesses. The existing routines have been moved into symbol_table (which used to invoke them as callbacks), and reimplemented in most other places. Thecode duplication is a bit messy, but could be potentially improved in the future with new utility classes.
- The cheat engine no longer needs to hook into the debugger_cpu class or instantiate a dummy instance of it.
- The inclusion of debug/express.h within emu.h has been undone. Some debugging structures now need unique_ptr to wrap the resulting incomplete classes; hopefully the performance impact of this is negligible. Another direct consequence is that the breakpoint, watchpoint and registerpoint classes are no longer inside device_debug and have their own source file.
- The breakpoint list is now a std::multimap, using the addresses as keys to hopefully expedite lookup.
- The visible CPU pointer has been removed from the debugger_cpu class, being now considered a property of the console instead.
- Many minor bits of code have been simplified.
The last(?) two changes are:
- Add a template parameter to everything (theoretically the address
space width, in practice a level derived from it to keep as much
compatibility between widths as possible) so that the shift size
becomes a constant.
- Change the syntax of declaring and initializing the caches and
specifics so that they're embedded in the owner device. Solves
lifetime issues and also removes one indirection (looking up the base
dispatch pointer through the cache/specific pointer).
* Demoted Quizard and Quizard 2 sets to non-working.
* Started hooking up the Quizard MCU.
* Renamed CDI_SLAVE to CDI_SLAVE_HLE in prep for an LLE device.
* Added more comprehensive notes to the driver.
* Removed NO_DUMP cdic.bin as the CDIC is apparently not an MCU.
* Copied SERVO and SLAVE MCUs into cdimono1 set from cdi910 set and marked with BAD_DUMP.
For reasons unknown to me compile optimizations do not behave for
template code. If the implementation is in separate compile units, the
code compiles and performs.
This needs more attention since for certain compilers there is a
considerable performance degregation. It looks like this is only
triggered if too many variants are declared in one cpp file and the
compiler stops inlining.
Thanks to Aaron Giles who made me think about a different approach.
This is a rewrite from scratch for rom devices. It uses a generic
template to implement rom devices which is used together with a
description struct to define a rom device. This leads to highly
efficient code since all information is available at compile time.
This is also a step forward to support tristate outputs. All rom devices
covered by this approach have tristate or open collector outputs and
thus all code changes to support tristate outputs can now be made
consistently in one file.
* move i/o handlers to specific maps, untangle register array usage, to be completed
* Nuke duplicate I/O accesses, rename to iobus_r/w, make go_w to be an actual line
* Fix addqmod & subqmod modulo mask for DSP
* Refactor TOM to host CPU function, and fix GPU irq lv 3 when a GPU object is encountered. Fixes mutntpng and atarikrt booting
* Fix Jaguar irq line to 2, trusted
* Start reworking the blitter
* Relicensed to BSD
Code cleanup to better separate the following stages:
- parsing
- setup
- run
In addition preliminary native tristate support was added. Not yet
production ready, please don't use it.
- Add and hook up interrupt controller and timer
- Add keyboard support (HLE)
- Clean up and improve graphics handling
- Add initial cassette support (not working)
- Add centronics printer support
- Add beeper
- More info to dip switches
The two sources act as voltage sources, though noise may also be
injected as conductivy or current noise.
SYS_NOISE_MT_U: Mersenne Twister uniform noise
SYS_NOISE_MT_N: Mersenne Twister normal noise
nld_sys_noise is templated:
using NETLIB_NAME(sys_noise_mt_u) =
NETLIB_NAME(sys_noise)<plib::mt19937_64,
plib::uniform_distribution_t>;
Thus the approach is scalable. The implementation is state save aware,
and thus reproducible results are guaranteed.
An example use case is provided as well, see examples/noise.cpp.
* new WORKING machines
Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1) [TeamEurope]
* new NOT WORKING software list entries
tvgogo.xml : Baseball (US) [Sean Riddle, David Haywood]
tvgogo.xml : What-A-Mole (US) [Sean Riddle, David Haywood]
* added internal NAND dump to didj [Sean Riddle, Clawgrip]
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.
--------------------
MDT 60 Video Display Terminal [Bitsavers, AJR]
z29: Add skeleton for undumped keyboard; try (and fail) to make this work with the MDT 60 keyboard instead
z22: Separate driver (nw)
Changes:
- added known dump checksums of 1101 BIOS
- high-level emulation of GPIB disk devices
- partial implementation of DMA (currently ignores ACCRQ so devices must have zero latency in order for it to work)
- serial is now properly memory-mapped
- modem stub in order to make system properly ignore modem device
- it now boots without any patches and debug scripts
- merged #6597 (needed in order to make disk devices work)
Still not implemented:
- RTC/MACHINE_ID
- modem
- has problems with multiple disk devices working simultaneously (possibly BIOS bug because this BIOS had some problems with that on real device)
new machines marked as NOT WORKING
----
Mastery's Fury [Miso Kim, David Haywood]
(this is a bad dump, mask ROMS are half size, at least the sprites)
new WORKING machines
----
Goori Goori [Miso Kim, David Haywood]
* Initial refactor of AVI/MNG movie recording, consolidation of copy and paste
code, hiding of AVI/MNG behind interfaces
* Extracted recording specific code out of src/emu/video.cpp and put into
src/emu/recording.cpp
* Took the opportunity to move slightly more logic out of video.cpp into
recording.cpp
* Bug fix
* Consolidated frame counting logic
- Use generic latch devices for sound communications
- More accurate handling of programmed sound resets
- Add the other LS259 to gauntlet.cpp
- Correct watchdog timeouts for all three drivers
- General code cleanup
atarigen: Eliminate ATARI_CLOCK_xxxMHz macros in favor of standard XTAL constants (nw)
atariscom: Separate source file from atarigen.cpp; move IRQ handling to atarijsa (not a property of the actual device) (nw)
Added a define NL_USE_ACADEMIC_SOLVERS and disabled it in the build.
This will not compile in solvers which are either illustrative or only
perform for large sparse matrices like GMRES.
Moved netlist between dasm and utils,expat,... link statements
This fixes the resolution of symbols in netlist code which may be used
in machine/netlist.cpp.
Change tested on ubuntu, windows and macosx.
----
leapfrog_didj_cart.xml: Nicktoon Android Invasion (US, 500-13290-B) [Team Europe]
there's a skeleton driver too, but it's really nothing but a holder for the Software List as the BIOS isn't yet dumped.
This commit introduces precompiled static solver code. Due to
additional optimizations the compiler can use because the detail
calculation steps for the solution are known e.g. the kidniki netlist
sees a 100% speed increase.
In all environments (windows/*nix/osx) the source for the static
solver code can be created using
bash src/lib/netlist/nl_create_mame_solvers.sh
This will create src/lib/netlist/generated/static_solvers.cpp which is
compiled into the mame binary.
The script is just a temporary workaround. The intention is that nltool
whill be able to create this file with one call.
There are other improvements in this commit speeding up the processing
of timestep and dynamic calculations.
- PAC2 is now a separate bus with slot devices
- Kanji ROM and RAM PAC2 expansions are no longer built into pasopia7, but may be configured as slot options
- RAM PAC2 expansion made nonvolatile and provided in multiple sizes
- Two PAC2 slots added to pasopia
* Split S-SMP and S-DSP implement in snes_snd.cpp
both convert memory handler into device_memory_interface, Internalize ROM region of S-SMP
s_smp.cpp : Use callback for S-DSP interface, Split internal and external memory space
snes.cpp : Convert WRAM into shared_ptr
* s_dsp.cpp : Reduce #define macros
* mw8080bw: new netlist audio implementation for gunfight
New netlist-based audio implementation for gunfight (Gun Fight, 1975),
derived from Midway audio schematics. Sound checked against several
YouTube videos and seems to match, apart from acoustic effects of
cabinet. (Sorry, I don't have a Gun Fight machine of my own to check. :)
Removed the old sample-based sound, which is no longer necessary. (The
samples for that version were actually from the newer game Boot Hill
and didn't match Gun Fight's sound hardware; they even included Boot
Hill's funeral march tune!)
Although the netlist version has much greater overhead, performance is
still acceptable on modern hardware.
* mw8080bw: remove unnecessary trampolines from gunfight netlist audio
In response to review comments on PR #6509.
* mw8080bw: Remove leftover copyright holder from new files (nr)
--------------------
Sensor Chess [hap, bataais]
New working software list additions
-----------------------------------
saitek_schess: Classical Style Super Strong [hap, bataais]
----------------------------------
Roland S-50 Digital Sampling Keyboard [DBWBP]
Roland W-30 Music Workstation [DBWBP]
New clones marked as NOT_WORKING
--------------------------------
Roland S-550 Digital Sampler [DBWBP]
----------------------------------
Roland S-10 Digital Sampling Keyboard [DBWBP]
Roland S-220 Digital Sampler [DBWBP]
New clones marked as NOT_WORKING
--------------------------------
Roland MKS-100 Digital Sampler [DBWBP]
* new NOT WORKING
----
TV Fitness Center (Lexibook) [TeamEurope]
Lexibook Retro TV Game Console - Frozen - 300 Games [TeamEurope]
the TV Fitness you can select games etc. but inputs aren't fully mapped, Frozen is a more enhanced NES VT clone than we support (nw)
* new NOT WORKING
----
Haluatko miljonääriksi? (Finland) [Sean Riddle, Santeri Saarimaa]
surprisingly on entirely different hardware to the otherwise identical from the outside, aside from stickers UK version (nw)
* new WORKING machines
----
Double Players Mini Joystick 80-in-1 (MJ8500, ABL TV Game) [Sean Riddle, David Haywood]
* might as well drop the non-working tag here, issues are minor (nw)
* was a PAL unit (nw)
* minor vt refactoring (nw)
----------------------------------
Roland JX-8P Polyphonic Synthesizer (Ver. 3.x) [DBWBP]
Roland JX-10 Super JX Polyphonic Synthesizer [DBWBP]
New clones marked as NOT_WORKING
--------------------------------
Roland JX-8P Polyphonic Synthesizer (Ver. 2.x) [DBWBP]
Roland MKS-70 Super JX Polyphonic Synthesizer [DBWBP]
----------------------------------
K4 16-bit Digital Synthesizer [DBWBP]
New clones marked as NOT_WORKING
--------------------------------
K4r 16-bit Digital Synthesizer Module [DBWBP]
* gcm394 / paccon - use screen resolution to determine tilemap limits nstead of hardcoding it (nw)
* debugging (nw)
* tweaks to video (nw)
* new NOT WORKING
----
Super Game 36-in-1 (TimeTop SuperGame) [JP_Ronny, TeamEurope]
(actually seems playable, but there are some details I want to verify / figure out before promoting it)
* map 'X' for timetp36 (nw)
* extra io notes (nw)
* confirm difficulty mapping (nw)
* set to PAL timings (nw)
* new NOT WORKING
----
Digi Makeover (Girl Tech) [Sean Riddle, Clawgrip]
* move digimakeover to its own driver (nw)
* hack to force IRQ on (nw)
* alt mode for rad_digi (nw)
* some buton notes (nw)
* flips for rallyx (nw)
* make some IRQ code closer to spg2xx (nw)
* improve raster for Xevious (nw)
* no macro (nw)
* new NOT WORKING
----
Gormiti Game Arena (Spain) [Sean Riddle, Clawgrip]
* new NOT WORKING
----
MobiGo (Spain) [Sean Riddle, Clawgrip]
* don't use smartfp inputs (nw)
- com8116: Delete SY2661-1/-2 tables (these are just second sources of SCN2661A/B)
- mc2661: Remove obsolete device
- rs232: Remove 7200 baud setting formerly required by one driver to work around incorrect table
visualiser device and WDL FFT libarary).
I changed the VGM visualiser to use single-precision float which is the
default for WDL FFT. GCC's loop vectoriser can make better use of SSE
with single-precision maths, and the extra precision shouldn't be needed
for the visualisation. If this is a problem, let me know and I'll
revert this and flip the WDL FFT library over the other way.
(nw) The pcap.h header itself has the problematic original BSD license,
including the obnoxious advertising clause. Using tap/tun networking on
Windows provides a much better experience, so the extra setup is worth
it. This patch also allows you to enable pcap on platforms where it's
disabled by default with USE_PCAP=1 if you really want to use it.
* Removed empty nl_examples from dist.mak
* Added copyright acknowledgements and full text of licenses to binary distribution
* Fixed up the list of third-party libraries
* Moved WDL fft.c to 3rdparty
* hp80: added HP82939 serial I/O module.
Fixed a small bug in INS8250 that prevented module self-test to pass.
Improved the interrupt handling of hp80 systems.
* hp80: changed scheduling to use "set_perfect_quantum"
* set discpal to correct machine type (nw)
* moew skannerz tv to its own driver and add notes from Tahg [Tahg]
* buzztime IO notes from Tahg [Tahg]
* new NOT WORKING
----
Pac-Man Connect & Play (Feb 14 2012 10:46:23) [Sean Riddle, David Haywood]
boots and you can select things from the menu but this is the newer SP SoC and needs a LOT of work on the graphics.
This tool was previously used to generate HTML-formatted source for
the website from releases. It hasn't been used in years, since we
rely on the repository browsing features of GitHub/GitLab/SourceForge.
It also hasn't been updated to handle C++14, Lua, and other changes to
the source. If we do want to publish source code on our own web site
in the future, we'd be better off using an off-the-shelf library to
handle parsing the source.
----------------------------------
Korg M1 Music Workstation (Rev 19) [DBWBP]
New clones marked as NOT_WORKING
--------------------------------
M1 EX Music Workstation (v1.29) [DBWBP]
M1R Music Workstation (v1.06) [DBWBP]
M1R EX Music Workstation (v1.12) [DBWBP]
M1 Plus+1 Music Workstation [DBWBP]
-spg2xx_io: Converted from magic register indices to enumerated values. Added SPI logging. [Ryan Holtz]
-spg2xx_jakks: Split into separate game-key, plain, and touch drivers. [Ryan Holtz]
-jak_batm: Hooked up I2C EEPROM to enable saving. [Ryan Holtz]
* new WORKING machine
-----
Retro Dance Mat (110 song Super StepMania + 9-in-1 games) (PAL) [TeamEurope, David Haywood]
* new NOT WORKING
---
Lexibook Retro TV Game Console - 300 Games [TeamEurope, David Haywood]
My Arcade Retro Arcade Machine - 300 Handheld Video Games (DGUN-2593) [TeamEurope, David Haywood]
* swap painball powered up dump for a better one, previous reads weren't 100% consistent, they are now, changes verified to be correct (nw)
* notes from Sean (nw)
* rename these bits, they're not system specific (nw)
----------------------------------
Roland D-50 (Ver. 2.xx) [DBWBP, depblue]
New NOT_WORKING clones
----------------------
Roland D-50 (Ver. 1.xx) [DBWBP]
Roland D-550 [DBWBP]
Add disassembler for NEC 78K/III architecture [AJR]
* new WORKING machines
----
Guitar Super Star (Fender Stratocaster style) [Sean Riddle, David Haywood]
* better filename (nw)
* new NOT WORKING
----
Excite Sports Tennis x Fitness (Japan) [Sean Riddle, Peter Wilhelmsen, ShouTime]
* shuffle (nw)
* new NOT WORKING
----
Wikid Joystick [TeamEurope, David Haywood]
* new Software List entries (Mobigo.xml) [TeamEurope]
Rapunzel - Neu Verfohnt (Germany) (80-251704)
Cars 2 (Germany) (80-251904)
Die Pinguine aus Madagascar - Operation Krone (Germany) (80-250304)
Micky Maus - Wunderhaus (Germany) (80-250504)
Ben 10 - UltimateAlien - Mine der Gedanken (Germany) (80-250604)
Dora - Tag des Zwillings (Germany) (80-250804)
Disney Princess (Germany) (80-251104)
Cars Toon - Hooks unglaubliche Geschichten (Germany) (80-251204)
* new Software List entries (telestory_cart.xml) [TeamEurope, David Haywood]
Power Rangers - Mystic Force
Dora the Explorer (Spanish)
* new NOT WORKING
---
TV Touch Games: Star Wars Original Trilogy [Sean Riddle, David Haywood]
* srcclean some of my stuff (nw)
* shuffle (nw)
* shuffle (nw)
* new NOT WORKING
---
Big Buck Hunter Safari (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]
* (nw)
* (nw)
* (nw)
* mc6844.cpp: WIP NEW DEVICE Motorola mc6844 DMA controller (devicified from swtpc09.cpp)
* 6821pia.cpp: improved LOG messages a bit
* mc6854: Added support for external clocks, DMA, improved LOG messages and fine tuning of IRQ handling
* mc6846: Removed nonexistant CP1 output callback and added a CP1 input interface call
* 6850acia.cpp: Updated use of logmacro.h
* alfaskop4110: WIP added keyboard and fixed build errors
* new WORKING machine
---
MGT 20-in-1 TV-Spielekonsole (Germany) [TeamEurope, David Haywood]
* text to follow later (nw)
* (nw)
* (nw)
* (nw)
* (nw)
* new WORKING machines
----
My Sports Challenge (6-in-1 version, QVC license) [Sean Riddle, David Haywood, Ryan Holtz]
Decathlon [Sean Riddle, ClawGrip]
new NOT WORKING
---
Karao Kids Songs 2 (Spain) [Sean Riddle, ClawGrip]
Club Jenna Presents: Jenna Jameson's Strip Poker [Sean Riddle, David Haywood, Ryan Holtz]
Mini Arcade Machine (Red5) [TeamEurope, David Haywood]
Lexibook Compact Cyber Arcade - Disney Princess [TeamEurope, David Haywood]
* added a placeholder for Sean's Casio ROM pack dumps (nw)
* promote the poker game (nw)
* (nw)
* (nw)
* Casio ROM pack details from Clawgrip
* new NOT WORKING
---
Duck Commander (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]
Star Wars Clone Trooper (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]
The Walking Dead: Zombie Hunter (JAKKS Pacific TV Game) [Sean Riddle, David Haywood]
The Walking Dead: Battleground (JAKKS Pacific TV Game) [Sean Riddle]
Toy Story - Toys on the Move (JAKKS Pacific TV Motion Game) [Sean Riddle, Clawgrip]
* new NOT WORKING
----
Teenage Mutant Ninja Turtles: Mutant and Monster Mayhem [Sean Riddle]
* new WORKING machines
----
Plug & Play Game Controller with 200 Games (Supreme 200) [TeamEurope]
healthy dose of obvious unlicensed NES hacks here.. including 1st party Nindendo and Namco games.
* new NOT WORKING
----
MobiGo 2 (Germany) [TeamEurope]
+ start of Sofwtare List [TeamEurope]
* (nw)
* new NOT WORKING
----
Guitar Fever (2007.07.03 Ver 2.7) [TeamEurope, Peter Wilhelmsen, David Haywood]
has timer issues making the music way too slow
* move these (nw)
* new NOT WORKING
----
Atari Flashback Mini 7800 [Sean Riddle, GameHistory.org]
City Patrolman [unknown]
* do fit here (nw)
* new WORKING machine
---
Magic Ranger Battle (Japan) [Sean Riddle, Peter Wilhelmsen, David Haywood, ShouTime]
(at least I think it works, might end up demoted if I discover more issues, as it's a SuperXaviX but only appears to be using the basic IO features and bitmap mode on the XaviX splash screen)
* correct title (nw)
* new NOT WORKING
---
Gamepad (Bandai) [Sean Riddle, GameHistory.org]
* new NOT WORKING
---
Tour around Japan. I'm a Plarail Conductor (Japan) [Sean Riddle, Peter Wilhemsen, David Haywood, ShouTime]
SmarTV Adventures / Funtastic TV Adventures [Sean Riddle, David Haywood]
* new NOT WORKING
---
Super Roller (v7.0) [Hammy]
* inputs are the same (nw)
* document boot password (nw)
* another password (nw)
* new NOT WORKING
----
Fitness Konsole (NC1470) [TeamEurope]
* (nw)
* new NOT WORKING
---
Mega Duck Lerncomputer (Germany) [Sean Riddle]
* new WORKING machines
----
Sports Trivia Professional Edition (Senario, Plug and Play) [Sean Riddle, David Haywood]
My Sports Challenge Plus / Wireless Sports Plus [Sean Riddle, David Haywood]
new NOT WORKING
---
Megapad 31-in-1 [Sean Riddle, GameHistory.org]
the 31-in-1 is playable, except for one game, need to look into that.
* (nw)
* new NOT WORKING Software List entry
-----
buzztime_cart.xml : Series 1 - Sports Trivia [Sean Riddle, David Haywood]
* new WORKING software list entry
jakks_gamekey_nm.xml : Pac-Man & Bosconian (01 APR 2005 A SKU G) [Sean Riddle, Ryan Holtz, David Haywood]
(that's all the known gamekeys covered now)
* sunplus_gcm394 changes from Tahg
(I'll tidy these up shortly to fit MAME standard better)
* refactor (nw)
* refactor (nw)
* (nw)
* (nw)
* some decryption refactor (nw)
- Make second 8355 into ROM expansion slot that can load custom 8755 programs
- Add software list for expansion ROMs, including Peter Naszvadi's version of Mastermind
- Add optional TTY interface
- Improve accuracy of button labels and change key bindings
- Add vectored interrupt and soft reset buttons
- 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.
* new WORKING machines
----
Vs Maxx Texas Hold'em TV Poker - 6 Player Edition (US) [Sean Riddle, David Haywood]
Deluxe TV Poker - Texas Hold'em, Blackjack & Video Poker (US) [Sean Riddle, David Haywood]
* (nw)
* (nw)
* new WORKING machines
---
TV Sports 10-in-1 / Decathlon Atlhetic Sport Games [TeamEurope, David Haywood]
new NOT WORKING machines
---
Lexibook Compact Cyber Arcade - Frozen [TeamEurope]
* (nw)
* new NOT WORKING
----
Sudoku (Elan type hardware) [Sean Riddle]
* new NOT WORKING
---
Lexibook Compact Cyber Arcade - 250-in-1 (JL2375) [TeamEurope, David Haywood]
* new NOT WORKING
----
Plug and Play Sudoku (VT based) [Sean Riddle, David Haywood]
* (nw)
* new clones
---
Excite Sports Wireless Interactive TV Game - 48-in-1 (set 2, PAL) [TeamEurope]
* (nw)