0.125u5
-------


MAMETesters Bugs Fixed
----------------------
- 01863: [Multisession] mwalk and clones: Crash on multisession.
         (Atari Ace)
- 00971: [Color/Palette] spdcoin: In a reverse of the artwork bug, 
         the blue background has been replaced with a black one. 
         (couriersud)
- 00251: [Sound] spdcoin: Sound isn't perfect. There are many static 
         pops to be heard, and volume is very low. (couriersud)
- 01884: [Core] mtetrisc, vivdolls, starsldr (maybe all): (MAC OS) 
         crashes with "Illegal instruction" message (Aaron Giles)
- 01827: [Interface] All sets in galaga.c: DIP switch information is 
         not being readded properly when .CFG is read. (couriersud)
- 01865: [Graphics] nbapbp: The graphic is completely wrong 
         (Aaron Giles)
- 01864: [Interface] -listxml still crashes (Aaron Giles)
- 01885: [Misc.] astdelux, astdelu1, astdelu2: Fatal Error: Unable to 
         locate input port 'DSW' (Fabio Priuli)
- 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)
- 01880: [Color/Palette] All sets in mrdo.c: Color Regression 
         (Nicola Salmoria)
- 01870: [Graphics] skylance, skylancr: cocktail mode, player 2's shots 
         are offset from player's position (Nicola Salmoria)
- 01871: [Documentation] officeye: Misspelled title (robiza)



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 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

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:
 - 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: [Aaron Giles]
 * changed read/write handles to proper READ8/WRITE8_HANDLER
    callbacks so they can eventually be used directly



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Rider (Italy) [Luca Elia]
SWAT Police [Brian Troha]
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]



New clones added
----------------
Tank Force (US, 4 Player) [Brian Troha]
Videomat (polish bootleg) [Roberto Fresca]
Head Panic (ver. 0117, 17/01/2000) [Brian Troha]



New games marked as GAME_NOT_WORKING
------------------------------------
Mystery Number [Roberto Fresca]
Shark Party (Italy) [Luca Elia]
Victor 5 [Luca Elia]
Victor 21 [Luca Elia]
Euro Jolly X5 [Roberto Fresca]
Cal Omega - Game 18.7 (Amusement Poker) [Roberto Fresca]
Grand Prix [Roberto Fresca]
Squash (Itisa) [f205v]
