0.141u1
-------


MAMETesters Bugs Fixed
----------------------
- 04199: [Documentation] barbball: Typo in title
- 01879: [Graphics] All sets in toaplan2.c: Cocktail mode (Player 2) 
         has no background images (David Haywood)
- 01004: [Graphics] chinhero, chinhero2, chinherot: There is a bad 
         sprite on level 7 of the game. (Pierpaolo Prazzoli)
- 02111: [Graphics] madalien, madaliena: Missing lightup when enemies 
         explode in dark
- 02041: [Sound] smgp and clones: Voice samples incorrectly played (hap)
- 00992: [Sound] hangon: The pitch of the engine sound is wrong (hap)
- 03460: [Color/Palette] starfire, starfirea: Incorrect color at bottom 
         of screen
- 04190: [Color/Palette] heiankyo: wrong colors (hap)
- 02080: [Sound] armedf: DAC Chip playing Orchestra Hit Sample too low 
         (hap)
- 03501: [Sound] batsugun, batsuguna, batsugunsp: Missing music and some 
         sound effects (Alex Jackson)
- 04147: [Crash/Freeze] raiden: crashes if you use -debug switch 
         (Alex Jackson)
- 03808: [Graphics] starsldr, vivdolls: Garbled screen (MooglyGuy)
- 04079: [Crash/Freeze] mtrain: Access Violation before OK (Luca Elia)
- 04178: [Documentation] cmmb162: Year should be 2002
- 00865: [Graphics] blandia: In Jurane stage, the whole bottom of the 
         screen is filled with solid gray. (Pierpaolo Prazzoli)
- 04180: [Crash/Freeze] dunkmniaj: To key press "OK" the game has only a 
         blue screen. (Tafoid)
- 02883: [Debugger] debugger: Pressing F10 (Step Over) occasionally 
         causes Debug menu to light up (hap)
- 04165: [Crash/Freeze] vbowl, vbowlj: Crash after OK
- 04166: [Crash/Freeze] arabian, arabiana: After several cycles of the 
         attact mode, the game halts (Phil Bennett)



Source Changes
--------------
Added Rockwell PPS4 CPU core (not finished) [Miodrag Milanovic]

Added GAME_MECHANICAL flag to mark games having mechanical
interface (such as pinball, redemption, bowling games ...)
Imported games from PinMAME as skeletons. [Miodrag Milanovic]

Removed fast IMEM and DMEM handlers from the RSP DRC in favor of the
core memory system; fixes RSP DRC on 32-bit targets. [Harmony]

Changed DMADAC interleave in the Aleck 64 driver from 2 to 1; fixes
monaural and poppy audio. [Harmony]

ARM7: fix for "39in1" (MAME) and removed a duplicate line 
[Tim Schuerewegen]

Hooked up preliminary Seibu COP macro command 0x6200, used on SD
Gundam Rainbow Tairiku Senki for the Homing weapon [Angelo Salese]

ARM7+: Various cycle timing fixups [Tim Schuerewegen]

39in1: Fix to work with newer ARM7 cores [Tim Schuerewegen]

MIPS: make DRC selectable by #ifdef [R. Belmont]

Fixed BADCOP exception handling in the MIPS III interpreter.
[MooglyGuy]

Fixed midground banking in Raiden 2 [Angelo Salese]

Implemented DMA slot concept to the Raiden 2 driver, giving correct
sprite tables for X Se Dae and Zero Team [Angelo Salese]

Fixed start-up banking in Raiden DX [O. Galibert]

Implemented Seibu COP macro command 0x904 (variant of 0x905), used on
X Se Dae and Zero Team. [Angelo Salese]

Implemented program bank read-back in Raiden 2, allowing it to not
crash anymore during attract / gameplay [Angelo Salese]

Fixed Compare interrupts in the MIPS III interpreter core.  Aleck 64
games can now run under the MIPS III interpreter. [Harmony]

Implemented proper TLB handling in the MIPS III interpreter. [Harmony]

cb2001: some gfx improvements [David Haywood]

Fixed Seibu COP command 0x7e05, used by Raiden DX fg video banking
[Angelo Salese]

osd/sdl again compiles against latest SDL 1.3 svn. [Couriersud]

Enabled flipscreen in Mr. Dig [Pierpaolo Prazzoli]

Implemented "-watchdog" option for SDLMame. [Couriersud]

"Copy-and-Paste" the "-bench" option from win32 to sdl. [Couriersud]

Add uPD7725 16-bit DSP core and hookups for SNES hardware
[byuu, R. Belmont]

Removed no longer needed SNES HLE code [R. Belmont]

Added support for MSB shadows in STV VDP2. This improves
Soukyugurentai shadows [Mariusz Wojcieszek]

Fixed RSP core VRSQL implementation. [Harmony]

spaceg.c improvements: [hap]
 * less garbage trails, though it's not completely good yet
 * fixed jerky x-movement
 * fixed crash on loadstate
 * marked color proms as undumped

New Namco 62xx device with internal ROM. 
[Dr. Decapitator, Phil Bennett, Andrew Gardner]

MIPS3 DRC: Fix case where branch delay slot straddles a page 
boundary and the page check confirms that the block is paged in.
[Aaron Giles]

Correct Coin Mode & Coinage for Heavy Unit (World) [Brian Troha, Guru]

makedep now ignores "-include" which is used by sdlmame to include
sdlprefix.h before all other includes. [Couriersud]

Remove "makedep" stuff from sdl.mak now that the core supports it.
Also split sdl-config output between INCPATH and CCOMFLAGS for linux
targets. makedepend now works. [Couriersud]

Fixed rendering of not rotated RBG layer in STV VDP2. This fixes
garbage on level 4 of Soukyugurentai [Mariusz Wojcieszek]

Added dipswitch locations to moo.c, mystston.c, mystwarr.c, prehisle.c
and pushman.c drivers [Brian Troha]

Added dipswitch locations to jchan.c driver [Brian Troha]

MIPS3 DRC: Include delay slots in checksum calculations.
[Aaron Giles]

C++-ified drcfe and the associated frontends. You now create a
frontend by deriving from drc_frontend and implementing the describe
method. [Aaron Giles]

Added support for MSB enabled color calculation for sprites in STV.
This improves some sprites in Soukyugurentai [Mariusz Wojcieszek]

Start moving the discrete subsystem towards C++. Changed some structs
to classes and most of the list processing now uses a linked list
template which is type-safe. [Couriersud]

Improved sprite-tile priorities in SD Gundam Sangokushi Rainbow
Tairiku Senki [David Haywood]

V25: fix false warnings from some GCC versions [R. Belmont]

Improve TLB mismatch handling in PPC DRC, so that if we fill from an
empty entry, we re-dispatch to previously compiled code instead of
always recompiling the target. This greatly reduces the DRC overhead
on 603-based games. [Aaron Giles]

Moved MESS RAM device into emu core. Added COMP and CONS macros in 
driver.h [Miodrag Milanovic]

Marking mechanical games as such in XML [Miodrag Milanovic]

Moved image devices implementation and related UI functions to emu
section from MESS [Miodrag Milanovic]

Converted drccache to C++. [Aaron Giles]

Flagged a number of existing gamesi n MAME with GAME_MECHANICAL to
indicate the presence of un-emulatable mechanical parts. [Tafoid]

Preliminary implementation of the Seibu COP palette brightness mode 4,
used by Denjin Makai fade in/out effects [Angelo Salese]

Redumped PSAC2 rom in Rushing Heroes [Smitdogg, The Dumping Union]

z80.c: Allow daisy chain functionality to be used in a situation where
there are more interrupt sources besides the daisy chain devices.
[Wilbert Pol]

Redumped sprite roms in Rushing Heroes [Smitdogg, The Dumping Union]

Added HD61700 CPU core used for emulate Casio PB-1000/PB-2000c in MESS
[Sandro Ronco]

Work around for Seibu COP command 0x8100 / 0x8900, used in all games
for direction of objects. Fixes many sync bugs in all legionna.c /
raiden2.c games [Angelo Salese, Tomasz Slanina]

