Mameinfo.dat v0.175
Updated - 29th June 2016

Homepage -
E-Mail -



What's New

*NEW* Mameinfo 0.175 (2.52 MB)

*NEW* MAMEUI 0.175 Category-, Version and Alltime inifiles (636 kB)

*NEW* MAME NEWS from 0.37b1 - 0.174 (3.59 MB)

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.176GIT - New games: Swing Gal [BET] (Japan 871221) - ADSP21062 CPU: Fixed Linux crash (cpu\sharc\sharcdrc.cpp) (ID 06262) - YM2151 and YM2413 sound: Isolate, objectify and integrate - naomi.cpp: Added Net-DIMM 3.03 firmware - Turtles: Moved clone Turpin (bootleg on Scramble hardware) from Scramble to Galaxian driver and added preliminary sound. Tempo is way to high. - Input port: Fixed input issues on big endian systems (input\input_common.h, input_dinput.cpp, input_rawinput.cpp, input_sdl.cpp, input_win32.cpp, input_windows.h, input_x11.cpp and input_xinput.cpp) 0.175 - New games: 1943: The Battle of Midway Mark II (US), Kyuukoukabakugekitai - Dive Bomber Squad (Japan, prototype) and Mahjong Joshi Pro-wres -Give up 5 byou mae- (Japan) - New Working games: Flaming 7 (Red, White & Blue 7's + Hollywood Nights), Godzilla (Japan), Idol Janshi Suchie-Pai 3 (JPN), Moto Frenzy, Tora Tora and Usagi - Yamashiro Mahjong Hen (GDL-0022) - New Non-Working games: Flaming 7 (Custom Hardware, Main, 50 Bonus), World Club Champion Football Serie A 2001-2002 Ver. 2 (CDP-10001C), World Club Champion Football Serie A 2001-2002 DIMM FIRM Ver.3.03 (CDP-10003) and World Club Champion Football Serie A 2002-2003 Drive Checker (CDV-10007) - New AGEMAME games: Antony and Cleopatra (10163211, NSW/ACT), Bumble Bugs (0200456V, Queensland), Choy Sun Doa (20104011, NSW/ACT, Show Program), Inca Sun (0100872V, NSW/ACT, Show Program), King Penguin (40109021, NSW/ACT, Show Program), Player's Choice - Platinum (20282111, New Zealand), Queen of the Nile (0300439V, NSW/ACT), Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT, Show Program), Scatter Magic II (10102711, South Australia) and Wild Waratah (10215911, NSW/ACT, Show Program) - New clones: Astro Combat (encrypted), Buena Suerte (Spanish/Portuguese, set 23), E.D.F. : Earth Defense Force (Japan, prototype), Flaming 7 (Custom Hardware, Egyptian Gold, 2000 Bonus), Flaming 7 (Custom Hardware, Main, 500 Bonus), Flaming 7 (Custom Hardware, Main, 2000 Bonus), Flaming 7 (Taiwanese Hardware, unknown version), Galaxian (bootleg, set 4), Hyper Bishi Bashi Champ (GE876 VER. KAA), Lethal Weapon 3 (2.07), Lucky Poker (bootleg/hack of Major Poker), Magic Card (H8, English), Major Poker (set 2, Micro Manufacturing intro), Major Poker (set 3, Micro Manufacturing intro), Major Poker (set 4, Micro Manufacturing intro), Marvel Vs. Capcom 2 New Age of Heroes (USA) (Rev A), Metamorphic Force (ver EAA - alternate), Mutant Warrior (Altered Beast - Datsu bootleg), Out Zone (Zero Wing TP-015 PCB conversion), River Patrol (Japan), Royal Card (Austrian, set 8), Scramble (Model Racing, Italian bootleg), Side by Side (Ver 2.6 J), Side by Side 2 (Ver 2.6 OK), Space Invaders (CV Version, smaller roms), Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 1), Super Street Fighter II: The Tournament Battle (Japan 931005), Teenage Mutant Hero Turtles - Turtles in Time (4 Players ver EAA), Ufo Robo Dangar (4/07/1987), Ufo Robo Dangar (9/26/1986, Japan) and Varth: Operation Thunderstorm (bootleg) - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Out Run (Tourvision PCE bootleg) - Removed games: Eagle Strike (set 1), Flame Of Olympus, Flames Of Olympus USA (set 1), Foxworthy Redneck, Outback Jack (set 2) and Players Choice Favourites (set 1) - New devices: generic_keyboard, generic_terminal, ldp1000, m2comm, xga and zeus2 - New mame.ini options: Added vector_beam_smooth (VECTOR POST-PROCESSING OPTIONS). Removed antialias (CORE VECTOR OPTIONS). - New Cheat.dat: - ADSP21062 CPU: Added highly experimental SHARC recompiler. Runtime enable for sharcdrc. Added Model 2 and Zero Gunner compatibility. - Dynamic Re-Compiling . Fixed x64 compile (cpu\drcuml.cpp) . Modified branch in delay slot to match non-DRC behaviour for non-dynamic branch targets (cpu\drcfe.cpp) - M6502 CPU: Disabled VBL opcode logging (use wpiset 0,1,r) (cpu\m6502\odeco16.lst) - M6800 CPU: Fixed behaviour of N and V flags in CPX (compare X) instruction (cpu\m6800\6800ops.hxx). These two flags are only affected by the data comparison of the upper 8 bits, and not the whole 16 bits. - PPS4 CPU, TMS32010 CPU, TMS32025 CPU and V25 CPU: Fixed some cpus with virtual ports, mark them with +1 in any case. - T11 CPU: Fixed MARK insn (not supported by actual T11). Fixed all irqs. - TMS32010 CPU, TMS32025 CPU and V25 CPU: Made it use devcb instead of a memory map for the ports or bio line - TMS57002 CPU: Fixed internal_pgm ADDRESS_MAP range - Z80 SCC: Fixed baudrate calculation issue to make (MESS) Sun3-80 work and some minor debug message errors (machine\z80scc.cpp) - DCS sound . Added sport timer for DCS2 DSIO device (audio\dcs.cpp). Fixed buffer overflow with clone San Francisco Rush 2049: Special Edition. . Updated 2181 SYSCONTROL bits. Added internal ram memory bank for DENVER ADSP 2181 (audio\dcs.cpp). - Sound Interface . Updated more drivers to use the new gen_latch.cpp, which should substitute the soundlatch_* methods in driver_device. . Removed the old soundlatch methods (emu\driver.cpp) . Sound trampolines removal from various drivers - Atari Custom: Removed the slapstic and sloop direct update handlers, which hasn't been necessary since direct access has been enhanced to work correctly on handlers, years ago (machine\atarigen.cpp, drivers\atarig42.cpp and starwars.cpp). - Cassette: Modernized the cassette animation - CHDMAN . Ignore ATA ident CHS values for > 8GB images . Ignore cylinders, heads and sectors from identify device data, based on the ATA 5 specification. . Attempt to workaround hang during CHD creation - Device interface . Removed device_memory_interface in EEPROM, i2cmem.cpp and intelfsh.cpp . More efficient device error logging (emu\device.cpp) - Discrete Netlist . Moved all parameter definitions in constructors . Make netlist compile with C++11, use own implementation of make_unique to avoid C++14. . Removed dependency on osd_ticks. Converted palloc and friends into templates. Moved code into separate plib namespace. . Stop using underscore _names, they're reserved for compiler/system. . Minor cosmetic refactoring. Added a "uninitialised array" template to allow in-place creation (for increased locality) of netlist classes. Main use is in truthtable class. Removed PLIB_NAMESPACE macros. Removed namespace macros. Use explicit namespace declarations. Moved device definitions into cpp files. Moved more device definitions into cpp files. New prefix "nlid" for include files flags purely internal include files not to be leaked into userland. Fixed factory code. . Added constructors to prepare to move terminal setup into constructor. Reworked twoterm setup. Fixed some timebombs along the way. Fixed r2r dac. Remove dead code. analog_outputs now created in constructor. Moved analog_input creation into constructor. Moved logic output creation to constructor. Moved all logic inputs into constructor. Completely removed init_object - finally. . More code cleanup: Dead code removal and minor refactoring. Simplify. Align naming with stl. Fix somed pedantic warnings. More STL compatability. Removed ATTR_HOT and ATTR_COLD. Refactored netlist_time. Fixed long standing workaround which would ignore policy of change-only" propagation. Rewroted for loops to use auto : semantics. Truthtable cleanup. Get rid of nl_math. Remove nl_util.h and moved contents to plib/putil.h. Fixed standalone build. Refactor ptypes.h. . Merged netlist_dev branch, all code_refactoring: Object model optimisation. Merged remote-tracking branch 'origin/master' into netlist_dev. Default PHAS_PMF_INTERNAL=0 for 32bit windows mingw. Changed UINT8 to uint_[fast|least|8_t. Moved state_var so it can be used by base devices as well. Removed last traces of ATTR_ALIGN. Refactored netlist_time into a template. Removed implicit double assignment to netlist. Doomed to produce bugs. Instead, use netlist_time::from_double. Switch to using proper (i.e. bool type) param_logic_t. Formally differentiate between logic inputs (e.g. switches) and int inputs (e.g. resistor ladders or selection switches). Added parameter USE_DEACTIVATE to truthtable devices. Added more constexpr to netlist_time. Fixed some ifdef code paths. More C++. Simplify main processing loop. As a nice side-effect that squeezed out some cycles. More cycle squeezing. Removed pvector_t. Use std::sort. Refactored netlist state manager. Introduction of state_var object template to be used on device state members. Changed remaining save occurrences to state_var. Rewrote nltool's listdevices command. This allowed removal of one member from devices which served solely for listdevices. Remove hashmap_t. Fix kidniki regression. . Replaced shared_ptr by unique_ptr. Better seperation of setup_t and netlist_t. Fixed bugs in rdtsc code. Refactored timer code. Simplify conditional activation/deactivation. Introduced HINT(device, hint) to clarify that hints are inheritent and not specific to devices. Added improved profiling support to netlist. Statistics output now proposes devices for which whole device activation/deactivation be disabled. No significant improvement for pong, but breakout experiences a 10% improvement. Moved options code from include to cpp file. Minor modifications to 7493 and 9316. Introduced perftime_t and perfcount_t for gathering statistics. These templates do not create any code if statistics are not kept. Make help2man ./nltool produce usuable output. More truthtable refactoring. Removed half-finished code for internal state support. As implemented, this would have had no support for timing delays. . Added explicit to constructors to avoid bad surprises later. Srcclean on netlist files. Avoid the merge massacre. - Harddisk: Added CHS and LBA limits when the CHD doesn't contain identify device data (machine\idehd.cpp) - Laser Disc . deco_ld.cpp: Added Road Blaster LaserDisc image. Added bare-bones Sony LDP-1000 device . esh.cpp: Added Esh's Aurunmilla LaserDisc image. Added line blinking and overlay opacity selectors. Added command strobe callback interface for LDV1000, and hooked it up to esh.cpp driver. Fixed IRQ 0 hookup, using device_timer to ack an IRQ for MAME is never a good idea. Added the other blinking mode. . dlair.cpp: Some misc updates. Improved dlair internal layout (based on external artwork by Mr. Do & Co). . Fixed laserdisc screen PAL parameters (machine\laserdsc.h) - Sega Custom: Added basic C-Sync callback to 315-5124, based on Charles' hardware tests. - Slots . Added tagged_list to unordered_map for slots . Proper exception handling (emu\dislot.cpp) - aerofgt.cpp . Fixed POST palette for Spinal Breakers and added minor note. . Found out that Karate Blazers (bootleg) uses a sound system copied from SNK's Street Smart. Hooked up preliminary sound. SFX are wrong. - aleck64.cpp: Disabled fast RAM, as it prevents watchpoints from working and doesn't gain much on the interpreter core (machine\n64.cpp). - atarigx2.cpp: Reverse-engineered Moto Frenzy security FPGA and implemented decryption code (Game now playable). Fixed controls. Left/right were reversed, throttle was defaulting to on and was clashing with BUTTON1. Added port names. - atlantis.cpp, iteagle.cpp and midzeus.cpp . Updated rom naming/mapping and changed ram instantiation (mips\mips3drc.cpp and machine\vrc4373.cpp) . Updated Atlantis driver and address map. Changed Atlantis to DENVER audio. Added DCS3 fifo reset to Atlantis address map. . Use normal array allocation for fixed sized arrays (machine\gt64xxx.cpp and iteagle_fpga.cpp) . Added IRQ callback (machine\pci-ide.cpp) . Use new Zeus2 video device for Atlantis and Midway Zeus 2 (video\zeus2.cpp). Re-organize frame buffer ram and add IEEE754 floating point conversion. Closer to getting quad 14 word working. Better quad size selection. Changed texture size selection and attempt to extract last parameters from quad 14. - bfcobra.cpp: Use ramdac_device instead of custom implementation. The driver also has a custom FDC implementation, which I failed to update to the device one. - chihiro.cpp . Try to boot Crazy Taxi High Roller & small 3D adjustments. . Try to complete Xbox memory map, EEPROM must be NTSC. . Added description of 2 commands sent via USB to the AN2131QC chip, based on disassembly of its firmware. They are used to read the I2C EEPROMs connected to the chip. . Removed memory map error - cobra.cpp and zr107.cpp: Removed unnecessary mirrors - cps3.cpp: Speed up initial programming by reducing the number of error.log entries - galaxian.cpp . Preliminary sound hook-up for clone Take Off (bootleg of The End) . Separated memory map for clones Explorer (bootleg of Scramble) and Take Off (bootleg of The End) instead of a lot of install_* at driver_init time. . Documented Galaxian (bootleg, set 2) which mixes roms from other sets (double sized program roms and kamakazi3 gfx roms) - goldnpkr.cpp: Completed clone Buena Suerte (Spanish, set 15). Rearranged the graphics ROMs to get accurate gfx banks. Discrete sound needs to be traced. Game is working properly. Added technical notes, WIP, edge connector and mech counters pinout to clone Buena Suerte (Spanish, set 15). - goldstar.cpp . Flaming 7: Added new technical notes. Added hand made electronic serial DS2401 dump, as a start of electronic serial number support. Hook up serial DS2401 EEPROM. Connected the electronic serial DS2401 device to the proper PPI8255 (PC6) line. Support DS2400-compatibility command 0x0F to read serial no (machine\ds2401.cpp). Promoted Flaming 7 to working: Correct DS2401 hookup on PIA 0 port C. Make serial number ROM to match our program ROM dump. Inputs could be improved. Get past the data error on empty NVRAM with book (0) and reset (R) buttons. . Tetris + Cherry Master (+K, Canada Version, encrypted) hidden switch documentation . Some driver cleanups toward coding standards . Added Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 1). Note: New parent set, since they fixed some weird bug in pulses/bookkeeping. - harddriv.cpp . Added more info for invalid register accesses (cpu\adsp2100\2100ops.hxx). Added callback for dmovlay instruction. . Nop out a memory range, makes log a bit more sane. A 2 second log used to weigh about 700 MB - kinst.cpp: Naming KI1 & KI2 Input buttons the same way it's displayed in original Arcade Control - legionna.cpp and raiden2.cpp . Cleaning up the Seibu COP (Co-Processor) device and documentation . Moved DMA and commands into own files (machine\seibucop\seibucop_cmd.hxx and seibucop_dma.hxx) . Prevent cop_angle to overflow byte range. Fixes III to I quadrant movements in Legionnaire and Heated Barrel. Fixes stage clear player movement in Legionnaire, level 4 boss and maybe access exceptions in Heated Barrel. . Added nicer sorting routine. Moved zsorting to DMA file, improved notes (machine\seibucop\seibucop.cpp). - leland.cpp . Merged ataxx.cpp into leland.cpp as they had a completely shared main header file (leland.h). . Fixed 'missing required objects' fatalerror (ADDRESS_MAP/AM_SHARE"mainram") in Ataxx (ID 06223) - lindbergh.cpp: Updated docs - magicfly.cpp: Refactored PCB layout and pinout with new findings and PCB trace. Also added some technical notes. - megasys1.cpp: Fixed sound regression in System Z hardware games from MAME 0.171. System Z games use a Z80 as sound cpu instead of a M68k. In 0.171 the input lines' enumeration for Z80 was changed and this wasn't updated. - megatech.cpp: Added some title documentation - midzeus.cpp: Naming MK4 P1 & P2 inputs and ports - model1.cpp: Fixed TGP parser crashing in Model 1. This fixed Virtua Racing may crashed if running in linked mode and after coining up (ID 06123). - model2.cpp . Added highly experimental SHARC recompiler. Runtime enable for sharcdrc. Added Model 2 and Zero Gunner compatibility. . Finish the MB86235 disassembler. Fixed 4 compile errors (cpu\mb86235\mb86235d.cpp). . Hooked up M2COMM simulation. Commented out jaleco custom handlers. Cleaned up some Sega comm related stuff. Replaces printf with osd_printf_verbose in a number of places. Removed no longer needed code from Model2. - model3.cpp . Update culling node info (video\model3.cpp) . Hooked up M2COMM simulation. Commented out jaleco custom handlers. - namconb1.cpp: Fixed degraded performance speed in machbrkr and outfxies by disabling logerrors (ID 06244). Also added save state support. - naomi.cpp and segasp.cpp . Added PowerVR2 hack (hacky end of render delay for Capcom games, otherwise they works at ~1/10 speed) . NAOMI documentation update and new DC/NAOMI security system findings . Added Net-DIMM firmware (fpr23718.ic14) and notes . 'Samba de Amigo Rev.A' cartridge contents identical to already dumped Rev.B - nbmj9195.cpp: Fixed mscoutm, imekura and mjegolf inputs (ID 06234) - neodriv.hxx . Fixed most sets in neodriv.hxx crashes if cheats are enabled . Fixed savestate problems in NeoGeo hardware driver (drivers\neogeo.cpp). Many thanks to Tafoid and Osso for the debugging help (ID 06253). - nss.c, sfcbox.c and snesb.c . Fixed back N5A22 clock steps (cpu/g65816/g65816cm.h; timing bug that was lingering for a while, no idea about what it fixes / breaks for SNES but it doesn't seem harmful from a quick random test). . Minor NSS screen output fixes - pacman.cpp, jrpacman.cpp and pengo.cpp: Fixed X and Y flip bits are ignored when sprite is rendered at top of screen due to vertical wrapping (ID 06235). Note: When a sprite is partially off the bottom of the screen (Y values less than $10) the hardware draws the missing parts at the top of the screen, basically wrapping the sprite. - splash.cpp and turbo.cpp: Don't use AM_MASK on ram, you end up with an incorrect allocation size. - system16.cpp . Made some observed changes to some of the game flags in the driver . Reorganized the different sound configurations in "fragments" and added preliminary sound to clones Altered Beast (Datsu bootleg), Mutant Warrior (Altered Beast - Datsu bootleg) and Passing Shot (4 Players) (bootleg). - tourvis.cpp: Added Out Run to the Tourvision games list. Minor gamelist changes. - vegas.cpp . Corrected sub-device lookup string. Added Nile 4 timer scaling. . Added sport timer for DCS2 DSIO device (audio\dcs.cpp). Fixed buffer overflow with clone San Francisco Rush 2049: Special Edition. - AGEMAME . aristmk5.cpp: Reorganized sets based on their actual description. Unified rom naming and added a few sets that were missing. . aristmk6.cpp . Reorganized sets based on their actual description. Removed a few sets which were hacked or incomplete, compared to their parents. . Unified rom naming and fixed loading offset in games which use the expansion board. Also added a few sets that were missing. . Fixed BIOS loading and some BIOS naming. Removed an overdumped BIOS and moved qnilese base PCB ROMS to the BIOS set. . mpu4.hxx and mpu4sw.hxx: Made efforts to provide a 'simpler' configuration setup for MPU4 hardware to encourage easier 'per game' configuration. Tested with one Andy Capp game for now, but others will follow. - Android (prototype, later build): Fixed ROM labels/locations for clone Android (prototype, early build) and added dumps of the two PLDs. - Battle Rangers: Game is a mono PCB - Blood Bros: Thoroughly reworked clone West Story (bootleg of Blood Bros.) memory map based on M68000 code. FG tilemap scrolling implemented for weststry. Sound hooked up, but doesn't fully work (YM3812 stops sending IRQs). Various things documented in other Blood Bros. games. - Breakout [TTL]: Fixed attract mode - Funky Ball: . Reversed ROM flash hookup, fixed bogus FPU exception. . Hooked up terminal device. Fixed region endian. - Gals Panic 3: Added correct supplemental graphics roms to clone Gals Panic 3 (Hong Kong) - Godzilla (Japan): Fixed BCD overflow score bug (machine\raiden2cop.cpp). Marked game as working until otherwise proven. - Gradius 4: Added rasterizers (video\voodoo_rast.hxx) - Halley's Comet: Removed goto:s and somewhat simplified the readability of the video driver - Hole Land: Corrected default dips (local language, not English) and added dipswitch definitions for clone Hole Land (Spain) - Lucky 9: Replaced TMS9980A CPU with TMS9900, because the 9980 address space is too small. - Major Poker: Added missing PLDs, plus technical notes. - Mario Bros: Fixed 'Bonus Life' dipswitch descriptions for Mario Bros. (US, Revision F) (ID 03321) - Match Games . Added technical notes and corrected CRT 810 layout + old notes . Some cleanup for coding standards and fixed coinage dipswitches. - Metal Freezer . Added dips . Fixed missing sprites on edges . Attempt fixing rowscroll enable for stages 5, 10, ... . Removed MACHINE_IMPERFECT_GRAPHICS flag until otherwise proven - Ozma Wars: Added color proms - Poker Monarch: Boots up. By adjusting SW1 you can get various test screens and cards. - Pro Sports: Fixed wrong Upright / Cocktail assignment - Rad Mobile: Swap Lights_lamp and Wiper_lamp (these output signals were misassigned) - Sliver: Made the way jpeglib.h is included more pretty - Street Smart: Fixed sprite regression - Teenage Mutant Ninja Turtles: Corrected visible screen area as per real hardware - Tora Tora: Fixed timer and interrupts. Improved sound (Game now playable). - Ultimate Mortal Kombat 3: We're currently using version 1.0 roms for sound for all sets, see MT#00751. Marked sound roms bad dump in Ultimate Mortal Kombat 3 (rev 1.2) and clone (rev 1.1). - Input port . Added flag to mark input fields as optional . Don't crash on input modules not derived from wininput_module, like "none" (input\input_windows.cpp) . Added ioport tagged_list to unordered_map . A few minor input fixes and cleanups: Input modules exit() is called twice. Removed the unnecessary input_exit() method. Removed unnecessary pointer init in handle_input_event and should_hide_mouse. When registering event callbacks in SDL, don't assume the SDL enum values are int-sized. - Dipswitch fixes in atlantis.cpp, dlair.cpp, liberate.cpp, mario.cpp, metlfrzr.cpp and poker72.cpp - Fixed rom names in 1943.cpp, aristmk5.cpp, aristmk6.cpp, esh.cpp, galivan.cpp, himesiki.cpp, majorpkr.cpp, n8080.cpp and naomi.cpp - Renamed (50lionr) to (50lionrr), (50lionsa) to (50lionsm), (5draga) to (5drag), (5dragons) to (5dragsp), (adonis6) to (adonisa6), (adonise) to (adonisu), (adonishl) to (adonisce), (aftrhrs) to (afterhrs), (alchemya) to (alchemy), (amzqnar) to (amzqueen), (amzteml) to (amztempl), (antcleo) to (antcleom), (arbngts) to (arabnga6u), (arbnigar) to (arabnga6), (badbog) to (baddog), (bigbenpj) to (bigben), (bigredjp) to (bigred2), (birredar) to (bigred), (bmbgs) to (bmbugs), (bobdolu1) to (bobdolly), (bootscot) to (bootsctn), (bootsctn) to (bootsctnu), (brazilar) to (brazil), (bucanar) to (bucaneer), (buffalar) to (buffalo), (buffaloa) to (buffalou), (bumblbug) to (bumblbugu), (bumbugs) to (bumblbug), (butdeli) to (buttdeli), (callwlar) to (callwld), (canary2) to (canaryrc), (cashchm) to (cashcham), (cashcroa) to (cashcra5), (chickena) to (chickna5u), (chkmatar) to (checkma5), (chkrun) to (chickna5), (choysun) to (csdm), (cmpacman) to (cmpacmana), (coralr2v) to (coralrc2), (crspru) to (cryspriu), (crystals) to (crysprim), (cshcat) to (cashcat), (cuckoo) to (cuckoou), (cuckooa) to (cuckoo), (dangar) to (dangara), (dangar2) to (dangarb), (dangarb) to (dangarbt), (davedrag) to (5dragce), (dblagus) to (dblagent), (deltqn) to (deltaqn), (dinoaris) to (dinosa6), (dltbel) to (deltabel), (dmddove) to (diamdove), (dmdtouch) to (dimtouch), (dmneye2) to (dimeye), (dmneyeus) to (dimeyece), (dolphtra) to (dolphntra), (dolphtre) to (dolphntru), (doubdolp) to (dbldolph), (drawpka) to (multidrw), (drfz6us) to (deepfrzu), (drgnlrd) to (drgnlord), (dstblom) to (dstbloom), (dyjack) to (dynajack), (eaglst2) to (estrike), (efcashex) to (efce), (eggsrich) to (eggsrccm), (eldora) to (eldorda5), (enchfore) to (eforsta5u), (enchfrst) to (eforsta5), (encspela) to (encspell), (ent6r) to (enchantr), (firedan) to (firednc), (flamolusa) to (flamolce), (flamoly2) to (flamoljc), (fortela) to (fortellr), (geishaar) to (geishaa6), (geishanz) to (geisha), (gldincas) to (goldincu), (gnomatw) to (gnomeatw), (goapear) to (goape), (goldarjp) to (goldarch), (goldphm) to (qnilemax), (goldprmd) to (goldpyr), (goldra) to (goldenra), (heartgar) to (heartgld), (highnoar) to (highnoon), (hlntry) to (hlntroy), (hlsunmon) to (sunmonbb), (houhear) to (househrt), (hrttrhb) to (swhr2), (incanz) to (incasunnz), (incsun) to (incasun), (indce) to (indremce), (inddrma) to (indream), (indgcm) to (indgldcm), (indiandr) to (indrema5), (indianmm) to (indremmm), (indll) to (indremll), (indsc) to (indrem2c), (indsrp) to (drmcatch), (jailbrar) to (jailbrk), (jewelunc) to (jewelcm), (koalmnt) to (koalama6), (kookabk) to (kookabuk), (loconz) to (locolootnz), (lonwolf) to (lonewolf), (luck88) to (lucky88), (luigball) to (luigibal), (lw3_207) to (lw3_207c), (magicmsk) to (magimask), (magicmska) to (magimaska), (margmgc) to (marmagic), (marmagic) to (marmagicu), (mgctouc) to (magtcha5), (mgforst) to (magforst), (mgmerm) to (magmerm), (monmous) to (monmouse), (moutmon) to (mountmon), (mtreenz) to (montree), (mysteyec) to (mysteycmu), (mystgrd) to (mystgard), (oscarar) to (oscara5), (pariligh) to (parislgt), (parilius) to (parislgtu), (pcfava) to (pcfavor), (pcnewz) to (pcgold), (pelpetus) to (pelipeteu), (pengpays) to (pengpayu), (penpay20) to (pengpaya), (penpaya) to (pengpayb), (penpayus) to (pengpyce), (petshopa) to (petshop), (pharpor) to (pharfor), (piratar) to (pirata6), (pompeiar) to (pompeia6), (pompus2) to (pompeia6u), (prophar) to (prophecy), (prtygras) to (partygrsa), (przfigha) to (przfight), (pwsp1) to (pwsuper), (qncsh) to (qcash), (qnile) to (qnilea6), (qnilecj) to (qnilejc), (qonilea) to (qnile), (qonileb) to (qnilea), (qotn) to (qnileb), (qotna) to (qnileu), (rdtripus) to (roadtrip), (redbarar) to (redbara6), (retsam20) to (retrsama), (retsam5) to (retrsamb), (rpatrol) to (rpatrola), (rubmgc) to (rubymag), (rumbrel) to (rumbreel), (rwarhl) to (rainwrce), (sbucks3) to (sbuk3), (scatmg2) to (scatmag2), (shamnmg) to (shamnmgu), (sharmnm) to (shamnmg), (sidebs2) to (sidebs2u), (sidebsja) to (sidebsjb), (silgolar) to (silgola6), (silkrdus) to (silkrda6), (skydncra) to (skydnca6), (smtmar) to (smtma6), (ssf2tbj) to (ssf2tbj1), (stardrfu) to (stardrftu), (sunmon2) to (sunmoon), (supbuk2) to (sbuk2), (swheart2) to (swhr2u), (swhr2us) to (swhr2a6), (swthrt2v) to (swhr2v), (thaiprar) to (thaiprnc), (thaiprin) to (thaiprncm), (thgamblr) to (gambler), (tigresar) to (tigress), (tiktoru) to (tiktorch), (timwolfu) to (timbwolf), (topshtar) to (topshta6), (torpdice) to (toprdice), (tretrva) to (trstrove), (triptrea) to (tritreat), (trjhrs) to (trojhors), (trkinus) to (trsking), (turtrea) to (turtreas), (venicus) to (venice), (wheregld) to (wheregldm), (whlcshus) to (whalecshu), (whlcshusa) to (whalecshua), (whtwtr) to (whtwater), (wildways) to (wwaysm), (wingolus) to (wingoly), (witgold) to (wheregld), (witgoldd) to (wheregldsp), (wldafus) to (wldafr), (wldamz1) to (wamazon), (wldamz3) to (wamazona), (wldcatsa) to (wldcata6), (wldcoug) to (wcougar), (wldcougr) to (wcougaru), (wldpan2) to (wldpanda), (wldpntus) to (wldpanth), (wldstal2) to (wldstall), (wldthg) to (wthing), (wwaysar) to (wways), (wwaysll) to (wzwaysll), (zorrojp) to (zorroa6) and (zorrous) to (zorroa6u) - Description changes of Adonis - Cash Express (0201005V, NSW/ACT), Adonis - Cash Express (0201005V, NSW/ACT), Adonis (BHG1508, US), All the King's Gold (0152152, US), Bad Dog Poker (0200428V, NSW/ACT), Bad Dog Poker (0200428V, NSW/ACT), Black Panther (0200818V, Victoria), Boot Scootin' (0100812V, NSW/ACT), Boot Scootin' (0100812V, NSW/ACT), Boot Scootin' (GHG1012-02, US), Buena Suerte (Spanish, set 15, Protel PCB), Buffalo (0252636, US), Bumble Bugs (0200510V, NSW/ACT), Bumble Bugs (0200510V, NSW/ACT), Bumble Bugs (CHG0479-03, US), Butterfly Delight (0200143V, NSW/ACT), Butterfly Delight (0200143V, NSW/ACT), Cash Cat (0300863V, New Zealand), Cash Cat (0300863V, New Zealand), Cash Chameleon (0100438V, NSW/ACT), Cash Chameleon (0100438V, NSW/ACT), Cash Chameleon (DHG4078-99, US), Cash Crop (0300467V, NSW/ACT), Cash Crop (0300467V, NSW/ACT), Chance in Hell - Li'l Lucy (0251125, US), Checkmate (01J00681, NSW/ACT), Checkmate (01J00681, NSW/ACT), Chicken (0100351V, NSW/ACT), Chicken (0100351V, NSW/ACT), Chicken (RHG0730-03, US), Chihiro Firmware Update For Compact Flash Box (4.01) (GDX-0024A), Coral Riches II (0100919V, NSW/ACT), Coral Riches II (0100919V, NSW/ACT), Cuckoo (0200753V, NSW/ACT), Cuckoo (0200753V, NSW/ACT), Cuckoo (CHG1195, US), Dengen Tenshi Taisen Janshi Shangri-la (Build 0728), Desert Bloom (0200111V, NSW/ACT), Desert Bloom (0200111V, NSW/ACT), Diamond Dove (0101018V, NSW/ACT), Diamond Dove (0101018V, NSW/ACT), Diamond Touch (0400433V, NSW/ACT), Dolphin Treasure (0100388V, NSW/ACT), Dolphin Treasure (0100388V, NSW/ACT), Dolphin Treasure (FHG4077-02, US), Dynamite Jack (01J00081, NSW/ACT), Dynamite Jack (01J00081, NSW/ACT), El Dorado (0100652V, NSW/ACT), El Dorado (0100652V, NSW/ACT), Enchanted Forest (0400122V, NSW/ACT), Enchanted Forest (JHG0415-03, US), Fantasy (Germany), Flaming 7 (W4 Hardware, Red, White & Blue 7's + Hollywood Nights), Fortune Teller (01J00131, NSW/ACT), Fortune Teller (01J00131, NSW/ACT), Genie Magic (0200894V, NSW/ACT), Gnome Around The World (0100767V, NSW/ACT), Golden Pyramids (AHG1205-03, US), Golden Pyramids (AHG1206-99, US), Golden Ra (0101164V, NSW/ACT), Golden Ra (0101164V, NSW/ACT), Hole Land (Japan), Hole Land (Spain), Inca Sun (0100872V, NSW/ACT), Inca Sun (0100872V, NSW/ACT), Inca Sun (0101108V, New Zealand), Inca Sun (0101108V, New Zealand), Indian Dreaming (0100845V, NSW/ACT), Karate Blazers (bootleg with Street Smart sound hardware), King Galah (0200536V, NSW/ACT), Koala Mint (CHG1573, US), Kooka Bucks (0100677V, NSW/ACT), Kooka Bucks (0100677V, NSW/ACT), Loco Loot (0100472V, NSW/ACT), Loco Loot (0100472V, NSW/ACT), Loco Loot (0600725V, New Zealand), Loco Loot (0600725V, New Zealand), Lone Wolf (0100587V, NSW/ACT), Lone Wolf (0100587V, NSW/ACT), Lucky Poker (bootleg/hack of Major Poker), Magic Forest (0151139, US), Magic Garden (AHG1211-99, US), Magic Mask (AHG1548, US), Magic Mask (DHG1309, US), Magic Touch (0200455V, NSW/ACT), Magic Touch (0200455V, NSW/ACT), Margarita Magic (EHG1559, US), Marvel Vs. Capcom 2 New Age of Heroes (Export, Korea) (Rev A), Metal Freezer (Japan), Mine, Mine, Mine (VHG0416-99, US), Money Mouse (0400469V, NSW/ACT), Money Tree (0201397V, New Zealand), Money Tree (0201397V, New Zealand), Mountain Money (0100294V, NSW/ACT), Mountain Money (0100294V, NSW/ACT), Multidraw - Free Games (0200956V, NSW/ACT), Multidraw - Free Games (0200956V, NSW/ACT), Mystic Garden (0100275V, NSW/ACT), Mystic Garden (0100275V, NSW/ACT), Naomi DIMM Firmware Update for CF-BOX (4.01) (GDS-0042A), Naomi DIMM Firmware Updater (2.13) (GDS-0023A), Naomi DIMM Firmware Updater (2.17) (GDS-0023C), Naomi DIMM Firmware Updater (3.17) (GDS-0023E), Orchid Mist (0200849V, NSW/ACT), Oscar (0200348V, NSW/ACT), Oscar (0200348V, NSW/ACT), Panther Magic (0101046V, NSW/ACT), Party Gras (AHG1567, US), Party Gras (BHG1284, US), Peacock Flutter (02J00011, NSW/ACT), Penguin Pays (0200357V, NSW/ACT), Penguin Pays (0200357V, NSW/ACT), Penguin Pays (0200359V, NSW/ACT), Penguin Pays (0200359V, NSW/ACT), Penguin Pays (0200460V, NSW/ACT), Penguin Pays (0200460V, NSW/ACT), Penguin Pays (BHI0417-03, US), Pet Shop (0100679V, NSW/ACT), Prize Fight (0100299V, NSW/ACT), Prize Fight (0100299V, NSW/ACT), Queen of the Nile - Maximillions (0401072V, NSW/ACT), Queen of the Nile - Maximillions (0401072V, NSW/ACT), Queen of the Nile (0100439V, NSW/ACT), Queen of the Nile (0100439V, NSW/ACT), Queen of the Nile (0300440V, NSW/ACT), Queen of the Nile (0300440V, NSW/ACT), Queen of the Nile (GHG4091-02, US), Queens of Cash (0100706V, NSW/ACT), Queens of Cash (0100706V, NSW/ACT), Rainbow Warriors - Cash Express (0101332V, NSW/ACT), Rainbow Warriors - Cash Express (0101332V, NSW/ACT), Reelin-n-Rockin (0100779V, NSW/ACT), Return of the Samurai (0200506V, NSW/ACT), Return of the Samurai (0200506V, NSW/ACT), Return of the Samurai (0200549V, NSW/ACT), Return of the Samurai (0200549V, NSW/ACT), Return of the Samurai (0400549V, NSW/ACT), Return of the Samurai (0400549V, NSW/ACT), River Patrol (bootleg set 1), River Patrol (bootleg set 2), Space Invaders (CV Version, larger roms), Sumo Spins (0200606V, NSW/ACT), Super Bucks II (0400501V, NSW/ACT), Super Bucks II (0400501V, NSW/ACT), Super Bucks III (0200711V, NSW/ACT), Super Bucks III (0200711V, NSW/ACT), Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 2), Sweethearts II (0200004V, NSW/ACT), Sweethearts II (0200004V, NSW/ACT), Sweethearts II (PHG0742-02, US), The Chariot Challenge (0100787V, NSW/ACT), The Gambler (EHG0916-02, US), Top Banana (0100550V, NSW/ACT), Treasure Trove (01J00161, NSW/ACT), Treasure Trove (01J00161, NSW/ACT), Triforce DIMM Updater (3.17) (GDT-0011), Triforce Firmware Update For Compact Flash Box (4.01) (GDT-0022A), Triple Treat (0201692V, NSW/ACT), Triple Treat (0201692V, NSW/ACT), Trojan Horse (01J00851, NSW/ACT), Trojan Horse (01J00851, NSW/ACT), Tropical Delight (PHG0625-02, US), Unicorn Dreaming (0100791V, NSW/ACT), Wicked Winnings II - Power Pay (10214011, NSW/ACT), Wild Amazon (0200285V, NSW/ACT), Wild Amazon (0200285V, NSW/ACT), Wild Amazon (0200507V, NSW/ACT), Wild Amazon (0200507V, NSW/ACT), Wild Bill (0100297V, NSW/ACT), Wild Cougar (0100167V, NSW/ACT), Wild Cougar (0100167V, NSW/ACT), Wild Cougar (NHG0296-04, US), Wild Thing (0101158V, NSW/ACT), Wild Thing (0101158V, NSW/ACT) and Wings Over Olympus (0252529, US) - MAME . VIDEO RENDERING SYSTEM . HLSL . Added simple procedural texture for vectors with rounded line ends and beam smoothness . Added optional -vector_beam_smooth option . Removed -antialias option, antialiasing is now always applied, except for plain D3D. . Fixed scanlines if the screen output is less than twice the size of the host source. . Small shader corrections . BGFX . Fixed debug crash with BGFX screen chains (chains\hlsl.json, render\bgfx\chain.cpp) (ID 06195) . Fixed crash when using pillarbox shaders. Fixed potential crash when using pillarbox default.lay but not specifying 3 shader chains. . Vector line width is now applied by BGFX . Rearrange shaderc arguments (bgfx\shaders\ . Fixed -resolution and -switchres (modules\osdwindow.h, sdl\window.cpp and osd\windows\window.cpp). This fixed MAME can't set window size anymore (eg. -window -resolution 640x480) (ID 06196) . Fixed offset of vector lines and clipping rectangle when vector primitives are prepared to be rendered into a texture (HLSL) instead of directly on the screen (GDI, D3D) (emu\render.cpp) (ID 06222). . Removed dead D3D code: Removed not functional vector texture code. Removed unused D3DTOP_MODULATE2X/4X code. Removed unused antialiasing code for UI lines. Removed usage of vector_time_period which does not exist anymore. . Cleanup vector batch in D3D . Introduced dynamic_module (lib\osdlib.h). This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it. Removed Direct3D abstraction layer (d3d\d3d9intf.cpp and d3dintf.h). The calling convention goes inside the brackets of pointers to functions. Allows compiling with MSVC. . Improved doxygen-style comments for some defs in emu\screen.h, thumbs down for the class. . Fixed crash of D3D when sliders menu is openend and resizing the window or switching between window and full screen mode . UI . Moved menu classes into ::ui namesapce . Reduced scope of many symbols . Make ARRAY_LENGTH cause a compile error if used with a pointer/vector . Clean up text input code, move common operations to inline templates . Fixed numerous one-byte buffer overruns . Don't flat-out ignore input beyond the C1 hole . Fixed decoding of SDL text input . More slider cleanup . Changed the backing representation of OPTION_UI from being a string to an enum . Changed UI handlers to be stored as std::function(); implemented old set_handler() on top of this. . Added template implementations of mame_ui_manager::set_handler(), and changed call sites. . Fixed loading info for several software lists (ui\datfile.cpp) . Fixed issue with volume slider likely introduced with ui handler lambda changes . Changed to C++ comments (ui\sliders.cpp) . Fixed not load for some INI files in the category filter. Removed use of strcmp for menu separators. Modernized and cleaned up some part of code. . A little change to device_image_interface::call_display to better decouple UI fronted and image devices . Fixed crash in attempt to use "Configure Machine" from favorites filter . Boot time reduced by ~15% . Make filesel current path clickable . Fixed crash with icons in main list . Miscellaneous text fixes and cleanups. Changed mame_ui_manager::draw_text_box() to use ui::text_layout directly. Fixed incorrect icons refresh. Prevent NaN errors by initializing variable in ui::text_layout. . Using rgb_t::transparent constant (ui\text.h). Fixed a bug in text layout that could cause text_layout::actual_width() to return something higher than what it really was. . Changing maximum width specified in mame_ui_manager::draw_text_box() to allow for the border (ui\ui.cpp) . Added "return to origin point (0,0)" feature to Tilemap Viewer (tied with HOME key) . Fixed a problem with game list when using MS Sans Serif font . PLUGINS . Make pluginspath apply in plugins\boot.lua. This fixed pluginspath option not fully recognized (ID 06221). . hiscore.dat: Fixed segaxbd.cpp games and improved error. Fixed remaining hiscore parse error. Fixed renamed/duplicated sets. Removed remaining invalid sets. Sort by source file in an effort to make it somewhat maintainable, mark entries not in mame.lst, and add script to do the sorting and comparing. . Cheat: Search share regions (plugins\cheatfind\init.lua). Don't turn off cheat.script unless on. . MULTI-LANGUAGE . Updated French/Belgian language files . Small update of Italian traslation . MEMORY SYSTEM . Added AM_SELECT/addrselect field. Replaces the old AM_MIRROR/AM_MASK combo used to mirror a handler and get the mirrored bits in the offset. . Removed mask and/or mirror from where it didn't belong. Simplified a lot of instances of mask that just weren't needed, especially in bus handlers. Used the short forms of install handlers where possible. . Replaced the range parameter handling in map_range that tried to guess what was meant when the values passed were not entirely sensible, by a cranky, diner waitress-turned IRS auditor curmudgeon. Main control function has a series of 14 tests just to find a reason to fatalerror out your requests. Some drivers, hopefully not many, will fail the gate-guarding bureaucrat trials. Should be easy to fix actually, I worked on the error messages. A full regression test would be welcome. . Handlers on different subunits of the same address with different address masks are now supported (emu\emumem.cpp) . Added tagged_list to unordered_map in emumem. Removed simple_list from emumem. . Use unshifted addrmask (not bytemask) in check_optimize_foo (emu\emumem.cpp) . Fixed some issues in emumem. Note: It's actually a very old bug that was uncovered. Direct access update mistaked the per-handler mask and the global mask. As it happened the per-handler mask was often the global mask, but I made the frontend *way* more agressive w.r.t masks now. So the bug became way more visible. . CHEAT ENGINE . Using std::vector> instead of simple_list in Cheat engine (mame\cheat.cpp) . Fixed most sets in neodriv.hxx crashes if cheats are enabled (ID 06241) . Fixed Mortal Kombat and Mortal Kombat II doesn't start if cheats are enabled (ID 06225) . STATE SAVING . Load save state preparations . A number of changes and refactorings in preparation for a new load/save state menu. Most notably, I am C++-ifying osd_directory (now osd::directory) and changing osd_stat() to return std::unique_ptrosd::directory::entry. . Take note that this change completely omits POSIX support, simply because I lack a development environment to support it. This will have to be done by someone else. . SOFTWARE LIST . No need for custom allocators (emu\hashfile.cpp and softlist.cpp) . Added PugiXML and used it for hashfile (3rdparty\pugixml\... and emu\hashfile.cpp) . Fixed a mismatched new[]/delete error in util\corealloc.h . Added template/macro for delaring array with equivalent dimensions (osd\osdcomm.h) . Ensure XAudio2 doesn't crash when no sound card present (sound\xaudio2_sound.cpp). Added XAudio2 init time logging. . Fixed network output to include all data (output\network.cpp) . Placed back old output system as module "-output windows" need more things cleaned (modules\output\win32_output.cpp/h and windows\ledutil.cpp) . Fixed handling VIDEO_NONE on windows . Added ROMX_FILL, passing a ROM_SKIP(param_value) will fill and skip just like a ROM_LOAD16_BYTE macro (emu\romload.cpp). . Fixed debugging code in font_dwrite.cpp . Added WINAPI to other needed functions for stdcall calling convention on 32-bit (font\font_dwrite.cpp, input\input_xinput.h, d3d\d3dhlsl.h, drawd3d.cpp and sound\xaudio2_sound.cpp) . Fixed regression in astrocde.cpp (gorf), atari_s1.cpp, galaxian.cpp (amidar and turtles), mcr.cpp, mcr3.cpp, pacman.cpp (8bpm, drivfrcp and porky) and system1.cpp . Validity checking for AM_MASK/AM_MIRROR/AM_SELECT in 8080bw.cpp, unkhorse.cpp and many others . Supply modified time for files in archives (lib\util\un7z.cpp). Introduced util\timeconv.cpp, moved code from un7z.cpp into it, and implemented win_time_point_from_filetime() in terms of it. - SDLMAME . Disable pthreads under Emscripten for now, they aren't actually available unless you compile with experimental settings (osd\osdsync.cpp). . Fixed video mode opengl duplicated in SDL build (modules\lib\osdobj_common.cpp, sdl\sdlmain.cpp and windows\winmain.cpp) . Fixed SDL version of (MESS) ZEXALL . POSIX implementation for new directory read features, cleanup of Windows implementation, return directory handle as smart pointer, fix full build. - Android . Fixed build (_ prefixed names; netlist\nl_setup.h) . Allow full build on Android . Renamed si_status to si_status_val in n64 as si_status is a preprocessor macro on Android . Renamed PAGE_MASK to page_mask in samcoupe to avoid clash with macro (it's a local anyway) . Abuse namespaces to get around the conflict between our x86emit::REG_Rn and Android's ::REG_Rn in DRC . Changed array assignment to double brackets for C++11 and Android compatibility (machine\iteagle_fpga.cpp) . Fixed Android target libSDL2 circular ref. Also rename ANDROID_NDK_ROOT -> ANDROID_NDK_LLVM to point directly to prebuilt host compiler (removes windows only restriction). . 64bit strip, platform version support. Cleanup make targets and configuration rules. Fixed android_ndk_root env test. - MAC OS X: Fixed mouse behavior on OSX - MESS . Floppy . Added logging to formats\fsd_dsk.cpp . Suppress index pulse irq when busy (machine\wd_fdc.cpp). Did bunch of testing, found no regressions but nothing that even enables the index pulse irq other than the (MESS) Rainbow. . Terminal: Fixed color configuration (machine\terminal.cpp) . WD7600 PC chipset: Fixed memory fatalerrors (machine\wd7600.cpp). Restore keyboard/portb subunits handlers. Fixes POST errors - Compiling . 3rdparty . Updated BGFX, BX and GENie . Removed not used libraries (http-parser and lsqlite3) and commented portaudio that will be used but no need for now. . LUA engine: Share accessors . Added PugiXML and used it for hashfile . travis.yml: Moved to QT5. Updated for OSX. . drone.yml . Created .drone.yml (Build configure for (fork of Drone CI with Msys2 support)) . Added file for Windows/Docker CI for MSYS2/MingW64 . Updated settings. 32-bit due to Cygwin 64-bit bug that bites occasionally. Added -validate with output on success. For the secrets, need to update the YAML to enable, the generate the secrets file, containing the hash of this YAML file once tea-ci is updated to support this. . Added irc bot notification for tea-ci. Encrypted file contains secrets generated from interface. . Fixed channel for irc notifications - no # + example for pacman, should we never need to bring in non-default deps. . Emscripten tweaks (src\main.lua; configuration=asmjs) . Support msbuild from POSIX shell . Preliminary fastbuild support (experimental in GENie) . Added initial ninja support to use add MAKETYPE=ninja to compile command line. Custom build tasks are not yet working. . Fixed GIT version: GIT version is set by top-level make, not just when GENie runs. Can set IGNORE_GIT=1 for make to ignore GIT. GIT ignored/unavailable uses "unknown" in version string. Mark modified trees as dirty. Note that version now comes from makefile. . Move window_list to osd_common_t . Fixed double hyphen in -pipe (scripts\genie.lua) . Fixed GCC 6.1.1 warnings . Changed simple_list to std::vector (emu\disound.cpp, screen.cpp and sound.cpp) . osd_printf_verbose . Changed error printing to verbose on probe() and error on init() (input\input_winhybrid.cpp and input_xinput.cpp) . Changed two dynamic bind messages to verbose (netdev\pcap.cpp and d3d\d3dhlsl.cpp) . Use osd_printf_verbose instead of popmessage (sound\ay8910.cpp) . m_formatlist is now vector (imagedev\chd_cd.cpp, flopdrv.cpp, floppy.cpp, harddriv.cpp, emu\diimage.cpp) . Improved workaround for missing cbegin/cend in glibstdc++ (util\strformat.h and vecstream.h) - Debugger . Debugger may crash when validating expression with non-existent memory space name (debug\debugcpu.cpp) (ID 6225) (ID 6226) (ID 6227) . ImGui based debugger . Removed scrollbar from memory windows, and let the view itself control what is displays. Use cursors/pageup/pagedown to control the memory window when the view cursor is visible. . Pressing Enter on an empty console input box does a single step . Added auto select-all flag to disassembly and memory expression inputs . Actually map cursor keys so that they can be used in input text widgets . Use ImGui functions to handle view inputs, allows key repeating to work in the debugger views. . Fixed exception when un-collapsing a single window . Adjust key repeat rate a bit . Made debugger keys also use ImGui keypress functions . Make new window shortcut keypresses not repeat . Send character inputs to the debugger view with focus, allows editing in memory views. . Draw a light rectangle around a view if it has focus, gives a visual cue as which view accepts input. . Use IM_COL32 macro . If console window is active, then give console input widget focus. Note that this means that the disassmbly view in the console cannot get focus at all (but separate disasm windows still can). . Added history functionality to debugger console, fixed issue with main views being re-allocated when no extra windows have been created. . When using history, set the cursor position to the end of the text. Don't add command to history if it's the same as the previous one. . Allow debugger console and log window scrollbars to stay at their maximum value if already there . Added 'comlist comment' and 'commit command' to debugger . Major refactoring of debugger core: Eliminate globals/file statics. Removed lots of stuff from global scope. Use std::function for custom command registration. Eliminate some trampolines. Fixed -nodebug crash (emu\video.cpp). . Fixed keyboard shortcus for disassembly comments pane. Win32 previously recognised Ctrl+N but menu incorrectly showed Ctrl+M. Qt showed Ctrl+C but it was swallowed by text editing and didn't work. Ctrl+N is now shown/used by Win32 and Qt (matches Cmd-N on OS X). . Added tagged_list to unordered_map for debugger . Removed all usages of tagmap (scripts\src\lib.lua, machine\netlist.h, emu\dislot.cpp, emucore.h, ioport.cpp, machine.cpp, frontend\mame\clifront.cpp, util\tagmap.h, tools\chdman.cpp and unidasm.cpp) . Suppress 'no matching space' debugger error when disassembling CPUs without decrypted opcodes (debug\debugcmd.cpp) . Eliminate some unnecessary pass-through methods from debugcpu 0.174 - New games: Crossed Swords 2 (bootleg of CD version), Idol Mahjong Final Romance 2 (Neo-Geo, bootleg of CD version), Iowa Premium Player (2131-21, U5-1) and Metal Freezer - New Working games: Gigas (MC-8123, 317-5002) - New Non-Working games: Flaming 7 (Red, White & Blue 7's + Hollywood Nights) and Master's Golf - New clones: Champion League (v220I, dual program, set 1), Champion League (v220I, dual program, set 2), Extermination (US, Romstar), Hole Land (set 2), House of the Dead 4 (Export) (Rev B), Hyper Street Fighter II: The Anniversary Edition (Japan 040202), The J.League 1994 (Japan, Rev A), Mercenario (Commando bootleg), New Lucky 8 Lines / New Super 8 Lines (W-4, Lucky97 HW), New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus), Pit Fighter (rev 2), Rage of the Dragons (NGH-2640?), Road Burners (ver 1.04), Shogun Warriors (Korea?), Street Fight (Germany - Benelux), Triki Triki (Lover Boy bootleg) and X-Men Vs. Street Fighter (Japan 961023) - Removed games: Golden Gong2, Pelican Pete 2 and Star Drifter 2 - New drivers: metlfrzr.cpp and neopcb.cpp - New devices: cthd_prot, generic_latch_16, generic_latch_8, h8_watchdog, kof2k3bl_prot, neocart_fatfury2, neocart_jockeygp, neocart_kof98, neocart_mslugx, neocart_vliner, periph and watchdog - New mame.ini options: Set vector_length_ratio to 0.5 - Dynamic Re-Compiling . Some micro-optimizations and special case for 'and' and 'add' (cpu\drcbex64.cpp) . Added TZCNT instruction (Trailing Zero Count) (cpu\drcbec.cpp) . Added emitters for movdqa/movdqu to cpu\x86emit.h - H8 CPUs: Added DTC, DMA and watchdog. Lot of fixes. - MIPS CPUs: Fixed Golden Tee Fore (mips\mips3drc.cpp) - PowerPC 4xx/6xx CPUs: Fixed PPC targets (video\rgbvmx.h) - V60 CPU: Reverted Clang compile warning fix (MAME 0.169) that broke conditional compile, added var to save_item to prevent that warning. - Sound Interface: Updated drivers to use the new gen_latch.cpp, which should substitute the soundlatch_* methods in driver_device (audio\cage.cpp, drivers/1943.cpp, champbas.cpp, equites.cpp, firefox.cpp, meijinsn.cpp, powerins.cpp and sfkick.cpp) - CHDMAN: Fixed for code that expects to be able to dereference a pointer that it knows may be null - DECO Custom . Fixed flipscreen in Double Wings and Multi Champ (video\decospr.cpp) . Temp fix to regain speed in Edward Randy and clones (and quite possibly more) by commenting select logerrors that are spammed unmerciful causing extreme performance degradation (machine\deco146.cpp). . Runtime tag lookup reduction (includes\deco_mlc.h and video\deco_mlc.cpp) - Discrete Netlist . Converted most subdevices to unique_ptr. This is a temporary measure until the device initialisation is moved into the constructor. Started converting constructors of devices to be passed name and netlist. . Implemented 7402, 7404, 7408, 7410, 7411, 7420, 7425, 7427, 7430, 7432, 7437 and 7486 as macro device . Removed nld_signal.h since netlist devices no longer use it . Some minor changes towards C++11 . Simplify object model by removing default_logic_family() . Added Mario Bros. to MAMENL target (mame\nl.lst) . Renamed connect_direct to connect_post_start to reflect usage . Align object registration syntax. A step towards late creation of devices. . Code simplification. Don't include netlist name in device names (netlist\nl_setup.cpp). . Devices are now created after the netlist was parsed. This enables us going forward to move everything in start() into the constructor and get a much cleaner object model. . Some use of share_ptr to ease memory management . More automatic memory handling . Continuing work to move object initialization from start to constructor. Removed family_t. All of this can be determined at runtime from object as well. As part of this, the "template" to write devices has changed. Converted a number of devices to use the new template. . Improved memory handling in factories. More memory timebombs removed. . All netlist devices now follow new syntax. Removed dead code. All sub devices are now forced to be initialized in the constructor. Device setup now completely in constructor. Removed start call. - HD63484 video: Converted Real Puncher (taito_b.cpp) to use the modern HD63484 device - MC146818 RTC: Fixed irqs - PowerVR2 video: UV clamp/flip (naomi.cpp and segasp.cpp) - TMS9927 video: Added scrolling to (MESS) ITT3030 - Voodoo GFX . Prep work for GPU acceleration . Seattle PCI: Added default PCI BAR locations (video\voodoo_pci.cpp). Added DMA control and proper PCI address mapping to machine\gt64xxx.cpp. New generic PCI IDE controller (machine\pci-ide.cpp). . Stopped blocking of non-fifo'd register writes (video\voodoo.cpp). Added PCI stall functions (machine\gt64xxx.cpp). Fixed IDE PCI address map range for BAR config. . Fixed up PCI VGA legacy register mapping - aristmk6.cpp: Added proper descriptions to most sets and removed duplicated sets Golden Gong2, Pelican Pete 2 and Star Drifter 2 - astrafr.cpp: Fixed crash/exception at initialization in most sets (ID 06206) - atlantis.cpp and iteagle.cpp . Fixed Golden Tee Fore and Skins Game (1.06) (mips\mips3drc.cpp). This fixed palette changes when using machines with MIPS DRC in most ITEagle sets (ID 06190). . NEC VRC4373: Moved DMA transfer to separate timed process. Changed NEC VRC4373 to using attotime::never for timer disabling. Added correct PCI config map. . Switched ITEagle to using generic IDE PCI device . Cleaned up EEPROM initialization and RTC names (machine\iteagle_fpga.cpp) - bankp.cpp . Improved flip screen support (see MT04899) . Updated some inputs/dips according to the manual/schmatics. - chihiro.cpp . 3D accelerator update, better support for antialiasing/supersampling . Number of vertex parameters is 13 not 12 (video\chihiro.cpp) . Define USB_HACK_ENABLED works again, OutRun 2 boots now (machine\xbox.cpp) . Since clipping is not present yet, if a trangle has at least a vertex where the w component is <= 0, don't draw it, this makes OutRun 2 more watchable. . Fixed compilation when LOG_NV2A is defined - deco_mlc.cpp: Runtime tag lookup reduction (includes\deco_mlc.h and video\deco_mlc.cpp) - decocass.cpp: Fixed positioning of object sprite. This stops the headlight in Highway Chase from bouncing all over the screen and makes the shadow stick to Skater's toe. Reference videos show that color is still 100% wrong. - goldstar.cpp: Driver init cleanups. Added Flaming 7 notes and gamelist. - legionna.cpp and raiden2.cpp . Input documentation and COP tweaks based on M68000 and V30 code . grainbow: Correct score and credits display . heatbrl: Suppress "divide by zero?" message since code actually checks for it (no, still not working) . legionna: 2P inputs now designated as such . zeroteam: Hook up COP PRNG (definitely used in this game) - m72.cpp: Hardware isn't a stereo boardset - macs.cpp: Fixed DMA transfers in kisekaem, kisekaeh and cultname. - megatech.cpp: Updated driver to use fixed slot config - model1.cpp: Some modernization and cleanup. Stat making video\model1.cpp use glm as necessary. - model3.cpp: Updated documentation based on the Real3D SDK (thanks Bart) - naomi.cpp . Redumped Atomiswave BIOS, confirmed good and added information. . Clarified pinout of AW BIOS. NAOMI2 jumpers docs. . Dumped 'Initial D Arcade Stage' card reader-printer firmware . UV clamp/flip (video\powervr2.cpp) . Fixed crash in KOF XI, now boots to title. - neodriv.hxx . Huge clean up of the cartslot code in order to better exploit slot devices . Moved cart-specific components to the carts itself removing the fake protection devices from the main system, since they never belonged there. . Removed hacky rom region destruction/construction when a new cart is inserted, replacing it with proper bank pointers to the carts (except for ymsnd and ymsnd.deltat region which will require modernization of the ym devices). . Started re-organization of bootleg boards emulation, so to reduce the need of collapsing everything into a single cart type with multiple protection devices, more work is needed. . Added information about Japanese titles and release dates to the software list and aligned the list to the driver. . Some cleanups and gaining back some performance in most carts. Optimized sprites data now lives only in the sprite device. Got rid of neogeo_helper as a result. . Made the transition between different carts in the multislot driver smooth again. When launching game-specific drivers, sprites are in any case optimized only once before emulation starts, so that yesterday changes made no difference, but we care about 6-slot NeoGeo too. . Sync neogeo list to driver and clarified the bootleg nature of final - neopcb.cpp: Moved to a separate source file the emulation for JAMMA PCB versions of a few Neo-Geo games, since they don't have a cartslot. - nss.cpp, sfcbox.cpp and snesb.cpp: Moved around STAT78 PAL variable (video\snes_ppu.cpp and machine\snes.cpp) - psikyosh.cpp: PsikyoSH uses bitmap_rgb32, but should really use argb32, but that requires overloading lots of drawgfx for this one driver. Removed assert was wrong and unavoidable. Fixed boundary condition tripping in Daraku Tenshi (ID 03753). - segasp.cpp: UV clamp/flip (video\powervr2.cpp) - suprnova.cpp: Added the Korean modbios - tourvis.cpp . Updated game list. Added some extra notes & known game IDs. Corrected SW1 dip 8. Corrected 1P button order. . Added Cyber Core, Down Load and Vigilante to the Tourvision games list - Double Wings: Fixed flipscreen offset with split sprites (ID 04912) - The End: Made clone 'Take Off (bootleg of The End)' boot. Sound system needs work (only 1 AY8912). - Gigas: Dumped missing program rom (Game now playable) - Hole Land: Hooked up the SP0256 speech in Hole Land. Enabled SP0256 to resolve missing speech, verified and measures all the clocks and updated comments at the top re: remaining priority issue (ID 06218). - Jail Break: Hooked up coin counters and fixed flipscreen offset (ID 04935) - Lupin III: Fixed multiple regressions in clone (set 2) - Multi Champ: Fixed flipscreen (ID 04920) - The Ninja Warriors: Fixed credit count is wrong on coin slot 2 in clone (US) (ID 06169) - Real Puncher: Converted game to use the modern HD63484 device - Shackled: Fixed MAME crashes when you enter a secret door in area 12 of Shackled and clone Breywood (see MT#06208) - Sonik Fighter: Decrypted the program and proper inputs. Added technical notes. Flagged as MACHINE_IMPERFECT_COLORS, due to can't find a proper way to setup the palette. Even when the attract is working properly, the game accepts coins, has sound and all inputs are mapped... the game is still not working. Seems that is expecting something to start a game. - Space Encounters: Improved trench colors and simulate screen flash effect - Stadium Hero '96: Fixed regression (machine\deco146.cpp) - Vector games: Moved clipping to video\avgdvg.cpp, the only user. Simplify video\vector.cpp and avgdvg.cpp. This fixed missing left graphics line from the boarder in Eliminator and Zektor (ID 01617). - Vicious Circle: Fixed regression (not booting) - Wangan Midnight Maximum Tune: Dumped card reader-printer firmware - Input port . Completely move mouse hit testing down into the UI input module. This reduces some dependencies. . Never return a null pointer from ioport_field::name() to prevent potential crashes. All anonymous inputs are classified as INPUT_CLASS_INTERNAL, so several frontend functions now check type_class instead. Correct a couple of typos. . Correct joystick polling methods in DirectInput8 to better support older joysticks which previously only worked with DirectInput7. This fixed joysticks using PPJOY driver do not work anymore (ID 05932). - Dipswitch fixes in legionna.cpp, ninjaw.cpp, skylncr.cpp and tourvis.cpp - Fixed rom names in 1942.cpp, freekick.cpp, holeland.cpp, neodriv.hxx and stfight.cpp - Renamed (hotd4) to (hotd4a), (hsf2j) to (hsf2j1), (jleague) to (jleagueo), (mosyougi) to (moshougi), (theendb) to (takeoff), (xmvsfjr2) to (xmvsfjr3), (xmvsfjr1) to (xmvsfjr2) and (xmvsfj) to (xmvsfjr1) - Description changes of 100 Lions (10219211, NSW/ACT), 3 Count Bout / Fire Suplex (NGM-043 ~ NGH-043), 5 Dragons - Cash Express (0152309, US), 5 Dragons (20161011, NSW/ACT), 5 Dragons (20161011, NSW/ACT, Show Program), 5 Koi - Power Pay (10250711, NSW/ACT), 50 Lions - Roaring Riches (20301311, NSW/ACT), Adonis (0151178, US), African Dusk - Mr. Cashman (20006711, NSW/ACT), After Hours (0251071, US), Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008 ~ ADH-008), Alchemy (1J009611, NSW/ACT), All The King's Gold (0152152, US), Alpha Mission II / ASO II - Last Guardian (NGM-007 ~ NGH-007), Amazon Queen (10005511, NSW/ACT), Amazon Temple (10299811, NSW/ACT), Andro Dunos (NGM-049 ~ NGH-049), Apollo Coffee (0151105, US), Arabian Nights (0151356, US), Arabian Nights (2J008211, NSW/ACT), Arctic Wins - Mr. Cashman (0151065, US), Arishinko (0151087, US), Art of Fighting / Ryuuko no Ken (NGM-044 ~ NGH-044), Asian Princess (0352502, US), Bakatonosama Mahjong Manyuuki (MOM-002 ~ MOH-002), Beaver Bucks (20255111, NSW/ACT), Big Ben (30126911, NSW/ACT), Big Hearted (10000511, NSW/ACT), Big Red (2J009211, NSW/ACT), Big Red 2 (5J011311, NSW/ACT), Black Brumby (1J009111, NSW/ACT), Black Mustang (0152584, US), Blue's Journey / Raguy (ALM-001 ~ ALH-001), Blue Tiger (20259511, NSW/ACT), Bob and Dolly (0352298, US), Brazil (20180311, NSW/ACT), Buccaneer (10173011, NSW/ACT), Buffalo (10217811, NSW/ACT), Bumble Bugs (0351180, US), Burning Fight (NGH-018, US), Burning Fight (NGM-018 ~ NGH-018), Bushranger (10006111, NSW/ACT), Cactus Corral (10237711, NSW/ACT), Call of the Wild (10256611, NSW/ACT), Calypso King (20197111, NSW/ACT), Canary Riches (10218211, NSW/ACT), Capcom Vs. SNK Millennium Fight 2000 (Rev A), Capcom Vs. SNK Millennium Fight 2000 (Rev C), Capcom Vs. SNK Millennium Fight 2000, Cashman Tonight (30194711, NSW/ACT), Champion League (v220I, Lattine), Champion League (v220I, Poker), Chance In Hell - Li'l Lucy (0251125, US), Choutetsu Brikin'ger - Iron Clad (prototype), Choutetsu Brikin'ger - Iron Clad (prototype, bootleg), Choy Sun Doa - Cash Express (30149511, NSW/ACT), Choy Sun Doa (10104011, NSW/ACT), Choy Sun Returns (20212211, NSW/ACT), Corrida de Toros (30178311, NSW/ACT), Cosmic Smash (Rev A), Cosmic Smash, Crazy Taxi, Crossed Swords (ALM-002 ~ ALH-002), Crystal Springs (0352557, US), Crystal Springs (10144411, NSW/ACT), Death Crimson OX, Deep Freeze (0154081, US), Deep Freeze (10282311, NSW/ACT), Delta Belle (0252532, US), Delta Queen (20185211, NSW/ACT), Dengen Tenshi Taisen Janshi Shangri-la, Diamond Eyes - Cash Express (0152039, US), Diamond Eyes (0251312, US), Diamonds Forever (10105011, NSW/ACT), Dinosaur (10118811, NSW/ACT), Double Agent (0152082, US), Double Dolphins (20000211, NSW/ACT), Dragon Lord (10173511, NSW/ACT), Dragon Magic (2J015711, NSW/ACT), Dream Catcher (10126721, NSW/ACT), Dream of the Red Chamber (10273811, NSW/ACT), Eagle Rock - Cash Express (0151126, US), Eagle Strike (40289711, NSW/ACT), Easter Island - Cash Express (0151117, US), Eggstreme Riches - Mr. Cashman (0351149, US), Eight Man (NGM-025 ~ NGH-025), Enchanted Forest - Cash Express (0151084, US), Enchanted Spell (10257011, NSW/ACT), Enchantress (20000711, NSW/ACT), Extermination (US, World Games), Eyes of the Tiger (10002011, NSW/ACT), Fatal Fury - King of Fighters / Garou Densetsu - Shukumei no Tatakai (NGM-033 ~ NGH-033), Fatal Fury 2 / Garou Densetsu 2 - Arata-naru Tatakai (NGM-047 ~ NGH-047), Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - Haruka-naru Tatakai (NGM-069 ~ NGH-069), Fatal Fury Special / Garou Densetsu Special (NGM-058 ~ NGH-058, set 1), Fatal Fury Special / Garou Densetsu Special (NGM-058 ~ NGH-058, set 2), Ferrari F355 Challenge (deluxe, no link), Ferrari F355 Challenge (twin/deluxe), Ferrari F355 Challenge 2 - International Course Edition (twin/deluxe), Fire Dancer (20184911, NSW/ACT), Flame of Olympus - Cash Express (0351025, US), Flame of Olympus - Jackpot Carnival (0251048, US), Follow the Stars (20001411, NSW/ACT), Football Frenzy (NGM-034 ~ NGH-034), Fortune of Athena (10248611, NSW/ACT), Frog Wild 2 (0251114, US), Gamblin' Jack (20197211, NSW/ACT), Garou - Mark of the Wolves (NGM-2530 ~ NGH-2530), Geisha (10000811, NSW/ACT), Generic 16-bit latch, Ghost Pilots (NGH-020, US), Ghost Pilots (NGM-020 ~ NGH-020), Giant Gram 2000, Giant Gram: All Japan Pro Wrestling 2, Giga Wing 2, Go Ape (10006211, NSW/ACT), Go For Green (10003411, NSW/ACT), Golden Archer (10197411, NSW/ACT), Golden Incas (0252533, US), Golden Incas (10174011, NSW/ACT, Show Program), Golden Pyramids Special Edition - Maximillions (10130811, NSW/ACT), Golden Samurai (10247811, NSW/ACT), Grizzly (10214711, NSW/ACT), Heart of Gold (20169511, NSW/ACT), Heart of Vegas (10232911, NSW/ACT), Heavy Metal Geomatrix (Rev B), Helen of Troy (0151336, US), High Noon (20004111, NSW/ACT), Hollywood Dreams (10100511, NSW/ACT), House of Hearts (10200311, NSW/ACT), House of the Dead 2 (USA), House of the Dead 2, House of the Dead 4 (Export) (Rev A), Inca Chief (20190711, NSW/ACT), Indian Dreaming - Cash Express (20109411, NSW/ACT), Indian Dreaming - Lady Luck (20151911, NSW/ACT), Indian Dreaming (10004211, NSW/ACT), Indian Dreaming 2nd Chance (10150611, NSW/ACT), Indian Gold - Mr. Cashman (10102511, NSW/ACT), Indian Princess (10174111, NSW/ACT), Iowa Premium Player (2131-21, U5-1), Jailbreak (10125611, NSW/ACT), Jambo! Safari (Rev A), Janshin Densetsu - Quest of Jongmaster, Jewel of the Enchantress - Mr. Cashman (0151051, US), King Neptune (20189111, NSW/ACT), King of the Monsters 2 - The Next Thing (NGM-039 ~ NGH-039), King of the Nile (20106321, NSW/ACT)' and clone (set 2) to ', King of the Nile (30106331, NSW/ACT), Koala Mint (30001011, NSW/ACT), Kohinoor (10136711, NSW/ACT), League Bowling (NGM-019 ~ NGH-019), Let's Go Fish'n (10220111, NSW/ACT), Let 'em Roll (0151115, US), Line King (0252534, US), Lord Leopard (30111211, NSW/ACT), Louie's Gold - Mr. Cashman (20006911, NSW/ACT), Love Stuck (0152583, US), Lucky 88 (10241411, NSW/ACT), Luigi's Ball (10235411, NSW/ACT), Magic Mermaid (0251331, US), Mahjong Kyo Retsuden (NGM-004 ~ NGH-004), Manic Panic Ghosts! (USA), Marvel Vs. Capcom 2 New Age of Heroes (Export, Rev A), Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660 ~ NGH-2660), Metal Slug 2 - Super Vehicle-001/II (NGM-2410 ~ NGH-2410), Metal Slug X - Super Vehicle-001 (NGM-2500 ~ NGH-2500), Meteor Storm (0152162, US), Milkin' It (10251911, NSW/ACT), Minasan no Okagesamadesu! Dai Sugoroku Taikai (MOM-001 ~ MOH-001), Miss Kitty (10216611, NSW/ACT), Money Tree (10001211, NSW/ACT), Moonlight Waltz (10227611, NSW/ACT), More Chilli (20248711, NSW/ACT), Mr Woo (0252599, US), Mutation Nation (NGM-014 ~ NGH-014), Mystic Arrow (0151009, US), Mystic Eyes - Mr. Cashman (0251024, US), Mystic Eyes - Mr. Cashman (10008111, NSW/ACT), Mystic Mermaid (1J008711, NSW/ACT), NAM-1975 (NGM-001 ~ NGH-001), Naomi Ferrari F355 Challenge (twin/deluxe) Bios, Neo Geo Bangbead CMC42 Cart, Neo Geo Bootleg Protection(s), Neo Geo Cartridge Slot, Neo Geo CMC42 & CMC50 Protection, Neo Geo CTHD 2003 Cart, Neo Geo CTHD 2003 Sp Alt Cart, Neo Geo CTHD 2003 Sp Cart, Neo Geo Fatal Fury 2 Protection, Neo Geo Ganryu CMC42 Cart, Neo Geo Garou AES SMA Cart, Neo Geo Garou Bootleg Cart, Neo Geo Garou SMA Cart, Neo Geo King of Gladiators Bootleg Cart, Neo Geo KOF 10th Ann Bootleg Cart, Neo Geo KOF 10th Ann. EP Bootleg Cart, Neo Geo KOF 2000 CMC50 Cart, Neo Geo KOF 2000 SMA Cart, Neo Geo KOF 2001 CMC50 Cart, Neo Geo KOF 2002 Bootleg Cart, Neo Geo KOF 2002 MP Cart, Neo Geo KOF 2002 MP2 Cart, Neo Geo KOF 2002 Protection, Neo Geo KOF 2003 AES PVC Cart, Neo Geo KOF 2003 Bootleg Cart, Neo Geo KOF 2003 PL Cart, Neo Geo KOF 2003 PVC Cart, Neo Geo KOF 2003 UPL Cart, Neo Geo KOF 2004 SE Bootleg Cart, Neo Geo KOF 2005 Unique Bootleg Cart, Neo Geo KOF 97 Orochi Bootleg Cart, Neo Geo KOF 98 Protection, Neo Geo KOF 99 Korea CMC42 Cart, Neo Geo KOF 99 SMA Cart, Neo Geo KOF2002 Cart, Neo Geo KOF2002 Plus Cart, Neo Geo Lansquenet 2004 Bootleg Cart, Neo Geo Matrimelee Bootleg Cart, Neo Geo Matrimelee Cart, Neo Geo Metal Slug 3 AES CMC42 Cart, Neo Geo Metal Slug 3 SMA Cart, Neo Geo Metal Slug 4 PCM2 Cart, Neo Geo Metal Slug 4 Plus PCM2 Cart, Neo Geo Metal Slug 5 Plus Bootleg Cart, Neo Geo Metal Slug 5 PVC Cart, Neo Geo Metal Slug 6 Bootleg Cart, Neo Geo Metal Slug X Protection, Neo Geo NEOPCM2 Protection, Neo Geo NITD CMC42 Cart, Neo Geo Pnyaa PCM2 Cart, Neo Geo Prehistorik Isle 2 CMC42 Cart, Neo Geo PVC Protection, Neo Geo Rage of the Dragon PCM2 Cart, Neo Geo Samurai Shodown 5 Bootleg Cart, Neo Geo Samurai Shodown 5 Cart, Neo Geo Samurai Shodown 5 Special Cart, Neo Geo Sengoku 3 CMC42 Cart, Neo Geo SMA Protection, Neo Geo SNK vs Capcom PVC Cart, Neo Geo Standard Carts, Neo Geo Strikers 1945 Plus CMC42 Cart, Neo Geo Super Bubble Pop Cart, Neo Geo SVC Bootleg Cart, Neo Geo SVC Plus Alt Bootleg Cart, Neo Geo SVC Plus Bootleg Cart, Neo Geo SVC S.Plus Bootleg Cart, Neo Geo Zupapa CMC42 Cart, Nerds Gone Wild (10197311, NSW/ACT), Ninja Master's - Haoh-ninpo-cho, Open Sesame (0351309, US), Oriental Beauty (10213511, NSW/ACT), Outback Jack (20195211, NSW/ACT), OutTrigger, Owl Capone (10008711, NSW/ACT, Show Program), Panda Pays - Mr. Cashman (0151109, US), Paris Lights - Jackpot Carnival (0251031, US), Paris Lights (30002611, NSW/ACT), Peacock Magic (1J008811, NSW/ACT), Pelican Pete (0252555, US), Pelican Pete (10177511, NSW/ACT), Penguin Pays - Cash Express (0151120, US), Penny Arcade (0251169, US), Pharaoh's Fortune (40000921, NSW/ACT), Phoenix Fantasy (20197511, NSW/ACT), Pirates (10001511, NSW/ACT), Pit Fighter (Japan rev 3, 2 players), Player's Choice - By Demand (10223111, NSW/ACT), Player's Choice - Favourites (20177311, NSW/ACT), Player's Choice - Gold Edition (30291411, New Zealand), Player's Choice - Most Wanted (20234911, NSW/ACT), Player's World - Super (0154019, US), Pokonyan! Balloon (Japan 940322), Pompeii (0251010, US), Pompeii (10002211, NSW/ACT), Power Stone 2, Power Stone, Pride of Africa (10208511, NSW/ACT), Prophecy (20173411, NSW/ACT), Puzzle Bobble / Bust-A-Move (Neo-Geo, bootleg), Puzzle Bobble / Bust-A-Move (Neo-Geo, NGM-083), Puzzled / Joy Joy Kid (NGM-021 ~ NGH-021), Queen of Sheba (10133711, NSW/ACT), Queen of the Nile (3J011111, NSW/ACT), Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT), Queen of the Nile Special Edition (10102811, NSW/ACT), Quiz Ah Megamisama, Quiz Daisousa Sen - The Last Count Down (NGM-023 ~ NGH-023), Quiz King of Fighters (SAM-080 ~ SAH-080), Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042 ~ NGH-042), Rage of the Dragons (NGM-2640?), Rapid Riches (10194211, NSW/ACT), Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095 ~ NGH-095), Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - The Newcomers (NGH-2400), Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - The Newcomers (NGM-2400), Red Baron (10119911, NSW/ACT), Riding Hero (NGM-006 ~ NGH-006), Road Burners (ver 1.0), Road Trip (0152539, US), Roll Up! Roll Up!! (10115911, NSW/ACT), Ruby Magic (10125711, NSW/ACT), Rumble Reels (20288611, NSW/ACT), Samurai Shodown II / Shin Samurai Spirits - Haohmaru Jigokuhen (NGM-063 ~ NGH-063), Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222 ~ NGH-222), Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720, 1st release, censored), Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720, 2nd release, less censored), Savage Reign / Fu'un Mokushiroku - Kakutou Sousei, Scatter Magic II (10001311, NSW/ACT), Seal The Deal - Jackpot Carnival (0251029, US), Sengoku / Sengoku Denshou (NGH-017, US), Sengoku / Sengoku Denshou (NGM-017 ~ NGH-017), Shaman's Magic (0152647, US), Shaman's Magic (10225911, NSW/ACT), Shore Thing (0251088, US), Shougi No Tatsujin - Master of Shougi, Show Me The Money (10001911, NSW/ACT), Silk Road (0152537, US), Silver & Gold (20100721, NSW/ACT), Sky Dancer (10272711, NSW/ACT), Slashout, SNK vs. Capcom - SVC Chaos (NGM-2690 ~ NGH-2690), Sonik Fighter (version 02, encrypted), Spawn In the Demon's Hand (Rev B), Spring Carnival (10000311, NSW/ACT), Stakes Winner / Stakes Winner - GI Kinzen Seiha e no Michi, Star Drifter (0451341, US), Star Drifter (20150811, NSW/ACT), Star Quest (10009511, NSW/ACT), Status Symbols (0251147, US), Street Hoop / Street Slam / Dunk Dream (DEM-004 ~ DEH-004), Sun & Moon - Bank Buster (0153028, US), Sun & Moon (0151303, US), Sun Queen - Dollar Storm (0451327, US), Super Bucks V (20203611, NSW/ACT), Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - Real Fight Football (NGM-061 ~ NGH-061), Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - Eikou e no Michi, Supercharger 1942 (ID 06188), Sweethearts II - Lucky Devil (10119811, NSW/ACT), Sweethearts II (0151183, US), Tahiti Magic (10238911, NSW/ACT), Take Off (bootleg of The End), Thai Princess (10119321, NSW/ACT), The Buck Stops Here (10294311, NSW/ACT), The Game With No Name! (0452501, US), The Golden Fleece (10158311, NSW/ACT), The Golden Gong (0152558, US), The Good, The Bad & The Money (0351016, US), The King of Fighters '94 (NGM-055 ~ NGH-055), The King of Fighters '95 (NGM-084, alt board), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (Korean board 2), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (Korean board), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGH-2420), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGM-2420), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGM-2420, alt board), The King of Fighters 2000 (NGM-2570 ~ NGH-2570), The King of Fighters 2002 (NGM-2650 ~ NGH-2650), The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430 ~ NGH-2430), The Super Spy (NGM-011 ~ NGH-011), The Typing of the Dead (Rev A), The Typing of the Dead, Thrash Rally (ALM-003 ~ ALH-003), Thunderheart (10173811, NSW/ACT), Tigress (20230111, NSW/ACT), Tiki Talk (10239111, NSW/ACT), Tiki Torch (0151003, US), Timber Wolf (0154013, US), Top Player's Golf (NGM-003 ~ NGH-003), Top Shot (30123211, NSW/ACT), Torch of the Gods (10000411, NSW/ACT), Touch of Paradice (20007511, NSW/ACT), Treasure King (0152570, US), Turtle Treasure (10234711, NSW/ACT), Venetian Nights (1J008911, NSW/ACT), Venice (0151355, US), Virtua NBA (USA), Virtua NBA, Virtua Striker 2 Ver. 2000 (Rev C), Virtua Striker 3 (Rev B), Virtua Striker 3, Wave Runner GP (USA, Rev A), Werewolf Wild (10288711, NSW/ACT), Whales of Cash (0451311, US)' and clone (set 2) to ', Whales of Cash (0451346, US), Where's The Gold (10124811, NSW/ACT)' and clone (Demo) to ', Where's The Gold (10124811, NSW/ACT, Show Program), White Water (0151075, US), Wild Africa - Millioniser (0351083, US), Wild Cats (10237511, NSW/ACT), Wild Goose (20131911, NSW/ACT), Wild Gorilla - Power Pay (20279811, NSW/ACT), Wild Panda (20218411, NSW/ACT), Wild Panthers - Li'l Lucy (0651310, US), Wild Riders, Wild Stallion (10230811, NSW/ACT), Wild Tepee - Power Pay (10230211, NSW/ACT), Wild Waratah (10215911, NSW/ACT), Wild Ways (10106911, NSW/ACT), Wizard Ways - Lady Luck (20139111, NSW/ACT), World Heroes 2 (ALM-006 ~ ALH-006), World Heroes 2 Jet (ADM-007 ~ ADH-007), WWF Royal Rumble, You Might Be A Redneck If... - Jeff Foxworthy (0351068, US), Zintrick / Oshidashi Zentrix (bootleg of CD version), Zintrick / Oshidashi Zentrix (bootleg of CD version) and Zorro (0151372, US) and Zorro (30130611, NSW/ACT) - MAME . VIDEO RENDERING SYSTEM . Layout tag external handler support (emu\render.cpp) . BGFX . Fix up BGFX NTSC shader . More BGFX settings refinement . HLSL . Equalized options of HLSL and BGFX HLSL chain . Removed POT texture size from shadow mask in HLSL, U/V size is now simply the percentage of the actual texture size. . Adjusted display names of options . Fixed half texel offset of 'source' shadow mask tile mode . Fixed several HLSL problems when running machines without screen . Small changes to creation of render targest in HLSL: Removed unessesary recreations of non-screen-quad texture targets. Removed creation of cached targets for non-screen-quad texture. . Small tweaks to raster.ini settings - less blurry and less glowing. . Fixed bloom target size for vector screens in full-screen mode, this also improves the performance slightly (d3d\d3dhlsl.cpp). . Normalized vector attenuation settings . vector_length_ratio is now independent from screen size . Changed vector_length_ratio range from [0.0, 1000.0] to [0.0, 1.0] . Updated display name and description of vector_length_scale vector_length_ratio. Moved extension of vector lines to where it belongs. . Fixed window is always on top after ALT+ENTER from fullscreen in Direct3D (render\drawd3d.cpp) (ID 06209). When deleting the D3D device, it was reset before with outdate presentation information. . Fixed half pixel offset of vectors in D3D, appearance should be identical to GDI and BGFX (render\drawd3d.cpp). . Updated . UI . Relieve UI menus and such from having to constantly fetch UI object from global state . Moved slider_state and ui_menu_item into frontend\mame . PLUGINS . Added layout embedded script helper plugin. Example layout scripts for (MESS) fidel_scc and mdndclab . Added callbacks for plugins to LUA engine . Cheat: Indent the output (plugins\cheat\conv_cheat.lua and cheatfind\init.lua). Handle multiple cheat paths and missing dir in write back. Reverse operator order and add value comparison. Make menu layout much more flexible. . Software list . Check software parts for incompatibility as well as compatibility. This new softlist feature is now used by genesis_tmss to exclude several entries from megadriv.xml. . Use popmessage instead of osd_printf_warning for incompatibility warnings . Unify some common software loading code, which reduces indentation levels in clifront.cpp . Move system name lookup into frontend . Avoid to directly access device variable from inside the driver, when possible (drivers\macs.cpp, simple_st0016.cpp, speglsht.cpp, srmp5.cpp and machine\st0016.cpp) . Make watchdog timer a separate device. Separate watchdog implementation from running_machine (once again) and driver_device. Old-style methods, now hidden behind #ifdefs, will probably be safe to remove soon. Removed legacy watchdog calls. . Fixed MAME hangs when command bench is higher than 299 (ID 05831) . Fixed init of XAudio2 when there is no window active . Memory handling: Get rid of the install_* return value (emu\emumem.cpp). Fixed accessing base() when there is empty buffer (emu\emumem.h). . Removed dead WM_USER_* events for which handling was causing crashes (windows\window.cpp). This fixed Windows debugger crashes on Win10 64-bit (see MT#6217). - SDLMAME . Export SDL_SendKeyboardKey function to allow scancode injection in Emscripten build (emscripten\emscripten_post.js) . Removed dead code left over from "-mt". This fixed double-free starting up puckman when using mame64 -mt (ID 05871) . No SDL 1.2 support anymore - MAC OS X: Try to support older XCode (scripts\src\3rdparty.lua) - ANDROID: Updated to latest build tools for Android - NetBSD/OpenBSD . Fixed NetBSD (scripts\src\3rdparty.lua) . Allow building on OpenBSD - MESS . Baud Z80SCC Rate Generator now uses diserial timers through setrate(). Added ADD_ macros for all supported chip variants, Log messages cleanup. . Floppy: Workaround for MT#06194, potential segfault during floppy load (imagedev\floppy.cpp and formats\upd765_dsk.cpp). Don't fail immediately on wrong cyl (machine\upd765.cpp). . One step closer to core I2C EEPROM implementation (megadrive\eeprom.cpp) - Compiling . 3rdparty . Updated Benchmark, BGFX, BX, GENie and rapidjson . Added GLM library . Updated to LZMA 16.0 . LUA engine: Avoid null keys (mame\luaengine.cpp) . Cleanup of network output module (modules\ipc\tcp_server.cpp) . R3000 is separate CPU, helps building some drivers with SOURCES (scripts\src\cpu.lua). . Work around linker issues with Emscripten (targetos=asmjs) . Allow separate asteroid.cpp, astrafr.cpp, astrocde.cpp, asuka.cpp, bfm_sc4.cpp, bfm_sc5.cpp, cliffhgr.cpp, eolith.cpp, exidy.cpp, galaga.cpp, hng64.cpp, ladybug.cpp, maygay1b.cpp, midzeus.cpp, mpu4.cpp, mpu5.cpp, ninjaw.cpp, pacman.cpp, pgm.cpp, pluto5.cpp, pong.cpp, puckpkmn.cpp, r2dx_v33.cpp, raiden2.cpp, redclash.cpp, s11a.cpp, s11b.cpp, s11c.cpp, seibuspi.cpp, snowbros.cpp, stv.cpp, taito_x.cpp, thayers.cpp, vicdual.cpp, warpwarp.cpp, wpc_dot.cpp, wpc_flip1.cpp, wpc_flip2.cpp, audio\irem.cpp, includes\amiga.h, machine\deco102.cpp, machine\deco156.cpp, machine\mos6530n.cpp, machine\namcoic.cpp and sound\okiadpcm.cpp . Fixed typos in scripts\src\cpu.lua (cpu\mb86233\ -> cpu\mb86235\), machine.lua (ncr5389.h -> ncr5390.h) and sound.lua (pic-ac97.h -> pci-ac97.h) . Minus sign in subtarget creates problems (makefile) . Changed INC -> HXX makes editors and code analyzers see it as C++ . Added ability to create standalone emulators, added (MESS) ZEXALL as example. . Emscripten options cleanup (scripts\src\main.lua) - Debugger . Only log at start the message about deprecated vblank to avoid spamming logerror debugger window at each frame, which makes debugging quite hard (emu\screen.cpp). . ImGui based debugger . Moved building of source lists for disasm and memory windows so they are done once when created . Use a getter function for combo boxes. Memory windows are now much faster. . Moved view drawing into a single function, few more minor colour fixes. . Made a start on rendering just the visible areas of a debugger view. Generally works, but the scrollbar doesn't appear when viewing a 32-bit or larger address space (imgui bug?). . No deps between osd and frontend, internal debugger removed. 0.173 - New games: Dragon's Heaven (development board), Last Hope (bootleg AES to MVS conversion, no coin support), New 2001 (Italy, Ver. 2.00N), Pokonyan (Japan 940322), Sushi Bar, Team Hat Trick and Tiny Toon Adventures (prototype) (PlayChoice-10) - New Working games: Wonder Boy (US bootleg) - New Non-Working games: Alta Tensione (ver. 2.01a), Euro Double Star Record (ver.1.2), Jungle (VI3.02), Luna Park (ver. 1.2), Polaroid Instant Memories, Print Club 2 2000 Summer, Print Club 2 Kobe Luminaire '99 (Print Club Custom 3) (J 991203 V1.000), Print Club 2 Vol. 8 Summer (J 970616 V1.100), Print Club 2 Vol. 9 Autumn (J V1.100), Print Club Winnie-the-Pooh Vol. 2 (J 971218 V1.000), Print Club Winnie-the-Pooh Vol. 3 (J 980406 V1.000) and Sonik Fighter (encrypted) - New AGEMAME games: 100 Lions, 5 Dragons, 5 Dragons (Demo?), 5 Koi Power Pay, 50 Lions Roaring Riches, Adonis (USA), Adonis Hyperlink, African Dusk Mr Cashman, After Hours, Alchemy, All The Kings Gold, Amazon Queen, Amazon Temple, Apollo Coffee, Arabian Nights, Arabian Nights (MK6), Arctic Wins, Arishinko, Asian Princess, Bad Bog Draw Poker, Beaver Bucks, Big Ben Jackpot, Big Hearted, Big Red, Big Red Jackpot, Black Brumby, Black Mustang, Black Panther (Aristocrat), Blue Tiger (20259511), Bob And Dolly, Boot Scootin, Brazil, Bucaneer, Buffalo, Buffalo (set 2), Bumble Bugs, Bumble Bugs (USA), Bush Ranger, Butterfly Delight, Cactus Corral, Call Of The Wild, Calypso King, Canary Riches 2, Cash Cat (NZ), Cash Chameleon, Cash Crop, Cashman Tonight, Chance in Hell, Chariot Challenge (0100787V), Checkmate (01J00681), Chicken Run, Choy Sun Doa, Choy Sun Doa Cash Express, Choy Sun Returns, Coral Riches 2, Corrida De Toros, Crystal Springs, Crystal Springs (USA), Cuckoo, Dave Dragons, Deep Freeze, Deep Freeze (MK6, USA), Delta Belle, Delta Queen, Desert Bloom, Diamond Dove, Diamond eyes, Diamonds Forever, Diamong Eyes 2, Dinosaur, Dolphin Treasure (alt), Double agent, Double Dolphin, Dragon Lord, Dragon Magic, Draw Poker, Dream Of The Red Chamber, Dynamite Jack, Eagle Rock, Eagle Strike (set 1), Eagle Strike (set 2), Easter Island, Eggstreme Riches, El Dorado, Enchanted Forest Cash Express, Enchanted Spell, Enchantress 6 Reel, Eye Of The Tiger, Fire Dancer, Flame Of Olympus, Flames Of Olympus 2, Flames Of Olympus USA (set 1), Flames Of Olympus USA (set 2), Follow The Stars, Fortune of Athena, Fortune Teller, Foxworthy Redneck, Frog Wild, Gambling Jack, Game With No Name, Geisha, Genie Magic, Gnome Around The World, Go Ape, Go For Green, Golden Archer Jackpot, Golden gong, Golden Gong2, Golden Inca, Golden Incas, Golden Pyramid Hyper Max, Golden Pyramids Maximillions, Golden Ra, Golden Samurai, Grizzly, Heart Of Gold, Heart Of Vegas, Heart Throb, Helen Of Troy, High Noon, Hollywood Dreams, House Of Hearts, Hyperlink Sun and Moon, Inca Chief, Inca Sun, Inca Sun (NZ), Indian Dreaming, Indian Dreaming Cash Express, Indian Dreaming Lady Luck, Indian Dreaming Second Chance, Indian Dreaming Super Reel Power, Indian Gold Mr Cashman, Indian Princess, Jailbreak, Jeff Foxworty, Jewel Unchantress, King Galah (0200536V), King Neptune, King Of The Nile, King of the Nile (set 2), Koala Mint, Kohinoor, Kooka Bucks, Let Em Roll, Lets Go Fishin, Line King, Loco Loot, Loco Loot (NZ), Lone Wolf, Lord Leopard, Louies Gold Mr Cashman, Love Struck, Lucky 88, Luigis Ball, Magic Forrest, Magic Mermaid, Magic Touch, Meteor Storm, Milkin It, Miss Kitty, Money Mouse, Money Tree, Money Tree (NZ), Moonlight Waltz, More Chilli, Mountain Money, Mr Woo, Mystic Arrow, Mystic Eyes Mr Cashman, Mystic Eyes(Cashman), Mystic Garden, Mystic Mermaid, Nerds Gone Wild, Open Sesame, Orchid Mist, Oriental Beauty, Oscar, Outback Jack (set 2), Outback Jack Jackpot, Owl Capone, Panda Pays, Panther Magic, Paris Lights, Paris Lights (USA), Peacock Flutter, Peacock Magic, Pelican Pete, Pelican pete, Pelican Pete 2, Penguin Pays, Penguin Pays (20 Line), Penguin Pays (alt), Penny Arcade, Penquin Pays, Pet Shop, Pharohs Fortune, Phoenix Fantasy, Pirates, Players Choice By Demand, Players Choice Favourites (set 1), Players Choice Favourites (set 2), Players Choice Most Wanted, Players Choice New Zealand, Players World Super, Pompei, Pompeii2, Pride Of Africa, Prize Fight, Prophecy, Queen Of Sheeba, Queen Of The Nile, Queen Of The Nile (0100439V), Queen Of The Nile (0300440V), Queen Of The Nile Clown Jackpot, Queen of the Nile Special Edition, Queens of Cash, Rainbow Warrior Hyperlink (0101332V), Rapid Riches, Red Baron (Aristocrat), Return of The Samura 20line, Return of The Samura 5line, Return Of The Samurai (0400549V), Road Trip, Roll Up Roll Up, Ruby Magic, Rumble Reels, Scatter Magic 2, Seal The Deal, Shamans Magic, Sharmans Magic, Shore Thing, Show Me The Money, Silk Road, Silver And Gold, Sky Dancer, Spring Carnival, Star Drifter, Star Drifter (USA), Star Drifter 2, Star Quest, Status Symbols, Sumo Spins, Sun And Moon 2, Sun Queen Dollar Storm, Super Bucks 5, Superbucks 2, Superbucks 3, Sweet Hearts 2 Lucky Devil, Sweethearts 2, Tahiti Magic, Thai Princess, The Buck Stops Here, The Golden Fleece, The Good Bad Money, Thunderheart, Tigress, Tiki Talk, Tiki Torch, Timberwolf, Top Banana, Topshot, Torch Of The Gods, Touch Of Paradice, Treasure King, Treasure Trove, Triple Treat, Trojan Horse, Turtle Treasure, Unicorn Dreaming, Venetian Nights, Venice, Werewolf Wild, Whales Of Cash (set 1), Whales Of Cash (set 2), Where Is The Gold, Where Is The Gold (Demo), White Water, Wicked Winnings 2, Wild Africa, Wild Amazon (1 Line), Wild Amazon (3 Lines), Wild Bill, Wild Cats, Wild Cougar, Wild Goose, Wild Gorilla, Wild Panda 2, Wild Panthers, Wild Stalion 2, Wild Tepee, Wild Thing, Wild Waratah, Wild Ways, Wings Of Olympus, Wizard Ways Lady Luck, Zorro and Zorro Jackpot - New TourVision games (Softlist: hash\pce_tourvision.xml): Bull Fight - Ring no Haja (Tourvision PCE bootleg), Dragon Saber - After Story of Dragon Spirit (Tourvision PCE bootleg) and Parasol Stars - The Story of Bubble Bobble III (Tourvision PCE bootleg) - New clones: 1945k III (older, OPCX1 PCB), Android (prototype, later build), Atomic Robo-kid (Japan), Beast Busters (Japan, Version 2), Bestri (Korea, set 2), Champion Number (V0.67), Crystals Colours (Ver 1.02), DoDonPachi Dai-Ou-Jou (2002.10.07 Black Ver., bootleg Knights of Valour Super Heroes conversion), Dragon Saber (World, DO2), Espgaluda (2003/10/15 Master Ver, bootleg cartridge conversion), Kamikaze (Potomac Games), Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver., bootleg cartridge conversion), Majestic Twelve - The Space Invaders Part IV (US), Major Title 2 (World, set 2), Mortal Kombat (Reptile Man hack), Mystic Warriors (ver AAB), Operation Wolf (Japan, prototype), Print Club 2 Vol. 6 Winter (J 970121 V1.200), Raiden DX (Japan, set 2), Touch & Go (Korea, unprotected), Vs. Excitebike (set EB4-3 E) and Wonder Boy (system 2, set 2, 315-5176) - New drivers: instantm.cpp and jungleyo.cpp - New devices: m3comm, neogeo_control_port, neogeo_ctrl_edge, neogeo_dial, neogeo_irrmaze, neogeo_joyac, neogeo_kiz4p, neogeo_mjctrl, ohci_gc, ohci_hlean2131qc, ohciusb, z80_sega and z80_sega2 - New mame.ini options: CORE RENDER OPTIONS: intoverscan. OSD OUTPUT OPTIONS: output. BGFX POST-PROCESSING OPTIONS: bgfx_avi_name. DIRECT3D POST-PROCESSING OPTIONS: distortion, cubic_distortion and distort_corner. - Dynamic Re-Compiling . SSE prefix comes before REX on MOVQ and fixed REX order with all SSE prefixes (cpu\x86emit.h) . Added FCOPYI and ICOPYF instructions to pass raw data between integer and floating-point registers . Map F0-F3 to SSE registers and optimized FMOV (cpu\drcbex64.cpp) - MIPS CPUs . Fixed behavior for 32/64 bit mode floating point register aliasing . Branch and Link instructions unconditionally set return address register . Fixed DMULT and DMULTU in interpreter and DRC modes (mips\mips3.cpp) . Port Happy's branch-and-link fix from mips3 interpreter to DRC and PPC aliasing fix to the MIPS3 DRC (mips\mips3drc.cpp) . Fixed interpreter bug where BADCOP exceptions would execute the faulting opcode twice - PowerPC 4xx/6xx CPUs . Use the new instructions for FPU loads and stores (cpu\powerpc\ppcdrc.cpp) . Map some FPU registers to physical registers. Optimized powerpc\ppcdrc.cpp. - TMS9900 CPU: Log output changed - TMS9995 CPU . Logging changed. Fixed HOLD handling and added synchronous RESET. Changed method names for some input lines. . Clean up MAME drivers which needed adjustment to match changes to the TMS9995 (drivers\jpmmps.cpp, jpms80.cpp, looping.cpp, nsm.cpp, nsmpoker.cpp and pachifev.cpp) - Z80/Z180 CPUs . Make the Z80/Z180 daisy chain an interface that interfaces with the existing interface. Z8000 has been hooked up to this as well (p8000_16 already configures it), but currently does nothing with it. . Prevent tmpz84c015_device::irq_priority_w from crashing or corrupting the daisy chain. Eliminate the need for TMPZ84C015_DAISY_INTERNAL by not overwriting elements in the daisy list (z80\tmpz84c015.h; drivers\pve500.cpp). Removed leftover MCFG_SEGAZ80_SET_DECRYPTED_TAG from macros in system1.cpp, which lets all drivers validate without crashing. - Sound Interface: Added generic latch to replace soundlatch in driver_device and additional members for compatibility (machine\gen_latch.cpp/h) - TMS5220 sound . TMS5220/5110 merge Part 1 . Added a 'combined rs/ws write' function for systems which require both pins to change at exactly the same time and not to reset the chip . Replaced fprintf by logerror; fixed some small issues. - YMZ770 / MPEG sound: Separated MPEG audio as device, made building separate Model3 possible. - AM9517A DMA: Added clone (PC Transporter DMAC/PCXPORT_DMAC) with the non-standard mask behavior of the PC Transporter ASIC (machine\am9517a.cpp) - CD ROM: Declared (std::nothrow) some allocations (util\cdrom.cpp) - CHDMAN . Fixed chdman extractcd track names (was foo.cue.bin instead of foo.bin) . Allow image devices to be configured with a fixed (not user selectable) piece of software and updated a few options and menu to acknowledge such possibility (emu\diimage.cpp). . Initialized m_hunknum inside the constructor (util\chd.h) - Discrete Netlist . Visual Studio 2015 netlist fix (src\netlist.lua and solver\nld_ms_w.h) . Added m62(kidniki) to nl.lua. Started some experiments around parallel solving of linear equations. This code is not active. Fixed Kid Niki audio performance. . Minor changes, mostly signed comparisons and adding includes for dependency documentation. . Solver model simplification. Use C++11 features to use more templates. Use templates in nl_math. Simplify solver infrastructure. . Replaced macros with templates (netlist\nl_base.h and plib\pstate.h). Get rid of some init_object calls. netlist_t no longer descends from netlist::object_t. . Fixed type mismatch in netlist\solver\nld_solver.cpp. This fixed OpenMP-enabled builds fail to compile (ID 06170). . Moved solver members to proper place. Minor code changes. Recover from creating solvers by copy paste. . Significant speed improvement: Added a new solver using compressed row format. Fixed sorting. As a result, netlist performance on Kid Niki nearly doubled. The performance increase is mainly due to the fact that sorting decreases the number of operations for gaussian elimination of the Kid Niki matrix from ~7800 to 707. In addition, compressed row format improves L1 usage. Converted Kid Niki netlist into an external one. . Implemented dynamic loading of precompiled solver code - SCSI: Skip disc change detection (machine\cr589.h; drivers\ksys573.cpp). This fixed all KSYS573 sets no longer work when attempting to test the CD hardware (ID 06176). - Sega Custom: Sega encryption emulation (segacrpt and segacrp2) is now a device, kill off a whole bunch of duplicated decryption code across several drivers (angelkds.cpp, appoooh.cpp, calorie.cpp, cclimber.cpp, jongkyo.cpp, pbaction.cpp, pengo.cpp, segae.cpp, segag80r.cpp, segas16a.cpp, senjyo.cpp, sg1000a.cpp, suprloco.cpp, system1.cpp, system1.cpp, turbo.cpp and zaxxon.cpp) - Serial device interface: Added extra bit as delay between bytes to make 1 stop bit work (emu\diserial.cpp) - TMS9928A video . Added GROMCLK pin. Optionally provides clock for GROMs. . Added general read/write methods to TMS9928a, allowing address lines to select functions. - aleck64.cpp . Adjusted SI timing again . Do SI DMA transfer after delay, not before. - arkanoid.cpp: Corrected some spelling and clarify comments - bbusters.cpp: Fixed some missing gfx in Beast Busters / Mechanized Attack. - chihiro.cpp . USB is now partially usable . Control, bulk and interrupt transfers work . Started HLE simulation of USB devices on Chihiro baseboard. There is a first implementation of Xbox game controller. . The Chihiro BIOS can now enter system configuration menu - cv1k.cpp: Some work towards save state support. Should work but it would be better not to save the bitmap, so for the time being it is disabled by default. - forte2.cpp and pengadvb.cpp: Get rid of irq trampoline - gaelco2.cpp . Improved video for clone Touch & Go (Korea, unprotected). This is the first working set for this game, all other sets are protected. . Updated stream on read in Gaelco sound driver, Touch & Go still seems to forget to play sounds sometimes tho, like one of the channels gets stuck busy? - harddriv.cpp: Fixed user1 region width in hdrivair, hdrivairp, racedrivpan and strtdriv. Byte order not verified (seems plausible though), but at least these should be able to load again. - himesiki.cpp: Init palette to black. Fixed YM2203 clock speed. - hornet.cpp . Fixed ROM banking. This fixed "MASK ROM CHECK" in Gradius 4 service mode fails (ID 05897). . Hooked up LAN board DS2401 and EEPROM to Silent Scope 2. Comm board roms are bad. - itgambl2.cpp: Added technical notes and some clean-ups - magic10.cpp . Added technical notes, game status, defined clocks, fixed inaccurate notes and some driver cleanup. . Added missing PLD dump to Magic's 10 (ver. 16.55). . Added PCB infos to Magic's 10 (ver. 16.55) and clone (ver. 16.45). - mhavoc.cpp . Minor comment update . Updated Gamma CPU address decoding/mirroring from the schematic in Major Havoc - model1.cpp . Driver checkpoint and intercept experiment (includes\model1.h and machine\model1.cpp) . Inverted normal/point in Star Wars Arcade (ftab_swa; machine\model1.cpp) - model3.cpp: Added Sega Model3/Naomi/Hikaru Communication Board basic. Further work on M3 comm board, added actual Model3 interface (not yet hooked to driver). Hook Comm.Board to Model3. Note: It seems only VF3 expecting SCSI mapped at C000xxxx, the rest of games (incl Step 1.0 Bass Fishing) looking for Comm.Board there. - namcos22.cpp: Optimization to gamma mix for non-Super System22 - neogeo_noslot.cpp: Reworked inputs to work through the slot device interface. You can now configure the 15-pin ports available in the multicart driver (neogeo) with the -crtl1 and -ctrl2 options. Thus, if you want to launch janshin in neogeo with the mahjong control panel you shall now prescribe -edge "" -ctrl1 mahjong and set accordingly the dipswitch (the first option disables inputs from the edge connector). When you run single game drivers (e.g. mslug, or kof94, etc.), instead, a unique controller is available and cannot be modified. In particular, the janshin driver already comes pre-configured in the proper way. - peplus.cpp: Minor doc update - playch10.cpp: Added new PlayChoice-10 BIOS (pck1-c_fix.8t = Single Screen, Freeplay fix, Newer?) - polepos.cpp: Merged sound\filter.cpp/h with audio\polepos.cpp/h (only Pole Position/II use it). Removed unused function. - snookr10.cpp . Added technical notes . Added default NVRAM, technical notes and dedicated inputs for both Crystals Colours sets. - segag80v.cpp: Fixed vector clocks - stv.cpp . Converted controllers to work through slot devices and cleaning up the related code (includes\stv.h) . Small cleanup + Added note about some pad configuration which is not detected correctly (machine\smpc.cpp) - tourvis.cpp . Changed driver to use a software list instead of internal lists. They're just PCE cartridges stuffed inside custom epoxy filled cases with an adapter. . Trimmed all ROMs to correct sizes, confirming that the majority match exactly the PCE roms (only 3 differ, Gomola Speed which could be an alt revision, R-Type II which has been hacked, and Be Ball where there is an unknown single byte change). Verified the new Tourvision Bull Fight edge connector dump matches the PCE dump 100%. . Fixed some Tourvision descriptions - Attack UFO: Cleaned up and identified I/O chip as 6821 PIA. Fixed maincpu rom loading. - Bishou Jan: Mapped missing controls (ID 01792) - Cross Shooter: Some improvements to Air Raid / Cross Shooter driver based on hardware tests, should improve things if anybody ever does work out how to extract the gfx. Unfortuantely it's starting to look like the colour lookup proms are inside the modules too and in the case of the tilemaps the layout data definitely is, so getting access to the clean data from the outside might be very tricky. - Crystals Colours: Added default NVRAM, technical notes and dedicated inputs for both Crystals Colours sets. - Derby Owners Club II: Added protection key - Dynamite Duke: Fixed missing background with flipscreen on (ID 04919) - Flying Shark: Fixed default DIP for Hishou Zame (Japan) based on dip sheet (ID 06174) - Gain Ground: Added O. Galibert's note about why Gain Ground drops into Free Play mode and added a kludge to work around it for now (ID 04474). - Hyper Bishi Bashi Champ: Removed a few unused input bits - Jingle Bell: IGS009 protection patch for the newer Jingle Bell sets - Klax: Kill ioport tag lookup in driver - Last Four: Added PCB info - Libble Rabble: Fixed game resets during second loop of attract mode (ID 06178) - Magical Crystals: Improved ROM labeling for Japan set based on PCB picture, and noted that the Japan set we have is revision 2, but a revision 0 exists, undumped. - Spy Hunter: Get steering wheel to work in clone Spy Hunter (Spain, Tecfri / Recreativos Franco S.A. PCB). Improved inputs and cleanup analog inputs. - Street Fighter: Driver does not have COIN3 and protection MCU on clone 'Street Fighter (Japan) (protected)' is an i8751 - Wonder Boy: Added sys1piox_315_5177 MACHINE_CONFIG_DERIVED to clone Wonder Boy (US bootleg) (Games now playable) - Input port . Recognized the full range of controller inputs. This simplifies an old piece of MESS code that failed to properly classify paddle, pedal, positional and dial inputs, along with many of the less-common digital inputs. The distinction between INPUT_CLASS_MISC and INPUT_CLASS_INTERNAL makes more sense now, though nothing makes use of it (ID 06172). . Added hybrid DirectInput/XInput module. Release WMI COM objects correctly in XInput device discovery. Make Xinput triggers analog and centered at 0. . Extended core input to support up to 10 players - Fixed rom names in kaneko16.cpp, m92.cpp, model2.cpp, sf.cpp and snookr10.cpp - Renamed (androidp) to (androidpo), (crystalc) to (crystalca), (dsaber) to (dsabera), (excitebk) to (excitebkj), (excitebka) to (excitebko), (majest12) to (majest12j), (mystwarra) to (mystwarraa), (wangmid2) to (wangmid2j) and (wangmd2b) to (wangmid2) - Description changes of 1945k III (newer, OPCX2 PCB), Air Raid (Single PCB), Android (prototype, early build), Atomic Robo-kid (Japan, Type-2, set 1), Atomic Robo-kid (Japan, Type-2, set 2), Atomic Robo-kid (World, Type-2), Attack UFO, Bestri (Korea, set 1), Borderline (Tranquillizer Gun conversion), Choutetsu Brikin'ger - Iron clad (prototype), Choutetsu Brikin'ger - Iron clad (prototype, bootleg), Chouzetsu Rinjin - Bravoman (Tourvision PCE bootleg), Coryoon - Child of Dragon (Tourvision PCE bootleg), Cross Shooter (Single PCB), Doraemon Meikyuu Dai Sakusen (Tourvision PCE bootleg), Dragon Saber (World, older?), GunHed (Tourvision PCE bootleg), Hana Taaka Daka!? (Tourvision PCE bootleg), Jingle Bell (EU, V141UE), Jingle Bell (EU, V153UE), Jingle Bell (EU, V155UE), Jingle Bell (US, V157US), Jinmu Denshou (Tourvision PCE bootleg), Major Title 2 (World, set 1), Major Title 2 (World, set 1, alt sound CPU), Makyou Densetsu - The Legenary Axe (Tourvision PCE bootleg), Mr. Heli no Daibouken (Tourvision PCE bootleg), Raiden DX (Japan, set 1), Saigo no Nindou - Ninja Spirit (Tourvision PCE bootleg), Spy Hunter (Spain, Recreativos Franco S.A., Tecfri PCB), Super Pool (ver. 1.2), Tranquillizer Gun (ID 06181), Veigues - Tactical Gladiator (Tourvision PCE bootleg), W-Ring - The Double Rings (Tourvision PCE bootleg), Wonder Boy (set 2, 315-5135) and Wonder Boy (system 2, set 1, 315-5177). - MAME . VIDEO RENDERING SYSTEM . HLSL . Removed hacks for vector screens from shaders: Added handling of texture coordinates for vector screens to core render. Added handling of orientation/rotation for vector screens to D3D renderer. . Fixed texture coordinates for vector screen quad . Solved conflicts in render\d3d\d3dhlsl.cpp . Added reasonable texcoord handling without known examples (emu\render.cpp) . HLSL settings are reset now, when a new machine is selected. . Refactored distortion pass: Separated curvature parameter into distortion, cubic_distortion and distort_corner. Distortion and cubic_distortion can be negative, to compensate each other. Distort_corner is intependent from the image distortion. Refactored BGFX distortion pass. Removed vector hack. . Fixed not used u_humbar_hertz_rate parameter . Fixed half pixel shift of the shadow mask along the screen diagonal. . BGFX . Fixed render target dimension swap for BGFX. Removed not used part of code. Moved texture flags to proper place (render\drawbgfx.cpp). . Updated makefile to support shaders in multiple dirs and added sample shader. Simplify include for shaders. . Pull a bunch of screen chain code from drawbgfx to chainmanager where it belongs (render\bgfxutil.cpp/h) . Added runtime screen chain selection . Added dividing line to bgfx slider list where applicable . Added render.h no longer indirectly supplied via emu.h <- ui\ui.h . Added data-driven render target clearing . Added pillarboxing shaders and layout for BGFX . Added AVI writing to BGFX . Added HQ2x, HQ3x and HQ4x shaders . Added SuperEagle shader . Implemented handling for u_screen_scale and u_screen_offset . Simplified min, max, default and step value handling for chain configuration. min, max, default and step are now floating points without an addition scale factor. . Added "selection" parameter to chain input sampler. If specified all textures (.png) within the same directoy of the given texture will be selectable via slider in the UI. Also added slider for "shadow mask tile mode" to HLSL chain. . Ported xBR shaders from libretro . Fixed preservation of settings when changing screen chain selection with multiple screens . Make overscan on integer scaled targets optional (add option -intoverscan) . Reduced the incidence of required_device in subdevices. Any device implementing device_gfx_interface will require a palette and, once it has started (which many video devices already check for), allow other devices to access it through a getter. This makes it unnecessary in most cases for devices to require both a gfxdecode and a palette; indeed, many devices went on to not use the palette at all. Most cases have been solved in one of two contrasting ways: Removed the palette finder and associated macros for configuring it, or implemented device_gfx_interface and removed the gfxdecode finder. The latter solution, generally adopted for devices that decoded their own graphics internally or through their own subdevice, has doubled the number of implementations of device_gfx_interface and eliminated the need for Konami games to provide empty gfxdecodes. . Fixed alpha handling, (MESS) Donkey Kong (Coleco) looks good now (emu\screen.cpp). . UI . Borrow string processing code from ui.cpp so that works in layouts (using UTF-8 encoding at least). Updated sc4fd7tha.lay with UTF8 encoding of sign. . Refactored miscmenu and added advanced menu. submenu lang and cosmetic. . Small UI changes . Added plugin options menu . Fixed the key handler for the error "roms or missing CHD." . Removed the delay in showing the description in the Advanced menu . Enter on keypad now act in the same ways of Enter on keyboard (emu\inpttype.h) . Make sliders use an std::vector instead of a linked list . Removed ui\ui.h dependency from emu.h . Make core vector-related slider handling slightly less egregious . Reduced code for entries of "enum class ui_menu_item_type" and the use of item_append with separators. . Re-enabled configuration menu for single-machine and added some options . Adding handler for the right mouse button in the main menu, calls the machine configuration. . Added advanced options to per-machine configuration . Added ImGui based debugger. Note: Currently only works with the BGFX renderer. Added error log window to debugimgui, and limited the debugger console to display 100 lines, so that rendering it doesn't get too slow. Added sending of mouse clicks to debugger views. Please note that you have to click the view area first to give it focus before you can set the cursor in a disassmbler or memory view. Optimised rendering by drawing text via the window draw list. Added keyboard input for the debug view with focus. . Forced reset in order to properly apply some options . Isolated CLI part - merged emu\cliopts.cpp/h into emu\clifront.cpp/h . Splitted UI and frontend part from core . Reset menu on toggle fullscreen . SOFTWARE LIST . Fixed software loaded outside of software list (e.g. -cart PATH_TO_ROM) fails to save SRAM (emu\diimage.cpp) (ID 06173) . Reverted software-installed slot/image options when changing software. Removed emu.h's stealth include of emuopts.h through mconfig.h; reduced dependency on emuopts.h in other headers and source files. MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting. . Added support for "rom_ignore" . PLUGINS . Added cheat LUA plugin. Added LUA cheat finder library. Added basic menu for cheatfind. Make ram scan work. Added width and endian awareness. Run same operation over a batch of data. Preliminary support to inject cheats for testing. Added safe table functions to sandbox. Added game time for cheats which want a time delay. Load multiple files and fix load failure. Changed match behavior and add on screen watches. Added bitwise comparisons. Fixed machines with >1 ram regions. . Added sample plugin for game time. Added play count. Don't fail if file is corrupt (plugins\timer\init.lua). . LISTXML/INFO . Improved documentation of input devices in the -listxml output, since having just a generic 'number of buttons' is rather pointless in the context of home systems with configurable controllers (being them keyboards, keypads or joypads). Now the various controllers are listed separately with the number of buttons they have. Frontend authors who relied on the "buttons" attribute of the input node for any kind of filter shall now scan all available controllers and take the maximum among their "buttons" attribute (possibly discarding keyboards and keypads if they want) to recover the old value. . Started to acknowledge PORT_16WAY inputs in -lx, since they were reported as 8-ways so far. . First attempt to fix the longstanding issue about inputs owned by devices being always tagged as P1 inputs in -lx. This proposed solution increases the field.player() value whenever the owner device changes, unless the input is a keyboard: in this way we correctly number pads and other controllers connected via slot devices to consoles/computers, at price of tagging as 3-player games a few arcades (e.g. those in cubo.cpp) which have two controllers + a touchscreen attached through a separate device. . Fixed wrong default BIOS outputted with -listxml command (ID 06019) . MULTI-LANGUAGE . Initial Catalan translation . String Translate for Chinese (Traditional / Simplified) . Czech language translation . Updated German GUI translation . Updated Greek translation . Updated Italian translation . Updated Japanese translation . Updated Portuguese (Brazil) . Updated Serbian translations . Updated Spanish translation . Compressed internal layouts + Python 3 compat . High-Score Saving: Checksum all the regions (plugins\hiscore\init.lua) . Listxml output fix (port->tag()) . Moved man files, emscripten/windows resources, clipboard handling and common struct to proper location (osd\sdl\man\LICENSE -> docs\man\LICENSE ...). . Use XAudio2 by default if available (lib\osdobj_common.cpp) . Archive handling improvements . Improved error handling in 7zip file I/O code . Fixed reading 7zip files >=4GB on LP32/LLP64 targets . Updated to LZMA SDK to 15.14, supports new 7zip features. Stop relying on local hacks to LZMA SDK. . Supported most ZIP64 features excluding directory compression and LZMA-compressed files in ZIP archives . Supported Info-ZIP UTF-8 file name fields . Fixed phantom files/directories when browsing archives. Report archive handling errors. . Removed OS dependant output handling and added none and console output providers . Added skeleton for network output . Probably fixed the arcade only build (missing games smssgame and spartanxtec) . Implementation for Universal windows main app classes . Get rid of some options that no longer exist (docs\man\mame.6) . Updated windows to use platform independent watchdog implementation. Renamed class to osd_watchdog. . Standardize platform window pointer storage in osd_window. Also encapsulate show/hide capture/release cursor functionality. Check that we have a window before updating cursor state. . Refactor OSD window. Unified renderer in osd_window as std::unique_ptr. Made windows all std::shared_ptr. Made window lists std::list>. Updated OSD SDL worker_param to not use malloc (not compatible with smart pointers). Made renderer pointer to window a weak reference. May not be available during destruction of the window. . Created mame_options as 1st step towards creating core independent of MAME implementation (m_options -> mame_options + emu\mameopts.cpp) . Create final snapshot on -str runs even for screenless systems (emu\video.cpp) (ID 04965) . Machine management cleanups: Boolean parameter to running_machine::run is no longer firstrun (which is now a member variable of mame_machine_manager) but quiet, which disables logging and audio recording without explicitly checking the system name. Sound recording is now turned on and off by explicit calls. The potential uses of this have not been explored. Dependencies reduced on drivenum.h, where the declaration for GAME_NAME(___empty) has been moved to. - SDLMAME . Unsubscribe SDL input modules from events on exit (input\input_sdl.cpp and input_sdlcommon.h) . Cleanup init for SDL in total (input\input_sdl.cpp) . Merged sdl\main.cpp for windows platform (unicode). Moved aueffectutil to tools. . Fixed keepaspect & unevenstretch toggles in SDL OSD . Refactored osd_work to become more C++. Bye to malloc and memset. . Fixed BACKSLASH2 SDL key mapping - MAC OS X . Fixed OSX x86 invalid intptr_t conversion (sdl\output.cpp:86:50: error: format specifies type 'int' but the argument has type 'intptr_t' (aka 'long')). . Removed sdl\osxutils.h/mm, not needed anymore after move to C++11 features. - Android . New icon images (res\drawable-xxxhdpi\ic_launcher.png) . Fixed joystick on Android preventing application to crash, cleanup init for SDL in total. - JSMAME: Updated function signatures for Emscripten (emscripten\emscripten_post.js) - MESS . Added TMS1700/1730 MCU types . TMS9901 Interface: Added RST1 reset line . Added BIOS Rev. 4.35 to (MESS) NCR PC4i . Added more floppy debugging and fixed DMA masking in (MESS) ROLM 9751 . Indicate ready status in st0 after seek (machine\upd765.cpp) - Compiling . Support build without optimize flag. OPTIMIZE= to disable the current default value 3. Also allow ARCHOPTS to be set regardless of OPTIMIZE, useful for debug flags. . Iterate over core classes C++11 style. Avoid auto return types; silence some unused variable warnings. . 3rdparty . Updated BGFX, BX, GENie, Google Test and rapidjson . GENie cl.exe multiprocessor build fix (genie\src\actions\vstudio\vs2010_vcxproj.lua and host\scripts.c) . LUA engine . Added direct and region accessors . Added device_image_interface accessors, emu_file support and indexed items. . Make flags explicit . Added print_verbose, print_info, print_debug and print_error to LUA, and used it instead of print. . Save a copy of the search path so it doesn't get thrown away . Updated libuv to 1.9.0, LZMA SDK to 15.14 and expat to 2.1.1 . Basic TCP server based on libuv . Fixed the MSVC build (src\emu.lua and drivers\super80.cpp) . Added PRECOMPILE=0 so in conjunction with ccache it gives better compile speed . Added UWP (Universal Windows Platform) compile to windows\winmain.cpp with implementation for cursor methods . Renamed emu\memory.cpp/h to emu\emumem.cpp/h . Devfind revision phase 1, cleaning out some legacy stuff: . Eliminate the cached device_t::m_region pointer and its region() getter method. Devices that need to bind to a region with the same tag should use optional/required_memory_region or optional/required_region_ptr with DEVICE_SELF as the subtag; this improves error checking (DEVICE_SELF has been moved to device.h for greater visibility in the source). . Allow required/optional_region_ptr to specify a specific length which must match that of the region found . Implement finder_base::finder_tag() getter for diagnostic purposes . Perform some (not very efficient) validity checks on memory region finders instead of allowing them to automatically pass . Privatize device_memory_interface::m_addrspace . Added includes for dependency documentation. There is still inconsistent use of assert(...) in src\lib\util. libutil compile will use assert from while other parts of MAME will be compiled with assert from emucore.h. . Added more Clang output to tell where #include errors are coming from . Converted osd_event into a class. Since all is std:: now, reduce to inlineable code. . Eliminate device_t::static_config, a type-unsafe legacy feature. . Rewrited or removed every last instance of MCFG_DEVICE_CONFIG and its two aliases, including within comments and dead code. . Moved osdsync to root of OSD and removed osdmini . Use std::chrono instead of GetTickCount in window.cpp/h for Windows OSD . Added short GIT version if building non-release build, also if GIT command is not available or if .git is not there (so building out of other sources). Always rebuild version.cpp when there is GIT version change. . Iterated over devices C++11 style. Replaced the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Added a few more typical getters to device_t::subdevice_list. . Various cleanups suggested by static analyzer (NULL -> nullptr, m_device.xxxx -> device()->xxxx, get_xxxx() { return m_xxxx; } -> get_xxxx() const { return m_xxxx; } ... ) . Instead of DEVCB_NULL use always DEVCB_NOOP to prevent confusion - Debugger . Added DEBUG_DIR and DEBUG_ARGS parameters, make sense right now for VS build (makefile, scripts\genie.lua and main.lua) . Make support for absolute paths for debug dir (scripts\src\main.lua) . Added ImGui based debugger. Note: Currently only works with the BGFX renderer. . Create diagnostic module for profiling and crash diagnostics . Enabled internal debugger, but this would need to go in time, it is too coupled with UI (debugger\debugint.cpp) 0.172 - New games: Android (early build?), Chicken Draw, Fire Ball (FM Work) and Lock On (Philko) - New Working games: Flash Point (World, bootleg), Flash Point (Japan, bootleg), Magical Touch, Tournament Solitaire and Volfied (Tourvision PCE bootleg) - New Non-Working games: Big Buck Hunter II - Sportsman's Paradise (v2.02.11), Butterfly Dream 97 / Hudie Meng 97, Game Tree [TTL], Lucky Bar (W-4 with mc68705 MCU) and Super Game (Sega Master System Multi-game bootleg) - New clones: Armed Police Batrider (Hong Kong) (Mon Dec 22 1997), Batsugun (Korean PCB), Buccaneers (set 3, harder), Cabal (UK, Trackball), Cherry Angel (encrypted, W-4 hardware), Cherry Master '99 (V9B.00), Coco Loco (set 2), Coco Loco (set 3), Come-Cocos (Ms. Pac-Man) ('Made in Greece' Herle SA bootleg), Come Come (Petaco SA bootleg of Puck Man), Crazy Climber (Spanish, Rodmar bootleg), Hipoly (bootleg of Hyper Olympic), Jingle Bell (EU, V141), Jingle Bell (EU, V153), Jingle Bell (EU, V155), Jingle Bell (US, V157), Knock Out!! (bootleg, set 3), Last Resort (prototype), M.A.C.H. 3 (set 2), M.A.C.H. 3 (set 3), Major Title 2 (World, alt sound CPU), Moon Cresta (SegaSA / Sonic), My Hero (bootleg, 315-5132 encryption), Pac-Gal (set 2), Pac-Man (Moon Alien 'AL-10A1' hardware), Pac-Man (SegaSA / Sonic), Pleiads (Niemer S.A.), Robotron: 2084 (1987 'shot-in-the-corner' bugfix), Robotron: 2084 (2012 'wave 201 start' hack), Robotron: 2084 (2015 'tie-die V2' hack), Sega Ninja (315-5113), Spartan X (Tecfri hardware bootleg), Super Bishi Bashi Championship (ver KAB, 3 Players), Super Poker (v102UA), Super Poker (v114IT), Super Poker (v116IT-MX), Super Poker (v200UA), Super Poker (v203US), Super Poker (v205US), Super Poker (v306US), Toki (US, prototype?), Wave Runner GP (original, Rev A), Wonder Boy in Monster Land (decrypted bootleg of English, Virtual Console release), Wonder Boy in Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043) and Wonder Boy in Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043) - New PEPlus games: Player's Edge (PK0756-PC084) Standard Draw Poker, Player's Edge Plus (X002252P+XP000050) Shockwave Poker and Player's Edge Plus (X002309P+XP000038) Triple Double Bonus Poker - New drivers: sms_bootleg.cpp, spartanxtec.cpp and spyhuntertec.cpp - New devices: ad1848, ibm5160_mb, isa_sblaster1_5, mouse_systems_mouse, snk68_spr and tvga9000_vga - New mame.ini options: CORE RENDER OPTIONS: keepaspect, unevenstretch, unevenstretchx, intscalex and intscaley. OSD INPUT OPTIONS: keyboardprovider, mouseprovider, lightgunprovider and joystickprovider. BGFX POST-PROCESSING OPTIONS: bgfx_path, bgfx_backend, bgfx_debug, bgfx_screen_chains and bgfx_shadow_mask. New HLSL presets. NOTE: Create mame.ini and ui.ini with mame -cc - New DATs: Cheat.dat (, Command.dat ( and GameInit.dat ( - COP400 CPU: Implemented the MICROBUS interface - MIPS CPUs: Fixed for MIPS3 compare timer (mips\mips3com.cpp) - PowerPC 4xx/6xx CPUs: Handle divide by zero (cpu\powerpc\ppcdrc.cpp) - Taito Ensoniq ES5505-based sound: Use device_mconfig_additions() (audio\taito_en.cpp) - TMS9927 sound: Added additional sanity checking to the TMS9927/CRT5027 core - 8250 UART: Don't clear THRE on write to the line status register - ATAPI: Basic disk change support (machine\atapicdr.cpp) - Discrete Netlist . First steps to move towards C++11. Base plist on std::vector. Replaced pstack with std::stack. Removed pnamed_list. Use c++ "for each" in a number of places. Fixed two "time bombs". Removed GCC pragmas. These caused problems with MS compiler. Renamed plist_t to pvector_t to clarify origin. Some code simplification. Use std::atomic in netlist\nl_lists.h with OpenMP. . Netlist code maintenance: Renamed netlist_analog_t to analog_t. Straighten object model. Reduced access to member variables. Use pvector for groups. Simple coverity fixes. . Prepared code so that matrices can be allocated in one chunk of memory. Fixed Kid Niki sound speed. Make more class members private. . Simply solver code. Removed ATTR_HOT from solver code. Make virtual members protected. More code optimization. Hide matrix_solver_t implementation. Use netlist_time for time deltas. . Fixed pivoting and float usage . First version of Sherman-Morrison solver + some notes. Removed sorting from Sherman-Morrison solver. It doesn't help. . Fixed crash in stat output when no calculations were run . Added Woodbury solver - aleck64.cpp . Few miscellaneous N64 changes / improvements . Non-interlaced field index should be fixed at zero (video\n64.cpp) . Added ability to change reported EEPROM size at runtime. Adjust timing for SI <-> PIF DMA (video\n64.cpp). - angelkds.cpp: Modernized driver a bit. Added I8255 devices, use generic palette handling and removed 'fake inputs'. - bfm_sc4.cpp: Added layout for Frankie Dettori's 7th Heaven - carjmbre.cpp: Basic program-flow. Added sound and inputs (from online doc, obviously dipswitch info is same as before). Added bg tilemap, palette and preliminary sprites. Background colour looks correct compared to flyer (ID 02615). Marked game as working again, still some problems with sprites. - chihiro.cpp: Added region "mediaboard" and put media board rom in it. Also a few litte changes. More USB. Bulk transfers, let's try to comunicate with usb devices on Chihiro baseboard (machine\xbox.cpp). USB device from Chihiro baseboard now sends some data. - chihiro.cpp, naomi.cpp and triforce.cpp: Docs update - gaelco.cpp, targeth.cpp, thoop2.cpp and wrally.cpp: OKI6295 memory map instead of memcpy - goldstar.cpp . Some technical notes and minor cleanup . Added original Dyna Cherry Master '99 QL-1 V9B.00 set. Renamed existing set to cmast99b - it's hacked to remove Dyna name. Added DIP switch settings and defaults from manual, nothing confirmed. Confirm correct ROM loading. - himesiki.cpp . Improved rom banking. Fix up a few things and added i8255 devices . Added proper flipscreen support, previous support was incorrectly. . Hooked up to the scroll registers (Android (early build?) exposed this bug) - igs009.cpp . Added both missing PPI8255 devices and routed all inputs/outputs through them . Derived a memory map for Grand Prix '98, that seems to lacks of these devices. . Reparent all sets of IGS Jingle Bell. Added technical information about the hardware. - iteagle.cpp: Moved serial irq assignment to top level - megadriv.cpp: Swapped the endianess of the md_slot device bus to big endian, fixing megadriv cheats. - model1/2.cpp: Fixed ROM mapping in audio\segam1audio.cpp and corrected authorship. This fixed playing certain songs in the Daytona USA sound test will not work, and will usually cause all audio to stop playing (ID 06147). - naomi.cpp: Notes about Atomiswave AW-NET cartridges - nbmj8688.cpp (two-player game improvements) . Flipped Player 2 view in layout\nbmj8688.lay to better represent what they see from their side of cocktail cabinet . Added DIP locations for bijokkoy, bijokkog, housemnq, housemn2 and livegal. Document DIP switches for livegal. Make analyser switch for bijokkoy, bijokkog, housemnq, housemn2 and livegal a toggle. Improved dipswitches for apparel, crystalg, idhimitu, iemotom, kanatuen, korinaim, kyuhito, mcitylov, nightlov, ojousanm, orangeci, ryuuha and vipclub. . Improved mapping of start buttons in two-player cocktails with LCDs (housemnq, housemn2, bijokkog and bijokkoy) (ID 02389). Fixed input handling in crystalg, crystal2 and nightlov is wrong (ID 02392). - neogeo.cpp . Added Universe Bios (Hack, Ver. 3.2) . Added correct roms labels and locations for alpham2p, burningfp and lresortp. . Marked alpham2p and burningfp AES VERSION and lresortp MVS VERSION. Sync neogeo.xml. . Don't load unibios 1.2 and older anyway for AES (includes\neogeo.h) . Fixed clone kof10th unable to start/fatal error (bus\neogeo\bootleg_prot.cpp) (ID 06168) - nmk16.cpp: Some configured banking and OKI6295 memory maps instead of memcpy - pcat_dyn.cpp . Fixed "I/O BOARD FAILURE" . Skip I/O board check and connect mouse . Make post text screen work with Trident VGA . Fixed rom mapping and document some keys . Added support for doubled horiz width in TVGA9000 . Added NVRAM and finish inputs. . Added sound (WSS+Sound Blaster 1.5) and mark Tournament Solitaire working - pcxt.cpp . Use PC motherboard device and banking . Plays music unfortunately - peplus.cpp: Added dump of cap1144.u50 for 'Montana Choice (MG0183) Multi-Game' - pse.cpp: Minor ROM definition fixes - psikyosh.cpp: Hooked up watchdog reset for the ps3_v1 board. Daraku Tenshi resets itself instead of hanging following the steps described in MT01112 (Enter into test mode, then into sound test; calling some music data (examples: 0x24 or 0xffff) will make the game hang, unless you press the reset button. In-game bug?). - segas16b.cpp: Improved clones Flash Point (World, bootleg) and Flash Point (Japan, bootleg) emulation (Games now playable) - shanghai.cpp: Converted driver to use the non-legacy HD63484 video device - spoker.cpp . Added the missing PPI's 8255 and routed the involved inputs/outputs through them. Clone 3 Super 8 (Italy) has PPI's initialization routines, but seems to be a leftover since it lacks of them. Also cleaned up the driver and added technical notes. . Decrypted all the US/UA sets. They are still not working due to hardware differences with the former ones laying in the driver. I/O are driven through IGS custom IC's instead of 2x PPI8255 devices. - sprcros2.cpp: Completely rewrote Super Cross II driver. Fixed sprites y positioning. Split legacy code in convenient function calls. Fixed opaque tiles for foreground. Added screen enable bit. Game can be marked working again. - su2000.cpp: Fixed CMOS size, nothing to boot from though. - suprnova.cpp: Some work towards save state support - taitogn.cpp and zn.cpp: CAT702 transform table must be specified in MCFG. This eliminates two instances of driver_start, including one performing a game-name lookup. - toypop.cpp: Rewritten driver due of relicensing. Fixed fg mapper layout. Getting comms right. Added bitmap. Working sound. Changed toypop_state -> namcos16_state. Added basic sprites. Make Libble Rabble to boot, missing RMW area and it shows. Added SCREEN_RAW_PARAMS (same as Galaxian HW). Libble Rabble and Toypop are playable now. Fixed flip sprites. - triforce.cpp: Avoid crash in case of BIOS loading (ID 06159) - tsamurai.cpp . Hardware actually runs at 224 x 256, especially noticeable in Go Go Mr. Yamaguchi. . VS Gong Fight sets 0 as player color in work RAM 0xc502 and it's never ever set up properly. Assume protection related issue. - Aero Fighters: Added OKI6295 memory map for clone Aero Fighters (bootleg set 1) - Atari games: SOUNDCPU rom loading cleanups in various Atari drivers - Bad Lands: Configured banking for the audiocpu instead of memcpy - Black Touch '96: Hardware is a Korean clone of 'SNK68' hardware so start to refactor and share code. - Bombs Away (prototype): Removed outdated BAD_DUMPs - Coco Loco: Added technical notes - Crazy Bonus 2002 . Updated DIP switch descriptions/defaults according to manual . Hook up stop buttons and add to layout. There may be a payout or keyout button and hopper switch that still aren't connected the game is playable with the current clickable artwork, but it might be a nice touch to add clickable buttons for the individual reel stop buttons. - Crime Fighters: World rev of Crime Fighters now default, 4P version was made purely for the US market. - Desert Patrol [TTL]: Added rom bd2.l1 from clone (set 2) - Dynamite Baseball: Two user1 roms were incorrectly being loaded into the data region, and a user2 rom was incorrectly marked as a bad dump because it had been paired with the wrong rom. The IC positions don't agree with other games in the driver, but the ROM check agrees with this (IC 11/12 aren't checked as data roms because they're model roms) and the rom pairings are now correct, and data structures match other games. - Fruit Land: Added sound - Gorf: Added missing Quark Laser (Joystick) lamp (ID 06145) - Pyon Pyon Jump: Added traces and notes - Magical Touch: Marked game as working - Moon Alien Part 2: Changed 'Moon Alien Part 2' and 'Moon Alien Part 2 (older version)' from clones of Galaxian (Namco set 1) to parent and clone - Number Crash: Make game boot with redumped rom - Penfan Girls: No longer loading unused ROMs in clone Penfan Girls - Step1. Mild Mind (set 2) since that board physically doesn't have the chips. - Race Drivin': Fixed issue noticed for clone Race Drivin' Panorama (prototype, rev 2.1) - Sega Ninja: Added correct 'rev A' sprite rom to Sega Ninja (315-5102), the program roms were rev A, looks like this ROM was missed when it was dumped before and corrected rom names. - Spy Hunter: Pull clone Spy Hunter (Spain, Tecfri / Recreativos Franco S.A. PCB) out of the MCR-3 driver, hardware is too different. Also hook up sound cpu and added notes about inputs. - Star Fighter (v1): Fixed 'Bonus_Life' and 'Difficulty' dipswitches (ID 06153) - Steeplechase [TTL]: Added correct Bugle sound chip rom - TeddyBoy Blues: Added the encryption related prom to clone TeddyBoy Blues (Old Ver. bootleg). Otherwise it's just the same as a regular romset, on a bootleg board. - TH Strikes Back: Added save state support - Vector games: Improved junction points of vector lines and fixed size of vector points. Fixed direction of vector extension. - Volfied (Tourvision PCE bootleg): Added redump of the cart - Removed drivers due to unresolved licensing (replaced with skeleton containing ROM loading only): flower.cpp, marinedt.cpp and popper.cpp - Input port . Rewrote input routines as modules (Common, DirectInput, SDL, Unimplemented, Win32, Windows and X11) . Added XInput support for Windows OSD. Dynamically load XInput. Simplify XInput dynamic linking. . Minor fixes for DirectInput 7 . Code cleanup in rawinput plus use common code for dynamic function binding . Use lambdas instead of wrappers (emu\ioport.h). Wrap up INP header I/O. . Rewroted overly complex rawinput_device_improve_name function for rawinput module, plus fixing some other defects in input modules as detected by coverity. . General code cleanup in input modules. Using ComPtr to manage DirectInput resources. . Fixed DirectInput stuck joystick directional input when window loses focus. The reset function for the device was overwriting the axis information previously obtained. Changed it to correctly only reset the state member. . Added IPT_POWER_ON/OFF F1/F2 meant for soft-power buttons, as seen often in battery-backed CMOS CPU machines like (MESS) NeoGeo Pocket. - Dipswitch fixes in goldstar.cpp, nbmj8688.cpp and suna8.c - Fixed rom names in nbmj8688.cpp, neogeo_noslot.cpp, spoker.cpp, system1.cpp and vigilant.cpp - Renamed (crimfght) to (crimfghtu), (crimfght2) to (crimfght), (jingbell) to (jingbelli), (pepk0756b) to (pepk0756c), (pepk0756a) to (pepk0756b), (pepk0756) to (pepk0756a) and (sbishik) to (sbishika) - Description changes of Asian Dynamite / Dynamite Deka EX, Cabal (World, Joystick), Cabal (Korea?, Joystick), Cabal (US set 1, Trackball), Cabal (US set 2, Trackball), Cherry Master '99 (V9B.00 bootleg / hack), Coco Loco (set 1), Derby Owners Club 2000 Ver.2 (Japan) (Rev A), Derby Owners Club (Japan) (Rev B), Derby Owners Club II Ver.2.1 (Japan) (Rev B), Derby Owners Club World Edition EX (Rev D), Derby Owners Club World Edition (Rev C), M.A.C.H. 3 (set 1), Pac-Gal (set 1), Sanrin San Chan (Japan, 315-xxxx), Spatter (315-xxxx) and Super Moon Cresta (Gremlin, bootleg) - MAME . UI . Fixed LANGUAGE_MENU changed when the HIDE_MENU on the customize UI are changed by cursor key . Fixed search for software list (ui\selsoft.cpp) . Enabled user interface navigation through UI_CONFIGURE button (tab key by default). Fixed DATs reload after path changes. Fixed software load failure from BIOS submenu. . Fixed missing mouseover highlight for in-game menu (ui\menu.cpp) . More UI internationalization . Removed unused code and key handler fix (ui\menu.cpp) . Use appname instead of hard-coded MAME for main title (ui\selgame.cpp) . Extended keyboard navigation in the UI on the right side. . Added the skeleton for a configuration menu for single machine. . Fixed bug in building the search path for images. . Added NotoSans-Bold as backup font for platforms that do not have default system fonts exposed. . Improved OSD font API: Release font handles on destruction. Moved font enumeration into OSD, implement for SDL, Windows and OSX. Fixed drawing characters outside Unicode BMP with sdl_ttf. Support TTC fonts with sdl_ttf. Separated font display names from configuration names. Made OSX font configuration name the PostScript face name. Made sdl_ttf configuration name Family|Style. Supply ui_small font as a BDF file with Adobe glyph names. . Moved options "Configure Directories" and "Save Configuration" into "Configure Options" menu . Removed unnecessary icons from the toolbar (performed the same actions of entries already in the menu) . Proper handling the export of the list. Updated the .po files . Make some of the UI code more localisable . Changed filter label from "Originals" to "Parents" (ID 06143) . Improved ROM-less and availability checking at startup (ui\selgame.cpp) . Proper removal of the folder from the path (ui\dirmenu.cpp) . Changed %d to %u to correct ARGB settings display (ui\custui.cpp) . Fixed failure to load software from the BIOS menu selection . Added handling of mouse button held down on arrows in the machine list . Fixed "Show mouse pointer" option stays off (ID 06152) . Improved layout for viewing in vertical orientation . Added support and configuration for the image collection "covers". Slightly modernized and simplified the code. . Fixed unwanted games unpauses when loading External DATs view . Fixed BDC loading and fullpath TTF loading (emu\rendfont.cpp) . Proper drawing of the panels arrows for vertical orientation . Reducing the code for managing icons . Added support to "gameinit.dat" ( . Allow software selected from UI to install slot defaults. Remember to load software when the system name doesn't change. . Made Alt+Arrow minimize or maximize value (ui\sliders.cpp) . MAME OPTION . Let slot_default in softlists override INIs (but not the command line; emu\emuopts.cpp) . Added support to adjust the screen color. This is now used for monochrome screens instead of creating custom palettes (8080bw.cpp, ace.cpp, blockade.cpp, circus.cpp, copsnrob.cpp, fastinvaders.cpp, galgame.cpp, headonb.cpp, hitme.cpp, meadows.cpp, nitedrvr.cpp, orbit.cpp, sbrkout.cpp, sshot.cpp, starcrus.cpp, videopin.cppand MESS drivers) . Changed default value of autoboot_delay to 0 (emu\emuopts.cpp). The LUA scripts themselves can use wait() to delay. . PLUGINS . Added parsing of plugin json files for machine_manager . Populate plugins structures and start marked plugins . Made menu for plugins . Added hiscore plugin (disabled for now). Added support for softlist rom hiscores. . Added -plugins / -noplugins (to enable or disable plugins in total): -plugin highscore (will enable just that plugin) and -noplugin highscore (will disable just that plugin). plugin/noplugin use comma separated list of plugins. . HLSL . Bloom refactoring: Calculation of bloom dimensions is now done only once, when render target is created. Reduced blur width for non-vector screens. Implemented shadow u/v option for source tile mode. Reduced raster bloom level to 8. Extended vector bloom level to 15. Changed vector bloom to be less blocky. Removed bloom_lvl9_weight and bloom_lvl10_weight options. . Cleaned up sliders a bit in render\d3d\d3dhlsl.cpp . Cleanup primary.fx: Split into primary.fx into 3 techniques for vector buffer, screen and UI pass. Moved register_texture() for shaders outside of texture_info creation. Added render_primitive parameter to register_texture(); currently unused. Removed other unused register_texture() definition. . HLSL presets: Added general presets for LCD, raster and vector screens. Added special presets for Game Boy (monochrome LCD) and Game Boy Advance (color LCD). . Refactoring of render targes and vector texture coordinates: Implemented proper texture coordinates for vector quad primitive. Vector screen is now processed in texture coordinates. Revered workaround for raster screen, which is again processed in texture coordinates. Known issue: cocktail mode for vector screen looks wrong. . Cleanup: Options are reset to loaded preset when game is closed. Changed default values of options to result in no effects activated. init_slider_list() does not returns but sets g_slider_list directly. Removed unnecessary oriented_vector_texcoords. . Fixed infinite loop while building slider list, when more than one window was created (ID 06144). . Added option for scanline variation . Added oversampling option and some cleanup . Get NTSC working in both BGFX and D3D . VIDEO RENDERING SYSTEM . Implemented integer scaling in core renderer: Moved -unevenstretch option to core renderer (-unevenstretch = fractional stretching (default) and -nounevenstretch = integer scaling). Added new options to core renderer: -unevenstretchx = Fractional stretching on horizontal axis, integer scaling on vertical axis, -intscalex = Horizontal integer scale factor, default is 0 (auto) and -intscaley = Vertical integer scale factor, default is 0 (auto) . Added screen-specific shader chain support. Added per-screen sliders. . Moved emu\ui\util render_load_jpeg to emu\rendutil. This also adds simple support for loading JPG in external artwork. . Added data-driven shader system for BGFX renderer: Allows an arbitrary number of passes, with arbitrary connections between passes. Ships by default with three effects: default = Simple bilinear stretch, unfiltered = Simple nearest-neighbor stretch and hlsl = A close reimplementation of the Direct3D HLSL shaders. Does not currently support bloom or vectors. Select the "shader chain" you wish to use with -bgfx_screen_chains * Adjust the settings to your liking with slider controls, saving and loading settings and presets will be added in a future version. See bgfx/chains/hlsl.json and bgfx/hlsl/blit.json for JSON format rules. For additional information, see the official MAME documentation. . FILE SYSTEM . Modernised much of the file handling code: Made core_file, osd_file and avi_file and polymorphic classes. Moved osd_file implementations to shareable OSD module code. Made zip/7z implementations of archive_file with common API. Prefer destructors over explicit close functions. Made APIs supply smart pointers. Pass std::string though lots of APIs rather than C string pointers. Added methods for flushing user-space file buffers. Made archive_file create/destroy thread-safe. Fixed buffer overrun when walking zip ECD. Fixed some resource leaks in file handling code. Fixed edge cases where incorrect error code was returned on Windows. Added Solaris PTY implementation. Support ~/$FOO/${BAR} expansion with SDL OSD. Made emu_file handle zip and 7z archives identically. Search archives with CRC+path, CRC+partial path, CRC, path, partial path when loading ROMs/artwork/cheats/etc. Added support for 7z archives via zippath API. Support 7z archives for fullpath loading and media file manager. Made romcmp tool support 7z archives. . Fixed file naming issue when creating new image from internal file manager with media loaded (thanks BIOS-D for reporting) . MULTI-LANGUAGE . Portuguese-Brazil translation update, reviewed and a few tweaks. Convert file to UTF-8. . Updated Chinese (Traditional / Simplified) translation . Added Dutch translation . Updated French translation . French (Belgium) translations . Some fixes/Update to the German translation . Added Greek translation . Added/Updated some fields in Italian translation . Updated Japanese translation . Updated/Fixed Russian translation . Sensibly improve the Castilian Spanish translation. Follow the Spanish capitalization rules, optimize space and use correct grammar, complete missing translations. . Serbian translation . Converted Serbian Latin to Cyrillic (Serbian_Cyrillic\strings.po) . Spanish translation for UI strings . Make translation will now remove fuzzy translations and will not merge those as well. Added IGNORE_BAD_LOCALISATION flag. . MAME LICENSE . Added LICENSE file and updated and docs\mame.txt . Added license to files that were not part of build or are containing data to build sources for cpu emulation. . Added README and LICENSE files (CC0) to folders containing meta-data or documentation . Added license for translations, plugins, benchmarks, regtests and tests . Added/updated licenses for 3rdparty. Removed Apache 2 licensed library since it is not possible to mix with GPL2. . Fixed error and crash in netdev\pcap.cpp . Added mame.lst as main list, it is now generated and should be updated manually. Filtering for subtargets are done by flt files now (arcade.flt and mess.flt). Made sources build use info from mame.lst. Support for filtering exceptions. . Added DirectWrite font support module (font\font_dwrite.cpp). Added module probe support for directwrite so we can fall back cleanly. DirectWrite font enumeration support. . Use chrono calls for time handling in core . Begin documenting machine config macros (emu\mconfig.h) . Move font enumeration to OSD, separate font name from display name as needed for OSX. . Update Windows OSD file functions to preferred more modern versions. All still available on XP and later. . Fixed narrowing error with GCC if LARGE_INTEGER is a union (modules\file\winfile.cpp) . Fixed handling of return codes from newer Windows APIs. Fixed a handle-leak in Windows stat implementation. Return actual error code when path creation succeeds but file creation doesn't (modules\file\winfile.cpp). . Removing unused functions from winutf8.cpp. Also adding UWP implementations for Set/GetWindowText (windows\winutf8.cpp). . Removed disclaimer since it was not shown anyway and it is known fact . Fixed stack smash bugs in INP read/write and better encapsulate the INP header I/O code (thanks Tafoid for reporting), fix divide-by-zero in pathological case of zero-frame recording. . Added attotime test (scripts\src\tests.lua). Document attotime (emu\attotime.h). - MESS . Created AT motherboard device and split PCI and PS2 machines into own files . Added TP0320 CPU. Make DISASM tables human-readable. Preparation for splitting tms1k source file. Added TP0320 microinstructions decode. . PC . Simplify somewhat the PCs/clones and enable configs with less than 640k ram. tandy1t: make the shared vram actually work and use banking. Some of the tandy's will show garbage on the screen when booted, it's the memory test overwriting the shared VRAM. . It appears the IBM keyboard interferes with the Kaypro 286i a20 check (drivers\at.cpp) . Fixed GUI software list cartridge picker fails to select cartridge (ID 06156) . Floppy . Fixed subtle interaction between wd_fdc initial restore and floppy reset . Renamed ioprocs parameters from "generic" which MS C++ compiler treats as keyword when compiling with /ZW (formats\ioprocs.cpp) . Moved PDC floppy command trigger to correct register in (MESS) ROLM 9751 Model 10 . SVGA: Fixed potential crash when svga_s3 hardware pointer is at the edge of VRAM, and fixed viewport scrolling in Red Hat Linux / XF86_S3. . Initial Z80SCC Baudrate Generator support. Turned off logging. - Compiling . Splitted PARAMS into PARAMS and TARGET_PARAMS + deprecated (makefile) . Added .PHONY sections (makefile) . Renamed names that clash system defines in various environments (emu\luaengine.cpp, lib\netlist\nl_base.h, nl_factory.h and plib\pparser.cpp/h) . 3rdparty . Fixed sent upstream (bgfx\src\glcontext_ppapi.cpp) . Fixed autoboot_command (emu\luaengine.cpp) . Fix up a few things in chain JSON loading . Verbose enable debug data with -video bgfx (render\drawbgfx.cpp) . Added missing XAudio2 header from WINE that is free to use. Make XAudio2 available in all Windows OSD builds, plus use 2.9 if available and code cleanup. . Updated BGFX, BX, benchmark, rapidjson, Google Test and GENie. BGFX_CONFIG_DEBUG=1 for Debug builds. Now BGFX shader compile tools are built on host machine. Merge bgfx_shader into master. . Added ability to build using system libuv (1.8.0 or higher required) . LUA engine . Added LUA function screen.orientation(). Return rotation_angle, flipx and flipy attributes. Example: S = manager:machine().screens[":screen"]:orientation(); print (s.rotation_angle, s.flipx, s.flipy). Added popmessage and logerror for LUA. Added software name getter. Extend system library support (scripts\extlib.lua). . Extend USE_SYSTEM_LIB_* to support providing the library name and include directory. To link against system specific lib names and header path: USE_SYSTEM_LIB_LUA=lua5.3:/usr/include/lua5.3. Multiple link and include path support (ie. USE_SYSTEM_LIB_FLAC=FLAC,ogg:/usr/include). . Android . Removed NaCl (Google Native Client) and fixed and PNaCl (Portable Native Client) (makefile, scripts\3rdparty.lua, genie.lua and toolchain.lua). . Make Android targets compile but not link, using Clang compiler in NDK, since GCC will be removed in next one. Fixing some more Android related things. . Fixing some Android related things and compile . Added support for x64 Androids . Added compiling SDL2 for Android + Build SDL2 for Android . Initial work to make MAME work on Android . ARM platform: Support for AArch64 (32/64-bit ARMv8-A; makefile) . Blackberry: No way to support QNX/Blackberry - ARM . Creator-Ci20: Ci20 wip support . MAC OS X: Made Xcode params more generic . OS/2 can not support SDL2 which is needed for MAME to run . Raspberry Pi: Added support for Raspberry Pi cross-compile. Compile BGFX for RPI as well. . SDL . Separated Windows only part in SDL2 build and prepared OSX one . Added -exit_after_playback to man pages sdl\man\mame.6 and mess.6 . Using SDL_INIT_GAMECONTROLLER it explicitly calls SDL_INIT_JOYSTICK some experimental code . Fixed drawing characters outside Unicode BMP with SDL. Font selection on Linux seems to be working provided you don't choose C/J/K fonts. Selecting a C/J/K font causes MAME to give a black screen when dropping back to main menu. Since fallback fonts aren't used, this means you can't use the Chinese/Japanese localisations with SDL font provider. . A lot of TTF fonts (including C/J/K fonts like unifont) do not have an type attribute "Regular". This fix will load the first font found if no "bold" "bold italic" "italic" or "regular" attribute was found. Implement Couriersud's proposal to put style name in the config name for SDL fonts. Enumerate available font styles as well as families. Still has a problem in that TTC fonts are enumerated but can't be loaded by SDL_ttf (font\font_sdl.cpp). Build more of font_sdl.cpp with Emscripten since there is an SDL2_ttf port now (src\main.lua). . Fixed SDL input focus tracking bug plus removed references to USE_OLD_SDL_INPUT compiler directive from the input refactor. . Build project for Windows Store . Fixed build on SteamLink and enforce BGFX on it . Visual Studio . Made Visual Studio use by default bundled SDL2. Make possible to select if bundled SDL2 is used, made mingw and VS compile so far. . Enabled multi core compile on VS . Replaced strformat, strprintf and strcatprintf with type-safe steam_format and string_format. Updated MAME to use new function. Instantiate ODR-used static constant members. Removed use of retired functions in tools. . Made makefile executable without GNU tools (makefile) . Support *n conversion in stream_format/string_format: Make stream_format return characters printed. Added iostreams with std::vector storage. Move to type-safe templates for logerror and popmessage. Removed now-unnecessary I64FMT from calls to logerror/popmessage. Put some lib/util stuff in util:: namespace. Added ability to pass argument packs that don't need templates all the way down (util\strformat.h). . Added function for flushing file buffers. Explicitly flush log file on each line. Don't need to call FlushFileBuffers (it's equivalent to fsync, not fflush) in emu\machine.cpp and osd\windows\winfile.cpp. . Get rid of most uses of core_i64_hex_format, all remaining uses are in memory.cpp. Also core_i64_format. this cleans up abuse of static buffers in the unmapped read/write reporters. core_i64_hex_format is now a static function in emu\memory.cpp. Implement swappable concept properly (util\vecstream.h). . Use std::atomic and std::mutex where applicable. Removed test in emu\validity.cpp since atomic functions about to be removed. Use std::atomic in chd.cpp/h and sync\work_osd.cpp. Removed asm part for atomic implementations (osd\eigccppc.h, eigccx86.h, eivc.h, eminline.h and sync/sync_windows.cpp). . Used std::thread and std::condition_variable . Reduced number of formatting template instantiations needed - should reduced compile time and executable size a bit (util\strformat.h). . Turn core_file into a proper class that gets cleaned up safely using unique_ptr . TIMER_CALLBACK to TIMER_CALLBACK_MEMBER . Removed I64FMT and SIZETFMT, one usage left in tools\chdman.cpp. . Use type-safe printf for core_file and emu_file, surprisingly few knock-on effects. . Allow seek to position 0 in a vectorstream with empty storage, always reserve 1k for core_file printf buffer. . With latest package from MSYS of Clang 3.8.0 build at least compile fine on windows . Fixed GCC 6.0 build . Clang 3.8.0 supports -municode . Make osd_file a polymorphic class that's held with smart pointers. Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures. Make zip_file and _7z_file classes rather than having free functions everywhere. Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache. Don't dump as much crap in global namespace. Added solaris PTY implementation. Improved variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax. Rearranged stuff so the same things are in file module for all OSDs. Moved file stuff into its own module. 7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access. Directory functions still need to be moved to file module. SDL OSD may not initialise WinSock on Windows. . Put back Doxygen search box (doxygen\doxy-boot.js). Do not sort Doxygen member functions and macros for now (doxygen\doxygen.config). . ZIP . Removed confusing method from vectorstreams that hide base_ios method (fixes disassembly view). . Allow std::string to pass through core_file unmolested (reduces temporary allocations). . Make zip/7z instances of same class with uniform interface. . Note: zippath browsing is broken at the moment. This is another step towards transparent archive support. It's now possible to access zip and 7z archives with the same code. Nothing is taking advantage of it yet. There's now some very similar code in fileio.cpp and clifront.cpp that could be folded at some point. . Fixed zippath browsing and allow zippath to browse/load 7zip. 7zip romcmp. . Fixed boundary check on parsing ZIP ECD . Make emu_file archive searh order CRC+path, CRC+partial path, CRC, path, partial path and fold some redundant code. Try next archive type if file not found, not just on open error (emu\fileio.cpp). . Emscripten . Fixed Emscripten build when Clang is the default compiler (issue #704) . Build more of font_sdl.cpp with Emscripten since there is an SDL2_ttf port now (src\main.lua) . Enable the internal delegates for Emscripten (util\delegate.cpp) . Allow command-line errors to work in Emscripten (src\main.lua) . Include shadow-mask.png in Emscripten . Fixed many valgrind mismatched free() / delete / delete [] errors (lib\util\corealloc.h) . Get max char size from ANSI codepage instead of IsDBCSLeadChar() (osd\strconv.cpp) . Updated makefile to support more building environments and to prevent crashing if folders are missing . Avoid dereferencing null pointers in set_system_name (emu\emuopts.cpp) . Type-safe C++ printf analog and vector-backed iostreams: Supports most C99, glibc, SUS and MSVCRT format specifications. Allows formatting any object with stream output operator with %s. - Debugger . Changed field format to show leading zeros for debugger 'dasm' command as well . Use stream with contiguous backing store for the disasmview's buffer (debug\dvdisasm.cpp) . Added common debugger commands to global menu bar. Also fix occasional crash in Copy Visible. Note that copy visible, paste, toggle breakpoint and view options still require you to use context menus in windows. Debug/Run menus only work when a debugger window has focus, so Break is less useful than it could be. . Commented out regression slow error.log on Windows (machine.m_logfile->flush(); emu\machine.cpp) 0.171 - New games: '96 Flag Rally and Michigan Super Draw (2131-16, U5-2) - New Working games: Carnival King and Pyon Pyon Jump (V1.40, Japan) - New Non-Working games: Cross Puzzle, Dragon Treasure 2 (Rev A) (GDS-0037A), Lucky 9, Multistar 7 2c, Name Club (J 960315 V1.000), Name Club Ver.2 (J 960315 V1.000), Print Club 2 '98 Summer Ver (J 980603 V1.100), Print Club 2 Pepsiman (J 970618 V1.100), Print Club 2 Puffy (Japan), Print Club 2 Vol. 6 Winter (J 961210 V1.000), Print Club 2 Vol. 7 Spring (J 970313 V1.100), Print Club 2 Warner Bros (J 970228 V1.000), Print Club LoveLove (J 970421 V1.000), Print Club LoveLove Ver 2 (J 970825 V1.000), Print Club Yoshimoto V2 (J 970422 V1.100), Silent Scope Fortune Hunter and Wangan Midnight R (WMR1 Ver. A) - New clones: 1000 Miglia: Great 1000 Miles Rally (94/05/10), 1000 Miglia: Great 1000 Miles Rally (94/05/26), 1943: Midway Kaisen (bootleg), 64th. Street - A Detective Story (Japan, set 2), Block Block (World 911219 Joystick), Cherry Gold I (set 2, encrypted bootleg), Cherry Master I (ver.1.01, set 8, V4-B-), Cherry Master I (ver.1.10), D. D. Crew (bootleg), Fighting Golf (US, Ver 2), Frogger (Sega set 3), Jurassic Park 3 (ver UA), Moon Light (v.02L0A, high program, alt gfx), Moon Light (v.02L0A, low program), Moon Light (v.0629, high program), Multi Champ (World, older), NBA Jam (rev 1.00 02/1/93), NeoGeo Battle Coliseum, New Cherry '96 (bootleg of New Fruit Bonus?), Police 24/7 (ver EAA, alt), Print Club 2 '97 Winter Ver (J 971017 V1.100, set 2), Raiden Fighters 2 - Operation Hell Dive (Italy), Royal Poker '96 (set 4, C3 board), The Rumble Fish (prototype), Space Rocks (Spanish clone of Asteroids), Super Bobble Bobble (bootleg, set 4), Super Cherry Master (v1.0), Thrill Drive 2 (ver AAA, alt 2), Thrill Drive 2 (ver AAA, alt), Touche Me (set 2, harder), Tsurugi (ver EAB, alt), World Combat (ver AAD:B, alt), World Cup Volley '95 Extra Version (Asia v2.0B) and World Rally (Version 1.0, Checksum 8AA2) - New drivers: amazonlf.cpp and nibble.cpp - New devices: ay8930, jangou_blitter, zac1b11107 and zac1b11142 - New Compile Tools: MSYS2 ( - NOTE: Create new mame.ini and ui.ini with mame -cc. New mame.ini options: exit_after_playback = 0, language = English, languagepath = language, pluginspath = plugins, record_timecode = 0 and ui = cabinet. - CPU Interface: Make generic VTLB implementation a modern device interface - H8 CPU: Fixed a typo in the array length of the register names string - i386 CPU . Don't change IF when IOPL < CPL . 80386 sreg push only 16 bits and loadall. All OS/2 betas work with CGA now. - I8086 CPU: Fix i86\i86.txt notes - M68000 CPU . Removed generated files for m68k cpu core. Updated makefile to generate m68k files. Fix to work on OSX and Linux as well. . makefile should inherit CC and GCC if set in parent makefile. Added user overriden parameters for compiling mc68k core (makefile). - NSC8105 CPU . Added opcodes $b2, ldax_imm and stax_imm . ADCX opcode is actually an ADDX . Improved opcode $bb, added extra protection ports. . Fixed DASM for the new opcodes (cpu\m6800\6800dasm.cpp) - Z80 CPU . Added a debug mechanism for /WAIT pin assertion mechanism (enable with STALLS_ON_WAIT_ASSERT in CPU core), and hooked it up to Night Gal driver as a quick example. . Added crude implementation of WAIT pin . Put take_nmi in the execution loop, eg. z80 writes to another device NMI enable register. Removed obsolete irq_line write handler. - 8259 PIC: Added spurious irq 7 with logerror - Atari Custom . Modernized sound volume setting code in various Atari drivers. This lets atarigen.cpp shed legacy sound routines using the archaic method of looking up sound devices by types rather than tags, which until 0.126u2 they weren't required to provide and often didn't have (arcadecl.cpp, atarisy1.cpp, atarisy2.cpp, badlands.cpp, cyberbal.cpp, gauntlet.cpp, rampart.cpp, relief.cpp and machine\atarigen.cpp). . Atari Slapstic: One small step toward slapstic modernization. Make chip number part of device configuration, not init param. Correct mainpcb slapstic number in racedrivpan. Removed many unused slapstics. Hopefully no regressions. - Discrete Netlist . Added a BC548 transistor model (netlist\devices\net_lib.cpp) . Make Zaccaria 1B11142 sound board a device in preparation for netlist sound - Programmable Logic Device (PLD): Added support for the AMPAL18P8 (tools\jedutil.cpp). Adding regression tests for the AMPAL18P8. - Sega Custom: Evidence suggests there aren't 2 channels for 315-5838 / 317-0229 - blmbycar.cpp and glass.cpp: OKI6295 address map instead of memcpy - chihiro.cpp . Added backface culling to 3D accelerator . More USB (machine\xbox.cpp) . Redumped 'Sega Network Taisen Mahjong MJ 2 (Rev G) (GDX-0006G)' GDROM - cobra.cpp: Register 0x114 is fb read pix/line count - galaxi.cpp: Some cleanups - goldstar.cpp . Golden Star: Rearranged and splitted clone Moon Light (v.0629, low program) by program. This generated the new sets due to the hidden extra programs in the program ROMs. Fixed the program ROM addressing in clone Moon Light (v.0629, low program). This fix the corrupt graphics in the double-Up feature. . Better graphics decode for GFX1 for clone Super Nove (Playmark) and better approach decoding GFX2 bank. Green is OK. Red needs normal goldstar order. . Lady Liner aysnd address/data was wrong way around - the game doesn't do anything then enabling the ay though. . Found in Wild Poker where aysnd is mapped, but doesn't do much with it either. - jangou.cpp . Added SCREEN RAW PARAMS and notes . Moved JANGOU_BLITTER into a device . Implemented flip screen to driver - kurukuru.cpp . Fixed Pyon Pyon Jump (Game now playable). Created derivative machine driver. Hooked the V9938 Yamaha VDP. Added the DIP switches bank #1. Hooked the system input ports. Added support for Yamaha YM2149. Decoupled the YM2149 data read. Correct bankswitching. Added sound latch & output port. Proper inputs + DIP switches support. Second CPU IRQ ack. Promoted to working. OKI M5205 ADPCM samples support. Added notes about Pyon Pyon series. Documented Pyon Pyon Jump. Reverted Jyanpu to Jump. Firstly standard romanisation is "ja" not "jya" anyway, so it isn't even techically correct. Secondly MAME uses English spelling for imported English in Japanese titles, e.g. "gal" not "gyaru" in many mahjong titles. Better explanation of Pyon Pyon, don't hard-code default inputs, use standard bookkeeping input. . Proper year for Kuru Kuru Pyon Pyon from japanese Wikipedia. Notes about ADPCM Samples. - laserbat.cpp . Cat and Mouse: Redumped graphic rom as the correct size. Fixed sprite banking. Better approximation of colours, should be pretty close now. . Laser Battle: Fixed TMS3615 clocks, Guillaume Tell Overture is recognisable again. Note: If demo sounds are enabled (using DIP switches), background music is played every sixth time through the attract loop. Fixed inadvertently swapped TMS3615 organ chip clocks (fixes music). . Replaced some interrupt gen members with MCFG . Make Zaccaria 1B11142 sound board a device in preparation for netlist sound. Moved Zaccaria 1B11107 board into audio\zaccaria.cpp so it can share common stuff with 1B11142. Yes, I realise Cat and Mouse sounds different, the intermediate mixer seems to have that effect. It will all change again when we get netlist filtering anyway. - maygay1bsw.c: Fixed several games are crashing while initializing (ID 06137) - mcr.cpp, mcr3.cpp and mcr68.cpp: Small cleanup (includes\mcr3.h) - meritm.cpp: Replaced AY-3-8910A sound with AY8930. Doesn't use AY8930 expanded mode. - model3.cpp: Updated notes on DSB hardware - naomi.cpp: Added unknown NAOMI development(?) board BOOT ROM - nightgal.cpp . Added opcodes ldax_imm and stax_imm for NSC8105 CPU core, used by Night Gal Summer (cpu\m6800\ . NSC8105 ADCX opcode is actually an ADDX, fixes gfx garbage in Sexy Gal. . Added opcode $b2, Night Gal Summer shows some graphics now. Improved opcode $bb, added extra protection ports. . Added SCREEN RAW PARAMS and basic outputs . Added a debug mechanism for /WAIT pin assertion mechanism (enable with STALLS_ON_WAIT_ASSERT in CPU core) to the Z80 CPU, and hooked it up to Night Gal driver as a quick example. . Changed Night Gal to use the new JANGOU_BLITTER device . Improved protection in Night Gal Summer . Implemented flip screen to driver - nwk-tr.cpp: Fixed network ram test - sigmab52.cpp: Changed the games description and added some notes - slapfght.cpp: Added Guardian PCB readme - viper.cpp . Unknown serial device at 0xff300000 . Fixed U13 fail in mocapb, mocapbj, p911, p911e, p911j, p911uc, p911kc and p9112 . Added newly dumped CF card for clone World Combat (ver JAA) - zaccaria.cpp . Replaced some interrupt gen members with MCFG . Make Zaccaria 1B11142 sound board a device in preparation for netlist sound. Added to Jack Rabbit and Money Money. - Arkanoid/Tournament Arkanoid . Fixed F3 soft-reset on Arkanoid sets with MCU . Made anonymous timer non-anonymous and fixed savestates for the sets using the original Taito MCU code . Documentation cleanup/updates - Carnival King: Fixed ITEagle FPGA. Game now working. - Chimera Beast: Added priority prom from 64street (ID 02327) - Gals Panic (Unprotected): OKI6295 address map instead of memcpy, added save state support and removed some leftovers. - Glass: OKI6295 memory map instead of memcpy - Janken Man Kattara Ageru: Avoid unnecessary use of PORT_CODE - Karate Champ: Changed clock speed to match music pitch based on video for clone Karate Dou (Japan) from PCM/Samples are still pitched too low as detailed at - Mystery Number: Corrected release year and manufacturer - Over Drive . Added screen raw parameters. Added sound irq ack and removed hack (doesn't seem necessary). Fixed gearbox input, flipped around irqs for testing. Note about versions. . Moved sprite irq DMA into a timer callback. Better naming for master-to-slave-irq-assertion. - Print Club 2 '97 Winter Ver: Added missing cart roms - Snow Board Championship: Figured out algorithm and replaced 8GB lookup table with proper emulation of device - Solar Jetman (PlayChoice-10): Changed flag to imperfect graphics - Super Punch-Out!!: Hopefully fixed protection - Taito Cup Finals: Added PALs to clone Hat Trick Hero '93 (Ver 1.0A 1993/02/28) - Vigilante: Added video timing prom. Note: One of the Buccaneers proms matches the Vigilante video sync prom. - Save state . Allow load/save state slots to be bound to joystick buttons . Fixed save state problem in karatblzbl, timeplt.cpp and MC6845/H46505 CRT (i.e. futflash, docastle, usgames and madalien) found by Tafoid . Don't crash on state load when the mixer is disabled by lack of inputs (misconfiguration or missing samples) (emu\disound.cpp) . Fixed save state problem for kof10th - Dipswitch fixes in goldstar.cpp, jangou.cpp, mitchell.cpp, nightgal.cpp and ppj - Fixed rom names in arkanoid.cpp, grdian, midtunit.cpp, naomi.cpp, potopoto, stv.cpp,taito_f3.cpp and wrallyb - Renamed (block) to (blockr2), (blockjoy) to (blockr1), (mj2) to (mj2f), (mj2g) to (mj2), (pclb297w) to (prc297wi), (pclb298a) to (prc298au), (pclub298) to (prc298sp) and (wrallyb) to (wrallyat) - Description changes of 64th. Street - A Detective Story (Japan, set 1), Cherry Gold I (set 1), Dead or Alive 2 (Rev A), Dead or Alive 2 Millennium, Joker's Wild (B52 system, BP55114-V1104, Ver.054NMV), Joker's Wild (B52 system, WP02001-054, Ver.031WM), Joker's Wild (B52 system, BP55114-V1104, Ver.054NMV, Harrah's GFX), Moon Light (v.0629, low program), Multi Champ (Korea, older), NeoGeo Battle Coliseum (Japan), Night Gal Summer (Japan 850702 NGS 0-01), Poto Poto (Japan, Rev A), Print Club 2 '97 Winter Ver (J 971017 V1.100, set 1), Pyon Pyon Jump (V1.40, Japan), Super 8 Ways FC (DB98103-011, Fruit combination), Touche Me (set 1), World Rally (Version 1.0, Checksum 0E56) and World Rally (Version 1.0, Checksum 3873). - MAME . UI . Initial import of MEWUI to MAME . Added UI parameter, option simple gives back old style start screen, features for configuration and in game stays same as with new. Fixed "Can't unpause emulation when SHIFT key is mapped to Pause function (ID 06131)", it's now configurable. . Keep ui options separate from emulator ini file. TODO: Need fixing saving of some core settings that could be changed by UI. Moved some options to ui.ini. . Save mame.ini options only if they are updated in UI . Made -cc creates ui.ini as well . MAME related settings are saved on request only . Added save to simple UI (ui\simpleselgame.cpp) . Allow dat files in the root by default. Fixed search path for snapshots. Fixed text in custom colours setup screen. The video mode in the menu display options are now obtained directly from the settings. . Added new options: -[no]exit_after_playback (default=no) and -[no]record_input (default=no). Added new UI shortcut to save current timecode (default F12). Videosnaps patch (additional file to write: gamename.inp.timecode). Translated variable names and comments to english language. . Removed the creation of cache file 'info_', and also removed 'Screen Type', '(no)Samples' and 'Stereo' filters. TODO: Pending to restore them in a proper manner. . Standard menu now correctly handle the double click of the mouse . Grouped display of external DAT file information in a single view. Fixed crash clicking on the DATs icon in the toolbar if there is no info available. . Fixed ROM-less games like breakout cannot be started from internal UI (ID 06135) . Added support for autofire under cheat menu and available only if cheats activated . Draw FPS counter even in menus . Allocate and draw icons only if available . Fixed search in filesel, dirmenu and swlist. . Added option in the "Customize UI" menu for selecting the language . Make internal mousepointer (that big orange one) smaller and less jaggies (ui\ui.cpp) . Multi-language . Added multi-language support for MAME (language\Afrikaans, Albanian, Arabic, Basque, Belarusian, Bosnian, Bulgarian, Burmese, Catalan, Chinese_Simplified, Chinese_Traditional, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, French_Canada, Georgian, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Macedonian, Norwegian, Persian, Polish, Portuguese, Portuguese_Brazil, Romanian, Russian, Serbian, Serbian_Cyrillic, Slovak, Slovenian, Spanish, Spanish_Mexico, Swedish, Thai, Turkish, Ukrainian and Vietnamese). . Added sample language to show display in cyrillic use mame -lang "Serbian (Cyrillic)". . Added ability to work with static text translation . Added python replacement for msgfmt (Generate binary message catalog from textual translation description) . Software list . Software list entries can now supply slot option defaults. This feature is enabled when executing 'mame driver software'. After the specified software is found in the software list and attached to an appropriate image device, the software part's feature list is examined for any feature whose name is that of a slot device with _default appended. The feature's value field becomes the slot's default option, which overrides any driver-specified default and can be overridden by user-specified options. No software lists have been updated to use this feature at the moment. . Ignore invalid default slot options in software lists. This prevents software lists from (e.g.) trying to put a Zapper into ctrl1 on the Famicom. . Make octal flag part of address_space/address_space_config, not (illogically) device_execute_interface. . Dropped DirectDraw renderer (render\drawdd.cpp and drawdd.cpp) . Fixed -window -r -nokeepaspect behavior on Windows OSD and nounevenstretch (windows\window.cpp) . Fixed ledutil (ID 06134) . HLSL . Fixed skip of phosphor pass (render\d3d\d3dhlsl.cpp) . Improved scanline simulation: Changed the amount of scanline darkness, a setting of 1.0 now becomes fully black (to get the same result as before half your current setting). Scanline height now depends on the brightness of the underlying color. The amount of the scanline brightness and overdrive now depends on the scanline darkness. Renamed 'Scanline Screen Height' to 'Scanline Screen Scale' and 'Scanline Indiv. Height' to 'Scanline Height'. . Fixed Bloom level alignment: Fixed target dimensions of bloom levels, which results in a much better alignment especially for game with very low resolution (therefore current bloom settings might look a little less intense than before). Small cleanups. . Quality and performance improvements: HLSL now uses NPOT sized target surfaces (breaks compatibility with graphics cards based on R300/R400/NV30 and older). HLSL target surfaces now have the size of the screen canvas. Removed HLSL pre-scale factor. HLSL now uses a sharp bilinear interpolation to pre-scale textures to screen canvas size, based on [Themaister's] implementation. Improved overall performance (based on the previously required pre-scale factor, you might notice a 5-50% speed-up depending on your graphics card, more if you used a higher pre-scale factor). Improved shadow mask quality (pixel-perfect) in screen-mode. Fixed half source texel offset of bloom level alignment. Removed ./hlsl/artwork_support folder. All shaders after pre-scale are now based on screen coordinate (workaground, till both raster and vector pass can work on texture coordinates). Disabled distortion shader for more than one screen and for artworks in full mode, does not affect artworks in copped mode (workaground, till both raster and vector pass can work on texture coordinates). Moved compute_texture_size() from texture_info to texture_manager . Resolved conflicts in render\d3d\d3dhlsl.cpp/h, drawd3d.cpp/h and winmain.cpp - SDLMAME . If binding, listening or connecting to a socket fails, then close the socket handle (sdl\sdlfile.cpp). . Substantial improvements to Web Audio sound backend for Emscripten port (sound\js_sound.js) . Make window index part of osd_window . Refactor MACOSX_USE_LIBSDL to USE_LIBSDL for windows and linux static library support . Removed SDL 1.2 support. Added SDL 2.0.4 for Visual Studio, so it can be compiled out of box. Made OSD=sdl build compile out of box in Visual Studio. - MAC OS X . Check STRIP_SYMBOLS in strip function and add strip support for OSX . OSX Clang, silence flac unknown attribute error. - MESS . Fixed Amiga expansion port interrupts, DMAC WIP. . uPD7220 video: Command 05 appears to blank the display - Compiling . Call to nothrow allocation (global_alloc -> global_alloc_nothrow and global_alloc_array -> global_alloc_array_nothrow) (debug\textbuf.cpp, render\drawdd.cpp, sound\wavwrite.cpp, util\corealloc.h and windows\input.cpp). Conversion from auto_alloc_clear -> global_alloc_clear (imagedev\floppy.cpp and emu\diimage.cpp). . Removed pointless cast like (wav_file *) global_alloc -> global_alloc (debug\textbuf.cpp and sound\wavwrite.cpp) . Avoid strlen calls in a loop (debug\debugcmd.cpp, emu\luaengine.cpp and render.cpp) . Simplified "device_image_interface::set_image_filename" function (emu\diimage.cpp) . Replaced int with bool where applicable (int xx = TRUE/FALSE -> bool xx = true/false) . 3rdparty . Added Google Benchmark library. Included sample benchmark for eminline for native and NOASM. Made GoogleTest compile only if tests are compiled. . Added libuv library ( . Added http-parser ( . Initial support for BGFX. Added multi window support for BGFX backend. Significant speed improvements to the BGFX renderer. Enabled BGFX support for SteamLink. Use RGBA instead of BGRA. Added basic JSON-based single-pass shader effect support to BGFX renderer. . LUA engine . Added lua-zlib, lfs and luv support for LUA, exposed all using luaengine. Added plugins and boot.lua as startup script. Initialize LUA bit earlier to give more opportunities to scripts. . Added multiple callback registration for lua scripts . Extended LUA API + parameters, video, ioport and cheat . Added plugin info json files and made system automatically load available plugins and start them if flagged so . GENie make targets for packager scripts . Added rapidjson . OSD Mini: Fixed build issues (osd\osdmini.lua, osdmini_cfg.lua and minimisc.cpp) . Added macros for alignment checking . Replaced osd_lock with std::mutex. Fixed regression with some drivers, for render we just need to keep mutex per thread. Reverted using dereferenced mutex (sync\work_osd.cpp). . Start making code a little more modern c++y with classes, member functions etc. rather than legacy structs, tokens etc (machine\k033906.cpp/h, video/vooddefs.h, voodoo.cpp/h, voodoo_pci.cpp, drivers\funkball.cpp, gticlub.cpp, hornet.cpp, magictg.cpp, nwk-tr.cpp, savquest.cpp, seattle.cpp, vegas.cpp and viper.cpp) . Added a document with Emscripten build instructions (Compiling MAME to JavaScript via Emscripten) . Suppressed C4592 warning in VS 2015 (scripts\genie.lua) . Fixed compile when using params like OVERRIDE_CXX='ccache g++' OVERRIDE_CC='ccache gcc' . Improved cross compile support: Added TOOLCHAIN make flag for explicit toolchain prefix cross compiling.


0.175: Updated to MAME 0.175 ( Added Source/Listinfo changes. Newest Bugs (29th Jun). Added FB Alpha v0.2.97.38 Emulator infos. Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.174: Updated to MAME 0.174 ( Added Source/Listinfo changes. Newest Bugs (25th May). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.173: Updated to MAME 0.173 ( Added Source/Listinfo changes. Newest Bugs (27th Apr). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.172: Updated to MAME 0.172 ( Added Source/Listinfo changes. Newest Bugs (30th Mar). Added missing CHD infos (thanks to Marco Tucceri). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.


MAMEINFO.DAT 0.175  (2.52 MB)

MAMEINFO.DAT 0.174  (2.50 MB)

MAMEINFO.DAT 0.173  (2.49 MB)

MAMEINFO.DAT 0.172  (2.47 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions