Release Date

MAME 0.195 was released on 28 February 2018.


MAMETesters Bugs Fixed


Machine Support

New working machines


New working clones


Machines promoted to working


Clones promoted to working


New machines marked as MACHINE_NOT_WORKING


New clones marked as MACHINE_NOT_WORKING


Notable new WORKING software list additions


Software list items promoted to working


Notable new NOT_WORKING software list additions


Translations added or modified


Contributions

The known contributions for this version are, in the order specified in the whatsnew:

  • AJR updated the tms9927 device: Fixed excessive sync width after recomputing parameters during sync.
  • AJR updated ponpoko, hcastle, sonson: Changed to 4-way joysticks.
  • AJR fixed flip screen rendering of DECO MXC06 sprites.
  • AJR added some internal peripheral block registers to 80186 debug state.
  • AJR fixed ASCII dump output for big-endian spaces.
  • AJR updated the i960 core: Fixed disassembly of REG instructions.
  • AJR updated the deco146/deco104 devices: Synchronize soundlatch writes - fixes dropouts in dblewing.
  • AJR updated decocass.cpp: Inverted sprite/sprite priority - seems to help coozumou.
  • AJR updated the com8116 device: Added several clock rate/divider table variant types.
  • AJR updated the saturn and sfish2 drivers: Encapsulated existing CD-ROM emulation as device.
  • AJR set up heavily mirrored memory ranges with subunit masks (e.g. orunners) much more efficiently.
  • AJR created RST interrupt buffer device.
  • AJR updated the ym2203 device: Made interrupt output use an instant timer, preventing synchronization glitches.
  • AJR updated the msm6242 device: De-assert interrupt output when the IRQ flag is cleared.
  • AJR updated the 6840ptm device: Stop defaulting external clocks to 1 Hz.
  • AJR registered device callbacks and added some basic validation for them.
  • AJR updated unidasm: Corrected endianness of m6800, m6805 and other Motorola-type CPUs.
  • AJR updated the cdicdic device: Made DMA handling safer.
  • AJR updated the z8 core: Made address spaces big-endian.
  • AJR updated the hd63484 device: Added external skew kludge to prevent display cutoff in kothello.
  • Angelo Salese updated photoply.cpp: Added Cirrus Logic GD5446 VGA PCI device - now shows legacy BIOS error.
  • Angelo Salese provided namcona1.cpp updates:
    • Fixed soft reset hangs.
    • Improved encapsulation.
    • Fixed status bar colors for VS Express event in Numan Athletics.
    • Fixed video disable graphic transitions.
    • Added dynamic screen visible area change effect (used mostly by Numan Athletics on transitions).
    • Fixed bogus palette transfers for xday2.
    • Fixed horizontal scroll adjust and background color pen (improves X-Day 2 video).
    • Added MSM6242 RTC and fixed EEPROM type for X-Day 2.
  • Angelo Salese updated pc6001.cpp: Major encapsulation clean-ups.
  • Angelo Salese updated gkigt.cpp: Made some improvements to make most games to boot up to display CMOS error.
  • Angelo Salese updated i960.cpp: Added support for burst mode stalling save and restore.
    • Fixes stalls in several Sega Model 2 games.
  • Angelo Salese updated badlandsbl.cpp: Added preliminary sprite drawing.
  • Angelo Salese updated buster.cpp: Preliminary work to make it actually show something.
  • Angelo Salese updated model2.cpp: Added 30 Hz renderer mode - fixes Virtua Striker timings.
  • cam900 and R. Belmont updated the taito_en device: Hooked up ES5510 effects DSP.
  • cam900 updated vamphalf.cpp: Converted OKI map to configured banking and implemented OKI bank switching for Diet Family.
  • cam900 updated the vgmplay driver: Added K051649 support, and added clock change support to K051649.
  • cam900 updated darkseal.cpp: Corrected PF1 size to 64x64 and removed audio CPU interrupt hold line hack.
  • cam900 updated dec8.cpp: Corrected CPU types, eliminated many runtime tagmap lookups, and reduced code duplication.
  • cam900 updated deco32.cpp: Templated handlers to reduce duplication, improved naming, and eliminated unnecessary shares.
  • cam900 updated rohga.cpp: Cleaned up I/O and protection handling, reduced code duplication, and updated comments.
  • cam900 updated itech32.cpp: Hooked up stereo audio output for Time Killers and Driver's Edge.
  • cam900 updated the st0016 device: Made ROM region tag configurable, and improved CPU tags in jclub2.cpp and srmp5.cpp.
  • cam900 updated simple_st0016.cpp, speglsht.cpp, srmp5.cpp: Cleaned up banking code and reduced runtime tagmap lookups.
  • cam900 updated the x1_010 device: Improved naming of member variables/functions.
  • cam900 updated seta.cpp: Converted expanded 6502 ROM to configured banking.
  • cam900 updated cbuster.cpp: Cleaned up and converted to buffered sprite RAM device.
  • cam900 updated gaiden.cpp: Cleanup and fixes:
    • Reduced code duplication using templates and object finder arrays.
    • Split wildfang and raiga machine configuration/address map.
    • Fixed raiga hang on soft reset.
  • cam900 updated nmk16.cpp: Reduced code duplication, converted to configured banking, and updated notes.
    • Also verified OKI bank switching for vandykeb and atombjt, and corrected OKI clock for vandykeb.
  • cam900 updated taito_f2.cpp: Fixed palette format for games using 15-bit colour.
  • cam900 updated the okim9810 device: Corrected sample rate divider table, added support for clock changes, and implemented DADR and serial interface.
  • cam900 updated ninjaw.cpp, warriorb.cpp: Reduced code duplication using templates and object array finders, and reduced tagmap lookups.
    • Also identified warriorb sound chip as YM2610B, and demoted sagaia and darius2d to imperfect sound due to SSG issues.
  • cam900 updated the ymz280b device: Converted memory access to device_rom_interface.
  • cam900 updated firebeat.cpp: Reduced code duplication and split memory maps according to the number of GCU chips on PCB.
  • cam900 updated the ymf271 device: Implemented four-channel output and converted memory access to device_rom_interface.
    • bnstars.cpp: Cleaned up bank switching.
    • ms32.cpp: Cleaned up bank switching and enabled stereo output.
    • seibuspi.cpp: Cleaned up bank switching and changed single-board systems to mono output.
  • cam900 updated taito_l.cpp: Converted VRAM banks to address_map_bank_device and reduced code duplication.
  • cam900 provided deco_mlc.cpp updates and improvements:
    • Cleaned up duplicated and unused code, improved interrupt hookup, updated notes, and corrected regions and versions.
    • Implemented 8bpp+alpha sprite drawing mode, and implemented alpha/shadow select bits.
  • cam900 updated zn.cpp: Cleaned up duplicated and unused code, converted nbajamex banking to address_map_bank_device, moved bank configuration from reset to start time, and identified beastrzrb CPU type and sound chip.
  • cam900 updated cave.cpp: Reduced code duplication with templates and object array finders.
  • cam900 updated seta.cpp: Reduced code duplication, and made data arrays dynamically allocated at start time.
  • cam900 updated sandscrp.cpp: Improved sprite-tile priority, and cleaned up duplicated code.
  • cam900 updated jchan.cpp: Improved sprite-tile priority, verified background pen, and cleaned up duplicated code.
  • Carl added AM9519 UIC device.
  • David Haywoodupdated vii.cpp: Added I/O for skateboarder, and promoted to working with bad graphics/no sound; also modernised the code a bit.
  • David Haywood added preliminary XaviX driver:
    • Created derived 6502 type with far call/return instructions and banked data memory.
    • Implemented graphics, including sprites, and packed 7bpp tiles - Monster Truck track outline and test mode work.
    • Implemented multiplier chip.
  • David Shah updated nes_vt.cpp: Fixes and improvements:
    • Added support for VTxx systems with scrambled instructions (FC Pocket, DGUN2573).
    • Added support for Family Pocket, and more FC Pocket games.
    • Added support for VTxx scrambled banking (thanks NewRisingSun for help).
    • Improved PPU colour palette using reference code from NewRisingSun.
    • Fixed scanline interrupts and PPU data reads.
  • Dirk Best updated asteroid.cpp, namcos1.cpp: Use LS153 device for DIP switches.
  • Dirk Best updated amiga.cpp, cubo.cpp, ssv.cpp, unixpc.cpp: Fixed address map order after semantic change.
  • Dirk Best updated gkigt.cpp: Added QUARTs and serial ports to machine configuration, but commented out handlers in memory maps.
  • Dirk Best updated hamboy: Patched PIC ROM to reduce timer delay, and stared fixing DIP switches.
  • helwie44 updated alphatpx.cpp: Fixed P2 drive ready and added missing <> key.
  • Judge converted many configuration helpers to non-static member functions.
  • Julian Sikorski allowed building with system-wide utf8proc, PortAudio, ASIO, GLM and RapidJSON.
  • Justin Kerk fixed issue linking Emscripten build with certain single-driver configurations (e.g. spectrum.cpp).
  • MASH updated exterm.cpp, raiden2.cpp: Updated memory map order for new semantics.
  • Michael Zapf updated the v9938 device: Improved logging options with logmacro.
  • Naibo improved Stepping Stage driver and added support for recently-dumped VJDash set:
    • Added fundamental communication between main 68000 and (undumped) Windows PC.
    • Figured out logic for how CPU uploads data to unknown device (possibly FPGA on unknown board).
    • Discovered vertical blank frequency of four logical screens - affects communication/synchronization of 68k CPUs.
    • Added proper foreground layer handling (stepstag borrows foreground graphics from vjdash for now).
    • Separated palette and graphics decoding for three screens, and added independent decoding/drawing routine for third screen.
    • Corrected sprite ROM loading for step3.
    • Mapped dancing floor, spot, neon, and key lamp/LED outputs based on footage of real machine.
    • Corrected NVRAM handling.
    • Adjusted default input mapping to avoid key conflicts.
    • Identified graphics ROMs for vjdash foreground/background/ROZ layers.
  • Nigel Barnes updated the electron driver: Added a number of cartridge devices.
    • P.R.E.S. Advanced Plus 3/4, Advanced Quarter Meg Ram, Cumana Floppy Disk System, Sound Expansion, Sound Expansion v3, Stop Press 64, Solidisk EFS.
  • O. Galibert changed memory map behaviour to "last entry wins".
    • Allows more natural "import and patch" and "cover a region then punch holes" structures.
  • O. Galibert updated the m6502 core: Fixed tracing and breakpoints for paged variants.
  • O. Galibert made memory maps member functions of owner class.
  • O. Galibert added disassembler for VM Labs Aries VLIW processor (used in NUON DVD players).
  • Patrick Mackinlay updated the interpro driver: Improved graphics emulation - basic bit blit and line drawing work well enough for now.
  • Peter Bortas and Edstrom added preliminary ABC CAD pointing device/high-resolution graphics add-on device for Luxor ABC 80.
  • R.Belmont added kzaurus driver:
    • Implemented interrupts, inputs and sound - passes POST.
    • Fixed layer priority and added 55555 gradient background.
    • Improved visible area and layer alignment, and hooked up scroll register readback.
  • Robbbert updated kingpin.cpp: Added memory map for dealracl.
  • shattered provided i8275 improvements and fixes:
    • Handle invisible field attributes and "end of row - stop DMA" special code better.
    • Honor Video Enable bit.
    • Made Preset Counters command useful.
  • shattered updated the agat7 driver: Added serial/parallel interface card, hard-coded to Agat-Author configuration for now.
  • smf updated the Popeye/Sky Skipper improvements:
    • Reverted "Popeye (bootleg set 1)" to 0.33b6 names and contents. Tile ROM in recently-dumped "Popeye (bootleg set 2)" matches old tile ROM, so that dump was probably correct.
    • Popeye: Moved Copyright from DIP switches to machine configuration - schematics show they are resistors.
    • Sky Skipper: Added difficulty DIP switches.
    • Popeye: Fixed background alignment and test mode background in TPP2 sets.
    • Converted configuration/handlers to virtual methods.
    • Removed protection device from systems that lack it.
    • Popeye: Added sprite RAM, background scroll and palette buffering.
    • Popeye: Unmapped $8000 to $87ff for TPP2 as 7f is not populated.
    • Popeye: Latch NMI disable from A9 on falling edge of RFSH.
  • smf updated Donkey Kong/Donkey Kong Jr: Hooked up undocumented service switch and undumped diagnostic ROM.
  • smf updated the dDebugger: Fixed F10 step over for instructions with a branch delay slot.
  • smf updated ti85.cpp: Re-implemented IPL disable for Flash-based models.
  • smf updated the z80 core: Changed refresh callback to write8.
  • Tim Lindner provided CoCo cartridge improvements:
    • Added support for the Color Computer MultiPak slot switch.
    • Fleshed out serial expansion cards to support actual input and output.
    • Added some compatible CoCo cartridges to the Dragon driver.
  • Vas Crabb updated the x1 driver: Converted I/O to memory maps and address map bank devices.
  • Vas Crabb improved encapsulation of a number of drivers.
    • cyberbal.cpp: Untangled the dual-screen and single-screen versions - there are substantial hardware differences.
    • tvboy.cpp: Untangled from a2600 cartridge slot, replaced unnecessary bankdev with ROM bank, and fixed save states.
    • vectrex.cpp: Partially untangled console and arcade variants from each other.
    • Untangled ladybug and redclash from each other, and converted common video arrangements to devices.
  • Vas Crabb added support for multiple patterns and devices to -listfull verb.
  • Al Kossow updated the vt100ac driver: Redumped bad ROM.
  • Bad A. Billy updated toratora.cpp: Fixed DIP switch descriptions and locations according to manual.
  • Brian Troha updated leland.cpp: Corrected many ROM names.
  • Brian Troha updated littlerb.cpp: Added PCB layout for Little Robin.
  • caius updated midvunit.cpp: Confirmed Cruis'n USA PAL dumps are bad.
  • Caps0ff and EdHunter decapped and dumped PIC16F84 for Shizhan Ding Huang Maque (Version 4.1).
  • Ed Cross updated galaxold.cpp: Verified PROMs for drivfrcsg.
  • f205v updated wallc.cpp: Updated wallca crystal frequency according to PCB picture.
  • Guru updated midvunit.cpp: Noted labels for Cruis'n USA PAL2.
  • Guru updated namcos23.cpp: Redumped timecrs2v2b main CPU program ROMs.
  • Guru updated plus4.cpp: Corrected kernal location for plus4p set.
  • incog updated the wireless driver: Fixed Flash size.
  • Julian Lachniet updated ti85.cpp: Improved naming of Flash-based calculators based on boot codes.
  • Roberto Fresca updated Magic Card II: Documented the modified Mexican Rockwell R65C02 CPU.
  • sjy96525 corrected years for Cyber Troopers Virtual-On, Racing Jam Chapter 2, Rail Chase 2 and San Francisco Rush 2049: Tournament Edition.
  • undamned updated taito_f3.cpp: Added PAL dump to kirameki.