MAME 0.141u4

From MAMEDEV Wiki

Release Date

MAME 0.141u4 was released on 25 March 2011.


Contributors

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:


  • hap decreased color saturation and alpha of internal fake shifter layout to make it less distracting.
  • Palindrome provided various Aristocrat Mk4 / Mk5 fixes.
  • Angelo Salese implemented proper vblank read-back on Aristocrat Mk-4 HW.
  • f205v updated the Naomi driver: Reorganized the driver to put games in order by type and put similar functionality together.
  • Roberto Fresca provided a bew driver for Winners Circle (Corona), dual CPU hardware.
  • Curt Coder exposed the M68000 supervisor flag for external MMUs to determine the current address space.
  • Curt Coder removed unnecessary machine parameter from device-specific input_port_read.
  • Curt Coder exposed the complete Function Code of the M68000 (instead of just FC2 as previously).
  • Roberto Fresca updated corona.c: Fixed the visible screen area to improve the Winners Circle aspect. Also fixed visible screen area and rotate properly the RE-800 sets. Minor clean-ups.
  • Aaron Giles converted core_options to a class. Removed a bunch of marginal functionality in favor of alternate mechanisms. Errors are now reported via an astring rather than via callbacks. Every option must now specify a type (command, integer, float, string, boolean, etc). Command behavior has changed so that only one command is permitted.
  • Aaron Giles changed fileio system to accept just a raw searchpath instead of an options/option name combination.
  • Aaron Giles created emu_options class dervied from core_options which wraps core emulator options. Added mechanisms to cleanly change the system name and add/remove system-specific options, versus the old way using callbacks. Also added read accessors for all the options, to ensure consistency in how parameters are handled. Changed most core systems to access emu_options instead of core_options. Also changed machine->options() to return emu_options.
  • Aaron Giles created cli_options class derived from emu_options which adds the command-line specific options. Updated clifront code to leverage the new class and the new core behaviors. cli_execute() now accepts a cli_options object when called.
  • Aaron Giles updated both SDL and Windows to have their own options classes, derived from cli_options, which add the OSD-specific options on top of everything else. Added accessors for all the options so that queries are strongly typed and simplified.
  • Atari Ace updated nmk/olympia/pacific/pce/phoenix/rare/seibu/seta to driver_devices.
  • Atari Ace updated sigma/stern/subsino/tatsumi/tch/tecfri/technos/tehkan to driver_devices.
  • stephh fixed Dip Switches and Inputs (after verification of the Z80 code) for roul (roul.c).
  • O. Galibert updated ksys573: Fixed some wrong machine driver selections.
  • Couriersud allowed serial receive without ES enabled.
  • smf added correct bitswap for Point Blank 3.
  • O. Galibert updated inptport: Added existence and used bits interface for automatic controller adaptation.
  • smf converted psx cpu core to c++.
  • Roberto Fresca provided corona.c driver improvements. A lot of input/output work, accurate periodic interrupt timing for sound CPU, meters, DIP switches, and other minor things. We got Winners Circle 82 playable.
  • Roberto Fresca provided more improvements to corona.c driver. Splitted new machine, memory map, and complete multiplexed inputs/outputs for Lucky Roulette type games. Also added NVRAM and inverted blitter.
  • Curt Coder implemented MC6845 row/column addressing mode.
  • hap made shift/alt+right work on channel volume sliders (fractions between 0 and 1 were always rounded down).
  • Tomasz Slanina provided splash.c driver improvements.
    • The Return of Lady Frog : added sound.
    • Funny Strip : added sound, patched few more protection checks, fixed sprite ram access.
  • Roberto Fresca provided lot of improvements/changes to corona.c driver. Input/output work and new set supported. Redumped the winner82 sound program.
  • Roberto Fresca did more work on corona.c driver.
    • Cleaned up and improved memory maps.
    • Added NVRAM to all winners circle sets.
    • Fixed the ay8910 clock for winners circle 82 type to match the other hardware.
    • Fixed a blitter buffer to bitmap problem.
    • Reparented the sets.
    • Added new technical notes.
  • hap updated carjmbre:
    • Used 4 bit clut instead of 3 bit.
    • Calculated palette with resnet info from Popper (same year, same company, very similar hardware).
    • Made bgcolor emulation more logical.
    • Small cleanups.
  • Brian Troha used correct roms for the Japanese 1941 set.
  • Alex Jackson provided major toaplan2.c updates:
    • Some sets reparented and renamed as well as a cleanup of source comments: grindstm (parent), vfive (clone) kingdmgp (parent), shippumd (clone) The set formerly known as "sstrikera" is now "sstriker" and is now the parent of mahoudai (clone). Reverted batrid to batrider and bkraid to bbakraid.
    • Put common init code into MACHINE_START, leaving DRIVER_INITs only for games that actually need unique initialization.
    • Dead code cleanup: Removed old hacks and some no-longer-used used member variables from the driver class.
    • ROM banking cleanup: Added a device address map for the OKI in fixeightbl. Stopped misusing the bank system for memory that isn't actually bankswitched (fixeightbl again) Simplified the Z80 ROM banking (and loading) in the Raizing games.
    • Address map cleanup: Unified 8-bit shared RAM handling between the Z80-based and the V25-based games. Replaced lots of pointless READ_HANDLERs with AM_RAM_WRITE. Moved fixeight EEPROM handling into the input ports instead of using READ/WRITE_HANDLERs. Incidentally, this makes toaplan2.c the very first MAME driver to use the AM_READWRITE_PORT macro.
    • Removed IPT_VBLANK input ports (no longer used since the video rewrite).
    • Removed Truxton 2 player 2 "button 4" (after confirming that the game never reads it) and changed player 1 "button 4" to an IPT_OTHER not bound to any key by default, since it's clearly some kind of test/debug input not meant to be hooked up in a regular cabinet (for one thing, it works whether you're actually playing or in attract mode).
    • Added button 3 to Batsugun Special Version. It's a full auto fire button like Cave games have. The service mode input test doesn't show it, presumably because Toaplan didn't bother to update the service mode code from the original version of the game.
    • Fixed region jumpers and dipswitches in many sets, based on analysis of the program code and strings in the ROMs.
    • Added a #define to optionally make Truxton 2 stereo (commented out by default). See the comments at the top of the driver and in the MACHINE_CONFIG.
    • Corrected kbash ROM names, thanks to information from Charles MacDonald. Also fixed inconsistent ROM naming between some of the batrider clones.
    • Loaded bbakraid default EEPROM as a ROM rather than hardcoding the contents into the driver.
    • Completely removed audio/toaplan2.c, which isn't needed any more now that all the V25s are decrypted and hooked up.
  • James Wallace provided technical changes to reel games.
    • Fixed lamp timing in MPU4 and laid groundwork for MPU3 support in the steppers (I've also cleared up the reel code in drivers).
    • Removed some unneeded timing code.
    • BwB support is here, but preliminary, it's mainly to show people how the CHR chip might work in those games.
  • Aaron Giles fixed enormous memory consumption when iterating through all drivers like -romident does.
  • Atari Ace converted namco/thepit/toaplan/unico/upl/valadon/veltmjr/venture/vsystem/zaccaria to driver_device. Also simplified unico and disentangled gridlee from balsente.
  • Atari Ace broke some driver entanglements to simplify future driver_device conversion efforts:
    • taito_f3 is disentangled from a number of other drivers by using an AM_SHARE tag instead of a common variable.
    • Several drivers are made into explicit subclasses of other drivers: 8080bw from mw8080bw, missb2 from bublbobl, quasar from cvs, taito_x from seta.
    • arcadecl is separated from rampart by duplicating the bitmap rendering code.
    • jaleco decryption code is moved to jalcrpt.c.
    • cischeat is separated from megasys1 by duplicating some video code.
    • mcr3 is partly separated from mcr.
    • machine/midwunit.c is split into wunit and xunit files with some code duplication.
    • midtunit gfx_rom variables are made distinct from midyunit variables, making midyunit independent of midtunit.
    • contants in namconb1 are duplicated/renamed in namcofl.
    • namcos2 uses of namcos21 are eliminated by introducing namcos2_kickstart.
    • toypop is separated from mappy by duplicating some video code.
  • Atari Ace moved non-buffered spriteram drivers away from using the generic spriteram in favor of using spriteram in their own driver_device classes.
  • Aaron Giles removed some legacy NVRAM_HANDLERs in favor of NVRAM devices.
  • Aaron Giles added M48T37 variant to timekpr.c. Fixed some bugs that caused registers to be initialized to 0xff and caused odd behavior. Updated to modern device timers.
  • Aaron Giles converted vegas to use M48T37 instead of its own implementation.
  • Aaron Giles attached emu_options to the machine_config, and the running_machine inherits it now.
  • Curt Coder mapped KEYCODE_BACKSLASH2 to the OEM_102 key (located between LShift and Z on international keyboard layouts).
  • Lord Nightmare fixed micro3d 8051 serial RX, todo: still needs CLEAR behind a 1 cycle callback.
  • Roberto Fresca improved inputs and complete DIP switches to Lucky Roulette Plus. Also, added new support for Ruleta RCI.
  • Ville Linde updated the model3 driver: added protection data for oceanhun (game still doesn't boot).
  • hap updated galdrvr.c: Added background color split to Anteater.
  • Atari Ace converted a number of drivers to use their own private spriteram instead of the generic one. Only drivers needing buffered spriteram should use the shared generic version for now.
  • Atari Ace continued eliminating global/static variables by moving them to the driver_device classes. Mostly drivers from misc.a, and some drivers recently which had dependencies removed.
  • Aaron Giles decoupled memory_region parameters from the ROMREGION flags.
  • Aaron Giles made path_iterator::next() take an optional filename to append to the path.
  • Couriersud fixed pleiades colours (high/low palette bits exchanged).
  • Curt Coder added DEVICE_SELF_OWNER support for device callbacks.
  • hap moved anteateruk/anteaterg to galdrvr.c.
  • Miodrag Milanovic added possibility of altering default input port setting for devices.
  • hap updated the Galaxian driver: Fixed sprite X offset.
  • Atari Ace continued moving global/static variables to the driver_device classes.
  • Aaron Giles removed unused static handler entries. Also ensured that subsequent mapping/ unmapping of static memory types does not change the memory parameters. This fixes the case where dynamically unmapping memory could lead to incorrectly reported offsets.
  • Aaron Giles removed some straggling const address_space references, and got rid of explicit const_casts in memory.h.
  • hap noticed that dedicated galxwars cabs are not b/w but have color maps For now, made galxwars use proms from another game and marked sets as bad dump/wrong colors.
  • hap updated contra.c: Changed main CPU to HD6309 as seen on PCB, and set interrupt source to k007121.
  • Atari Ace added driver_device classes for drivers that don't have any variables, for consistency (and future development).
  • Atari Ace further decoupled some driver files to help driver_device conversions.
    • cclimber and galaxian audio code and seibuspi decryption code get their own includes.
    • galpani2 video declarations are moved from kaneko16.h to their own file.
    • cchance and champbwl subclass from tnzs, xevious/bosco/digdug subclass from galaga and vmetal subclasses from metro.
    • yvg608 is made independent of namcond1.
    • ettrivia duplicates the palette code from naughtyb.
    • mshuttle decryption code is moved into galaxian.
    • tetrisp2_draw_sprites is split into two versions, one for ms32.c, one for tetrisp2.c.
  • Atari Ace converted asteroid/bzone/funworld/itech8/kongambl/legionna/leland/quakeat/quizpun2/segas24/twincobr/warpwarp to driver_device.
  • David Haywood moved Kaneko Super Nova sprite chip emulation inside its own file.
  • David Haywood updated the Deco 56 code: Allow rendering to a bitmap, with priority data intact, for manual mixing.
  • hap updated battlex.c: Some driver cleanups, most importantly:
    • Made interrupt generation more logical (assert/clear instead of hold).
    • Removed hacky hardcoded palette for background tiles, let it use palette ram.
  • Tafoid and Tomasz Slanina changed clocks based on confirmed XTAL and dumper's notes for Ambush and clones. Audio changed to AY8912 as well.
  • David Haywood converted Tattoo Assassins (and Night Slashers) to use deco16ic.c, fixing some corrupt graphics in Tattoo Assassins (which have been there since it was first added).
  • Atari Ace removed globals from a number of device-like shared systems and made them either statics or actual device variables.
  • Atari Ace converted cclimber/galpani2/gticlub/namcond1/pacman/seibuspi/tetrisp2/vicdual to driver_device.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING