0.125u5 2008/06/12 [#440 - Aaron Giles] --------------------------------------- MAMETesters Bugs Fixed ---------------------- - 00251: [Sound] spdcoin: Sound isn't perfect. There are many static pops to be heard, and volume is very low (Couriersud). - 00971: [Color/Palette] spdcoin: In a reverse of the artwork bug, the blue background has been replaced with a black one (Couriersud). - 01190: [Color/Palette] punchout, spnchout: The colors of the title logo and letters on the top and bottom should be different than each other (Nicola Salmoria). - 01693: [Sound] jackal, jackalj, topgunbl, topgunr: After you get in the jeep the music stops (Nicola Salmoria). - 01827: [Interface] All sets in galaga.c: DIP switch information is not being readded properly when .CFG is read (Couriersud) - 01863: [Multisession] mwalk and clones: Crash on multisession (Atari Ace). - 01864: [Interface] -listxml still crashes (Aaron Giles) - 01865: [Graphics] nbapbp: The graphic is completely wrong (Aaron Giles). - 01870: [Graphics] skylance, skylancr: cocktail mode, player 2's shots are offset from player's position (Nicola Salmoria). - 01871: [Documentation] officeye: Misspelled title (robiza). - 01880: [Color/Palette] All sets in mrdo.c: Color Regression (Nicola Salmoria). - 01884: [Core] mtetrisc, vivdolls, starsldr (maybe all): (MAC OS) crashes with "Illegal instruction" message (Aaron Giles). - 01885: [Misc.] astdelux, astdelu1, astdelu2: Fatal Error: Unable to locate input port 'DSW' (Fabio Priuli). New games added or promoted from NOT_WORKING status --------------------------------------------------- Player's Edge Plus (PS0014) Super Joker Slots [Jim Stolis] Player's Edge Plus (PS0022) Red White & Blue Slots [Jim Stolis] Player's Edge Plus (PS0043) Double Diamond Slots [Jim Stolis] Player's Edge Plus (PS0045) Red White & Blue Slots [Jim Stolis] Player's Edge Plus (PS0308) Double Jackpot Slots [Jim Stolis] Super Rider (Italy) [Luca Elia] SWAT Police [Brian Troha] New clones added ---------------- Head Panic (ver. 0117, 17/01/2000) [Brian Troha] Tank Force (US, 4 Player) [Brian Troha] Videomat (polish bootleg) [Roberto Fresca] New games marked as GAME_NOT_WORKING ------------------------------------ Cal Omega - Game 18.7 (Amusement Poker) [Roberto Fresca] Euro Jolly X5 [Roberto Fresca] Grand Prix [Roberto Fresca] Mystery Number [Roberto Fresca] Shark Party (Italy) [Luca Elia] Squash (Itisa) [f205v] Victor 21 [Luca Elia] Victor 5 [Luca Elia] Source changes: --------------- - Updated 68681 DUART [Mariusz Wojcieszek]: * Converted to device interface. * Converted to 8 bit device. * Added input and output port. * Added X1/16 timer. - Fixed compilation error when neither HAS_PPC403GA nor HAS_PPC403GCX are defined [Nathan Woods]. - Additional documentation in the TMS5220 and SN76496 cores [Lord Nightmare]. - Fixed handling of the U register in the RET instructions and when taking an interrupt in the Nintendo Minx cpu core [Wilbert Pol]. - suprnova updates [David Haywood]: * Now uses its own draw roz function, which supports linescroll or columnscroll, and will give us the ability to 'render' priority data (with roz applied) from the flagsmap to a temp bitmap to work with. * Priorities should be correct from start to end in cyvern now still not perfect tho. * Added a note about what needs fixing for the sengekis sprite zoom (shrink flag we're not handling). * Allow wraparound to be turned off (sarukani..). - Italian gambling games based on H8/3337 MCU + NEC D7759GC [Roberto Fresca]: * Corrected year and manufacturer to ntcash and wizard. * Sorted the games by year. - Simplified m90 video update routine [robiza]. - Improvements to bomblord (bbmanw clone) [robiza]: * Partially fixed the background * Fixed the sprites. * Implemented video register for selecting different resolutions; this fixes graphic in the game screen. * Fixed scroll video register. * Cleaned up offset and priorities. * Implemented linescroll. * Promoted to working. - Improvements to dynablsb (dynablst clone) [robiza]: - partially fixed the background - fixed the sprites - fixed mark for last sprite - fixed player #1 and player #2 controls. * Fixed graphics layer and offset. * Fixed layer select. * Implementated the scroll video register. * Cleaned up offset and priorities. * Promoted to working. - Numerous improvements to the blackt96 driver [David Haywood]. - Fixed colortable creation in Mr. Do driver. Fixed diode voltage drop value which caused apples to be orange instead of red-orange. The title screen now perfectly matches http://www.flickr.com/photos/arecee/2384126902/sizes/l/ including the logo outline [Nicola Salmoria]. - Jackal driver improvements [Nicola Salmoria]: * Fixed palette animation (very subtle!). * Verified on the schematics and on the pcb that the high score table text cannot change color. * Removed the IMPERFECT_GRAPHICS flag. * Fixed music with a kludge (overclock sound CPU). * Added dip switch locations and sorted input ports. - Simplified palette handling in punchout. Fixed big sprite palette in top monitor [Nicola Salmoria]. - Cal Omega driver [Roberto Fresca]: * Cleaned up the driver following the MAME Coding Conventions. * Added support to Game 18.7 (Amusement Poker). * Improved the input system for some games. * Fixed some wrong color codes. * Updated technical notes. - New driver for italian gambling games based on Mitsubishi/Renesas M16C MCU family. Added dumper notes, hardware details and hooked the sound devices. Moved Euro Jolly X5 to this new driver, and add support for Grand Prix [Roberto Fresca]. - Improvements to Sandii' games driver [Roberto Fresca]: * Fixed the tilemap size. * Fixed the screen size. * Updated technical notes. - Changed map command in the debugger to now perform separate read/write/fetch lookups [Aaron Giles]. - Fixed AY-3-8910 output mode in Draco [Curt Coder]. - 'Thayer's Quest' changes [Curt Coder]: * Cleaned up driver. * Added LED layout from 'Dragon's Lair'. * Mapped keyboard and dips correctly. * Added laser disc drive selection. * Fixed Z80-COP communications. * Figured out ports from disassembly. * Added cart presence detection logic. * Fixed SSI-263 timings, service mode works now. * Changed to use COP421. - COP4xx [Curt Coder]: * Fixed LEI instruction. * Added COP421 variant. - Moved calipso, spdcoin, superbon, moonwar and moonwara to galaxian.c [Couriersud]: * superbon: Change name to Agent Super Bond and Manufacturer to "Signatron USA". * superbon: Change year to 1985 following information on arcadeflyers.com. * Removed armorcar remains from scobra.c. - In the i8051 core, timer 0's second split counter was incorrectly checking the Timer 1 Run Control Bit. Fixed it [Jim Stolis]. - PEPlus driver updates [Jim Stolis]: * All video slot titles now accept coins and play normally. * Renamed peps0716 to its proper name "River Gambler Slots", instead of "Quarter Mania Slots". * Updated peps0716 to use the proper CAP. * Replaced peps0615 to use a CAP with closer colors (still wrong). - Added alternate layout for World Rally 2 PCB [Mirko Mattioli]. - Added sound emulation to 'Dacholer' and 'Kick Boy' [Tomasz Slanina]. - Cleaned up the usage of Machine in many of the src/video files [Oliver Stoenberg]. - Correctness pass over the source tree [Atari Ace]: * Added static qualifiers where appropriate. * Added missing #include statements, source comments and header declarations. * Removed dead declarations. * Added ~30 header files for a number of drivers. * Consolidated various cchip declarations. - Improved 8085 timing and fixed flag calculations based on differences between it and the 8080 [Miodrag Milanovic]. - Converted a number of drivers over to using input_port_read() from input_port_read_indexed() [Fabio Priuli]. - Updated cheat system [ShimaPong]: * Changed the function of default memory read in case of the search to prevent from crashing if a game uses cpu_spinutil(). Now basically used do_memory_read() instead of do_cpu_read() (try to search in actfancr between this and previous version). NOTE : It's not fundamental solution but no longer crash. * Cleaned up read_data() and write_data(). * Cleaned up save/load routine and added open_cheat_database(). * Added new menu "Cheat Commands" into the cheat main menu the following commands are supported in this menu. * Reload cheat code (the same as Reload Database key). * Cheats ON/OFF (the same as Toggle Cheat key) * Watchpoints ON/OFF (the same as Shift + Toggle Cheat key). * Save description (save the title of the game). * Save raw code (save raw cheat code with new format). * Fixed several bugs which has found in testing. * Renamed functions based on coding guidlines. - Added option -[no]coin_lockout (-[no]coinlock) to control coin lockout behavior [Aaron Giles]. - NeoGeo updates [Johnboy]: * Updated Neo-Geo game PCB infos. * Marked kof2001h AES VERSION. * Marked samsho3a MVS VERSION. * Marked 2020bba AES VERSION, renamed p1 and added a note. * Renamed lastsold p1 to correct chip label 134-p1k. * Checked other Korean sets, found similar ID change; renamed accordingly. * Renamed rbff2k p1 to 140-p1k. * Renamed fswords p1 tp 187-p1k. * Renamed aof3k p1 to 196-p1k. * Added comment to kof99n: Korean version? * Renamed (mslug3n) to (mslug3h), Marked AES VERSION, changed mamedriv.c. * Remove BAD_DUMP from kotm, add correct m1. * Correct s1 layer size in samsh5sp + clones. * Removed BAD_DUMP from burningf + clone. * Added correct m1 to lbowling. * Added correct m1 to socbrawl + clone. * Added correct m1 to mutnat. * Added correct m1 to joyjoy. * Added correct c1/c2 and s1 to marukodq. * Renamed p-roms in wh1 and wh1h, added comment. * Added some comments about 'M1' and 'S1' roms. * Renamed files in kof2001 to correct chip label, changed m1. * Corrected set pbobblen as found on MVS cart, added notes. - Added bilinear filter option to software rendering. Not hooked up to anything yet [Aaron Giles]. - DRC UML changes [Aaron Giles]: * Separated conditions and flags into two separate fields * Added more extensive per-opcode information. * Made validation more thorough using the extended information. * Disabled back-end validation for now until it can be revisited using the new tables. * Changed GETFLGS encoding so that the mask is in parameter 2 instead of the flags field. * Wrote new disassembler based on enhanced opcode info structure. * Moved disassembler into drcuml.c and removed old code. * Extended disassembler buffer sizes to at least 256 bytes. * Removed explicit flag requests from the shorthand opcodes. * Added optimization function to drcuml which is called at block end. * Added logic to compute the necessary flags based on upcoming opcodes and only select those flags which are required. * Added NOP opcode. * Added logic to simplify opcodes as much as possible at the UML layer. * Removed similar logic in the x86 and x64 back-ends * Added stricter parameter validation for registers and mapvars. * Improved disassembly output * Added simple symbol table to the UML for improved disassembly. * Changed optional disassembler cache parameter to a drcuml object. * Fixed STORE opcode description to allow immediate source operands. - DRC frontend changes [Aaron Giles]: * Changed from tracking "live" registers to tracking "necessary" registers. * Genericized register tracking to be more flexible. * Added previous instruction pointer to opcode descriptions. - PowerPC recompiler [Aaron Giles]: * Fixed bug where a branch and link to the link register would overwrite the link register before fetching the target address * Updated to no longer explicitly specify flags. * Added symbols for most common variables. * Fixed bug in handling XER carry flag for subo. forms. * Simplified flag insertion logic for opcodeo. forms. * Rewrote lswi/stswi as subroutines. * Made accesses to tempdata explicitly dword or qword. * Fixed SRR0 when generating a syscall. * Removed no longer necessary TESTs on extsb/w, rlwinm, rlwnm, rlwimi, cntlzw. * Fixed bug where the SO flag was not being computed for compares. * Fixed flag computations for mulhw/mulhwu/mullw. * Fixed subtlety of shifts between 32 and 63 in srw/sraw. * Fixed mffs/mtfsf to use FP registers. * Fixed mtfsfi to use the immediate value properly. * Now marking terminal count bit in DMA status register. * Added support for 4XX protection registers via the MMU. * Added TLBH, TLBU, and DEC to the list of registers in the debugger. * Turned off "end of transfer" DMA signals in favor of "transfer count 0" signals; fixes memory-to-memory DMA in fiveside. - Minor flags optimizations: * broke CR into several individual bits of state * extracted the SO bit from XER into its own state - cleaned up register tracking implementation * Fixed numerous errors and shortcomings in the tracking. * Added support for removing unnecessary XER CA and CR0 computations. * Updated UML logging to output new frontend statistics. * Added basic cycle counts for longer instructions. * Added penalty for polling timebase and decrementer registers. * Fixed dependencies in cpu.mak. * Reduced address bus width of 4XX series to 31 bits per the documentation. * Fixed bug that would jump to incorrect PC after filling the TLB during a mismatch event. * Added explicit address truncation to 31 bits for 4XX series. * Added new PPCDRC_ACCURATE_SINGLES option, which removes the excessive (and very likely unecessary) extra rounding when performing the "fast" single-precision floating point ops. * Fixed TLB filling for 4XX protection ranges. * Fixed parameter ordering for masked reads/writes. * Added detection of MMU enablement in 403GCX case. * Fixed bug in protection bounds violation detection for 4XX. * Changed SPU receive model to a push model; updated drivers accordingly. - Added macros for setting the SPU transmit handler and sending bytes. * Cleaned up ppc.h. * Fixed lmw/stmw if rA is one of the loaded/stored registers. * Removed unnecessary variables & structure members. * Optimized for the XER and CR0 case where XER doesn't need an overflow calculation. - MIPS recompiler [Aaron Giles]: * Updated to no longe explicitly specify flags. * Tweaked register tracking to match new DRC frontend system. * Updated UML logging to output new frontend statistics. * Fixed left/right accesses to work with recent memory handler changes. - x86/x64 back-ends [Aaron Giles]: * Added flag support to SEXT, ROLAND, ROLINS, LZCNT opcodes. * Fixed bug where sometimes the flags would be corrupted; in particular, we always clobbered the flags for the subfze instruction, which broke the nbapbp camera and some other things. * Fixed DIVS/DIVU opcode so they properly compute SZ flags when requested; fixes camera wackiness in nbapbp. * Added a "hop" around the prolog of the HANDLE opcode to allow fall-through. * Redesigned x86 stack management to keep the stack at the same 16-byte alignment. * Fixed adc/sbb so that they don't optimize out ever. * Fixed detection of special and/or/xor cases. * Fixed GETFLGS opcode so that it doesn't return anything other than requested flags. * Changed LZCNT/BSWAP to be more flexible in register selection. - gticlub driver [Aaron Giles]: * Converted sysreg_r/w to 8-bit handlers. * Added hack to make network IRQs work; brings some games back to life. - Konami PowerPC drivers [Aaron Giles]: * Designated fast RAM accesses for work RAM. * Removed unnecessary mirroring. - Firebeat driver [Aaron Giles]: * Added VBLANK IRQ clear * Added ATAPI IRQ clear * Tried to add UART IRQ clear but it doesn't yet work * Most of the games start to show something again with these changes. * Added fast RAM region. - Model 3 driver [Aaron Giles]: * Identified and fixed VBLANK bit in real3d status which was causing the system to hang at startup. * Designated fast RAM accesses for work RAM. - 53C810 SCSI controller: Changed read/write handles to proper READ8/WRITE8_HANDLER callbacks so they can eventually be used directly [Aaron Giles].