MAME 0.137u2


Release Date

MAME 0.137u2 was released on 8 April 2010.


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:

  • David Haywood hooked up default NVRAM and fixed sample rom loading order in Championship Bowling.
  • Fabio Priuli updated snes.c: greatly simplified tile drawing routines, fixed a couple of small bugs in mosaic support, reworked debug functions to be detected properly in all games.
  • Fabio Priuli updated snes.c: improved VRAM accesses (they're invalid during active display) and DMA transfers (not all addresses can be accessed).
  • Fabio Priuli updated snes.c: enabled PPU->CPU hdma transfer and moved hdma variables to snes_state.
  • Fabio Priuli updated snes.c: updated HDMA to init/update according to Anomie's docs.
  • O. Galibert updated the namcos23 driver: first extremely rough 3D hookup.
  • smf changed the Killing Blade parent to the pgm bios.
  • R. Belmont hooked up tilemap scroll, improved raster IRQ in the namcos23 driver.
  • Fabio Priuli enforced abus validity check on dma reads, fixed possible tile and vram out of bounds bugs in snes.c.
  • David Haywood hooked up default NVRAM for Golly Ghost / Bubble Trouble.
  • O. Galibert added 3D model scaling to the namcos23 driver.
  • Angelo Salese heavily improved the slot 72 - poker game, it's now known to be actually Poker Monarch.
  • R. Belmont provided m680x0 FPU updates:
    • BCD packed decimal now supported, including k-factor.
    • Improved FSAVE/FRESTORE including FPU reset when restoring a NULL frame.
    • FREM instruction supported.
    • Better disassembly of FPU instructions.
  • Fabio Priuli updated superfx.c: added save states to the CPU.
  • Fabio Priuli updated snes.c: moved some more variables to driver state, set a few addresses as open bus and slightly changed SuperFX handlers not to access SNES WRAM.
  • O. Galibert updated the namcos23 driver: c361 fixes and address auto-increment.
  • Fabio Priuli provided further snes.c wip:
    • Fixed a bug in SPC7110 handlers (now Tengai Makyou Zero test reaches RTC tests and fails them, instead of getting stuck at MUL/DIV tests).
    • Implemented very preliminary (and currently broken) SPC7110 RTC emulation.
    • Updated DSP2 handlers to better reflect Overload's docs (problem and fix actually found by byuu).
    • Updated add-on chips handlers to reflect byuu's findings.
  • Fabio Priuli provided snes.c wip: fixed reserved memory address read not returning open_bus; fixed a few add-on chip reads not returning open_bus.
  • Aaron Giles made input_device pointers non-volatile. Since we return pointers to them in response to input_device_add(), ensure that the pointers don't change after subsequent adds.
  • Fabio Priuli fixed a SRAM size problem in snes.c and moved PPU registers handling to video/snes.c.
  • Fabio Priuli added save states to NES PPU and performed some minor cleanups in ppu2c0x.c.
  • Samuele Zannoli provided i386+ core updates:
    • Added CR4 register.
    • Added bswap instruction.
    • Added support for 4MB pages.
  • Samuele Zannoli updated chihiro.c: minor memory map update for running the BIOS.
  • Howard Casto provided gun output cleanups/hookups:
    • drivers\othunder.c: Changed Operation Thunderbolt output names to something more appropriate. (They were routed to LEDs.)
    • video\rastan.c: Hooked up output for Operation Wolf.
    • machine\midwunit.c: Hooked up outputs for Revolution X.
    • machine\midyunit.c: Hooked up outputs for Terminator 2.
    • drivers\seta.c: Hooked up outputs for Zombie Raid.
  • Alex Jackson provided i386/NEC disassembler updates:
    • Made "MOV AL, offset" etc (opcodes A0-A3) properly indicate a segment override prefix.
    • Corrected the disassembly of various NEC-only instructions (mainly V25/V35-only instructions).
    • Changed CPUINFO_INT_MAX_INSTRUCTION_BYTES on i86 and NEC from 15 to 8.
  • f205v added added correct ROMs to 'Dragon's Lair (Italian)' (dlital).
  • Roberto Fresca provided improvements to supdrapo.c driver:
    • Reworked inputs to match the standard poker inputs names/layout.
    • Hooked the payout switch.
    • Hooked a watchdog circuitery, that seems intended to reset the game and/or an external device.
    • Added machine start & reset.
    • All clocks pre defined.
    • Added ay8910 interface as a preliminary attempt to analyze the unknown port writes when these ports are set as input.
    • Figured out the following DIP switches: Auto Bet (No, Yes). Allow Raise (No, Yes). Double-Up (No, Yes). Minimal Winner Hand (Jacks or Better, Two Pair). Deal Speed (Slow, Fast). Aces Type (Normal Aces, Number 1). Cards Deck Type (english cards, french cards). Max Bet (5, 10, 15, 20).
    • Added NVRAM support.
    • Reorganized and cleaned-up the driver.
  • Harmony reworked the entire Nintendo 64 renderer to be class-based. More cleanup to follow.
  • Harmony removed texture_rectangle_32bit and fill_rectangle_32bit to hopefully generate a bug report which indicates any games using the modes.
  • Angelo Salese made pending IRQ clear if the IRQ enable flag is disabled in the SNES driver.
  • O. Galibert updated the namcos23 driver: fixed the zoom value.
  • O. Galibert updated the namcos23 driver: first stab at z-sorting.
  • Robbbert updated 8080/8085 CPU core to fix mametester bug 3227.
  • Angelo Salese Moved the i/o update status inside a timer in the SNES driver.
  • Oliver Stoneberg disabled unused variables and code based on cppcheck and VS2008 Code Analysis.
  • Harmony fixed some massive texturing issues in the new Nintendo 64 / RDP renderer.
  • Harmony disabled DRC versions of certain vector load/store operations in the RSP core in order to avoid geometry issues.
  • Harmony improved Rectangle drawing in the RDP core.
  • O. Galibert updated poly.c: made the parameter interpolation more robust.
  • O. Galibert updated the namcos23 driver: pushed the zclip a little to avoid poly.c issues for now.
  • Angelo Salese added boundary checks for MVN and MVP opcodes when in M mode in the G65816 CPU core.
  • Fabio Priuli added a new input type IPT_KEYPAD for MESS, to distinguish between fully featured keyboards and keypad controllers.
  • stephh updated skyarmy (skyarmy.c) :
    • Fixed Dip Switches and Inputs (after verification of the Z80 code).
    • Updated memory map to partially handle screen flipping.
  • stephh fixed Dip Switches and Inputs (after verification of the Z80 code) in scobra, scobrase, scobras, scobrab, suprheli, moonwar, moonwara, armorcar, armorcar2, tazmania, anteater, calipso, losttomb, losttombh, spdcoin, superbon (galaxian.c driver + galdrvr.c).
  • O. Galibert updated the namcos23 driver: found "force poly to front" bit.
  • Fabio Priuli updated info.c: added keyboard and keypad controls to xml output.
  • Angelo Salese provided the first step in supporting master cycle delays in the SNES driver.
  • Angelo Salese provided a basic implementation of the DMA master cycles steals in the SNES driver.
  • Angelo Salese provided a basic implementation of the memory map master cycle steals in the SNES driver.
  • Fabio Priuli fixed the DMA issue with S-DD1 games in snes.c.
  • ANY redumped IC26 for Rail Chase, added PCB board ID numbers and corrected the rom names for Rail Chase to segaybd.c.
  • Bryan Ischo added a check for the OPTION_READCONFIG option before executing the code which would attempt to incorporate configuration file settings into the current configuration, because if OPTION_READCONFIG is set to false, then there is no reason to even try to do this as every single configuration file will be ignored (because config files have been turned off by OPTION_READCONFIG)..
  • Bryan Ischo made core_strdup use osd_malloc instead of malloc.

Game Support

New clones added

New games marked as GAME_NOT_WORKING