Release Date

MAME 0.168 was released on 25 November 2015.

Special Thanks

Huge thanks to PVS-Studio's owners for giving us a temporary license in order to troubleshoot issues in our code.

Also big thanks goes to JetBrains for giving us licenses for their ReSharper and CLion projects that are helping us to improve MAME.

MAMETesters Bugs Fixed


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

  • O. Galibert updated the zx driver: Start of a hardware-correct rewrite.
  • Roberto Fresca updated the Aristocrat MKV driver: More accurate documentation. Also added some technical notes.
  • Vas Crabb provided osborne1 improvements:
    • Bank low 16k according to schematics, passes memory test.
    • Handle memory mapped I/O addresses according to schematics.
    • Correct vectoring of IEEE488 interrupt.
    • Add serial port emulation.
    • Fix beeper frequency/timing.
    • Fix scrolling behaviour in standard and SCREEN-PAC modes.
    • Implement RESET key (generates NMI, F12 by default).
    • Show contents of video memory in F4 tilemap viewer.
    • Add configured banking and save state support.
  • Robbbert updated the Osborne Vixen driver: fixed screen (thanks to O. Galibert who added M1 support to the Z80). Various other fixes. Marked as Working.
  • Happy updated the n64 driver: Simulation of cpu cycles from the skipped RDRAM initialization. This allows later SI initialization to see something closer to an expected value for the system uptime.
  • Miodrag Milanovic made logerror part of machine and device classes and made logerror display the tag of device that logged message.
  • f205v updated naomi/triforce docs.
  • Kevin N and BrianT updated peplus.c: Documentation update based on newly found PSR (Program Summary Report).
  • Lord Nightmare updated the TMS5xxx core: Fix for occasional audio 'spike' instability/wraparound glitches caused by improper truncation in the lattice filter multiplier. This is not an optimal fix as it isn't correct to hardware, but it works better than the previous approximation.
  • Roberto Fresca derived a new machine with improved memory map, remapped the roms load, and created proper inputs set for Genie (ICP-1, set 2). Also added technical notes and findings.
  • Roberto Fresca updated goldnpkr.c driver: Added games and technical notes, and some clean-ups.
  • MooglyGuy fixed all instances of PVS-Studio warning V578, "An odd bitwise operation detected. Consider verifying it".
  • Robbbert updated the Sharp MZ series drivers:
    • MZ-700: Increased speed of basic (MT 06058) by using bankdev;
    • MZ-700: Fixed shift, ctrl, function keys;
    • MZ-800: Fixed crash when ramdisk accessed;
    • MZ1500: now starts up and can run some programs;
    • MZ-800, MZ-80K, MZ-80A can load mzf tapes.
  • MooglyGuy fixed some instances of PVS-Studio warning V501, "There are identical sub-expressions to the left and to the right of an operator".
  • MooglyGuy updated the hdc92x4 device: Fix ambiguity of ?: operator flagged by PVS-Studio.
  • Roberto Fresca provided Jack Potten's Poker (NGold, set 3) improvements: Fixed wrong inputs / coin lines through dedicated inputs. Also fixed graphics.
  • MooglyGuy fixed PVS-Studio warning V562, "It's odd to compare a bool type value with a value of 0/1".
  • MooglyGuy fixed PVS-Studio warning V564, "The &/| operator is applied to bool type value. You've probably forgotten to include parentheses."
  • Vas Crabb updated cmpacman: fix two DIP switches.
  • Roberto Fresca added partial decryption to the ICP1 daughterboard games. (currently only pokerduc set). Since it's just partial, commented out the code for now.
  • Roberto Fresca added port impulse to the Golden Poker's second coin slot. This is needed for both royale sets.
  • Lord Nightmare updated the TMS5220 and TMS5110 cores: Add more verbosity to DEBUG_LATTICE.
  • O. Galibert updated the namcos23 driver: Better handle on the GPU comms.
  • Thomas Klausner updated OSD/SDL: add missing header to fix build on NetBSD. The file was removed from the other gmake.*/genie.make files. The build/gmake.* files do not exist upstream, so this is a purely local problem.
  • O. Galibert updated the namcos23 driver: port b bit 6 is also an input, handle accordingly. Probably JVS.
  • Nigel Barnes updated the mc6845 device: fixed hd6845 rasters in interlace mode.
    • bbc now uses correct hd6845.
    • saa5050 outputs all 20 scanlines.
  • Robbbert updated the a6809 driver: Removed hack and fixed display for above saa5050 changes.
  • Nigel Barnes updated the bbc driver: softlist additions/changes.
    • added part_id to many items.
    • added original protected floppies (FSD).
  • Nigel Barnes updated the bbc driver: preliminary support for FSD format.
  • Roberto Fresca updated the Aristocrat MKIV driver: Changed the Fever Pitch input scheme and artwork layout, since it seems that the game lacks of a gambling or double-up feature. Also cleaned a bit the driver.
  • Roberto Fresca updated the Aristocrat MKIV driver: Fever Pitch service input is just 'reserve' feature/function. Changed the inputs and artwork layout accordingly.
  • ImJezze updated HLSL:
    • removed duplicate prescale fields.
    • made visibility of HLSL options depending on screen type.
    • disabled scanlines for LCD screen type.
    • fixed reset of HLSL settings.
    • fixed bug that resets the HLSL settings when the screen size has changed.
    • removed hardcoded HLSL presets.
    • updates HLSL readme.
    • fixed creation order of D3D and HLSL resources.
    • sliders will be hidden when toggled off and will be shown when toggled on again.
    • screen adjustment (scale, offset) can now be handled by the respective render API itself (default behavior is as before).
    • D3D (if HLSL) is activated handles screen adjustment by itself within the shader, which fixes the odd behavior of some effects (e.g. round corners) when screen scale and offset is used.
    • fixed bug that resets the HLSL settings when switching between window mode and fullscreen.
    • fixed changed screen adjustment for multi screens.
    • the vector renderer now tries to detect a invariabel vector intensity and disables the calculation of a dynamic beam width.
    • fixed not used HLSL settings from <custom>.ini if MAME was started without driver parameter.
    • removed default values from HLSL sliders, the defaults here are more like null values to hint when an effect would be disable.
    • slightly changed default HLSL settings.
    • fixed missing shadow mask texture when switching between window mode and full screen.
  • Peter Ferrie updated ap2_dsk.c: support 36-track Apple II NIB images.
  • O. Galibert updated the wozfdc device: much less CPU usage now.
  • Luca Elia updated the vrender0 device: allow resolutions higher than 512x240.
  • David Haywood updated -mcatadv.c: Improved Nostradamus emulation.
    • Sprite masking effect supported (stage 6 boss).
    • Tilemap enable supported (flickering shadow for stage 7 boss).
    • Priority 0 sprites now shown (final boss arms).
    • BG colour changed to more likely pen (fade in/out on intro & end).
  • Luca Elia updated the se3208 core: make sure the low bits of the stack pointer are always 0.
  • David Haywood updated se3208.c: disallowed unaligned dword reads/writes, this allows Donggul Donggul Haerong to function, although not 100% sure it's the correct fix.
  • Justin Kerk allow for Emscripten compile to JavaScript out of the box. MAME can now be built using Emscripten's 'emmake' tool, e.g. like so: emmake make SUBTARGET=pacman SOURCES=src/mame/drivers/pacman.cpp This should produce a .js file which can be supplied to an HTML front-end.

Game Support

New machines added or promoted from NOT_WORKING status

New clones added or promoted from NOT_WORKING status

New machines marked as GAME_NOT_WORKING

New clones marked as GAME_NOT_WORKING