MAME 0.101u3 was released on 24 October 2005.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Buddabing added preliminary save state support to Missile Command and Battlezone.
- Sonikos fixed some dips in Pop's Pop's.
- Nathan Woods updated PowerPC core to use new disassembler style.
- Nathan Woods merged in recent updates from MESS PC emulation code.
- Pierpaolo Prazzoli added sprites banking, tile banking, sound banking, and a couple of DIP switches to Egg Hunt.
- Nathan Woods updated 6502 family of disassemblers to the new disassembler style. Added internal memory maps for the m6510 and m4510 CPU cores. Updated m4510 to use address translation hooks.
- Nathan Woods reduced how often the debugger display is refreshed if stepping and steps_until_stop is a high number. This makes commands like 'step #10000' a bit more usable.
- Lawrence Gold fixed MESS UI code that prevented P and Esc from being intercepted properly.
- Nathan Woods updated i86 and i286 cores to hook into the new i386 disassembler.
- Aaron Giles added MMU support to the MIPS3 dynamic recompiler. Re-enabled it by default. Added direct fast RAM access to the dynamic recompiler, as well as optional hotspot optimizations. Most games should show a net speedup over the pre-MMU compiler.
- Aaron Giles fixed FPU decoding and a few other minor issues in the i386 disassembler.
- Aaron Giles added rudimentary hotspot detection to the debugger. Type "help hotspot" for details on how it works.
- Aaron Giles cleaned up the way the debugger hooks into the memory subsystem. Now, on each CPU switch, the debugger queries the memory system for callbacks to be called on every read/write. This allows more efficient watchpoint tracking and allows for non-watchpoint debugging behaviors like the hotspot detection.
- Aaron Giles changed the way encrypted CPU memory is allocated and managed. Previously, memory_set_opcode_base() was used to set a single pointer to the decrypted opcodes; however this presented a number of limitations. Now that all RAM and ROM-like regions are assigned banks, the memory system now tracks decrypted opcodes per bank. For implicit banks (marked RAM or ROM in the memory map), a new function memory_set_decrypted_region() configures which areas of the address space contain decrypted opcodes and where the decrypted opcodes live. For explicit banks, there is a new function memory_configure_bank_decrypted() which operates identically to memory_configure_bank() but specifies a pointer to the decrypted opcodes on a per-bank basis. Updated all drivers using the old mechanism to the new mechanism and removed the old system.
- Aaron Giles thanks to the new opcode handling, removed "RAMROM" support from the memory subsystem altogether, and updated all drivers to simply limit their decryption to areas that the CPU decrypted.
- Aaron Giles fixed activecpu_dasm() and cpunum_dasm() to detect the presence of an updated disassembler and wraps the calls to that rather than crashing.
New clones added