Release Date

MAME 0.145u2 was released on 26 February 2012.


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:

  • R. Belmont updated chdcd: Fix crash when parsing bin/cue.
  • Carl rewrote INS8250 to use diserial, updated Microtouch to modern and made it serial device, updated connected drivers.
  • Ryan Holtz updated the MIPS3 and RSP DRCs: Checksum the delay slot in single-instruction blocks.
  • Carl updated the mc146818 core. Set period even if timer is disabled, required for windows nt.
  • Carl updated diserial - added optinal rx and tx timers and callbacks.
  • Carl updated the ins8250 core - serial rx line high on start and fix for msr register.
  • R. Belmont updated the m68k core: Added API to install a non-debugger instruction hook. Usage is strongly NOT recommended except for dire cases.
  • Sean Riddle and Aaron Giles updated Robotron: Williams blits with bit 2 set take approximately 2x as long because they are bus-shared with RAM. Should impact some timing behaviors such as later levels in Robotron, where approximately 10% of the blits are done with bit 2 set. Further refinements may be necessary but this addresses the most significant issue.
  • Carl updated the i386 core: One more to fix cmpsb (dir /s in MS-DOS works now) and remove unused variables.
  • Roberto Fresca provided improvements to Golden Poker driver:
    • Inputs from the scratch.
    • Switched manufacturer 'Playman' to PM / Beck Elektronik, since it's PM and Beck Elektronik/Computer/etc.
    • Added technical and game notes.
  • Ryan Holtz added a trivial Y reject to triangle draw commands in the N64 RDP.
  • Ryan Holtz updated the N64 driver: Various PIF fixes.
  • Fabio Priuli updated info.c: several fixes and additions to listxml output.
    • Appended to xml info about devices which can be optionally mounted to slots.
    • Added a description attribute to slotoption to show which devices can be mounted in each slot.
    • Added to xml info of cpus/inputs/image/slots which are relative to devices (e.g. CPUs or Dipswitches in the device itself).
    • Tags of elements directly attached to the root_device do not display anymore the root colon (slot tags were already behaving in this way); elements attached to optional devices use tags starting with colon (to be interpreted as a relative tags which gets appended to the device tag, when such a device is selected in a slot).
    • Modified when necessary output routines to pass a root_device and a root_tag as parameters, in order to simplify output of relative devices and avoid duplicated code.
    • Updated DTD according to the new elements and attributes These changes allow frontends to know in advance how drivers can be configured through the various slot options (by matching option descriptions with device descriptions), without the need to run -lx with the various slot combinations. This is especially of use if a device adds e.g. dipswitches or image devices (like additional floppy drives or additional slot expansions), but also if one wants to know e.g. how many sound channels a soundcard would add to a pc driver, or which kind of screen parameters would be added by a specific choice of video card.
  • Barry Rodewald updated the i386 core: Added 32-bit versions of LMSW, and made LMSW only change the lower 4 bits of CR0.
  • Carl fixed Windows 95 blue screen..
  • Roberto Fresca added a preliminary driver for Merkur's 'Mahn Oh-Mann'. German board game similar to Ludo, derivated from the indian game Parchisi. Coin-op machine for 1-4 players. No screen, just artwork and lamps.
  • Miodrag Milanovic removed need for *_dev.lst files:
    • Enforced short names for slot card devices.
    • Updated validation, romverify and listxml output accordingly.
  • Ryan Holtz updated the N64 driver: Force mtc0 opcodes that initiate to-RSP DMAs to end recompile sequences to force a code check. Fixes certain microcodes from executing garbage code after DMA.
  • Ryan Holtz updated the N64 driver: Don't flush the RSP DRC cache on DMA. Fixes Mario 64 and others.
  • Ryan Holtz updated the N64 driver: Miscellaneous machine fixes.
    • Increase the amount of time consumed by PI DMA, makes certain RSP microcodes that test DMA speed land in the correct window.
    • Force the main CPU to yield when the RSP reads its atomic semaphore.
    • Force the RSP to yield when PI DMA completes.
    • Flush the RSP DRC cache when touching IMEM with SP DMA.
  • Carl updated the i386 core: Prevent page faults when returning to same privilege and unmapped pages are above the stack. Windows 95 boots now.
  • David Haywood provided documentation of the video data on Dragon Gun..
  • Ryan Holtz updated the N64 driver: Fix audio sync issues in Super Mario 64 and probably others, and also bring PI DMA speed into the realm of reality.
  • Ryan Holtz updated the N64 driver: Change PI DMA speed from 3 cycles/word to 5.08 cycles, as average PI speed is between 2.53 and 2.55 cycles/byte.
  • Carl updated the i386 core: LOCK prefix should depend on IOPL on 386. Windows NT beta boots.
  • Ville Linde updated the gticlub driver: Rewrote the 3D renderer. Implemented gouraud shading, lighting and fog.
  • Aaron Giles created a new device_mixer_interface, derived from device_sound_interface, which mixes all its inputs to a single output stream. Redefined the SPEAKER device to use this and remove the duplicate underlying logic. The main purpose of this new interface is to allow device-ification of an entire sound board, which can itself become a mixer of all of its sound components to a single output stream. This stream can then be routed by the device's owner to the appropriate speakers. A real-life example will show up soon.
  • David Haywood provided better management of FLAC block sizes, aiming to keep them around 2k samples. Increased CD sectors per hunk to 8 for better compression.
  • Aaron Giles re-did the non-CD FLAC codec to be "smart" in that it can choose either big-endian or little-endian on the fly and uses the best one. Added FLAC as a default codec for hard disks, which helps a lot for certain disks.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING