0.210 2010-05-30
----------------


MAMETesters Bugs Fixed
----------------------
- 07332: [Gameplay] (galaxian.cpp) zigzagb, zigzagb2: Game will hang when you play a 2 player game [AJR].
- 07325: [Graphics] (sbowling.cpp) sbowling: Player 2 screen graphics are bugged (Osso)
- 07315: [Misc.] (model2.cpp) rchase2, gunblade, topskatr, srallyc, manxtt: Some model 2 games can't keep any change in test menu options after power down and restart (Duke)
- 05553: [DIP/Input] (royalmah.cpp) mjdiplob: DIP settings are resolved, on Mame some are unknown or '?' (kamilz)
- 02932: [Graphics] (tutankhm.cpp) tutankhm, tutankhms: Background stars missing in attract mode (couriersud)
- 07316: [Crash/Freeze] (vgmplay.cpp) vgmplay: crashes when sliders selected (jkm900)
- 07323: [Graphics] (alpha68k.cpp) timesold and clones: Title screen corrupted (Olivier Galibert)
- 07314: [Crash/Freeze] (homedata.cpp) mjikaga: Game boots and immediately gets stuck at a white screen (Osso)
- 07310: [Graphics] (route16.cpp) route16, route16a, route16c: Missing or shifted map graphics (Robbbert)
- 07309: [Crash/Freeze] (8080bw.cpp) invrvnge, invrvngegw: watchdog bites a few seconds after starting a game [AJR].
- 07297: [DIP/Input] (namcos22.cpp) aquajet, dirtdash, tokyowar: Namco SS22 analog controls unresponsive [AJR].


New working machines
--------------------
Gradius (Bubble System) [ArcadeHacker, Bryan McPhail]
Player's Edge Plus (X000403P+XP000013) 4 of a Kind Bonus Poker [Brian Troha]
Player's Edge Plus (X000556P+XP000038) Dueces Joker Wild Poker [Brian Troha]


New working clones
------------------
Boxy Boy (World, SB2) [Corrado Tomaselli, The Dumping Union]
Carnival (upright, PIT8253 music) [hap, Andrew Welburn]
Deer Hunting USA V4.4.1 (Japan) [Brian Troha, The Dumping Union]
GunNail (bootleg) [xodaraP, sylphia]
Gunlock (Ver 2.0O 1993/12/15) [Action Jackson]
Jack Potten's Poker (set 11, German, W.W.) [Roberto Fresca, TeamEurope]
Jack Potten's Poker (set 12, no Double-Up) [Roberto Fresca, TeamEurope]
Kid Niki (bootleg) [Bonky0013]
Last Fortress - Toride (Japan, VG460 PCB) [twistedsymphony]
Moon Cresta (bootleg set 4) [Darran, The Dumping Union]
Ms. Pac-Man (Impeuropex bootleg) [Corrado Tomaselli]
Player's Edge Plus (PP0550) Joker Poker (Two Pair or Better, set 2) [Brian Troha]
Point Blank 2 (World, GNB2/VER.A) [Guru, smf]
Point Blank 2 (World, GNB2/VER.A alt) [Guru, smf]
Royal Card Part-Two (Nichibutsu HW, Ver. 1.02) [Roberto Fresca, TeamEurope]
Street Fighter EX2 (Euro 980312) [Jorge Silva]
Super Bobble Bobble (bootleg, set 6) [Bonky0013]
Super Cobra (encrypted) [TeamEurope]
Tetris (D.R. Korea, set 2) [Fabrice Arzeno, The Dumping Union]
Touchmaster 7000 (v8.04 Germany) [Alex Meijer, The Dumping Union]
Viewpoint (prototype) [Brian Hargrove]


Machines promoted to working
----------------------------
Bubble System BIOS [ArcadeHacker, Bryan McPhail]


Clones promoted to working
--------------------------
-


New machines marked as NOT_WORKING
----------------------------------
Cricket [@LosTrastosDeXaX, ClawGrip]
MegaTouch XL Titanium (Version r0?, cracked) [C. Ward, R. Belmont]
Percussion Freaks 2nd Mix (GE912 VER. KAA) [Windy Fairy, smf]
Power Sled (Slave, Revision A) [Phil Bennett]
Sega Network Taisen Mahjong MJ 3 Evolution Firmware Update (GDX-0023) [Wiggy2k]
Sega Yonin Uchi Mahjong MJ (Update Disc Ver.1.008, Japan) (CDP-10002B) [Wiggy2k]
SpongeBob SquarePants Ticket Boom [brizzo, MetalliC]
Star Horse 2002 (sound, Export/Taiwan) [CoolFox, MetalliC]
Star Rider [Vas Crabb, Matt Ownby, TrevEB]
Super Mini-Boy [Roberto Fresca, TeamEurope]


New clones marked as NOT_WORKING
--------------------------------
Cycle Warriors [Sugoi Helsinki]
Dolphin Treasure (0101250V, Queensland) [Dam0, Heihachi_73]
Indian Dreaming (0101340V, Queensland) [Dam0, Heihachi_73]
The Phantom of the Opera (3.1) [Gerald (COY)]
Power Sled (Main, hack of Relay) [Phil Bennet, MetalliC]
Power Sled (Relay, Revision A) [Phil Bennet]


Source Changes
--------------
- miniboy7: Fixed lamp blinking [AJR].
- unidasm: Allow hexadecimal values for -skip with 0x prefix [AJR].
- Added preliminary emulation of Toshiba T6963C and related LCD controllers [AJR].
- bmcbowl: Added missing video-related interrupt and re-guessed VIA clock [AJR].
- 5clown: Documented how to access the hidden settings table [AJR].
- z8000: Added save state support and cleaned up code [AJR].
- raiden2.cpp, r2dx_v33.cpp: Added sprite RAM buffering (fixes zeroteam starting bikes) and improved sprite sort DMA [AJR].
- polepos.cpp: Added save state support [AJR].
- i186 peripheral register refinements: [AJR].
  * Emulated strange but documented behavior of unaligned accesses and byte writes to internal peripheral registers.
  * Use more official register mnemonics.
- Improved sorting of items for machine input menu [AJR].
  * Inputs of the same type are sorted by name, and keyboard keys are sorted by their assigned character codes (if any).
- tzx_cas.cpp: Pause for 1ms between data blocks (fixes MT07296) [AmatCoder].
- cntsteer.cpp: Added PROM dumps to Counter Steer, and added preliminary color PROM decoding [Anonymous, Angelo Salese].
- Removed unnecessary handler arguments and unnecessary trampoline handlers for many devices and drivers [cam900].
- flkatck.cpp: Clarified 6809 CPU type and corrected clock source [cam900].
- tc0280grd.cpp, atarirle.cpp, tms57002, igs_m027.cpp, cubeqcpu.cpp: Cleaned up code [cam900].
- asic65.cpp, atarigen.cpp, deco_irq.cpp, taitoio.cpp: Suppress read side effects correctly and cleaned up code [cam900].
- k033906.cpp: Deferred allocation of registers and RAM until start time, and cleaned up code [cam900].
- igs017_igs031.cpp updates: [cam900].
  * Made palette internal, made PIA tag configurable, and added save state support.
  * Improved region and member names and cleaned up code.
- k052109.cpp, vendetta.cpp, rungun.cpp, konamigx.cpp, moo.cpp, gijoe.cpp, dec8.cpp, gal3.cpp: Corrected comments [cam900].
- k054156_k054157_k056832.cpp, xmen.cpp: Updated code in comments [cam900].
- konmedal.cpp: Fix sound output routing [cam900].
- dgpix.cpp: Reduced runtime tag map lookups, restricted drawing to clipping rectangle and cleaned up code [cam900].
- cedar_magnet*.cpp updates: [cam900]
  * Reduced runtime tag map lookups and deferred frame buffer allocation to start.
  * Reduced redundancy and cleaned up code.
- igs017.cpp, igs011.cpp, mlanding.cpp: Reduced runtime tag map lookups, reduced redundancy and cleaned up code [cam900].
- taito_helper.cpp, pc080sc.cpp, tc0080vco.cpp: Implemented masked priority and cleaned up code [cam900].
- k053246_k053247_k055673.cpp: Reduced redundancy and cleaned up code [cam900].
- overdriv.cpp: Corrected object DMA mapping [cam900].
- 1945kiii.cpp: Corrected flicker behavior, added notes and cleaned up code [cam900].
- deco16ic.cpp: Implemented masked priority and cleaned up code [cam900].
- tc0110pcr.cpp: Implemented device_palette_interface and cleaned up code [cam900].
- ninjaw.cpp, warriorb.cpp: Split graphics decoding for screens that use different tiles and cleaned up code [cam900].
- dec8.cpp: Fixed srdarwin sprite/tilemap priorities [cam900].
- taitoair.cpp, fcombat.cpp: Simplified graphics decoding, reduced runtime tag map lookups, and cleaned up code [cam900].
- taitoio_yoke.cpp: Reduced runtime tag map lookups [cam900].
- taito_h.cpp: Simplified graphics decoding, reduced redundant code, reduced runtime tag map lookups and cleaned up code [cam900].
- taito_o.cpp updates: [cam900]
  * Simplified graphics decoding, reduced runtime tag map lookups, and reduced redundant code.
  * Corrected metadata for parentj, updated notes, and cleaned up code.
- blockout.cpp: Converted palette to use a format handler, improved drawing behavior, improved member names and cleaned up code [cam900].
- galgames.cpp: Added save state support, suppress side effects correctly and cleaned up code [cam900].
- legionna.cpp: Simplified graphics decoding, reduced redundancy, mark tilemaps dirty on bank change and cleaned up code [cam900].
- rohga.cpp, taito_x.cpp, klax.cpp: Simplified graphics decoding, and cleaned up code [cam900].
- tecmosys.cpp: Fixed graphics decoding [cam900].
- gunbustr.cpp, superchs.cpp, undrfire.cpp: Simplified graphics decoding, reduced redundancy, reduced runtime tag map lookups and cleaned up code [cam900].
- alpha68k.cpp: Simplified graphics decoding, fixed sound ROM banking and cleaned up code [cam900].
- deckarn.cpp: Simplified configuration, added a callback for color/priority mapping and cleaned up code [cam900].
- groundfx.cpp, rastan.cpp, slapshot.cpp: Simplified graphics decoding, reduced runtime tag map lookups and cleaned up code [cam900].
- xexex.cpp: Add note on audio emulation issue and link to reference [cam900].
- vgmplay.cpp: Fixed volume behavior, and fixed stereo output [cam900].
- limenko.cpp: Cleaned up sprite drawing, fixed some drawing behavior and cleaned up code [cam900].
- decbac06.cpp: Allowed for priority drawing, and cleaned up code [cam900].
- taito_z.cpp: Simplified graphics decoding, eliminated register_postload, reduced redundancy, and cleaned up code [cam900].
- namcona1.cpp updates: [cam900]
  * Don't unnecessarily mark all tiles dirty, and set palette when relevant video register is written.
  * Correctly suppress read side effects, eliminated register_postload, simplified graphics decoding, and cleaned up code.
- decmxc06.cpp: Added callback for colour/priority mapping, simplified configuration and cleaned up code [cam900].
- dec0.cpp: Implemented priority drawing [cam900].
- kaneko_tmap.cpp: Internalized graphics decoding and cleaned up code [cam900].
- tc0080vco.cpp: Internalized graphics decoding and sprite drawing routines, simplified configuration and cleaned up code [cam900]
  * Also expanded and updated notes.
- taito_f2.cpp updates: [cam900]
  * Reduced runtime tag map lookups.
  * Fixed sound program banking.
  * Simplified graphics decoding, reduced redundancy, cleaned up code, and added notes.
- namco_c355spr.cpp: Internalized graphics decoding and cleaned up code [cam900].
- kaneko_spr.cpp: Internalized graphics decoding and cleaned up code [cam900].
- namcos2_sprite.cpp: Simplified and corrected graphics select select behavior and cleaned up code. [cam900]
- namcos2.cpp: Simplified graphics decoding [cam900].
- galastrm.cpp: Simplified graphics decoding, cleaned up code and added notes [cam900].
- kaneko16.cpp: Corrected buffered sprite RAM behavior and added notes [cam900].
- seibucats.cpp, seibuspi.cpp: Simplified graphics decoding, fixed DMA drawing and cleaned up code [cam900].
- seibucats.cpp: Separated configuration for machines without tilemaps, fixed sound routing and added notes [cam900].
- pgm.cpp, pgmprot_*.cpp updates: [cam900]
  * Restricted sprite drawing to clipping rectangle, and corrected tile region sizes.
  * Reduced runtime tag map lookups, correctly suppress read side effects, cleaned up start/reset members, and reduced redundancy.
  * Simplified graphics decoding, made class members protected/private as appropriate, cleaned up code, and corrected comments.
- cave.cpp updates: [cam900]
  * Separated graphics decoding, palettes and bitmaps for each screen in ppsatan.
  * Fixed save states for third tilemap in sailormn.
  * Added partial implementation of sprite mixing when multiple chips draw to the same screen.
  * Correctly suppress read side effects, reduced runtime tag map lookups, cleaned up code, and added notes.
- segaic16_road.cpp: Simplified configuration, removed hard-coded takes, suppress read side effects and cleaned up code [cam900].
- ms32.cpp, bnstars.cpp, tetrisp2.cpp: Made graphics decoding use native ROM arrangement and updated notes [cam900].
- viewgfx.cpp: Show palette alpha values in graphics viewer [cam900].
- machine/segaic16.cpp: Moved palette shadow/highlight handling into palette write handler and cleaned up code [cam900].
- 315_5124.cpp updates: [cam900]
  * Added a lookup table with correct levels and added SMS-compatible color mode for 315-5313.
  * Cleaned up code, and added notes. [cam900]
- 315_5313.cpp updates: [cam900]
  * Converted to 32-bit direct color drawing, and implemented 3-bit color mode..
  * Fixed save states, fixed external palette mode, and cleaned up code.
- mega32x.cpp: Implemented device_palette_interface, converted to use color lookup, and cleaned up code. [cam900]
- sknsspr.cpp: Added link to reference video for jchan [cam900].
- jchan.cpp: Corrected sprite delay, reduced runtime tag map lookups and cleaned up code [cam900].
- jalblend.cpp: Moved alpha table into palette, improved behavior and cleaned up code [cam900].
- dreamwld.cpp: Corrected video RAM data type, converted line RAM to memory share and cleaned up code [cam900].
- stvvdp2.cpp: Fixed blending when tilemap transparency pen is disabled, improved transparency behaviour, and cleaned up code [cam900].
- stvvdp1.cpp: Fixed transparency, Gouraud shading and end-code behavior, fixed sprite limit, added notes and cleaned up code [cam900].
- avgdvg.cpp: Removed hard-coded absolute tags, reduced runtime tag map lookups and cleaned up code [cam900].
- omegrace.cpp: Correctly suppress read side effects [cam900].
- igs022.cpp: Reduced hard-coded absolute tags and runtime tag map lookups and cleaned up code [cam900].
- momoko.cpp: Reduced runtime tag map lookups and cleaned up code [cam900].
- rebound.cpp: Added performance hint [Couriersud].
- Netlist library updates: [Couriersud]
  * Added power terminals to most logic devices, removing the assumption that the negative supply rail is connected to ground.
  * Added additional validation checks and addressed issues identified.
  * Added validation support to nltool.
  * Changed from numeric to alphabetical identifiers for logic components within a package.
  * Added ability to enable runtime performance statistics via an environment variable or command-line option.
  * Changed netlist parsing code to explicitly set locale.
  * Fixed a memory leak in plib when a constructor throws an exception.
  * Added option to disable queue statistics at compile time, and prevented queue statistics from being printed when disabled.
  * Moved the 7448 truth table implementation into the macro file, and added power terminals.
  * Made nltool -v --version display valued of compile-time options.
  * Added example using state in truth tables to implement a J-K type flip-flop.
  * Changed 9316 to use an output array.
- pong.cpp updates: [Couriersud]
  * Increased horizontal resolution for pong and pongf to improve alignment of graphical elements.
  * Fixed breakout SLOW_BUT_ACCURATE mode and updated notes.
- tutankham.cpp: Implemented star field and improved colors [Couriersud, Guru]
  * Konami 084 and bootleg star fields are implemented, selectable in machine configuration.
  * Colors are now based on galaxian, giving a better approximation.
- cosmac: Fixed long branch instruction timing [Curt Coder].
- multi16 updates [Dirk Best]
  * Corrected metadata, and added notes including a list of models.
  * Added PIT, floppy drive controller, and floppy drives.
  * Corrected CRT controller type to HD6845, added raw screen parameters, and added 3-bit RGB palette.
- splus.cpp: Fixed segmentation fault on starting spset005, spset015 and spset026 [Dirk Best].
- hotblock: Hooked up I2C EEPROM [Dirk Best].
- 315_5649.cpp: Set I/O lines to input on reset (fixes MT07315) [Dirk Best].
- punchout: Use generic graphics decoding layouts [Dirk Best].
- pzletime.cpp: Split static and dynamic palettes, and changed screen update function to use direct RGB color [Dirk Best].
- quizo.cpp updates [Dirk Best]
  * Cleaned up ROM banking, cleaned up video RAM banking, and converted screen update function to use direct RGB color.
  * Changed clocks to use crystal values, added second coin input, and documented more DIP switches.
- 6850acia.cpp: Silenced verbose logging by default [Edstrom].
- screen.cpp: Fixed screen_device::update_now() when drawing partial lines, and changed pixel accessors to use current screen bitmap [Enik Land].
- Lua engine: Exposed machine flags, and corrected and expanded documentation comments [feos].
- Add DS1994 1-wire real-time clock/backup RAM device, and hooked it up to Amatic Multi Game systems [Grull Osgo].
- by35.cpp sound improvements [hackbar]
  * Added support for Bally AS3022, Sounds Plus, Sounds Good and Cheap Squeak sound boards.
  * Converted AS8888 sound system to a proper device.
  * Refactored and cleaned up code.
- m6800: Fixed a bug where 6801 interrupt is never triggered [hackbar].
- Added an auto-fire plugin with more flexibility than the built-in auto-fire feature [Jack Li].
- galaga.cpp: Replaced star field lookup table with Galois LFSR implementation [Jindrich Makovicka, Wolfgang Scherr, Couriersud].
- X11 lightgun support improvements [Kiall Mac Innes]
  * Changed build options to include X11 XInput support by default.
  * Added documentation for lightgun configuration on Linux.
  * Disabled Wii Remote lightgun hack by default.
- mazerbla.cpp: Fixed inadvertent palette size reduction [MASH].
- Added new NCR 5380 device to arcade sub-target build [MASH].
- i960: Implemented logr and expr opcodes (used by Power Sled) [MetalliC].
- sharc: Implemented compute_fcopysign [MetalliC].
- chihiro.cpp: Updated satellite DVD documentation [MetalliC].
- tms9901 updates [Michael Zapf]
  * Changed input line reading from 8-bit units to single bits
  * Fixed decrementer so it continues counting even when initial value is zero.
  * Ensure INT3 input is disabled when clock is enabled.
- sam6883: Mirror 32K RAM in 64K mode (fixes segmentation fault when Dunjunz checks for 32/64K) [Nigel Barnes].
- m680x0: Converted code generator to Python and refactored [O. Galibert].
- Fixed drivers that depended on RAM auto-sharing in preparation for its removal [O. Galibert].
- mc6847.cpp: Added PAL color artifact emulation [robcfg].
- goldnpkr.cpp: Fixed inputs, added default non-volatile RAM contents and added button lamps for potnpkrj [Roberto Fresca].
- miniboy7.cpp updates [Roberto Fresca]
  * Fixed button lamp order.
  * Documented PIA input multiplexing, and additional notes.
  * Added support for Super Mini-Boy.
- Added basic SGI GIO slot device support to the Indy and Indigo2 drivers [Ryan Holtz].
- SGI Newport graphics updates [Ryan Holtz]
  * Converted to GIO slot card device, with 8-bit XL and 24-bit XL versions.
  * Added support for 4 bits per pixel RGB frame buffer display.
  * Added dithering support, and fixed shaded rendering mode.
  * Added several modes used by Metero Blast demo.
  * Added support for Scr2Scr Block transfers on planes other than RGB/CI (fixes pop-up menus).
  * Added support for single-pixel line iteration.
  * Added a few more command configurations (fixes SceneView, albeit with glitches).
  * Fixed start_y advancement to handle moving up, and fixed span-mode Z-patterning.
  * Added 12 and 24 bits per pixel RGB frame buffer modes.
  * Fixed host data port readback behavior.
  * Added 4, 12 and 32 bits per pixel host read support.
  * Fixed color fetching in RGB mode.
  * Added 12 bits per pixel dithering.
  * Removed unnecessary parameters from various functions.
  * Fixed fast-clear color packing, and fixed splatting of packed color fractions.
  * Added alpha blending support.
  * Re-implemented integer-line and added correct fractional-line support based on pseudocode in SGI REX3 docs.
  * Fixed off-by-one in Length32 handling.
  * Fixed erroneous advancing of start_y when in span mode.
  * Added 12-bit CI mode to frame buffer readout.
  * Added basic (untested) overlay/underlay support.
  * Added Length32 flag handling to line drawing.
  * Unified command handling - should function better and faster as a result.
  * Fixed fast-clear mode.
  * Base visible area and screen size on actual timing parameters.
  * Fixed video RAM tests and several fast-clear bugs.
  * Improved handling of COLORHOST mode bit.
  * Fixed pixel format conversion on HOSTRW access.
- sgi_mc: Fixed fill-mode DMA not advancing memory address [Ryan Holtz].
- Added skeleton device for SGI VINO (Video In, No Out) chip [Ryan Holtz].
- SGI HPC3 updates [Ryan Holtz]
  * Added intstat register and DAC volume controls.
  * Split into Indy (Guinness) and Indigo2 (Full House) versions.
  * Fixed second SCSI controller handling in Full House mode.
  * Fixed serial EEPROM hookup - Indigo2 now plays its boot tune.
  * Fixed several SGI IDE tests.
- SGI IOC2 updates [Ryan Holtz]
  * Fixed mappable interrupt checks - fixes IRIX 6.5 installer hanging on keyboard input.
  * Fixed System ID register handling - Indy and Indigo2 are now properly identified.
- r4000: Added bus error functionality [Ryan Holtz].
- MISP3 DRC: Fixed TLB miss when fetching instruction in branch delay slot. [Ted Green]
  * Previously the branch would not be taken, even if the branch condition was met.
- Added read/write support for OS-9 disk images [Tim Lindner].
- Corrected sector interleaving for JVC disk image format [Tim Lindner].
- Added support for encrypted MP3 audio on Konami System 573 Digital I/O systems [Windy Fairy]
  * Added minimp3 MP3 decoding library as a temporary solution until MAME's implementation is available.
  * Added high-level emulation of decryption and playback.
- segahang.cpp: Verified ROM labels for the Hang-On (ride-on) set [Andrew Welburn, The Dumping Union].
- konamim2.cpp: Re-dumped totlvica CD-ROM [AWBACON / Video Game Esoterica].
- bublbobl.cpp: Re-dumped graphics ROMs for sboblboblf set [Bonky0013].
- oneshot.cpp: Corrected clocks for CPU and audio components [caius, The Dumping Union].
- mosaic.cpp: Decapped and dumped PIC microcontroller for mosaic [Caps0ff, caius, The Dumping Union].
- by35.cpp: Added DIP switch names for Bally Frontier, and fixed incorrect DIP switch labels for a number of machines [d e].
- wpc_95.cpp: Fixed typo in afm outputs [d e].
- castool: Use first argument as command name in usage message [Dan Church].
- naomi.cpp: Brute forced DES key for Sega Yonin Uchi Mahjong MJ [f205v].
- seta.cpp: Improved PCB documentation for Crazy Fight [Guru].
- m68000: Fixed MMU problem preventing Domain/OS from working without breaking Mac system software [Hans Ostermeyer].
- 3c505: fixed Apollo DIP switch labels [Hans Ostermeyer].
- hiscore.dat: Updated for latest changes to MAME [Leezer].
- cromptons.cpp: Added timekeeper dump for ffruits [SpinalFeyd, The Dumping Union].
