Release Date

MAME 0.144u7 was released on 29 January 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:

  • Aaron Giles rewrote tilemap.c as a C++ class. For now kept the global functions and just inline mapped them to the class. Will do a pass soon to actually update drivers to use the C++ methods directly. Also, the tilemap callbacks are now delegates which should make for cleaner integrating into modern devices and drivers going forward.
  • Aaron Giles removed support for 4bpp packed graphics. These only manifested for drivers that used GFX_RAW support for 4bpp systems, and yet we had a bunch of extra code to support it. Updated these drivers to do without it and removed all the extra code for supporting it.
  • Aaron Giles made tagmap just a C++ template now. Added iterators to it as well. Updated a few outlying uses.
  • Angelo Salese updated the VGA core: Fixed Double Scan / Maximum Scan Lines condition, and removed a bunch of kludges.
  • Angelo Salese updated the CGA core: fixed display disable read flag.
  • Carl updated the i386 core: BTR and page fault fixes.
  • Barry Rodewald updated the i386 core: basic implementation of FIST and FBLD FPU instructions.
  • Barry Rodewald updated the i386 core: Fixed BSR/BSF and CMPS based on test-i386 output.
  • Angelo Salese updated the VGA core: first attempt at adding proper refresh rates.
  • Barry Rodewald updated the i386 core: Fixed STR and SLDT instructions.
  • Curt Coder added Intersil IM6402 UART emulation.
  • Tafoid added documentation (pinout/dips/chip ID) for popobear based on PCB picture and manual.
  • Carl updated the i386 core: fixed a bug with JCXZ opcode.
  • Belegdol provided changes for GCC 4.7 compatibility.
  • David Haywood and R. Belmont added FLAC (lossless audio) codec support plus experimental hooks in samples and chdman. Bumped up CHD-CD hunk size to get better compression ratios on both zlib and flac.
  • Barry Rodewald updated the i386 core: Made stack limit checks better handle the difference between 16 and 32-bit stacks in IRET and RETF.
  • Barry Rodewald updated the i386 core: Stopped IOPL from being changed by IRET when CPL is zero.
  • Fabio Priuli updated the ppu2c0x: converted NES PPU to be a modern device.
  • O. Galibert updated the floppy code: Do specific UI handling.
  • Roberto Fresca added Pluto 5 technical notes about clocks, EPROM config, and addresses/data scrambling for different EPROM types on 16-bit mode.
  • Aaron Giles moved devices into a proper hierarchy and handle naming and paths consistently for devices, I/O ports, memory regions, memory banks, and memory shares.
  • Carl fixed pcap network device search.
  • David Haywood converted Lemmings, Wizard Fire, Desert Assault, Rohga and Schmeiser Robo to use deco generic sprite device.
  • Angelo Salese did a major overhaul of VGA memory handlers, added CGA, monochrome emulation and fixed text banking while at it.
  • Phil Bennett rewrote i386 x87 emulation:
    • Use SoftFloat arithmetic functions.
    • Implemented tag word updates.
    • Implemented status word/exception flag updates.
    • Implemented stack underflow/overflow behaviour.
  • Carl updated the i386 core: Various protection mode fixes.
  • kanikani fixed some dipswitch defaults and added diplocations to many Konami and Namco games.
  • Barry Rodewald updated the i386 core: added 32-bit operand size version of SMSW.
  • R. Belmont fixed bad assumption by the (pre)GX video mixer.
  • R. Belmont updated the ksys573 driver: fix disk regions, games boot again.
  • R. Belmont updated the taitogn driver: fix card region, games boot again.
  • Brian Troha verified and corrected the Sega Security CPU number (317-xxxx) for one of the two unknown Turbo Out Run sets.
  • R. Belmont updated the oki6295 core: force creation of banks so loading a state from after the game has set a bank before the game sets the bank doesn't die.
  • Carl updated the i386 core: Major update to segment limit and protection checking.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING