Release Date

MAME 0.122u8 was released on 2 February 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:

  • Zsolt Vasvari added deprecat.h that contains some deprecated/discouraged contructs. The idea is to create extra work if a driver wants to use these and hopefully gives an incentive to look for an alternate solution. Added #include of deprecat.h that rely on these contructs. Removed a bunch of unneccassary #include's from these files.
  • Zsolt Vasvari made drawgfx changes:
    • Removed copybitmap_remap and copyscrollbitmap_remap, neither which was used by anybody
    • Removed some obsolete commented out code
    • Fixed up some comments
    • Removed TRANSPARENCY_NONE case from copybitmap_core, which can never happen
    • Removed TRANSPARENCY_BLEND completely and TRANSPARENCY_BLEND_RAW as an option to copybitmap. Source tree needs to be recompiled as the transparancy mode enum has changed.
    • Changed copybitmap and copyscrollbitmap. There are now 2 versions of each, one without and with transparency.
  • Jim Stolis corrected the previous i0851 timer fix to use more accurate IE SFRs.
  • Zsolt Vasvari updated jedi.c:
    • Changed video code to directly manipulate the game bitmap
    • Background smoothing now happens at the same time as the background is drawn
  • David Haywood fixed the CPS driver to at least display the correct clock in the driver info, by degrading the clock through alternate means.
  • couriersud made m62.c changes:
    • fixed wrong resistor value (22K to 2.2K) - verified on spelunkr and kidniki hires pcb pictures
    • Changed resistor network calculation based on assumption that cs line is active either on tiles or sprites color prom.
  • Brian Troha added PCB layouts for Penguin Bros & Puzzle De Bowling based on Hi-res pics. Corrected the seta2.c 68301 base clock as 50MHz / 3 (16.66666MHz) as all the Seta2 hardware has a 50MHz OSC. Secondary OSC are for other chips (28MHz and or 32.53047MHz).
  • Zsolt Vasvari simplified video code and adjusted some set names in the leland driver.
  • couriersud added checks for CROSS_BUILD=1 to omit building m68kmake.exe, verinfo.exe, png2bdc.exe and file2str. Enables building mame using mingw on linux.
  • Aaron Giles contributed various Irem driver updates:
    • Properly tagged m52 and m62 sound boards, plus variants.
    • Updated all connected drivers.
    • Merged memory maps.
    • Proper video timing in 10 yard fight.
    • Converted troangel to tilemaps.
    • Moved definitions to header files.
    • Updated mpatrol, yard to use resnet for colors.
    • Renamed mpatrol -> m52
    • Renamed troangel -> m57
    • Renamed yard -> m58
  • Zsolt Vasvari cleaned up 20pacgal driver, including driver state. Tried improving on the ROM mirroring, without any success.
  • Zsolt Vasvari removed colortables from a number of drivers, as part of a larger move to phase out old-style colortables: gotya, gyruss, ampoker, circusc, clshroad, champbas, 1943, lucky8, olibochu, yamato, appoooh, bking, bladestl, blueprnt, carpolo, centiped, cop01, cosmic, ddrible, irobot, ace, alpha68k, arabian, bfm_sc2, carjmbre, cclimber, cherrym2, combatsc, contra, fastlane, hcastle, labyrunr, cham24, multigam.
  • Philip Bennett removed non-existent, second M6295 from Hit the Ice. Fixes missing sounds (e.g. team select screen). Hit the Ice/Violence Fight now share the same sound CPU memory maps.
  • RansAckeR improved DIP switches according to manuals for the following drivers: wboy, chplft, extdwnhl, zingzip, zaxxon, congo, vanguard, zarzon, nibbler, segag80r.c, yard, kaneko16.c.
  • Brian Troha verified the sound roms for Rock'n 3 and added proper names. Added PCB layout for sound rom board only.
  • Aaron Giles cleaned up the Time Pilot sound board implementation:
    • full memory maps
    • partial machine driver removes need for replicating filtering logic
    • updated all relevant drivers
  • Aaron Giles cleaned up Time Pilot and Tutankham drivers:
    • correct clocks where possible
    • merged memory maps
    • fully decoded memory maps
    • replaced hacky sprite rendering in Time Pilot with partial updates
    • save state support
    • removed Power Surge kludge, replaced with unmapped handler control
    • Tutankham runs at 60fps, with IRQs every other frame
    • Proper IRQ ack in Tutankham
    • Proper NMI generation in Time Pilot
  • Aaron Giles cleaned up the pooyan driver. Save states, full memory maps, proper NMI generation, etc. Flipped video to align better with Time Pilot.
  • James Wallace changed the 6840 interrupt handling to work like the recent 6821 changes. Updated MPU4 driver accordingly. Updated Scorpion 2 driver to match MPU4 coding style.
  • Luis Faria resolved all unknown dips in the galpani2 driver according to kaneko's docs, unified memory maps of both CPUs and repositioned a pair of graphic ROMS.
  • RansAckeR made some minor improvements to 1942.c & 1943.c DIPs. Improved segas16a.c, segas16b.c & system16.c DIPs and added DIP locations from manuals.
  • Aaron Giles removed the distinction between *_gettotalcycles() and *_gettotalcycles64(). All functions now return 64-bit results. Updated all call sites appropriately.
  • kingshriek made further improvements to SCSP FM.
  • Aaron Giles moved cpu_getiloops() and cpu_scalebyfcount() to deprecat.h. Added #include "deprecat.h" where necessary to make this happen. Cleaned up cpuexec.c/.h to latest core style. Cleaned up implementation of extended INP header in inptport.c. Removed external access to cycles_currently_ran(). Replaced use of cycles_currently_ran() in v9938 code with mame_rand(), since that is effectively the same thing.
  • Brian Troha added dip locations to about half the games in seta.c.
  • Zsolt Vasvari removed the champbas color PROM. Now uses TRANSPARENCY_PENS instead of TRANSPARENCY_COLOR. Hooked up palette bank selector from schematics, though I am not sure if it is actually used by the code. Changed set names to match title screen, which is why baseball is spelt as "Base Ball".
  • Aaron Giles made some minor cleanup in the equites driver, including memory map merging.
  • Aaron Giles added a new option VIDEO_UPDATE_SCANLINE, which cases VIDEO_UPDATE to be called for every visible scanline. Removed manual implementation of this in timeplt, in favor of using the new flag. There are probably many more drivers that can leverage this.
  • Aaron Giles added stream_get_sample_rate(), stream_get_time(), and stream_get_sample_period(). These functions are not really tested yet -- make sure they give reasonable results when first used! Updated streams.h header to latest core style.
  • Zsolt Vasvari fixed reset crashes in all Z180 games. Removed the various busy loop and non-exact optimzations from the Z180 core.
  • Zsolt Vasvari correct colors in Birdie King 3 -- just needed a new dump. Fixed incorrect ROM names. Switched color decoding to use the resnet code.
  • stephh cleaned up the rockola.c driver. Fixed dip switches for all games. Added notes about the games.
  • Zsolt Vasvari reorganized the exidy440 audio code to make it easier to eventually use the MC3417/18 emulation directly. Added MC3418 variant support to the HC55516 audio code.
  • Aaron Giles updated the williams driver to use VIDEO_UPDATE_SCANLINE (most bitmap-based drivers should.) Converted to 32bpp to catch mid-screen palette tweaks. Removed some unnecessary read/write handlers.
  • Zsolt Vasvari improved colors in circusc, gyruss, gotya with the resnet code.
  • Philip Bennett made significant improvements to Lock-On. Added POLL input handling to the NEC V20/V30 core.
  • Aaron Giles changed debugger-related code to be based off a new makefile define (DEBUGGER) which sets a new compile-time define (ENABLE_DEBUGGER). This means that MAME_DEBUG no longer means "enable debugger", it simply enables debugging features such as assertions and debug code in drivers. Also removed the various levels of opbase protection in memory.h and always just turned on full bounds checking.
  • Luca Elia added some instructions to the H8/30xx CPU:
    • or.l ERs, ERd
    • rotl/shal.l ERd
    • not.l/neg.l ERd
    • exts.w Rd
    • sub/or/xor.l #Imm:32, ERd
    • bset/bnot/bclr.b Rn, @ERd
    • bst/bist.b #Imm:3, @ERd
    • bnot.b #Imm:3, @ERd
  • Luca Elia added H8/3007 & H8/3044 variants with their memory maps. Preliminary implementation of the H8/3007 timers.
  • Aaron Giles added AM_WRITEONLY as a shortcut for AM_WRITE(MWAx_RAM).
  • Aaron Giles cleaned up the Kangaroo driver:
    • documented MB8841 (needs to be decapped to get code)
    • proper video timing
    • full memory maps
    • simplified and more accurate video logic
  • robiza made more opcode improvements to Risky Challenge.

Game Support

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING