MAME 0.128u3


Release Date

MAME 0.128u3 was released on 08 November 2008.


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:

  • couriersud changed 74123 into a device. Clarified behavior from datasheet. Added logic to avoid recursive calls.
  • stephh fixed Dip Switches for all games in halleys.c driver. Added Dip locations for 'halleys' and clones.
  • couriersud added the first results from schematics for Irem M10 hardware:
    • Updated video timing and cpu/pixel clocks.
    • Rewrote irq for m10/m11 to use two 74LS123.
  • R. Belmont made the naomi driver read unmapped words in the AICA address range as zero.
  • Aaron Giles converted toobin to RGB32 to allow for mid-screen palette updates. Also added correct video timing and full memory map, and connected watchdog.
  • stephh added Dip locations for 'exprraid' and clones, and for 'gyruss' and clones.
  • couriersud hooked up 6845 to peplus driver:
    • Hooked up 6845 in a daisy chain way into existing "6845 emulation".
    • Clocks from schematics.
    • Video size issues - 6845 code related, discussion started on list.
  • Aaron Giles re-inlined core attotime functions. This makes a significant difference when running with high interleaves.
  • Miodrag Milanovic added support for recently-discovered internal Z80 register to the Z80 core. Improves accuracy of undefined flags.
  • Phil Bennett changed superchs ES5505 clock rate to 15238050Hz.
  • Curt Coder reverted MC6845 changes as they broke a number of things.
  • Aaron Giles converted Z80, R3000, ADSP2100, and M680x0 cores to reference their data via pointers instead of global structs, in anticipation of future changes.
  • Angelo Salese fixed coinage in Speed Attack! and cleaned-up the driver to current standards.
  • couriersud converted the MCS-48, MCS-51, and m6502 cores to reference data via pointers.
  • Aaron Giles added concept of scheduling quanta to the timer system. Also added means of setting the minimum useful scheduling quantum, and clamping all quanta to that value.
  • Aaron Giles changed interleave/boost handling to use scheduling quanta instead of timers.
  • Aaron Giles added machine parameter to cpu_boost_interleave.
  • Aaron Giles updated cpuexec to compute the "perfect" interleave value taking into account the minimum number of cycles per instruction specified by the CPU core. Updated Z80 core to indicate that the minimum cpi is 2. Fixed incorrect minimum cpi in the 68020+ cores.
  • Aaron Giles changed core cycle computations to use div_64x32 instead of full 64-bit divides. This involves tossing a few bits of resolution at divide time, but should make no real difference in practice.
  • Aaron Giles Began the process of pruning options from the 68000 core, hard-coding it for MAME's needs. We've hacked on it sufficiently that it is no longer generic, so this is a good opportunity to simplify the code so that it can actually be followed (still in progress).
  • Aaron Giles defined macros for all core CPU functions, along with macros for the name and for calling, in the spirit of the devintrf.h macros.
  • Aaron Giles changed init, reset, exit, and execute interfaces to be passed a const device_config * object. This is a fake object for the moment, but encapsulates the machine pointer and token. Eventually this will be a real device.
  • Aaron Giles changed the CPU IRQ callbacks to a proper type, and added a device parameter to them.
  • EdxGROfS0 fixed background color of srmp1/srmp2.
  • Angelo Salese added various improvements in the ST-V driver:
    • Fixed bitmap zooming in Virtual Mahjong 2 - My Fair Lady.
    • Worked around a major graphic bug in ElanDoree.
    • Added some missing alpha blending effects, Pro Mahjong Kiwame S title screen needs it but it doesn't work yet due to other problems (still investigating).
    • Fixed a crash bug with Astra Super Stars when the debugger is active.
  • couriersud merged DS5002FP into MCS51:
    • Merged DS5002FP.
    • Disassembler now uses type specific memory names.
    • Merged DS5002FP disasm.
    • Added 83C751 memory names to disassembler.
    • Deleted DS5002FP specific files.
    • Removed unnecessary cpu callback in wrally.
    • DATA_MAP ==> IO_MAP in wrally.
  • Andrew Gardner, Phil Bennett and R. Belmont continued rewrite of the Motorola DSP56k CPU core:
    • Added proper clock speed to plygonet.c and internal divider to dsp56k.c.
    • Fixed up disassembler add/sub, 05xx, and bsr ops.
    • Handle mysterious uuuuF instruction found in plygonet add op.
    • Partially implemented add, sub, mac, mpy, inc, cmpm, macr, asr16, jscc, lea, and movec ops.
    • Added dual X memory read and data move with short displacement parallel moves.
  • Angelo Salese added some improvements to the Forte Card driver, not yet working.
  • Corrado Tomaselli changed Psicho Nics Oscar (japan revision 0) to (world revision 0) since there is no japan disclaimer.
  • Sonikos fixed missing inputs in expro02.
  • Razoola added CPS2 ROM updates to match PCB labels.
  • Atari Ace added ADDRESS_MAP_NAME macro, updated CPU cores to use it to reference internal address maps.
  • Atari Ace added include files for many drivers that never bothered before.

Game Support

New games added or promoted from NOT_WORKING status