0.220 2020-04-06
----------------


MAME Testers Bugs Fixed
-----------------------
- 00954: [Graphics] (tecmo16.cpp) fstarfrc: Garbage scrolls past during into sequence. (N. Gilbert)
- 02343: [Crash/Freeze] (segac2.cpp) ribbit: Game freezes on later levels. (MetalliC)
- 03708: [Graphics] (deco32.cpp) nslasher, nslasherj, nslashers: Alpha blending for message windows is missing. (cam900)
- 05331: [DIP/Input] (nemesis.cpp) konamigt, rf2: Steering controls should use an incremental encoder. (mmarino4)
- 05554: [DIP/Input] (nbmj8991.cpp) hyouban: DIP switch descriptions are missing. (kamilz)
- 06913: [DIP/Input] (esripsys.cpp) turbosub: Analog inputs are inverted. (MASH)
- 07038: [Sound] (segahang.cpp) sharrier: High score entry music continues to play after completing input. (cmonkey)
- 07518: [Sound] (spiders.cpp) spiders: Web and spiders moving sounds don't match recording. (Jim Hernandez)
- 07581: [Gameplay] (segahang.cpp) sharrier, sharrier1: Difficulty increases constantly due to protection. (Adrian Smethurst)
- 07592: [Plugins] (neogeo.cpp) viewpoin: hiscore: Error parsing hiscore.dat entry. (Carl)


New working machines
--------------------
Solite Spirits [ShouTime, coolmod, The Dumping Union]
Soreike Kokology (Rev A) [Guru]


New working clones
------------------
Blue Shark (Model Racing bootleg, set 2) [Asayuki, pacman70]
Borench (Japan) [Apocalypse]
Burning Fight (prototype, newer, V07) [Brian Hargrove]
Cirqus Voltaire (D.52 prototype) [Matt Morin]
Cobra-Command (World/US) [caius, The Dumping Union]
Crazy Kong (bootleg on Moon Cresta hardware, set 2) [ColinD, hammy, Boge]
Dribbling (set 2) [f205v]
Galaxian (Rene Pierre bootleg) [Michel BLANCO]
Jungler (Olympia) [f205v]
Miss Puzzle (Nudes, less explicit) [Brian Troha, The Dumping Union]
New Cherry '96 (v3.0, A PCB) [Ioannis Bampoulas]
New Cherry '96 Special Edition (v3.51, D PCB) [Ioannis Bampoulas]
New Cherry '96 Special Edition (v3.61, DK PCB) [Ioannis Bampoulas]
New Fruit Bonus '96 (v3.1, A PCB, set 2) [Ioannis Bampoulas]
New Fruit Bonus '96 (v97-3.1c, B PCB) [Ioannis Bampoulas]
New Fruit Bonus '96 Special Edition (v3.40, D PCB) [Ioannis Bampoulas]
New Fruit Bonus '96 Special Edition (v3.53, D PCB) [Ioannis Bampoulas]
New Fruit Bonus '96 Special Edition (v97-3.3c, D PCB) [Ioannis Bampoulas]
Pang! 3 (bootleg, set 2) [hammy, rtw, ekorz]
Penguin Adventure (bootleg of MSX version, not encrypted) [caius]
Scramble (Okapi bootleg) [hammy, Boge, ColinD]
Speed Ball (set 2) [Jorge Silva]
Tetris (bootleg set 4) [jordigahan]
The Outfoxies (Korea?) [coolmod, The Dumping Union]
Thunder Force AC (Japan, prototype, bootleg) [Marcio Miranda]
Undercover Cops - Alpha Renewal Version (US) [Brian Troha, The Dumping Union]


Machines promoted to working
----------------------------
Green Beret (Irem) [Frank Palazzolo]
Trivia Madness - Series A Question set [Dirk Best]


Clones promoted to working
--------------------------
Trivia Madness - Series B Question set [Dirk Best]


New machines marked as NOT_WORKING
----------------------------------
Air Walkers [Guru]
Black Rose Rapid Fire Grand Prix (Konami Endeavour, Queensland) [Dam0, Heihachi_73]
Imperial (1P1952IZ) Blue Moon [Pacmac94]
Imperial (1P19S1IZ) Sheer Magic [Pacmac94]
Imperial (2P1929IZ) Castaway Stampede [Pacmac94]
Imperial (3P1940IZ) Cashline D Bucks [Pacmac94]
Professor Trivia (set 1) [Slowcade]
Snowball War - WakuWaku Yukigassen [rtw, SpinalFeyd]


New clones marked as NOT_WORKING
--------------------------------
Choy Sun Doa - Jackpot Carnival (20156611, Queensland) [Dam0, Heihachi_73]
Professor Trivia (set 2) [Slowcade]
Red Baron - Jackpot Carnival (10160911, Queensland) [Dam0, Heihachi_73]
Spider-Man v1.02 (English,French) [PinMAME]


Source Changes
--------------
- 1945kiii.cpp: Implemented double buffered video RAM and sprite limits, and converted to raw screen parameters [cam900].
- 20pacgal.cpp: Measured CPU clock frequency and updated comments [Guru].
- Added new, thorough emulation of Signetics SCN2651, SCN2661 and SCN2641 Communication Interface chips. Replaced old MC2661 device with new device - fixes dual86.cpp and pcd.cpp Baud rate issues and wy100.cpp line ending issue [AJR].
- Added skeleton Am79C30A Digital Subscriber Controller device [AJR].
- Allow Edit-and-Continue for Visual Studio debug builds, as internal compiler error has been fixed [Belegdol].
- aristmk6.cpp: Reorganized BIOS order and updated documentation [Heihachi_73].
- boogwing.cpp: Fixed palette effects and improved priorities when palette fading is in use [cam900].
- boogwing.cpp: Fixed shadow effect on first boss [Angelo Salese].
- bus/isa: Added Microlog Baby Blue II CPU Plus card [Barry Rodewald].
- bus/isa: Added skeleton Vectrix EX1280 video card[Ryan Holtz, Bitsavers].
- bus/isa: Added support for mapping the linear frame buffer to S3 ViRGE (used by "Analog 801" demo) [Ryan Holtz].
- cms6502.cpp: Corrected M4 ROM ordering [Nigel Barnes].
- cpu/avr8 udpates: Hooked up OCR1A/OCR1B for Fast PWM mode 15. Removed hacky get_elapsed_cycles accessor. Improved save state support, re-formatted source and converted logging to use logmacro.h [Ryan Holtz].
- cpu/m6800/m6801.cpp updates: Fixed a bug that caused the emulation to lock up on WAI/SLP if a timed event had already occurred. Fixed disassembly of SLP instruction for HD6301. Added second timer output comparator and associated status register to HD6301X/HD6301Y [AJR].
- cpu/mcs96: Fixed jh/jnh branch condition [ValleyBell].
- cpu/ns32000: Improved disassembly. Recognize scaled index modes with W/D/Q factors. Added some restrictions on addressing modes (mostly to avoid infinite recursion with scaled index specifiers). Force operand size for some instructions (in particular, the first operand is always a byte for shift/rotate instructions). Fixed some minor formatting glitches. Changed integer literal prefixes to better align with National Semiconductor assembly code examples. Cut immediate operands down to size. Format displacements as signed numbers and abbreviate small ones. Force decimal format for bit positions and shift counts [AJR].
- cpu/sh: Removed unnecessary SuperH 3/4 timers restarts [MetalliC].
- cpu/tlcs90: Added TMP90C051 disassembler (only accessible through unidasm for now) [AJR].
- cpu/unsp updates: Added individual members for FR status flags. Added Ext A6 support, and implemented Fraction on/off, SECBANK on/off, IRQNEST on/off, and move to/from FR. Fixed shift instructions and cleaned up GOTO MR. Respect interrupt enable flag. Disabled DRC for the time being [Ryan Holtz].
- cpu/upd7810 updates: Implemented internal clock dividers. Prevented non-maskable interrupts from being masked out. Made changes to EI take effect after the following instruction. Fixed interrupt flag being cleared incorrectly when another interrupt of the same priority is pending. Added a crude start bit check to asynchronous serial mode. Refresh PA/PB/PC/PF outputs on mode changes. Fixed upd78k3 SFR identification in disassembly of MOV A,sfr and MOV sfr,A opcodes [AJR].
- dec8.cpp: Added PCB locations to ROM labels for all Cobra-Command sets [caius].
- deco32.cpp updates: Improved Night Slashers blending/priorities, palette effects and background color. Improved Tattoo Assassins blending behavior. Hooked up palette bank selection [cam900].
- elan_eu3a05.cpp: Added notes on elan_buzztime I/O [N. Gilbert].
- Entirely replaced legacy Intel 8274, NEC uPD7201, Zilog SIO and Zilog DART serial controller emulation [AJR].
- Fixed potential debugger crashes in cheatlist and help commands [quasiscroto].
- frontend: Added an About menu option to display the contents of COPYING in order to be more license-compliant [Ryan Holtz].
- gigatron.cpp: Hooked up gamepad input and LED outputs [Sterophonick].
- goldstar.cpp: Identified one DIP switch for cmasterh, and corrected graphics ROMs for nfb96 [Ioannis Bampoulas].
- gstream.cpp: Added notes describing sprite limits [cam900].
- holeland.cpp: Added DIP switch locations and raw screen timing parameters [Angelo Salese].
- homedata.cpp: Slowed down main CPU to 2MHz for all games in driver (rated clock speed for MC68B09E) [AJR].
- itech32.cpp: Decapped and dumped ITBWL-3 and ITGFM-3 PIC microcontrollers [Dr. Decapitator, Caps0ff].
- kyugo.cpp: Added PCB layout and DIP switch locations [Guru].
- legionna.cpp: Added DIP switch locations for Seibu Cup Soccer, fixed visible area, and improved documentation [Angelo Salese].
- luaengine.cpp: Added support for saving and loading state to/from binary string buffers [feos].
- m92.cpp: Added notes on Under Cover Cops - Alpha Renewal Version [David Haywood, Alex Marshall].
- machine/i2cmem.cpp updates: Latch upper address bits from device ID after receiving lower eight bits of the address. Implemented software reset. Stopped NACK from incorrectly pulling SDA low. Removed redundant state from page write. Added support for high address byte used by devices larger than 4KiB [smf].
- machine/pxa255.cpp: Added more GPIO callbacks, improved member naming, and converted logging to use logmacro.h [Ryan Holtz].
- machine/wd_fdc.cpp: Added a MON output callback, and changed the spin-down delay to nine revolutions [Michael Zapf].
- midzeus.cpp: Confirmed Zeus 2 linking is IEEE 1394 using TSB12LV01A link layer controller and IBM21S851 transceiver [Hydreigon].
- ms32.cpp: Verified that the background graphics ROM dump for gratiaa is correct [Apocalypse].
- namcos23.cpp, gal3.cpp: Derive palette length from RAM size [cam900].
- neogeo.cpp: Added Universe BIOS 4.0 to AES and MVS machines. [Robbbert]
- netlist: Added compile-time option to use linearized diode model when maximum dissipation is exceeded [Couriersud].
- nlwav: Add sampled output format (takes point samples at regular intervals from log files) [Couriersud].
- screen.cpp: Added a missing break in switch statement (GitHub #6372) [fasteddo].
- segac2.cpp: Fixed ribbit random jumps back to first round [MetalliC].
- segahang.cpp: Hooked up sound CPU reset (fixes MT07038) [cmonkey, smarty, dj_yt].
- segahang.cpp: Improved sharrier protection simulation [Adrian Smethurst].
- segas16b.cpp: Improved Heavyweight Champ input handling, and added Y handle limits. Allows player to change stance, block and attack directions [Angelo Salese].
- sidearms.cpp: Added a note about the star field ROM [jordigahan].
- skyarmy.cpp: Fix bit rot in ROM dump, making the game fully playable [O. Galibert].
- sn76496: Fixed ready output read handler [Michael Zapf].
- snk.cpp: Dumped PROMs for sathena [Porchy].
- sound/x1_010.cpp: Improved playback rate calculation, cleaned up code, and updated notes [cam900].
- sound/ym2151.cpp: Added YM2164 "OPP" variant and emulated some known differences. Used by Yamaha FB-01 and SFG05 MSX cartridge [AJR].
- spdodgeb.cpp: Replaced protection simulation with emulation of the HD63701Y0 microcontroller [AJR].
- ssv.cpp: Dumped PLDs for ryorioh and sxyreac2 [twistedsymphony].
- stv.cpp: Dumped v1.11 USA BIOS [Kravex, Jorge Silva].
- summit.cpp updates: Added a hand-made palette and hooked up color attribute. Fixed memory map and hooked up scroll registers. Mapped most remaining inputs, improved input labels, and hooked up coin counters. Added a rudimentary layout showing the lamps and buttons. Added a link to the patent describing the machine, and removed references to MC6845 and AY8910 [Dirk Best].
- taito_f2.cpp: Fixed sprite/tilemap priorities [cam900].
- taito_l.cpp: Added working brute-forced equivalent PAL images to Kuri Kinton [Frank Palazzolo].
- taito_z.cpp: Dumped missing bipolar PROMs and PALs for sci and clones [Brian Troha, The Dumping Union].
- taito_z.cpp: Fix enforceja analog inputs, and added raw screen timing parameters for all games [Angelo Salese].
- tecmo16: Improved fstarfrc video interrupts, fixing title screen scroll timing [N. Gilbert, David Haywood, hap].
- teleray10.cpp: Inverted polarity of DIP switches, and hacked CTS to always be active [AJR].
- toaplan1.cpp: Added DIP switch locations, and enabled all jumpers combinations [Guru].
- trvmadns.cpp driver re-write: Hooked up inputs via AY8910, hooked up lamps, and added a simple layout with illuminated buttons. Fixed banking. Hooked up palette RAM and converted drawing to use a tilemap. Hooked up 6845 CRT controller, and changed configuration to use raw screen timing parameters. Added save state support. Added PAL dump [Dirk Best].
- vgmplay.cpp: Added a visualizer [Ryan Holtz, Justin Frankel].
- video/deco16ic.cpp: Fixed 16-bit indexed mode drawing, implemented palette bank selection, and fixed 8-bit color base [cam900].
- video/decospr.cpp: Exposed external priority/color mixing flags to callbacks [cam900].
- video/gp9001.cpp: Implemented per-frame sprite limits [cam900].
- video/namco_c355spr.cpp: Cleaned up sprite drawing code and added support for 32-bit RGB bitmaps [cam900].
- wicat.cpp: Removed some 68k interrupt conditions that were conflicting with each other [AJR].
- williams.cpp: Added explicit suffix to float literals to avoid MSVC warning C4305 [Belegdol].
- williams.cpp: Use palette values calculated using netlist for mysticm, tshoot and inferno [Couriersud].
- zaurus.cpp: Split machine configuration by SoC type, enable real-time clock hack, and adjusted to correct clocks [Ryan Holtz].