Today’s the day for our mid-year MAME release. MAME 0.199 includes support for the incredibly elusive Spanish arcade title El Fin Del Tiempo, and the rare Pac-Man hack Titan. Other rare bootlegs added include Come-Cocos (derived from Ms. Pac-Man) and Gran Rally (a Spanish bootleg of Pole Position II).
There are some pretty big improvements to Tatsumi games (Apache 3, Cycle Warriors, Round Up 5), some NMK mahjong games work substantially better (Urashima Mahjong, Mahjong Daireikai, Mahjong Channel Zoom In), and Big Run looks better than ever. War: The Final Assault no longer crashes thanks to a fix in Voodoo emulation.
Floppy drive emulation has been further improved, and a fairly major issue with Apple IIgs and Mac 3.5" drives has been fixed. Sound Blaster direct DAC mode is now supported. Improved Dreamcast GD-ROM emulation allows Daytona USA 2001 to boot. The HP 9000/300 series can now boot from floppy, and the medium-resolution colour graphics option is supported. Tiger Electronics fans can enjoy Battle Arena Toshinden for R-Zone.
Of course we’ve also added more alternate versions of supported systems, software list updates, bug fixes, and internal improvements. You can get source and Windows binaries from the download page.
MAMETesters Bugs Fixed
- 06980: [Save/Restore] (spec128.cpp) specpls3: Unable to save state (regression). (AJR)
- 06983: [Sound] (mtouchxl.cpp) mtchxl6k (possibly others): All sounds play too fast. (Carl)
- 06984: [Graphics] (esd16.cpp) jumppop, jumppope: Missing graphics in first stage. (AJR)
- 06988: [Crash/Freeze] (kinst.cpp) kinst: Hangs during Attract Mode, noticeable when a fight loads. (Ivan Vangelista)
- 06989: [Sound] (champbas.cpp) champbb2j: AY-3-8910 sound is completely missing (Vas Crabb)
- 06992: [DIP/Input] (hornet.cpp) sscope and clones: Analog inputs do not function. (Ted Green)
- 07006: [Media Support] (at.cpp) atvga, at386, at486: [possible] Unable load Floppy Diskettes. (Carl)
- 07007: [Sound] (renegade.cpp) renegade, kuniokun: BGM stops playing after a while. (AJR)
- 07010: [DIP/Input] (missile.cpp) missile and clones: DIP switch trackball size large/mini labels reversed. (Tafoid)
- 07017: [Sound] (galaxian.cpp) kingball, kingballj: King’s voice is not played correctly. (Ivan Vangelista)
- 07020: [DIP/Input] (lwings.cpp) trojan and clones: DIP switches incorrectly numbered, and info on unused DIP switches. (Tafoid)
- El Fin Del Tiempo [Esther Barranco, ARPA, Juegos 2.0, Recreativas.org, Roberto Fresca, The Dumping Union]
- Geneve 9640 Mod [Michael Zapf]
- Megatouch 7 Encore Edition (9255-90-01 R00, Standard version) [Brian Troha, The Dumping Union]
- Player's Edge Plus (X000827S+XS000002) Red, White & Blue Slots [Brian Troha]
- Player's Edge Plus (X002149P+XP000038) Triple Bonus Poker [Brian Troha]
- R-Zone: Battle Arena Toshinden [hap, Sean Riddle]
- Apple //e (Spain) [AJR]
- Bubble Memories: The Story Of Bubble Bobble III (Ver 2.5A 1996/02/21) [Arnaldo Abrantes, Pascal Costa]
- Come-Cocos (Ms. Pac-Man) (Cocamatic bootleg) [Darksoft]
- Galaxy Wars II (Defender bootleg) [Juan Romero, Recreativas.org, The Dumping Union]
- Ghost Pilots (prototype) [Brian Hargrove]
- Golden Tee Golf (Joystick, v3.3) [hammy, The Dumping Union]
- Gran Rally (Spanish bootleg of Pole Position II) [Jordi Beltran Casany, Recreativas.org, The Dumping Union]
- Hat Trick Hero '95 (Ver 2.6Asia 1994/11/17) [Artemio Urbina, The Dumping Union]
- Hidden Catch (World) / Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.02) [hammy, The Dumping Union]
- Jump Coaster (World) [ShouTime, The Dumping Union]
- Knights of Valour 2 Plus - Nine Dragons / Sanguo Zhan Ji 2 Qunxiong Zhengba / Sanguo Zhan Ji 2 Feilong Zai Tian / Sangoku Senki Busyou Souha (ver. M200XX, 200, 100CN) [300wins, Bill D., The Dumping Union]
- Metal Slug 3 (NGM-2560, earlier) [Razoola]
- Player's Edge Plus (PP0472) Deuces Wild Poker [Brian Troha]
- Player's Edge Plus (X000057P+XP000038) Deuces Wild Poker (Stratosphere Players Club) [Kemel Haidar, Brian Troha]
- Raiden Fighters (US, newer) [Arzeno Fabrice, The Dumping Union]
- Strikers 1945 (World, unprotected) [Blackfish, brizzo, rtw]
- Titan (Pac-Man hack) [Craig Anstett, CraftyMech]
- Viper Phase 1 (New Version, Germany) [Arzeno Fabrice, The Dumping Union]
- War Mission (WM 4/6/87) [Jordi Beltran Casany, Recreativas.org, ArcadeHacker, David Haywood]
- Head On (Sidam bootleg, set 2) [Angelo Salese]
- Head On 2 (Sidam bootleg) [Angelo Salese]
- Hikaru Check ROM Board [coolmod]
- Mad Dog II: The Lost Gold (3DO hardware) [incog, The Dumping Union]
- Olympia Olytext 20 [Robbbert]
- Shootout at Old Tucson (3DO hardware) [incog, The Dumping Union]
- Visual 550 [Al Kossow]
- Air Hockey (6.12?, encrypted) [unknown]
- ALG 3DO Bios [Mr Invader]
- Donkey Kong Banana Kingdom (satellite) [Will Richardson, Bill D, The Dumping Union]
- Ferrari F355 Challenge (twin/deluxe, prototype) [coolmod]
- Power Stone 2 (bootleg) [Arzeno Fabrice, rtw]
- Puyo Pop Fever (World) (GDS-0034) [Arzeno Fabrice, rtw]
- Stakes Winner / Stakes Winner - GI Kinzen Seiha e no Michi (early development board) [ResO]
- The Bally Game Show (LG-6) Germany [PinMAME]
- The Bally Game Show (LU-3) Europe [PinMAME]
- The Key Of Avalon - The Wizard Master (client) (Rev C) (GDT-0006C) [rtw, ShouTime]
- The Key Of Avalon 2.5 - War of the Key (client) (Rev A) (GDT-0019A) [rtw, ShouTime]
- The Key Of Avalon 2.5 - War of the Key (server) (Rev A) (GDT-0018A) [rtw, ShouTime]
- hp9k3xx_flop: 300 series Mainframe Tests, 300 series Terminal Emulator, AMS Utilities for 200/300 series, BASIC 4.0 Compiler, BASIC 5.0 Compiler, CS/80 Exerciser, Digital Filter Design, HP BASIC 4.0, HP BASIC 5.1, HP BASIC 6.4, HP Museum Basic 5 Boot Disc, HP Pascal 3.22, HP-UX 5.1, Interactive Test Generator, Techwriter, Texteditor for 200/300 series, Wordwise 300 [Sven Schnelle]
DR DOS 6.0 (French), DR DOS 6.0 Business Update (French, 3.5"), DR DOS 6.0 Business Update (French, 5.25") [breiztiger]
PC Games #3, Spontaneous Assembly (Version 2.0) [Foone Turing]
- ibm5170: Excel (Version 2.10) [darksabre76]
Ghost Pilots (prototype) [Brian Hargrove]
Metal Slug 3 (NGM-2560, earlier) [Razoola]
- pc98: 2601 - Teikoku Kidoubutai no Koubou, 3tsu no Negai, 714 MIDI Jr., 714 MIDI Special, 88 Kantai Monogatari, 98 Eiwa Jiten, 98 Stadium, 98 Stadium 2 - Shouko no Chousen, PC-9801N/NS/NV Teiban Free Software Shuu - 98NOTE no Hissu Aminosan [Neo Kobe Collection]
- sorcerer_cass: Checkers, Cross-Up, How The West Was Won, Lazer Fire, Mine Field, Nuclear Reaction, Pie Lob [Robbbert]
- squale_cart: The Squale Intro [Jean-François DEL NERO / HxC2001]
- pc98: 0x0F exp.3, 177, The 4th Unit 2 [Carl, r09]
- ibm5170_cdrom: Jaxis (Japan) [SpinalFeyd]
- neogeo: Stakes Winner / Stakes Winner - GI Kinzen Seiha e no Michi (early development board) [ResO]
• esb: Fixed ROM loading bug. [AJR]
• taito_b.cpp: Identified TC0180VCU as source of interrupts and converted to callbacks (timing is still guesswork). [AJR]
• keytronic_pc3270: Corrected INT0 line polarity – fixes keyboard error on tosh1000. [AJR]
• exidy.cpp, victory.cpp: Fully encapsulated audio devices. [AJR]
• atetrisb3: Hooked up microcontroller to get working sound. [AJR]
• i8275 DMA refinements: [AJR]
* Exclude FIFO characters from counting towards filling character buffer.
* Extend DMA up to one character past an “end of DMA” control code.
• wicat: Reduced video glitches with more sensible interrupt handling. [AJR]
• balsente.cpp: Split NVRAM between two X2212 devices. [AJR]
• jedi: Moderate driver overhaul: [AJR]
* Split NVRAM between two 4-bit X2212 devices.
* Guarantee an invalid checksum when default NVRAM data is used (so that the manufacturer’s high scores will be installed).
* Modernized sound latches.
* Use WSQ handler to drive TMS5220.
• vta2000: Added speaker sound. [AJR]
• balsente.cpp: Use ACIA devices for sound communication. [AJR]
• x2212: Removed memory interface and cleaned up code. [AJR]
• tms9928a: Exposed internal palette using device_palette_interface. [AJR]
• dynax.cpp: Encapsulated “Rev. 2” blitter as a device. [AJR]
• cidx628: Made this display something again. [AJR]
• tatsumi.cpp improvements: [Angelo Salese]
* Removed an ugly kludge in Round Up 5, fixing soft resets.
* Added vertical text scrolling to Round Up 5.
* Fixed Apache 3 out-of-bounds colors for sprites (trees and buildings).
* Fixed Round Up 5 video priority on map screen after a play.
* Added background bitmap layers to Round Up 5.
* Improved road clipping for Round Up 5.
* Make Cycle Warriors sub CPU not stall on soft reset.
* Added row/column scroll register select for Cycle Warriors and Big Fight.
* Added shadow sprites to Cycle Warriors and Big Fight.
* Inverted Oki status for Cycle Warriors and Big Fight – fixes “we got ’em” sample playback in the former.
* Implemented per-tile high priority and opacity enable bits for Cycle Warriors and Big Fight – fixes several glitches.
* Fixed color banks for Cycle Warriors and Big Fight – fixes fade in/out effects and CRT test colors.
* Applied page wraparound for backgrounds – fixes various glitches in Big Fight and Cycle Warriors.
* Invert shadow product when a specific register is enabled (used by Big Fight to simulate disco strobe lights).
• ninjakd2.cpp: Attempted to fix bullets not shot by enemies in Omega Fighter. [Angelo Salese]
• taitosj.cpp: Added input buttons mode to kikstart. [Angelo Salese]
• trucocl.cpp: Allowed multiple coin insertions. [Angelo Salese]
• cischeat.cpp improvements: [Angelo Salese]
* Fixed road/sprite priorities and long-standing road colors regression in Big Run.
* Hand-tuned sound frequencies to match reference for Big Run.
* Hooked up sprite DMA to Wild Pilot – fixes flickering.
* Added backup RAM to Captain Flag.
• ms1_tmap.cpp: Initialize VRAM to sane default – fixes ugly back pen showing up in Big Run. [Angelo Salese]
• jalmah.cpp improvements: [Angelo Salese]
* Re-wrote video emulation using Mega System 1 tilemap devices.
* Fixed Urashima Mahjong video priority during gameplay (score display and calls).
* Emulated video scrolling partial updates for Urashima Mahjong – fixes winning animations.
* Fixed color protection in Urashima Mahjong (girls and test mode).
* Wrote a preliminary snippet for sound banking in Urashima Mahjong/Mahjong Channel Zoom In/Mahjong Daireikai.
• cyclemb.cpp: Bumped sprite size in Cycle Maabou, fixed some missing sprites (for example in how to play screen). [Angelo Salese]
• Added AppVeyor build configuration. [balrog]
• Added support for building on riscv64, and made m68000 makefile respect the VERBOSE build option. [Belegdol]
• senjyo.cpp: Simplified starforc background color swap. [cam900]
• seta.cpp: Simplified tilemaps and banking, and added output finders. [cam900]
• ms32.cpp: Identified CPU types, fixed audio CPU clock. [cam900]
• fmtowns.cpp: Fixed speaker output level. [cam900]
• vis.cpp: Fixed sample rate divider. [cam900]
• megaplay.cpp: Added notes and flagged imperfect graphics as overlay bitmap is scaled incorrectly. [cam900]
• cybertnk.cpp: Reduced code duplication and runtime tagmap lookups, fixed sound output, and added notes. [cam900]
• rltennis.cpp: Converted to object finders. [cam900]
• sf.cpp, ninjakd2.cpp: Reduced code duplication and runtime tagmap lookups. [cam900]
• dreamwld.cpp: Documented microcontroller and fixed microcontroller ROM region size. [cam900]
• williams.cpp cleaup: [cam900]
* Reduced runtime tagmap lookups, improved tags, and reduced code duplication.
* Added input_merger for interrupts and output_finder for outputs.
* Converted palette to device.
• m92.cpp updates/cleanup: [cam900]
* Reduced code duplication and runtime tagmap lookups, and split up machine configuration and address maps.
* Made EEPROM save/load using NVRAM device.
• neogeo.cpp: Add notes and fixed metadata for kof2003. [cam900]
• powerins.cpp cleanup: [cam900]
* Reduced code duplication and runtime tagmap lookups
* Cleaned up ROM loading.
* Converted vertical blanking interrupt to screen vblank callback.
• 20pacgal.cpp cleanup: [cam900]
* Converted palette to device.
* Reduced runtime tagmap lookups and deferred allocation to start time.
* Restricted drawing to clipping rectangle.
• ddragon.cpp cleanup: [cam900]
* Replaced runtime tagmap lookups with object finders.
* Converted darktowr bank switching to address_map_bank_device.
* Fixed ADPCM ROM mapping.
• pgmprot_igs027a_type2.cpp: Fixed martmast metadata. [cam900]
• alpha68k.cpp: Reduce runtime tagmap lookups, made tags more meaningful, and improved banking. [cam900]
• shangha3.cpp: Cleaned up Oki banking. [cam900]
• snk.cpp: Reduced runtime tagmap lookups, and separated countryc machine configuration/address map. [cam900]
• Added a Discord presence plugin. [Carl]
• witch.cpp: Attempted to fix garbage graphics after a bonus stage in Keirin Ou. [David Haywood]
• Made floppy emulation more robust, and improved bitstream handling. [John Keoni Morris, Peter Ferrie, O. Galibert]
• markham.cpp updates: [kazblox]
* Improved banbam protection simulation – still imperfect, but all graphics are correct and game doesn’t crash.
* Marked microcontroller program as good dump based on observations and Phil Bennett’s comments.
• PlayStation GPU: Added missing primitives. [krom]
• buggychl.cpp: Changed microcontroller clock speed to 3 MHz as shown on schematics, and added notes. [Lord Nightmare]
• TMS5220 updates: [Lord Nightmare]
* Removed unused time_to_ready and cycles_to_ready functions.
* Fixed race condition with m_buffer_low and m_buffer_empty flags not being updated before setting interrupt state.
* Fixed issue where Speak VSM command produces endless silence with no VSM connected.
* Suppressed side effects on debugger reads.
* Fixed conditions for asserting ready signal, and zero FIFO at appropriate times.
• Apple II: Re-implemented Echo II read/write flags and write latch based on hardware tracing. [Lord Nightmare, Tony Diaz]
• alien.cpp: Added hand-made boot ROMs for Pingu's Ice Block, and documented known games. [MetalliC]
• geneve: Added BIOS options for selecting boot ROM, and made genmod a separate machine. [Michael Zapf]
• upd765: Clear ST1.ND on ID scan failure, implemented head load delay, and improved logging. [Michael Zapf]
• debugger: Added command for go_exception, and made save/load aware of address translation. [Patrick Mackinlay]
• sonydriv: Fixed issues with the 3.5" drive reporting disk switches on Apple IIgs and Mac drivers. [R. Belmont]
• zaurus.cpp: Converted to new PXA255 peripheral device interface. [Robbbert]
• apc: Reduced runtime tagmap lookups. [Ryan Holtz]
• kbdc8042: Added rudimentary PS/2 mouse support. [Ryan Holtz]
• indy_indigo2: Added mouse cursor support to Newport graphics emulation. [Ryan Holtz]
• 39in1: Split Intel XScale PXA255 peripherals into a separate device. [Ryan Holtz]
• mips3: Added disassembler for Emotion Engine core opcodes. [Ryan Holtz]
• vgmplay: Added playback controls and activity indicators. [Ryan Holtz, Tafoid, Vas Crabb]
• sblaster: Implemented direct DAC mode – successfully tested in Scream Tracker 2.2. [shattered]
• ec1841: Added mouse emulation (Logitech bus mouse protocol). [shattered]
• Dreamcast: Made GD_LEND return bytes transferred by DMA rather than bytes remaining – allows Daytona USA 2001 to boot. [snickerbockers]
• Added HP98543 medium-resolution color graphics card emulation. [Sven Schnelle]
• hp9k_3xx improvements: [Sven Schnelle]
* Fixed keyboard microcontroller part number.
* Removed BASIC ROM cards from the default configuration as booting from floppy works now.
* Hooked up NMI line to keyboard controller.
* Split out common machine configuration.
• Added HP9122 floppy drive emulation. [Sven Schnelle]
• m68000: Fixed carry flag in divs instruction, and fixed pack instructions. [Sven Schnelle]
• 6840ptm: Fixed divide-by-8 mode. [Sven Schnelle]
• topcat: Improved window mover and fixed cursor handling bugs. [Sven Schnelle]
* Allows Pascal and other software to show something after boot on hp9k_3xx.
• voodoo: Reinstated texture address masking – fixes segmentation fault in warfa. [Ted Green]
• hornet: Added separate DIP switch settings for gradius4 – allows gun to work with default settings in terabrst and sscope. [Ted Green]
• Updated DCS audio to get sf2049 closer to working. [Ted Green]
• Made ROM BIOS macros more intuitive to use, and added a validity check for unselectable BIOS ROMs. [Vas Crabb]
• Machine configuration improvements: [Vas Crabb]
* Reduced code duplication in addrmap.h and added support for object finders in more places in memory maps.
* Allowed implicit references to owner device in address maps.
* Improved syntax for specifying address maps and screen update functions in machine configuration without macros.
* Reduced overloading of member function names – it’s less practical without macro helpers selecting desired overload.
* Consider floating point epsilon when validating crystal values.
• Cleaned up bulk refactoring of output code. [Wilbert Pol]
• asteroid.cpp: Documented Asteroid Deluxe Revision 3 changes, and corrected Difficulty DIP switch settings. [Brian Troha]
• naomi.cpp: Added an alternate Ferrari F355 Challenge 2 program ROM dump. [coolmod]
• polepos.cpp: Dumped the missing PROMs for grally and confirmed they match the ones from the other bootlegs. [Jordi Beltran Casany, Recreativas.org, The Dumping Union]
• bking.cpp: Updated ROM labels for bking2. [Kevin Eshbach, The Dumping Union]
• pc98 software list updates: [r09]
* Re-tested software with current MAME.
* Corrected titles and re-labeled disks with their actual names.
* Added usage notes for software that needs DOS.
* Removed user disks from games where they aren’t included in the original box, and the user is expected to create them.
* Removed floppies for CD games that already exist in the CD software list.
* Removed notes stating that the FDD format is not supported, as this is no longer true.
• neogeo.cpp: Added Japan NEO-MVH MV1C BIOS. [Razoola]
• alien.cpp: Re-dumped Pingu's Ice Block CompactFlash card. [ShouTime, Dane Biegert, The Dumping Union]