Release Date

MAME 0.141u2 was released on 9 February 2011.


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:

  • Tim Schuerewegen updated the arm7 core: Fix for "MOV LR, Rx" (where Rx bit 0 = 1) + "F800" situation. This fixes the lockup in GBA "Golden Sun: The Lost Age".
  • R. Belmont updated the SSV driver: Hooked up uPD96050 (ST-010) math/protection DSP.
  • Derrick Renaud fixed DISCRETE_WAVLOG & DISCRETE_RCFILTER fixing dkongjr and likely other sounds.
  • Tim Schuerewegen updated intelfsh: Support flash ROMs that have a bankswitch command.
  • Aaron Giles fixed banking in daytona2 by adding a second aperture to CROM at 0xc3000000. A couple of CROMs checksum as bad, but most come out good.
  • David Haywood added a preliminary Softlist support for Sega Megatech, that allows multi-cart support. syntax is (similar to the MESS one) mame megatech -cart1 mt_beast -cart2 mt_soni2 ... -cart8 mt_shar2 SMS games have issues when moving between games, so stick to only a single SMS game for now or the z80 will crash.
  • Lord Nightmare fixed missing sound channel in beezer; sound should now be more or less correct, but the noise source still isn't accurate yet.
  • Lord Nightmare improved beezer volume DAC handling to be accurate to hardware.
  • Aaron Giles C++-ified the sound and streams interfaces. Combined sound.c and streams.c into one file, and separated the speaker device into its own file. Generalized the concept of dynamically assigned inputs and re-wired the speaker to work this way, so it is now treated just like any other sound device. Added methods to the device_sound_interface for controlling output gain and mapping device inputs/outputs to stream inputs/outputs. Also made the sound_stream_update() method pure virtual, so all modern sound devices must use the new mechanism for stream updates.
  • Atari Ace cleaned up natural keyboard support.
  • Atari Ace rliminated static/global variables in a number of Atari drivers by moving them into a driver_device.
  • Cah4e3 fixed Metal Slug 6 ROM mirror, game is fully playable.
  • Couriersud fixed a bug in palette_normalize_range which caused color distortion. The luminance normalization now converts r,g,b to y,u,v and normalizes y prior to converting back to r,g,b. This affects e.g. radarscp, dkong and mario drivers.
  • Angelo Salese rewrote video routines and fixed partial updates in the Dottori Kun Driver.
  • Curt Coder added all CPU and sound devices in emu folder to the MAME build.
  • Tim Schuerewegen updated the arm7 core:
    • Improved LDM/STM unaligned word access in THUMB mode.
    • Fixed LDM unaligned read in THUMB mode.
  • Curt Coder imported the MC68901 device from MESS so it can be shared with micro3d.c.
  • O. Galibert updated the ksys573 driver: Hooked up part of the i2c communication with the mas3507d.
  • Luca Elia renamed bishjan.c to subsino2.c:
    • Implemented reel layer.
    • Fixed rogue tiles in xplan.
    • Hopper emulation in bishjan.
  • Tim Schuerewegen updated the ARM7 core: fixed an LDM base register write-back bug.
  • The Dumping Union added correct LA revision levels to the Pigskin 621AD rom set as well as including the date in the game titles of Arch Rivals and Pigskin 621AD sets.
  • Guru updated the namcops2 driver: Added dumped key for Ridge Racer V RRV3 Ver. A.
  • Aaron Giles removed redundant m_machine from the state and execute interfaces to fix ambiguity when using m_machine from within a device that inherits from these.
  • Lord Nightmare made beezer use correct mm5837 noise source (clock may be a bit off though), and have mm5837 properly hooked to audio via. May still be some issues with intermittent noise updating which need fixing.
  • Roberto Fresca provided improvements to Magic's 10 driver:
    • New inputs from the scratch for Music Sort.
    • Complete DIP Switches and DIP locations for Music Sort.
    • Added a new button-lamps layout for Music Sort.
    • Created a default NVRAM that allow Music Sort work properly.
  • Roberto Zandona' updated the pollux driver: fixed sprite flip x and y and removed old comments.
  • Aaron Giles converted attotime to a class, with proper operators. Removed old global functions which are now superceded by the operators and methods on the class.
  • Atari Ace eliminated global/static variables in a number of Taito/Irem drivers by introducing/using driver_device classes.
  • David Haywood cleaned up shared implementation of CDi:
    • Merged MESS CDi driver file with the MAME CDi driver file (used for Quizard).
    • The cdimono1 system is now the parent / bios of Quizard, the Quizard games run on a retail CDi unit with Jamma adapter / dongle for protection so this is a logical step.
  • Alex Jackson replaced anonymous timers used in video/segaic16.c, drivers/segaorun.c and drivers/segaxbd.c with allocated timers, making it possible to add save state support to these drivers.
  • Alex Jackson provided updates to cave.c and toaplan2.c:
    • Added savestate support to all games in cave.c. Most of the work was already done by someone else; the blocker was a perpetually-running anonymous timer, which he converted to an allocated timer.
    • Changed OKI sample banking to use device address maps instead of memcpy() in all cave.c games except the nmk112-based games. If someone wants to try to convert nmk112.c to use device address maps and bank pointers, be his guest--you'll need 8 banks of varying sizes per OKI chip.
    • Fixed description of the Japanese Air Gallet set--the game's Japanese title is "Akuu Gallet".
    • Made machine/nmk112.c actually restore its state properly. Also refactored it a little (if you can talk about refactoring a source file that almost fits on one screen).
    • Fixed bgaregga's nmk112 interface to work with the refactored nmk112.c.
    • Removed excessive CPU interleaving from batsugun, left over from when I was initially hooking up the V25.
    • Removed a useless printf and some obsolete comments, more leftovers from the process of hooking up the V25.
  • Alex Jackson added MCFG_SCREEN_RAW_PARAMS to twincobr.c and wardner.c, correcting their refresh rates.
  • Pugsy added basic LOAD function to the debugger to complement the existing SAVE function. It allows you to load a binary file straight into writeable memory. The format is the same as the SAVE function with the exception that the <length> can be handled differently.
  • Hans Ostermeyer provided a 68681 patch to fix dectalk's startup test in MESS.
  • R. Belmont updated drcuml: fixed compile on systems that use the C backend.
  • AGEMAME reimplemented fruit-machine mechanical meters to use timers.
  • AGEMAME provided various MPU4 changes:
    • Revised timing/input system to stop flickering.
    • Tidied up the LED drawing code to remove flicker.
    • Support for all known extenders and reel multiplex boards used in MPU4 H/W.
    • Partial support for OKI sampled sound card, need for some titles.
    • Fixed Old Timer characteriser.
    • Some general tidying up to allow better study of the BwB titles.
  • Curt Coder implemented proper mouse wheel event handling in the Windows debugger.
  • Aaron Giles converted emu_timers to objects. Moved implementation and management of timers into the scheduler. Retain TIMER devices as a separate wrapper in timer.c/.h. Rather than using macros which hide generation of a string-ified name for callback functions, the new methods require passing both a function pointer plus a name string. A new macro FUNC() can be used to output both, and another macro MSTUB() can be used to output a stub-wrapped class member as a callback.
  • Aaron Giles added a time() method on the machine, so that machine->time() gives the current emulated time.
  • Aaron Giles added methods to the device_t class that make creating and managing device timers much simpler. Modern devices were updated to use these.
  • Curt Coder ensured that the debugger disassembly PC cursor is visible on startup.
  • Fujix and Tafoid made changes to the PORT_ADJUSTER values for MSM5232 clocks in all games in drivers to best match PCB recordings.
  • Aaron Giles removed cpuexec_describe_context, cpuexec_boost_interleave, cpuexec_trigger, and cpuexec_triggertime in favor of calls to the scheduler.
  • R. Belmont updated the tms57002 core: significantly improved build speed on lower-end h/w.
  • R. Belmont and billb updated the G65816 core: fixed operation on PowerPC Linux where char is unsigned.
  • Aaron Giles moved generic templates from emucore.h to emutempl.h. Normalize the tagged_list template to wrap a regular standard_list and have similar semantics. Updated a few direct callers to handle the changes.
  • Luca Elia updated the sigmab98 core: fixed zooming, added priorities and flipping.
  • Aaron Giles moved the state saving system to C++. For now the registration macros are still intact. The new state_manager class has templatized methods for saving the various types, and through template specialization can save more complex system types cleanly (like bitmaps and attotimes). Added NAME() macro which is a generalization of FUNC() and can be used to wrap variables that are registered when directly using the new methods as opposed to the previous macros.
  • Aaron Giles added new mechanism to detect proper state save types. This is much more strict and there will likely be some games/devices that fatalerror at startup until they are remedied. Spot checking has caught the more common situations.
  • Aaron Giles added methods in the device_t class that implicitly register state against the current device, making for a cleaner interface. Bulk updated existing devices and drivers with driver_device classes to use these methods.
  • Team CPS-1 provided a CPS-1 update:
    • Added Tenchi wo Kurau (Japan Resale Ver.).
    • Confirmed B-Board # for chikij, added ROMs positions, PALs and some pcb infos to video\cps1.c.
    • Fixed sf2uk labels and added pcb infos.
    • Identified and documented willowje as an early and genuine USA release, added a note and renamed willowje -> willowo.
    • Verified and fixed XTALs of Japan Resale Versions to work at 12MHz, they all use DASH A-Boards.
    • Minor cleanups and fixes.
  • Aaron Giles migrated allocated buffers to arrays in the driver_data classes of several drivers.
  • Aaron Giles fixed memory manager bug when calling 32-bit handlers on a 64-bit address space.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING