0.112 ----- 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 Fujix 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 Twisty Uki Uncle Tom unzu uRebelScum Valerio Verrando Vas Crabb vernimark Vernon C. Brooks VGR Victor Trucco Ville Laitinen Ville Linde Vince Mayo Virtu-Al 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). [stephh] 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] ========================================================================== 0.111u6 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. [ElSemi] 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] ========================================================================== 0.111u5 MAMETesters bugs fixed (there are probably more) ----------------------- 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. [stephh] 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 Invaders - 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 supported or promoted from GAME_NOT_WORKING status ------------------------------------------------------------- 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] ========================================================================== 0.111u4 MAMETesters bugs fixed (there are probably more) ----------------------- simpbowl0110u2yel [R. Belmont] arcadiac0111u3yel [Ernesto Corvi] mcatadv0111u3gre [David Haywood] photoy2k0111u3yel [Aaron Giles] Source Changes -------------- Added support for the Pioneer PR-8210 laserdisc player. [Ernesto Corvi] Added two new convenience macros for input ports: PORT_DIPUNUSED and PORT_DIPUNUSED_DIPLOC. [stephh] Updated DIP switches in the cave driver and added locations. [stephh] Improved DIP switches in sbrkout and converted "fake" DIP switches into configuration switches. [stephh] Improved DIP switches in Zero Hour. [Mike Ellery] Added DIP locations to the m90 driver. [Brian Oberholtzer] Unified the Forgotten Worlds driver with the cps1 driver and connected the OKI6295 pin control properly. [David Haywood] Modified the makefile to make it possible to independently specify symbols generation and optimization levels. [Atari Ace] Fixed system time counters in the Amiga code. [Ernesto Corvi] Major rewrite of the Midway 8080 black & white driver, separating it from the huge 8080bw driver and making the following changes: [Zsolt Vasvari, Derrick Renaud] - 'True-to-hardware' emulation of the shifting circuits - Identified and stubbed sound triggers - Fixed DIP switches, where necessary (most games) - Added DIPLOCATION to all switches - Added watchdog - Added coin counter - Added lamp outputs to Sea Wolf, Guided Missile, Space Encounters, Phantom II, Bowling Alley - Added stereo sound to Gun Fight, Guided Missile, M-4 - Partial sound emulation in Tornado Baseball, Boot Hill, Desert Gun, Double Play, Dog Patch, Blue Shark - Properly emulated shifter circuit in Boot Hill - Added gun recoil output to Desert Gun - Added second set of analog controls to Clowns - Fixed analog controls in Dog Patch - Added SN76477 sound effect to Space Encounters - Added non-memory mapped coin counters to Space Invaders, Blue Shark, and Space Invaders II - Added proper watchdog times to all the games - Breadboarded the noise clocks and ensured their frequencies were correct Added support for the lamp matrix to the video callback in the Scorpion 2 driver, and updated lamps and inputs to better fit the new UI. VFD support has been moved to a configuration switch, as the output is actually always occurring - the switch mimics the effect of plugging in or removing the VFD from the control point. [James Wallace] Improved sound output in the MediaGX driver. [Ville Linde] Preliminary emulation of the TSI S14001A speech synthesizer as found in Berzerk/Frenzy (and also Stern pinballs). [Lord Nightmare, Kevtris, R. Belmont] Added missing linescroll effect to Magical Cat Adventure and Nostradamus. It can be seen in action on the first levels of both games. [David Haywood] Minor cleanup of mind-bending codce is the konamigx driver. [R. Belmont] Fixed crash in the Sega System 24 driver. [David Haywood] Added a validity check that input port names are valid UTF-8 strings. [Nathan Woods] Improved DIP switches in the tumbleb.c driver. [stephh] Added a large update to the legionna driver with much more documentation on the protection and other updates. [Angelo Salese] Added cdp1869 video emulation to the Cidelsa driver. The games still don't work due to timing and interrupt issues. [Curt Coder] Fixed crash in Tao Taido driver. [David Haywood] Made suprnova RLE rendering safe from out-of-bounds accesses. [David Haywood] Many improvements to the Midnight Landing driver, including partial sound, partial video emulation, and controls. Still not working, though. [Tomasz Slanina] Fixed TMS9928 so it recalculates the pattern mask when its dependancies change so we don't end up in weird half-modes. [R. Belmont] Added support in the user interface to render all text assuming it is UTF-8 encoded. This means that UTF-8 encoded Unicode names can be used in in-game descriptions, etc. But first you will need a unicode capable BDF font. [Aaron Giles] Removed Vista build hacks from windows.mak as they are no longer necessary. [Aaron Giles] Removed hacky use of the 'depth' field of mame_bitmaps. Bitmaps are now allocated with an enumerated 'format' instead. This is internally translated into bits-per-pixel in a normalized way. Also removed Machine->color_depth, which was often misused. [Aaron Giles] Added new macro BITMAP_ADDR that can be used for addressing into bitmaps. Removed the use of bitmap->line[] in the core code. The line[] array will eventually be obsoleted, so stop using it. [Aaron Giles] Changed operation of plot_pixel, read_pixel, and plot_box. The first two are now inline functions and the latter just maps to fillbitmap via another inline function. [Aaron Giles] Added new required machine driver entry MDRV_SCREEN_FORMAT() which specifies the bitmap format for the screen. Removed the VIDEO_RGB_DIRECT and VIDEO_NEEDS_6BITS_PER_GUN flags that used to determine the bitmap format implicity. [Aaron Giles] Deprecated the following obsolete machine driver entries: MDRV_FRAMES_PER_SECOND -> MDRV_SCREEN_REFRESH_RATE MDRV_VBLANK_DURATION -> MDRV_SCREEN_VBLANK_TIME(TIME_IN_USEC(x)) MDRV_VISIBLE_AREA -> MDRV_SCREEN_VISIBLE_AREA [Aaron Giles] Added a new mechanism for rendering the crosshairs on lightgun games. Crosshairs are automatically rendered if lightgun controllers are specified; the game no longer has to render them. Any other analog axis can be configued to use crosshairs via the new PORT_CROSSHAIR macro. Crosshairs are also now rendered in different colors for different players, and done as an overlay using the new rendering system instead of drawing into the game bitmap, which means they no longer show up on screenshots. If you don't like the built-in crosshairs, you can make your own. Just call them cross0.png (player 1), cross1.png (player 2), etc. and place them in the root of your artwork directory. [Aaron Giles] Changed F1 crosshair toggle. By default crosshairs are on for all configured players. Toggling once will turn them all off. Each sucessive toggle will enable one player at a time until all players are again visible. [Aaron Giles] Added support in chd.c for lossy compressors, computing CRCs and other hashes based on the decompressed output in those cases. Also added support for asynchronous reads/writes using the new osd work item interfaces. [Aaron Giles] Fixed several bugs in the Windows implementation of the osd work item interfaces. [Aaron Giles] Simplified the hard disk interfaces a bit. [Aaron Giles] Fixed several bugs and improved emulation of the Z80 SIO chip. [Aaron Giles] Improved behavior of the laserdisc code when seeking so it doesn't get "stuck". Added preliminary support for the 22VP932 laserdisc player. [Aaron Giles] New games supported or promoted from NOT_WORKING status ------------------------------------------------------- Date Quiz Go Go (Korea) [David Haywood] Disco Boy [David Haywood, Stefan Lindberg] New clones supported or promoted from GAME_NOT_WORKING status ------------------------------------------------------------- Gain Ground (Japan) [Team Japump, Brian Troha] Dynamic Country Club (Japan) [Team Japump, Brian Troha] New games marked as GAME_NOT_WORKING ------------------------------------ Cliffhanger [Ernesto Corvi] Goal To Go [Ernesto Corvi] Quick Jack [David Haywood, ClawGrip] Strip Teaser [David Haywood] Pango Fun (Italy) [David Haywood] Ganbare Chinsan Ooshoubu (MC-8123A, 317-5012) [David Haywood] Stelle e Cubi (Italy) [David Haywood] Space Ace [Aaron Giles] ========================================================================== 0.111u3 OSD porters take note of the changes to the OSD core routines. Source Changes -------------- Added save state support to the tubep driver. [Svante Gerhard] Added save state support to the steppers module. [James Wallace] Added the remaining input pins to the SN76477 Interface. If these pins are constant, they can now be defined in the structure as opposed to having to call functions in an init routine. Modified all the drivers that use a 76477. [Zsolt Vasvari] Removed file I/O functions from osd_tool.h in favor of the ones in osdepend.h. Updated tools accordingly. Added new flag OSD_FLAG_CREATE_PATHS to the open command. [Nathan Woods] Moved OKIM6295 pin 7 state (internal divider) to internal structure. Updated all drivers to specify pin state when setting the interface. Added comments for all cases where the original frequency wasn't / 132 or /165 as the real pin state is unknown. [David Haywood] Updated Toki driver to display visual DIPs for the game. [Brian Oberholtzer] Added sprite X flip and removed unneeded hack in wheelfir driver. [Tomasz Slanina] Fixed several issues with the new Unicode support. [Nathan Woods] Changed uimenu.c to allow displaying DP switch banks which have gaps (unused switches) in them. These switches are now grayed out. [Zsolt Vasvari] Another Amiga update: [Ernesto Corvi] - Fixed blitter in line mode - Modified Copper to run on odd memory bus cycles - Fixed screen delay offset when display data fetch is not word aligned Fixed cheat searching. [stephh] Replaced CPS2 CHDs with preliminary decryption function. [Andreas Naive, Nicola Salmoria] Added code to validate that banks are only set to point to memory that has been allocated via auto_malloc(). Currently disabled pending further review. [Nathan Woods] Updated input port tokenization for MESS. Added support in MAME for "configuration" switches which are separate from DIP switches. These can be used to configure aspects of the game that don't correspond to DIP switches. Modified pacman.c to use configurations to control the speedup options. [Nathan Woods, Aaron Giles] Fixed invalid array access in the taito_l driver. [Atari Ace] Made a fix minor compiler compatibility tweaks to the source. [Atari Ace] Fixed several glitches and crashes related to the input port and unicode changes from u2. [Aaron Giles] Separated "core" OSD function definitions to osdcore.h. Added more extensive documentation. [Aaron Giles] Created a new library called osdcore, which is now built and linked to each executable. Moved all definitions of expected components of osdcore into new header file osdcore.h, and added consistent documentation for them all. Removed osd_tool.c, and moved the necessary parts of its functionality into osdcore. [Aaron Giles] Defined a new set of interfaces for osdcore which creates an abstract interface for queueing work items to be potentially executed on a secondary thread. Implemented the Windows versions of these routines, but have not done any testing yet. [Aaron Giles] Separated Windows OSD core routines into individual files, as folows: windir.c - directory-related core OSD functions winfile.c - file-related core OSD functions winmisc.c - miscellaneous core OSD functions winsync.c - synchronization-related core OSD functions wintime.c - timing-related core OSD functions winwork.c - threading-related core OSD functions [Aaron Giles] Created new osdmini directory with minimal implementations of all the OSD core routines. These can be used to stub in functionality or as a starting point for new ports. [Aaron Giles] Cleaned up chdman, normalizing its behavior and improving error reporting. [Aaron Giles] More updates to the laserdisc emulation, based on more complete understanding of how the discs are encoded and how they will eventually be stored. [Aaron Giles] New games supported or promoted from NOT_WORKING status ------------------------------------------------------- Thunder Heroes [Guru] New clones supported or promoted from GAME_NOT_WORKING status ------------------------------------------------------------- Dharma Doujou (Korea) [Guru, David Haywood] New games marked as GAME_NOT_WORKING ------------------------------------ Cobra Command [Andrew Gardner] Gals Panic II - Quiz Version (Japan) [Guru, David Haywood] Gals Panic II' - Special Edition (Japan) [Guru, David Haywood] Monster Zero [Pierpaolo Prazzoli] Unknown SemiCom Quiz [Guru, David Haywood] ========================================================================== 0.111u2 MAMETesters bugs fixed (there are probably more) ----------------------- tourtabl0111u1red [Nathan Woods] Source Changes -------------- Amiga core system updates: [Ernesto Corvi] - Updated 6526/8520 CIA to be able to set the value of the SP pin. This is needed to emulate the Amiga keyboard. - Updated the custom chips emulation to delay for about 24 cycles the issuing of interrupts after a write to INTENA or INTREQ. - Fixed a bug where if INTREQ got cleared programatically, it would 'forget' about pending CIA interrupts, causing the CIA to stop sending further interrupts. - Fixed the interrupt delay logic. Now it properly delays firing the irqs, not the masking/disabling. - Fixed return value for unused/invalid custom registers reads. - Added Denise ID custom register to properly identify OCS, ECS and AGA - Added reset to custom, autoconfig and cia when a RESET opcode is found. - Resetting the custom chips will now clear INTENA, preventing further interrupts. - Fixed a bug in the RBF interrupt request code check. - Fixed a bug on the 6526/8520 CIA that prevented chained counters from working. - Added support for the 'blitter-nasty' bit on the blitter. Fixes many games that displayed wrong graphics. Hooked up coin counter in Gun Fight. Also connected sounds properly per schematics. Added proper watchdogs to invaders and invad2ct. [Derrick Renaud] Added missing initialization to the TMS5220 RNG. [Lord Nightmare] Taito JC driver improvements: [Ville Linde] - Implemented MC68HC11 communications - Added analog controls via MC68HC11 - Various bug fixes and some new opcodes to the TMS320C51 core - Moved video hardware emulation to vidhrdw/taitojc.c - Implemented 3D hardware emulation Cleaned up the 8080bw sound changes included with u1. [Robert] Changed 6532riot and tia code to only allow initialization at init time. [Nathan Woods] Fixed several bugs in the old System 16 bootleg code. [Mamesick] Fixed SIM opcode in i8085 emulator. [Tomasz Slanina] Initial support for Unicode in the core and Windows OSD: [Nathan Woods] - text file reading/writing now automatically handle UTF-8 conversion - a number of Windows functions internally manage TCHARs - new Windows compile-time option UNICODE can be used to build MAME as a Unicode application (see windows.mak) Added new visible representation of physical DIP switches for drivers that have them defined. To see this, just pull up the DIP switch menu on drivers that have been documented. [Brian Oberholtzer] Corrected some incorrect DIP switch information in the 1942, toaplan2, and segag80r drivers. [Brian Oberholtzer] Added the remaining MESS CPU cores to MAME. They are disabled in the build, but will be maintained along with the MAME CPU cores as future changes are made. [Nathan Woods] Added support for multiple instances of the samples sound system. [Zsolt Vasvari] Converted input port definitions from code-based constructors to data-driven tokenized values. This reduces the overall MAME code size by a significant amount. Note that the tokenization is a bit different for 32-bit versus 64-bit builds, so hopefully somebody with a 64-bit system can verify that it works (mame -listxml should produce identical results to the 32-bit version). [Atari Ace, Aaron Giles] Properly implemented sound interrupts in Night Slashers. [Aaron Giles] Improved cycle timings in the ARM CPU core. Altered the deco32 CPU clocks to be more realistic. [Aaron Giles] Updated copyright dates in header files and docs. [Aaron Giles] New games supported or promoted from NOT_WORKING status ------------------------------------------------------- Dwarfs Den [Tomasz Slanina] New clones supported or promoted from GAME_NOT_WORKING status ------------------------------------------------------------- JuJu Densetsu (Japan, bootleg) [David Haywood] New Tropical Angel [Stefan Lindberg] Circus (Sub-Electro bootleg) [David Haywood] New games marked as GAME_NOT_WORKING ------------------------------------ Backgammon [Tomasz Slanina] Skat TV [Tomasz Slanina] Fashion Gambler [Tomasz Slanina] Pit Boss II [David Haywood] Super Bitboss [David Haywood] Pitboss Megastar [David Haywood] Megatouch 3 [David Haywood] Megatouch 5 [David Haywood] Touchmaster [David Haywood] Touchmaster 3000 [David Haywood] Touchmaster 4000 [David Haywood] Mahjong Shiyou [David Haywood] ========================================================================== 0.111u1 MAMETesters bugs fixed (there are probably more) ----------------------- jspecter074gra [Robert] spcenctr36b16gre [Robert] spcewars0108u3red [Robert] invad2ct0110u4gre [Robert] mngrecording0110u1ora [Buddabing] ninjaw0104u2gre [robiza] orunners0105u4gre [robiza] twinbee0105yel [Mamesick] gwarrior0108u1yel [Mamesick] tst_galx0101u3 [Atari Ace] m660_0108yel [Atari Ace] shootouj0102red [Mamesick] Source Changes -------------- Added more documentation for the 8080bw driver. It describes the ports and bits for those games with no sound. In most cases, sample sounds have been attached, in order to assist with further development. The games modified are: invrvnge/invrvnga, rollingc, spcenctr, gunfight, m4, gmissile, schasrcv, 280zzzap, lagunar, lupin3, phantom2, blueshrk, desertgu, ballbomb, yosakdon/yosakdoa, and shuttlei. Two games were marked NO_SOUND although they actually do have sound: these are cosmo and dogpatch. [Robert] Moved a chunk of platform specific code out of chdcd.c and romcmp.c into the osd_tool code. [Nathan Woods] Widespread cleanup of disassemblers and CPU interfaces across the project: [Giuseppe Gorgoglione] - removed from many disassemblers the dependency on eainfo.h. The output produced by those disassemblers has been checked to be the same as before. - extensively rewrote the 6309dasm.c and 6809dasm.c disassemblers. - fixed minor bugs in the v810 and hd6309 interfaces. - removed m68000\cpudefs.h. This was used by the old assembly m68000 core. Removed from m68kmame.c and m68kmame.h as well many references to the old core (e.g A68K0, A68K2, etc.) - properly typedeffed the cpuinfo union, this affects cpuintrf.h and many, many, other files - converted 8051dasm.c, m65ce02.c and t11dasm.c to use cpuintrf_temp_str() instead of local string pools - moved the info.s = cpuintrf_temp_str() initialization to: activecpu_get_info_string(), cpunum_get_info_string() and cputype_get_info_string(). This allows us to remove tons of info->s = cpuintrf_temp_str() statements from the xxx_get_info() accessors of every CPU core, making them more readable Fixed a problem with the chirp tables of both the tms5220 and the tms5110. Also backported Jarek's PRNG implementation from tms5110.c to tms5220.c so it no longer relies on rand(). [Lord Nightmare] Fixed two bugs in the m68000 core: [Alex Jackson] - fixed a miscompilation issue with GCC4 that was first noticed in Altered Beast but also affected Moonwalker, Galaxy Force 2, and probably many other games. - fixed the core's compile-time self-configuration so that it uses the same code paths on LP64 platforms (64-bit Linux, etc.) as on LLP64 (64-bit Windows) and 32-bit platforms. Added save state support to the magmax driver. [Svante Gerhard] Fixed music speed in perfrman. [Mamesick] Fixed implementation of da_a instruction in i8051 core. [Special LIU] Third round of numerous improvements to the cheat engine: [ShimaPong] NOTE : delete old command code and save it newly in Options menu. * operation: - Added preliminary direct Program Space accessor. You can hack custom handling ROM code (eg encrypted segas16b.c games). But it has several problems. And added watchpoint display for Program Space. - Added new operation, "Write if Match". The cheat engine writes value only when read value matched reserved value which is stored in extend data field. * search menu: - Added 3rd search mode, "Minimum Search Mode". It's more simple than Classic Mode. Also added search memory initialize with ui_clear key and extended value edit with arrow key in this mode. - Added "View Last Results", "Restore Result", "Region Selection" items to the advanced search menu. * result viewer: - Don't open this menu to avoid MAME crash in case of no search region like sms.c in HazeMD. - Added quick page switch by left/right arrow key. Also changed functions for several keys in this menu. - Improved no result page skip. But incomplete because doesn't skip first or last page even if no result. * code loading: - Ignored to load old format code by default. If you need to load, choose "Load Old Format" item in Options menu. * input: - Fixed activation key save on Enable/Disable menu. - Fixed key handling for watch code addition from watch list menu to cheat list. Now it works with ctrl + save cheat key on the watch list menu. - Enabled ui_clear key in editing a value (clear data) and on watch list menu (reset all watchpoints). * option: - Added preliminary Debug option to check internal data. - Added command code save. You can save command code with save cheat key in Options menu. * others: - Added quick menu switch. It is assigned to ui_zoom in/out keys. This function works in Enable/Disable, Add/Edit, Search and Watchpoint menus. - Rearranged several items on the menus. Converted some isolated parts of the Win32 OSD code to use 'TCHAR' strings rather than simple 'char' strings. [Nathan Woods] Removed rom patches in the airbustr driver; hooked up watchdog instead. [David Haywood] Reimplemented one-shot timer modes in the 6526 CIA (Amiga) emulation. [Ernesto Corvi] Added validity check for zero refresh rates. [Nathan Woods] Fixed DIPswitch defaults for Quartet and Quartet 2. [Alex Jackson] Fixed incorrectly drawn graphics in troangel. [Robiza] Fixed a few more assertions lurking with the new stricter disassembler checks. [Aaron Giles] Patched some protection checks in Funny Strip and Rebus. Neither game works yet. [Tomasz Slanina] Changed -createconfig to output the INI file using mame_file rather than FILE. [Nathan Woods] Improved graphics emulation in the tetriunk driver. [Tomasz Slanina] Fixed copy/paste bug in the Irem sound hardware dealing with MSM5235 chips. [Mamesick] Fixed visible area in Toki. [Mamesick] Added new Toshiba TMP90840/TMP91640 CPU core. [Luca Elia] Moved msm6242 real time clock to its own file. [Luca Elia] Implemented blitter rom banking in dynax driver. [Luca Elia] Added sound in Rapid Hero (samples banking is incorrect). [Luca Elia] Fixed reset problem in the tia emulation. [Nathan Woods] Adding remaining MESS sound cores to the core MAME sources. [Nathan Woods] New games supported or promoted from NOT_WORKING status ------------------------------------------------------- Ms. Pac-Man/Galaga - 20 Year Reunion [Nicola Salmoria] Mahjong If...? [Luca Elia] Mahjong Reach (bootleg) [Luca Elia] Mahjong Tenkaigen (bootleg) [Luca Elia] Live Quiz Show [Luca Elia] Pool 10 (Italia) [Roberto Fresca] Tortuga Family (Italia) [Roberto Fresca] New clones supported or promoted from GAME_NOT_WORKING status ------------------------------------------------------------- Booby Kids (Italian manufactured graphic hack) [David Haywood] Air Buster: Trouble Specialty Raid Unit (bootleg) [David Haywood] Battle Balls (US) [Arzeno Fabrice] Darth Vader [Tomasz Slanina] R-Type (World) [Stefan Lindberg] Puzz Loop 2 (Euro 010302) [Razoola, David Haywood] New games marked as GAME_NOT_WORKING ------------------------------------ Moonwar (prototype on Frenzy hardware) [Lord Nightmare] BanBam [David Haywood, Brian Troha] Double Dealer [Tomasz Slanina] Sky Lancer [Luca Elia] Mahjong Tensinhai [Luca Elia] Mahjong Raijinhai DX [Luca Elia] Mahjong Tenkaigen Part 2 [Luca Elia] Mahjong Tenkaigen [Luca Elia] Cow Race [Luca Elia] Mongolfier New (Italia) [Roberto Fresca] Soccer New (Italia) [Roberto Fresca]