0.209 2019-04-24
----------------

Changes﻿:
- The 64-bit build is now built with GCC 8.3, same as official MAME. The 32-bit build continues to be built with GCC 5.3, for XP compatibility.
- Please note that midnrun will crash during the attract mode. You need to turn the DRC off for this game. This bug is logged on Mametesters and we await a fix.﻿﻿


MAMETesters Bugs Fixed
----------------------
- 07275: [Core] Weird pacing issue on Windows (hap)
- 07075: [Sound] (m72.cpp) hharry: Victory scream is too low compared to previous mame releases and arcade pcb (jkm900)
- 07242: [Crash/Freeze] (vegas.cpp) sf2049: Strange freeze in attract mode
- 03130: [Graphics] (ccastles.cpp) ccastles: Visible resolution is incorrect (Duke)
- 07270: [Crash/Freeze] (cps1.cpp) sf2ceea: Debugger crashes when accessing memory under certain conditions (hap)
- 07265: [DIP/Input] (tsamurai.cpp) tsamuraih: Lives DIP selection amount is incorrect. (chaneman)
- 07266: [Sound] (snk6502.cpp) sasuke: Initial game music plays partially or not at all after hitting Start (Osso)
- 03122: [DIP/Input] (ltcasino.cpp) mv4in1, ltcasino, ltcasinn: Service Mode DIP does not work (Duke)


New working machines
--------------------
Akka Arrh (prototype) [Aaron Giles, The Dumping Union]
Bonus Poker [Roberto Fresca, TeamEurope]
Fun World Quiz (German, 12-11-1990) [Roberto Fresca, TeamEurope]
Fun World Quiz (German, 27-04-1990) [Roberto Fresca, TeamEurope]
Kuzmich-Egorych [shattered]
Nevada (French, encrypted) [Roberto Fresca, Grull Osgo]


New working clones
------------------
Casino Poker (Ver PM86-35-1, German) [Roberto Fresca, TeamEurope]
Dock Man (set 2) [Andrew Welburn, The Dumping Union]
Dock Man (set 3) [Andrew Welburn, The Dumping Union]
Empire City: 1931 (France) [Fabrice Arzeno, The Dumping Union]
Euro League (Gaelco bootleg, Modular System) [ClawGrip, David Haywood]
Little Casino II v18.1 [Andrew Welburn, The Dumped Union]
Street Heat (set 2, older?) [chaneman]
Super Bobble Bobble (bootleg, set 5) [Lorenzo Mancini]


Machines promoted to working
----------------------------
Joker Card (Inter Games) [Roberto Fresca, Grull Osgo]
Joker Card 300 (Ver.A267BC, encrypted) [Roberto Fresca, Grull Osgo, Andreas Naive, Gaby]
Mega Card (Ver.0210, encrypted) [Roberto Fresca, Grull Osgo, Andreas Naive]
Multi Win (Ver.0167, encrypted) [Roberto Fresca, Grull Osgo, Andreas Naive]
Power Card (Ver 0263, encrypted) [Roberto Fresca, Grull Osgo, Andreas Naive]
Saloon (French, encrypted) [Roberto Fresca, Grull Osgo]
Tripple Draw (V3.1 s) [Ivan Vangelista]


Clones promoted to working
--------------------------
Dragon World (Korea, V040K) [Ivan Vangelista]
Jolly Card (German, Fun World, bootleg) [Roberto Fresca, Grull Osgo]
Jolly Card (Italian, bootleg, set 2) [Roberto Fresca, Grull Osgo]
Royal Card (Evona, Polish, encrypted) [Roberto Fresca, Grull Osgo]
Wonder Boy (system 2, set 2, 315-5176) [Ivan Vangelista]


New machines marked as NOT_WORKING
----------------------------------
Bikkuri Pro Wrestling (Japan 881221, Ver 1.05) [ShouTime, Dane Biegert, Evan Korzon, Russell Howard, Jeroen Bijl, Jeffrey Gray, Smitdogg, The Dumping Union]
Centipede / Millipede / Missile Command (rev 1.03) [chaneman, R. Belmont]
Multi-Action 6710-13 [Brian Troha, The Dumping Union]
Multi-Action 7551 [Brian Troha, The Dumping Union]
Multi-Action 7556 [Brian Troha, The Dumping Union]
Panther Darts [jordigahan, ClawGrip, The Dumping Union]
Trivial Pursuit (Volumen V, Spanish, Maibesa hardware) [Retro Sevilla, Diego Bartolome, Recreativas.org, ClawGrip]


