MAME 0.142u1 was released on 19 April 2011.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Angelo Salese added screen raw params and irq ack to the dec0 driver, fixing hole 1 hang in Birdie Try and improving fade in/out effects for Boulder Dash.
- Roberto Fresca provided updates to the Funworld driver:
- Complete support for Witch Royal, from Video Klein.
- Reworked the button-lamps layout to get the hold buttons more centered.
- Atari Ace eliminated the extern variables from atarimo video core, in order to remove a significant source of AM_BASE macros.
- Atari Ace converted astrocde/kaneko16/namcos23/suprnova to driver_device.
- Angelo Salese converted Taito F3 video chip (TC0630FDP) to have a parallelism of 16-bit.
- Angelo Salese converted 2 Minutes Drill driver to use Taito F3 video chip, this hugely improves graphics in it.
- Angelo Salese added irq ack and fixed sound chip type to be YM2610B for 2 Minutes Drill.
- David Haywood added work-around for crowd gfxs in Taito F3 football games (Taito Cup Finals, International Cup '94, Taito Power Goal and clones), until a better information is found about it.
- Fabio Priuli updated the softlist code: moved software list handling (in the Internal UI) to a separate source, and made the code more similar to the File Manager handling code.
- Team CPS-1 provided a CPS-3 update:
- Added Street Fighter III: New Generation Hispanic BIOS rom CD version.
- Added a detailed table of all known releases until now with useful notes to identify new Cart Regions/CD Revisions.
- Renamed some CHDs to use the new Catalog # standard.
- Fabio Priuli updated uiswlist.c: added a switch to choose between shortname order or description order for softlist entries (in the Internal UI), and adapted the char input code to match shortnames or descriptions accordingly.
- Atari Ace updated the sc61860 cpu core: fixed crash and cleanup, replaced for internal ram accesses with function calls to help further debug the core in the future.
- Fabio Priuli updated cartslot.c/chd_cd.c: added support for a callback function to test softlist sharedfeat (e.g. 'compatibility') and display a warning message accordingly. Updated cdi.c as an example.
- Miodrag Milanovic updated cassette.c/flopdrv.c: added support for a display info callback function.
- Atari Ace updated corona/galaxian/namcos21/namcos22/namcos23/psikyosh/quizo/sigmab98 to driver_device.
- Atari Ace converted scramble/galaxold to driver_device.
- Atari Ace provided audio device additions:
- exidy440/m72/segasnd are converted to legacy devices.
- cage/dcs/williams variables are restructured internally to resemble a device, simplifying a future device conversion. Some AM_BASE macros are eliminated as well.
- taito_en has minor changes to eliminate an AM_BASE macro.
- Angelo Salese heavily improved 3 Super 8 emulation, and implemented NMI acknowledge mechanism into the Super Poker driver.
- Thomas Klausner updated naomibd: Fixed collision with system macro on NetBSD.
- Tafoid fixed Pururun's audio pitch/speed to match that of a reference video.
- Lord Nightmare updated tms5220.c: updates to comments and nonstandard feature defines.
- Wilbert Pol updated 8237dma: Added cascade mode support.
- Miodrag Milanovic updated pic8259: Added support for cascade mode, updated interface in all drivers.
- Lord Nightmare updated upd7725.c: Implementation of the p0 and p1 output bits as device lines; preliminary implementation of INT input line.
- Aaron Giles replaced mamedriv.c with a new driver list mechanism that is generated by the build tools. The emulator core now expects the presence of a file called src/$(TARGET)/$(SUBTARGET).lst which is just a raw list of driver names, one per line. C and C++ comments are still permitted. This file is parsed by a new build tool makelist which extracts the driver names, sorts them, and generates a file called drivlist.c, which is consumed by the core.
- Aaron Giles added new osdcore function osd_malloc_array() which is identical to osd_malloc() but obviously hints that the underlying allocation is for an array. Updated all callers to use the appropriate form. Modified the Windows allocator to only use guard pages for array-style allocations, allowing us to enable them once again in debug builds.
- Aaron Giles created new static class driver_list to wrap accesses to the list of available drivers. Improved speed of driver lookups by relying on the presorting done by makelist.
- Aaron Giles created helper class driver_enumerator as a helper for iterating through the list of drivers. This class supports basic filtering and iteration, and also serves as a temporary cache of machine_configs.
- Aaron Giles created cli_frontend object to wrap all the CLI handling code in clifront.c. Updated/simplified all the code to take advantage of the driver_enumerator.
- Aaron Giles created media_auditor object to wrap all the auditing functions in audit.c. Updated all users to the new interface. Note that the new auditing mechanism is slightly out of sync with the romload code in terms of finding ROMs owned by devices, so it may mis-report some issues until the new ROM loading code is in.
- Aaron Giles added concept of a per-device searchpath. For most devices, their searchpath is just the short name of the device. For driver_devices, the searchpath is driver [;parent[;bios]]. This searchpath will eventually be used by the rom loader to find ROMs. For now it is used by the media auditor only.
- Aaron Giles created info_xml_creator object to wrap all the info generation functions in info.c. Converted the file to C++ and cleaned up the input processing code.
- The Dumping Union updated model2.c: Corrected the revision level for Top Skater (USA) set.
- Ville Linde provided various improvements to the Konami Viper driver.
- O. Galibert updated midqslvr: Add some hardware information.
- James Wallace added reverse-spin support to the stepper motor simulator.
- James Wallace updated mpu4.c: Documented MOD 4 OKI program card ROM banking and improved the BwB characteriser emulation.
- Curt Coder fixed the I/O address in Intel 8257 DMA operations.
- Paulo Cabral provided fixes for non-native SDL builds on OS X.
- Aaron Giles provided delegates 2.0 implementation. Redesigned how delegates work to make them more flexible and simpler to use. Got rid of the proto_delegates altogether in favor of supporting delegates that are bound to NULL objects. Added a front-end template that supports "natural" syntax favored by libraries like boost. Added support for static functions that take reference parameters instead of pointer parameters for the object type. Updated all delegate users in the system to the new syntax.
- Aaron Giles changed the DIRECT_UPDATE_HANDLER to take a machine reference like everything else in the system. Updated all users.
- Aaron Giles changed the FUNC() macro to automatically put an & in front of the item passed. In general this works transparently, however it does have the nice side-effect of catching situations where a variable is passed instead of a function name. Fixed those cases to push the naming upstream so that the name is now provided properly. Also added a FUNC_NULL macro since FUNC(NULL) no longer works.
- Lord Nightmare updated tms5220.c: partially fixed perfect interpolation hack, disabled by default.
- O. Galibert updated the segas24 driver: Started untangling the Vogon poetry Atari Ace left is his wake. Applied the new timing implementation per cgfm's analysis. Gain ground is going to be stuck in free play mode.
- Lord Nightmare updated tms5220.c: fixed perfect interpolation hack the rest of the way, now it works as it did before 0.140 or so.
- Lord Nightmare updated tms5220.c: improved perfect interpolation hack slightly, should be less noisy after inhibit frames.
New games added or promoted from NOT_WORKING status
New clones added
New games marked as GAME_NOT_WORKING