MAME 0.125u5
From MAMEDEV Wiki
Release Date
MAME 0.125u5 was released on 12 June 2008.
Contributors
The known contributors for this version are, in alphabetical order:
- Aaron Giles
- Atari Ace
- Brian Troha
- couriersud
- Curt Coder
- David Haywood
- f205v
- Fabio Priuli
- Fabio Priuli
- Jim Stolis
- Johnboy
- Lord Nightmare
- Luca Elia
- Miodrag Milanovic
- Mirko Mattioli
- Nathan Woods
- Nicola Salmoria
- Oliver Stoenberg
- Roberto Fresca
- robiza
- ShimaPong
- Tomasz Slanina
- Wilbert Pol
Specific Contributions
The known contributions for this version are, in the order specified in the whatsnew:
- Mariusz Wojcieszek updated the 68681 DUART:
- converted to device interface
- converted to 8 bit device
- added input and output port
- added X1/16 timer
- Nathan Woods fixed a compilation error when neither HAS_PPC403GA nor HAS_PPC403GCX are defined.
- Lord Nightmare added more documentation to the TMS5220 and SN76496 cores.
- Wilbert Pol fixed handling of the U register in the RET instructions and when taking an interrupt in the Nintendo Minx cpu core.
- David Haywood updated suprnova:
- 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..)
- Roberto Fresca changed Italian gambling games based on H8/3337 MCU + NEC D7759GC:
- Corrected year and manufacturer to ntcash and wizard.
- Sorted the games by year.
- robiza simplified the m90 video update routine.
- robiza made improvements to bomblord (bbmanw clone):
- 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
- robiza made improvements to dynablsb (dynablst clone):
- 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
- David Haywood made numerous improvements to the blackt96 driver.
- Nicola Salmoria 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 improved the Jackal driver:
- 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
- Nicola Salmoria simplified palette handling in punchout. Fixed big sprite palette in top monitor.
- Roberto Fresca updated the Cal Omega driver:
- 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.
- Roberto Fresca added a 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 made improvements to Sandii' games driver:
- Fixed the tilemap size.
- Fixed the screen size.
- Updated technical notes.
- Aaron Giles changed map command in the debugger to now perform separate read/write/fetch lookups.
- Curt Coder fixed the AY-3-8910 output mode in Draco.
- Curt Coder changed Thayer's Quest:
- 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
- Curt Coder changed COP4xx:
- fixed LEI instruction
- added COP421 variant
- couriersud moved calipso, spdcoin, superbon, moonwar and moonwara to galaxian.c:
- 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
- Jim Stolis changed the i8051 core, so timer 0's second split counter was incorrectly checking the Timer 1 Run Control Bit. Fixed it.
- Jim Stolis updated the PEPlus driver:
- 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)
- Mirko Mattioli added a alternate layout for World Rally 2 PCB.
- Tomasz Slanina added sound emulation to Dacholer and Kick Boy.
- Oliver Stoenberg cleaned up the usage of Machine in many of the src/video files.
- Atari Ace completed a correctness pass over the source tree:
- 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
- Miodrag Milanovic improved 8085 timing and fixed flag calculations based on differences between it and the 8080.
- Fabio Priuli converted a number of drivers over to using input_port_read() from input_port_read_indexed().
- ShimaPong updated the cheat system:
- 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 a fundamental solution but no longer crashes
- 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
- Aaron Giles added option -[no]coin_lockout (-[no]coinlock) to control coin lockout behavior.
- Johnboy contributed NeoGeo updates:
- 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
- Aaron Giles added a bilinear filter option to software rendering. Not hooked up to anything yet.
- Aaron Giles made DRC UML changes:
- 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
- Aaron Giles changed the DRC frontend:
- changed from tracking "live" registers to tracking "necessary" registers
- genericized register tracking to be more flexible
- added previous instruction pointer to opcode descriptions
- Aaron Giles updated the PowerPC recompiler:
- 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
- Aaron Giles changed the MIPS recompiler:
- updated to no longer 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
- Aaron Giles changed the x86/x64 back-ends:
- 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
- Aaron Giles changed the gticlub driver:
- converted sysreg_r/w to 8-bit handlers
- added hack to make network IRQs work; brings some games back to life
- Aaron Giles updated the Konami PowerPC drivers:
- designated fast RAM accesses for work RAM
- removed unnecessary mirroring
- Aaron Giles changed the Firebeat driver:
- 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
- Aaron Giles changed the Model 3 driver:
- identified and fixed VBLANK bit in real3d status which was causing the system to hang at startup
- designated fast RAM accesses for work RAM
- Aaron Giles updated the 53C810 SCSI controller:
- changed read/write handles to proper READ8/WRITE8_HANDLER callbacks so they can eventually be used directly
Game Support
New games added or promoted from NOT_WORKING status
- Super Rider (Italy)
- SWAT Police
- Player's Edge Plus (PS0014) Super Joker Slots
- Player's Edge Plus (PS0022) Red White & Blue Slots
- Player's Edge Plus (PS0043) Double Diamond Slots
- Player's Edge Plus (PS0045) Red White & Blue Slots
- Player's Edge Plus (PS0308) Double Jackpot Slots
New clones added
New games marked as GAME_NOT_WORKING