Release Date

MAME 0.124u4 was released on 23 April 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:

  • robiza made improvements to aerfboo2:
    • fix bg1 and bg2 offset
    • fix sprites
    • promoted to "working" (NO SOUND)
  • Curt Coder added a macro for the CDP1869 interface, and made write handlers optional.
  • robiza fixed offset sprite/background in kyugo.c.
  • Roberto Fresca fixed the 6502 family of disassemblers to show the correct bit to operate for BBR, BBS, RMB and SMB instructions. (65C02/65CE02 CPUs and variants)
  • robiza fixed 2 opcodes for quizf1: now the little machines move correctly.
  • Wilbert Pol converted the ppi8255 implementation to a device.
  • Wilbert Pol changed the inline validity checks to work around GCC bug #35885.
  • Aaron Giles expanded the set of memory accessor functions. In addition to direct byte, word, dword, and qword accessors for all bus sizes, there are now masked word, dword, and qword accessors for all bus sizes.
  • Nicola Salmoria, Corrado Tomaselli, and Charles MacDonald made further CPS1 improvements:
    • fixed layer enable at the end of stage 4 in Varth.
    • increased Varth CPU clock to 12MHz to reduce slowdowns (the game was released after sf2ce so the faster A-board was available).
    • verified more gfx rom mappings against PAL dumps (thanks to Corrado)
    • verified memory maps using A-board PAL dumps (thanks to Charles)
    • separated the address ranges for CPS-A and CPS-B customs. This finally clarifies why some registers are fixed and some change with every game.
    • identified three new unknown registers in the CPS-B-21 custom. Their purpose is unknown.
    • all unhandled accesses to CPS-A/CPS-B registers will now be reported. There shouldn't be any left. Look out for "contact MAMEDEV" popups.
    • cleaned memory maps. Moved forgotten worlds special input mmeory handlers to DRIVER_INIT.
    • moved extra input handlers to video/cps1.c since the extra connectors are on the C-board.
    • added sound to Final Crash.
    • lowered SF2 clock speed to 10MHz. This is on the assumption that, since the 12MHz A-Board is called "89626A-4 DASH", it should have started to be used with SF2 DASH--that is, sf2ce.
  • Aaron Giles inverted the sense of the memory mask that is passed to read/write handlers. Previously, the mask indicated which bits were NOT requested to be read/written. Now, the mask indicates which bits ARE to be read/written, which is more logical. Updated a number of drivers and the MIPS CPU cores to comply.
  • Roberto Fresca made Funworld updates:
    • Removed the temporary hack to jolyc980.
    • Updated technical notes
    • Moved snookr10 to its own driver.
    • Minor clean-up.
  • Luca Elia improved the IGS017 based games:
    • iqblocka: bypassed the protection, emulated the video hardware, inputs and sound.
    • tjsb: it now boots and has partially decrypted graphics.
  • Aaron Giles added new Windows option -watchdog, which creates a watchdog thread that forcibly kills the application after a certain number of seconds. Primarily intended to be used in regression test runs to handle the occasional hung game.
  • Corrado Tomaselli changed and verified cpu frequencies on kyugo.c games. Gyrodine and 99 the last war and clones run on the same board.
  • Mariusz Wojcieszek moved Microtouch touch screen controller emulation to separate module (machine\microtch.c).
  • Atari Ace changed behaviour so that specifying an invalid bios is now a fatalerror. Also, "default" is no longer a special BIOS type; if you want the default BIOS, leave the bios option blank.
  • Miodrag Milanovic made DEC T-11 CPU improvements:
    • HALT - now calls interrupt vector
    • ILLEGAL - had PC=0 at the end which makes code not run fine
    • MARK - now it is implemented
  • David Haywood removed a silly idle skip code in prehisle driver.
  • couriersud rewrote AY-3-8910:
    • adds a model to calculate mixing of channels with different resistance loads.
    • based on above, each channel may be assigned a different load in individual case, i.e. channels not tied together
    • rewrote ay8910.c to make emulation simpler
    • changed the config structure to include a flag field and output resistor loads.
    • Updated all drivers affected.
    • Added some "Todos" related to stuff I discovered when reading datasheets.
    • Fixed a bug in disc_flt.c (konami filters)
  • couriersud fixed discrete sound and konami filter addressing in galaxian driver. Also changed addressing of AY-3-8910 to be in line with schematics.
  • couriersud added discrete sound for filtering ("konami"-style) and mixing in gyruss.c.
  • Atari Ace changed code which used assignment in conditionals to break out the assignment.
  • Atari Ace converted a large number of Machine -> machine and removed #include "deprecat.h" where possible.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING