MAME 0.104u5 was released on 9 March 2006.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- David Haywood hooked up the missing language jumper in the Psikyo 4 games.
- Olivier Galibert, Duddie, and smf added board notes to the Namco System 12 driver, hooked up the light gun in Ghouls Panic/Point Blank 2, and emulated Tekken Tag Tournament DMA protection (still not playable).
- Lawrence Gold fixed compilation of the old debugger on non-Windows platforms, and added mame_strnicmp along the way.
- Nathan Woods changed the NES PPU interfaces to follow new struct conventions.
- Andrew Gardner updated the disassembly comments support:
- fixed a 0-length comment bug (no more "// 0, " allowed)
- added comment output to the new debugger's dasm command
- changed the comment save path from /mame/comment to /mame/comments
- Nathan Woods added new debugger properties: logunmap, logunmapd, logunmapi which enable/disable logging of unmapped memory accesses.
- Adam Bousley added save state support to the Astrocade driver.
- Andrew Gardner made some small improvements to the Polygonet Commanders driver.
- Ryan Holtz added preliminary Thumb implementation for the ARM7 core. Many opcodes present, but there are definite sign problems.
- R. Belmont hooked up ARM7 protection CPU in KOV2. Boots but does not run or play due to the Thumb sign problems.
- Kopromaster fixed incorrect flags emulation in the 8080 CMA instruction.
- Nathan Woods added support for zero-length palettes (requires RGB direct mode) and several validity checks related to display variables.
- Derrick Renaud updated Windows input code:
- Now using RAWMOUSE mode if available. This means you can now use multiple mice in Windows XP. Lightgun support has not been changed yet.
- Added back DX7 support for the windows input system to support multiple mice. It was set to DX5 in 104u2.
- Removed the system mouse from the list of available mice on non-XP systems. This allows you to now properly select the individual mouse.
- Modified the Analog Axes selection of the player controls to be more responsive.
- El Condor cleaned up the video system in Scorpion 2 driver.
- Nicola Salmoria reduced the encryption in Gaelco games down to equations. These still need to be optimized, but the giant encryption tables are no longer needed.
- Atari Ace and Aaron Giles cleaned up include files in CPU/sound cores. CPU cores should generally only need to include cpuintrf.h. Sound cores should generally only need to include sndintrf.h.
- Aaron Giles fixed a bug that caused a full set of validity checks even on release builds.
- Aaron Giles added new debugger features:
- new command "print" is a simple way to display the result of one or more expressions
- new command "symlist" displays all the symbols registered
- all save state registered scalar globals are now available as symbols (prefixed by a '.')
- all save state registered global arrays are now available for viewing/editing in the memory window
- all registered memory regions are also available for viewing/editing in the memory window
- Aaron Giles made it a fatal error to request operations on invalid sound/CPU indexes. These have been logged to the error.log in the past, but really need to be cleaned up. Added a new function safe_activecpu_get_pc() that can be used when logging PCs to smartly detect whether or not it is safe to call activecpu_get_pc().
- Aaron Giles changed CPU init/reset callbacks. The init callback now accepts a number of parameters, including the CPU index, the clock, a generic configuration parameter, and a pointer to the IRQ callback. The reset callback no longer takes any parameters (the configuration parameter has been moved to the init callback). And the IRQ_CALLBACK getter/setter has been removed since this is now set up once at initialization time.
- Aaron Giles added mame_get_phase to determine which program phase (init/reset/running/exit) the system is in. This is intended primarily for assertions to enforce rules about when certain actions can be taken.
- Aaron Giles rewrote winalloc to be more dynamic, and to ignore memory leaks in the runtime.
- Aaron Giles fixed memcards properly. They are no longer hardcoded for the neogeo. The implementation has moved to generic/machine.c, and a callback handler very similar to NVRAM is now supported in the machine driver definition. Cards are created per-game, so the memcard directory now has a subfolder per game with each game's cards stored underneath.
New clones added
New games marked as GAME_NOT_WORKING