Release Date

MAME 0.200 was released on 25 July 2018.

MAMETesters Bugs Fixed

Machine Support

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions


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

  • AJR standardized order of "On"/"Off" items in UI menus with "On" consistently to the right of "Off".
  • AJR updated the x68000 driver: Compute refresh rates from CRTC parameters and known crystal values.
  • AJR eliminated "Atari VG EAROM" in favor of newer ER2055 device.
  • AJR updated the z8 core: Added dump of pre-programmed Z8671 MCU with BASIC/DEBUG interpreter.
  • AJR updated the x68000 driver: Separated VINAS/VICON CRTC device.
    • Angelo Salese updated cischeat.cpp: Improvements:
    • Reworked interrupt generation, and fixed attract mode de-synchronization in Big Run.
    • Fixed Grand Prix Star stuck tyre sprite in attract mode.
  • Angelo Salese updated ironhors.cpp: Changed Iron Horse frame rate to 61 Hz.
  • Angelo Salese updated sigmab52.cpp: Changed frame rate to 60 Hz.
  • Angelo Salese updated tetrisp2.cpp: Added support for YUV422 colors in Stepping Stage.
  • Barry Rodewald updated the amstrad driver: Added a device for PPI clone implemented by the Amstrad Plus ASIC, and used it for the Plus and GX4000.
    • Fixes Plus detection in some games, and correctly breaks inputs in Barbarian.
  • cam900 updated taito_b.cpp, tc0180vcu.cpp: Cleanup:
    • Moved TC0180VCU functionality from driver state class to device class and internalized graphics decoding.
    • Deferred allocation of buffers to start time.
    • Removed unused/redundant code.
  • cam900 updated lastduel.cpp: Cleanup:
    • Improved tag and variable naming, reduced code duplication, and reduced runtime tag map lookups.
    • Added a palette decoder function for palette.
  • cam900 updated seta001.cpp: Deferred allocation to start time and cleaned up code.
  • cam900 updated srmp2.cpp, thedealr.cpp, seta.cpp, champbwl.cpp: Reduced runtime tag lookups and cleaned up code.
  • cam900 updated taito_x.cpp: Cleanup:
    • Split out common parts of memory maps, and separated kyustrkr machine configuration.
    • Reduced runtime tag map lookups.
  • cam900 updated atarigt.cpp, cage.cpp, metalmx.cpp: Minor cleanup and runtime tag map lookup reduction.
  • cam900 updated nmk16.cpp: Updates and cleanup:
    • Reduced code duplication, improved tags, modernized banking, and reduced runtime tag map lookups.
    • Implemented sprite and palette size limits.
    • Added bad dump flag to ROMs in tdragon3h set sourced from a different PCB.
    • Improved save state support.
  • cam900 updated unico.cpp: Cleanup:
    • Improved member names and tags.
    • Deferred video RAM allocation to start time.
    • Reduced runtime tag map lookups and ACCESSING_BITS checks.
    • Added palette decoder function.
  • cam900 updated silkroad.cpp: Reduced redundant/unused code, and reduced ACCESSING_BITS checks.
  • cam900 updated drgnmst.cpp: Reduced code duplication and added palette decoder function.
  • cam900 updated namcoic.cpp: Simplified graphics decoding/manipulation and reduced code duplication.
    • Also moved Namco NB-2 ROZ banking to namconb1.cpp driver.
  • cam900 updated vgmplay.cpp: Fixed NMK112 bank table mask, and added support for Irem GA20, RF5C68, and RF5C164.
  • cam900 updated c140.cpp, c45.cpp, namco_c139.cpp: Cleaned up code, removed MCFG_ macros, and added object finders.
  • cam900 updated namcona1.cpp, tceptor2.cpp: Minor cleanup.
  • cam900 updated namcos2.cpp: Split out common C116 configuration and removed MCFG_ macros.
  • cam900 updated bbusters.cpp: Split out mechatt state class, reduced runtime tag map lookup, and simplified graphics decoding.
  • cam900 updated m107.cpp: Added buffered sprite RAM device, and split machine configuration according to ROM size/banking.
  • cam900 updated lynx.cpp: Modernized banking, reduced runtime tag map lookups, and cleaned up palette code.
  • cam900 updated argus.cpp: Cleanup:
    • Improved argus tilemap handling and added MACHINE_NO_COCKTAIL as scrolling is wrong when flipped.
    • Moved butasan tilemap scanning into mapper function.
    • Reduced code duplication.
  • cam900 updated realbrk.cpp: Fixed sprite priority, reduced runtime tag map lookups, and added notes.
  • cam900 updated sknsspr.cpp: Implemented bitmap clearing disable bit (used by galpani3).
  • cam900 updated suprnova.cpp: Restricted bitmap drawing to clipping rectangle.
  • cam900 updated galpani3.cpp: Implemented/fixed some effects and added notes.
    • Fixes background color fading in intro, and girl display in stage start.
  • cam900 updated kaneko_grap2.cpp: Added device_palette_interface for palette.
  • David Haywood made many class members private and removed dead code exposed.
  • Enik Land updated 315_5124.cpp: Updates and improvements:
    • Renamed Game Gear VDP to 315-5377 to match the maintenance manual.
    • Added a device to support behaviour specific to the 315-5313 in mode 4.
    • Made 315-5377 (Game Gear) and 315-5212 (Mega Drive) derive from 315-5256 (SMS2) rather than 314-5124 (SMS1).
    • Improved timing behaviour (verified with Flubba's VDP Test for 315-5313 in mode 4).
    • Emulated sprite status register bits indicating first sprite that overflows.
    • Implemented sprite zoom limit for 315-5124/315-5313.
    • Fixed incorrect scrolling exhibited in Charles' scrolling test.
    • Improved color of leftmost column in mode 4 when fine scroll is applied.
    • Implemented display mode 1 (text) and mode 3 (multicolor).
  • Justin Kerk fixed crash when running a DRC CPU core under Emscripten (github #2794).
  • Frank Palazzolo updated cassette.cpp: Fixed handling of multi-channel reads.
  • MoochMcGee updated the i386 core: Fixed two cppcheck warnings.
  • Nigel Barnes added Acorn Bus slot devices.
    • For Acorn Atom: AtomSID, Acorn Atom Disc Pack, Econet Board.
    • For Acorn System: 32K Dynamic RAM Board, 8K Static RAM Board, Cassette Interface Board, Econet Board, Floppy Disc Controller Board, 40 Column VDU Board, 80x25 VDU Board, Versatile Interface Board.
    • For CMS: CMS 40/80 Video Terminal Card, CMS Floppy Disc Controller, CMS High Resolution Colour Graphics Card.
  • Nigel Barnes updated the a6809 driver: Renamed to acrnsys3_6809, and rewrote with card slot devices.
  • Nigel Barnes updated the ef9365 device: Clear frame buffer memory on reset.
  • Nigel Barnes updated the camplynx_cas softlist: Added support for multiple files (concatenated) in TAP file.
  • O. Galibert updated emumem.cpp: Replaced with new, modernized back-end.
  • OzFalcon updated williams.cpp, wmg.cpp: Removed hard-coded default service button assignments.
  • Patrick Mackinlay updated interpro.cpp: Improved to the point where CLIX boots on the ip2000.
    • Includes re-written IOGA interrupt and DMA handling, and fixes for CPU and MMU issues.
  • Patrick Mackinlay updated the nscsi device: Added support for CD-ROM drives with 512-byte blocks (required for many UNIX workstations).
    • Also added stubs for "prevent/allow medium removal", and improved hard disk "inquiry" command behaviour.
  • R. Belmont provided apple2e updates:
    • Added debugger guards to avoid accidentally banking out ROM.
    • Fixed floating bus reads - synchronizes Talbot Fantasy Seven credits screen.
  • R. Belmont re-wrote the apple2gs driver using address map bank device.
  • R. Belmont updated the apple2gs driver: Fixed issues with Jam Session and ACS Demo Disk #2.
  • R. Belmont updated the es5503 device: Fixed bad playback of synthLAB sampled-attack looped-sustain instruments.
  • R. Belmont updated the mc146818 device: Added support for direct-access bus hook-up method used by MIPS DECstations.
  • Robbbert provided trs80 work in progress:
    • Split into separate sources.
    • Fixed UI paste/natural keyboard.
    • Added UART, RS-232, and Baud rate clock/BRG depending on hardware.
    • Fixed UART status on sys80.
    • Fixed cassette waveform.
    • Tidied up and modernised code.
    • Added monitor documentation.
  • Robbbert updated the ht1080z driver: Added ay8910.
  • Ryan Holtz updated the ps2sony driver: Fleshed out the skeleton driver.
    • Added device to encapsulate PlayStation 2 timers.
    • Temporarily hacked R5900 core to always have scratchpad RAM mapped at 0x70000000.
    • Added reference counting to divtlb so it does not unmap pages that are still shared with other entries.
    • Added skeleton GIF, VIF1 and GS devices.
  • Ryan Holtz updated the mips3 core: Added basic Emotion Engine support.
  • shattered updated the kr03 driver: Defined native keyboard layout (partially addresses MT05818).
  • snickerbockers updated the PowerVR2 device: re-implemented color calculation.
  • Stefan Bruns moved instantiation of device_finder for interface classes from implementation sources to interface sources.
    • Avoids multiple explicit instantiations with the same template arguments.
  • Vas Crabb updated the devcb system: Replaced with new, more flexible implementation.
    • Converted a number of devices and drivers to use the newly supported less macro-dependent syntax.
  • Vas Crabb provided layout system improvements:
    • Allow screens to be referenced by tag in layouts.
    • Allow an internal layout to be supplied per device rather than just per system, with relative screen and input tags.
    • Improved view generation and selection for systems with two screens.
    • Added support for user variables and repetition in layouts, and converted a number of layouts.
  • Al Kossow updated the v550 driver: Added keyboard program ROM dump.
  • Al Kossow added skeleton device for WD1007A ESDI hard disk controller.
  • Leezer updated hiscore.dat: Updated for recent changes.
  • Wayder updated the x68k_flop softlist: Updates:
    • Organised and corrected entries, and replaced disk images with new dumps.
    • Removed Ninin Battle (Alt) - it's a modified copy.
    • Updated/corrected missing dumps, release years, and Japanese titles.
  • xinyingho updated the ibm5170 softlist: Fixed typo in interface for Turbo Pascal 6.01 (German).