MAME 0.144u7 was released on 29 January 2012.
The known contributors for this version are, in alphabetical order:
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.
- 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.
New games added or promoted from NOT_WORKING status
New clones added
New games marked as GAME_NOT_WORKING