Release Date

MAME 0.135u3 was released on 10 December 2009.


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:

  • Angelo Salese added Kusayakyu improvements:
    • Fixed color prom hook-up, tilemap color offsets and tilemap flipping.
    • Fixed sound and tweaked the frequencies in the driver.
  • Tafoid hooked up cocktail (P2) fire button in Tron so that it can be used in-game and in test mode.
  • Fabio Priuli added driver data struct and save states to:
    • gberet.c, ddrible.c, gaelco.c, trackfld.c, hyperspt.c, yiear.c
    • hnayayoi.c, hanaawas.c, higemaru.c, himesiki.c and sonson.c
    • galspnbl.c, gcpinbal.c, ginganin.c, go2000.c, goal92.c, goindol.c, good.c, gotcha.c, gotya.c, gstream.c, gumbo.c, gundealr.c, hitme.c, holeland.c & homerun.c
    • glass.c & homedata.c
    • fromance.c, fromanc2.c, ikki.c, imolagp.c, inufuku.c
    • jack.c
    • jangou.c, jantotsu.c, jollyjgr.c and jongkyo.c
    • kangaroo.c, karnov.c, kchamp.c, kickgoal.c, kingobox.c, kncljoe.c, koikoi.c, kopunch.c, ksayakyu.c and kyugo.c
    • ladybug.c, ladyfrog.c, lastduel.c, lwings.c, redclash.c and yunsung8.c
    • laserbas.c, laserbat.c, lastfght.c, lazercmd.c and lemmings.c
  • Fabio Priuli added driver data struct to:
    • galivan.c, jailbrek.c, sbasketb.c
    • alpha68k.c, amspdwy.c, gng.c, gunsmoke.c, hotblock.c
    • aerofgt.c and gyruss.c
    • hyprduel.c
    • pipedrm.c
    • ironhors.c
    • jackal.c
    • lasso.c
  • Curt Coder changed CDP1869 PAL/NTSC signal to use devcb.
  • Atari Ace converted cabal, mappy, toypop and zaxxon to use driver_data structure.
  • Angelo Salese and David Haywood added Cool Riders improvements:
    • Fixed regression.
    • Hooked up what it looks like a ROM->to->VRAM transfer...
    • Slightly improved booting.
    • Some hooks to allow FBI logo drawing.
    • Basic DMA hooked up.
    • Fixed program ROM memory map loading as per the service mode item.
    • Allow it to draw RAM-based chars, starts to show correct gfxs.
    • Fixed paletteram and implemented basic inputs.
    • Implemented DMA vram transfers.
    • Added Guru readme.
    • Hooked up videoram reading in drawing functions.
    • Some hook-ups for the text blitter.
  • Lord Nightmare mostly resolved mix of intel and motorola notation in tms32025 disassembler.
  • Lord Nightmare fixed cosmica2 romset rom split and names to match romset as described in mameinfo, which it matches (except for one rom which mameinfo is probably wrong about). The romset uses a different rom daughterboard to the other cosmica romsets, and different sized roms.
  • Fabio Priuli added shared driver data struct to 40love.c, bking.c, buggychl.c and msisaac.c (they use the same mcu emulation).
  • David Haywood added preliminary HNG64 additive tilemap blending.
  • Atari Ace fixed srcclean handling of embedded comments within strings.
  • Kevin Eshbach provided PCB documentation updates:
    • Added the board xtal's for Battlantis, Contra and Pandora's Palace.
    • Corrected the MCU dump for Pandora's Palace.
    • Added indication of an undumped PAL for Contra/Gryzor.
    • Added PAL dumps for Cruis'n USA - rev L4.1.
    • Added information on the PROM from the 2 Board version of Congo Bongo.
  • Roberto Fresca added Noraut Poker driver improvements:
    • Added new technical notes.
    • Added Kimble Z80 hardware support.
    • Added Prologic-Noraut hardware support.
    • Added proper discrete sound support to Kimble games and Prologic-Noraut Joker Poker.
    • Slightly adjusted the visual area. This can be wrong and must be rechecked.
    • Relocated the hardware notes and layouts to ROM_LOAD section, so can be seen/maintained in a cleaner way.
    • Fixed the default lamps state.
  • Atari Ace cleaned-up several drivers; added missing prototypes and removed dead ones, marked non-exported functions as static and removed cases of include "deprecat.h".
  • Roberto Fresca added a PCB layout for M.Kramer's Black Jack Poker, based on a hi-res pic. Also added undumped devices as NO_DUMP.
  • Fabio Priuli added common driver data struct to timeplt.c, tutankhm.c, junofrst.c, pooyan.c, rallyx.c and rocnrope.c (these drivers all use audio/timeplt.c). As a side effect, we now have save states in junofrst.c and rallyx.c.
  • Aaron Giles converted atari drivers over to using driver_data for the most part. Some shared systems still exist with globals, but this tackles the atarigen module and the variables local to each driver.
  • Aaron Giles added validity check that AM_BASE_MEMBER and AM_SIZE_MEMBER items point within the bounds of the driver_data structure.
  • David Haywood added Driver Configuration to astrof.c to emulate common wire hack which causes black background.
  • Angelo Salese worked around hard-locks at start-up for Aleck 64.
  • David Haywood identified Semicom's Dream World hardware as a copy of Psikyo's 68020 hardware (it was already known that their older platforms were copied from Snow Bros, and Tumble Pop).
  • Barry Rodewald provided i386 core improvements:
    • Fixed EIP displacement when executing FPU instructions with no 80387 present.
    • Added 32-bit implementations of SLDT and STR.
  • Fabio Priuli converted Kaneko Pandora sprite chip to be a MAME device and updated drivers accordingly.
  • Aaron Giles added tilemap_create_device() function which lets you create a tilemap from within a device, and be passed that device in your callback.
  • Fabio Priuli converted Signetics 2636 video chip to be a MAME device and updated drivers using it accordingly.
  • Aaron Giles provided memory system changes:
    • Memory banks are now referenced by tag rather than index. Changed all memory_bank_* functions to specify a tag. Bulk-converted existing banks to be tagged "bank##" in order to ensure consistency. However, going forward, the tags don't matter, so please name them something useful.
    • Added AM_BANK_READ/AM_BANK_WRITE macros to let you specify bank tags. Also changed AM_ROMBANK and AM_RAMBANK macros to accept tags as well.
    • Added new functions memory_install_read_bank_handler and memory_install_write_bank_handler to install banks by tag name, similar to input ports.
    • Changed internals of memory system to dynamically allocate all banks. The first time a bank with an unknown tag is installed, a new bank object is created and tracked internally.
    • Removed SMH_* macros entirely. In their place are a series of expanded macros and new memory installation helpers. Some mappings below (not all are new):
      • AM_READ(SMH_RAM) -> AM_READONLY
      • AM_WRITE(SMH_RAM) -> AM_WRITEONLY
      • AM_READWRITE(SMH_RAM, SMH_RAM) -> AM_RAM
      • AM_READ(rhandler) AM_WRITE(SMH_RAM) -> AM_RAM_READ(rhandler)
      • AM_READ(SMH_RAM) AM_WRITE(whandler) -> AM_RAM_WRITE(whandler)
      • AM_DEVREAD(tag, rhandler) AM_WRITE(SMH_RAM) -> AM_RAM_DEVREAD(tag, rhandler)
      • AM_READ(SMH_RAM) AM_DEVWRITE(tag, whandler) -> AM_RAM_DEVWRITE(tag, whandler)
      • AM_READ(SMH_ROM) -> AM_ROM
      • AM_WRITE(SMH_ROM) -> (was a no-op)
      • AM_READ(SMH_NOP) -> AM_READNOP
      • AM_WRITE(SMH_NOP) -> AM_WRITENOP
      • AM_READWRITE(SMH_NOP, SMH_NOP) -> AM_NOP
    • For dynamic memory handler installation of the various types, use the new functions:
      • memory_unmap_read()
      • memory_unmap_write()
      • memory_unmap_readwrite() -- unmaps a section of address space
      • memory_nop_read()
      • memory_nop_write()
      • memory_nop_readwrite() -- nops a section of address space
    • Cleaned up the internals of the address_map_entry structure, and also normalized the way the address map macros work to remove a lot of redundancy.
    • Renamed functions: memory_install_read/write_port_handler to memory_install_read/write_port.
    • Memory shares are now specified by tag instead of index. The AM_SHARE() macro now takes a tag parameter. All existing shares have been bulk renamed to "share##". However, the name does not matter, so please use descriptive tags going forward.
    • Added tag validation for bank and share tags.
    • Added flag to tagmap_add functions that optionally will replace existing objects if a duplicate is found.
    • Internal code shuffling. Address maps initialized internally now call the same installation handlers that drivers do for dynamic installation. Cleaned up some parameter ordering and error detection.
    • Added new functions:
      • memory_install_ram() to assign a un-named bank to a region and specify a pointer to where the RAM lives. If this is called in the DRIVER_INIT function or MACHINE/SOUND/VIDEO_START functions, then it is permissible to specify NULL, in which case the memory system will allocate memory and register it for save states.
      • memory_install_rom() is like the above except that it only installs a read handler.
      • memory_install_writeonly() is like the above except that it only installs a write handler.
    • Updated several instances in the code that were assigning banks to these sorts of static RAM regions and simplified the code.
    • Apply mirrors and global masks at address map detokenizing time rather than later.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING