Release Date

MAME 0.129u4 was released on 17 February 2009.


The known contributors for this version are, in alphabetical order:

Major Change

With this build, sound chip were converted to devices.

Specific Contributions

The known contributions for this version are, in the order specified in the whatsnew:

  • Brian Troha added minor additional information and OSC info to volfied driver. Also added two BPROMs not included before.
  • Aaron Giles made Opcode accesses be now marked debugger_access. This is important with the recent changes to automatically call the read handler if the opcode base cannot be found. Changed logging for non-RAM opcode bases so that it does not output in the case of debugger_access being set.
  • Aaron Giles fixed logic for deriving direct ranges so that it uses the non-watchpoint-infected tables for its lookups.
  • smf changed memory_set_direct_region to pass the address returned from the DIRECT_UPDATE_HANDLER back to the memory read function.
  • Phil Bennett updated the 6850acia: Only adjust the rx/tx bit timers on a control write if the divide ratios have changed.
  • Nathan Woods added the ability to invoke CPU input lines with devcb callbacks. Changed sp0256 to use devcb callbacks. Updated sauro driver to use this new feature.
  • Brian Troha added PCB layout for Funcube and corrected rom names based on a hi-res photo of the PCB.
  • R. Belmont improved disassembly of R3000 code that uses the TLB or FPU.
  • Mirko Buffoni added new game Number Dieci:
    • Seems a IGS poker hack to comply with 2000's Italian law.
    • Sound synthesys have been replaced by OKIM Adpcm samples.
    • Some patched out routines have been recovered to allow test mode dsw mapping.
    • Mapped Stelle e Cubi to this memory map, something shows but graphic is from a bad dump.
  • Mirko Buffoni added new game PK Tetris:
    • Strange game with an amusement part (sort of Tetris mixed with Poker).
    • Amuse input not mapped, may be necessary for the amusement part which can be disabled via DSW.
  • Angelo Salese fixed various issues with "Il Pagliaccio" driver:
    • Fixed rom source reading for the blitter.
    • Properly use height/width params for the blitter.
    • Hooked up the backup ram.
    • Added basic inputs.
    • Removed deprecat.h dependency.
  • Angelo Salese provided further fixes with "Il Pagliaccio" blitter:
    • Fixed Transparency pens.
    • Fixed color pens for the charset.
  • Angelo Salese merged Strip Teaser and Il Pagliaccio driver, fixed the layer clearance for both and added a preliminary MCU simulation for the former.
  • Olivier Galibert relaxed 8 letter setname limitation for clone sets - this is designed to make it easier to add simple suffixes to clone names without truncating the original set name, it isn't designed to be abused and used as an alternate description.
  • Brian Troha added redumped sound CPU rom for Sega Water Ski.
  • Mirko Buffoni added original Super Poker 115IT:
    • Added because 3 Super 8 have SUPER POKER 115IT string inside. 3Super8 may be a hack, strings are the same, but code is different though still partially encrypted.
  • Angelo Salese added "global column coloring" for Super Draw Poker, colors are now 100% accurate.
  • Aaron Giles fixed disassembler for CPUs with address bus shifts.
  • smf added digital i/o board layout & initial information on the memory card board to the Konami System 573 driver.
  • Guru added extensive readme doc to the Sega X Board driver.
  • Olivier Galibert decrypted a large number of games in goldstar.c and sfbonus.c.
  • couriersud and Smitdogg provided a WIP mario update with some FIXMEs:
    • Created custom module for run sounds. Running the discrete sound system at 480KHz was not really optimal.
    • Reviewed parts list, schematics and pcb pictures.
    • Brought mario run sound in line with recordings from Smitdogg.
    • VCO voltage needs to be 0V for this to happen. Verification outstanding.
    • Capacitors needed some ageing applied as well. To be removed once the VCO issue is clarified.
  • Curt Coder refactored the ACIA6850 to use devcb.
  • Mirko Buffoni added a patch to Jackie driver, game now works:
    • Added complete reel emulation (thanks to Luca, Angelo and David drivers studied to better understand hardware similarities).
    • Press T to toggle amuse game, used to mask gambling activities.
  • Mirko Buffoni added Champion League:
    • Same encryption and patches used in Numero10, but on standard IGS Poker V220I board.
    • Reworked expansion rom memory map handler.
  • Pierpaolo Prazzoli added effect sound banking, coin counters and sprites - sprites priority to silkroad.
  • David Haywood made a bunch of improvements to the goldstar driver now that the sets are decrypted.
  • Aaron Giles converted all sound chips into proper devices. Merged the sound chip interface into the device interface, removing any differences (such as the whole ALIASing concept).
  • Aaron Giles modified every sound chip in the following ways:
    • Updated to match the device interface.
    • Reduced read/write handlers down to the minimal number.
    • Added the use of get_safe_token() for ensuring correctness.
    • Other minor cleanup.
  • Aaron Giles removed the custom sound device. The additional work to just make custom sound cases into full devices is minimal, so I just converted them all over to be actual devices.
  • Aaron Giles vastly simplified the sound interfaces, removing the ghastly sndti_* business and moving everyone over to using tags for sound identity. sndintrf, like cpuintrf, is now just a header file with no implementation.
  • Aaron Giles modified each and every driver that references a sound chip:
    • All memory maps explicitly reference the targeted device via AM_DEVREAD/AM_DEVWRITE/AM_DEVREADWRITE.
    • 16-bit and 32-bit accesses to 8-bit chips no longer use trampoline functions but instead use the 8-bit AM_DEVREAD/WRITE macros.
    • All references to sound chips are now done via tags.
    • Note that these changes are brute force, not optimal; in many cases drivers should grab pointers to devices in MACHINE_START and stash them away.
  • Brian Troha fixed a couple of dipswitches for Progress.
  • Roberto Fresca provided goldstar improvements:
    • Full inputs & DIP switches from the scratch for schery97, schery97a and skill98.
    • Changed the sets description to match the program version.
    • Cleaned-up the game driver zone for better organization purposes.
    • Added GAME_NO_SOUND flag to schery97, schery97a and skill98.
    • Added some program version notes.
  • Angelo Salese added sound and some scrolling registers to the sfbonus driver. Added flipx and basic inputs to the sfbonus.c driver.
  • Brian Troha updated the wheelfir.c driver with some additional information.
  • Brian Troha and Stefan Lindberg added correct rom names and PCB locations in the twincobr driver. Corrected and added missing proms for Flying Shark (and clones).
  • Guru added correct Midnight Run ROM names.
  • Phil Bennett added Read Parameter Register support to the hd63484. Moved logging behind a define.
  • Guru added PCB layout for Zoar. Corrected AY-3-8910 clocks and added missing PROM.
  • Roberto Fresca more improvements to goldstar.c:
    • Added 3 new machine drivers for the different Amcoe games hardware.
    • Added OKI M6295 support for speech/sounds to schery97, schery97a, skill98, pokonl97 and match98.
    • Fixed sound support to nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003.
    • Full inputs & DIP switches from the scratch for pokonl97, match98, nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003. All these were promoted to working state.
    • Fixed size and position of tilemaps visible area to match98.
    • More driver cleanups.
  • Curt Coder provided Cidelsa changes:
    • Combined CDP1869 video and sound parts to one device.
    • Refactored CDP1852 to use devcb.
  • Sonikos fixed input in hanaawas (note: for the second player used mahjong input like A,B,C....), also fixed yes/no button in hanaroku.
  • Luigi30 changes safarir CPU to 8085A, the disassembly has 8085A-specific code that an 8080 can't execute.
  • Guru added PALs and readme to midxunit.c.
  • Angelo Salese properly added the PPI8255 devices to Pit Boss and reorganized the inputs in these two games.
  • Angelo Salese corrected memory map for gardiab and promoted it to working.
  • Aaron Giles added the ability for devices to have their own custom inline config management. This was primarily added to allow for sound routes to be supported in a way that is compatible with the current driver structure. A device can now define a DEVICE_CUSTOM_CONFIG callback which is called whenever one of the MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_* tokens is encountered. A special token MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_FREE is defined to clean up memory allocated and/or reset the custom configuration, and is called when the device is torn down to allow for memory cleanup.
  • Tomasz Slanina provided various improvements to Far West (Iron Horse bootleg).

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING