Mameinfo.dat v0.174
Updated - 31st May 2016

Homepage -
E-Mail -



What's New

*NEW* Mameinfo 0.174 (2.50Mb)

*NEW* MAMEUI 0.174 Category-, Version and Alltime inifiles (a)(628 kB)

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

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.175GIT - New clones: Lethal Weapon 3 (2.07) and Super Street Fighter II: The Tournament Battle (Japan 931005) - ADSP21062 CPU: Added highly experimental SHARC recompiler (disabled by default) - Sound Interface: Updated more drivers to use the new gen_latch.cpp, which should substitute the soundlatch_* methods in driver_device. - 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). - CHDMAN: Ignore ATA ident CHS values for > 8GB images - 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. - ataxx.cpp: Fixed missing required objects fatalerror (AM_SHARE("mainram")) - atlantis.cpp and iteagle.cpp . Updated rom naming/mapping and changed ram instantiation (mips\mips3drc.cpp and machine\vrc4373.cpp) . Updated Atlantis driver - chihiro.cpp: Try to boot Crazy Taxi High Roller & small 3D adjustments. - cps3.cpp: Speed up initial programming by reducing the number of error.log entries - goldstar.cpp . Added new technical notes to Flaming 7. Added hand made electronic serial DS2401 dump, as a start of electronic serial number support. . Tetris + Cherry Master (+K, Canada Version, encrypted) hidden switch documentation - leland.cpp . Merged ataxx.cpp into leland.cpp as they had a completely shared main header file (leland.h). . Fixed missing required objects fatalerror for ataxx (ADDRESS_MAP/AM_SHARE"mainram") - 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. - model3.cpp: Update culling node info (video\model3.cpp) - 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 - Gradius 4: Added rasterizers (video\voodoo_rast.hxx) - Hole Land: Corrected default dips (local language, not English) and added dipswitch definitions for clone Hole Land (Spain) - Input port: Added flag to mark input fields as optional - Match Games . Added technical notes and corrected CRT 810 layout + old notes . Some cleanup for coding standards and fixed coinage dipswitches. - Ozma Wars: Added color proms - Rad Mobile: Swap Lights_lamp and Wiper_lamp (these output signals were misassigned) - Fixed rom names in naomi.cpp - Renamed (lw3_207) to (lw3_207c) and (ssf2tbj) to (ssf2tbj1). - Description changes of Hole Land (Japan) and Hole Land (Spain) - MAME . VIDEO RENDERING SYSTEM . BGFX . Fixed debug crash with BGFX screen chains (chains\hlsl.json, render\bgfx\chain.cpp) . 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 . Fixed -resolution and -switchres (modules\osdwindow.h, sdl\window.cpp and osd\windows\window.cpp) . 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 . 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 . PLUGINS . Make pluginspath apply in plugins\boot.lua . hiscore.dat: Fixed segaxbd.cpp games and improved error. More fixes. . MULTI-LANGUAGE: Updated French/Belgian language files . Fixed a mismatched new[]/delete error in util\corealloc.h . Added template/macro for delaring array with equivalent dimensions (osd\osdcomm.h) - SDLMAME: Disable pthreads under Emscripten for now, they aren't actually available unless you compile with experimental settings (osd\osdsync.cpp). - Compiling . 3rdparty . Updated BGFX and BX . 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) - Debugger: Debugger may crash when validating expression with non-existent memory space name (debug\debugcpu.cpp) (ID 6225) (ID 6226) (ID 6227) 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.173: 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.
0.171: Updated to MAME 0.171 ( Added Source/Listinfo changes. Newest Bugs (24th Feb). Added missing CHD infos (thanks to Marco Tucceri). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.


MAMEINFO.DAT 0.174  (2.50 MB)

MAMEINFO.DAT 0.173  (2.49 MB)

MAMEINFO.DAT 0.172  (2.47 MB)

MAMEINFO.DAT 0.171  (2.46 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions