0.126u3 2008/07/31 [#448 - Aaron Giles] --------------------------------------- MAMETesters Bugs Fixed ---------------------- - 00456: [Graphics] combascb: Missing Most Graphics (Fabio Priuli). - 02023: [Crash/Freeze] irobot: hang (Aaron Giles). - 02043: [Crash/Freeze] All games in cps2.c: All Parent Sets for CPS2 Games Abort (Firewave). - 02045: [DIP/Input] wofhfh: Player 3 inputs aren't working (stephh). - 02046: [DIP/Input] cachat, tubeit: screen upsidedown (Fabio Priuli). - 02050: [DIP/Input] skyfox, exerizrb: Issue with credits input (Fabio Priuli). New games added or promoted from NOT_WORKING status --------------------------------------------------- Galaxi [Luca Elia] New clones added ---------------- Killer Instinct 2 (v1.3k, upgrade kit) [Brian Troha] (NOT WORKING) Pool 10 (italian, set 3) [Roberto Fresca] New games marked as GAME_NOT_WORKING ------------------------------------ Bust a Move 2 (JAPANESE ROM ver. 1999/07/17 10:00:00) [R. Belmont] Source changes: --------------- - More documentation on the Kiki KaiKai MCU [Guru, Brian Troha]. - A bit more cleanup in the gottlieb driver, still incomplete [Aaron Giles]. - Verified Free Kick PROMs and improved documentation [Brian Troha]. - Added the ability to pass an optional destructor to ui_menu_alloc_state() [Nathan Woods]. - Updated to build with the latest DirectX SDK, which doesn't support Direct 3D 8 & Direct Input 7. By default, the makefile is set up to compile the old way, but you can set DIRECT3D=9 and DIRECTINPUT=8 in windows.mak or on the command-line to build with a more modern SDK [smf, RansAckeR, uRebelScum]. - Irem m63 - adjusted AY frequencies to proper 1.5 MHz [Stefan Lindberg]. - DSP56156 CPU Core updates [Andrew Gardner]: * Rewrote core logic, communications, and interfaces. * Added three parallel memory moves to the disassembler. * Initial interrupt logic in place. - plygonet.c updates [Andrew Gardner]: * All communication hacks have been removed. * Memory maps have been temporarily reverted while new DSP56k CPU core catches up. - Merged memory maps for beezer.c, bishi.c, and bladestl.c [Andrew Gardner]. - AICA updates [Deunan Knute, ajax16384, R. Belmont]: * Fixed ADPCM decoder to remove bad optimization and match YMZ280B. DC offset is fixed and output quality is higher. * Improved handling of slot monitor and timers B and C. * Simplified interpolation code. - SH2DRC: Add PC-relative load optimization and ability to disable if necessary [R. Belmont, based on an idea by Mariusz Wojcieszek]. - Changed the way memory regions are referenced. Instead of a single integer value, regions are now referred to by a region tag. The region tag must be unique among all regions defined for a given game. This change required updating all the ROM region definitions in the project to specify the tag instead of region number [Aaron Giles]. - Updated the core memory_region_* functions to accept a tag instead of an integer. Added new memory_region_next() function to allow for iteration over all memory regions [Aaron Giles]. - Changed the auto-binding behavior of CPU regions. Previously, the first CPU would auto-bind to REGION_CPU1 (that is, any ROM references would automatically assume that they lived in the corresponding region). Now, each CPU automatically binds to the region with the same tag as the CPU itself. This behavior required ensuring that all previous REGION_CPU* regions were changed to regions with the same tag as the CPU [Aaron Giles]. - Introduced a new auto-binding mechanism for sound cores. This works similarly to the CPU binding. Each sound core that requires a memory region now auto-binds to the region with the same tag as the sound core. In almost all cases, this allowed for the removal of the explicit region item in the sound configuration, which in turn allowed for many sound configurations to removed altogether [Aaron Giles]. - Updated the expression engine's memory reference behavior. A recent update expanded the scope of memory references to allow for referencing data in non-active CPU spaces, in memory regions, and in EEPROMs.However, this previous update required an index, which is no longer appropriate for regions and will become increasingly less appropriate for CPUs over time. Instead, a new syntax is supported, of the form: "[tag.][space]size@addr", where 'tag' is an optional tag for the CPU or memory region you wish to access, followed by a period as a separator; 'space' is the memory address space or memory class you wish to access (p/d/i for program/data/I/O spaces; o for opcode space; r for direct RAM; m for memory regions; e for EEPROMs); and 'size' is the usual b/w/d/q for byte/word/dword/qword [Aaron Giles]. - Cleaned up ROM definition flags and removed some ugly hacks that had existed previously. Expanded to support up to 256 BIOSes. Updated ROM_COPY to support specifying a tag for the source region. Also updated the address map AM_REGION macro to support specifying a tag for the region [Aaron Giles]. - Updated debugger windows to display the CPU and region tags where appropriate [Aaron Giles]. - Updated -listxml to output region class and tag for each ROM entry [Aaron Giles]. - Changes to lucky74.c driver [Roberto Fresca]: * Pre-defined CPU and SND clocks. * Switched the color system to RESNET calculations. * Completed the remaining DIP Switches. * Added lamps support. Created a layout to show them. * Changes on the interrupt system (need to be verified on the PCB). * Renamed the graphics regions to more descriptive names. * Corrected the manufacturer's name. * Splitted the driver to driver + video. * Updated technical notes. - Changed unmapped read for mspacman to see if it changes tunnel behavior [David Haywood, as suggested by dwidel]. - SH2DRC: add SUBV, replace ADDV with C version as a precaution. (Fixes most of Mantis #2026, except the part which is a separate bug). Added new implementation which uses flags directly, keeping the C versions in reserve in case they are needed [R. Belmont, Aaron Giles]. - Added more validation to the address map detokenization, in order to catch cases where multiple read/write handlers are assigned to a range. Fixed cases in the code that failed these checks [Atari Ace]. - i8051 cpu core timer updates [Wilbert Pol]: * Added support for timer mode 0 (13 bit timer). * Cleaned up timer code a bit, fixing some off-by-one errors when timers overflow. - Naomi updates [Samuele Zannoli]: * Refactors many global and static variables in video\dc.c into a structure to hold the tile accelerator state * Textures should be better decoded with more pixel formats. * Adds placeholders for some register probably used by the dimm board 4) corrects a little error in a ROM board register (very important, now at least the gdrom games try to start). - Added region and regionbytes fields to the deviceconfig, which are auto-filled by the device manager before starting the device. This simplifies the auto-binding process for devices. Added new selector for device-specific ROM regions. Not yet wired up in the ROM loader [Aaron Giles]. - Simplified SH2 DRC shift/rotate instruction implementations [Aaron Giles]. - Fixed menu handling so it doesn't swallow the tab key [Aaron Giles]. - Changed symbol table reference parameters to void * from UINT32 [Aaron Giles]. - Enable strict PC relative loads for ST-V games; at least 'Cotton Boomerang' needs them [R. Belmont]. - Added new option 'cheatpath' to specify one or more paths for cheat files. Removed old option 'cheat_file' [Aaron Giles]. - Updated xmlfile.c to specify the line number for each node, for more accurate error reporting [Aaron Giles]. - Removed old cheat.c/.h and replaced them with code that will read and write the new XML-based cheat format using the new cheatpath option (cheats still need to be enabled in order to load at all). Note that the cheats are not implemented yet, but they are fully parsed. To test saving, whenever a cheat file is successfully loaded, it is immediately written back out as 'output.xml' to the cheat directory for validation [Aaron Giles]. - Minor cleanups [Oliver Stoenberg]: * Removed of unprintable chars (newlines) in SH-2 disassembler. * Removed a few unnecessary checks after malloc_ort_die() calls. - Changed two romload.c warnings to use GAMENOUN instead. * Added "deprecat.h" in a few src/mame/drivers files. * Cleaned up the mame.mak by adding all missing defines and grouping them based on cpu.mak. * Renamed video_exit() to winvideo_exit() for consistency in function names. - Changed commented-out functions to #ifdefs [Atari Ace].