Given how many exciting updates have gone into MAME 0.244, it’s hard to believe it’s only been a month since the last release! Only one disk has been added to the Apple II software lists, but it comes with a very engaging story involving physically damaged media and manual data repairs. The Zilog Z80 CPU has had a bit of an overhaul this month, allowing more accurate memory access timings for the ZX Spectrum family. This fixes a lot of broken visual effects and other glitches. The HP 9000/300 series computers have had the necessary floppy disk image formats hooked up, allowing them to mount floppy disks from their software list.
MAME’s driver for JPM’s first CPU-based fruit machine platform, dating all the way back to the late 1970s, has been almost completely rewritten this month. Four games are now playable, albeit with minimal internal artwork. Colour video output has been implemented for Zilec’s Vortex. Don’t get too excited, though – while the approach they used to produce colourful graphics without adding any video memory is technically interesting, the results are very ugly and don’t make a bad game any better.
Other improvements in arcade emulation include:
- Score display and diorama control outputs have been hooked up for Bubble Trouble (this means you’ll need updated artwork for Golly! Ghost! as well).
- Layer offsets in Slap Fight and Alcon should be fixed, and cocktail mode now works for the original sets.
- The communication board for Super Street Fighter II: The Tournament Battle is now supported, allowing it to actually run in eight-player tournament mode.
SDL builds (the default for Linux and macOS) now detect game controller reconnection. Note that due to limitations of SDL itself, MAME may confuse similar controllers, potentially causing issues if multiple controllers are disconnected at the same time. Issues using MIDI input or output with 64-bit Windows builds should be fixed.
You can read about everything else that’s happened in the whatsnew.txt file. As always, the source and 64-bit Windows binary packages are available from the download page.
MAME Testers bugs fixed
- 01288: [DIP/Input] (exidy.cpp) venture, mtrap: Coin inputs are duplicated. (Vas Crabb)
- 03729: [Color/Palette] (galaxian.cpp) gmgalax: Colors are incorrect. (Robbbert)
- 05753: [Misc.] (pentagon.cpp) pentagon: The demo “recycler by Thesuper” does not boot. (holub)
- 06529: [Crash/Freeze] (spec128.cpp) spec128 [strider]: Emulated system reboots after finishing stage 2. (holub)
- 07564: [Crash/Freeze] (megadriv.cpp) genesis [nbaliv98]: Navigating menus triggers the game’s exception handler. (kmg)
- 07768: [Gameplay] (namcos2.cpp) bubbletr: Score displays and outputs are not exposed. (hap)
- 08185: [Graphics] (spectrum.cpp) spec128 and clones [chasehq]: Logo partly disappears during title screen animations. (holub)
- 08261: [Crash/Freeze] (spcforce.cpp) spcforce, spcforc2, meteor, meteors: Game freezes at title screen after soft reset. (AJR)
- 08303: [DIP/Input] (system1.cpp) ufosensi, ufosensib: DIP switch marked as unknown controls demo sounds. (kmg)
- 08304: [Crash/Freeze] (apxen.cpp) apxen: [debug] Slot tag shadows an option name, making it impossible to configure. (Robbbert)
- 08305: [Crash/Freeze] (x68k.cpp) All machines in x68k.cpp: [debug] System attempts to schedule timer on invalid video line. (AJR)
- 08306: [Crash/Freeze] (usgames.cpp) All machines in usgames.cpp: [debug] Attempting to decode non-existent ROM. (Ivan Vangelista)
- 08307: [Crash/Freeze] (konmedal68k.cpp) spcpokan: [debug] Attempting to read past end of video ROM. (R. Belmont)
- 08308: [Crash/Freeze] (mk98.cpp) mk98: [debug] Attempting to write past end of memory region. (Robbbert)
- 08311: [Crash/Freeze] (specpls3.cpp) specpls3 [rickdan2]: Game fails to load, displaying corrupt loading screen. (smf)
- 08315: [DIP/Input] (nemesis.cpp) salamand and clones: Inserting a coin may give two credits. (kmg)
- 08316: [Gameplay] (wmg.cpp) wmg: Selecting a game causes emulated system to crash. (Robbbert)
- 08321: [Documentation] (system1.cpp) wbml and clone: Descriptions do not match game titles. (kmg)
New working machines
- Hot Chilli (95103, v0104) [Roberto Fresca, Grull Osgo, Matt B]
- Selchow & Righter Scrabble Lexor - Computer Word Game [hap, Sean Riddle]
- Mahjong The Mysterious Orient Returns [BET] (Japan, v1.00) [buffi]
- RFC2795 Ltd RC2014 Classic [Miodrag Milanović]
- National Semiconductor Cops Pocket Assistant [hap, Sean Riddle]
New working clones
- Atari 5200 (2-port) [einstein95]
- Batsugun (bootleg) [buffi]
- Batsugun (older, set 2) [buffi]
- Dogyuun (oldest set) [buffi]
- Knights of Valour 2 / Sanguo Zhan Ji 2 / Sangoku Senki 2 (ver. 102, 102, 100HK) [buffi]
- Moon Cresta (Electrogame S.A. Spanish bootleg, set 2) [Victor Fernandez (City Game), ClawGrip]
- RFC2795 Ltd RC2014 Backplane Pro [Miodrag Milanović]
- RFC2795 Ltd RC2014 Backplane-5 [Miodrag Milanović]
- RFC2795 Ltd RC2014 Backplane-8 [Miodrag Milanović]
- RFC2795 Ltd RC2014 Classic II [Miodrag Milanović]
- RFC2795 Ltd RC2014 Mini with CP/M Upgrade [Miodrag Milanović]
- RFC2795 Ltd RC2014 Pro [Miodrag Milanović]
- RFC2795 Ltd RC2014 Zed [Miodrag Milanović]
- RFC2795 Ltd RC2014 Zed Pro [Miodrag Milanović]
- Saitek Kasparov Corona (ver. C, set 1) [anonymous]
- Thunder Dragon (bootleg with Raiden sounds, unencrypted) [f205v]
- unknown 'Space Invaders' gambling game (unencrypted) [Jorge Silva]
Clones promoted to working
- Multi Win (Ver.0091, encrypted) [Ivan Vangelista]
- Skelagon [smf]
New machines marked as NOT_WORKING
- Dallas Poker [TeamEurope, Roberto Fresca]
- Kajot Card (Version 1.01, Wien Euro) [TeamEurope, Roberto Fresca]
- Lite A Nudge (JPM) (SRU) (revision 17F, 5p Stake, £1 Jackpot) [SomeRandomGuyIdk]
- Neo Print - European Version (World) (T4i 2.00) [buffi]
- Neo Print - Popeye (Japan) (T4i 3.04) [buffi]
- Nudge Double Up (JPM) (SRU) (revision 17, 5p Stake, £1 Jackpot) [SomeRandomGuyIdk]
- Pong Boo! 2 (Ver. 1.31) [buffi]
- Rally Point 2 [coolmod]
- unknown Poker 'W' [TeamEurope, Roberto Fresca]
New clones marked as NOT_WORKING
- Double Top (JPM) (SRU) (revision 13, £2 Jackpot) [SomeRandomGuyIdk]
- The House of the Dead (Revision A) [egregiousguy]
- Lite A Nudge (JPM) (SRU) (£2 Jackpot) [SomeRandomGuyIdk]
- Magic Card Export (v4.01) [Ioannis Bampoulas, Roberto Fresca]
- Magic Card Export 94 (v2.11a, set 2) [Ioannis Bampoulas, Roberto Fresca]
- Magic Card Export 94 (v2.9a) [Ioannis Bampoulas, Roberto Fresca]
- Nudge Double Up (JPM) (SRU) (revision 17, 5p Stake, £1 Jackpot, lower %) [SomeRandomGuyIdk]
- Roland PR-100 Digital Sequencer (v2.01) [Foone Turing]
- Zenith Data Systems Z-180 Series [Colin McDougall]
New working software list additions
- apple2_flop_clcracked: Drugs: Their Effects on You (cleanly cracked) [4am, Matthew Eric D'Asaro, Firehawke]
- apple2_flop_orig: Drugs: Their Effects on You [Matthew Eric D'Asaro, Firehawke]
- bbc_rom: Chuckie Egg (unofficial ROM), Frak! (unofficial ROM), Integra-B OS 1.14, Integra-B OS 1.20, Integra-B OS 1.20 (Y2K patched), Killer Gorilla (unofficial ROM), Memex-B20 2.2, PipeDream 0.2, VidiEditor 1.2 [Nigel Barnes]
- c64_cart: Z80 Video Pak [smf]
- c64_cass: Salamander (Imagine), Sanxion, Savage, Scorpion (Prism Leisure), The Secret Diary of Adrian Mole, The Sentinel, Sentinel (U.S. Gold), Shadow Skimmer [The Ultimate Tape Archive Team]
- cdi: The Photo CD Book Companion CD-ROM [David Silva]
- fmtowns_cd: '94-nen Nice Gal - Natsu no Soukessan, Ii Tabi Ii Aji Goannai - Furusato Kodzutsumi & Kanpo no Yado - Heisei Gannendo-ban, The Playroom, Pocky 1-2 + Ponyon, Psychic Detective Series Final - Solitude Gekan (Demo), Psychic Detective Series Vol. 4 - Orgel (Demo), Zak McKracken and The Alien Mindbenders (HMB-218) [redump.org]
- gameboy:
Into the Blue, Retroid [Jonas Fischbach]
Death Planet [Mackerel Interactive]
Dangan GB [snorpung, nordloef] - gba: World Reborn (USA) [No-Intro]
- gbcolor:
Green Beret (prototype 1), Green Beret (prototype 2), Green Beret (prototype 3) [Kak, retroLEL]
Tyrannosaurus Tex (USA) [No-Intro] - megadriv:
Awesome Possum Kicks Dr. Machino's Butt! (USA, prototype, 19930712) [DrBizz]
Canon - The Legend of the New Gods, Clan of Heroes - Generals of the Yang Family, Custodian, Duke Nukem 3D (Piko reissue), Mega Noah's Ark 3D, Switchblade, Water Margin - A Tale of Clouds and Wind, Wisdom Tree Collection [No-Intro] - mtx_cart: MAGROM v1.00, MAGROM v1.02, MAGROM v1.03(SP), MAGROM v1.04, MAGROM v1.05, MAGROM v1.05a, MAGROM v2.00 [Martin Allcorn]
- mtx_hdd:
CP/M 54K, CP/M 59K, Hex-Train [Andy Key]
Fuzix OS [Alan Cox] - nes:
Exploding Fist (USA), Get'em Gary, More Glider, Nomolos - Storming the Catsle (v1.00), Quest Forge - By Order of Kings, Wùkōng Dòujù (China) [anonymous]
Uninvited (USA, prototype) [Forest of Illusion, Clarkzer0]
Tújí (Taiwan) [kazblox]
Baby Boomer (Korea) [MLX]
Multidude, Super Painter [RetroSouls] - pc98_cd:
Brandish 2 Renewal, Canaan - Yakusoku no Chi, Doom II for Windows 95, Ningen Konchuu - Nozoki, Shin'ou Densetsu Crystania DX, Uki Uki Island [redump.org]
X Girl [redump.org, cyo.the.vile] - snes: Corn Buster, Dorke & Ymp, Iron Commando, Legend (Piko reissue), Mr. Bloopy Saves the World, Super Noah's Ark 3D (Piko reissue), Super Thor Quest [No-Intro]
- spectrum_cass:
Exolon (bug fix), Exolon (Erbe), Horacio Esquiador, Smash TV (Erbe) [spectrumcomputing.co.uk]
Chess Nuts, Coin-It [Steven Brown, Planeta Sinclair]
Bomb Jack (Z Cobra), Bomb Jack II (MCM), Bomb Jack II (Zafi Chip) [worldofspectrum.org]
Inspector Gadget and the Circus of Fear, LSD Megademo, The Lyra II Megademo, The Ren and Stimpy Slideshow, Shock Megademo [ICEknight] - timex_cass: Byte Power (February 1988) [aralbrec]
Software list items promoted to working
- bbc_rom: SideAid128 1.03 [Nigel Barnes]
- gamegear: BreakThru! (prototype) [kmg]
- pc98_cd: Manji PSYyuuki [redump.org, r09]
New NOT_WORKING software list additions
- c64_cass: Scooby-Doo, Shadows of Mordor [The Ultimate Tape Archive Team]
- pc98_cd:
Ayumi-chan Monogatari, Ginga Eiyuu Densetsu IV, Master of Magic, NEC Demonstration CD-ROM - Evolution and Dinosaurs, Prince of Persia 2 - The Shadow & The Flame, Sorcer Kingdom, Strike Commander, Teitoku no Ketsudan III, Ultima VIII - Pagan, Umanari 1 Furlong Theater 2, Yumemizaka [redump.org]
Etemible - Tenjou Mukyuu [redump.org, coolmod]
Collector D [redmp.org, cyo.the.vile]
Merged pull requests
- 9311: 8080bw.cpp: Added color emulation for vortex. [Mike Coates, Ivan Vangelista]
- 9449: cpu/z80: Improved timing of M cycles; spectrum.cpp: Improved emulation of bus contention. [holub]
- 9605: osd/modules/input: Detect joystick reconnection with SDL. [Vas Crabb]
- 9614: sound/upd7759.cpp: Added support for switching between standalone and slave mode dynamically. [Wilbert Pol]
- 9615: formats/fs_coco_rsdos.cpp: Added logic to detect cycles in file granule (block) lists. [Nathan Woods]
- 9616: imagedev/floppy.cpp: Changed identify to take std::string_view rather than std::string. [Nathan Woods]
- 9617: nes.xml: Fixed a few more mirroring issues, and demoted strikwlf to unsupported. [kmg]
- 9618: bus/nes: Improved code for emulating several bootlegs. [kmg]
- 9621: apple2_flop_orig.xml, apple2_flop_clcracked.xml: Added a painstakingly recovered disk. [Matthew Eric D'Asaro, Firehawke]
- 9622: spectrum_cass.xml: Added one game and a couple of demos. [ICEknight]
- 9623: a2600.xml: Fixed publisher name and parent/clone relationships for Mystique games. [einstein95]
- 9624: 8080bw.cpp: Removed cocktail inputs from spaceat2 and sinvzen. [einstein95]
- 9625: osborne1.cpp: Changed floppy drives to single-sided double density (fixes MT08100). [theoldsport]
- 9626: cpu/mips: Mitigated performance impact of optional additional instruction checks. [Ryan Holtz]
- 9628: bus/nes: Improved emulation of Jaleco cartridges. [kmg]
- 9629: machine/z80scc.cpp: Reduced performance impact of emulating zero count interrupt. [Ryan Holtz]
- 9630: machine/i2cmem.cpp: Only acknowledge correct device ID. [Paul-Arnold]
- 9632: jpmsru.cpp: Improved emulation of JPM SRU fruit machines, making four games playable. [SomeRandomGuyIdk]
- 9633: xavix2.cpp: Implemented tile scaling. [MoochMcGee]
- 9637: spectrum48.cpp: Fix “floating” interrupt. [holub]
- 9640: spec128.cpp, specpls3.cpp: Added initial bus contention emulation for Spectrum 128+ models. [holub]
- 9641: bus/nes: Cleaned up code. [kmg]
- 9642: vigilant.cpp: Fixed sound ROM mapping for bowmen, allowing music to play correctly. [David Haywood]
- 9643: nes.xml: Changed tysonipp to use per-chip ROM dumps. [kmg]
- 9645: cpu/z80.cpp: Removed leaky abstraction from CPU core. [holub]
- 9646: neogeo.xml: Fixed copy/paste error in garouha serial number. [CanoeHope]
- 9647: bus/nes: Improved emulation of Camerica/Codemasters cartridge boards. [kmg]
- 9648: Added FIXME comments to badly behaved I²C target devices. [Paul-Arnold]
- 9649: tim011.cpp: Hooked up floppy drives properly and added floppy disk image format. [Miodrag Milanović]
- 9652: 4enlinea.cpp: Fixed game name for “unkdarts”. [ClawGrip]
- 9653: ksys573.cpp: Fixed alpha channel values in fightmn/pnchmn layout. [Windy Fairy]
- 9654: neogeo.xml: Fixed copy/paste error in kof2002 AES serial number. [CanoeHope]
- 9655: nes.xml: Explicitly set mirroring for more boards, and trimmed over-dumped ROMs. [kmg]
- 9658: nes.xml: Removed four bad dumps. [kmg]
- 9662: Fixed nl sub-target build. [Couriersud]
- 9666: famibox.xml: Updated comment about unverified dumps. [kmg]
- 9668: system1.cpp: Added lives and demo sounds DIP switches for shtngmst, and demo sounds DIP switch for ufosensi (MT08303). [kmg]
- 9670: spec128.cpp: Completed bus contention emulation for Spectrum 128 and +2 models, and improved emulation performance. [holub]
- 9671: ksys573.cpp: Removed comment about Dance Dance Revolution Kids, as it’s on a different platform. [simzy]
- 9675: 3rdparty/asmjit: Suppressed warnings with old versions of GCC. [Couriersud]
- 9676: osd/sdl: Prefer X11 video driver on Linux. [Belegdol]
- 9677: megadriv.xml: Added an Awesome Possum prototype. [DrBizz, kmg]
- 9679: nes.xml: Added eleven items, and removed some bad dump flags. [kmg]
- 9680: gba.xml: Added World Reborn (USA). [No-Intro, kmg]
- 9681: gbcolor.xml: Added Tyrannosaurus Tex (USA). [No-Intro, kmg]
- 9682: Fixed fallout from I²C changes. [Paul-Arnold]
- 9683: neogeo.xml: Fixed serial number for wh2h. [Abadede]
- 9684: netlist: Added an FAQ and cleaned up code. [Couriersud]
- 9686: bus/nes: Updated code and ROM dump for mc_mario. [kmg]
- 9687: vegas.cpp: Fixed reversed test mode DIP switch setting labels for sf2049te and sf2049se. [neSneSgB]
- 9688: megadriv.xml: Added compatibility information for region-locked items. [Chris Vowles]
- 9692: ibm5150.xml: Correctly marked some items as bootable PC disks or DOS software. [Allofich]
- 9694: machine/6850aica.cpp: Initialize receiver state on construction. [Miodrag Milanović]
- 9699: cps2.cpp: Added TOURNAMENT board communication simulation. [Vas Crabb, Darksoft, Gregory Lewandowski]
- 9701: megadriv.xml: Added missing SRAM to nbaliv98 (fixes MT07564). [kmg]
- 9705: gameboy.xml: Added four homebrew cartridges. [kmg]
- 9706: netlist: Replaced more macros with C++ constructs, and cleaned up code. [Couriersud]
- 9707: machine/netlist.cpp: Use templates to enable or disable CSV logging, reducing the chance of code rot. [Couriersud]
- 9708: netlist: Updated standalone makefile for more recent compilers, and cleaned up code. [Couriersud]
- 9709: Improved Japanese titles in various software lists. [kmg]
- 9710: ksys573.cpp: Improved game titles in comments and system descriptions. [simzy]
- 9711: ZX Spectrum drivers: Improved timing for screen and border updates, and simplified calculations. [holub]
- 9714: homedata.cpp: Added subtitle to description for reikaids. [Michael Sanborn]
- 9715: pc98_cd.xml: Added twenty items, and replaced eighteen items with better dumps. [redump.corg, cyo.the.vile, coolmod, r09]
- 9716: Added a working RC2014 card system. [Miodrag Milanović]
- 9718: cpu/mips: Added TimerIntDis multiplexer to IPEX5 for R4000. [Brice Onken]
- 9719: megadriv.xml: Trimmed pcottonp dump by half. [kmg]
- 9721: bus/ata/ata_hle.cpp: Fixed save state support for 8-bit mode. [Miodrag Milanović]
- 9722: rf51w14cg.cpp: Fixed checked-in CRLF line endings. [Couriersud]
- 9723: spectrum_cass.xml: Added nine items and cleaned up metadata. [ArcadeShadow]
- 9725: midwayic.cpp: Use logmacro.h for debug logging. [Ted Green]
- 9726: emu/diexec.cpp: Optionally resynchronize to the implicit clock domain on input clock frequency changes. [O. Galibert]
- 9727: Added a time command to the debugger for displaying the current elapsed session time. [Ted Green]
- 9728: specpls3_flop.xml, spectrum_cass.xml, timex_cass.xml: Reorganised items and added a few items. [ICEknight]
- 9730: atari400.cpp: Added 2-port version of Atari 5200, and fixed ANTIC memory size. [einstein95]
- 9731: netlist: Fix standalone nltool build with NVCC. [Couriersud]
- 9734: a2600.xml: Removed “Atari VCS Point-of-Purchase ROM” as it’s treated as a separate system. [einstein95]
- 9735: Added documentation for debugger time command. [Ted Green]
- 9737: c64_cass.xml: Added eight working items and two non-working items. [The Ultimate Tape Archive Team, Steven Coomber]
- 9740: vigilant.cpp: Corrected video timings. [jotego]
- 9741: vigilant.cpp: Changed comments to better match MAME style. [jotego]
- 9742: emu/dinetwork.cpp: Added MTU parameter, and removed unnecessary floating point calculations. [Ted Green]
- 9744: Added UDP multicast support to bitbanger device. [Ted Green]
- 9745: video/powervr2.cpp: Hooked up non-textured sprites, and fixed enable alpha bit handling. [Jennifer Taylor]
- 9747: machine/intelfsh.cpp: Fixed address mask for SST 39SF040. [Miodrag Milanović]
- 9748: slapfght.cpp: Hooked up flip screen output to MCU for alcon and slapfigh. [Vas Crabb]
- 9749: Reverted bitbanger UDP multicast support (GitHub #9744). [Vas Crabb]
- 9752: netlist: Improved platform support for PPMF and added unit tests (partially addresses GitHub #8590). [Couriersud]
- 9754: gbcolor.xml: Added Green Beret prototypes developed by Kak. [ICEknight]
- 9756: bus/vcs_ctrl: Fixed swapped paddle buttons (GitHub #9755). [kmg]
- 9758: dc.xml: Cleaned up metadata. [ArcadeShadow]
- 9759: Added additional RC2014 cards, and added system with CP/M upgrade. [Miodrag Milanović]
- 9763: snes.xml: Added seven items. [No-Into, kmg]
- 9764: Standardized titles of Mashin Eiyuuden Wataru games in all software lists. [kmg]
- 9766: nemesis.cpp: Changed coin inputs to use impulses in salamand and clones (MT08315). [kmg]
- 9767: Improved parsing of dotted version numbers in build scripts. [sairuk]
- 9768: Improved reset behaviour of RC2014 cards and fixed some implementation issues. [Miodrag Milanović]
- 9769: bfcobra.cpp: Fixed µPD7759 connections for brkball (confirmed with schematics). [Paul-Arnold]
- 9770: emu/emuopts.cpp: Fixed slot card selection being lost when card BIOS setting is changed. [Miodrag Milanović]
- 9771: cdi.xml: Added The Photo CD Book Companion CD-ROM. [David Silva]
- 9772: sound/upd7759.cpp: Fixed issues with switching between standalone and slave mode. [Wilbert Pol]
- 9773: netlist: Improved PPMF platform support and code generation; made plib::hash use fixed result size. [Couriersud]
- 9775: badlands_ms.cpp: Added missing PROMs. [ClawGrip]
- 9776: gsz80.cpp: Removed vestigial rc2014mini ROM definition. [Chris Swan]
- 9779: spdheat.cpp: Marked as having imperfect sound emulation due to missing filters and multi-channel output. [einstein95]
- 9781: 3rdparty/portmidi: Fixed Windows MIDI callback signatures (addresses GitHub #9200). [Devin Acker]
- 9783: ui/viewgfx.cpp: Added ability to restrict tiles to integer scale factors. [Vas Crabb]
- 9785: megadriv.xml: Added eight items. [No-Intro, kmg]
- 9786: fmtowns_cd.xml: Added seven new working items. [redump.org, r09]
- 9792: gamegear.xml: Added a ROM patch to make brkthru playable. [kmg]
- 9793: cpu/nec: Added support for EXT reg,imm4 and INS reg,imm4 instructions. [Wilbert Pol]
- 9794: netlist: Replaced more macros/helpers with C++ constructs, and added support for the cspell spelling checker. [Couriersud]
- 9796: Removed superfluous semicolons from various source files. [kmg]
- 9798: Corrected various Wonder Boy game title descriptions (MT08321). [kmg]
- 9812: bgfx: Honour texture wrap flag (fixes reel display for some fruit machines). [Vas Crabb]