Fixed sprite flickering and stage 5 crash in Raiden 2 [Angelo Salese]

Build vconv in all circumstances as part of win32 build. Always use
gcc to build vconv. Add missing extern "C" to intrinsic definitions.
Change vconv to call link.exe instead of lib.exe for libraries.
[Aaron Giles]

Fixed background gfx issues in later levels of Raiden 2 
[Angelo Salese]

Added SBY line read to SP0256 interface. [Curt Coder]

Implemented Seibu Audio variant with a single YM2151 sound chip,
giving working sound to Air Raid [Angelo Salese]

bishjan.c update [Luca Elia]
 * Implemented dynamic tile sizes
 * Generalized video routines to support more layers
 * Moved mtrain in from subsino.c

Fixed BCD score display bug in Raiden 2 and Zero Team [Angelo Salese]

naomi.c: Documentation additions [f205v]

Added dipswitch locations for Zodiack [Brian Troha]

Corrected play speed on Mr. Kicker.  [David Haywood]

Added CHD support in softlists [Miodrag Milanovic]

Fixed handling 80186 instructions [Phill Harvey-Smith]

SDL OS/2 fixes [K.O. Myung-Hun]

naomi: support texture stride selection [O. Galibert]

Corrected bitmap palette number for RBG0 in STV VDP2. This fixes
colors in boss gfx in Soukyugurentai level 4 & 5 [Mariusz Wojcieszek]

Fixed some input issues in meosism, vasara, vasara2 and twineag2
(ssv.c)  [Tafoid]

Correct grom01.bin BAD_DUMP in Golden Par Golf [MASH]

Discrete sound system:
 * all nodes are now class based
 * removed all support for "legacy", i.e. procedural node functions.
 * nodes are created using a class factory whose instances are set up
    in discrete blocks. There is no separation of node vs. module any
    longer.
 * Custom modules are now just implemented like "normal" nodes.
 * Converted all custom modules.
- Context variables can now be migrated to be private class members.
[Couriersud]

cheat.c: added support for cheats with software list shortnames
[Fabio Priuli]

video.c: added support for a new template to -snapname so that it is
possible to use the name of images mounted in the devices (for MESS).
Namely, it is now possible to use %d_XXXX to prescribe usage of the
image mounted in the device XXXX. [Fabio Priuli]

clifront.c: improved the behavior of -listsoftware by updating DTD, by
adding output of most missing elements and attributes (softlist
description, features & diskdata) and by fixing size and offset
formats [Fabio Priuli]

clifront.c: added remaining loadflags to -listsoftware output
[Fabio Priuli]

Fixed an ARM7 R15 bit ignoring behaviour while in ARM state, fixes
Lupin the Third: the Typing ARM crashing when you coin it up.
[Tim Schuerewegen]

softlist.c: added best match suggestions to software lists
[Fabio Priuli]

softlist.c: only output best match if a list is present, limit the
scan for best match to the devices with the same interface and fixed a
corner case with shortname=listname [Miodrag Milanovic]

romload.c: added support for split set to softlist (for cart, cd and
hd) [Fabio Priuli]

devimage.c: added support for split set to softlist for cass and flop
too [Fabio Priuli]

allow software lists to look for files in the rompath too
[Fabio Priuli]

Figured out and made comments of math tables in roms 14/15 of Seibu
Cup Soccer bootleg inside machine/seicop.c [O. Galibert]

SSV: improvements to flipscreen support [Roberto Zandona']

H8: Fix unterminated string buffer [R. Belmont, Belegdol]

clifront.c: added "-lsoft" option as short version of "-listsoftware"
[Fabio Priuli]

clifront.c: prevented -lsoft from output DTD if no list is found
[Fabio Priuli]

Placed full megadrive code in MAME section [David Haywood]

softlists: added WARNING if loading a software with
supported="partial" or "no" [Fabio Priuli]

model3: redumped Daytona 2 Battle on the Edge CROMs [Guru]

Added FSAVE mode 2 support to the M68040 FPU. [Barry Rodewald]

ssv: improvements to the sprite position [Roberto Zandona']

SH4: cleanup and better common/interpreter separation [R. Belmont]

Documentation update to beezer driver for facilitating future sound
work [Lord Nightmare]

Add missing XYZ latch readback on beezer, gets sound closer to working
[Lord Nightmare]

SH4: Port preliminary SH3 support from DRC.  [R. Belmont]

Discrete subsystem: [couriersud]
 * all list handling now based on dynamic_array_t (discrete.h)
 * more code rewrite to get rid of fixed allocations.
 * performance about the same as 0.140

Added a mostly complete NEC V25/V35 CPU core, added working sound to
Batsugun and hooked up proper V35-controlled interrupts in Cosmic Cop
/ Gallop and Kengo [Alex Jackson]

Implemented proper RNG mechanism in Seibu COP emulation
[Tomasz Slanina, Angelo Salese]

romload.c: implemented handling of parent-clone CHDs in software lists
[Fabio Priuli]

bfm_sc2.c: Removed old-style NVRAM handlers in preparation for
mechanical game support [AGEMAME]

MPU4 Changes: [AGEMAME]
 * Added fix for lamp 'open circuit' errors which in turn make Connect
    4 work better.
 * Fixed layout typo that caused the wrong piece to be displayed in
    Connect 4.
 * Documented the DUART and PTM better in MPU4 to allow for sampled
    sound changes later.
* Changed 'serial_card_connected_ to link 7a, as it is the jumper on
    the ROM card that changes the IRQ priority, not the serial 
    interface itself.

dogyuun: decrypted some opcodes [Roberto Zandona']

raiden2: Command 0205 changes data at +1c too [dox, O. Galibert]

raiden2: First stab at a cop "disassembler" [trap15, O. Galibert]

Redo most of the DRC/backend support as C++. Yes, it is intentional 
that the x86/x64 backends compile everywhere. Backends are now 
derived from drcbe_interface and implement several required overrides.
x86emit.h now uses namespaces so that the x86/x64 emitters can
co-exist. New file uml.h/uml.c actually describes the UML language, 
separating out several concepts from drcuml.c. [Aaron Giles]

Cleaned up clocks of mid to late 80s Nichibutsu non-Mahjong games.
Though not completely accurate yet, this should improve music speed
and DAC audio pitch a bit. [hap]

romload.c: made -bios option case insensitive [Fabio Priuli]

starfire.c: Improved color emulation and added driver data [Qwi Jibo]

toaplan2:
 * found a lot more kbash opcodes by matching code with batsugun's
    [Alex Jackson]
 * correct m68k and v25 address maps for kbash [Alex Jackson]
 * corrected truxton2 program ROM [Alex Jackson]

fixeight: added several opcodes [Roberto Zandona']

Simplified UML parameters, as follows: [Aaron Giles]
 * immediates can be passed raw, no IMM() wrapper required (and it's
    gone now)
 * fixed integer registers now use constants I0,I1,I2,etc instead of
    IREG(0),...
 * same for float registers F0,F1,F2,etc instead of FREG(0)
 * dynamic integer/float regs use inline functions ireg(),freg()
 * MEM macro is now a lower-case inline function mem()

Fixed a trivial boot vector program init bug in Lethal Thunder /
Thunder Blaster [Angelo Salese]

Added an opcode in Mystic Riders decryption table, makes BGMs to work
in mysticrib [Angelo Salese]

Added sound reset line for Irem M92 HW, and safely removed
GAME_IMPEFECT_SOUND flag to Perfect Soldiers [Angelo Salese]

Fix a bug in makedep which will caused includes on the first line of
the file like in skyraid.h to be ignored. [Couriersud]

Added working sound to Dogyuun and V-Five 
[Roberto Zandona', Alex Jackson]

toaplan2 improvements  [Alex Jackson]
 * Figured out which bit controls V25 RESET in each game by comparing
    the 68000 code
 * Added a comment about fixeight's I/O map, which we'll have to
    determine once we start decrypting it
 * Put #ifndef USE_ENCRYPTED_V25S around some simulation crap that was
    hiding in fixeight's DRIVER_INIT

segapcm.c: Fixed loop address, hangon engine sounds better now. Also
included documentation in source of known register functions. [hap]

madalien.c: Fixed highlighting in tunnel. [Qwi Jibo]

Fixed regressed flip screen support in Toaplan 2 games [David Haywood]

Changed the discrete sound system to be class based: [Couriersud]
 * Former modules are now classes being derived from
    discrete_base_node
 * Moved all context variables to be private class members.
 * For "standard nodes", DISCRETE_CLASS_STEP_RESET provides a simple
    way to implement a node.
 * All information around a node (additional info struct, constants
    and input mappings may be defined on a class level centralizing
    all information. An example is dss_inverter_osc.
 * Significantly simplified the task handling.
 * Fixed a bug which would not buffer secondary outputs.
 * All lists in sound/disc_* are now based on dynamic_array_t
    (discrete.h)
 * Changed all drivers to reflect the changes.
 * Custom modules are now just another node class.
 * No performance hit observed due to these changes.

Improvements to goldnpkr.c [Roberto Fresca]
 * Lots of changes to get working the Video Klein games.
 * Renamed witchcde to witchjol --> Jolly Witch (Export, 6T/12T ver
    1.57D).
 * Added Wild Witch (Export, 6T/12T ver 1.74A).
 * New video hardware and machine driver for Video Klein's extended
    tiles games.
 * Added Dallas DS1210 + battery backed RAM support to the Video Klein
    CPU boxed games.
 * Improved inputs for Jolli Witch and Wild Witch. Added the game
    selector switch.
 * Cleaned up some witch card sets.
 * Added technical and game notes.

m90: modified interrupt [Alex Jackson]

Replaced BSMT2000 HLE emulator with emulation of the original
TMS32015.
[Dr. Decapitator, Andrew Gardner, Quench, Guru, Ernesto Corvi, Peter
Grounds, Lord Nightmare, Aaron Giles]

M6801 changes: [Curt Coder]
 * added operating mode enum
 * fixed port writes
 * implemented SCI status follower bits

toaplan2:
 * Found a few more fixeight opcodes, by matching code in the
    interrupt routines with batsugun [Alex Jackson]
 * Corrected fixeight V25 address map (the YM2151 and OKI6295 are at a
    different location than the other games) [Alex Jackson]
 * Preliminary implementation of V25/V35 port output [Alex Jackson]

Optimized RC_INTEGRATE and TRANSFORM. Nice improvement. [Couriersud]

Changed all "output[0] = ..." into "set_output(0, ..)" calls. Rewrote
modules using "output[0]" as a latch as well. The purpose is to
decouple nodes from the discrete infrastructure implementation.
[Couriersud]

Added a virtual stream update function to the device sound interface.
Added a new stream_create that takes fewer parameters and calls the
device's stream update. Removed the stream update stub template.
Updated BSMT2000 and OKIM6295 to use the new interface for their
streams. [Aaron Giles]

fixeight: hooked up EEPROM [David Haywood]

Added preliminary working sound to beezer. [Lord Nightmare]

M6801 changes: [Curt Coder]
 * implemented port 3 strobed mode
 * fixed port writes some more

Discrete subsystem now uses the sound_device stream_update function.
[Couriersud]

Improve nmi handling in mouser. [Couriersud]

i8085.c: Fixed inte callback not being called when the IE flag was
cleared after the CPU received an interrupt. This fixes interrupts in
n8080.c helifire and spacelnc. [Qwi Jibo]

raiden2: Write down the rather weird results of a series of tests
[dox, O. Galibert]

Added "-syncrefresh" option to osd/sdl. This will *limit* the game
speed to the video refresh rate and works in -mt mode as well. The
option has an effect only if "-waitsync" is specified.
[Couriersud, Chris Kennedy]

Fixed 01004: chinhero, chinhero2, chinherot: There is a bad sprite on
level 7 of the game. [Corrado Tomaselli, Pierpaolo Prazzoli] Added
sprites wrap around-y in Chinese Hero to fix gorilla sprites entering
from the left [Pierpaolo Prazzoli]

fixeight: decrypted all used opcodes and added EEPROMS for all
countries; now the sound works
[Andrew Jackson, David Haywood, Roberto Zandona']

fixeight: cleaned up the inputport for fixeight (no dips)
[David Haywood]

ARM7 updates [Tim Schuerewegen]:
 * Disable 26-bit back compatibility for ARM7 variants other than
    ARM7500
 * Fix carry flag issue on add/subtract in ARM mode

cb2001: reworked interrupt [Alex Jackson]

720 - added Driver Configuration option to allow the controls to be
set to Real 720 Controller Input; fake joystick; or fake spinner.  It
defaults to fake spinner for mouse/spinner use. [Derrick Renaud]

Changed the Analog Controls menu to only list controls selected in the
Driver Configuration. [Derrick Renaud]

ARM7 updates [Tim Schuerewegen]:
 * Fixed "MOV x, R15, LSL #y" form as tested by ARMWrestler
 * Added unimplemented Thumb MOV variant used by GBA Moto GP

Reorganized megadrive/sms sourcefiles for better sharing between
MAME/MESS. [Fabio Priuli]

NEC DSP updates [R. Belmont, byuu, Dr. Decapitator]:
 * Now supports uPD7725 and uPD96050
 * Hooked up SNES common code to use uPD96050 for ST-010/011
 * Removed ST-010 HLE simulation

Display suggestions in case commands that require game name are
called and there were no matching games  [Miodrag Milanovic]

Carved out a discrete_sound_device from discrete_device. This now has
all the stream related code. discrete_device thus now contains all the
generic code and may be used going forward to implement not sound
related use cases. [Couriersud]



New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mr. Kicker [Pierpaolo Prazzoli]
X-Plan [Bicycle Repair Man, Luca Elia]
Penfan Girls [hap, N. Francfort, Smitdogg, The Dumping Union]
Witch Card (Video Klein CPU box) [Roberto Fresca]
Jolli Witch (Export, 6T/12T ver 1.57D) [Roberto Fresca]
Wild Witch (Export, 6T/12T ver 1.74A) [Roberto Fresca, Team Europe]



New clones added
----------------
Sega Touring Car Championship (Newer) [briantro]
Sega Touring Car Championship (Unknown Revision) [Brian Troha]
Mahjong Man Guan Da Heng (Taiwan, V125T1) [Luca Elia]
Zero Team Suicide Revival Kit [Angelo Salese]
Bombjack Twin (prototype? with adult pictures)
  [ranger_lennier, Smitdogg, The Dumping Union]
Sexy Parodius (ver AAA) [Tormod]
Ring of Destruction: Slammasters II (Asia 940831)
  [john666, Smitdogg, David Haywood, The Dumping Union]
Street Fighter Alpha 2 (USA 960430)
  [Ricky74, Layne, Smitdogg, The Dumping Union]
Football Champ (World, bootleg) [Clawgrip] (not working)
Gekirindan (Ver 2.30 1995/09/21)
  [Corrado Tomaselli, J. Bijl, The Dumping Union]
1943: Battle of Midway (bootleg, hack of Japan set)
  [Smitdogg, The Dumping Union]
Road Riot 4WD (set 1, 13 Nov 1991)  (not working)
  [Smitdogg, The Dumping Union]
Scramble (bootleg?) [Roberto Fresca, Team Europe & Hal9k]
Zero Target (World, CW)
  [ranger_lennier, B. Sparks, Kevin Eshbach, Smitdogg, The Dumping Union]



New games marked as GAME_NOT_WORKING
------------------------------------
X-Plan [Bicycle Repairman]
Fantasy Zone (Mega-Tech, SMS based) [Ace]
Brave Fire Fighters [Guru]
NASCAR Racing [Guru]
Lucky Lady (Wing, encrypted) [Roberto Fresca, Team Europe & Willi.O]
ATV Track
  [hap, ANY, ranger_lennier, dopefishjustin, gamerfan, gatt9, N.
   Francfort, Smitdogg, The Dumping Union, David Haywood]