New clones marked as NOT_WORKING
--------------------------------
Dr. Dude (LU-1) Europe [PinMAME]
Elvira and the Party Monsters (LF-1) French [PinMAME]
Gilligan's Island (L-8) [PinMAME]
Image Fight (Japan, bootleg) [hammy, The Dumping Union]
Last Action Hero (1.06 Canada) [Matt Morin]


Translations added or modified
------------------------------
Chinese (Simplified) [YuiFAN]
Chinese (Traditional) [YuiFAN]
Greek [BraiNKilleRGR]
Portuguese (Brazil) [Wellington Uemura]


Source Changes
--------------
- statriv2.cpp: Fixed segmentation fault in debugger memory view for sets without question data [AJR].
- amerihok: Added preliminary inputs, coin counters, and basic layout for 7-segment LED scoreboard [AJR].
- Added ROM dumps and skeleton device for UltraStor Ultra 12F ISA ESDI controller [AJR].
- OS X debugger: Update window titles when restoring configuration for disassembly and memory viewers [AJR].
- tumbleb: Drive ADPCM sound through PIC (sound communications not hooked up yet) [AJR].
- ron2: Corrected game title based on flyer [AJR].
- pencil2: Connected VDP interrupt [AJR].
- z8: Added register pairs to debug state [AJR].
- m37710: Replaced I/O space with callbacks [AJR].
- ppu2c0x: Fixed order of nametable/attribute reads [AJR].
- er1400: Added ability to load default data from region, and changed erase value to all zeroes [AJR].
- upd765: Improved drive selection logic: [AJR]
  * Deselect drives upon reset, or select drive 0 for older controllers with multiplexed select lines.
  * Deselect other floppies when using set_floppy.
- cmi2x: Split off keyboards as subdevices [AJR].
- scc68070: Merged CPU device with on-chip peripheral emulation, and added internal clock divider [AJR].
  * Also added crude hacks to force status bits in unemulated UART and I2C peripherals.
- hd63450: Improved accuracy of IRQ handling, and tidied up interface [AJR].
- funworld.cpp: Added support for custom CPUs' opcode decryption [Andreas Naive].
- Removed unnecessary read/write handler arguments, improved member names, and updated comments in many devices and drivers [cam900].
- ymf278b.cpp: Added DO1 and DO2 outputs, and fixed timer/buffer when clock is changed [cam900].
- cps3.cpp updates: [cam900]
  * Reduced some gaps in zoomed sprites, and restricted drawing to clipping rectangle.
  * Reduced duplication, improved member names, and cleaned up code.
- tc0480scp.cpp: Cleaned up and simplified read/write handlers [cam900].
- devices/sound/gaelco.cpp: Converted data access to device_rom_interface, and made pitch a function of clock frequency. [cam900]
- gaelco2.cpp: Corrected some crystal values, and added notes [cam900].
- tecmo_spr.cpp: Replaced gfx_element with gfxdecode_device, and reduced unnecessary code. [cam900]
  * Also changed some variables to more appropriate types.
- kaneko_tmap.cpp updates: [cam900]
  * Added address map for video RAM handling.
  * Moved expro02.cpp bank switching code into the driver.
  * Reduced code duplication.
- expro02.cpp: Reduced runtime tag map lookups [cam900].
- kaneko16.cpp: Converted berwall to mono sound, reduced runtime tag map lookups, and simplified and cleaned up code [cam900].
- actfancr.cpp: Simplified graphics decoding and cleaned up code [cam900].
- deco16ic.cpp: Move cninja transparency mask function into the driver [cam900].
- crospang.cpp: Moved alternate graphics layout into graphics decoding, and made most state class members private [cam900].
- oneshot.cpp: Simplified graphics decoding, reduced runtime tag map lookups, and cleaned up code [cam900].
- emupal.cpp : Remove MCFG_ macros [cam900].
- vrc6.cpp: Implemented master frequency register, fixed duty cycles, and cleaned up code [cam900].
- devices/bus/nes/konami.cpp: Fix vrc6 sound volume [cam900].
- devices/bus/nes/mmc5.cpp: Corrected sound behavior and fixed sound volume [cam900].
- itech32.cpp: Reduced runtime tag map lookups, and simplified and cleaned up code [cam900].
- skimaxx.cpp: Reduced runtime tag map lookups, added save state support, and simplified and cleaned up code [cam900].
- k054321.cpp: Added synchronizing handlers for communication between main and sound CPUs (used by prmrsocr in tmnt.cpp) [cam900].
- devices/machine/watchdog.cpp: Simplified handlers, and reduced watchdog handler trampolines [cam900].
- simpl156.cpp: Simplified graphics decoding, reduced code duplication, and corrected sound clocks [cam900].
- snk68.cpp: Moved pow and searchar to a derived state class, reduced runtime tag map lookups, and cleaned up code [cam900].
- snk68_spr.cpp: Changed flip screen state member to bool [cam900].
- psikyosh.cpp updates: [cam900]
  * Restricted tilemap drawing to clipping rectangle, and fixed tilemap size when per-line effects are enabled.
  * Added separate address map for games with mahjong controller input.
  * Reduced runtime tag map lookups, and cleaned up code.
- m72.cpp: Fixed audio sample rate for M72 PCBs, fixed DAC volume, and added notes [cam900].
- decbac06.cpp: Removed hard-coded parameters that come from graphics elements, and restricted drawing to clipping rectangle [cam900].
- raiden2.cpp updates: [cam900]
  * Fixed xsedae configuration (runs on modified Zero Team hardware).
  * Moved video functions to video/raiden2.cpp.
  * Reduced runtime tag map lookups, made state class members protected or private where appropriate, and cleaned up code.
- r2dx_v33.cpp: Reduced runtime tag map lookups, and reduced redundancy with raiden2.cpp [cam900].
- vgmplay.cpp: Added volume modifier support, and scaled volume according to the number of sound chips used by file [cam900].
- leland.cpp: Reduced runtime tag map lookups, and simplified and cleaned up code [cam900].
- audio/leland.cpp: Removed hard-coded tags for ROM region and host CPU [cam900].
- psikyo4.cpp: Fixed FM output when used [cam900].
- n2a03.cpp: Added device_mixer_interface rather than routing audio to hard-coded speakers [cam900].
- tc0100scn.cpp updates: [cam900]
  * Internalized text graphics.
  * Restricted drawing to clipping rectangle.
  * Moved taito_f2.cpp banking code into driver.
  * Allowed masked priority behavior.
  * Reduced redundancy and cleaned up code.
- tc0480scp.cpp: Internalized text graphics, reduced code duplication, and removed unnecessary pointers and functions [cam900].
- emupal.cpp: Added xBGRBBBBGGGGRRRR format [cam900].
- deniam.cpp: Fixed screen freezing behaviour, reduced runtime tag map lookups, cleaned up code, and added notes [cam900].
- audio/m72.cpp: Remove hard-coded tags, converted sample ROM access to device_rom_interface, and cleaned up code [cam900].
- aica.cpp, aicadsp.cpp: Converted PCM/DSP memory access to device_rom_interface, added save state support, and cleaned up code [cam900].
- hotblock.cpp: Converted video banking to address_bank_map_device, and removed MCFG_ macros [cam900].
- z80pio.cpp: Reduced code duplication [cam900].
- ginganin.cpp: Simplified graphics layouts, reduced runtime tag lookups, and cleaned up code [cam900].
- ms32.cpp: Add notes. [cam900].
- k053260.cpp: Cleaned up code [cam900].
- deco146.cpp: Suppressed side effects for debugger, reduced redundancy, and cleaned up code [cam900].
- pgm.cpp: Implemented some inputs, and improved naming [cam900].
- pgmprot_igs027a_type1.cpp: Added inputs for CAVE PCB [cam900].
- qs1000.cpp: Moved imperfect sound flag from drivers to device [cam900].
- Netlist library updates: [Couriersud]
  * Added a MOSFET model, inclusion Meyer capacitance.
  * Added a charge-conserving capacitor model, as an alternative to the constant-capacity model.
  * Started putting constants in a central place.
  * Fixed a rounding issue in the ptime code.
  * Added a global parameter to disable semiconductor capacitance modelling.
  * Added an operational amplifier model that ignores output voltage limits.
  * Changed MB3614 operational amplifier parameters to match the data sheet.
  * Added VARCLOCK, allowing step size to be calculated using a function.
  * Added trunc to pfunction.
  * Added opamp_amplification_curve example, which calculates op-amp gain as a function of frequency.
  * Improved LM3900 voltage clamping model, and aligned pin names with other operational amplifiers.
  * Added a high-precision LM3900 model, and an improved high-performance LM3900 model.
  * Added more SPICE elements to the conversion code.
  * Fixed current source handling when converting SPICE nets.
  * Added validation for netlist devices.
  * Improved scalability of error messages.
- m62.cpp: Fixed kidniki netlist, based on corrections in kungfum schematics and an apparent omission [Couriersud].
- zaccaria.cpp sound improvements: [Couriersud]
  * Routed speech and DAC through netlist filtering, and fixed AY8910 interfacing.
  * Hooked up potentiometers so they can be adjusted.
  * Added frontiers to netlist to improve performance.
- mario: Fixed an error in schematics that became obvious with the improved LM3900 model [Couriersud, Tafoid].
- spg110 updates: [David Haywood]
  * Split more functionality into separate devices.
  * Improved rendering and sprites, and implemented manual video RAM uploads.
  * Added basic audio.
- wc90b.cpp: Tidied up a little [David Haywood].
- pengo.cpp: Added preliminary partial decryption for schick [David Haywood].
- Moved SunPlus GC394 systems out of vii.cpp (it's a newer sytem-on-a-chip with more capabilities) [David Haywood].
- mgames.cpp: Cleaned up palette and graphics decoding layout, and converted drawing to use tilemap system [Dirk Best].
- ltcasino.cpp updates: [Dirk Best]
  * Hooked up the two 6821 PIAs, hooked up CRT5037, corrected RAM size, and defined clocks in terms of 18 MHz crystal.
  * Cleaned up inputs, added DIP switch descriptions and locations, and documented service mode.
  * Added output ports, and hooked up coin counter and lamps.
  * Added simple internal artwork with clickable buttons and color overlays based on a flyer.
  * Added non-volatile RAM, and updated ROM labels and notes.
- tms9927.cpp: Allow visible area to be hard-coded at configuration time [Dirk Best].
- akkaarrh.cpp: Added coin counters, lamp outputs, and a test view showing the lamps [Dirk Best].
- dsk_dsk.cpp, hxchfe_dsk.cpp: Report a non-fatal warning for images with a small number of excess tracks [Edstrom].
- m68kmmu: Fixed ATC entry calculation error that was crashing Domain/OS [Hans Ostermeyer].
- apollo: Removed deprecated debug reference [Hans Ostermeyer].
- z80ctc.cpp: Guard against integer overflow when calculating remaining time with configured input clock frequencies [Justin Kerk].
- Fixed support for multiple light guns with X11 XInput [Kiall Mac Innes].
- Fixed YM2608/YM2610 ADPCM-A overflow behavior (should wrap rather than saturating) [Lord Nightmare, madbr].
- ymz774: Replaced volume table with calculation loop [MetalliC].
- tms99xx updates: [Michael Zapf]
  * Fixed LDCR/STCR handling of register indirect auto-increment mode (*Rx+) and modernized logging.
  * Fixed minimum/maximum clock cycles per instruction.
  * Changed set address method signature to work better with memory maps.
- m68000: Made CPU space an address space and made vectored interrupts use it. [O. Galibert]
  * Also made it possible to disable the interrupt priority encoder behaviour in the CPU core.
- emumem: Removed obsolete alignement limit [O. Galibert].
- emumem_mud: Corrected start/end for big endian spaces [O. Galibert]
- pic8259.cpp: Suppress side effects of debugger reads [O. Galibert].
- Added skeleton Yamaha DSPV and SWP20 devices [O. Galibert].
- ymmu100.cpp: Extracted LCD as a separate device [O. Galibert].
- Annotated all uses of set_input_line_vector with CPU type [O. Galibert].
- pcat101: Connected key matrix and ports [Patrick Mackinlay].
- 3c505: Added low-level emulation [Patrick Mackinlay, Neko May].
- m68705: Added more HMOS variants [Patrick Mackinlay].
- nscsi_cd: Added support for mode page 0x01, allowing Apple II SCSI Card to access CD-ROMs [R. Belmont].
- k2000: Hooked up RAM/ROM switch - now starts to boot [R. Belmont].
- aim65: Modernised code, fixed cassette, added TTY, and added printer display [Robbbert].
- funworld.cpp updates: [Roberto Fresca, Grull Osgo]
  * Improved game descriptions, and expanded notes.
  * Improved memory maps, added default non-volatile RAM contents for some games, fixed ROM loading, and re-worked inputs.
  * Improved tilemaps, fixed graphics planes, and improved palettes.
  * Added I2C serial EEPROM and removed PIAs for Saloon/Nevada.
  * Added PLD dumps for pool10e and marked jokercrd graphics ROM IC10 as a bad dump.
  * Split and mirrored attribute/color RAM, fixed AY8910 hook-up, fixed video RAM offset, and fixed AY8910 hook-up for intrgmes.
  * Changed CPU to 65SC02, added periodic interrupts, and patched out some hardware checks for intrgmes.
  * Changed CPU to R65C02, added PIA mirroring, and added a ROM patch to force NOP after BRK for royalcrdf.
- Further funworld.cpp updates: [Roberto Fresca]
  * Fixed palette banking, graphics ROM loading, memory map and video RAM offsets for royalcrdf.
  * Added default non-volatile RAM contents for rcdino4 and jolycdig.
  * Marked royalcrdc graphics ROM IC26 as a bad dump.
  * Added button lamps for jolycdig and jolycdab.
  * Changed "Austrian" to "German" in all game descriptions, and expanded notes.
  * Replaced royalcrdc bad graphics ROM dump with corresponding dump from parent set, and removed imperfect graphics flag.
- funworld.cpp: Used a custom device to re-dump faulty graphics ROM for jokercrd, allowing game to be promoted to fully working [Roberto Fresca, Grull Osgo, Gaby].
- unsp: Fixed signed multiplication in recompiler (fixes controls in jak_pooh) [Ryan Holtz].
- sgi_mc: Fixed pixel VDMA interrupts (fixes pixel DMA warnings in IRIX 5.3) [Ryan Holtz].
- newport: Added support for dithering and 4 bits per pixel RGB frame buffer display, and fixed shaded rendering mode [Ryan Holtz].
- Added ability to throttle IDE hard disk DMA transfer speed (fixes MT07242) [Ted Green].
- midzeus.cpp: Fixed interrupt regression that was causing low frame rates in thegrid [Ted Green].
- zx8301.cpp: Improved flash behavior so colors match a real QL [vilcans].
- crystal.cpp: Dumped alternate Crystal System BIOS [ack].
- galaxian.cpp: Corrected ROM names for moonwara, and corrected the color BPROM [Andrew Welburn, The Dumping Union].
- oneshot.cpp: Add PCB layout for Mad Donna, and various notes for One Shot One Kill [Brian Troha].
- toaplan1.cpp: Corrected coinage DIP switch settings for Jiao! Jiao! Jiao! (China, 2P set) [Brian Troha].
- tumbleb.cpp: Dumped PIC microcontroller for funkyjetb [Caps0ff, ClawGrip, The Dumping Union].
- seibucpbl.cpp: Updated ROM locations for cupsocsb2, and used measured clocks for Seibu Cup Soccer bootleg sets [f205v].
- aha1542b: Added 3.1b BIOS [Funet Archive].
- namcos2.cpp: Updated PCB locations for data ROMs [Guru].
- m72.cpp: Re-dumped I80C31 external ROM for imgfightb [hammy].
- aristmk5.cpp: Updated internal layouts based on a few photos of the button labels [Heihachi_73].
- isa_hercules: Added dump of Mazovia Polish alternate character set [MCbx Old Computer Collection].
- Added skeleton device for UltraStor Ultra-14F SCSI controller [Metropoli BBS Archive].
- Added skeleton device for UltraStor Ultra-24F EISA SCSI controller [Metropoli BBS Archive].
- Added skeleton devices for Tekram EISA SCSI controllers [Metropoli BBS Archive, I-Shou University File Server].
- galaxold.cpp: Dumped PROM for and confirmed chip types for scramb3 [Porchy, The Dumping Union].