[Arcade] MAME Update

Mame v0.111u5


MAMETesters Bugs Fixed
bitmapalloccore0111u4red [Aaron Giles]
8080bw0111u4red [Zsolt Vasvari]
sidvoice0111u4ora [Nathan Woods]
pyramid0111u4red [James Wallace]
dragngun0111u3gra [Canim]
mitchelc0111u3gra [Luigi30]
lockload0111u3gra [Canim]
cobracom0111u3ora [Canim]

Source Changes
Fixed a 6502 register naming bug, and fixed a size bug in the
SC61860 disassembler. [Nathan Woods]

Added built-in overlay layout for Crash. [Mr. Do]

Added save state support to Gyruss. [Buddabing]

Fixed missing sound interfaces from the MESS sound core merge.
[Nathan Woods]

Fixed several duplicated global variable names, removed unreferenced
items from header files, and added header files for several drivers.
[Atari Ace]

Changed debug console code to use auto_malloc and to detect attempts
at registering callbacks after initialization time. [Nathan Woods]

Fixed kof2003 bootleg code to work on big-endian systems. [R. Belmont]

Centralized some common Windows utility routines in new module
winutil.c. [Nathan Woods]

Cleaned up a few drivers to use input_port_dword_*_r. [smf]

Cleaned up memory maps in the MPU4 and BFM drivers. Redesigned the
MPU4 code so that the DRIVER_INIT only needs to take an address in
the ROM for the lookup table for CHR generation to be done.
[James Wallace]

Updated built-in expat code to version 2.0. [Atari Ace]

Fixed sound samples in Indian Battle. [Zsolt Vasvari]

Added state saving to mhavoc. Also fixed sparkling vectors so
slowdowns and vector list overflows can be expected. It looks much
nicer, though. [Mathis Rosenhauer]

Removed XORs from almost all CPS2 games in place of proper emulation
of the encryption. [Nicola Salmoria]

Added an assertion to prevent usage of pia_set_input_[a|b]() when
input reading callbacks are specified. [Nathan Woods]

Fixed flip screen switch and changed COIN3 to SERVICE1 in the contra.c
driver. [Canim]

Cleand up and fixed DIP switches and inputs for the nmg5 driver.

Rewrote Z80 interrupt handling to avoid a bad bug in the post-EI
interrupt signalling. [Aaron Giles]

Added documentation to the esd16, afega, cave, unico, vamphalf, and
yunsun16 drivers. [Brian Troha]

Changed behavior in chdman so that a 0 sector size means the default.
[Aaron Giles]

Updated several video drivers (amiga, n64, ppu2c0x, psx, stvvdp2,
tia, v9938) to use the new BITMAP_ADDR* macros instead of using the
line[] array. [Nathan Woods]

Some additional Midway 8080 B&W driver fixes: [Zsolt Vasvari]
- added PORT_CONDITION where needed
- added PORT_CONFNAME entries to the 3 baseball games and Space
- save state support for all games
- fixed typo and a bug with the Sea Wolf lamps

Fixed a minor problem with sound clipping in the s14001a.
[Lord Nightmare]

Fixed PRNG noise in the TMS5110/5220 code and added signal wrapping
to match the patent. [Lord Nightmare]

Cleaned up usage of auto_bitmap_alloc() now that it is guaranteed not
to fail. [Aaron Giles, Atari Ace]

Added sound effects emulation to the Berzerk driver. [Aaron Giles]

Fixed font aspect ratio on non-1:1 resolutions. [Aaron Giles]

Added mechanism to cache a binary format of BDF fonts for improved
loading speed. Also added a bit of progress when loading huge BDF
fonts so that you know what's happening. [Aaron Giles]

Removed gross TMS9928a configuration in place of more standard
techniques. Updates the Cliffhanger and sg1000a drivers accordingly.
[Aaron Giles]

Added support for the custom Badlands commands to the LD-V1000
emulation. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Dream World [David Haywood, Guru]

New clones added
Multi 5 / New Multi Game 5 (Earlier) [Brian Troha]
Bubble Bobble (bootleg with 68705) [David Haywood]
Super Street Fighter II (World 930911) [Nicola Salmoria]
Super Street Fighter II (Japan 930911) [Nicola Salmoria]
Dungeons & Dragons: Tower of Doom (Euro 940113) [Nicola Salmoria]
Super Street Fighter II Turbo (USA 940323) [Nicola Salmoria]
Armored Warriors (Euro 941024) [Nicola Salmoria]
Alien vs. Predator (Hispanic 940520) [Nicola Salmoria]
Cyberbots: Fullmetal Madness (Euro 950424) [Nicola Salmoria]
Marvel Super Heroes (Euro 951024) [Nicola Salmoria]
Marvel Super Heroes (Japan 951117) [Nicola Salmoria]
Marvel Super Heroes (Brazil 951117) [Nicola Salmoria]
Vampire Hunter: Darkstalkers' Revenge (Japan 950307) [Nicola Salmoria]
Street Fighter Alpha: Warriors' Dreams (Euro 950627) [Nicola Salmoria]
19XX: The War Against Destiny (Japan 951225) [Nicola Salmoria]
Dungeons & Dragons:Shadow over Mystara (Euro 960223) [Nicola Salmoria]
Dungeons & Dragons:Shadow over Mystara (Euro 960208) [Nicola Salmoria]
X-Men Vs. Street Fighter (Euro 961004) [Nicola Salmoria]
Capcom Sports Club (Hispanic 970722) [Nicola Salmoria]
Marvel Super Heroes Vs. SF (Euro 970625) [Nicola Salmoria]
Marvel Super Heroes Vs. SF (Japan 970625) [Nicola Salmoria]
Marvel Super Heroes Vs. SF (Hispanic 970625) [Nicola Salmoria]
Marvel Super Heroes Vs. SF (Brazil 970827) [Nicola Salmoria]
Marvel Super Heroes Vs. SF (Brazil 970625) [Nicola Salmoria]
Vampire Hunter 2 (Japan 970929) [Nicola Salmoria]
Vampire Savior (Hispanic 970519) [Nicola Salmoria]
Marvel Vs. Capcom (Euro 980112) [Nicola Salmoria]
Marvel Vs. Capcom (Asia 980123) [Nicola Salmoria]
Marvel Vs. Capcom (Hispanic 980123) [Nicola Salmoria]
Marvel Vs. Capcom (Brazil 980123) [Nicola Salmoria]
Street Fighter Alpha 3 (Brazil 980629) [Nicola Salmoria]
Street Fighter Zero 3 (Asia 980904) [Nicola Salmoria]
Vs. Super Mario Bros. (alt) [Lord Nightmare]

New games marked as GAME_NOT_WORKING
Two Minute Drill [David Haywood]
Super Don Quix-ote [Ernesto Corvi]


Source Changes
Fixed the data fetch and scrolling calculation for almost all video
modes in the Amiga driver. [Ernesto Corvi]

Emulated the trench circuit in Space Encounters. [Adam Bousley]

Added win_output_debug_string_utf8(); a UTF-8 wrapper for
OutputDebugString(). Changed code to use it. [Nathan Woods]

Fixed the disassembly, operation, and cycle timing of many Thumb
instructions in the ARM7 core. [MooglyGuy]

Defined new osd core function osd_is_absolute_path(). Changed behavior
of core fileio so that absolute paths are identified and search paths
ignored in that case. [Nathan Woods]

Improved validity check for coinage order so that it prints out the
correct order if an error is detected. [Ernesto Corvi]

Fixed clocks and other details in Dream World based on new
measurements. [David Haywood, Guru]

Implemented video circuits in the Midway 8080 driver based on
schematics. Note that this affected the visible area, so overlays will
need to be adjusted. Standardized the visible area across all games.
Implemented Phantom II cloud generator. [Zsolt Vasvari]

Changed the contract of the tilemap_create() call so that it is
guaranteed to succeed or die trying. Cleaned up code paths that
checked the result of this operation to be simpler as a result.
[Atari Ace, Aaron Giles]

Added preliminary support for the built-in effects DSP in the SCSP,
which lots of games use for reverb, QSound, and other effects.

Removed archaic i8080_EXACT flag from the 8085 core. [Zsolt Vasvari]

Updated Midway 8080 driver to use properly computed video timings and
scanline interrupts. [Zsolt Vasvari]

Fixed assertion in MPU4 driver. Fixed the mechanical meter operation,
enabling coin entry in Connect 4. [James Wallace]

Added mappings for break and pause keys. [Dirk Best]

Incorporated changes to MESS CPU cores to fix asserts and improve
Z80GB emulation. [Nathan Woods, Wilbert Pol]

Correctly connected sound IRQ in GX400/Nemesis driver. [R. Belmont]

Rewrote the SN76477 emulator from scratch. The main difference between
the old one and the new one is that it is based on measurements from a
real chip. Also the emulator is fully analog, meaning that
timings/frequencies, etc. are based on voltage levels. This gives a
much more true-to-life emulation where the weird behavior of the real
chip comes emulated for free. The code itself is also a lot simpler
and more understandable. [Zsolt Vasvari, Derrick Renaud]

Cleaned up stray variables from the crosshair drawing removal. Also
removed some orphaned function declarations. [Oliver Stoneberg]

Added the missing volume and frequency controls to the Berzerk driver
and s14001a core. Fixed the issue with random words being spoken
instead of the proper ones. Word is now latched at the proper time.
[Lord Nightmare]

Implemented flickering of the strobe light in Space Encounters, to be
eventually connected with artwork. [Zsolt Vasvari]

Changed driver_add/find/remove functions to fatalerror if they cannot
find their targets. [Aaron Giles]

Added support for screenless drivers. [Aaron Giles, Nathan Woods]

Fixed a couple of errors introduced in the OKI6295 pin shuffling.
[David Haywood]

Cleaned up DIP switches and added documentation to the Outrun driver.
[Brian Troha]

Fixed sound clock frequency in the NMG5 driver. [Brian Troha]

Fixed sound clock frequency in Night Slasher. [Sonikos]

Updated Sega System 16/18 drivers to be mono, and swapped button 1/2
to match instruction card. [Corrado Tomaselli]

Moved some of the tool sources to a new subdirectory tools.
[Aaron Giles]

Tweaked the main makefile to better support parallel builds.
[Aaron Giles]

Removed line array from mame_bitmap. Converted dozens of drivers over
to using BITMAP_ADDR macros instead. [Aaron Giles]

Changed automatic crosshairs so they are not quite so automatic.
They now need to be explicitly specified by the driver in the input
ports. Also changed the PORT_CROSSHAIR macro to take a shorter form
of the axis name. Updated all lightgun drivers to have this macro in
its default state. [Aaron Giles]

Added sliders for debugging crosshair positioning (debug build only).
[Aaron Giles]

Changed xevious to use irq0_assert_line instead of irq0_pulse_line
to prevent it from dropping interrupts. [Aaron Giles]

Changed Gorf to use HOLD_LINE instead of PULSE_LINE for scanline
interrupts. The timing is still off, but the game runs now.
[Aaron Giles]

Fixed time H/V position reporting during the first frame of execution
using the new video routines. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Magical Tetris Challenge [Ville Linde]
Star Soldier: Vanishing Earth [Ville Linde, Guru]
Vivid Dolls [Ville Linde, Guru]
Connect 4 [James Wallace]
Martial Masters [MooglyGuy]
Knights of Valour 2 [MooglyGuy]

New games marked as GAME_NOT_WORKING
Super Real Mahjong VS [Ville Linde, Guru]
Tower & Shaft [Ville Linde, Guru]


Happy 10th Anniversary! Today's release marks 10 years since the
original release of 0.1. After 10 years, hundreds of developers,
thousands of games, and tens of thousands (if not more) of hours of
hard work, MAME development is still going strong. Thanks to everyone
who has supported this project over the years!

Also a big thanks goes out to everyone who has contributed. Although
I am certain there are some people left out of this list, it should
give an indication of just how many people truly care about preserving
arcade history:

Aaron Giles             Acho A. Tang            Adam Bousley
Al Kossow               Alan J McCormick        Alan Kamrowski II
Alessio Manuele         Alex Eddy               Alex Jackson
Alex Judd               Alex Pasadyn            Aley Keprt
Allard van der Bas      Andre Hufschmidt        Andrea Mazzoleni
Andrea Turci            Andreas Naive           Andreas Thorsen
Andrew Caldwell         Andrew Church           Andrew Gardner
Andrew Prime            Andrew Scott            Andrew Seed
Andrew Zaferakis        Andy Conroy             Andy Jones
Andy Welburn            Andy White              Ange Albertini
Angelo Salese           Anssi                   Antoine Mine
ANY                     Arthur Peale            Arzeno Fabrice
Asure                   Atari Ace               Avedis Boyajian

B.S.Ruggeri             Barry Harris            Barry Rodewald
Bart Tobalske           Bart Trzynadlowski      Battlepriest
Ben Bruscella           Ben Rudiak-Gould        Bernd Wiebelt           
BET                     Bladerunner             Blip
bmoto                   bnathan                 Bob Seidel
Bobby Conover           BouKiCHi                Brad Oliver
Brandon Kirkpatrick     Bret Wallace            Brian Crowe
Brian Deuel             Brian Levine            Brian Lewis
Brian Oberholtzer       Brian Stern             Brian Troha
Brian Verre             Bryan McPhail           Bud Crittenden
Buddabing               BUT

CAB                     Cananas                 Canim
Cap                     Carl-Henrik Skarstedt   Carlos A. Lozano
Carlos Santillan        Chack'n                 Chad Hendrickson
Chad Hurwitz            Chaneman                Charles MacDonald
Charlie Miltenberger    Chris Hardy             Chris Kirmse
Chris Law               Chris Moore             Christoff Feldtmann
Christophe Verre        Christopher Stone       ClawGrip
Clay Cowgill            Col Turner              Colin Douglas Howell
Corrado Tomaselli       Costa Sgantzos          Craig Walker
Curt Coder              cutebutwrong            cync

Dan Boris               DangSpot                Dani Portillo
darkcoder               Darren Hatton           Darren Olafson
Darrin Redick           Dave France             Dave Spicer
Dave W.                 David Calandra          David Graves
David Haywood           David Rolfe             David Silva
David Widel             David Winter            deadscreem
Derrick Renaud          Dick Millikan           Dirk Best
Don Maeby               Duddie

Ed Mueller              Eddie Edwards           Edgardo E. Contini Salvan
Edward Massey           EGCG                    ehrhard@csd.de
Eisuke Watanabe         Elestir                 ENGCameraman
Eric Anschuetz          Eric Hustvedt           Erik Ruud
Ernesto Corvi           Eugene Sandulenko       Eugenio De Renzi

F.J. McCloud            f205v                   Fabio R. Schmidlin
Fabrice Arzeno          Fabrice Frances         Fabrice Martinez
Fabrizio Pedrazzini     Farfetch'd              Flatliner
Francesco Caporali      Frank Palazzolo         Fredrik Sjostedt

Gamester                Gareth Hall             Gary Walton
gbluma                  Gerald Coy              Gerardo Oporto
Gerrit Van Goethem      Giuseppe Gorgoglione    GMB
Gondos                  Gonzalo Casas           gregf
GreyRogue               Guru

Hans Andersson          Hans de Goede           Hedley Rainnie
Highwayman              Hiromitsu Shioya        HobbesAtPlay
hoot development team   Howard Casto            Howie Cohen
HPMAN                   Hugh McLenaghan

Ian Patterson           Inigo Luja              inkling
insideoutboy            iq_132                  Ivan Mackintosh

J. Rodman               Jake Stookey            James R. Twine
James Rowan             James Wallace           Jarek Burczynski
Jarek Parchanski        Jason Lo                Jason Nelson
JC Alexander            JCK                     Jeff Johnson
Jeff Mitchell           Jeoff Krontz            Jess Askey
Jim Hernandez           Jim Thevenot            Jimmy Hamm
Joachim Bassmann        Joe Magiera             Johan Samuelsson
John Butler             John Clegg              John Dickson
John Dondzila           John IV                 John Wil
Jonathan Lunman         Jose Miguel Morales Farreras
Jose Tejada Gomez       Joseba Epalza           Juan Carlos Lorente
Juddy                   Judge                   Juergen Buchmueller
Julian Eggebrecht       Julien Frelat           Justin Lee Turner
Justin Szczap

Karl Stenerud           Kawaks                  Keith Gerdes
Keith Wilkins           Ken Reneris             Kenneth Lin
Kenneth Miller          Kevin Bales             Kevin Brisley
Kevin Eshbach           Kevin Estep             Kevin Jonas
Kevin Klopp             Kevtris                 Kobat
Kopromaster             Kurt Mahan               

Larry Bank              laugh                   Lawrence Gold
Leandro Dardini         Lee Mitchell            Lee Taylor
Leon van Rooij          Li Jih Hwa              Lodewijk
Logiqx                  Lord Nightmare          Luca Elia
Luigi30                 Luis Faria

M.A.S.H.                M.C. Silvius            Machone
MadSkunk                Malcolm Lear            Malice
MAME Italia Forum       MAME32Plus              MamePlus!
Mamesick                MAN                     Manbow-J
Manfred Schneider       Manuel Abadia           Manuel Assoni
Marc Lafontaine         Marc Vergoossen         Marcelo de G. Malheiros
Marco Cassili           Mariusz Wojcieszek      Mark McDougall
Martin Adrian           Martin Binder           Martin Buchholz
Martin Pugh             Martin Sandiford        Martin Scragg
Martin Searle           Martin White            Massimo Morra
Mathis Rosenhauer       Matthew Conte           Maurizio Clementini
Maurizio Zanello        mbeighau@iies.es        Michael Appolo
Michael Cunanan         Michael Soderstrom      Micheal Schumacher
Miguel Angel Horna      Miguel Figueiredo       Mike Balfour
Mike Coates             Mike Cuddy              Mike Ellery
Mike Haaland            Mike Herrin             Mike O'Malley
MikeJ                   Minuous                 Mirko Buffoni
Mitsutaka Okazaki       Mr. Do!                 Murray Melvin

NAmag                   Nao                     nathan
Nathan Barber           Nathan Sturm            Nathan Woods
Neil Bradley            Nicola Salmoria         Nomax
nono                    Norbert Kehrer          Norix

Ohsaki Masayuki         Oliver Achten           Oliver Bergmann
Oliver Stabel           Oliver Stoneberg        Olivier Galibert
OpenMSX Team            Oshah                   Owen Rubin

Paolo Fiorani           Paolo Venturi           Parodier
Patrick Lawrence        Patrik Styrnell         Paul Forgey
Paul Hampson            Paul Leaman             Paul Priest
Paul Sommers            Paul Swan               Paul Winkler
Peale                   Peo                     Pete Ashdown
Pete Ground             Peter Clare             Peter Hirschberg
Peter Rittwage          Peter Sealy             Peter Storey
Peter Townson           Peter Trauner           Petter Sjolund
Phil Hopely             Phil Stroffolino        Philip Bennett
Pierpaolo Prazzoli      PokeMAME                PongKang

Quench                  quzz                    QWERTY

R. Belmont              Rainer Keuchel          Ralf Willenbacher
Ramsoft                 Randolph                Randy Hoffman
Randy Mongenel          Raney Eden              RansAckeR
Raphael Nabet           Razoola                 ReAnimator
Rene Single             Reznor007               Richard Bush
Richard Davies          Richard Mitton          Rob Bohms
Rob Rosenbrock          Robert Alan Byer        Robert Anschuetz
Robert Flory            Robert Gallagher        Roberto Fresca
Roberto Gandola         Roberto Ventura         Robin Merrill
robiza                  Rodimus Prime           Roger Sanders
Roman Scherzer          Ron Fries               Ruben Panossian
Runik                   Russell Nash            Ryan Ahn
Ryan Holtz              RYO

Sal Bugliarisi          Samuele Zannoli         Santeri Saarimaa
Satoshi Suzuki          Sawat Pontree           Scott Brasington
Scott Kelley            Sean Gugler             Sean Riddle
Sean Young              Sebasten Hegon          Sebastian Ojeda
Sebastien Chevalier     Sebastien Monassa       Sebastien Volpe
sedn                    Shane Monroe            Shaun Stephenson
The Sheep               Shica                   ShimaPong
Shin Emu Keikaku team   ShiRiRu                 siftware               
SilverFox               Simon Walls             Simon White            
smf                     Smitdogg                Sonikos
Special LIU             Stefan Jokisch          Stefan Lindberg
Stefano Mozzi           Stefano Teso            Stephan Cecchinel
Stephen Behling         stephh                  Steve Ellenoff
Steve Rice              Steve S.                Steven Frew
Steven Hugg             sthief                  Stiletto
Stuart Campbell         Suppi-Chan              Svante Gerhard
Sylvain Glaize

Taiwan                  Takahiro Nogi           Tatsuyuki Satoh
Taucher                 Team Japump             Thierry Lescot
Thomasz Slanina         Thorwak                 Tim Cottrill
Tim Lindner             Tim Lindquist           Tim Schuerewegen
Tirino73                Toby Broyad             Tom Girardot
Tom McClintock          Tomas Karlsson          Tomasz Slanina
Ton Brouwer             Toninho                 Tormod Tjaberg
Torsten                 Toshiaki Nijiura        Trinity

Uki                     Uncle Tom               unzu

Valerio Verrando        Vas Crabb               vernimark
Vernon C. Brooks        VGR                     Victor Trucco
Ville Laitinen          Ville Linde             Vince Mayo

Weisse Eins             Wiebo de Wit            Wilbert Pol
William Krick           wolf676                 Wolfi
wpcmame                 wwtk@mail.com

XingXing                xvi

Yasuhiro Ogawa          Yochizo                 yong
Yves Colombani

Zerza                   Zonn Moore              Zsolt Vasvari

MAMETesters Bugs Fixed
debug_assertions0111u6ora [Aaron Giles]
z80update0111u6red [David Haywood]
memory_leak0111u6ora (partial) [Oliver Stoneberg]
crosshair0111u5gra [Canim, Aaron Giles]
renegade0111u4red [Aaron Giles]
subs0111u6yel [Aaron Giles]
ddraweffect0111yel [Aaron Giles]

Source Changes
Fixed popping in Berzerk speech. [Lord Nightmare]

Added osd_rmfile to the osdcore, replacing calls to remove().
[Nathan Woods]

Cleaned up a number of drivers that were using malloc from within
DRIVER_INIT to use malloc_or_die instead. [Atari Ace]

Fixed memory leak with -wavwrite switch. [Oliver Stoneberg]

Updated Tempest to support second player controls. [stephh]

Updated the dooyong driver to use the new-style banking system. Also
added some preliminary save state support. [Vas Crabb]

Some improvements to pmpoker.c: [Roberto Fresca]
- Crystal documented via #define.
- CPU clock derived from #defined crystal value.
- Replaced simulated colors with proper color prom decode.
- Cleaned up the driver a bit.
- Updated color PROMs

Some improvements to funworld.c: [Roberto Fresca]
- All crystals documented via #defines.
- All CPU and sound clocks derived from #defined crystal values.
- Added DIPLOCATIONS to all games.
- Added proper tsc87c52 MCU dumps to monglfir and soccernew.
- Modified the refresh rate to 60 fps.

Fixed SCSP DSP RAM initialization. [R. Belmont]

Improved decryption of MC8123-0054 based on a new dump.
[Nicola Salmoria]

Fixed Moon Patrol scrolling so that it matches the schematics.
[Chris Hardy]

Proper implementation of noise generator in the Exidy/Berzerk sound
circuit. [Lord Nightmare]

Fixed toaplan2.c driver to add controls for player 3 in 'fixeigh*'
(of course, main set - 'fixeight' - still remains unplayable).

Added DIP locations to the arabian driver. [Roberto Fresca]

Fixed random dots in Columns '97 graphics. [Mariusz Wojcieszek]

Added DIP locations to wwffest, ninjaw, and itech32 drivers.
[Brian Troha]

Rewrote faux x86 assembly in the Irem GA20 sound core. [R. Belmont]

Improvements to the Cidelsa driver. [Curt Coder, David Haywood]

Minor cleanup to the 8039 disassembler. [Nathan Woods]

Improvements to the sslam driver: [Quench]
* corrected the music sequencing simulation of the sound controller
    in SSLAM based on poking a real board Guru kindly provided.
* added save state support
* added DIP locations

Fixed crash in cybrcomm due to missing ROM. [R. Belmont]

Changed alpha blending code to use multiplies instead of table
lookups to simplify it. [Aaron Giles]

Cleaned up some poorly written code in konamiic.c; there is still
much work to be done here, but it fixes the GX sprites. [Aaron Giles]

Removed linear interpolation from the BSMT2000 by default since the
original chip did not do interpolation. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Teeter Torture [Aaron Giles]
Hyper Street Fighter 2: The Anniversary Edition [Nicola Salmoria]
Lady Master of Kungfu [Juddy]
Destroyer (Cidelsa) [Curt Coder]
Witch [Tomasz Slanina]

New clones added
Double Dragon (US Set 2) [Corrado Tomaselli]
Golden Poker Double Up (Mini Boy) [Roberto Fresca]
Pool 10 (Italia, set 2) [Roberto Fresca]
Mighty! Pang (USA 001010) [David Haywood, Charles MacDonald]

New games marked as GAME_NOT_WORKING
Wyvern Wings [Pierpaolo Prazzoli]
Alpha One (Vision Electronics / Kyle Hodgetts) [Gareth Hall]
Cash Quiz (Type B, Version 5) [Chris Hardy]


IMPORTANT: This release brings with it a major source code
reorganization. Because of this, there is no diff update, since the
diff would be enormous.

The new layout at a high level looks like this:

  emu/        (generic emulation files from the old src/ directory)
    cpu/      (CPU cores from src/cpu)
    sound/    (sound cores from src/sound)
    debug/    (debugger code from src/debug)
    audio/    (generic audio files from src/sndhrdw)
    layout/   (generic layout files from src/layout)
    machine/  (generic machine files from src/machine)
    video/    (generic video files from src/vidhrdw)

  mame/       (MAME-specific drivers)
    drivers/  (drivers from src/drivers)
    includes/ (includes from src/includes)
    layout/   (majority of files from src/layout)
    machine/  (majority of files from src/machine)
    audio/    (majority of files from src/sndhrdw)
    video/    (majority of files from src/vidhrdw)
    etc/      (misc files from src/etc)

  lib/        (libraries)
    util/     (various files with light dependencies from src)
    zlib/     (zlib library)
    expat/    (expat library)

  osd/        (OS-dependent code)
    osdmini/  (mini OS-dependent code)
    windows/  (Windows OS-dependent code)

  tools/      (misc tools)

Along with these changes come a number of makefile alterations to
better distribute the build knowledge within each major subdirectory.
There may be some build issues or other interesting side effects to
this change. Report them on MAMETesters and future updates will
include fixes.

MAMETesters Bugs Fixed
m4_0111u4gra [Mike Ellery]
mouser0112yel [Mamesick]
bnj0111u5ora [Canim]

Source Changes
Improvements to the Cidelsa driver: [Curt Coder]
- Fixed the disassembly of cdp1802 opcode LSKP
- Changed the cdp1802 opcode OUT to increment R(X) after calling the
    write handler
- Set cdp1869 display size and visible area according to data sheet
- Added cdp1869 CFC emulation (probably never used by anything but
   just for completeness' sake)
- Cleaned up driver

Improvements to the M2 driver: [Ville Linde]
- Added preliminary CD controller emulation
- Hooked up some more multi-processor functionality and interrupts

Improvements to C352 sound emulator: [cync, hoot development team]
- Rewrote loop and flag handling, added support for global key-on
- Fixed state saving

Worked around compilation error on MSVC that caused "Calendar error"
in the Neo Geo games. [Atari Ace]

Rewrote much of the RF5C400 sound emulator to support looping, stereo
panning, and 8-bit sample support.
[hoot development team, Ville Linde]

Removed patch from mjleague now that it is not needed.
[Arenzo Fabrice]

Fixed bubbletr crosshairs. [Canim]

Cleaned up information in mamedriv.c. [Brian Troha]

Added save state support for all games in gng.c, gunsmoke.c, lasso.c,
solomon.c and terracre.c. [Vas Crabb]

Replaced implementation of Namco 54xx sound chip with new MB8844 CPU
core running the original embedded ROM code. Removed old sound core.
Pole Position and Bosconian no longer require samples as a result.
[Nicola Salmora, Ernesto Corvi, Guru]

Added new function driver_get_count() to return the number of drivers.
[Nathan Woods]

Added a bunch of new protection routines for SD Gundam & Heated
Barrel. [Angelo Salese]

Input system changes: [Derrick Renaud]
- Added new IPT_POSITIONAL control type. This is for Ikari type
    rotary controls and gray-code devices like Seawolf. This makes
    rotary and gray-code controls easy to enter without custom
- Fixed some rounding and min/max errors in the core input code.
- Modified crosshair code to be based on real scaling, see Seawolf
    for an example. It can now also have multiple crosshairs on one
    input port if needed.
- Added back in the namcos2 crosshairs. Turns out they are needed
    for calibration.
- Removed the gwar control hack from the Ikari games that did not
    need it. Modified the gwar control hack so it is only used for 1
    frame, making it unnoticeable.
- Updated boothill, gunfight, seawolf, spcenctr to use the new

Fixed the exidy/stern-sb1000 6840-based sound hardware to use what
is believed (based on the schematic) to be the proper LFSR/PRNG
waveform for its secondary clock source. [Lord Nightmare]

Updated Dragon Bowl to use HOLD_LINE for sound IRQs. Also did the same
for the following drivers: afega, ettrivia, funybubl, jack, mustache,
seta, trvmadns, wink. [Pierpaolo Prazzoli]

Changed 6809/6309 CPU cores to call the MAME debugger when CWAI/SYNC
is used. [Nathan Woods]

Fixed uninitialized use of video_dma_address to address the rfjet
crash in 64-bit builds. [Ville Linde]

Added support for the Motorola MPC8240 to the PowerPC core.
[Ville Linde]

Improved ZIP file searching to look first for name + CRC match, second
for CRC-only match, and lastly for name-only match. [Ben Rudiak-Gould]

Verified and improved stepper behavior based on comparison with a
real machine. [James Wallace]

Changed file2str to work for any binary file and output the data as
an array of bytes rather than a string. [Aaron Giles]

Made UI font size computations more flexible. This ensures that fonts
are scaled vertically by an integral factor and should produce nice
proportions for most fonts now. [Aaron Giles]

Added new function sound_find_sndnum_by_tag() to look up a sound
index by its tag. [Aaron Giles]

Made osd_uchar_from_osdchar a member of the osdcore file library.
[Aaron Giles]

Created new generic bitmap management code with fewer dependencies on
the rest of MAME so that it can be used by utility code. Changed
bitmap_alloc to always take a format parameter. Deprecated
bitmap_alloc_format. Updated all drivers to pass an explicit format
when allocating a bitmap. Changed auto_bitmap_alloc in the same
fashion. [Aaron Giles]

Split some functionality from fileio.c into new module corefile.c,
which can be used by utilities to get unicode support and fopen-style
file I/O built on top of the OSD routines. Rebuilt fileio.c on top of
the core file code. Added mame_core_file() to get the underlying
core_file object from a mame_file so it can be used with png and
xmlfile code. [Aaron Giles]

Changed the way the tiny build works. There is now the concept of a
SUBTARGET. By default SUBTARGET is set equal to TARGET (which is mame)
and everything builds as normal. The makefile that is included is now
src/$(TARGET)/$(SUBTARGET).mak. Thus, to do a tiny build, you now
have to specify "make SUBTARGET=tiny". This will produce an output
executable with a name $(TARGET)$(SUBTARGET) (mametiny in this case).
[Aaron Giles]

Turned ENABLE_BORDER_PIX back on, since so many people seem to be
having trouble without it. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Cash Quiz [Pierpaolo Prazzoli]
Sidewinder [smf]

New clones added
Power Spikes (China) [Pierpaolo Prazzoli]
Rastan Saga (Japan Rev 1) [Gerald Coy]
Eco Fighters (USA 931203) [Nicola Salmoria]
Ultimate Ecology (Japan 931203) [Nicola Salmoria]
Eco Fighters (Asia 931203) [Nicola Salmoria]
Night Warriors: Darkstalkers' Revenge (Hispanic 950403) [Nicola]
Night Warriors: Darkstalkers' Revenge (Brazil 950403) [Nicola]


MAMETesters Bugs Fixed
analog0112u1gra [Derrick Renaud]
UItext0112u1yel [Aaron Giles]
layout0112u1gre [Aaron Giles]
pinbo0112u1gre [Aaron Giles]

Source Changes
Improved the cidelsa driver: [Curt Coder]
- rewrote the cdp1802 cpu emulation as a state machine
- fixed Draco dips and inputs (what a strange game!)
- added NVRAM to Destroyer/Draco (Altair has no battery on the PCB)
- fixed some clocks

Fixed mapping of spaceship controls in spcenctr. [Canim]

Removed the inclusion of unnecessary header files across the project.
[Atari Ace]

Added discrete filters to the new Namco 54xx sound effects. Also
implemented filters for the 52xx sound effects in preparation for
future changes. [Derrick Renaud]

Added pause support to the output system: [Bob Seidel]
- added "pause" message through the Output system to let clients
    know when MAME is paused
- the state of an item is now sent when the item is first created
- updated ledutil to use the pause state

Added cocktail mode and DIP locations to the Millipede driver.
[Mike Haaland]

Many more CPS2 keys added. Removed all XORs and support for them from
MAME. [Nicola Salmoria, Andreas Naive]

Fixed regression in the ar_xeon driver sprites. [Ernesto Corvi]

Kaneko driver improvements:
- bloodwar: [Gary Walkling, Sebastien Volpe]
    * protection data extracted, still needs to be verified
    * collision detection simulation thanks to tests on real board
- bonkadv: [Guru, Sebastien Volpe]
    * protection data fully verified: corrects tilemap colors in levels 2 and 3
    * correct implementation of MCU command 43

Fixed behavior of MOVEC instruction on later 680x0 chips, and in the
disassembler. [Ernesto Corvi]

Properly idenitified sound ROMs for Altered Beast set 2. [Brian Troha]

Fixed bad bits in a couple of FD1094 keys. [Aaron Giles]

Fixed bug in debugger that caused incorrect end offsets to be
computed on CPUs with an address shift. [Ville Linde]

Moved some additional pieces of core functionality in the the core
utility library. [Nathan Woods]

Added sound to porky. [Tomasz Slanina]

Changed font scaling again. Fonts 24 pixels tall and above are scaled
the old way. Fonts smaller than that are scaled via integral scale
factors and adjusted the new way. [Aaron Giles]

Added a small optimization to the FD1094 decoding step. [Aaron Giles]

Added several new modules to the utility library libutil. First is a
generic huffman encoding module. Second is a module that allows you to
read/write AVI files in a platform-independent way. And third is a
lossless A/V compression module. These three pieces together, plus
some changes in the CHD code, allow for the creation of CHDs with
compressed audio and video. [Aaron Giles]

Added two new commands to chdman: -createav converts an AVI file in
uncompressed YUY format or HuffYUV-compressed YUY format with "left"
prediction into a CHD. And -extractav converts a CHD containing
compressed audio & video into an uncompressed YUY format AVI file.
[Aaron Giles]

Finished hooking up laserdisc support to the new audio/video
compression. Note that we still do not have canonical CHDs of
laserdisc data at the moment, but all the support is now present for
when they start to appear. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Altair [Curt Coder]
Draco [Curt Coder]
Wyvern Wings [Pierpaolo Prazzoli]
Choko [Guru]
Asura Buster - Eternal Warriors (Japan) [David Haywood, Guru]
Blood Warrior [Sebastien Volpe]
Deal 'Em (MPU4 Conversion Kit) [James Wallace]
Jyangokushi: Haoh no Saihai (Japan) [Guru]
Dynamite Bomber (Korea) (Rev 1.5) [Guru, Pierpaolo Prazzoli]
Search Eye 2 Plus V2.0 [Guru, David Haywood]

New clones added
Dungeons & Dragons: Tower of Doom (Asia 940113) [Nicola Salmoria]
X-Men: Children of the Atom (Hispanic 950331) [Nicola Salmoria]
Armored Warriors (Asia 940920) [Nicola Salmoria]
Street Fighter Zero (4 sets) [Nicola Salmoria]
Dungeons & Dragons: Shadow over Mystara (Brazil 960223) [Nicola]
Mega Man 2: The Power Fighters (Asia 960708) [Nicola Salmoria]
Street Fighter Zero 2 (6 sets) [Nicola Salmoria]
X-Men Vs. Street Fighter (7 sets) [Nicola Salmoria]
Battle Circuit (Asia 970319) [Nicola Salmoria]
Marvel Super Heroes Vs. Street Fighter (2 sets) [Nicola Salmoria]
Super Gem Fighter: Mini Mix (Hispanic 970904) [Nicola Salmoria]
Hyper Street Fighter 2 (Japan 031222) [Nicola Salmoria]
Giga Wing (Asia 990222) [Nicola Salmoria]
1944: The Loop Master (Japan 000620) [Nicola Salmoria]
Progear (Asia 010117) [Nicola Salmoria]
X-Men (4 Players ver JBA) [Brian Troha]
Garou - Mark of the Wolves (bootleg) [David Haywood, JohnBoy]
Puzzle Bang Bang (version 2.8 / 990106) [Guru]
Space Battle Ship Gomorrah [Guru]

New games marked as GAME_NOT_WORKING
Candy Puzzle [David Haywood]
Harem Challenge [David Haywood]
Laser Quiz [David Haywood]
Laser Quiz '2' Italy [David Haywood]
Magic Premium [David Haywood]
Laser Stixx [David Haywood]
Koi Koi [David Haywood]
Ski Champ [R. Belmont]


MAMETesters Bugs Fixed
ghouls097u4yel [MAME Italia Forum]
hotchase0111u2gra [Brian Troha]
bigtwin0111u4gra [Brian Troha]

Source Changes
Modified ledutil to save the LED state when returning from pause.
[Bob Seidel]

Fixed the crashing in debug builds and added controls for Ski Champ.
[Ville Linde]

Updated makefile to remove the map file when making clean. [Dirk Best]

Significant changes to the input system: [Derrick Renaud]
* Added the -vol shortcut to -volume to match the docs.
* Added new joystick options -joy_deadzone & -joy_saturation.
    Removed -a2d_deadzone. These now apply to the analog and
    digital-from-analog data. See windows.txt for more info.
* Analog joystick data is divided into chunks for IPT_POSITIONAL
    controls. e.g., for a 7 position emulated control, a joystick
    axis will move 3 positions each way from center + center =
    7 positions. One good use for this is 49way sticks. The driver
    input code just needs to be set to IPT_POSITIONAL
* IPT_PEDAL controls are now nothing special in the core. They can
    use any control like a paddle does. At the OS input level, the
    code has been changed to supply full joystick axis and the +/-
    axis. This means any half axis or full axis can be used for any
    emulated control. e.g., a pedal that only outputs Y- data can be
    used for the full range of the gun in boothill. Or a full axis
    slider on a joystick can be used in its full range as an emulated
    pedal. INC now increases the pedal value, not DEC.
* When seting up the player controls in the menu, the first time an
    analog joystick axis is selected it will use the full range. If
    you immediately select the same joystick axis it will toggle to
    the half +/- axis.
* Analog joysticks can now simulate relative devices such as a
    trackball. The further you move the joystick, the faster the
    trackball spins. Use the sensitivity setting to adjust.
* Added support for mouse +/- axis to be used as button input.
* Modified IPT_PADDLE and IPT_AD_STICK so they do not behave as
    pedals using half the joystick range if their default value is
    equal to one of the PORT_MINMAX values. Now you can select it as
    the full or +/- part axis.

Updates to the acefruit driver: [stephh]
* added 'sidewndr' and 'spellbnd' (was 'sidewnda') which were missing
    in previous releases
* reorganised the layout to have all lamps and solenoids at the top
    (where there's nothing)
* also renamed some lamps and solenoids
* added 'starspnr' ... unfortunately, the game is not working due
    to a bad dump (H11)

Updated the DISCRETE_OP_AMP_OSCILLATOR circuit to get it ready for a
future driver. It allows the DISC_OP_AMP_OSCILLATOR_1 |
DISC_OP_AMP_IS_NORTON oscillator to use nodes to adjust the
resistance values instead of only being static values.
[Derrick Renaud]

Fixed thrust control in Lunar Lander. [Derrick Renaud]

Created new utility module pool.c for managing memory pools. Rebuilt
auto_malloc on top of this concept. [Nathan Woods]

Added speedups to many of the Eolith games. [David Haywood]

Added sprite rotation to the realbrk driver. This fixes the jigging
reels in the pachinko games and the cue position and orientation in
the pool games.

Added discrete sound for Amazing Maze. Also added new Discrete
[Derrick Renaud]

Fixed the small graphic issues in the Cidelsa driver. Draco still has
imperfect colors. [Curt Coder]

Fixed naming and identification of several Neo Geo ROMs. [JohnBoy]

Fixed regression in the GeeBee driver. [David Haywood]

Major update to the Konami System 573 driver: [smf]
* added state saving to emu\sound\cdda.c & mame\drivers\ksys573.c
* added DS2401 emulation
* added X76F100 emulation
* added ZS01 emulation (HLE of System 573 PIC)
* added write support to X76F041 emulation
* many new games partially supported

Connected brightness support on the CPS1 board (not just CPS2) after
verifying that the real board does support it. [MAME Italia forum]

Improved the K001604 tilemap chip emulation. [Ville Linde]

Fixed garbage in fonts on some systems. [Aaron Giles]

Added new tool makemeta.exe, which can generate properly formatted
metadata for laserdisc CHDs using either a specially captured AVI as
input (preferred) or a hand-crafted set of encoded Philips codes.
[Aaron Giles]

Rewrote throttling code to be more forgiving of OSD-level glitches
and uneven frame rates. [Aaron Giles]

Changed sound streaming engine to be emulated time based instead of
sample based. This means that emulation behavior is independent of
the user-specified sample rate (except that some sound cores still
use this value; to fixed in a future update). Also separated sound
generation from video frame rate. Sound is now pushed to the OSD
layer at a fixed rate of 50 updates per emulated second. This entailed
a change in the way sound is handed to the OSD layer. Instead of the
OSD layer requesting arbitrary numbers of samples each frame, the
core now pushes the appropriate number of samples based on the
emulated time. [Aaron Giles]

Simplified the OSD interface for sound. Removed osd_start_audio_stream
and osd_stop_audio_stream; OSD initialization code is now responsible
for initialization. Removed osd_get_mastervolume and osd_sound_enable,
keeping management of the main volume in emu/sound.c. [Aaron Giles]

Changed K054539 to run at native sample rate. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Crazy War [Pierpaolo Prazzoli]

New clones added
Super Puzzle Fighter II Turbo (Asia 960529) [Nicola Salmoria]
Meikyuu Hunter G (Japan, set 2) [David Haywood]
Chinese Heroe (Taito) [David Haywood]

New games marked as GAME_NOT_WORKING
Dance Dance Revolution (GC845 VER. JAB) [smf]
Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA) [smf]
Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA) [smf]
Dance Dance Revolution Solo 2000 (GC905 VER. AAA) [smf]
Dance Dance Revolution 3rd Mix [smf]
Dance Freaks (G*874 VER. KAA) [smf]
DrumMania 2nd Mix (GE912 VER. JAA) [smf]
Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA) [smf]
Dance Dance Revolution 4th Mix (G*A33 VER. AAA) [smf]
Dance Dance Revolution Solo 4th Mix (G*A33 VER. ABA) [smf]
Dance Dance Revolution USA (G*A44 VER. UAA) [smf]
Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA) [smf]
Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JAA) [smf]
Dance Maniax 2nd Mix (G*A39 VER. JAA) [smf]
Dance Dance Revolution 5th Mix (G*A27 VER. JAA) [smf]
Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA ) [smf]
Salary Man Champ (G*A18 VER. JAA) [smf]
DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA) [smf]
DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA) [smf]


MAMETesters Bugs Fixed
speakres0112yel [Zsolt Vasvari]
minigolf0112u2gra [Derrick Renaud]
empcity36finalyel [Aaron Giles]
rdtsc0101u5yel [Aaron Giles]

Source Changes
Discrete sound for Checkmate: [Derrick Renaud]
* new DISCRETE_ADJUSTMENT_TAG module that uses tags instead of port
   numbers. Updated all games to use it, because it is now the
   preferred method.
* added PORT_CROSSHAIRs to triplhnt.

Minor Konami 573 system update: [smf]
* marks two games as working which were incorrectly tagged
* adds the correct hashes for 845jab02
* added NO_DUMP's for all the flash roms

Fixed a number of issues related to the new streaming engine and
sound code: [Aaron Giles]
* fixed crash when restoring from a save state
* fixed crash when running with -nosound
* fixed loud looping when halted in the debugger
* fixed crash when changing sample rates (YM2203 mainly)
* fixed crash in k054539 sound core

Added SN76477 noise RNG polynomial. [Zsolt Vasvari, Derrick Renaud,
Jarek Burczynski]

Midway 8080 driver updates: [Zsolt Vasvari]
* fixed bug where mw8080bw games would freeze after state load.
* corrected DIP SW order in M-4
* converted Dog Patch to PORT_POSITIONAL

RF5C400 sound core improvements: [hoot development team]
* implemented volume envelopes
* ccorrected the channel volume calculation
* documented registers for reverb, chorus, and per-channel digital
    filter (actual effects are not implemented yet)

Fixeed most Dip Switches and Inputs in the galspnbl driver.
[stephh, Justin Szczap]

Updated a number of drivers to use the new PORT_DIPUNUSED macros.

Improvements to the memory pool routines: [Nathan Woods]
- added a pool_clear() call, to clear out a memory pool without
    freeing the pool itself
- added support for pool_realloc() with a size of zero, which
    effectively frees a pointer within a pool
- added testing code to validate pool behavior

Added support for more flexible word wrapping with CJK characters.
Also added wrapping on hyphens. [MAME Plus! team, Aaron Giles]

Added T5182 support, which gives sound to darkmist, mustache and
panicr. Also changed the YM2151 to prevent timer problems, and added
the missing flip X in Mustache Boy. [Nicola Salmora, Lord Nightmare,
Ernesto Corvi]

More input fixes and improvements: [Derrick Renaud]
* fixed some obscure masking, shifting, overflow, and signed
    problems in the input system. Most noticeably this fixes the
    analog controls in sfootbal and stops the pedal in redlin2p from
    rotating through gas/no gas as the pedal is pressed.
* analog ports no longer save and load their default value from the
    config file. It should only ever use the value specified in the
    driver, and storing it can cause problems the more the game is
    restarted and the value starts to change.
* added a bunch of validity tests to the analog ports. Some are
    commented out until the problems they uncovered are fixed.
* analog ports now defalt to a PORT_MINMAX of (0,mask). This means
    you no longer have to specify PORT_MINMAX if you are not using
    any limits. Removed a bunch of no longer needed PORT_MINMAX

Bitmaps are now cleared to 0 by default. This fixes a number of random
crashes in games. [Aaron Giles]

Modified the raster position calculations to round to the nearest
pixel which produces more consistent results. [Aaron Giles]

Changed most sound cores to generate audio at their internal clock
rates (or some multiple/divisor of them) rather than at the user
specified output rate. This completes the second step of decoupling
audio emulation from the user's sample rate choice. [Aaron Giles]

Removed a big pile of goofiness from the DMA-driven DAC driver now
that it is no longer necessary. [Aaron Giles]

Removed custom sound code from cchasm and replaced it with a simple
DAC implementation. [Aaron Giles]

Cleaned up attckufo driver, making it perform like a 1MHz 6502 game
once again. [Aaron Giles]

New games marked as GAME_NOT_WORKING
Tokimeki Memorial Oshiete Your Heart [R. Belmont]
Tokimeki Memorial Oshiete Your Heart Seal version PLUS [R. Belmont]


MAMETesters Bugs Fixed
fastlane0112u4gra [Canim]
diamond0112u4gra [Canim]
calorie0112u4gra [Canim]
qcrayon237b9gra [stephh]
leftover0112u4ora [Aaron Giles]
asserts0112u4ora [Aaron Giles, Derrick Renaud]
nes0112u4red [Aaron Giles]

Source Changes
Removed unnecessary idle skipping code from the m92 and deco32
drivers. This allows removal of a couple of now-unused functions
from cpuexec. [Zsolt Vasvari]

Minor cleanup of Berzerk driver. [Lord Nightmare]

Removed cpu_gethorzbeampos() and replaced it with calls to
video_screen_get_hpos(). Also changed TMS34010 configuration to take
a screen number, and changed atarigen_get_hblank() to take a screen
number as well. [Zsolt Vasvari]

Fixed the model2.c ROM definitions for some games that weren't even
loading and made the infamous unknown z-sort mode not a fatal error.
[R. Belmont]

Fixed a number of BIOS-only drivers to not crash when run.
[R. Belmont, Aaron Giles]

Fixed bug where the window thread would stop processing events when
mame was paused. [BUT]

Changed the 'Tournament' Street Fighter games to not have a network
adapter present by default. [David Haywood]

Fixed incorrect Eolith speedup patch from u3. [David Haywood]

Fixed regressions in 3 of the discrete games from 0.112u4.
[Derrick Renaud]

Fixed all analog controls for the newly enabled validity checks
including the following: [Derrick Renaud]

* demndrgn - changed to proper IPT_AD_STICK controls.
* konamigt, hcrash, rf2 - set to proper PADDLE control and fixed mask.
* overdriv - changed to proper PADDLE control.
* sspeedr - changed to IPT_POSITIONAL with PORT_REMAP_TABLE controls
    for gas and steering fixing both.
* midvunit.c - changed games so the brake pedal shows on player1
* simpbowl - fixed port mask, now trackball works proper without
* ssrj - fixed gas pedal
* namcos2 - fixed inputs on all games (may need to delete nv files)

Added diplocations to the driver segas16a, segas16b, segas18, megaplay,
news, ninjadks2 and nemesis drivers. In segas16b, added in SDI
allow_continue. In megaplay (Mazin Wars) updated the name of dip with
the real name from game setting. [Ruben]

Actually included the RF5C400 changes mentioned for u4.
[hoot development team]

Split the sprint4 and ultratnk drivers again. Brought the Sprint 4
driver up to date. [Stefan Jokisch]

Added save state support to Combatribes and Jail Break. [Kevin Eshbach]

Added preliminary sound to Destroyer and Altair. White noise is
missing, and Draco is still silent. [Curt Coder]

Added tools to generate regression tests and mamedev.org-compatible
reports. The report generator is cross-platform, but the test running
code is Windows-only at the moment. [Aaron Giles]

Fixed regression in Nintendo games that did not specify a clock for
the NES APU. [Aaron Giles]

Rewrote the BSMT2000 to be more accurate. Various modes are now
software selected at startup based on the register value at reset
time. Changed all existing drivers so they properly hooked up the
reset line on the chip in order to make this control work. Also added
correct BSMT2000 ADPCM output. [Aaron Giles]

Defined several new exit codes for "unknown game" and "invalid config"
and changed the Windows OSD layer to output them. [Aaron Giles]

Removed obsolete joystick calibration junk from the osdepend layer.
If anyone needs this functionality, I will look into providing a way
for the OSD code to add menus in the UI. [Aaron Giles]

Changed file2str to be built into the obj directory. [Aaron Giles]

New games added or promoted from NOT_WORKING status
beatmania 3rd MIX [Yasuhiro Ogawa]
A Question of Sport [Philip Bennett]

New clones added
Jail Break (Bootleg) [Kevin Eshbach]
The Combatribes (US) - Set 1? [Kevin Eshbach]
Plotting (World set 3, Earliest) [Stefan Lindberg]
Flipull (Japan) [Stefan Lindberg]

New games marked as GAME_NOT_WORKING
DrumMania [smf]
Percussion Freaks 3rd Mix [smf]
Guitar Freaks 4th Mix [smf]
Guitar Freaks 5th Mix [smf]
Snooker 10 [Roberto Fresca]
ParaParaDancing [Ian Patterson]
Keyboardmania [Ian Patterson]
Keyboardmania 2nd Mix [Ian Patterson]
Pop n' Music 7 [Ian Patterson]


NOTE TO OSD PORTERS: There are some major changes happening in this
version. Most importantly, throttling and frameskipping are now part
of the core. Please read the whatsnew carefully!

MAMETesters Bugs Fixed
janptr96_0110u4gra  [Mike Ellery]
dokidoki0111u5gra [Mike Ellery]

Source Changes
Began converting drivers over to the new more accurate video timing
functions (video_screen_* functions instead of cpu_*). This first
batch includes all the games using the TMS34010 chip and the Atari
games that use atarigen.c. [Zsolt Vasvari]

Fixed Windows-isms in regrep.c. [couriersud, Aaron Giles]

Improvements to the kaneko driver. All the protection data should be
correct now. [Sebastien Volpe]

Added DIP switch locations based on information from the manuals for
the following drivers: Karnov, Magmax, Omega Race, Spiders, Bagman,
and Bank Panic. [Justin Szczap]

Added a call winwindow_ui_exec_on_main_thread() to allow code on the
window thread to cause a function to be executed on the main thread.
[Nathan Woods]

Fixed a crash when verifying samples when a sample has a NULL name.
[Nathan Woods]

Built the iButton data for keyboardmania 2nd mix and Pop'n Music 7.
With this update Pop'n Music will also show the self tests.
[Ville Linde]

Properly fixed tile flipping in Mustache Boy. [David Haywood]

Built iButton data for ppd. [Ian Patterson]

Fixed the rest of the Atari games and the Cinematronics CCPU games to
use the newer video timing system. Also fixed reset problem in
Destroyer. [Zsolt Vasvari]

Fixed sample audit to report all missing samples. [BUT]

Marked unknown dips for 005 according to manual. [Mike Ellery]

Updates drivers from C-E to use the newer video timing system.
[Zsolt Vasvari]

Fixed timer dipswitch in Alien Syndrome set 1. [Don Maeby]

Moved throttling, frameskipping, fast forwarding, and timing into the
core. Removed the equivalent code from the Windows OSD layer. This
now relies on options being set for controlling these features by the
OSD layer via options.c. Deprecated the old osd_get_fps_text()
function. Changed osd_update() to take a parameter indicating whether
or not the frame was skipped. Added new function osd_sleep() to the
OSD core timing library. [Aaron Giles]

Added a new mechanism for building in fonts. A new tool, png2bdc can
convert a specially formatted PNG file into a binary cached MAME font.
This cached font can be embedded into MAME. A new default small UI
font is now included, and built via this process to replace the old
hard-coded one. The new font is proportional, so there is better use
of limited screen real estate in small video modes. Some balancing/
tweaking of the actual font still needs to be done, and some basic
functionality still needs to be added to png2bdc. Consider this a
work-in-progress. [Aaron Giles]

New clones added
A Question of Sport (39-960-089) [Highwayman]

New games marked as GAME_NOT_WORKING
Megatouch 6 [chaneman]


Note to OSD porters: several OSD-related changes are in this build.
Many options in the system are now defined by the core and looked up
using the options_* functions. This should allow a bunch of code to
be removed from most OSD ports. In addition the mame_file_error type
has been renamed to file_error, so a little search & replace action
is necessary.

MAMETesters Bugs Fixed
neogeo0113u1red [Zsolt Vasvari]

Source Changes
Updated a number of Sega games to use the new video timing code.
[Zsolt Vasvari]

Added very preliminary SSP1610 CPU core. [Pierpaolo Prazzoli]

Created a utility call win_is_gui_application() to determine if the
current process is a console or a non-console application. Added a
call to direct error output to message boxes if MAME is running as a
windows application (such as MAME32). This will allow MAME32 failures
to be reported to the user rather than silently fail. [Nathan Woods]

Updated NeoGeo driver to the new video timing code and raw screen
parameters. [Zsolt Vasvari]

Firebeat driver updates: [Ville Linde]
- Fixed the hardware error in Keyboardmania 2nd mix
- Added iButton for Keyboardmania
- Hooked up inputs for Pop'n Music 7

Updated Gridlee and Bally/Sente driver to use new video timing code
and raw screen parameters. [Zsolt Vasvari]

Created a UTF-8 wrapper for the Win32 API GetModuleFileName().
[Nathan Woods]

Updated Voodoo-based games to use the new video timing code and newer
MAME timers. [Zsolt Vasvari]

Major cleanup/rewrite of the Ultra Tank driver. [Stefan Jokisch]

Update to Sprint 4. This fixes the gear shift levers which were broken
with a recent previous change, and improves a few other bits.
[Stefan Jokisch]

Added back joystick deadzone handling behind a compile-time define as
a pattern for other OSD ports. [Derrick Renaud]

Implemented the mw8080bw interrupt generation more to how the real
hardware works (equivalent result as before). Added detailed
description of the video timing and the interrupt generation systems.
[Zsolt Vasvari]

Fixes cdp1869 double width mode (for MESS). [Curt Coder]

Removed stupid sprite hack from Riddle of Pythagoras. [David Haywood]

Updated Starfire driver to use video timing from schematics.
[Zsolt Vasvari]

Some more 8080bw fixes: [Zsolt Vasvari]
- fixed Lupin III crash due to invalid sample.
- added video timing from mw8080bw. This caused the visible areas of
    most games to change, so they will fail regression.
- Shuttle Invaders display is shifted off screen now ?but the PCB
    notes confirm that it旧 a different hardware, so it will need its
    own driver anyhow.
- created a new file for MB14241, which is the shifter IC used by
    Invaders hardware games.

Renamed mame_file_error to file_error, since it is used throughout
the code including the utilities. [Aaron Giles]

Added stronger priority boosting when sleeping on Windows in the hopes
of getting more consistent frame rates. [Aaron Giles]

Added remaining Unicode characters up to 0100h in the built-in font.
[Aaron Giles]

Added a 'flags' parameter to osd_work_item_queue() and defined one
new flag: WORK_ITEM_FLAG_AUTO_RELEASE, which means that the work item
should be automatically released when completed. [Aaron Giles]

Changed the Windows OSD work code to only allocate events for items
when necessary, in order to conserve system resources. [Aaron Giles]

Changed refresh and VBLANK timing parameters throughout the system to
be specified in subseconds_t instead of as floating point frequencies.
[Aaron Giles]

Updated video timing in the Midway V-unit driver. [Aaron Giles]

Changed gaelco3d driver to use osd_work_items for rendering, allowing
multi-CPU systems to shift most of the rendering burden to a second
CPU. [Aaron Giles]

Moved support for the following options into the core: [Aaron Giles]
  -state <x>
  -playback <file>
  -record <file>
  -mngwrite <file>
  -wavwrite <file>
  -brightness <x>
  -contrast <x>
  -gamma <x>
  -pause_brightness <x>
  -beam <x>
  -flicker <x>
  -volume <x>
  -debugscript <file>
  -bios <x>

Cleaned up the Food Fight driver, giving it complete memory maps,
finished implementing sprite/playfield priorities, and corrected
timing - sort of. [Aaron Giles]

Cleaned up initialization paths in mame.c. Tried to organize things
a bit more logically. Removed a number of return codes in favor of
more descriptive fatalerror messages. [Aaron Giles]

Changed throttling behavior to only throttle on non-skipped frames.
This should give a little better performance on games where
frameskipping is necessary. [Aaron Giles]

Added srcclean tool to the tools directory. This is the tool that is
run over the source before each release to do some minor code tidying.
[Aaron Giles]

Added new driver flag VIDEO_SELF_RENDER which indicates that the
driver will talk to the renderer on its own in its VIDEO_UPDATE
callback. Added the flag to all the laserdisc game drivers. Changed
the logic in the core video to only empty screen containers when
doing the final render, rather than emptying them at the start of
each frame. [Aaron Giles]

Changed pause behavior so that on non-debug builds, we simply keep
the most recent list of primitives and re-render that. Debug builds
keep the current default behavior which is to run the VIDEO_UPDATE
code each frame even while paused in order to help identify issues
in the emulation. [Aaron Giles]

New clones added
ParaParaParadise v1.1 [Ville Linde]
Sky Robo [Stefan Lindberg]
Captain America and The Avengers (US Rev 1.4) [chaneman]
Hex Pool (Senko) [Pierpaolo Prazzoli]
Daytona USA (With Saturn Adverts) [Guru, David Haywood]

New games marked as GAME_NOT_WORKING
Motoraid [Guru, David Haywood]


MAMETesters Bugs Fixed
eprom0113u2gre [Zsolt Vasvari]

Source Changes
Added proper MC8123 decryption code. Hooked up a number of games that
were using the chip, making many of them playable. [Nicola Salmoria]

Fixed several SHARC opcodes where data transfer was done regardless
of the condition. This fixes many things, like the upside-down
geometry in Model 2B games. And also, probably all the remaining
clipping issues in Gradius 4. At least the planet zooming out in the
intro works now. [Ville Linde]

Added Z-clipping to the Model 2 driver. [Ville Linde]

Replaced old Sega System E driver with new one based on HazeMD.
[David Haywood]

Fixed a large pile of DIP switches in the Sega System E games.
[Brian Troha]

Fixed crashing bugs in SCSP emulation. [David Haywood]

ES5503 improvements: [R. Belmont]
- Fixed extraneous click at end of samples
- Improved timing behavior. Fixes music tempo in many Apple IIgs
    apps and games in MESS.

Fixed display of immediate word and long operands in the TMS340x0
disassembler. [Philip Bennett]

Updated Ultra Tank to component value code instead of a generic
emulation and added Sprint 4 audio. [Derrick Renaud]

Added save state support to the gaelco3d driver. Also added save
state support to tms32031.c and dmadac.c. [couriersud]

"Fixed" analog controls in some vector games by adding back a faux
VBLANK timing. [Derrick Renaud]

Changed the TMS340x0 core to clear the HSTCTLH NMI bit on an
acknowledge. [Philip Bennett]

Externalized CDP1869 color bit handling to a callback function for
MESS. [Curt Coder]

Refactored the options code into a new generic utility module
options.c. Moved the MAME core options into a new module emuopts.c.
[Nathan Woods]

Some minor NeoGeo set updates. [Johnboy]

Updates to the cybertnk driver: [PS]
- inter CPU communications
- inputs (almost complete)
- sound
- program ROMs marked as bad dumps
- unmapped reads

Updated some more drivers updated to the new video timing.
[Zsolt Vasvari]

Did a ground-up rewrite of the VIC Dual driver. [Zsolt Vasvari]

Added a preliminary MB86233 CPU core. Still needs to be hooked up to
the Sega Model 2 driver. [Ernesto Corvi]

Fixed an interrupt delay slot problem in the SHARC core. [Ville Linde]

Improved K001005 polygon rendering. [Ville Linde]

Introduced a video_screen_exists() call, to determine whether a given
screen exists. Updated the debugger to use this so as not to crash
if no screens are present. [Nathan Woods]

Fixed glitches in neogeo driver introduced in last update.
[Aaron Giles]

Added extensive (but still WIP) FD1094 debugging tools for help in
brute force searching for keys. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Opa Opa [Nicola Salmoria, David Haywood]
Fantasy Zone II [Nicola Salmoria, David Haywood]
Ganbare Chinsan Ooshoubu [Nicola Salmoria, David Haywood]
Block Gal [Nicola Salmoria, David Haywood]
Master Boy [David Haywood, Charles MacDonald, Clawgrip]
7 Ordi [Brian Troha, stephh]
Koi Koi Part 2 [Tomasz Slanina]
Heuk Sua Baek Sa [David Haywood, Brian Troha]
Bestri [David Haywood, Brian Troha]
Guitar Freaks 2nd Mix Ver 1.01 [smf]
SD Fighter (Korea) [David Haywood, Brian Troha]

New clones added
Funny Bubble (In Chang Electronic Co) [Brian Troha]
Twin Adventure (Korea) [Brian Troha]
One + Two (earlier) [Brian Troha]

New games marked as GAME_NOT_WORKING
Sheng Dan Wu Xian [Xing Xing]
Super Dou Di Zhu [Xing Xing]
Da Ban Cheng [Xing Xing]
Dou Di Zhu [Xing Xing]
Mahjong Long Hu Zheng Ba 2 [Xing Xing]
Mahjong Man Guan Cai Shen [Xing Xing]
Mahjong Shuang Long Qiang Zhu 2 [Xing Xing]
Mahjong Super Da Man Guan 2 [Xing Xing]
Mahjong Tian Jiang Shen Bing [Xing Xing]
Big D2 [David Haywood]
Good (Korea) [David Haywood, Brian Troha]
Long Hu Zheng Ba 3 [Xing Xing]
Long Hu Zheng Ba 4 [Xing Xing]
Kuai Le Xi You Ji [Xing Xing]
Man Guan Fu Xing [Xing Xing]
WonderLeague Star [David Haywood, Brian Troha]
Dance Maniax [smf]
Guitar Freaks 3rd Mix [smf]


MAMETesters Bugs Fixed
sega0113u3red [Aaron Giles]
diehard0113u3red [R. Belmont]

Source Changes
Improved the K001604 ROZ layer emulation. [Ville Linde]

Added the timing parameters for the Exidy 6502 driver from the
schematics, and updated a number of other drivers to use the newer
timing routines. [Zsolt Vasvari]

Exidy 440 driver update: [Zsolt Vasvari]
* added video timing from schematics
* added the 9 timing PROMs to the ROMsets
* all the games appear to use the same timing PROMs with the
    exception of Top Secret, which sets the VBLANK 4 pixels earlier.
    This fixes the game graphics, but cuts of the very bottom row of
    the year display on the title screen. It's most likely a real
    issue in the game, as tweaking the behavior adds garbage pixels
    to all the other games

Updated the itech32 driver to configure video timing dynamically
according to how the chip is programmed. [Zsolt Vasvari]

Hooked up the new TGP core to the Model 2 driver, mapped the TGP
data ROMs properly, and updated the TGP core to the latest information.
[Ville Linde, Ernesto Corvi, ElSemi]

Fixed irobot crash introduced in last timing update. [Zsolt Vasvari]

ES5503 updates: [R. Belmont]
- Major fixes to IRQ semantics and end-of-sample handling
- Sample memory now configurable
- Added state save support
- Calculates output rate properly based on the input clock
- Hooked up properly to mquake

Added analog controls for GTI Club. [Ville Linde]

Fixed crashes in some games using the SCSP. [R. Belmont]

Now enabling all CPUs by default, which helps ensure that even unused
CPUs get updated with core changes, etc. [David Haywood]

Optimized the options code and memory pool code to use hashes for
faster searching. [Nathan Woods]

Cleaned up and more heavily documented the tumbleb driver.
[Brian Troha]

G65816/M37710 CPU core updates: [R. Belmont]
- Fixed a race condition in the WAI instruction where the CPU could
    get stuck. (MESS bug #661, may have caused intermittent issues
    with Namco games in MAME too).
- Fixed block transfer instructions when the accumulator is in short
    mode. (Fixes some SNES games not booting, notably Final Fantasy
    Mystic Quest).

Corrected dip and added dip locations to Pettan Pyuu / Banbam, the
markham driver, and Calorie Kun vs Moguranian.
[Brian Troha]

Updated the Leland driver to the new video timing routines, as well
as the remaining drivers. Removed now-obsolete old timing routines
from cpuexec. [Zsolt Vasvari]

Added more recently discovered opcodes to the MB86233 core and
disassembler. [Ernesto Corvi, ElSemi]

Created WINOPTIONS_* constants for Windows OSD options. [Nathan Woods]

Updated the World Cup 90 DIP switches corrected from manual. Also
added diplocations. [Roberto Fresca]

Changed CDP1869 to use proper write handlers for MESS. [Curt Coder]

Added v60_stall mechanism to allow for synchronization between the
V60 core and an external CPU. [Ernesto Corvi]

Changed behavior of extra one-pixel border on Direct3D textures so
that the edge pixel is smeared into the border rather than leaving
the border black. This should eliminate a few oddities at the edges
of texture rendering. [Aaron Giles]

Updated video code to double buffer texture objects to reduce
contention of render primitive lists. Also changed rendering code to
explicitly alternate between primitive lists to prevent throwing away
old lists prematurely. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Wonder League Star (Korea) [David Haywood]
Spotty [David Haywood]
Astra SuperStars [Mariusz Wojcieszek]

New clones added
Crazy Kong (galaxian) [Colin]
Super High Impact (prototype, rev 4.0) [Brian Troha]


MAMETesters Bugs Fixed
fghthist0113u2red [Aaron Giles]
dsound0113u4ora [Aaron Giles]
hardreset0113u3yel [Aaron Giles]
hardreset0113u3red [Aaron Giles]

Source Changes
Fixed autoframeskip so it doesn't immediately spike on startup or
after a pause. [Dave Dribin]

Made behavior of ES5503 IRQ status register more accurate.
[R. Belmont]

Fixed bug introduced in the memory pool code when hashing was added.
[Nathan Woods]

Added complete discrete sound to Double Play/Extra Inning. Emulated
foul sound in Bowling Alley. Emulated all sounds except the screech
and wind sounds in Space Encounters. [Derrick Renaud]

Updated Virtua Racing to use the TGP core, based on guessing from the
Daytona TGP code. [Ernesto Corvi]

Added save state to several Atari games: batman, eprom, eprom2, klaxp1,
klaxp2. Also added general save state support to the atarijsa and
atarigen modules. [couriersud]

Added save state support to the konamigv driver, specifically enabled
for nagano98 and simpbowl. [couriersud]

Added DIP locations to the commando driver. [Justin Szczap]

Avoided a memset in the hyperstone core to give ~4% speedup in hidden
catch. [David Haywood]

Added small optimization to rand_memory(). [Nathan Woods]

Konami NWK-TR update: [Ville Linde]
- Improved the LANC board emulation
- Improved the graphics board emulation so that it passes all the

Adds save state support to the Cidelsa games and fixed reset behavior.
[Curt Coder]

Added validity checks to ensure that LSB_FIRST and PTR64 are set
correctly for the current platform. [Aaron Giles]

Removed obsolete assembly code and compiler definitions. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Virtua Racing [Ernesto Corvi, ElSemi]

New clones added
Air Attack (set 2) [Guru]

New games marked as GAME_NOT_WORKING
Wonder League '96 (Korea) [David Haywood]


MAMETesters Bugs Fixed
segas32pedal0114gra [Derrick Renaud]
klaxp1_0114red [Couriersud]
savestate0114gre [Couriersud]
exerion0114yel [Aaron Giles]
arcadecl0114red [Aaron Giles]
apb0114gre [Aaron Giles]

Source Changes
Added actual emulation of the microcontroller used for the Namco 50xx
chip as found in Bosconian and Xevious. [Nicola Salmoria]

In the COp420 core, fixed the XABR opcode, added LBI skip for
extended opcodes, and fixed the CPU name in save states. Added
GAME_SUPPORTS_SAVE flag to the Cidelsa games. Draco still has no
sound though. [Curt Coder]

Fixed crash in playch10 driver when run standalone. [Curt Coder]

Added skeleton driver for Konami Viper system. [Ville Linde]

Added skeleton driver for Dreamcast-based systems.

Added very preliminary SH4 CPU core. [R. Belmont]

Added DIP locations to the mario, mrdo, sheriff, and spacefb drivers.
[Justin Szczap]

Added debug attribute to the XML output. [Firewave]

Got the Hang Pilot driver working. The analog controls are still
missing, however, so it's still marked as non-working. [Ville Linde]

Fixed crash with multithreaded rendering and the graphics viewer.

Improved the NWK-TR driver to get Thrill Drive mostly working.
[Ville Linde]

Fixed bug that caused video glitches when frameskipping due to using
out of sync textures. [Nathan Woods]

Updated video timing in the Sega System 16, Hang On, Out Run, and
X-Board games according to measurements from the boards. [Aaron Giles]

Substantially changed the TMS340x0 interfaces to allow the CPU
emulator to directly manage the video screen. Glitches in several
games are now fixed as a result (for example the flashing screens in
NBA Jam are now gone at last). [Aaron Giles]

Fixed internal timer counting in the TMS32025 core. This makes the
music in Cool Pool and 9 Ball Shootout bearable. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Combat Hawk [David Haywood, stephh]
Koi Koi Shimasho [Tomasz Slanina]
Hanafuda Hana Ginga [Luca Elia]
Mahjong The Mysterious Orient [Luca Elia]
Mahjong The Mysterious Universe [Luca Elia]
Mahjong Dunhuang [Luca Elia]

New clones added
Mahjong The Mysterious World (set 2) [Luca Elia]


MAMETesters Bugs Fixed
revx060gre [Aaron Giles]
totcarn063gre1 [Aaron Giles]
term20104u2gre [Aaron Giles]
term20103u4gre [Aaron Giles]
openice093u2gre [Aaron Giles]
mk095gre [Aaron Giles]
rmpgwt060gre [Aaron Giles]
psyforce0105u5red [couriersud]
raystorm0111u1red [couriersud]
sfex20103red [couriersud]
pkscram0111u4red [couriersud]
looping0111u3yel [couriersud]
cpsgfxpage4_0111red [couriersud]
rfjetus0101u5red [couriersud]
policetr059yel [couriersud]

Source Changes
Fixed cdp1802 DMA emulation. [Curt Coder]

More Konami updates: [Ville Linde]
- Hooked up vblank interrupt to Voodoo in all Voodoo-based games
- Fixed a rom loading issue in Silent Scope
- Added ADC1213x A/D converter emulation (machine/adc1213x)
- Hooked up analog controls in NWK-TR games

MPU4 improvements: [James Wallace]
- Added NMI pulsing so Deal 'Em at least starts to boot.
- Decommissioned machine/mpu4.c, as the 6850acia code from Phil
    does the same job, making one less thing to maintain.

Moved frontend commands and command-line handling into a central,
core-managed location clifront.c. This eliminates the need for
windows/fronthlp.c and windows/config.c and should make creating
command-line based ports much easier in the future. [Aaron Giles]

Fixed many of the remaining polygon glitches in GTI Club / Solar
Assault / Operation Thunder Hurricane. [Ville Linde]

Added save state support to the pkscram driver. [couriersud]

Removed all the timing kludges from machine/konppc.c. GTI Club is
kind of playable now. You can finish a lap or two, but eventually it
will hang on network error. [Ville Linde]

Fixed the SUBTARGET=tiny build and removed some duplicate entries in
mame.mak. [Atari Ace]

Added full discrete emulation of Space Invaders. I think people are
going to be too used to the current samples and their relative
levels. The new relative levels are determined by the mixing
resistors. There are all different versions of the sound board, that
all have slightly different sounds/components. This should be the
proper Midway sounds. [Derrick Renaud]

Updated stvcd to be working enough that most Saturn games at least
die for some other reason, and a few actually do useful things.
Also included a small update to the core cdrom code so you can fetch
a sector without knowing in advance what format it is. [R. Belmont]

Added a concept of a "crosshair screen mask" internal to video.c and
created a static call to retrieve the mask. [Nathan Woods]

Converted Roller Aces to stereo sound like the real hardware. Fixed
the clocks and NMI rates to match the PCB. [Corrado Tomaselli]

Added save state support to the Midway Y, T, X and Wolf Unit games.
[Aaron Giles]

Added preliminary 64-bit disassembly support to i386dasm.c.
[Aaron Giles]

Cleaned up internal interrupt handling in the TMS34010 core.
[Aaron Giles]

Added more accurate video timing to most of the Atari 68000-era
games. [Aaron Giles, couriersud]

New games added or promoted from NOT_WORKING status
Quiz Olympic [Tomasz Slanina]

New clones added
Cameltry (World, YM2203 + M6295) [David Haywood]
Lightning Fighters (Asia) [David Haywood]
Street Fighter EX (EURO 961219) [Guru]
Tekken 3 (TET3/VER.A) [Guru]
Soul Calibur (SOC13/VER.B) [Guru]

New games marked as GAME_NOT_WORKING
Filetto (v1.05 901009) [Angelo Salese, Chris Hardy]


MAMETesters Bugs Fixed
cannonb078u6yel [couriersud]
hatris0111u4gre [couriersud]
pipedrm0111u4gre [couriersud]
galaxianc058gre [couriersud]
ssf2ghw0114u1yel [Aaron Giles]

Source Changes
Additional CDP1802 updates, taken from MESS. [Curt Coder]

Fixed colors in One + Two. [Tomasz Slanina]

Made the PowerPC dynarec options runtime configurable. [Ville Linde]

Added save state support to the hatris/pipedrm driver. [couriersud]

Corrected Moustache Boy main cpu interrupt rate, main cpu clock freq,
and screen refresh rate according to measurements on a real PCB.
[Tormod Tjaberg]

Separated the DECO and Mitchell games in the simpl156 driver and added
more extensive documentation. [Brian Troha]

Fixed analog controls in Solar Assault. [Ville Linde]

Changed the options code so that ranges are specified on the
option_entry structure, and enforced when option values are changed.
[Nathan Woods]

Further improved the ROZ layer emulation in the K001604. [Ville Linde]

Konami ZR107 update: [Ville Linde]
- Fixed sound hardware check in Winding Heat
- Changed to use the correct tilemap chip type
- Hooked up analog controls
- Fixed texture rom loading and texture decoding
- Improved the 2D tilemaps

Introduced a mame_options_exit() call to complement
mame_options_init(). [Nathan Woods]

Added a mame_fopen_options() call, similar to mame_fopen() but with
the ability to specify a core_options object to use. [Nathan Woods]

Improved noise emulation in the SN76496 emulator. Added several
variants which differ based on the noise generator and other
parameters. [Lord Nightmare]

Changed all plot_pixel and read_pixel calls to BITMAP_ADDRXX macros.
Removed the now-obsolete functions. [Zsolt Vasvari]

Added support for aliasing sound types. This allows minor variants in
sound cores to share the same fundamental "type" so that the same
sndti_* functions can be used regardless of the subtype. [Aaron Giles]

Changed location of save state files. Now they are placed in the
<savestate>/<gamename> directory. Auto-generated save state files have
the name "auto.sta". All other save state files are named <slot>.sta.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Midnight Run [Ville Linde]
Winding Heat [Ville Linde]

New clones added
Night Warriors: Darkstalkers' Revenge (Euro 950316)
  [Johan Samuelsson, Nicola Salmoria]
Terra Force (set 2) [Stefan Lindberg]

New games marked as GAME_NOT_WORKING
Kokoroji 2 [David Haywood]


MAMETesters Bugs Fixed
gauntlet0114u2gre [Aaron Giles]
psxbasedgames0114u3red [couriersud]
successstv0114u2red [R. Belmont]
asserts0113ora [Aaron Giles]
hginga0114u2gra [Aaron Giles]
ckongg0114u2gra [Aaron Giles]
sample0114u3 [Aaron Giles]
rampage0114u2gra [Aaron Giles]

Source Changes
Updated clocks in Arkanoid based on measurements from a real PCB.
[Tormod Tjaberg]

Rewrote the vp906iii driver: [Roberto Fresca]
- Decoded GFX properly.
- Rewrote the memory map based on program ROMs analysis.
- Hooked two SY6520/6280 (M6821) PIAs for I/O.
- Hooked the SY6545 (6845) CRT controller.
- Fixed size for screen total and visible area based on SY6545 CRTC
- Added partial inputs through PIAs.
- Added proper sound through AY8910 (mapped at $0840-$0841).
- Proper colors through color PROM decode.
- Added some game-protection workaround.
- Added NVRAM support.

Removed some unnecessary NULL checks and fixed some incorrect usage
of auto_malloc. [Atari Ace]

Fixed layer drawing and polygon sorting order in Model 1 games.
Improves wingwar significantly. [Yochizo]

Significant ARM7 update: [R. Belmont]
* Cleaned up disassembly
* Added support for many more Thumb instructions
* Removed unnecessary logging
* Unaligned reads/writes are supported

Fixed crash due to lack of CD in the Success ST-V games. [R. Belmont]

Added calls to support enumerating through options. [Nathan Woods]

Removed set_vh_global_attribute() and
get_vh_global_attribute_changed() from the dozen or so drivers that
used it. In the process, made an effort to clean up the video system
for these games. The biggest improvements are route16, hyhoo,
tutankhm and liberatr. [Zsolt Vasvari]

Added a cpu core for a cpu nicknamed minx. This cpu core is used to
emulate the cpu in the nintendo pokemon mini handheld console.
[Wilbert Pol]

Fixed and documented clocks in Omega Race. [Tafoid]

Improved accuracy of 6502 CPU cores to implement the read/write that
happens on every cycle. Moved the "undocumented" instructions from
the 6510 cores into the main 6502 core, since there were several
other versions of the 6502 cores which have the same undocumented
instructions. Removed some of the #define override magic that was
going on to make the code easier to read and understand. Updated the
6510 core port_read and port_write functions to include the ddr
register in the parameters. [Wilbert Pol]

Updated the MIPS3 DRC to align the stack to sixteen-byte boundaries
at the point of calls, as required by Mac OS X calling conventions.
It doesn't break compatibility with Windows or Linux calling
conventions. This fixes crashes in MIPS3 games when running on OS X
for Intel. [Vas Crabb]

Moved the -verbose option into the core. Added new function
mame_printf_verbose() which is governed by this option. Changed all
existing verbose output to use the new functions. [Aaron Giles]

Changed cpu_boost_interleave(), cpu_spinuntil_time(), and
cpu_yielduntil_time() to take mame_time parameters instead of
doubles. [Aaron Giles]

Changed MDRV_CPU_PERIODIC_INT() to take a frequency parameter instead
of a time. This is converted internally to a subseconds value.
[Aaron Giles]

Fixed asteroid and llander controls to be buttons not joysticks.
[Aaron Giles]

Simplified register and flags management in the TMS34010 core.
Reviewed all flag handling and fixed a couple of minor discrepancies.
[Aaron Giles]

Hooked up actual TMS32015 on Road Riot 4WD and Steel Talons.
[Aaron Giles]

Improved access to system registers in i386 core. Added explicit
caching of segment data and flags. Fixed several minor issues.
[Aaron Giles]

Added several AY8910 variants so we can better specify the use of
compatible but slightly different chips. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Excite League [Guru, Aaron Giles]
Super League [Guru, Aaron Giles]
Road Riot 4WD [Aaron Giles]
Gaming Draw Poker [Roberto Fresca]

New clones added
Freeze (several clones) [Aaron Giles]
Racin' Force (ver EAC) [David Haywood]


MAMETesters Bugs Fixed
ym2203slowdown0114u2gre [Aaron Giles]
powerins0104yel [Aaron Giles]
k007232_0114u1gre [Aaron Giles]
rfjetus0114u2red [Aaron Giles]
namcos2_0114yel [Zsolt Vasvari]
term2_0114u4yel [Aaron Giles]

Source Changes
Additional ARM7 core fixes: [R. Belmont]
* Fixed SWI instruction in Thumb mode
* Rewrote SWP instruction to work properly
* Added some missing change_pc()s

Fixed Mustache Boy interrupt behavior and visible area.
[Lord Nightmare]

Updated Windows exit code to ensure cursor is shown again.
[Nathan Woods]

Moved Space Stranger/Space Stranger 2 into its own driver and fixed
cocktail mode. [Zsolt Vasvari]

Major rewrite of pmpoker driver: [Roberto Fresca]
* Removed all inputs hacks.
* Connected both PIAs properly.
* Demuxed all inputs for each game.
* Documented all outputs.
* Added lamps support.
* Created different layout files to cover each game.
* Add NVRAM support to all games.
* Corrected the color PROM status for each set.
* Figured out most of the DIP switches.
* Added diplocations to goldnpkb.

Updates Enigma 2 video and interrupt systems from the schematics.
Changed the color gun layout to match the flyers as much as possible.
[Zsolt Vasvari]

Converted Raiders 5 driver to tilemaps. [Zsolt Vasvari]

Updated 68705 clocks to take into account the internal divide by 4.
Added constant so that it is clear why this is being done.
[Aaron Giles]

Hooked up 6845 CRTC to the qix-based games. All games now generate
display resolutions and frame rates on the fly. Cleaned up memory
maps and a few other bits along the way. Added save state support.
[Aaron Giles]

New clones added
Viper Phase 1 (Hong Kong, Metrotainment license) [Corrado Tomaselli]


MAMETesters Bugs Fixed
asserts0115ora [Aaron Giles]
scregg0115red [Zsolt Vasvari]
mysticri36rc2gre [Pierpaolo Prazzoli]
m92c053gre2 [Pierpaolo Prazzoli]
aerofgt.c0115ora [Roberto Fresca]
midyunit0115red [couriersud]
nekkyoku0115red [couriersud]
exerion0112u4yel [Pierpaolo Prazzoli]
dragngun067yel [R. Belmont, Ryan Holtz -- please verify]
cidelsa0114u4gre [Aaron Giles]
missile0115yel [Aaron Giles]

Source Changes
Added support for playback of "extended" INP files that are commonly
found on compete sites. [David Haywood]

Added lswx and stswx opcodes to the PowerPC core. [Ville Linde]

Changed DRIVER_INIT macro to prepend driver_init_* instead of simply
init_* to be consistent with the other initialization functions.
[Atari Ace]

Corrected the pulse shape of the timer output in the MPU4 driver,
and also correctly identified the AY sound chip as an AY8913.
[James Wallace]

Merged leprechn driver into the gameplan driver and added correct
video timings. [Zsolt Vasvari]

Cleaned up the dorachan driver. Replaced fake color map with actual
color PROM decoding. [Zsolt Vasvari]

Cleaned up the supertnk driver. [Zsolt Vasvari]

Move Atari vector PROMs into separate regions. [Mathis Rosenhauer]

Added DIP switches for Excite League. [Barry Harris, Yasuhiro Ogawa]

Improved m92 sprite drawing. [Pierpaolo Prazzoli]

Rewrote the magicfly driver: [Roberto Fresca]
- Figured out how the protection works.
- Removed the hacks/patchs that formerly allow boot the games.
- Figured out how the buffered inputs works.
- Demuxed all inputs for both games.
- Unified the memory maps from both games.
- Added NVRAM support to both games.
- Mapped DIP switches.
- Managed the planes to get the 3bpp GFX colors accurate.
- Renamed the ROMs acording to pcb pictures and ROM contents.
- Cleaned up and optimized the driver.

Fixed throttle range in gforce2. [David Haywood]

Moved Win32 UTF-8 wrappers into a new module (winutf8.c), and added
some new wrappers that Oliver Stoeneberg created for MAME32.
[Nathan Woods]

Aleck64/N64 update: [Ryan Holtz]
- RSP: some opcodes bugfixed plus should work on big-endian targets
- Real PIF ROM dump now used and required
- Various other fixes

Fixed eeprom handling in surfplnt. [couriersud]

Fixed carry flag calculation for SUB/SBC/CMP family instructions in
the ARM core. [R. Belmont, Ryan Holtz]

Improvements to the ARM7 core: [R. Belmont, Ryan Holtz]
- fixed 32-bit unaligned reads to "scramble" properly
- fixed carry flag calc for SUB/SBC/CMP family instructions
- fixed multiply-and-accumulate instructions
- added more instructions to the disassembler
- fixed logical and arithmetic shifts
- added more Thumb instructions
- fixed relative loads and stores
- fixed LSL/LSR with zero shift values
- fixed the disassembly of CMN
- verified behavior when ADD destination is the PC on real h/w

Rewrote the Space Firebird driver: [Zsolt Vasvari]
- Added star field, matches with the screen shot perfectly
- Video timings/memory map/interrupts from schematics
- Added support for the color fade effect

Identified a couple of new opcodes in the Irem V30 CPU which improves
matchit2. [Pierpaolo Prazzoli]

Significantly cleaned up the Spiders driver. [Zsolt Vasvari]

Changed memory system behavior so that masks can be specified
independently of mirrors. By default if the mask is 0 and a mirror
is present, the mask is implicitly ~mirror, just as before. But if a
mask is specified, it is not limited to the non-mirrored bits. This
allows you to independently control the mapping versus what is
returned to the read/write handler. [Aaron Giles]

Rewrote Astrocade driver: [Aaron Giles]
- fully implemented all function generator modes
- implemented pattern board according to schematics, including timing
- fixed interrupt handling
- added crosshairs to SeaWolf II
- added stereo sound and panning to SeaWolf II samples
- rewrote Astrocade sound emulation according to patent
- sound generation now uses proper LFSR for noise effects
- added partial support for Ten Pin Deluxe, including sound board
    emulation and internal layout

Fixed sound in Inferno after all these years. Sadly, it required a
hack. [Aaron Giles]

Added correct video timings for the Williams games. [Aaron Giles]

Added support for misaligned PIXBLT operations in the TMS34010 core.
The code still needs cleanup but improves the new JPM driver.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
Magic Fly [Roberto Fresca]
7 e Mezzo [Roberto Fresca]

New clones added
Captain Silver (World) [David Haywood]

New games marked as GAME_NOT_WORKING
Ten Pin Deluxe [Aaron Giles]


MAMETesters Bugs Fixed
cidelsa0114u4gre [Aaron Giles, for real this time]
pignewta0115u1gra [ShimaPong]
gorf0115u1ora [Aaron Giles]

Source Changes
Merged in a couple of minor tweaks from MAME Plus! [MAME Plus!]

Fixed China Gate high scores. [Robbert]

Fixed Final Lap R/Speed Racer graphics. [Zsolt Vasvari]

Added a new opcode for Match It 2. There still are 4 unknown opcodes
and the "no tiles" bug before it will be promoted to working status.
[Pierpaolo Prazzoli]

Changed the CRTC6845 emulator to optionally control the screen
configuration and video rendering. Updated the Qix and Spiders driver
to use the new functionality. Added notifications for when the
display enable pin changes in order to drive blanking signals.
[Zsolt Vasvari]

New 74123 timer emulator. It supports different ways a 74123 can be
hooked up that affect the timing period. The old implementation was
incorrect in lots of respects. [Zsolt Vasvari]

Removed the addressing order parameter from pia_config() and replaced
it with dedicated write and read handlers. [Zsolt Vasvari]

Rewrote nyny driver: [Zsolt Vasvari]
- Game speed should now be correct. It was way too slow before
- Added star field. The game can stop and reverse the direction of
    the star field by changing a delay counter
- General driver clean-up
- Fixed DIP switches and the voices

Fixed bug in win_get_window_text_utf8() for when a window's text is
an empty string. [Nathan Woods]

Fixed some page 1 opencode lengths in the 6309 dissasembler.
[Tim Lindner]

Added DIP switches to Master Boy according to the game manual.

Added DIP switch information to the Poizone driver. [Luigi30]

Changed png2bdc to support multiple input PNGs. [Aaron Giles]

Fixed recently introduced bug in Astrocade driver relating to
collision detection. [Aaron Giles]

Added support for controlling the default scale/offset for screens
at the driver level. This allows us to properly describe the screen
width/height and blanking in the driver independent of specifying a
good default size to crop the image to. [Aaron Giles]

Added border support to the Astrocade driver. Extended the starfield
generation out into it. Extended the blanking region out farther to
match information from the flyers and set the default scale/offset
of the games to crop appropriately. [Aaron Giles]

Fixed the CDP1869 to fill the border area with the background color.
Added cropping to the Cidelsa games. [Aaron Giles]

Corrected speaker locations and placement for Gorf and Wizard of Wor.
Added missing mux to Gorf's audio, which controls speech versus
sound effects during the game. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Multi Game [Mariusz Wojcieszek]

New games marked as GAME_NOT_WORKING
Chameleon 24 [Mariusz Wojcieszek]


MAMETesters Bugs Fixed
connect4_0115u1ora [Luigi30]

Source Changes
Fixed PIA numbers in revamped Spiders driver. [Zsolt Vasvari]

Updated TIA graphics code is the code from the MESS repository. Also
updated tourtabl driver to accommodate the changes. [Wilbert Pol]

Fixed Space Firebird so that the sprites are opaque with respect to
each other and bullets, but transparent with respect to the star
field. [Zsolt Vasvari]

Fixed subtle behavior in handling of PIA port A. This allows for the
removal of hacks in the Qix driver and the Williams driver.
[Zsolt Vasvari]

Cleaned up the tilemap get_info callbacks: [Atari Ace]
* regularized and clean up the existing callbacks
* changed some callbacks to use int tile_index as the parameter
    so that all callbacks use consistent naming
* folded some direct uses of tile_info.flags into calls to
* changed the Konami drivers to manipulate the tile_info global only
    within the tile_get_info callbacks
* replaced all the callback declarations with TILE_GET_INFO()
* changed the interface to pass tile_info as a parameter and made
    tile_info a static variable only accessible inside tilemap.c.

Significant changes to the berzerk driver: [Zsolt Vasvari]
- Video timings, memory map and interrupt system implemented from
- Hooked up colors according to the schematics as well. The colors
    changed significantly. For example the yellow robots are now
    more like a mustard color.

More ARM wrestling: [R. Belmont]
- Fixed error in carry propagation on ALU opcodes of the form
    ALU r1, r2, r3 SHIFTEROP #imm
- Fixed Thumb ADD instructions where the PC is involved
- Fixed LDMIA to mask off bits 0 and 1 of the destination address
- MSR instruction now properly respects processor mode and field
    code flags

Modernized the Beam Invaders, Clay Shoot, and Embargo drivers.
[Zsolt Vasvari]

Changed the sound balance in Thunder Dragon 2 to match the original
PCB. Also verified the 68000 clock. [Corrado Tomaselli]

Fixed several more opcodes in the encrypted Irem CPU. [Robiza]

Fixed disassembly of brset and brclr opcodes in the 68HC11 core.
[Phil Skuse]

Fixed tilemap colors in the Konami ZR107 driver. [Ville Linde]

Fixed bug in INR/DCR opcodes in 8085 CPU core. [allentown_john]

Updated PIA interfaces to support masks for port A/B inputs. This
allows proper behavior of unconnected pins, according to the specs.
Updated a number of games to use the new interfaces. [Zsolt Vasvari]

Fixed bug that failed to initialize all IRQ states in the 6809 core
on a reset. Also fixed cycle timing and removed obsolete code from
the core. [Ernesto Corvi, Zsolt Vasvari]

Cleaned up vec_mult implementation. [Nathan Woods]

Improved toratora driver: [Zsolt Vasvari]
- added SN76477 from the schematics, but it sounds terrible; no doubt
    the schematics are incorrect in many places
- updated to the recent PIA changes

Fixed input.c to use osd_ticks() instead of clock(). [Nathan Woods]

Fixed bit calculation in 6526cia.c which broke joysticks in the C64
driver in MESS. [Pete Rittwage]

Improvements to the rd2tank driver: [Zsolt Vasvari]
- fixed colors, based on the Red Tank flyer
- added AY8910's, sounds fine, but how exactly they are hooked up
    to the PIA is not fully understood.
- hooked up CRTC properly

New games added or promoted from NOT_WORKING status
Wild Arrow [Zsolt Vasvari]
G-Stream G2020 [David Haywood]

New clones added
Multi Game (set 2) [Roberto Fresca]
19XX: The War Against Destiny (Brazil 951218) [Nicola Salmoria]
Thunder Dragon 2 (9th Nov. 1993) [Corrado Tomaselli]
Flicky (128k Version, System 2, not encrypted) [Corrado Tomaselli]
Flicky (64k Version, System 1, 315-5051, set 2) [Corrado Tomaselli]


Source Changes
Fixed a number of games to explicitly use the SN76489 now that it
behaves differently from the SN76496. [Lord Nightmare]

Fixed inputs in Ace Attacker. [Barry Gemma]

Fixed ledutil.c to work for USB keyboards again. [ahofle]

Improved colors in Safari Rally. [Zsolt Vasvari]

Fixed stobe light in Space Encounters. [Zsolt Vasvari]

Refactored the Dooyong video hardware to take advantage of tilemaps.
Also included priority fixes. [Vas Crabb]

Astro Fighter driver update: [Zsolt Vasvari]
- Added memory map/interrupt/video timings from schematics
- Hooked up SN76477 to Tomahawk 777
- Switched the two Tomahawk 777 sets. The newer version is now the
    main set and the older has been renamed to tomahaw1
- General driver clean-up

Removed unused return value from MACHINE_START and SOUND_START.
[Zsolt Vasvari]

Changed save state code to not save any palette information if no
palette is used. [Zsolt Vasvari]

Simplified a number of videoram write handlers by removing extraneous
dirty checking. [Aaron Giles]

Added support for scaling graphics layouts automatically. The X and Y
scale factors are specified in the gfx_decodeinfo structures. Updated
the MCR driver to use this feature. [Aaron Giles]

Removed colortables from a number of drivers that didn't need them.
Also converted pacman and mappy drivers to collapse the colortable
and palette. [Aaron Giles]

Removed a number of common but useless and/or frequently incorrect
comment patterns throughout the code. [Aaron Giles]

New clones added
Asuka & Asuka (World) [Corrado Tomaselli]


MAMETesters Bugs Fixed
oscar0111u3yel [ShimaPong]
toypop0115u4red [Aaron Giles]
profpac0115u4gre [Aaron Giles]
seawolf2_0115u2gra [Aaron Giles]
konek0115u4yel [Aaron Giles]
9ballsht0115u3gre [Aaron Giles]
csuperas0104u7gre [ShimaPong]
exerion0112u4yel [ShimaPong]

Source Changes
Major Donkey Kong driver update: [couriersud]
- Implemented discrete sound from schematics: dkong, radarscp
- Implemented discrete background from schematics for radarscp and
    various effects:
    - blue to black to blue background
    - exact priorities
    - Grid will flip open and close, vertical flipping on hit.
- Changed inputs for radarscp
- Color generation from schematics (resistor mixer) for
    radarscp, dkong, dkongjr and dkong3

Added new components to the discrete sound system: [couriersud]
- Added a "inverter oscillator" component. This can also be used as
    a raw sine generator - needed by radarscp.
- Added a "integration circuit" based on transistor and RC
- Added a "modulated RC discharge" component.

Removed unused return value from VIDEO_START callbacks.
[Zsolt Vasvari]

Improved independence of CPU and sound core variants in order to make
them more properly separated by the existing compile-time flags.
[Atari Ace]

More TIA updates from MESS: [Wilbert Pol]
- Rewrote drawing of playing graphics
- Improved handling of player graphics reset signals
- Improved handling of HMOVE signals

Updates to Change Lanes: [Adam Bousley]
- fixed the broken graphics
- fixed the dipswitches
- hooked up the steering wheel controls
- made some changes to the sprite and text layers based on schematics

Fixed up a number of places where malloc results weren't being checked
correctly. [Atari Ace]

Renamed palette_set_color() to palette_set_color_rgb().
palette_set_color() now matches palette_get_color() and deals in
rgb_t data only. Also changed palette_set_colors() to deal with rgb_t
data instead of R,G,B triples. [Aaron Giles]

Flattened colormap and palette in the 1942 driver. [Aaron Giles]

Removed usage of unsigned char/short/int from the drivers code in
favor of UINT8/UINT16/UINT32.

New games added or promoted from NOT_WORKING status
Mahjong G-Taste [David Haywood]

New clones added
Buzzard [Zsolt Vasvari]


MAMETesters Bugs Fixed
shanghai0116red [Aaron Giles]
bldwolf061gre [Robiza]
superx0116gre [Robiza]
matchit2_0116ora [Robiza]
qix0116yel [Aaron Giles]

Source Changes
Fixed scanline address reporting in the qix driver. [Zsolt Vasvari]

Rewrote Neo-Geo driver again based on information from Charles
MacDonald. This update fixes a number of issues with the previous
attempt. [Zsolt Vasvari]

Added support for multiple keyboards: [Andrew Kuruhin]
- added multikeyboard input support through RAWINPUT mechanism
    (up to 8 simultaneous keyboard inputs
- fixed RAWINPUT device registry enumeration bugs

Fixed the reset mode in CDP1802. [Curt Coder]

Fixed a number of errors and simplified the code significantly in the
ptm6840 code. [Atari Ace]

Fixed offset for sprite and layers in fcrash driver. [Robiza]

SH4 CPU core improvements: [Samuele Zannoli]
- corrected opcode decoding and decodes all opcodes of sh4
- corrected disassembly and added support for all instruction of
    sh4 not in sh2
- now disassembles all fpu instructions
- changed cpu to little-endian (sh4 can be either big or little)
- corrected which data is read and written from memory
- added registers fpul and dbr
- added (non-fpu) instructions of sh4 non present in sh2
- added four fpu instructions
- modified memory-mapped internal register management so that all
    internal registers can be actually used
- added file sh4regs.h with defines for all sh7750 internal registers
- implemented internal registers for memory refresh
- removed some internal registers of sh2 not present in sh4
- added preliminary support for internal cache used as ram

Updated CPS2 decryption bit order to match what is likely the original
order. [Nicola Salmoria]

Fixed a few warnings that show up with -Wextra.
[Atari Ace, Zsolt Vasvari]

Fixed toaplan2.c so that OKI6295 sample ROM bankswitching via one
of the spare data lines on the coin mechanism port is only hooked up
in the one game that's actually wired this way (shippumd). [AWJ]

Updated the scrambls protection implementation to use equations based
on the implementation from fpgaarcade.com. [Mark McDougall]

Improved GCD computations in the rendlay.c code. [Christophe Jaillet]

Fixed numerous regressions in the 0.116 release.
[Zsolt Vasvari, Aaron Giles]

Switched driver code to exclusively using mame_rand() instead of
rand(), to improve consistency of results. [Aaron Giles]

Improved MCU timing and communication in the qix driver. Still a few
issues remain. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Match It II [Robiza]


MAMETesters Bugs Fixed
adk0116yel [Zsolt Vasvari]
neodrvr0116u1red [Zsolt Vasvari]
strhoop0116u1red [Zsolt Vasvari]
wb3_0116u1gre [Aaron Giles]

Source Changes
Fixed regressions in Gridlee and Gomoku. [Zsolt Vasvari]

Fixed some unicode build issues in the Windows code.
[Oliver Stoneberg]

Updated a number of games to correctly use the SN76489 instead of the
SN76496, which was a later design. [Justin Kerk, Lord Nightmare]

Cleaned up the exports from a number of drivers, adding static
qualifiers to functions and variables t hat don't need to be exported
and have generic sounding names. [Atari Ace]

Updated numerous drivers to remove the use of global Machine wherever
possible. Also reviewed the clipping regions and made changes to
ensure the passed-in cliprect was honored. [Zsolt Vasvari]

Cleaned up the Dooyong driver: [Vas Crabb]
* Consolidated and streamlined tilemap callbacks
* Took better advantage of MAME's tilemap caching by building
    larger tilemaps so they don't need to be invalidated as often
* Interpreted sprite Y position as signed 9-bit value in
    rshark/superx (fixes some glitches)
* Added more explanatory comments to help others reading the code

Changed a number of mame timer objects from void * to mame_timer *.
[Atari Ace]

Fixed a couple more Irem CPU opcodes to improve Match It 2.

Fixed collision detection bug in thunderX. [Shimapong]

Initial cut at working CPS3 driver. Basically works but has a lot
more work to be done to finish it up.
[David Haywood, Andreas Naive, Tomasz Slanina, ElSemi, Philip Bennett]

Fixed minor cycle timing issue in 6809 CPU core. [Ernesto Corvi]

Neo-Geo updates: [Zsolt Vasvari]
* Fixed several regressions from previous update
* Added LED outputs
* Improved smaller visible area configuration

Fixed some incorrect information in the Neo Geo ROMsets. [JohnBoy]

Integrated platform-specific changes into the core makefile, mostly
taken from the SDLMAME makefile. Changed the MAMEOS configuration
variable to OSD, indicating which OSD layer is being compiled. Added
a new configuration variable TARGETOS which specifies the target OS
platform. [Aaron Giles]

New clones added
Punch-Out!! (Italian bootleg) [David Haywood]

New games marked as GAME_NOT_WORKING
Mini Boy 7 [Roberto Fresca]


MAMETesters Bugs Fixed
dkongcocktail0116u1yel [couriersud]

Source Changes
Simplified CPS3 decryption function. [Nicola Salmoria]

Fixed potential double free in PNG code. [Nathan Woods]

Fixed warnings generated by newer gcc compilers. [R. Belmont]

General driver cleanups: [Zsolt Vasvari]
- changed some more global 慚achine?to local 憁achine?
- standardized on the function name 慸raw_sprites?
- removed some antiquated boilerplate comments

Updated FM emulator to use mame_time instead of double. Removed old
neogeo hack from FM code as it appears to no longer be necessary.
[Zsolt Vasvari]

Updated all sound cores to use mame_time instead of double.
[Zsolt Vasvari]

Populated several more Irem CPU opcodes for gussun. [robiza]

Fixed CPS3 code to work on big-endian systems. [R. Belmont]

Fixed code_to_token() to prevent potential buffer overflows.
[Atari Ace]

Fixed crashes in non-working drivers dynablsb and driveyes.
[Atari Ace]

Changed all CPU cores?internal timers to the mame_timer* functions
as well as the remaining couple of core files that still used
timer_alloc(). After this, none of the emu/* files have any old style
timing code left. [Zsolt Vasvari]

Various CPS3 updates as documented on Haze's blog. [David Haywood]

Fixed type in BLENDER2_32 function in the n64 video code.
[Christophe Jaillet]

Created a new resistor network interface for computing palettes from
color PROMs and component values on the PCB. Fixed several issues
with the previous implementation. [couriersud]

Donkey Kong driver update: [couriersud]
- added sprite ram bank switching from schematics
- combined memory maps
- first attempts on decoding m58815
- radarsc1 driver for radarscope trs01 hardware
- all drivers use VIDEO_RAW now
- fixed cocktail issues
- combined io and sound memory maps
- implemented background handling (disable prom /CS line) in all
    dkong drivers

Extended the flt_rc filter to support highpass filtering. Fixed the
lowpass filter to actually do a lowpass filter. Hooked up the filter
to King & Balloon and updated several other drivers to the new
interface. [couriersud]

Added support in the main makefile for profiling. Set PROFILE=1 to
turn this on. [Christophe Jaillet]

Updated djboy driver to almost fully playable state.
[Phil Stroffolino]

Temporarily reverted input code back to 0.116 baseline pending deeper
analysis and upcoming core changes to simplify the OSD layer for input
management. [Aaron Giles]

Changed a number of stderr fprintf's in the Windows OSD code to
mame_printf_error and mame_printf_warning calls, as appropriate.
[Aaron Giles]

New games added or promoted from NOT_WORKING status
DaiDaiKakumei (Japan) [Hau, Team Japump!]
CPS3 games: [David Haywood, Andreas Naive, ElSemi]
  Street Fighter III: New Generation
  Street Fighter III 2nd Impact: Giant Attack
  Street Fighter III 3rd Strike: Fight for the Future
  JoJo's Venture
  JoJo's Bizarre Adventure: Heritage for the Future

New clones added
The Tin Star (set 2) [David Haywood]
Car 2 (bootleg of Head On 2) [David Haywood]
Radar Scope (TRS01) [couriersud]
Crouching Tiger Hidden Dragon 2003 Super Plus alternate [JohnBoy]
Pop Flamer (bootleg on Naughty Boy PCB) [David Haywood]

New games marked as GAME_NOT_WORKING
Missile Combat (Videotron bootleg) [David Haywood]
Aladdin (bootleg of Japanese Megadrive version) [David Haywood]


MAMETesters Bugs Fixed
kinst0116u3gra [Zsolt Vasvari]

Source Changes
Changed system1 driver back to using SN7489A. [Lord Nightmare]

Fixed the road graphics, fixed the rest of the missing gfx, added
collision detection, and added save states to the changela driver.
Also fixed the colors. [Adam Bousley]

Changed all drivers to use the mame_timer_* calls. Deprecated the
old double-based timer calls. [Zsolt Vasvari]

Changes the last few instances of rand() to mame_rand() and added a
#define to prevent it from being used again. [Zsolt Vasvari]

Made many of the static info_list*() functions in clifront.c public.
[Dave Dribin]

Fixed regression crashes in maxaflex.c, megadriv.c, monzagp.c,
tetriunk.c, and gticlub.c. [Atari Ace]

Some more TIA graphics and sound improvements: [Wilbert Pol]
- INPT4 and INPT5 are now read when needed instead of by a timed
    function. This removes the need for the tia_init_pal function.
- Improved handling of the HMOVE functionality
- Added code to reduce the flickering caused by some Atari 2600 games
- Improved the sound poly generation.
- Improved the handling of POLY5_DIV3 sound mode.

Updated djboy driver: [Phil Stroffolino]
- support for djboyj; same MCU, but ROM banking bits need to be XOR'd
- fixed state handling for game over/win transitions
- fixes for dipswitches
- added coinage support

Fixed a few places where driver code was not properly hooked up.
Most cases were benign, but in a couple of instances, save state
support was disconnected, and in one case it fixes a potential crash.
[Atari Ace]

Fixed regression in Space Raider. [Zsolt Vasvari]

Improved frameskip behavior in the Gaelco 3d driver. [couriersud]

Fixed palette regression in warpwarp/geebee. [Atari Ace]

Added support to chdman to cope with toc files created with cue2toc.

CPS3 updates: [David Haywood, ElSemi]
- Corrected Clock speed, used idle skipping instead of reducing the
    clock speed.
- Optimized some GFX functions. It now only decodes RAM based tiles
    when it needs to draw them, not every single time the data changes
- Added support for CD flashing
- Added support for alternate BIOS sets
- Changed code to use a custom render function

Found a number of additional encrypted opcodes for gussun. [robiza]

Simplified the internal handling of BIOS sets. Instead of there being
an extra structure, the BIOS information is now embedded in the ROM
definition for each BIOS. [Atari Ace]

Fixed 2nd player inputs in Millipede. [Mike Haaland]

Fixed crash in evilngt due to missing CD image. [R. Belmont]

Fixed crash in cfarm/cclown due to out-of-bounds parameter.
[R. Belmont]

Added stricter checking in cdrom.c to prevent crashes in games when
no CD-ROM is present. [R. Belmont]

Fixed regressions in dkongjr and pestplce due to incorrect memory map
and rendering too many sprites. [couriersud]

Fixed SUBTARGET=tiny builds. [neoforma]

Hooked up P1 joystick inputs for P2 in Upright mode in a number of
black & white 8080 games. Removed cocktail settings for games where
it is not appropriate. Enabled dual player game in spclaser.
[Mike Haaland]

x64 compilation fixes: [Oliver Stoneberg]
- some VS2005 x64 warning fixes
- enables the x64 porting warnings in VS2005
- adds win_create_window_ex_utf8() to get rid of some
    tstring_from_utf8() usage
- removed win_extract_icon_utf8()

Improved color decoding in Irem M62 games. [Zsolt Vasvari]

Synchronized MAME and AGEMAME versions of the MPU4 code. Improved
Connect4 layout. Simplified much of the code.
[James Wallace, Atari Ace]

Improved the 6532riot timer implementation. Implemented irq callback
support. [Wilbert Pol]

Updates to the minx CPU core: [Wilbert Pol]
- Fixed TEST (94,95,96, and 97) instructions.
- Fixed 2 MOV instructions (BE and BF).
- Fixed one AND instruction (DC).

Simplified interrupt handling in the z80gb core. [Wilbert Pol]

Hooked up lamps in Afterburner 2 driver. [Zsolt Vasvari]

Fixed missing sound in PGM games. [Zsolt Vasvari]

Fixed Millipede sprites in cocktail mode. [Mike Haaland]

Fixed behavior of the RC filter in ddrible and ironhors. [couriersud]

Added wrap around x for sprites in the m92 driver.
[Pierpaolo Prazzoli]

New games added or promoted from NOT_WORKING status
Change Lanes [Adam Bousley]
DJ Boy [Phil Stroffolino]

New clones added
B.Rap Boys (World) [Brian Troha]

New games marked as GAME_NOT_WORKING
Final Godori [Pierpaolo Prazzoli]


MAMETesters Bugs Fixed
gauntleg0116u4red [Zsolt Vasvari, Aaron Giles]
vlm5030_0116u4gre [Zsolt Vasvari]
tetrisp2_0116u4red [Zsolt Vasvari]
primrage0116u3yel [Aaron Giles]
debuggerandmt_0116u2red [Aaron Giles]
memleak0116u4ora [Aaron Giles]
term2_0116u1yel [Aaron Giles]

Source Changes
Added save state support to bzone.c games. [R. Belmont]

Fixed missing sound in Leprechaun. [Zsolt Vasvari]

Fixed some bugs involving empty or null ROM regions. [Nathan Woods]

Fixed potential crash in speglsht driver. [Atari Ace]

Changed the 6532riot code to split r6532_init into r6532_init and
r6532_reset. [Wilbert Pol]

Fixed CPS3 code to be big-endian friendly. [R. Belmont]

Added alpha blending effects to the CPS driver and improved sprite
positioning. [David Haywood]

Moved "Pandora" sprite chip implementation to its own file. Updated
Snow Bros, Air Buster, DJ Boy and Heavy Unit to use ths new generic
implementation. [David Haywood]

Fixed regression in segasyse driver. [Zsolt Vasvari]

Reverted patch to the 6526CIA as it was causing issues with Amiga/
Arcadia emulation. [Pete Rittwage]

Deduced a few more opcodes for gussun. The game now boots and you
can coin up. [robiza]

Fixed regression in vmetal and tatsumi drivers. [Zsolt Vasvari]

Fixed Taito version of chinhero. [Zsolt Vasvari]

Simplified code in tms9928 video system. [Zsolt Vasvari]

Fixed ROL opcode in the 68000 emulator. [Zsolt Vasvari]

Cleaned up tiny MAME target. [neoforma]

Fixed regression in Exidy sounds. [Zsolt Vasvari]

Improved accuracy of mame_timer_scale_up. [Aaron Giles]

Rotated the mame_rand() results by 16 bits to reduce periodicity of
the resuls. [Aaron Giles]

Fixed winalloc.c to be thread-safe. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Taisen Hot Gimmick 4 Ever (Japan) [Guru, David Haywood]

New clones added
Photo Finish [Tomasz Slanina]
Golden Poker (no double up) [Roberto Fresca]

New games marked as GAME_NOT_WORKING
39 in 1 MAME bootleg [R. Belmont, Guru]
Super Pool (Italy) [Roberto Fresca]
Guitar Freaks 6th Mix (G*B06 VER. JAA) [smf]
Guitar Freaks 11th Mix (G*D39 VER. JAA) [smf]


MAMETesters Bugs Fixed
brkthru091u1gra [Luigi30]
debbuger+psx_0117ora [Aaron Giles]
cbtime0117red [Zsolt Vasvari]
hotpinbl0117gra [Roberto Fresca]
batrider0114red [Alex Jackson]
battleg0113u4red [Alex Jackson]
battleg0116u1ora [Alex Jackson]

Source Changes
Fixed bug in screenless systems. [Nathan Woods]

Fixed crash in chd code if reading beyond the end of the file.
[Roman Scherzer]

Moved Sand Scorpian and Gals Panic over to use the Pandora emulation.
Also fixed some problems in the pandora emulation which improves the
sprites in Djboy. [David Haywood]

Added new function timer_call_after_resynch(), which effectively
sets a zero-duration timer for resynchronization. Replaced instances
of zero-duration timers in the code with this more descriptive call.
[Zsolt Vasvari]

Defined new macro TIMER_CALLBACK, which should be used to wrap
timer callbacks. Added a running_machine * parameter to timer
callbacks. Updated all existing timer callbacks to use the new
macro. [Zsolt Vasvari]

Added more opcode decryption to gussun. [Robiza]

Added discrete sound to headon and clones in vicdual.c. [couriersud]

Added two inverter oscillators supporting enable and mixing in signals
to discrete.h / disc_wav.c. [couriersud]

Fixed a few bugs in the change lanes video emulation. [Adam Bousley]

Updated the monzagp driver into a somewhat playable state. There are
still some graphics problems. LEDs still need to be hooked up for
score/time-remaining display. [Phil Stroffolino]

Neo-Geo update: [Zsolt Vasvari]
- BIOS only driver 'neogeo' no longer crashes
- Cleaned up memory banking code to use memory_set_bank() instead
    of memory_set_bank_ptr()
- Fixed LEDs

Improvements to the toaplan2 driver: [Alex Jackson]
- Replaced byteswapped truxton2 M68K program ROM with correct one
- Fixed sound CPU communications in the Raizing games. This is
    educated guesswork, but it's more complete and probably more
    correct than what was there before, and doesn't rely on excessive
    use of cpu_yield()
- Added more information about the Raizing sets to the comments in
    the driver, and corrected some errors
- Reorganized the Battle Garegga sets in a more sensible fashion

Reworked input system to push more features into the core. Cleaned
up architecture to properly separate dependencies. Please note that
this change only addresses the lower layer of input handling. The
upper layer (i.e., input port handling at the driver layer) remains
the same. [Aaron Giles]

Major changes include:

  * Removed the concept of os_code from the system. Now all codes
    are defined via a set of macros in input.h. Each code is a 32-bit
    value that encodes a device class, device index, item class,
    item modifier, and item ID.
  * Removed OSD functions osd_get_code_list() and osd_get_code_value().
    Instead, the OSD layer during osd_init() must register one or more
    devices and the input items attached to each device via two new
    functions input_device_add() and input_device_item_add().
  * Separated input sequence code into new module inputseq.c.
  * Moved support for the following options into the core: -mouse,
    -joystick, -lightgun, -steadykey, -offscreen_reload, -joy_deadzone,
    -joy_saturation, -paddle_device, -adstick_device, -pedal_device,
    -dial_device, -trackball_device, -lightgun_device,
    -positional_device, -mouse_device. The OSD layer should simply
    register all devices at osd_init() time and allow the core to
    enable/disable them according to the options.
  * Added two new options: -multikeyboard and -multimouse. By default,
    both options are OFF. When OFF, the core will combine all keyboard
    or mouse input into a single keyboard or mouse device. When ON,
    these options instruct the core to keep inputs for each keyboard
    and/or mouse independent.
  * Added new option: -joystick_map. This option allows for a 9x9 grid
    to be specified which controls analog-to-digital mapping of
    joystick inputs.
  * Changed the Windows implementation of input handling to fully
    support the raw input interfaces for keyboard and mouse.
    DirectInput is still used for all joystick inputs, as well as for
    keyboard and mouse inputs on pre-Windows XP systems. This allows
    for multiple keyboards and mice to be supported. Also changed
    keyboard and mouse behavior to use non-exclusive mode in
    DirectInput, and to keep the devices alive during pause for more
    consistent input handling.

  * Broke windows.txt into config.txt, which contains all common
    core-supported options and commmands, and windows.txt, which now
    only lists Windows-specific additions.

Added support for frame update callbacks, similar to pause and exit
callbacks but called at the same time as osd_update(). [Aaron Giles]

Changed osd_init() to no longer return a value. OSD initialization
should now rely on fatalerror() to report fatal initialization
problems. [Aaron Giles]

Added new function mame_schedule_new_driver() which allows for a new
driver to be queued after a hard reset. [Aaron Giles]

Added experimental new minimal game selection user interface. This
interface can be accessed if MAME is started with no parameters, or
via the main menu by choosing "Select a New Game". This interface
allows you to select a game driver by typing in the name of the game.
As you type, MAME's fuzzy name matching code will list the top 15
selections that match. The interface will only display games that
it finds in your rompath. [Aaron Giles]

Added "empty" driver which is used to host the game selection screen
when no valid game is selected. [Aaron Giles]

Changed behavior in the Windows build so that double-clicking on
MAME brings up the new game selection interface. [Aaron Giles]

Removed the NOT_A_DRIVER flag which was overloaded to mean two
different things. There are now two new flags: GAME_IS_BIOS_ROOT
indicates that a particular driver represents a BIOS rather than
a full game. And GAME_NO_STANDALONE indicates that the given driver
should not be listed or permitted to execute on its own. For MAME,
most BIOSes are executable on their own, so they have the
GAME_IS_BIOS_ROOT flag set but not the GAME_NO_STANDALONE flag.
[Aaron Giles]

Added new routines mame_openpath(), mame_readpath(), and
mame_closepath() for iterating over all files in a path specification,
including support for multiple paths. [Aaron Giles]

Changed audit interfaces to take a game_driver * instead of a game
index. [Aaron Giles]

Changed driver_get_approx_matches() and driver_get_count() APIs to
work on arbitrary driver lists rather than being hard-coded to the
static driver list. Renamed the functions from driver_get_* to
driver_list_get_* [Aaron Giles]

New games added or promoted from NOT_WORKING status
Sliver [Tomasz Slanina]

New clones added
Space Dragon (Moon Cresta bootleg) [David Haywood]
Battle Garegga - Type 2 (Europe / USA / Japan / Asia) [Alex Jackson]

New games marked as GAME_NOT_WORKING
Gals Panic (US, EXPRO-02 PCB) [David Haywood]
Balloon & Balloon [Tomasz Slanina]


MAMETesters Bugs Fixed
joystickremap0117u1gra [Aaron Giles]
mallocerror0117u1gra [Aaron Giles]
mouse0117u1gra [Aaron Giles]
newinterface0117u1gra [Aaron Giles]
tapper0102gre2 [Ernesto Corvi]
timber0100u3gre [Ernesto Corvi]
tapper0102gre1 [Aaron Giles]
timber099gre [Aaron Giles]
mcr0103u3yel [Aaron Giles]
dotrone0101u5yel [Aaron Giles]

Source Changes
Imola GP updates: [Phil Stroffolino]
- renamed from "monzagp"
- the leds are fully mapped
- fixes for blitter modes, that affect the "tunnel" area
- dipswitch/port fixes; game now starts in attract mode, rather
    than immediately starting
- placeholder (handpicked) colors

Updated DIP switches for topland & ainferno according to their
manuals. [Fabio Priuli]

More SH-4 core improvements: [Samuele Zannoli]
- fixes some problems in the disassembly and instruction execution
    from the previous patch
- adds interrupt management
- implements register bank switching
- adds RTC timer counters
- adds memory refresh timer
- adds three timers of the TMU
- adds a configuration structure that specifies the processor mode
    pin settings
- internal processor clock frequencies calculated from mode pins and
    cpu clock
- systems using the sh4 processor secify its configuration structure

Fixed some DIP switches in littlerb. [Sonikos]

Made some minor code quality changes across the code: [Atari Ace]
- avoided exporting a few global variables
- fixed variable names that conflicted with typedef names
- removed some shadow variables that were bugs or unnecessary
- removed extraneous #defines

Fixed up sc61860 core, f3853 core, and pckeybd.c to work with new
timing code. [Nathan Woods]

More TIA improvements: [Wilbert Pol]
- fixed some minor missile graphics positioning issues
- moved some initialization code from tia_init to tia_reset

Fixed a few errors related to headers in the source code. Added
missing self-includes, removed dead prototypes, and added location
comments in headers in mame/includes. In a few cases the audit
showed items that didn't need to be exported so they were made
static. [Atari Ace]

Cleaned up the inputs in gdrawpkr and changed the hold buttons to
"discard" since they are in fact discard buttons. [Roberto Fresca]

Added support for 14- and 16-segment LED displays to the MAME
artwork system. [Dirk Best]

Fixed button 4 of player 2 inputs in bloodwar. [Barry Harris]

Connected S14001A speech to the wolfpack driver. [Lord Nightmare]

Fixed incorrect implementation of SSIO volume controls in the MCR
driver. This makes the engine sound in Spy Hunter audible again,
among other things. [Ernesto Corvi]

Added support back for the "none" option for the various *_device
options. [Nathan Woods]

Fixed HD6309 dissaembly of the post-byte for ,W++ and ,--W.
[Captain Ahab]

Updated the 6532 riot interface to be more like the 6522via and
6821pia interfaces. [Wilbert Pol]

Improved -listxml output to reflect new BIOS flag. New attribute
isbios="yes" indicates that a given game is a BIOS. [Aaron Giles]

Further tweaks to the game selection UI: [Aaron Giles]
- disabled the tab key
- added hook for general input configuration from the menu
- split set names from friendly names into left/right columns
- added a background to the descriptive names of clones
- if you start with the game selection menu, hitting Esc to exit
    a game brings you back to the menu rather than quitting
- fixed logic so that INI files are reloaded for each game

Moved INI file handling fully into the core. As a side-effect of this
change, <exename>.ini is no longer parsed. Changed -createconfig to
always output mame.ini instead of <exename>.ini as a result.
[Aaron Giles]
Renamed run_game() to mame_execute(). The game driver is no longer
specified as a parameter; rather, this information is extracted from
the options via OPTION_GAMENAME. [Aaron Giles]

Fixed raw input-based lightgun buttons. [Aaron Giles]

Cleaned up options.c code. Added priority levels to options as they
are set. New options are only accepted if they have greater or equal
priority to a previous change. Added new function options_revert() to
revert options below a given priority to their defaults. Changed
options_get_string() so that it always returns a valid string
(never NULL). Invalid strings are returned as empty strings.
[Aaron Giles]

Added new functions core_filename_extract_base() and
core_filename_ends_with() to corefile.h. [Aaron Giles]

Changed menu rendering a bit. Added a background hilight to more
strongly emphasize the current item. Added rendered arrows to indicate
more items on the top/bottom and to indicate selection options in the
DIP switch menus. Changed hilighting to be a bit less garish. Fixed
repeat rates on keys to no longer be tied to the framerate.
[Aaron Giles]

Added support for page up/page down generically in menus. Also made
pause toggle work while menus are visible. [Aaron Giles]

Changed render_textures to allocate in a pool model, to avoid high
memory overhead when allocating large numbers of textures (for example
in the 14- and 16-segment LED displays). [Aaron Giles]

Fixed a number of 64-bit compiler warnings. [Aaron Giles]

New games added or promoted from NOT_WORKING status
King Pin [Andrew Gardner]
King Pin Multi-Game [Andrew Gardner]