Release Date

MAME 0.163 was released on 24 June 2015.


The known contributors for this version are, in alphabetical order:

Specific Contributions

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

  • Retroport updated the c64 driver: Added an SX-64 variant called Tesa Etikettendrucker 6240.
  • ImJezze changed vignetting simulation:
    • removed screen ratio influence;
    • changed radius, blur and intensity;
    • fixed roundness of rounded corners; the default aspect ratio of 4:3 should not be stretched anymore when the source has another ratio;
    • disabled blurring of rounded corners;
    • some cleanup;
    • something was messed up on the last commit.
  • MooglyGuy updated the mips3 core: Make fast RAM handling faster by caching certain values.
  • Couriersud introduced user definable truth tables: This enables the addition of devices without changing the netlist source code and allows the creation of libraries. Used pong.c as a proof of concept for the time being.
  • Roberto Fresca updated chsuper.c driver: Reworked all inputs and implemented full outputs from the scratch. Added DIP switches, DIP locations, extra input port present in the test mode, implemented coin counters and hopper out / ticket out signals, implemented full set of lamps and workaround for the possible Hold3 lamp line circuitry. Also added a nice control panel internal layout. Documented all ports properly and added some findings. Changed the CPU clock to 3 MHz to get the game more playable. Need to check against a real PCB.
  • Roberto Fresca worked on the Champion Super 2 & 3 games: Improved the internal layout to represent a realistic control panel, with clickable button-lamps and a coin in. Also added the missing BET MAX function to the HOLD 1 input/button.
  • superctr added configurable clock dividers for Namco C352.
  • system11b added gradius3js - split rom version of Japanese S set. Corrected ROM names in madmotor as per dumped board with matching checksums. Added two new versions of Turtle Ship.
  • Peter Ferrie updated idehd.c: increase IDE fill-time to avoid missed interrupts.
  • O. Galibert allowed compiling with shared libraries. Put SHLIB=1 in the main makefile, or on the command line.
  • R. Belmont updated the mac driver: fix crashiness in NuBus "image" card host access.
  • Couriersud made delegate.h support mingw 32 bit builds with INTERNAL configuration. Member functions are called in this case using __thiscall ABI.
  • R. Belmont updated the mac driver: Image card now accepts paths starting with '$' for your $HOME needs. Also fixed a crash if the path is invalid.
  • balrog fixed Game Blaster emulation, now working.
  • balrog fixed game blaster compatibility in sb1.0.
  • Tauwasser updated gameboy.c: improved accuracy of the emulation for MBC2 games.
  • Fabio Priuli updated the ui: when accessing the internal File Manager for a system with available softlists, let the softlist item be highlighted by default to make navigation faster.
  • Pugsy and Fabio Priuli updated the cheat system: improved cheat support for games in softlist. XML cheats for home systems should now be stored in a subfolder (or a compressed archive), named after the software list, inside the cheatpath. this allows for loading cheats for consoles / home computers without interfering with arcade cheats when games have identical shortnames. For instance, loading Galaga in NES allows now to use its specific cheats even if a galaga.xml is available in the arcade cheat.7z (previously you'd get an error due to the arcade cheat referring to a cpu not present in the NES).
  • Fabio Priuli updated audit.c: fixed a crash occurring when trying to mount a CHD from the internal UI.
  • Peter Ferrie, Olivier Galibert and Richter Belmont solved the great Sherwood Forest mystery. DOS 3.3 inserts a short (3-4 cycles, roughly equivalent to one bit) delay between writing the header and the data bytes in the sector data block.
  • Couriersud changed the way NETLIST_START(NAME) is located and called. This is done now solely by using a netlist_sources_t class. Netlist users just register sources like memregions, hardcoded strings, compiled netlists. Going forward this enables to eventually put macro model librariers into roms. The improvement comes with a price. Compiled netlists to be included must now be registered using LOCAL_SOURCE.
  • LnmVolbo fixed .lst files whitespace problem.
  • caius updated galaxian.c: Correct rom labels for the Stern Electronics license of The End.
  • geecab updated the mos6526 device: Fixed port A/B read.
  • NJRoadfan improved Ensoniq 5503DOC Swap Mode.
  • Couriersud fixed a number of bugs in the netlist system:
    • proxy savestates;
    • solver savestates;
    • 7490 both counts firing at the same time bug fix and changed timed list to be resizable.
  • O. Galibert updated the floppy device: Ensure that get_next_transition always provide the next transition.
  • caius added missing video board PAL for xevious and clones.
  • Andrew Gardner and Couriersud added kidniki sound board netlist to nl_examples. Currently the netlist boils down to a 87x87 matrix. This is due to a total of 6 opamps which all are submodels and thus add their own internal nets. Gauss Seidel iterative solving comes to it's limits. nltool runs this at about 50% speed on my machine. Given the complexity this is quite good. Yet, any m62 game currently will not be playable.
  • carl updated the m20 driver: improve keyboard.
  • Julian Sikorski added the ability to use system flac, jpeg, lua, sqlite3, portmidi and zlib based on wallyweek's work. This brings the system lib capabilities back to where they were prior to build system rewrite.
  • Ariane Fugmann provided Model1 Communication Board emulation:
    • add emulator options required for comm boards;
    • add the model 1 communication board as a device;
    • add an optional simulation for the model 1 communication (enabled atm.)
    • allows to play Virtua Racing, Virtua Formula and WingWar in "link mode".
  • Curt Coder updated the victor9k driver: Fixed keyboard.
  • Enik Land updated the gamegear driver: allow master gear adapter to see lightphaser offsets.
  • Porchy and The Dumping Union updated rohga.c: Redumped MAS10 sound sample rom at the correct size. Fixes missing sounds in the Darkseal 2.
  • Couriersud updated the netlist system: From 45% to 60% to 99%. That's the improvement achieved for a 89x89 audio matrix mostly solved by elimination. Cleaned up some code as well.
  • superctr updated seta.c and the x1-010 sound device: Fix pitch in downtown.
  • Couriersud added a GMRES solver to netlist. The generalized minimal residual method ist certainly more modern than Gaussian elimination and Gauss-Seidel. However, more the current maximum matrix (KidNiki, 89x89) a combination of Gauss-Seidel to solve for maximum one step to catch quasi-stable conditions and fall-back to optimized Gaussian elimination (for sparse matrix) outperforms GMRES by up to 100%.
  • PlgDavid, Lord_Nightmare, and NullMoogleCable updated tms5110r.c: Add new LPC table data for CD2802, CD2801; TMS5110A/TMC0281D; add new information regarding each chip. Reorganize LPC tables to use #defines rather than repeating identical data.
  • Couriersud made netlist code use "namespace netlist". At the same time, moved all devices int netlist::devices namespace.
  • R. Belmont updated the GLSL code: unlimit shader file size.
  • Lord Nightmare updated tms5110.c and tms5220.c: fix missing cast for chirp/excitation values, fix a potential off-by-one for tms5110.c as well.
  • Fabio Priuli updated info.c: worked around missing sub-devices in -lx output.
  • Ville Linde updated the model3 driver: various improvements.
    • Rewrote projection calculations to use projection matrix;
    • Rewrote polygon clipping to use 4D W-space clipping;
    • Implemented 8-bit texture uploads;
    • Changed all scanline renderers to use rgbutil.
  • f205v and MetalliC updated chihiro.c: brute missing keys for Sega Network Taisen Mahjong MJ 2 and MJ 3.
  • Couriersud completely integrated the GMRES solver into netlist solver templates and recoded it from scratch. GMRES now runs at 122% (kidniki), that's a real improement from 60% before. At the same time, the code should be easier to read and closer to the GMRES algorithm. Ultimately, kidniki will not use this solver but instead use some frontiers to keep it playable. But going forward, for larger matrices this solver is an option.
  • Miodrag Milanovic made possible creation of custom builds with given list of drivers included. Note that game list is parsed so if macros are used they will not be found. example: make SUBTARGET=cops -j9 DRIVERS=src/mame/drivers/cops.c
  • David Haywood properly emulatee the double PCB stack system32 games with shared RAM bridge board (Air Rescue and F1 Exhaust Note). Previously these relied on a hack to make the code believe the 2nd stack was present but this caused issues, now they're correctly emulated as dual screen games without any hack.
  • Vas Crabb supported -uimodekey switch on Windows.
  • Dirk Best updated the apricot driver: use correct wd fdc type and fix floppy motor on, implement graphics mode, simulate sio irq m1 access. Successfully boots from disk now.
  • Dirk Best updated the apricot driver: add an expansion slot interface and add two ram expansion cards. This will also be usuable by the apricot f series and portable.
  • Dirk Best updated the apricot driver: add initial keyboard support.
  • Dirk Best updated all drivers to use the new wd floppy controller implementation and remove the legacy one.
  • Dirk Best updated the i8089 device: add wait for drq support.
  • MetalliC updated the wd_fdc device: fixes for ZX-Spectrum and clones Beta128 disk interface.
  • MetalliC updated the pentagon driver: cycle exact screen / border raster effects emulation.
  • Tafoid updated liberate.c: Validated and consolidated dip switches for driver and added locations.
  • Luca Elia update the suna8 driver: Fixed sparkman player 2 colors and samples played from second rom. Removed spurious samples played on reset by most games.
  • Osso added / completed /enabled save state support to the following drivers: battlera.c, cclimber.c, gaplus.c, grchamp.c, namcos1.c, nbmj8991.c, shisen.c, snk68.c, spacefb.c, sprcros2.c, srmp5.c, vastar.c, warpwarp.c.
  • MooglyGuy updated rgbutil: Converted to class and added more functions.
  • MooglyGuy updated the n64 driver: Converted RDP rendering to use SSE2 when available.
  • David Haywood and caius fixed text layer colours in 'The Battle Road' after PCB verification, unflagged and removed comment saying it is guessed.
  • Barry Rodewald updated the amstrad driver: added support for the Dobbertin HD20 hard disk.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING