Mameinfo.dat v0.180
Updated - 9th December 2016

Homepage -
E-Mail -



What's New

*NEW* Mameinfo + MAMEUI-inifiles-0181GIT (9th Dec) (3.15 Mb)

MAMEUI 0.180 Category-, Version and Alltime inifiles (655 kB)

MAME NEWS from 0.37b1 - 0.180 (3.70 MB)

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.181GIT - New games: Miss World 2002 and Power Flipper Pinball Shooting v1.33 - New Non-Working games: Knights of Valour 3 HD (V105) and Royal Ascot II - New clones: Knights of Valour 3 HD (V101), Knights of Valour 3 HD (V102), Knights of Valour 3 HD (V103), Knights of Valour 3 HD (V104), Sega Rally Championship - DX, Simpson Junior (bootleg of J. J. Squawkers), Space Dungeon (larger roms), Super Visual Football: European Sega Cup, Top Skater (USA) and Virtua Striker 2 '99 (Step 1.5) - New PEPlus games: Player's Edge Plus (XMP00011) 5-in-1 Wingboard (CG2298) - New PinMAME games: Lost in Space (1.01 France) and X-Files (3.03 France) - New drivers: pgm3.cpp - New devices: 74ls157, ef9369 and input_merger_hi - M68020 CPU: Respect 68020 "freeze I-cache" bit; (MESS) 'Micro 20' 68020 cache test now passes. - 6840 PTM: Use standard device clock for internal clock - ATAPI . Fixed issue with 68000 byte writes to sector count by only taking the bottom 8 bits from the bus (machine\atahle.cpp). Note: Don't use mem_mask as ATA doesn't have an equivalent mechanism for byte accesses and it could mask out data that real hardware would keep. . Fixed for ATA Write Multiple (command c5) ignoring the block count on the first block (machine\idehd.cpp) - MC68230 PIT . Improved reset, timer and port C behaviour. Fixed typo and removed uneeded counter in exchange for a more clear TIN pin clock update interface . Added bit wise update methods for all ports and moved register access methods to private section . Fixed bug in port A-C write and added check of DDR registers for bit updates . Added initial support for timer interrupts and embryonic support for port interrupts - Microtouch touch screen: Added output status command and fixed data transmission at 2400 baud (drivers\adp.cpp, cubo.cpp, magtouch.cpp, meritm.cpp, pcat_nit.cpp, tmaster.cpp and vlc.cpp) - TTL: Added 74LS157 Quad 2-Line to 1-Line Data Selectors/Multiplexers device - Z80 DART: Set the vector status bits to 1 at eoi - Z80 SCC: WIP: Enabled more Rx interrupts and fixed error FIFO - atlantis.cpp and midzeus.cpp: Updated Midway Zeus2 Video coordinate scaling and increase Z buffer to 24 bits - chihiro.cpp: Parametrize constants used in debug command routines to support different bios/kernel versions. Moved threadlist debug command to Xbox. - darkmist.cpp and raiden.cpp: Added PCB notes - dec8.cpp: Added id8751h dumps to 'csilver' and 'srdarwin', not hooked up yet. Dumps look good, hookups appears to be slightly different to other games due to different main CPU and interrupt schemes, still investigating. These can probably be used for the japanese clones if the ID byte is changed to create a fake rom, as was done for the other sets in the driver. - guab.cpp . Created a Thomson EF9369 video device and use it for the driver . Cleanup driver, hook up SN76489 ready signal, hook up some debug LEDs. . Hook up PPI and ACIA. Label some outputs. . Fixed and improved output labels, add ten up labels - iteagle.cpp: Cleaned up serial handling (machine\iteagle_fpga.cpp) - legionna.cpp, raiden2.cpp and seicupbl.cpp: Fixed palette dimming by respecting a fade-me-not bit (seibucop\seibucop.cpp and seibucop_dma.hxx) - leland.cpp: Initial work towards save state support - metro.cpp: None of these board types are stereo - model1/2.cpp: M1COMM/M2COMM cleanups - naomi.cpp: Guessing security PIC number of Shakatto Tambourine - peplus.cpp: Documentation update - photon.cpp: Minor cosmetical cleanup, initial preparation for save state support. - segas16b.cpp . Dumped I8751 317-0078 at location C2 for parent set altbeast. Also renamed the mc8123 regions to 'mc8123' instead of 'mcu' because it was confusing. . Dumped I8751 317-0123A at location C2 for parent set goldnaxe. Although I've had to added a dubious cycle steal change to prevent things from crashing, might need more testing / investigation / work with the PCB to verify interrupt sources and if there's a bus steal mechanism. . Added dump of I8751 '317-0112 at location C2 to clone goldnaxe2. Chip was faulty, some bit errors and internal checksum fails. Still using simulation for now. The code looks to be mostly the same as the goldnaxe set, not even offset, but unused garbage areas have different fills so tracking down exactly which bits are bad is difficult, as they're not neccessarily all in the used code. - yunsung8.cpp . Fixed MSM5205 sounds. Simplified ADPCM write: No need for nibble swap. . Inputs clean up. Implemented main irq_ack. Better names for tilemap vars. . Fixed manufacturer in clone Cannon Ball (Yun Sung, vertical) (was "J" not "T"); also added 'Production' suffix. - AGEMAME . aristmk5.cpp: Added internal layout and connected microtouch to Magic Mask and Party Gras . mpu4vid.cpp: Updated mpu4vid to use Thomson EF9369 video device - Amiga: Removed a couple of driver_data() calls - Bombjack Twin: Hooked up OKI6295 in clone Atom (bootleg of Bombjack Twin), needs banking and improved sound tempo. Adjusted dipswitches as per dipsheet [Osso]. - Burning Fight: Correct clone Burning Fight (prototype, ver 23.3, 910326) romlabels (thanks jackc), added it to swlist (hash\neogeo.xml). - Dream 9 Final: Set initial banking so Z80 doesn't run off rails - Dynamite Duke: Replacing parent with the set having the latest build date. Also added build dates to the description for all games in driver. - NBA Jam Extreme: Added 4th button - Rastan: Created new 74LS157 device and hook it up to MSM5205 on Rastan - Vapor Trail . Fixed missing 'game over' animation and 'P3 coin' is 'Service Mode' dipswitch. . Implemented main irq acknowledge. Note about the service mode DSW + game alignment. - Zombie Raid: Hook NVRAM, added calibrated default. - Dipswitch fixes in mjcamera and nmk16.cpp - Description changes of Danchi de Quiz: Okusan Yontaku Desuyo! (J 001128 V1.200), The Double Dynamites (Japan 13NOV89), The Double Dynamites (US 13NOV89), Dynamite Duke (Europe set 1 03SEP89), Dynamite Duke (Europe set 2 25JUL89), Dynamite Duke (Japan 03SEP89), Dynamite Duke (US 25JUL89), Grand Cross v1.02F, Lost in Space (1.01, Display 1.01), The Double Dynamites (Japan 13NOV89), The Double Dynamites (US 13NOV89), Sega Rally Championship - TWIN/DX (Revision C), Sega Rally Championship - TWIN/DX (Revision B), Super Visual Football: European Sega Cup (Rev A) - Renamed (dynduke) to (dyndukea), (dyndukea) to (dynduke) and (srallyca) to (srallycdx) - MAME: Make -console start console LUA plugin - Compiling . Disable incremental linking for VS debug builds (scripts\genie.lua) . Created DYNAMIC_API macros for dynamic bind helper classes. Updated name of DYNAMIC_API macros. . Enable building projects that are separate of MAME but use same core and lives in separate git tree . Detect if SOURCES file do not exist - Debugger . Added 'o' variants to memory debugging commands to request decrypted opcodes space . I8086/I80186/I80286 CPUs: Updated disassembly if IP or CS are changed in the debugger. Also update IP & CS when PC or CURPC changes (currently using a simple algorithm that may need to be improved). Added HALT to debugger state, so you can break out of a hlt instruction. Don't change CS if new PC/CURPC is within the current segment on i86/i186. Fixed i286 PC/CURPC in protected mode. . Lighten combo box list so that it's easier to read (debugger\debugimgui.cpp) 0.180 - New games: Draw 88 Poker (V2.0) and Shikigami no Shiro - internal build (V1.02J 2001/09/27 18:45) - New Working games: Go By RC/RC De Go, Number Crash and Space Lords - New Non-Working games: Meng Hong Lou - New clones: 1945k III (newer, OPCX1 PCB), Burning Fight (prototype, ver 23.3, 910326), Cosmic Invaders (bootleg of Space Invaders), Forgotten Worlds (USA, B-Board 88618B-2, Rev. E), Gran Premio F1 (Spanish bootleg of Pole Position II), Grand Prix Star (v3.0), Hit the Ice (US, with riser board), Metal Slug 2 Turbo (NGM-9410), Mustache Boy (Italy), Ozma Wars (Model Racing bootleg), Road Fighter (set 3, conversion hack on Hyper Sports PCB), Sol Divide - The Sword Of Darkness (Korea), Stone Ball (2 Players, v1-20 21/10/1994), Time Crisis II (US, TSS5 Ver. A), Vendetta (World, 2 Players, ver. ?) and War: The Final Assault (EPROM 1.3 Apr 7 1999, GUTS 1.3 Apr 7 1999, GAME Apr 7 1999) - New AGEMAME games: Cash Chameleon (0200437V, NSW/ACT), Cash Chameleon (0300781V, New Zealand), Chicken (0200530V, Queensland), Diamond Fever (0200302V, NSW/ACT), Inca Sun (CHG1458, US), Jungle Juice (0200240V, New Zealand), Player's Choice - Original (30143011, NSW/ACT), Unicorn Dreaming (0101228V, New Zealand) and Wild Amazon (01J01996, Venezuela) - New PEPlus games: Montana Choice (MG0025) Multi-Game, Montana Choice (MG0026) Multi-Game, Montana Choice (MG0182) Multi-Game, Player's Choice (MG0213) Multi-Game, Player's Edge (PK0885-PC056) Deuces Wild Poker (El Cortez), Player's Edge Plus (PP0001) Standard Draw Poker, Player's Edge Plus (PP0008) Standard Draw Poker (set 1), Player's Edge Plus (PP0008) Standard Draw Poker (set 2, El Cortez), Player's Edge Plus (PP0048) Joker Poker (set 1), Player's Edge Plus (PP0048) Joker Poker (set 2), Player's Edge Plus (PP0048) Joker Poker (set 4), Player's Edge Plus (PP0050) Joker Poker (set 4, El Cortez), Player's Edge Plus (PP0050) Joker Poker (set 1), Player's Edge Plus (PP0050) Joker Poker (set 2), Player's Edge Plus (PP0050) Joker Poker (set 3), Player's Edge Plus (PP0054) Deuces Wild Poker (El Cortez), Player's Edge Plus (PP0057) Deuces Wild Poker (set 2), Player's Edge Plus (PP0057) Deuces Wild Poker (set 3, El Cortez), Player's Edge Plus (PP0057) Deuces Wild Poker (set 4), Player's Edge Plus (PP0103) Deuces Wild Poker (set 1), Player's Edge Plus (PP0103) Deuces Wild Poker (set 2), Player's Edge Plus (PP0103) Deuces Wild Poker (set 3), Player's Edge Plus (PP0126) Deuces Wild Poker (set 1), Player's Edge Plus (PP0126) Deuces Wild Poker (set 3), Player's Edge Plus (PP0127) Deuces Joker Wild Poker (set 2), Player's Edge Plus (PP0188) Standard Draw Poker (set 3), Player's Edge Plus (PP0195) 4 of a Kind Bonus Poker, Player's Edge Plus (PP0218) 4 of a Kind Bonus Poker, Player's Edge Plus (PP0232) Patriot Poker, Player's Edge Plus (PP0294) Aces and Faces Bonus Joker Poker, Player's Edge Plus (PP0295) Super Deuces Wild Poker, Player's Edge Plus (PP0434) Bonus Poker Deluxe (set 2), Player's Edge Plus (PP0445) Aces and Faces Bonus Joker Poker, Player's Edge Plus (PP0447) Standard Draw Poker (set 3), Player's Edge Plus (PP0450) Loose Deuce Deuces Wild! Poker, Player's Edge Plus (PP0452) Double Deuces Wild Poker (set 1), Player's Edge Plus (PP0453) Joker Poker, Player's Edge Plus (PP0542) One Eyed Jacks Wild Poker (CG1199) and Player's Edge Plus (X002240P+XP000038) Joker Poker (Two Pair or Better) - New PinMAME games: Rider's Surf and Star God (variable replay score) - New devices: 136094-0072, 136095-0072, rax_audio, rtc62421, rtc62423, rtc72421, segadimm, sei80bu, taito_cf, taito_pccard1 and taito_pccard2 - New mame.ini options: homepath - ARM CPU . Implemented Transfers to User Bank in LDM/STM and fixed flags corruption in branch opcodes . Fixed register-base shift with a value >= 32, this fixes the RISC OS graphics issues. . Fixed carry for ROR and preserve IRQ_MASK in LDR R15,*** - M6809/HD6309/KONAMI CPU: Merged the M6809, HD6309 and KONAMI CPU disassemblers and changed to properly use streams. - M68000 CPU: Changed (MESS) drivers apollo.cpp and fccpu30.cpp from accessing has_fpu directly to use new set and get methods. FPU enable/disable methods (cpu\m68000\m68000.h). - SH-4 CPU: Begin SH4 MMU improvements (with a view to seeing what Aristocrat MK6 needs). Allow table upload by LDTLB opcode in SH4MMU. Allow experimental SH4 MMU test code to be turned on / off on a per-driver basis. - CD Audio and MSM5205: Removed volume trampolines - DISCRETE sound: Use osd_getenv instead of getenv - N2A03 APU sound: Fixed crash because nes_apu was always binding to root_device() before the n2a03 took over - Q-Sound: Fixed a bug in DSP16 caused by incorrect use of macro - Seibu Sound System (cleanup) . Eliminate SEIBU_SOUND_SYSTEM configuration macros hiding details of device construction . Start using devcb for generic YM hookups. Use device finder to connect seibu_sound_device to audiocpu. . Kyuukyoku no Othello has only one YM2203 and one ADPCM, not two of each . Moved SEI80BU encryption out of the SEIBU_SOUND device and make it a device of its own . Future changes planned: Separate SEI0100BU and SIE150 types; Cabal and Dead Angle should each be using two of the former. Separate SEI80BU device to handle Z80 decryption (Mustache Boy uses this for its main CPU). - 8155 RIOT: Removed unnecessary tag() parameter from logerror calls - 8253 PIT: MSB-only counter writes need to lower outputs in mode 0 - 8259 PIC: Use resolve_safe to protect against segfaults - 8279 KDC: Unify read/write handlers for standard A0-to-A0 hookup - ATAPI: Made constructor protected in machine\atahle.h. - Discrete Netlist: Fix up pstring code: Instantiate static constant members for ODR context. Declare static members of template classes properly. Declare external template instantiations. Fixed blind use of autocomplete ("treats" really?). Fixed ptype_traits on platforms where char is unsigned. Signed char is never an alias for char even if char is signed. Even if eclipse doesn't like using type, surely it supports typedef. - Harddisk . Fixed heap corruption when loading a new CHD fails . Throw CHDERR_FILE_NOT_WRITEABLE rather than CHDERR_UNSUPPORTED_VERSION if you try to open an old version for writing (imagedev\harddriv.cpp and util\chd.cpp) - Imgtool . Consolidated logic for default implementation of imgtool::image::list_partitions() . Changed imgtool::stream::open*() to return imgtool::stream::ptr . Fixed a recently introduced bug which caused image types that do not support partitions to function incorrectly - Laser Disc: Made ldplayer regular driver - MC68230 PIT: Small fixes - MSM5832 RTC: More accurate WR emulation - MSM6242 RTC: Added pin diagrams for good measure - SCN2674 Display Controller . Correct the row on which a split occurs, fixes (MESS) Octopus display of the last row before the status line split. . Added command 0xA6, fixes (MESS) Octopus status line in Concurrent DOS and BIOS character block write function. - TTL . Added 7400 Quad 2-Input NAND Gate . Added 7404 Hex Inverter . Added 74160/161/162/163 device emulation (BCD decade counter / 4-bit binary counter) . Added 74174/175 Hex/Quad D Flip-Flops with Clear . Added DM9334 8-Bit Addressable Latch . Added 82S126/82S129 256x4-bit PROM - Z80 DART: Finalized conversion to use util::fifo. Refactored FIFOs using new template based FIFO class. - Z80 SCC . Added support for RTxC as BRG clock source, allows the SGI Indy to have a console. . Fixed a bug in read register 15 support, allows macplus, etc. to boot now. . Improved interrupt handling, allows mouse pointer to move in macplus driver for System 6.0.8. . Fixed init state of latched rr0 values, improves the success ratio of getting the mouse working in both X and Y on macplus, etc. . Improved LOG printouts for synchrounous features of WR4 and WR10. Added external clock to SCC and decoded SCC synchronous init for (MESS) MacOS 7. Added minimal support for SYNC/HUNT mode to allow MacOS7 to boot to desktop. - Z80 SIO: Added UPD7201 device type and used it in (MESS) Mizar VME8105, plus some maintenance. - 8080bw.cpp: Fixed black screen in 2-Player game in cocktail mode on games using the multi-colored overlay, such as sicv or invadpt2 (ID 06418). - aleck64.cpp . Give priority to current transfer when reading AI length register. Eliminate explicit temps in AI length calculation. Only SP DMA skip for DRAM address, regardless of transfer direction (machine\n64.cpp). . Added Vivid Dolls dipswitches, note digital joystick support needs adding, game is switchable. . Added delayed carry signal for AI address. The AI address register is split into a low half and a high half. A hardware bug allows the carry signal from low to high to persist through a reload of this register. - aristmk5.cpp . Hooked-up EEPROMs, UARTs and some inputs. Fixed video DMA when vidstart != 0. . Added coin input, logic door input and RTC. . Fixed SRAM banking - aristmk6.cpp . Extended MK6 rom area so that the bigger games map properly and pass their checksums. Added several sets from Heihachi_73. . Clean up rom loading. Fixed rom loading in Bob and Dolly, The Buck Stops Here, Flame of Olympus - Cash Express, Player's World - Super, Rumble Reels and Sun & Moon - Bank Buster. . Fixed rom loading in Rumble Reels and switched 1x and 2x IC positions around (passes test and is consistent with others now). . Show framebuffer? instead of debug viewer.. can see startup text at least, games enable the SH4 MMU tho. Begin SH4 MMU improvements with a view to seeing what Aristocrat MK6 needs. Hook IRQ registers, actual sources still unknown. Allow table upload by LDTLB opcode in SH4MMU. Allow experimental SH4 MMU test code to be turned on / off on a per-driver basis. - cedar_magnet.cpp: Preliminary Magnet System sound. Removed unnecessary call to device(). Moved cedar devices out of drivers. - clshroad.cpp . Fixed Fire Battle music tempo. Align background with sprites. . Doc update - crystal.cpp . Fixed VRender0 timers . Added new user1 rom and mahjong control to Crazy Dou Di Zhu II - equites.cpp: Fixed cocktail mode video isn't working correctly in Splendor Blast and High Voltage (ID 06411) - gaiden.cpp: Fixed flip screen slightly offset down (ID 04933) - goodejan.cpp: Improved PCB documentation - gottlieb.cpp: Added (missing?) & to MCFG_LASERDISC_AUDIO - lsasquad.cpp: Refactored priority prom usage for Land Sea Air Squad and Daikaiju no Gyakushu - model3.cpp: Replaced custom RTC-72421 emulation with device - namcos21.cpp: Remap controls to use pedals and paddles for Driver's Eyes, Winning Run, Winning Run '91 and Winning Run Suzuka Grand Prix - naomi.cpp . Various naming changes: Added supported regions info. Changed all to "Export name / Japan name" template and correct few names as per title screens. . Added missing PICs for dragntr3, wccf116 and wccf1dup . Moved DIMM firmwares to device and docs update . Added unused/unknown security PIC dumps 253-5508-0352E, 253-5508-0456J and 253-5508-0506J. - peplus.cpp: Added in known flags. Documentation update & misc fixes. - psikyosh.cpp: Corrected all games to mono - skylncr.cpp: Slight cleanup - stv.cpp/saturn.cpp . Worked around VDP1 timings in Sega Saturn, fixes regression with (MESS) Batman Forever gameplay speed (video\stvvdp1.cpp). Added Rotation Parameter read control register, fixes at least Riddler stage ROZ positioning in Batman Forever (video\stvvdp2.cpp). . Fixed visible area in stv.cpp - taitogn.cpp . Implemented G-NET BIOS flashing, games that require the v2 BIOS now require you to update the BIOS and turn off JP1 as part of the installation. A v1 BIOS flash is included, but you aren't forced to use it. . Moved G-NET protection out of ATAFLASH and into individual devices for each type of card . Implemented enough analogue control reading for Go By RC and clone RC De Go (Games now playable) . Added build dates and times to G-NET game descriptions . Added JP1 location for UI and fix digit transposition - tumbleb.cpp . Corrected Choky! Choky! OKI xtal. Note: Some PCBs have left factory with a 3.57mhz while some have a 4.096 which matches other games, assuming the former are factory errors. TODO: MAME sound cores doesn't handle on-the-fly sound frequency changes, I guess best action here is to make the sound chip a slot option, assuming it's worth emulating a factory error in the first place. . None of games in the driver are stereo PCBs, corrected to mono. - zn.cpp . Added MACHINE_NOT_WORKING flag to clone Psychic Force EX (Ver 2.0J). Note: Exception in attract after reading 0xbbbbbbbb from 0x8025ed18 leads to watchdog reset. . Fixed ZN1/ZN2 DSW descriptions - Archimedes (aristmk5.cpp and ertictac.cpp) . Reworked Archimedes 310 HLE keyboard and added mouse input . Fixed horizontal display position and cursor position in VIDC . Added new NOT WORKING machines (MESS): Archimedes 305, Archimedes 440, Archimedes 3000, Archimedes 410/1, Archimedes 420/1, Archimedes 440/1, Archimedes 540, Acorn A5000, Acorn A4, Acorn A4000 and Acorn A5000 Alpha. Renamed a310->aa310 to avoid conflict with Amiga machines. Added all missing OS releases Arthur 0.30, RISC OS 2.01, RISC OS 3.00, RISC OS 3.10 and RISC OS 3.19 (German). All machines default to OS (Arthur, RISC OS 2, RISC OS 3) they were shipped with. Corrected ROM labels/locations. Added default CMOS to boot to desktop. Mapped Acorn A4 Power Management extension. Added RISC OS 3 Applications to hash\archimedes.xml and removed some bad dumps. - Altered Beast: Fixed missing graphics in the crystal ball of clones altbeastj and altbeast6 (ID 03646) - American Music Poker . Identify and hook up 8155 interface chips for LPT & RTC . Added button-lamps and coin counter support . Fixed PIT8259 IRQs; game speed is much better now. . Coin inputs now read properly through IRQ4. Removed spurious coin counter. . Updated notes on printer - Batman Forever and NBA Jam Extreme . Emulated the Acclaim RAX sound board (audio\rax.cpp), fixing sound in Batman Forever and NBA Jam Extreme. . Hooked up extra NVRAM in NBA Jam Extreme. This fixed game crashes and NVRAM gets corrupted (ID 05928). - Bionic Commando: Added precise video signal timings. MCFG_SCREEN_RAW_PARAMS() still missing. Added proper frame timings. - Dream 9 Final: Hook up RTC-62421 and correct a few input types - Dynamite Duke: The Double Dynamites is actually more like Dynamite Duke TE, promoted to parent. - Fighting Roller: Hooked up coin counters - Gemini Wing: Fixed input issues (ID 06436) - Great 1000 Miles Rally / Mille Miglia 2: Unswapped button mappings for gtmr games so that they match the PCB/manual correctly - Lost Castle In Darkmist . Added real transparent pen mixing from proms, fixes ranking screen and gameplay area. . Added sprite chip fetch from top to bottom, fixes sprite-sprite priorities. - Marvel Land: Tagged as imperfect sound. Note: The sound in this version does not match Japan or any of the ports and sounds incorrect. Needing redump of sound rom. - Mirage Youjuu Mahjongden: Added 93C46 EEPROM hook-up - Mr. Do!: Fixed flipscreen regression - Number Crash: Redumped 2x maincpu roms (Game now playable) - Poker Ladies: Standardise inputs and removed P2 inputs - Power Drift: Made 'Power Drift - Link Version' not a clone since it's a very distinct rereleased version of the game - Pro Mahjong Kiwame: Added backup RAM hookup, fixes "BACKUP RAM ERROR" at first boot. - Puzzle Yutnori: Replaced MACHINE_NOT_WORKING flag with MACHINE_UNEMULATED_PROTECTION. Note: Protection appears to handle the sound, should check if it's just a block of code that is conditionally executed like some of the Semicom titles. - Quiz Punch . Dumped the 68705 MCU for Quiz Punch, protected by an epoxy block. . Hooked up MCU to the driver, improved graphics and sound. - Space Lords . Reverse-engineered Space Lords security FPGA and implemented decryption code (Game now playable) . Fixed input - Super Game (Sega Master System Multi-game bootleg): Added the missing maincpu rom. Note: This is actually quite interesting, this is a 512KB MASK rom, hence why it got missed the first time around. It actually appears to have been pulled straight from a home Sega Master System mulit-game cartridge and used on the arcade PCB. The rom contains another copy of the games menu in the first bank, except this copy of the menu has no timer/credit support and only references games in this specific rom. It is completely ignored by the arcade hardware which uses the game data part of the rom only, never banking this copy of the menu in. As this almost certainly came straight from a bootleg cartridge, this specific rom could also be added to the softlist with a custom mapper for the banking. - Tekken 3: Added Namco Cyber Lead cabinet JVS IO and LED controller PCB dumps. Typically was used with System12 games, put it to Tekken 3 for now. - Teenage Mutant Ninja Turtles: Changed visible screen back to 320x224 (ID 04790). Note: The 8 pixels on the left are being drawn in the overscan area, some monitors are correctly not drawing them, others do. It's clear the intent is for the player not to see them, but the fact remains they're there, on bad monitors. This as an aside is probably the reason for the infamous and much complained about 'shadow' problem on real hardware - the shadows match up with whatever is being drawn into the overscan area, stretched as a faint shadow across the whole screen. - Vigilante: Fixed visible screen area (PCB comparison) - Williams Multigame: Small refactor. Btw, bankdev was tried, but too many bugs resulted. - Input port . Polymorphize input_device and input_class and moved to separate source file (emu\inputdev.cpp/h) . Fixed key names with -keyboardprovider win32 (input\input_win32.cpp) . Drop invalid input tokens when parsing configuration, fixes uncaught exception error when writing configuration. - Fixed rom names in clshroad.cpp, ddragon3.cpp, midvunit.cpp, twincobr.cpp and zaxxon - Dipswitch fixes in aleck64.cpp, dcon.cpp, jangou.cpp, nbmj8891.cpp, nbmj8991.cpp, nbmj9195.cpp and zn.cpp - Renamed (f1gpstar) to (f1gpstaro), (forgottnu1) to (forgottnuc), (pepp0008) to (pepp0008b), (pepp0048) to (pepp0048b), (pepp0055) to (pepp0055b), (pepp0055a) to (pepp0055), (pepp0055b) to (pepp0055a), (pepp0057a) to (pepp0057d), (pepp0103) to (pepp0103b), (pepp0126) to (pepp0126a), (pepp0127a) to (pepp0127b), (pepp0452) to (pepp0452a), (wwfwfest) to (wwfwfestu) and (wwfwfesta) to (wwfwfest) - Description changes of Burning Fight (prototype, older), Chaos Heat (V2.08J 1998/09/25 17:00), Chaos Heat (V2.09O 1998/10/02 17:00), Fighting Fantasy (Japan revision 3), Flip Maze (V2.04J 1999/09/02 20:00), Go By RC (V2.03O 1999/05/25 13:31), Grand Prix Star (v2.0), Kollon (V2.04JA 2003/11/01 12:00), Kollon (V2.04JC 2003/11/01 12:00), Lots of NAOMI games, Mahjong Oh (V2.06J 1999/11/23 08:52:22), Mustache Boy (Japan), Night Raid (V2.03J 2001/02/26 17:00), Otenami Haiken (V2.04J 1999/02/01 18:00:00), Otenami Haiken Final (V2.07JC 2005/04/20 15:36), Otenki Kororin (V2.01J 2001/07/02 10:00), Peter Pack Rat (ID 06427), Player's Edge (PK0719-PC092) Standard Draw Poker (El Cortez), Player's Edge (PK0756-PC011) Standard Draw Poker (El Cortez), Player's Edge Plus (PP0008) Standard Draw Poker (set 3), Player's Edge Plus (PP0048) Joker Poker (set 3), Player's Edge Plus (PP0055) Deuces Wild Poker (set 1), Player's Edge Plus (PP0055) Deuces Wild Poker (set 3), Player's Edge Plus (PP0055) Deuces Wild Poker (set 4), Player's Edge Plus (PP0057) Deuces Wild Poker (set 5), Player's Edge Plus (PP0060) Standard Draw Poker (set 4), Player's Edge Plus (PP0103) Deuces Wild Poker (set 3), Player's Edge Plus (PP0126) Deuces Wild Poker (set 2), Player's Edge Plus (PP0127) Deuces Joker Wild Poker (set 1), Player's Edge Plus (PP0130) Aces and Faces Bonus Poker, Player's Edge Plus (PP0434) Bonus Poker Deluxe (set 1), Player's Edge Plus (PP0452) Double Deuces Wild Poker (set 2), Player's Edge Plus (PP0733) Double Aces and Faces Bonus Poker, Power Drift - Link Version (Japan, Rev A), Psyvariar -Medium Unit- (V2.04J 2000/02/15 11:00), Psyvariar -Revision- (V2.04J 2000/08/11 22:00), Quiz Punch II, Time Crisis II (US, TSS3 Ver. B), Ray Crisis (V2.03J 1998/11/15 15:43), RC De Go (V2.03J 1999/05/22 19:29), Shanghai Sangokuhai Tougi (Ver 2.01J 2002/01/18 18:26:58), Shanghai Shoryu Sairin (V2.03J 2000/05/26 12:45:28), Shikigami no Shiro (V2.03J 2001/08/07 18:11), Soutenryu (V2.07J 2000/12/14 11:13:02), Stone Ball (2 Players, v1-20 7/11/1994), Stone Ball (4 Players, v1-20 13/12/1994), Super Puzzle Bobble (V2.04J 1999/2/27 02:10), Super Puzzle Bobble (V2.05O 1999/2/24 18:00), Usagi (V2.02J 2001/10/02 12:41:19), World Club Champion Football European Clubs 2004-2005 (Japan) (CDV-10013), World Club Champion Football European Clubs 2004-2005 Ver.1.1 (Export) (CDV-10015), World Club Champion Football European Clubs 2004-2005 Ver.3.22 (Export) (CDV-10015P), World Club Champion Football European Clubs 2005-2006 (Export) (CDV-10027), World Club Champion Football Serie A 2001-2002 Ver.2 (Japan) (CDP-10001C), World Club Champion Football Serie A 2002-2003 Ver.2.12 (Export) (CDV-10002), World Club Champion Football Serie A 2002-2003 Ver.2.34 (Japan) (CDV-10008), WWF WrestleFest (US), WWF WrestleFest (World), XII Stag (V2.01J 2002/6/26 22:27), Zaxxon (set 1, rev D), Zaxxon (set 2, unknown rev), Zaxxon (set 3, unknown rev)', Zoku Otenamihaiken (V2.03J 2001/02/16 16:00) and Zooo (V2.01JA 2004/04/13 12:00). - MAME . VIDEO RENDERING SYSTEM . Fixed the D3D9 issues people are having (d3d\d3dcomm.h and drawd3d.cpp) . HLSL . Fixed games with off-screen backdrop artworks (e.g. Atari Football and Bowling Alley) that white out the screen when you enable HLSL. . Corrected HLSL documentation: Removed -antialias option (does not exist anymore). Added missing -vector_beam_smooth option. Fixed suggested default values for -bloom_lvl_weights options (were messed up in the last update). . UI . Fixed MESS and MAMEinfo.dat display. Passing an empty string uses the current game name for infos so don't do that while in the main menu, since there's further check just below, removing these should be fine (ui\selgame.cpp and selsoft.cpp). Removed extra newlines (plugins\data\data_mameinfo.lua and data_messinfo.lua). . Cache texture/surface were not released when render target was destructed (render\drawd3d.cpp). This fixed MAME crashed with UI and HLSL (ID 06417). . Fixed a bug in parsing the software name option that prevented the loading of slot defaults for software selected from the internal UI (mame\mameopts.cpp) . Encapsulate a bit more of the menu base class to control when layout changes can happen. Encapsulate mouse translation in the menu code, make more stuff const. A bit of prep for making selected index private. . Fixed the mouse hover state drawing (ui\datmenu.cpp) . 3rdparty . Updated BGFX and BX and recompiled shaders. Fixed GLSL. Updated BGFX shader path for Emscripten build (src\main.lua). . Updated to latest GENie. Patches to keep same behavior as we had before. Finally sync with GENie, no more local changes. . ASIO: Header only mode in osd\asio.h. Fixed clear typo in ASIO, sent upstream. Added _WIN32_WINNT so asio.h file could be used and outside OSD section. Added ability to use ASIO in all core MAME parts (scripts\src\devices.lua, emu.lua, frontend.lua). . LUA engine . Replaced LUAbridge in Luaengine with Sol2. Removed non-operational LUA console code. Fixed save_item in Luaengine. Updated Sol2, made LUA console not crash for nil data. Removing SOL_CHECK_ARGUMENTS till we figure all consequences. . Added LUA-linenoise . Hide stuff that shouldn't be touched directly in registry . Updated PugiXML library, no override patches anymore. . Readded sqlite3 and lsqlite3 . UWP (Universal Windows Platform) . Make 3rdparty compile for UWP and start adding new OSD for UWP based on previous Brad work. Added video and window code to UWP. MALLOC_DEBUG part is not able to compile on UWP. Added clipboard handling. Added basic keyboard input. Enable sound. Added support to store files on Local storage. . Added OPTION_HOMEPATH to point to read/write folder, for now used by LUA scripts. Copied all needed files so plugins could be started under UWP. . Implemented GetFileSize and and proper winrt file open . New UWP icons/images . Output verbose to debug plus turn off view scaling (windows\winmain.cpp). Different default font. Tahoma not available on XBOX (font\font_dwrite.cpp). Enable gamepad support and update keyboard support. Better keyboard key names. Hotkeys for gamepad plus more time for gamepad discovery. Removed explicit links for winstore builds. . Keyboard scancodes start at 1. Also thread synchronization which will be needed later when we have multiple windows. . Make executable for scripts\src\tests.lua follow rules for main file. Make normal notation for require. Split properly tests. Added more applicable Catch testing framework and converted all tests to be done properly by guidelines. Still needs TESTS=1 to enable build of tests. . Updated LZMA to 16.04 (security and portability fixes) . Fixed make VERBOSE=1 not showing archive commands for static libraries (3rdparty\genie\src\host\scripts.c) . PLUGINS . Fixed driver info (plugins\data\data_mameinfo.lua and data_messinfo.lua). Stored data in database. . Updated hiscore.dat . Made timer plugin use sqlite3 (plugins\timer\init.lua) . Make console a LUA plugin (plugins\console). This fixed CONSOLE does nothing but allow "EXIT" (ID 06413). Further improve completions by removing break chars from linenoise.cpp that hide the full type. Do not take Ctrl-Z since that have it's behavior defined for Linux. Exit on Ctrl-C in console without crashing. . MULTI-LANGUAGE: Updated German translation . Added basic HTTP server (lib\http\), not active yet, based on ASIO example with small refactoring included. . Ability to show custom menu using LUA (ui\pluginopt.cpp) . Address map refactoring: Removed device parameter. De-hand-templatized address_map_entry, removed then unneeded entry parameter. Simplified constructor, thanks Micko. Changed setters into passthroughs. Stream it. Changed to use dot syntax rather than -> syntax for chaining. Made obvious renames and added helpers. . Eliminated attaching memory maps to driver_device . Simplified memory allocation for osd_module . No need for osd_malloc, osd_malloc_array and osd_free. MALLOC_DEBUG not applicable anymore since we use new to allocate in 99.9% of cases. . Let osd_process_kill just kill, rest is on osd users, watchdog only in this case. . Changed window handle storage to template instead of void* . Don't do the periodic_check before every timeslice (emu\machine.cpp) . Rewroted (Compressed layouts) to parse/minify layout XML. Doesn't make much difference to executable size, but it catches XML errors at build time rather than waiting for you to try the system. . 32 bit windows monitor module fix (monitor\monitor_win32.cpp) - SDLMAME: Updated SDL2 to 2.0.5 - MAC OS X: Fixed MacOS build (scripts\genie.lua) - Compiling . Prevent -Wexpansion-to-defined warning in recent Clang (modules\file\posixdir.cpp) . Experimental support for compiling to WebAssembly using Emscripten (not yet working) . Added a fifo template in util\coretmpl.h. Added 'poke' and 'clear' methods to fifo template. . Added delegate support for lambdas and std::functions in general, also supporting const members now (emu\devdelegate.cpp) - see drivers\statriv2.cpp. . Do not use FUNC in delegate where applicable . Fixed building on IBM S390x and PPC64le . Lambda always have object in util\delegate.h . Hack to allow building with SOURCES=src/mame/drivers/cps2.cpp (ID 06407) . Make shaders compile DX9 and DX11 only on windows . Fixed USE_DISPATCH_GL compile, seams no-one is actually using it since it is broken for a while (render\drawogl.cpp) . XML . Turn xmlfile API into something that looks like C++ and allowed use of const data node objects. It's still a bit quirky but it's far better encapsulated before, and it plays nice with const. Patch up Qt debugger for new xmlfile API. . XMLfile cleanup: An empty tag and a self-closing tag are semantically equivalent, so std::string can be used saving some manual allocation. A valid tag can't have an empty name, so that can be std::string too. Still expose empty strings as nullptr to API users. Scope down the int_format enum. # is not ffs. Work around buggy standard libraries. . Added VS2017 support into project files. Fixed compilation under VS2017, default_semantics is used by apply so need to be public. Generated proper SLN header. . Introduced u8/u16/u32/u64/s8/s16/s32/s64: New abbreviated types are in OSD and util namespaces and also in global namespace for things that #include "emu.h". Removed the cstdint types from everything in emu. Removed U64/S64 macros. Fixed a bug in dps16 caused by incorrect use of macro. Fixed debugcon not checking for "do " prefix case-insensitively. Fixed a lot of messed up tabulation. Changed many macros and constants to constexpr. Fixed up many __names. . Removed generic_ptr in emu\emucore.h . Added typographical characters to uismall.bdf, including the hair space used by the internal UI. . Removed Connection Manager part since it is used for compilers check, no need for this to be in release. - Debugger . Changed the 8085A, ARM, ARM7, ASAP, CCPU, COP420, Cosmac, Cube Quest, DSP16A, DSP32C, DSP56k, ESRIP, G65816, H6280, H8, Hyperstone, I386, I4004, I8086, I860, i960, Jaguar GPU, M37710, M6502, M6800, M68000, M6805, MB86233, MB86235, MB88xx, MCS48, MCS51, MC68HC11, MIPS3, MN10200, NEC Vxx, PDP1, PIC16C5x, PowerPC, PPS4, PSXCPU, R3000, RSP, S2650, SC/MP, SC61860, SHARC, SCUDSP, SE3208, SPC700, SH2, SH4, T11, TLCS-90, TLCS-900, TMS32025, TMS3203x, TMS32051, TMS32082, TMS34010, TMS57002, TMS7000, TMS99xx, TX0, uPD7725, uPD7810, V60, V810, Z180, Z80CPU and Z8000 CPU disassembler to use 'std::ostream &' internally . Fixed a number of identifiers beginning with underscores in the M6805 disassembler. Changed m_* ==> md_* (m6805\6805dasm.cpp). . Further cleanups to the TLCS900 disassemlber. Fixed spacing issues, converted a char[] buffer to std::string. . Changed all disassemblers to use output stream rather than character buffer. Changed disassembler overrides to use 'std::ostream &' internally. Changed disassembler infrastructure to not use char buffers internally. . Fixed a recently introduced bug in the 6x09 disassembler that could cause asserts when hitting what would be a legal 6309 instruction when disassembling non-6309 code [Nathan Woods]. . Moved device_memory_interface from driver_device to dummy_space_device. Exposed the dummy_space_device as machine().dummy_space(), with a trampoline in driver_device for existing callers. Debugger no longer needs to special case root_device() to avoid showing the dummy address space. Replaced machine().driver_data()->generic_space() with machine().dummy_space(). Removed some driver_data<> calls. . Moved the declaration for dasmmips3(), ppc_dasm_one() and rsp_dasm_one() to a header file . Fixed debugcon not checking for "do " prefix case-insensitively . Eliminated 'ppc_dasm_one(std::string &string,...' and 'rsp_dasm_one(std::string &string,...' trampolines. Removed 'ppc_dasm_one(std::string &string,...' declaration and updated caller. Changed buffer.vec() to &buffer.vec()[0]. . Eliminated 'device_disasm_interface::disassemble(std::string &buffer, ...'. Moving disasm.clear()/disasm.seekp(0) out of if statement, so the stream is always reset. Refactored device_disasm_interface::disassemble() and dasm_override_delegate to take string buffers as std::string. . Eliminate static char[] buffers in the MB86235 disassembler 0.179 - New games: Exzisus (Magnet System), Humlan's Lyckohjul, Istrebiteli, Mahjong Senpu, Ocean to Ocean (Medal) [DECO Cassette MD], Splendor Blast II, Super Two In One, Time Scanner (Magnet System) and Xain'd Sleena (Magnet System) - New Working games: American Music Poker, Power Drift (Japan, Link Version) and Tatakae Genshizin Joe & Mac (Japan, bootleg) - New Non-Working games: Big Casino, Choro Q Hyper Racing 5, Crazy Dou Di Zhu II, Grande Fratello, Puzzle Yutnori (Korea) and Super Triv Quiz I - New clones: Blue Shark (Model Racing bootleg), Bombjack Twin (prototype? with adult pictures, set 2), Dead or Alive 2, Demon's World / Horror Story (set 2), Lady Maker [BET] (Japan), Mutant Night, Ocean to Ocean (Medal) [DECO Cassette MD] (No.10/Ver.6,US), Poker (Version 50.02 ICB, set 4), Ron Jan, Splendor Blast (set 2), Splendor Blast (set 3), Stargate (rev.5), Tarzan Chuang Tian Guan (V109C, set 1), Teenage Mutant Ninja Turtles (Asia 4 Players, version ?), Time Crisis II (Japan, TSS1 Ver. B), UniWar S (bootleg), Video Hustler (bootleg, set 3) and Wing War R360 (US) - New PEPlus games: Player's Edge Plus (X000013K+XK000012) Keno, Player's Edge Plus (X000846S+XS000006) Wild Star Red White & Blue Slots and Player's Edge Plus (X002002P+XP000038) Double Double Bonus Poker - Removed games: Player's Edge Plus (XMP00030) 5-in-1 Wingboard (CG2426) - New drivers: cedar_magnet.cpp, funtech.cpp, istrebiteli.cpp and mjsenpu.cpp - New devices: ad7521, ad7524, ad7528, ad7533, am6012, cedmag_sound, cedmag_plane, cedmag_sprite, cedmag_flop, dac_10bit_r2r, dac_12bit_r2r, dac_12bit_r2r_tc, dac_16bit_r2r, dac_16bit_r2r_tc, dac_2bit_r2r, dac_3bit_bw, dac_4bit_bw, dac_4bit_r2r, dac_6bit_r2r, dac_8bit_bw, dac_8bit_r2r, dac_8bit_r2r_tc, istrebiteli_sound, mc1408, mc3408, mc3410 and volt_reg - New mame.ini options: swpath = software - ADSP-21xx, ALPHA-8201 and AM29000 CPUs . Changed disassemblers to use std::ostream internally . Removed unnecessary formatstr() in AM29000 & fixed setting PC - M68000 CPU: Added [[noreturn]] instead of ATTR_NORETURN (cpu\m68000\m68kmake.cpp) - ARM7 CPU . Performed some minor optimization . (MESS) Game Boy Advance fix, added update_irq_state to ARM7 on places missing. - SH-2 CPU: Added read-back for BCR1 register, fixing missing polygons in (MESS) Daytona USA CE for Sega Saturn. Added stub bus\sci\wdt devices for SH7604, this part will require more work as H8 and SH-2 shares same chips. - SH-4 CPU: Reinstate lines removed in error - AY-3-8910A sound . Mention the OKI M5255, Winbond WF19054, JFC 95101, File KC89C72 and Toshiba T7766A as compatible / clone (sound\ay8910.h). . Implement upper address check, not configurable at present but chips could be ordered from the factory with ID's other than 0. Allowing you to chain multiple chips without adding extra address lines. Don't hardcode AY8910 into logerror, using name() instead. - CD Audio: m_audio_ended_normally is set within the stream_update(), so update the stream before returning it (sound\cdda.cpp) - DAC sound . Ataxx: Fixed missing sound channel caused by one DAC not being hooked up and one DAC being hooked up to two addresses. . Best Of Best: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses). . Cosmic Chasm: Fixed static noise generation caused by feeding the same bit to both DACs. . Cheeky Mouse: Slightly improved sound by implementing sound triggers as 8 x 1-bit DACs instead of 1 x 8-bit DAC. . harddriv.cpp: Improved 12-bit controls in all games in driver, although centre still goes out of sync. . Mega Phoenix: Fixed noisy samples due to wrong format. . Seicross and suna8.cpp: Changed to a 4-bit DAC as samples are packed nibble. . Space Guerrilla: Preliminary sound using space invaders samples. . Virtual Combat: Fixed static during machine gun fire due to incorrect DC offset removal. . vectrex.cpp: Fixed noisy samples due to wrong format. . Wheels & Fire: Fixed sound, EEPROM & analogue steering wheel and brake pedal. - ES5505/6 sound . Fixed readback of global registers when the current page was in a certain range . Made voices run for a zero-length loop, as real hardware does it and synthesizers rely on it. These changes fixed the playback of "Transwaves" on the (MESS) VFX and SD-series synths [Christian Brunschen]. - TMS3615 sound: Use new deprecated attribute - Volume Filter: Update stream before setting the new gain (sound\flt_vol.cpp) - 6840 PTM: Changed WRITE8 to WRITE_LINE for single-bit outputs. Changed device to use an array of devcb_write_line. - 8253 PIT and MSM5832 RTC: Eliminate device name from logging messages - CHDMAN: Fixed chdman addmeta --valuefile by calling the correct write_metadata - Imgtool . Fixed an unsigned overflow error that would causes crashes on 64 bit systems (imgtool\modules\mac.cpp) . Fixed a recently introduced bug that could cause module's close() callback to be invoked if an image fails to be opened or created. . Made imgtool_image (now imgtool::image) a "real" C++ class. C++-ified a few more classes: imgtool_partition ==> imgtool::partition and imgtool_directory ==> imgtool::directory. Changed many 'imgtool::stream *' to 'imgtool::stream &'. Changed a number of callbacks to be std::function instead of old fashioned function pointers. Changed the create/open callbacks to take 'imgtool::stream &&'. Changed 'imgtool::image *' ==> 'imgtool::image &', 'imgtool::partition *' ==> 'imgtool::partition &' and 'imgtool::directory *' ==> 'imgtool::directory &'. Modernized imgtool::image::list_partitions(). Changed imgtool::image::info() to use std::stream and std::stringstream. Consolidated logic for default implementation of imgtool::image::list_partitions(). Changed imgtool::stream::open*() to return imgtool::stream::ptr. Updated quite a bit of client code that manually owned these pointers. - MC6845 CRT: Allow cursor blink state to be read - RP5C01 RTC: Fixed clock regression with RP5C01. This also makes the RP5C01's NVRAM actually non-volatile (previously it would be cleared upon reset after being loaded). The RP5C01 has a power supply line but no reset signal input, so device_reset doesn't seem to make sense here. - Z80 SCC . Z-Bus interface functions zbus_r and zbus_w added supporting shift left/right modes. Improved variant handling including the incomplete read register maps for some. External CTS and DCD interrupts added. Improved device reset values. SWI acknowledge command added. Improved/fixed handling of wr9, rr2, rr3. WR7PRIME register added. Fixed vector modification. . Added iack by reading rr2. z80daisy_iack now returns -1 when no vector found or disabled through the WR9 VIS. Removed z80daisy_reti code to match SCC documentation. Removed defacto reset values where possible and replaced them with documented SCC reset values. . Improved Tx handling with FIFO including special case with 1 slot FIFO - atlantis.cpp and midzeus.cpp . Removed unused define parameter in Atlantis driver. Removed includes\midzeus2.h and video\midzeus2.cpp as not needed. . Zeus-2 video: Updated waveram organization. Updated quad rendering command size. Updated register naming. - chihiro.cpp . Clarifications and renaming for 3D matrices . Tidy up video\chihiro.cpp and updated driver notes. More details about AN2131QC pins. - cischeat.cpp . Set default palette init to black and fixed communications RAM ranges . Fixed dipswitch 'Unit ID' in F-1 Grand Prix Star II. . Added IRQ notes and bumped framerate to 60 Hz to all minus captflag/scudhamm. . Various input related bug-fixes to Wild Pilot: Changed lightgun to an AD-stick. Added Player 2 inputs. Fixed bogus start button starting a play even without a coin inserted. Demoted Wild Pilot to MACHINE_NOT_WORKING. . Fixed missing music in attract mode of F-1 Grand Prix Star II (ID 01205) - crystal.cpp, jalmah.cpp and ninjakd2.cpp: Added MACHINE_UNEMULATED_PROTECTION flag to Mahjong Channel Zoom In, Mahjong Daireikai and Otogizoushi Urashima Mahjong (games have unfinished m68k snippets), Mahjong Kakumei 2 (uses protected RNG), Atomic Robo-kid (random crashes), Donggul Donggul Haerong and Office Yeo In Cheon Ha. - decocass.cpp . Tagged all the DECO Cassette sets as US / Japan based on which BIOS type they use (A = Japan, B = US/World, they aren't compatible, using the wrong one will give a loading error). Note clone Bump 'n' Jump (DECO Cassette, Japan) is for type B, so was incorrectly tagged as Japan (or has been hacked). . Make the different decocass BIOS roms actually selectable. - megasys1.cpp: Added save state support - midvunit.cpp, midzeus.cpp and seattle.cpp: Added clickable buttons to a few Midway layouts (calspeed, crusnexo, crusnusa, hyprdriv and vaportrx) and cleaned up some code. - model1.cpp . Allow NetMerc to boot. There still seems to be something uninitialized or some memory corruption as quite often it will crash instead of launching, but if it does launch you can get a title screen and attract demo with some 3D. Roms pass in rom test now too. 3D is quite broken, lots of polys being stretched in weird ways and no 3D palette. . Make Model 1 render list scanning code safer by masking accesses to the ram size and using less pointer math. Without this invalid displaylists can easily crash MAME because the pointer artihmetic can end up going way beyond RAM sizes with no easy way to mask. NetMerc still crashes due to other things tho. . Allow NetMerc 68k to run - nightgal.cpp: Added some system inputs. Added gamble payout button to backspace as default for Night Bunny. This fixed game stalls when winning a hand (ID 06409). - skylncr.cpp: Update driver to use RAMDAC - stv.cpp: Added Taiwan 97/05/15 v1.14 BIOS. Minor documentation update. - system16.cpp: Preliminary sound for clones Bay Route (encrypted, protected bootleg) and Golden Axe (encrypted bootleg - American Music Poker . Major improvements (Game now playable) . Inputs figured out almost completely . Added blinking cursor for service mode . Gross hacks used to get coins working due to broken IRQ timings . Palette remains in dire need of improvement . RTC writes now actually go through, so the game will remain stuck in 1987 until the date is changed. Added the new machine flag for the unemulated printer. - Caveman Ninja: Some work on clone Tatakae Genshizin Joe & Mac (Japan, bootleg). Promoted to WORKING with known problems. - Destiny - The Fortuneteller: Updated to use stub LCD and updated flags - Draw Poker (Bally, 03-20): Redumped sound roms - Emeraldia: Fixed Emeraldia (World) visible area (ID 06404) - Irritating Maze: Redumped v2 rom and fix rom loading. No XML update as this cart isn't in the softlist as it was for a dedicated machine with custom BIOS only. - Mahjong Kaguyahime Sono2 [BET] (Japan 890829): Fixed clone Mahjong Kaguyahime Sono2 Fukkokuban [BET] (Japan 010808) year info (ID 06110) - PinMAME: Replaced sound ROMs for Contact, Disco Fever, Phoenix and World Cup Soccer with game specific sound dumps (drivers\s3.cpp). - Poker / Black Jack (Model 7521): Added 82s129 PROM and PAL20L10. Updated PCB layout. - Power Drift: Spotted link ID and link communication mode in clone Power Drift (Japan, Link Version), promoted game to working. - San Francisco Rush: Added layout - Vs. Janshi Brandnew Stars: Added missing soundlatch to Vs. Janshi Brandnew Stars, this fixed crash when you insert a credit (ID 06391). - Vindicators/Vindicators Part II: Added proper input labels. Make left/right sticks labels explicit so that "Left/Up" isn't upper-right direction but "Left Stick/Up". - Witch: Take the 'Hopper Active' dipswitch value into proper account; no longer must it be low. Added ticket_dispenser_device::motor_w as a proper WRITE_LINE method, first step towards eliminating the m_active_bit=0x80 nonsense. - Input port . Separate natural keyboard support from ioport.cpp . Added ticket_dispenser_device::motor_w as a proper WRITE_LINE method, first step towards eliminating the m_active_bit=0x80 nonsense (machine\ticket.cpp) . Misc. keyboard input improvements . Added BS, Tab, 00, 000 keys common on add-on keypads as input items; SDL may recognize these, but DirectInput does not. . Assign Keypad 00 and Keypad 000 in several drivers' input lists . Added SDL keycode for "cancel" key . Added keypad keys as alternates to natural keyboard . Moved has_keyboard() out of the core; enabled() test is unnecessary now that all optional keyboards are slot devices. . Incorporate product/instance directinput device IDs. This change generates a more unique device ID for direct input devices by incorporating the product unique identifier and instance unique identifier. This allows for better disambiguation on device ID when mapping controllers via mapdevice config settings (input\input_dinput.h). . Parenthesize optional items in input menus (ui\inputmap.cpp) . Lock out ioport_fields independently of natural keyboard state . Fixed Left/Right Sticks for P2 and above (emu\inpttype.h) . Removed all ioport and address map macros from (MESS) Tranz 330 (emu\ioport.cpp/h and drivers\tranz330.cpp) - Fixed rom names in timecrs2 - Dipswitch fixes in dynax.cpp, jangou.cpp, mjsister.cpp, nbmj8688.cpp, nbmj8891.cpp, nbmj8991.cpp, nbmj9195.cpp, nightgal.cpp, niyanpai.cpp, segaybd.cpp, snowbros.cpp, srmp6.cpp and ssv.cpp - Renamed (demonwld1) to (demonwld2), (demonwld2) to (demonwld3), (demonwld3) to (demonwld4), (doa2) to (doa2a), (mnight) to (mnightj) and (ronjan) to (ronjans) - Description changes of Bishou Jan (Japan, Ver. 203), Bombjack Twin (prototype? with adult pictures, set 1), Bust a Move 2 - Dance Tengoku Mix (Japanese ROM ver. 1999/07/17 10:00:00), Lots of DECO Cassette games, Demon's World / Horror Story (set 3), Demon's World / Horror Story (set 4), Demon's World / Horror Story (set 5), Dynamite Baseball '99 (Japan) (Rev B), Dynamite Baseball NAOMI (Japan), Everyone's A Winner (Barcrest) (MPU4) (unknown rev, bad), Idol Janshi Suchie-Pai II (v1.0), Idol Janshi Suchie-Pai II (v1.1), Mutant Night (Japan), New 2001 (Italy, Ver. 200N), Ron Jan Super, Royal Poker V 1.85, Sega Strike Fighter (Rev A), Sega Strike Fighter (Rev A, no training mode), Splendor Blast (set 1), Tarzan Chuang Tian Guan (V109C, set 2), Tatakae Genshizin Joe & Mac (Japan, bootleg), Time Crisis II (World, TSS2 Ver. B), Time Crisis II (World, TSS3 Ver. B), Time Crisis II (World, TSS4 Ver. A), World Series 99 / Super Major League 99, World Series Baseball / Super Major League (GDS-0010) and X-Plan (Ver. 101) - MAME . VIDEO RENDERING SYSTEM . HLSL/BGFX . Fixed target texture dimension when -intoverscan is used (this fixes the appereance of scanline and shadow mask) . Added target_scale and screen_count uniforms . Rounded corners now remain aligned with screen bounds when -intoverscan is used (single screen only) . Use floorf rather than floor for float->float (bgfx\chain.cpp, chainmanager.cpp and d3d\d3dhlsl.cpp). Fixed OSX build: Use fabsf rather than abs for float->float (emu\render.h). . Fixed aspect ratio of rounded corners . Reduced defocus effect to one pass (HLSL/BGFX). Removed second defocus pass. Limited defocus stength to a maximum of 2.0. . Fixed use of uninitialized stack memory in render\drawd3d.cpp . D3D/HLSL . Refactored d3d_render_target: Removed cashe_target class. Moved cashe texture and surface to d3d_render_target class. Render targets are now created per screen not per screen texture. Removed useless creation of render targets for ui textures (render\d3d\d3dcomm.h, d3dhlsl.cpp/h and drawd3d.cpp). . Fixed null reference exception (D3D/HLSL), when toggling from fullscreen to window mode. . Disabled clearing of render targets in several passes (HLSL). Which was quite a performance overhead and not necessary because the shaders fill every texel of a target without blending. . Improvements to rgb_t . Make most class methods constexpr . Make color constants (white, black, etc.) into constexpr factory methods, in order to fix a static initialization problem discussed on the MAMEWorld forums. Note that while C++14 allows constexpr member variables to be initialized outside classes, current compilers' support for C++14 constexpr rules has proven to be lamentably deficient. . Created bitmap_rgb32::erase to simplify syntax in update handlers . Erased bitmap_rgb32::erase . Make D3D9 a little more discerning in what level of bad hardware it will allow (render\drawd3d.cpp) . UI . Fixed crash in ui\selgame.cpp . Added "Software Media" folder (swpath). Allows users to specify location of loose software (emu\diimage.cpp, emuopts.cpp and ui\dirmenu.cpp). . Split media_identifier and console in separate files . 3rdparty . Added ASIO networking library. Removed libuv library. Replaced code usage of libuv with ASIO library. Added more warning disable to support compile on various Clang versions. . Added Sol2 header only library as future replacement for luabridge . Added Linenoise Next Generation library for CLI . PLUGINS: Updated hiscore.dat . Increased number of OSD modules (modules\osdmodule.h) . Register window messages before creating window (output\win32_output.cpp) . Proposal for new system flags: MACHINE_NODEVICE_MICROPHONE For unemulated microphone, MACHINE_NODEVICE_CAMERA For unemulated camera, MACHINE_NODEVICE_PRINTER For unemulated printer, MACHINE_NODEVICE_LAN For unemulated linking multi-cabinet capabilities and MACHINE_NODEVICE_WAN For unemulated networking capabilities. Restructured MACHINE_FLAGS into FATAL / WARNING / BTANB main categories, in order to make them easier to expose. . Initial work on console interface. Use Ctrl-Z to close console on any OS. To start use -console parameter. . Soft resets no longer turn back clocks on devices (device_rtc_interface) . Cleanups and refinements . Give RTCs their own phase of machine initialization, right after NVRAM loading . Make RTC feature flag overrides const, including one new one . Make rtc_clock_updated a required override . Fixed INI creating for individual games when the game and the driver share the same name (source.ini must now be in the source subfolder) (ID 03045). . We introduced a 16-char limit to parent sets, for eg. nintendo vs prefix, or when you're short 1 or 2 letters. - SDLMAME: Fixed alt-enter full screen toggling on SDL (Linux/Mac/BSD) builds - Android: Set Android 5.0 as minimum one, older API are not compatible - MESS . Sound Blaster 16 . Drop the upper bit of the address when shifting left, as described (machine\cs4031.cpp). This fixes 16 bit audio in sb16 diagnose.exe. . Intel documentation is conflicting, which prompted osdev to claim that 128k DMA was impossible. Masking the lowest bit of the page instead of the upper bit of the address makes more sense and it does also fixed the issue with SB16 diagnose.exe playing silence (bus\lpci\southbridge.cpp, machine\cs4031.cpp, wd7600.cpp and machine\at.cpp). . Applied IBM AT 16-bit DMA wrap round fix to other implementations. . Added "headphones" to ATAPI CD-ROM drives - Compiling . Fixed two leaks (input\input_winhybrid.cpp and sound\xaudio2_sound.cpp) . Added new string conversion overloads [a|w|t|utf8]_from_[a|w|t|utf8_]string(xyz.c_str()). Bulk renaming of Windows string conversion functions: utf8_from_[a|w|t]string ==> osd::text::from_[a|w|t]string and [a|w|t]string_from_utf8 ==> osd::text::to_[a|w|t]string. . Some bool <-> int not needed conversions, also cleaned drivenum.* was using memset for clearing vector. . Changed dynamic_buffer to std::vector . Use std algo instead of manual setting (emu\screen.cpp) . Use standard types uintptr_t, char16_t and char32_t instead of FPTR, utf16_char, unicode_char . 3rdparty . LUA engine: Added new types, fixing LUA part (mame\luaengine.cpp). . Fixed Google benchmarks build and cleanup U64 and S64 macro definition, it is now in standard (benchmarks\eminline_native.cpp, eminline_noasm.cpp and osd\osdcomm.h). . NOTICE (TYPE NAME CONSOLIDATION): Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8. Also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8. . Converted lot of TRUE/FALSE to real boolean and updated types . Fixed VS build (noticed only when using MSBUILD=1) (scripts\src\3rdparty.lua) . Added virtual for consistency in cpu\alto2\alto2cpu.h, cp1610\cp1610.h, hd61700\hd61700.h, hphybrid\hphybrid.h, i860\i860.h, jaguar\jaguar.h, m6800\m6800.h, mb86233\mb86233.h, pic16c5x\pic16c5x.h, scmp\scmp.h and scudsp\scudsp.h. - Debugger . Fixed disassembly if 6809 is interrupted mid-instruction (debug\debugcpu.cpp and dvdisasm.cpp). Sync pc & curpc and removed superfluous callimport()/callexport() on STATE_GENFLAGS. . Make sure all CPU's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible CPU's to work properly. Changed CPU cores pcbase handling to be consistent with the majority of CPU cores, now that the debugger relies on it. . Fixed disassembly window updating when you set pc/curpc on 68000 and Z80. Removed masking from SH-2 curpc to be consistent with old versions and the pc passed by the interpreter to the hook to be consistent with the DRC. . Added row size as sixth parameter to debug dump command (debug\debugcmd.cpp) . Fixed disassembly window for ADSP21062, ALPHA-8201, ALPHA-8301, APEXC, I80186, PDP8 and MIPS3 CPUs. 0.178 - New games: Poker (Electro-Sport), Slap Shooter and Star Audition - New Working games: Grand Prix '98 (V100K) - New Non-Working games: Pop'n Stage (ver JB-A) and Labeled 'WU- MARY-1A' Music by: SunKiss Chen - New clones: Air Trix (original), Battles (set 2), Chicken Draw (2131-04, U5-0), Condor (S C Novar bootleg of Phoenix), Crush Roller (set 3), Elevator Action (4 pcb version, 1.1), Gemini Wing (bootleg), Jumping Cross (set 2), Le Grandchamps, Ms. Pac-Man (bootleg, set 2), NASCAR Racing (original), NBA Jam Extreme (ver. 1.10I), Nibbler (rev ?), Phoenix (Amstar, set 2), Pinguinos (Spanish bootleg on Pac-Man hardware), Popeye (Japan, Sky Skipper hardware), Raiden Fighters (Great Britain), Road Riot 4WD (set 1, 04 Dec 1991), Rolling Crush (version 1.03.E - 1999/01/29), Sauro (bootleg), Stratovox (set 2), Street Fighter (Japan, pneumatic buttons), Super Qix (World/Japan, V1.0), Tecmo World Soccer '98 (JUET 980410 V1.000), Terminator 2 - Judgment Day (prototype, rev PA2 10/18/91) and Virtua Fighter 3 (Revision D) - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Barunba and Power Tennis - New drivers: marywu.cpp - New devices: at29c020, ms1_tmap, msm5832 and sharp_lh28f016s_16bit - New mame.ini options: monitorprovider - i860XR CPU: Fixed an issue on the i860 disassembler that could cause an undefined string to be used (i860\i860dis.cpp) - MC68340 CPU: Memberize public non-member function - PSXCPU: Fixed buffer overflow when debugging (cpu\psx\psxdasm.cpp) - TMS99xx CPUs: Added save state support to TMS99xx; replaced new/delete by unique_ptr. - AY-3-8910A sound: Slight improvements to AY8910 error logging, with some messages now disabled by default. - AY-3-8914 sound: Implement register readback masking for AY-3-8914 as used on (MESS) Intellivision - OKI6295 sound: Directly use set_rom_bank - 6840 PTM: Fixed channel card memory tests in (MESS) CMI IIx. Load the counter when held in reset (machine\6840ptm.cpp). - SCN2674 Display Controller: Make (MESS) Octopus look better (video\scn2674.cpp; ->mpu4vid.cpp) - Sega Custom: Simplify 315-5881 logic and updated comment - Sharp LH28F016S: Added 16-bit hook-up (machine\intelfsh.cpp) - aleck64.cpp: Promoted all games as working minus Magical Tetris Challenge - arkanoid.cpp: Clean up variable names for eventual harmonization with other Taito drivers with MCUs. Comment fixes and variable name clarify. Variable name consistency. - chihiro.cpp: Added debugger command "chihiro threadlist" to list ready threads except current one. Small refactoring. - cischeat.cpp: Added tilemap device to CiscoHeat driver and fixed a few soundlatches - cps1.cpp and mitchell.cpp . Changed joysticks to 4-way in ghouls, pang, spang and pang3 as flyers and manuals indicate . Mark button 2 in pang and spang as optional . Removed buttons 2 and 3 in pang3 (even service mode only shows one "Shot" button) - cps2.cpp . Use keys that can be programmed onto a CPS2 motherboard . Small step towards getting rid of the cps2_dead machine config - cmmb.cpp: Minor consolidations. Inputs and basic flash device hookup. - dwarfd.cpp: Fixed graphics in Poker (Electro-Sport) - freekick.cpp: Added flipscreen support to Gigas, Free Kick and Counter Run - goldnpkr.cpp: Added clickable buttons to layout\goldnpkr.lay - homedata.cpp: Fixed sound I/O write in Homedata driver (affected hourouki, mhgaidenm, mjhokite, mjclinic and mrokumei). This fixed missing voices of "Reach", "Ron" etc. in Mahjong Hourouki (ID 00490). - megasys1.cpp: Made Mega System 1 tilemaps into a device - midvunit.cpp: Fixed Midway V Unit wheel output. It seems the diagnostics test for the wheel is poorly coded for turning left as it is correct in game. - naomi.cpp . Docs update. Added machine\naomibd.cpp notes. . Fixed crashed before OK in some sets (ID 06364). The error 'Caught unhandled St11logic_error exception: basic_string::_M_construct null not valid' appears when the game is started (emu\parameters.cpp). Atomiswave developer and game names corrections. . Added Altera's config EPROM dump - nss.cpp: Revised/corrected hardware info - photon2.cpp: Documentation update based on schematics research - seattle.cpp . Added layout for California Speed, Hyperdrive and Vapor TRX. . Minor improvement on logging. The LOG define isn't needed as everything expected is found. What could remain would be considered an error and needs to be logged. - segas24.cpp . Moved FDC legacy logging behind a compile switch . Fixed maximum shot power in Dynamic Country Club (ID 00792) - simple_st0016.cpp: Marked all games in st0016.cpp as MACHINE_NO_COCKTAIL - stfight.cpp . Switched to configured banking . Fixed save state problem with clone Cross Shooter (2 PCB Stack) - stv.cpp: Removed optional joystick control inputs from Virtual Mahjong since this game only supports Mahjong panel but was defaulting to Joystick. - superqix.cpp . Vs. Hot Smash: Got rid of timer hacks for Z80<->MCU communication. Implemented 68705 DDR registers and proper readback of Z80<->MCU semaphores. Got rid of HOLD_LINE hack for NMI by implementing NMI ACK register. Added more driver notes. Consistencized the AY port bits. Added notes about what the majority of the hotsmash MCU code actually does. Unified memory map for prebillian and hotsmash. Made hotsmash machine config derived from prebillian. . Prebillian: Fixed rom labels and locations and added notes about lack of Taito game ID and PCB label. Improved MCU HLE for Prebillian to use non-anonymous timers instead of scheduler hacks. Consistencized the AY port bits. Got rid of hack mame_rand usage for the MCU semaphores in Prebillian in favor of proper implementation. Unified memory map for prebillian and hotsmash. . Super Qix . Shuffled around the Super Qix machine configs to make a bit more logical sense . Added a custom input member to clean up the MCU semaphore implementation for sqix and clones . Added some notes about the sqixb1 MCU code origin. Marked the recovered sqixb1 MCU dump good for that specific set as it matches a dump from a working PCB and updated notes. Replaced bootleg MCU code on sqix and sqixr1 sets with an MCU dump patched from the decapped sqixu MCU, using hints in the bootleg MCU code to figure out what to change. This very likely will match the real sqix/sqixr1 MCU once it gets dumped, but mark it as BAD_DUMP since it is a user-created image. . Added sqixr0 World/Japan V1.0 romset as a working clone, dumped from an early PCB. Renamed sqixr1, sqix, and sqixb1 set long names to include their version numbers. Updated comments about sqixb1, which is in fact an exact copy of sqixr0 with one gfx rom split and the MCU replaced with a bootleg version. Added notes about the greenwire fix on 7H on the V1.0 pcb vs the res/cap fix on later PCBs and notes about V1.0 coin lockout being inverted compared to the later sets. . Changed the samplerate of the sample playback engine from 5khz to 3906hz which sounds more correct in hotsmash, and is directly derivable from the 12mhz PCB xtal. . Variable name consistency. Added notes and some debugger access fences on read handlers. . Added notes about what the various rams on hotsmash/prebillian and superqix actually do, including the framebuffer ram. . Implemented AY-3-8910 mixing based on PCB tracing and added XTALs and notes about "SYSTEM" register bits being incorrect as currently implemented. - taitogn.cpp/zn.cpp: Renamed ZN1/ZN2 bios roms based on the label (where known), renamed the bios sets after the board and moved cat702 to files. - taitosj.cpp . Added semaphore and command handshake flags to audio section. This fixed no attract mode sound after first time loading in piratpet, junglek and jungleh (ID 01170). . Added XTALs for various clocks based on schematics. Documented and implemented AY-3-8910 outputs being tied directly together for 3 of the 4 AY-3-8910 chips. . Added proper handling of sound cpu NMI on sound command register and semaphore writes and clears. Added note about an unemulated filter effect on one of the AY chips. Some savestate and init fixes. . Fixed watchdog timing per schematics, and re-enabled watchdog. Bio Attack doesn't incorrectly trigger watchdog on death anymore. . Cleaned up rom labels/locations for the Elevator Action sets and added notes. Noted that the 4 and 5 board sets dumped so far of Elevator Action are the exact same code and gfx, just split differently. - tecmo.cpp: Added preliminary raster effects, improves ending screen effect in Gemini Wing. - tourvis.cpp . Added Barunba and Power Tennis (Not Working) to hash\pce_tourvision.xml . Updated information for new card images added - vsnes.cpp: Renamed select sets for Nintendo Vs. which cause -verifysoftware confusion with NES softlist titles due to shared setnames in the form of partial hits. This also tests the waters for expanded setnames for parents. - '96 Flag Rally: Needs START1 hooked up for the continue feature, even if it isn't used to start the game. - AGEMAME . Added new internal layouts to aces1.cpp, jpms80.cpp and mpu5.hxx . Fixed 'Fatal Error' when starting any maygay1b.hxx set (ID 06366) . Updated layouts with fixes and improvements . aristmk4.cpp: Added clickable buttons for 3 Bags Full (5VXFC790, Victoria) and clone 3 Bags Full (3VXFC5345, New Zealand) . aristmk5.cpp: Accurate flags. Added missing ARISTOCRAT_MK5_BIOS defines to some sets, fixing changing System Configuration in adonis to anything but game_prg causes a crash (ID 06374). - American Music Poker . Change CPU type to 8088. Hook up a bunch of devices. Identify a few inputs. Hardware notes. . Use PIC for interrupts and correct SN76489 type - Asterix: Added coin counter and lockout - Bagman: Improved graphics in clone Le Bagnard (bootleg on Crazy Kong hardware). - Big 10 . Various modest input/output improvements . Use applicable gambling input types and keypad for numbers instead of BUTTON . Added ticket dispenser for payout (but is there any hopper feedback? no obvious error message) . Added lamp output(?) . Try to puzzle out some more DIP switches based on what the code does - Birdie Try: Fixed "Allow Continue" and realized that 0x3c7 protection write is actually related with speed of the ball. Demoted to MACHINE_NOT_WORKING. - Caveman Ninja: Fixed sound ROM hookup in clone Caveman Ninja (bootleg, alt) - Combat School . Added SCREEN_RAW_PARAMS . Fixed text tilemap char select enable and opacity in Combat School. This fixed the two rows of garbage blocks at the top of the screen in the 2nd firing range stage (ID 00399). - D. D. Crew: Added inputs to clone D. D. Crew (bootleg), identified OKI write. Missing OKI bankswitch, so sounds are sparse and wrong. - Dirt Fox: Reversed 'Gear Shift Up/Down' - Fighting Roller . Fixed scrolling in Fighting Roller/Roller Aces. This fixed the scrolling bar of initials does not work properly, when you insert your initials (ID 00963). Actually it fixed also "landscape scrolling" when turning right landscape is supposed to go left, not the other way around. . Converted driver foreground to tilemap system and fixed flip flags in it, fixes service mode in clone Roller Aces (set 2). Also fixed a wrap-around regression. - Flower: Some work towards driver - Gold Medalist: Properly mark clones Gold Medalist (set 2) and (bootleg) as unemulated protection flag, they never access the video bank register for whatever reason. - Grand Prix '98: Redumped graphics rom (Game now playable) - Hana Awase: Added IRQ ack. This fixed Dealt cards are not random (ID 00435). - Jackal: Fixed coin counter (ID 02555). Note: All revisions flips the coin counter bit between 1 -> 0 five times, causing the bookkeeping to report 5 coins inserted. Most likely solution in HW is a f/f that disables coin counters when any of the other bits are enabled. - Judge Dredd: Swap non playable Primal Rage 2 for playable Judge Dredd for now (machine\idehd.cpp) (ID 06138) - KiKi KaiKai: Fixed coinage dipswitch settings (ID 02349) - Lethal Enforcers: Fixed linescroll in clone Lethal Enforcers (ver JAD, 12/04/92 17:16) (ID 02446) - Lovely Cards: Assume same frequencies used between lvcards and tehkanwc driver (ID 02473) - Mahjong Gakuensai/Mahjong Gakuensai 2: Fixed OKIM6295 and YM2413 sound volumes (ID 01044) - Moon Alien Part 2: Readded original roms to clone Moon Alien Part 2 (older version) - Mr. Driller 2: On-the-fly decryption support for Mr. Driller 2 - Pairs Love: Fixed screen in service mode goes black (ID 00343). Note: Game sets up two identical palette banks at 0-1ff and 0x200-0x3ff in-game, 0x200-0x3ff only in service mode. Maybe there's a color offset register to somewhere? - Pesadelo (bootleg of Knightmare on MSX): Updated comments - PinMAME . Marked all pinballs as NOT_WORKING . Updated idsa.cpp driver - Power Spikes: Assume clone Power Spikes (Italian bootleg) to have OKIM6295 pin7 low - Puzzle Club: Added NO_DUMP for missing title screen - Shanghai Kid: Fixed buttons 1 and 2 are switched (ID 06368) - Shooting Star: Added protection info. Update Art & Magic driver. - Silent Dragon: Fixed dipswitches 'Friendly Fire', 'Power-Up at Stage Clear' and 'Regain Power buy-in' (ID 00611) - Schmeiser Robo: Game has layer bug with flipscreen. Marked game as MACHINE_NO_COCKTAIL (ID 01890). - Space Chaser: Fixed MCFG_MACHINE_START for clone Space Chaser (CV version - set 1). This fixed crashes on reload (-str 8) in a staggered -str 20 run (ID 06371). - Sunset Riders: Fixed protection chip to use the work RAM buffer for horizontal scrolling in collision detection routine. Fixed players/enemies collision detection on slopes amd characters judder when walking diagonally (ID 00952). - Tecmo World Cup '90 . Fixed sprite priority bug with the ball being above the net in Euro League / Tecmo World Cup '90 bootlegs. . Added IRQ acks and second YM2203 sound chip to Euro League, which added piano keys to sound. None of these have flipscreen dip, so why the MACHINE_NO_COCKTAIL? - Time Crisis: Added byteswapped sample rom also to clone Time Crisis (Rev. TS2 Ver.A) - Usagi: Marked game as MACHINE_IMPERFECT_GRAPHICS - missing transparencies. - Wai Wai Jockey Gate-In!: Fixed visible area - Witch: Sort out which inputs and outputs are which. Use standard gambling input types where appropriate. Identify "Attendant Pay" (keyout?) and payout switches. Removed fake DIP switches. Names of real DIP switches no longer all-caps. Expand range of NVRAM. Added two PPIs for I/O. Partially implement hopper output. Clarification regarding 8255s. - Input port . Added support for binding devices to controller IDs (see devicemap.rst). This allows for stable controller IDs even if USB devices are plugged or unplugged, system is rebooted, etc. . Added id() property to input_device. Added an id() property representing unique device ID. This allows the OSD layer to supply display name along with unique identifier. Currently only used to map a physical controller device to controller ID, but can be used more generally in the future. For raw input devices, device ID is full raw input name. For all other devices, we fall back to device name as the device ID. Device ID uniqueness is not currently enforced programmatically. . Changed use of IPT_START to IPT_START1 in bartop52, guab, midyunit, namcos22, sshot and turrett - Fixed rom names in greatgun, midwunit.cpp, sf.cpp, stv.cpp and superqix.cpp - Dipswitch fixes in aerofgt.cpp, big10.cpp, idsa.cpp, igs011.cpp, jangou.cpp, nbmj8688.cpp, nbmj8891.cpp, nbmj8991.cpp, segas24.cpp, sf.cpp, shangkid.cpp, superqix.cpp, taito_b.cpp and taitosj.cpp - Renamed (acpsx) to (coh1000a), (atluspsx) to (coh1001l), (atpsx) to (coh1000w), (cpzn1) to (coh1000c), (cpzn2) to (coh3002c), (crush3) to (crush4), (crush4) to (crush5), (machridr) to (nvs_machrider), (machridra) to (nvs_machridera), (mightybj) to (nvs_mightybj), (nbajamex) to (nbajamexa), (platoon) to (nvs_platoon), (popnstex) to (popnstage), (psarc95) to (coh1002e), (roadriot) to (roadriota), (roadrioto) to (roadriotb), (taitofx1) to (coh1000t), (taitogn) to (coh3002t), (tps) to (coh1002m), (vf3) to (vf3c) and (vspsx) to (coh1002v) - Description changes of Air Trix (Rev A), Battles (set 1), Chicken Draw (2131-04, U5-1), Condor (Sidam bootleg of Phoenix), Crush Roller (set 4), Crush Roller (set 5), Dragon World II (ver. 100H, Hong Kong), Elevator Action (5 pcb version, 1.1), Face Off (Japan 2 Players), Idol Janshi Su-Chi-Pie II (v1.1), Idol Janshi Su-Chi-Pie II (v1.0), Jumping Cross (set 1), Le Bagnard (bootleg on Crazy Kong hardware), Ms. Pac-Man (bootleg, set 1), NASCAR Racing (Rev A), Net Select: Salaryman Kintaro (ID 06375), Net Select Horse Racing: Victory Furlong, Phoenix (Amstar, set 1), Planet Harriers (Rev A), Road Riot 4WD (set 2, 13 Nov 1991), Road Riot 4WD (set 3, 04 Jun 1991), Rolling Crush (version 1.07.E - 1999/02/11, Trust license), Stratovox (set 1), Super Qix (bootleg of V1.0, 8031 MCU), Super Qix (bootleg, No MCU), Super Qix (World/Japan, V1.1), Super Qix (World/Japan, V1.2), Tank Force (US, 2 Players), Tank Force (US, 4 Players), Task Force Harrier (US) and World Club Champion Football Serie A 2001-2002 Ver.2 (CDP-10001C) - MAME . VIDEO RENDERING SYSTEM . Fixed GH#1364 (bgfx/chains/crt-geom-deluxe.json and crt-geom.json) . Converted OSD monitor info to modules plus added DXGI implementation. Converted the monitor information code from video.cpp in SDL and Windows to modules. . UI . More new features for UI graphics viewer . Mouse over GFX tiles to reveal pixel values . Mouse over tilemap to reveal tile codes and colors . UI tilemap scrolling controls are now orientation-relative . Make mouse visible everywhere in UI graphics viewer by treating it like a menu. Added all necessary getters to tilemap_t and a few more. Added comment about role of decoder in tilemap creation. . More consistent use of integer types in tilemap_t and other graphics-related classes. Define indirect_pen_t, requiring a slight reordering of emu.h due to an unsurprising dependency. . Fixed File Manager when cfg image directory invalid (ui\imgcntrl.cpp) . Removed datfile_manager (ui\datfile.cpp) and moved UI dats to LUA plugin . Changes the selgame UI sidebar get the dat information from a plugin rather than the hardcoded C++ . Much easier to add other dat files and allow for scripted data . Example included that uses the hi2txt XML parser files to display high score info from hiscore file or NVRAM . Removed enable_dats() option, no longer needed after the switch to LUA plugin. . Fixed remove favorites via "configure machine" menu (ui\miscmenu.cpp) . Sort favorites game list by description (ui\selgame.cpp) . Fixed custom renderer alignment (ui\custui.cpp) . Fixed the failure to select the last used machine if quit with the focus in another part of the main menu. . Exporting game list is now also possible for the favorites list, except if it has software in it (ID 06383) . Consolidated code that inputs characters into buffers. Fixing issue where a multibyte character could cause the maximum size to be exceeded, and obtaining the maximum size with std::numeric_limits (ui\utils.h). . Fixed an off by one error when identifying best entries for typeahead on the file selection and software list dialogs (ui\filesel.cpp and swlist.cpp) . DEVICE IMAGE INTERFACE . Changed the "extension as filetype" behavior for software list images to be opt in behavior . Resist emu\dirom.cpp to out-of-bounds bank numbers. Added a mandatory callback on bank change to dirom. . Added some documentation (device_memory_interface.rst and device_rom_interface.rst) . Allows devices to indicate whether image creation should be supported at the command line (emu\diimage.cpp and image.cpp). This addresses MT bug #6372. The prior issue is that creating serial and/or printer output relied on how image_load() would create images that were not there. This behavior was not universally desirable (the consensus was that it was wrong for disk images, up in the air for cassettes etc). This change makes it possible for devices to control this behavior. Currently I have it associated with image_type(); this might not be the ideal fix. . Now setting m_filetype for images loaded from softlists (emu\diimage.cpp) . PLUGINS: Updated hiscore.dat . SOFTWARE LIST . Increased max length of parent name to 16, for evaluation purposes (emu\softlist_dev.cpp and validity.cpp). Check that driver names contain only [0-9a-z_] (emu\validity.cpp). . Check characters in softlist setnames, fix errors (emu\softlist_dev.cpp). . Added ROM management for newbies (aboutromsets.rst), FAQ entry on common problems with unofficial builds. . Imgtool now supports HP9845B tape image. Retired imgtool_basename(), in favor of core_filename_extract_base(). Changed the read_sector apparatus to use std::vector. - SDLMAME . Partially fix SDL joysticks with same name . Each mouse should track its own double-click status (input\input_sdl.cpp) - Compiling . 3rdparty . Updated BGFX and BX and updated MAME code to support new API. Generated missing shaders. . Updated to LUA 5.3.3 . Updated GLM, Google Benchmark, GoogleTest, PugiXML and RapidJson . Changing an 'assert(false)' to 'throw false', so that this always errors even in non-debug builds (util\opresolv.cpp). option_guide C++-ification, touched up imgtool. . Subscripting std::array<..., 0> is bad; working around this specific case (util\opresolv.h) . Introduced an STL container and changed util\opresolv.cpp to use it. Alphabetizing the #include's and added typedef's for the reverse iterators (util\coretmpl.h). . Initial imgtool C++-ification . Hack for Clang compiling on windows, as it can't tell that calling ::RaiseException will prevent the function from returning (3rdparty\compat\winsdk-override\wrl\internal.h). . Fixed compile for DirectWrite font provider and make it compile with normal windows build (font\font_dwrite.cpp). Disable unknown-attributes & ignored_qualifiers to allow font_dwrite.cpp to build with Clang (scripts\genie.lua). . Changed win_get_window_text_utf8() to return std::string. This eliminated an unnecessary conversion step. . Fixed srcclean when doing multiple files in a single run - Debugger . Fixed trace command access a parameter beyond the list supplied, added an error message if you provide an invalid boolean, allow boolean to be case-insensitive and skip empty strings when parsing booleans. . Initial work towards debug command hookups for Sega Saturn. Usage: saturn inside debugger console. saturn help for a list of currently available commands. . Allow STRIP_SYMBOLS=1 and DEBUG=1 to be applied simultaneously 0.177 - New Working games: Magical Butterfly, Playmatic MPU 1 games, River Patrol (Japan) and Techno Drive - New Non-Working games: The Key Of Avalon 2.5 - War of the Key (client) (Rev B) (GDT-0019B), The Key Of Avalon 2.5 - War of the Key (server) (Rev B) (GDT-0018B), Mobile Suit Gundam 0079 Card Builder (CDV-10010), Mobile Suit Gundam 0083 Card Builder (CDV-10030), Multi Game I (unknown V2.4), Quest of D (CDV-10005C), Unknown Fun World A0-1 game, Unknown Fun World A7-11 game 1 and Unknown Inter Games poker - New PinMAME games: Al's Garage Band Goes On A World Tour (R06a), Amazon Hunt (alternate set), Amazon Hunt II (French), Amazon Hunt III (French), Apollo 13 (2.03), Apollo 13 (5.01, Display 4.01), Arena (alternate set), Basket Ball, Batman Forever (1.02), Batman Forever (2.02), Baywatch (3.00 Dutch), Baywatch (4.00 English), Big Bat (Bat game), Bike Race (2-ball play), Bike Race, Black Knight 2000 (LA-2), Black Knight 2000 (PA-5), Black Knight 2000 (PA-7), Breakshot (1.2), Centaur (alternate set), Centaur (Inder), Chicago Cubs' Triple Play (alternate set), Continental (Bingo, alternate version), Cue Ball Wizard (rev.2), Cue Ball Wizard (rev.3), Cyclone (L-1), Dale Jr. (5.00), Devil Riders (French speech), Diner (L-2), Fire! (L-2), Flash Dragon (alternate set), Galaxy Play 2, Godzilla (Pinball, 0.90), Godzilla (Pinball, 1.00), Grand Lizard (L-3), Guns N Roses (3.00 Dutch), Guns N Roses (3.00 French), Hang-On (Sonic), Hook (4.01 with prototype sound), HyperBall (L-3), Independence Day (v2.01 France), Independence Day (v2.02 France), Io Moon, Iron Balls, Kidnap, King Kong (1.0), Kiss (prototype v.2), Laser War (8.1), Lethal Weapon 3 (2.03), Lost in Space (1.01 Germany), Lost in Space (1.01, Display 1.02), MAC Jungle (New version), MAC's Galaxy, Mars - God of War (French speech), Miss Disco (Bingo), Monte Carlo (Pinball, alternate set), NBA MAC, Petaco (new hardware), Petaco (new hardware, alternate set), The Phantom of the Opera (2.9), Phantom Ship, Pin-Bot (L-1), Pistol Poker (R01), Punchy The Clown (R03), Punky Willy, Raven (alternate set), Red Baron (Pinball), Riverboat Gambler (PA-7), Robocop (3.0), Secret Service (4.2 alternate sound), Sir Lancelot, Soccer Kings (alternate set), Space Jam (2.00), Space Panther, Space Shuttle (L-3), Space Team, Space Train (Pinball), Spring Break (alternate set), Star Trek 25th Anniversary (1.17), Star Wars (1.06), Starship Troopers (2.00), Strikes n' Spares (rev.2), Swords of Fury (L-1), Taxi (Marilyn) (LU-1), Taxi (P-5), Thunder Man, Time Machine (1.8, Germany), Torpedo Alley (1.6), Unknown Game (MAC #1808), V.1, Viper Night Drivin' (1.02), Volcano (Sound Only set 1), Walkyria, The Who's Tommy Pinball Wizard (1.02), Wild Texas and X-Files (2.00) - New clones: Air Gallet (older, Europe), Air Gallet (older, Hong Kong), Air Gallet (older, Korea), Air Gallet (older, Taiwan), Air Gallet (older, USA), Akuu Gallet (older, Japan), Casino Five (3315-02, U5-2B), Champion Base Ball (Japan set 3), Dealer's Choice (E4A1), Deluxe 4 U (ver. 0107, 07/01/2000), Escape from Mars (bootleg of Lunar Rescue), Gals Panic S - Extra Edition (Europe, set 2), Golden Tee '98 Tournament (v3.02), Gulf Storm (Korea), Jolly Card (Austrian, set 2), Jolly Joker (Apple Time), Jungler (Subelectro, bootleg on Scramble hardware), Metamorphic Force (ver AAA), Mobile Suit Gundam 0079 Card Builder Ver.2.02 (CDV-10024B), Mobile Suit Gundam 0083 Card Builder Check Disk (CDV-10031), Mobile Suit Gundam 0083 Card Builder Ver.2.10 (CDV-10037B), New Zero Team (V33 SYSTEM TYPE_B hardware), The NewZealand Story (US, old version) (older PCB), OutRun 2 Special Tours (Japan) (Rev A) (GDX-0011A), Ring & Ball (unknown title), Super Hang-On (Hang-On conversion, Japan, FD1094 317-0039), Super Street Fighter II X: Grand Master Challenge (Japan 940311), Teenage Mutant Ninja Turtles (US 4 Players, version H), Terminator 2 - Judgment Day (rev LG1 11/04/91), Unknown Fun World A7-11 game 2, Virtua Cop 3 (Rev B) (GDX-0003B), Wangan Midnight Maximum Tune (Japan) (Rev B) (GDX-0008B) and Wangan Midnight Maximum Tune 2 (Japan) (Rev A) (GDX-0015A) - New drivers: barni.cpp, idsa.cpp, inderp.cpp, joctronic.cpp and macp.cpp - New devices: airraid_vid, cdp1863, dooyong_ram_tilemap, dooyong_rom_tilemap, rshark_rom_tilemap and stfight_vid - New mame.ini options: unevenstretchy and autostretchxy - H8 CPUs: Changed endianness of H8 ADC register (cpu\h8\h8_adc.cpp). This was broken in a rewrite a long time ago, breaking the controls in some Namco System 12 (and probably 23) games. This commit improves controls in golgo13, g13knd and technodr. - 8085A CPU: Fixed i8080 status callbacks during push/pop (i8085\i8085cpu.h) - I8086 CPU: Made common_op virtual for wip tool (cpu\i86\i86.h) - I80186 CPU: Less errorlog spam - I386, MIPS and PPC CPUs: Store address of elemtnt 0 of m_table and return it in vtlb_table, with this in debug mode i386 is 1.7 times faster (emu\divtlb.cpp). - T11 CPU: Fixed IRQs. This fixed Atari's APB police car graphics problem at the point you drive away from your starting square (ID 00550). - TLCS-90 CPU: Fixed a nonsense check - AICA sound: Added ADPCM diff value clamp based on encoder research - C352 sound . Replaced C352 core. The new core has working noise generator and sample interpolation. . Rearrange C352 channels, removed rear channels for systems without second DAC. Rearrangement speakers for Namco NB2. . Removed MACHINE_IMPERFECT_SOUND flags for C352 games - ES5505 sound: Attempt to fix 32bit crash - OKI6295 sound: Fix for save state reloading for many machines using OKI6295 - Sega/Yamaha 315-5560 sound: Make multipcm cache sample data on KeyOn - CHDMAN . Unbreak large files after refactor . Removed create_option_guide() as you can't create CD's (imagedev\chd_cd.cpp) - Discrete Netlist . Minor include cleanup . Fixed a memory hole caused by assign operators . More C++ . Added doc target to netlist makefile. Removed old style cast. . Use noexcept in netlist code where appropriate. Use macro NL_NOEXCEPT if debug builds would throw an exception (e.g. by using nl_assert). This is not entirely safe. Going forward, nl_assert should call log first and than throw. Fixed noexcept and NL_NOEXCEPT to pass g++ 6.x builds. . Added target mingw to standalone netlist makefile . Added a preliminary parser for RINF netlist format - ISA: Check get_card_device before using. This fixed crash/exception at initialization in various machines using ISA (ID 06328). - Serial device interface: Make buffered serial a mixin to promote reuse (rs232\keyboard.cpp, rs232.h, terminal.cpp, emu\diserial.h) - TMS9902 controller: Improved logging; fixed missed CTS signal, outgoing RTS and incoming DTR. - airraid.cpp, darkmist.cpp and stfight.cpp . Various Seibu Refactoring: Air Raid, Street Fight and Dark Mist all basically use very similar video systems (4 layers, 2 of them being ROM based tilemaps, a CLUT prom for each layer which controls colours and transparency handling) this takes some steps towards allowing a common implementation of it. . Street Fight and Cross Shooter (Street Fight type hw) use a common motherboard but different Video Boards. This makes the video boards into devices to faciliate this. . Added missing_dependencies check to video\airraid_dev.cpp (fixes segfault in tilemap viewer) . Added assert to device_gfx_interface::palette() to help catch dependency mistakes like the above (emu\digfx.h) . Added MACHINE_IMPERFECT_SOUND to clone Cross Shooter (2 PCB Stack) (music desyncs a lot) - alg.cpp and cops.cpp: Separation the LDP-1450 laserdisc player to its own device - amaticmg.cpp: Corrected technical notes - centiped.cpp: Correct tag for the ay8910 and removed unneeded callback. - chihiro.cpp . Ghost Squad, The House of the Dead III, Sega Club Golf 2006 Next Tours, Virtua Cop 3 and Wangan Midnight Maximum Tune boots and Sega Network Taisen Mahjong MJ 2 (Rev C) throws an exception. . More USB. Comments-docs update. - dooyong.cpp . Emulated mixing of two 4bpp tilemaps to make 8bpp background in Pop Bingo. Also initialise/save palette bank properly for 8-bit Dooyong games. . Make tilemap generator into a device, move a whole lot of stuff from video start to machine config. . Converted rshark/superx ROM-based tilemaps to device as well and removed all the trampolines. . Clean up, encapsulate stuff, use derived machine configs and better represent the 16-bit text layer block on 8-bit machines. - eprom.cpp: Fixed save state regression - esd16.cpp: Minor documentation update - galpani3.cpp, jchan.cpp and kaneko16.cpp . Stop trashing memory in machine\kaneko_calc3.cpp. This fixed MAME crashed when exiting B.Rap Boys (ID 06349). . Fixed read case in kaneko_calc3.cpp and make kaneko_toybox.cpp safe as well - konamigx.cpp: Comment a printf for performance reasons (type4_prot_w state). This fixed MAME produces several messages about unknown protection command during run in rungun2 and slamdnk2 (ID 05584). - kurukuru.cpp: Input/output improvements: Ticket dispenser now works for real, dispensing on command rather than like crazy. Correct "Payout Mode" DIP settings. Correct DSW1 settings in Pyon Pyon Jump. Rename coin inputs and coin-related DIP switches and reorder them by increasing denomination. Remove bogus "Unknown" inputs that aren't actually used. Full character names only for Kuru Kuru Pyon Pyon (except in bookkeeping mode). Reset button now mapped as "Memory Reset" (though it also resets the program). Random notes based on program code. - midvunit.cpp . Added basic wheel force feedback reference and made notes on other outputs . Finished implementing motion controller. Motion test will succeed and everything sent to motion controller goes to stdout. . Added layout for Midway V-Unit games (Cruis'n USA, Cruis'n World and Off Road Challenge) . Dumping Galil commands to osd_printf_error for now. Not confident enough in the rest of the code to include tests for them so improved the comments about them instead. - midzeus.cpp: Fixed save state crashing in The Grid and Cruis'n Exotica - namconb1.cpp, namcos11.cpp, namcos12.cpp and namcos23.cpp . Updated H8/3002 and C352 frequencies for namcos12 and namcos23. This is based on sound driver research, and comparing the H8/3002 ND-1/ND-2 programs with the System 12 and 23 programs. The figures are similar to the previously measured clock speeds so chances are the earlier values were just measurement error. Removed MACHINE_IMPERFECT_SOUND flags for namcos23.cpp. . Fixed incorrect C352 clock frequency in namcos11 . Fixed sound timing in namconb1 for some games. Did some digging into the sound timing issue in certain NB-1 games. It seems like the C75 MCU does not like non-60 hz interrupt intervals, wanting the interrupts to sync with a 120hz internal timer. By moving the interrupt callbacks to separate 60 hz timers (instead of the 59.7 scanline timer), this fixes the sound tempo in nebulray, gslugrsj, gslgr94u, clones and vshoot (ID 03488). . Changed endianness of H8 ADC register (cpu\h8\h8_adc.cpp). This was broken in a rewrite a long time ago, breaking the controls in some Namco System 12 (and probably 23) games. This commit improves controls in golgo13, g13knd and technodr. . Make Techno Drive workin . The game previously displayed a 'COIN ERROR' at bootup. Fixed this by patching the sub CPU H8 program (not the best fix maybe but I hope it will work for now). . The contents of 'th1fl3l.12' and 'th1fl3u.13' appeared to have been swapped. Swapped the filenames and placed them at the proper memory location (0x1800000) and the game no longer crashes at the Namco logo. Played through the game a few times and it seems to be fully working now. . H8 SCI improvements. This should hopefully prevent the sub CPU from locking up (and making controls unresponsive) in Techno Drive . To play the game, press F2 to enter the test menu, navigate to GAME OPTIONS and disable the printer by setting "PRINTER" to OFF. Printer not emulated. - naomi.cpp . Added all known Sega DIMM board firmware dumps . Dumped Ferrari F355 Japan BIOS - neodriv.hxx . Added mahjong panel to Mahjong Kyo Retsuden . Fixed oversized sprites region in Digger Man - segasp.cpp: Migrate driver to ROM_PARAMETER for board ID - skylncr.cpp . Improvements to almost all games in Sky Lancer driver . Use standard input mappings in all games except Sonik Fighter . Added working hopper outputs and payout buttons . Promoted Magical Butterfly to WORKING after solving the protection (the code wasn't encrypted) and added the button lamps internally associated with it . Decrypted Butterfly Dream 97, which is almost working now with obvious graphical glitches and some apparent input problems. . Created address_space_debug_wrapper to deal with pedantic but common issue - tiamc1.cpp: Tilemap bit layers disable control (used in test mode only) - toaplan2.cpp: . Added NVRAM to Power Kick and Othello Derby; document the reset mechanism for the latter. . Added ticket dispenser to Power Kick (seems to work for the most part). . Removed numerous bogus DIP switches. . Thoroughly reconfigure coin inputs in Power Kick and adding counters and lockouts for all three (including the "Key In" input that really isn't). . More meaningful settings for the "Payout" DIP switch in Power Kick (based on program code). - triforce.cpp: Comments-docs update - uapce.cpp: Fixed invalid dipswitch 'Buy-In Feature' - williams.cpp: Added video proms to Turkey Shoot and Mystic Marathon - yunsung8.cpp: Simplified rom loading - AGEMAME . bfm_sc1.cpp, bfm_sc2.cpp and bfm_sc4.cpp: Added new Scorpion 1/2/4 internal layouts. Comment debug helper from being used from bfm_sc4 sets which can really fill up a log when all 3k plus machines are run in a test. Put the DM01 matrix board CPU inside the device for BFM SC2/4. Make the DMD be treated as a screen, avoids tag lookups, adds correct dmd rom to some bfm_sc2 sets etc (video\bfm_dm01.cpp). Improved DMD on/off dot colours (video\bfm_dm01.cpp). . jpmimpctsw.cpp, jpmmps.cpp, jpmsys5sw.cpp and mpu3.cpp: Added new internal layouts . maygay1b.hxx: Partially fix lamp mapping in Maygay M1A/B hardware. Added Maygay M1A MCU bones, commuication not hooked up yet. Fixed Maygay M1A lamping code to work with layouts. Maygay1b: Fixed second set of lamps and partially investigated MCU hookup. Found the rather obvious bug that was actually preventing the 2nd lot of lamps from working. Adding layouts to Maygay M1 driver. Fixed maygay M1A lamping code to work with layouts. Fixed Maygay input strobe order bug. Updated layouts with new MFME2MAME Debug View. Layouts have new fix (same as MPU4) for 'coin slot buttons'. Some reel lamp improvement for 5th reel. Added four new layouts. . mpu4.hxx: Added all known expansions as fragments for DRIVER_INIT. This will permit 'per set' configuration to make the games playable. . mpu4sw.hxx: Fixed many MPU4 set descriptions. Identify and mark hacks. Associate sets with correct games . Added support for MPU4 layouts for games beginning with 'a', based on MFME2MAME conversion. CHR protection data is still not hooked up for many of these sets, so lamping behaviour is incorrect. - Ajax: Slightly adjust visible area (ID 06356) - APB - All Points Bulletin: Fixed IRQs in T11 CPU. This fixed police car graphics problem at the point you drive away from your starting square (ID 00550). - Arkanoid: Clean up comments and fix obsolete set names in comments which have long since changed. Clean up and update notes about which MCUs are used. - Bagman: Got clone Bagman (bootleg on Crazy Kong hardware) to boot, gfx are completely wrong though. - Diamond Derby: Attempt to fix crash on 32bit - Dig Dug: Fixed missing graphics from tilemap 0 (ID 06332). Note: GCC 6.1.0 issue with uninitialized variables. - Dottori Kun . Much better video timing, but still shows glitches in ccovell's ROM . eat_cycles clamps to 0, adjust_icount does do what i intended. - Donkey Kong: Added notes about the Speed-up Kit #2 - Dribbling: Fixed proms (all 4 bits) - Green Beret: Added missing PAL dump to clone Green Beret (bootleg) - Hana Yayoi: Resolve conflicting input bindings - Intergirl: Dumped color PROMs - Laser Ghost: Fixed noticeble offset on the left in the crosshair (ID 01455). Allow gun offset correction to be disabled. - Mahjong games: Designate more memory reset inputs in mahjong games; regularized service inputs in dynax.cpp (dynax.cpp, fromance.cpp, lucky74.cpp, macs.cpp, mayumi.cpp, nbmj9195.cpp, niyanpai.cpp, ojankohs.cpp, pastelg.cpp and royalmah.cpp) - MegaDrive/Genesis (hshavoc.c, megadrvb.c, puckpkmn.c, segac2.c, megaplay.c and megatech.c): Fixed selecting machine/game via softlist though internal menu results exception crash (ID 06326) - Muscle Bomber Duo: Fixed game crashed in demonstration mode (ID 06352) - Need For Speed: Added NFS Underground System Recovery CD dump - Pairs: Restore unique sound rom due cut-n-paste overwrite and not paying attention. - Panel & Variety Akamaru Q Jousyou Dont-R: Fixed OKI6295 banking - Pink Sweets: Found and corrected bad bits in Pink Sweets U2 graphics roms based on comparison 4 dumped versions. Notes: pinkswtsb (2006/04/06 MASTER VER.) and pinkswtsx (2006/xx/xx MASTER VER.) uses same U2 graphics content with 1 bad bit difference in pnkswtsb_u2. normally after manual changes in roms BAD_DUMP flag must be raised, but here we have 4 dumps with almost identical contents (only two 128kb files different/changed from oldest to latest version), so 99.9% with these changes we have full good Pink Sweets U2 nand dumps now. Sad stats: 4 dumps, 2 of them was a bit bad, i.e. 50% cases - so bad quality components was used by Cave in theirs 'expensive' SH3 PCBs. - PinMAME . Updated/WIP Play_1, Play_2, Play_3 and Play_5 drivers. All Play_1 games working. . Started syncing with latest PINMAME. Will add new games directly in the wn (alvg.cpp, bingo.cpp, by35.cpp, capcom.cpp, de_2.cpp, de_3.cpp, de_3b.cpp, gts3a.cpp, gts80.cpp, gts80a.cpp, gts80b.cpp, jp.cpp, kissproto.cpp, peyper.cpp, play_2.cpp, play_5.cpp, s7.cpp, s9.cpp, s11.cpp, s11a.cpp, s11b.cpp, s11c.cpp sleic.cpp, spectra.cpp, techno.cpp, white_mod.cpp, whitestar.cpp and zac_2.cpp). . Added some skeleton drivers - Plotting: Fixed dipswitches in clone Plotting (US) (ID 06343) - River Patrol: Decrypted main roms in River Patrol (Japan) (Game now playable) - Sengoku Mahjong: Input mappings refined based on examination of program code. All service inputs are active switches, not DIP toggles. Added unused SW2 DIPs as displayed in service mode. Added a couple of obscure inputs not shown in service mode. - Time Crisis: Byteswapped sample ROM ts1wavea.2l - Virtua Racing: Added IO board dumps - Input port . Keyboard/terminal improvements . Mark lots of things constexpr in attotime and turn macros into functions . Added base classes for HLE matrix keyboard and buffered RS232 device . Make generic keyboard/terminal more usable . Keyboard has configurable typematic delay/rate . Keyboard has selectable JIS/ANSI layout . Keyboard handles simultaneous keypresses more intuitively . Keyboard uses meta to set high bit . Terminal has configurable auto LF on CR, auto CR on LF and local echo. Terminal has audible bell (see Funky Ball). . Added linefeed key to generic keyboard (maps to ins by default). . Added workaround for MSVC warning (machine\keyboard.ipp) . Default auto CR on LF for generic terminal (machine\terminal.cpp) . Added F16..F20 keys (present on (MESS) DEC LK201 keyboard and its clones) . Devfind revision . Eliminate read_safe as a global function and make it a method of optional_ioport (and required_ioport, for which it makes less sense). . New constructor for optional_ioport_array and required_ioport_array using std::initializer_list to specify tag list . Removed pointer/reference conversion operators for required_ioport and optional_ioport. Explicit getters like found() and target() are now required when dereferencing isn't wanted. Many drivers have been changed to use required_ioport_array and optional_ioport_array to make this cleaner. . Updated numerous drivers that were using read_safe to use I/O port finders generally. Port names have been kept the same as far as possible to avoid breaking saves (some of the optional finders should probably be required). . Give edfbl and monkelf their own memory maps so hacky input reading routines can be removed. . Clean up some legacy static handlers in amiga.cpp and cubo.cpp. . Fixed Gun#2/Aimtrak Dual Lightguns no longer properly detect (input\input_rawinput.cpp) (ID 06185) . OSD input code cleanup (osd\modules\input\input_...) . Removed legacy forms of (required|optional)_(shared_ptr|ioport)_array, use new syntax for I/O port array. - Fixed rom names in bfm_sc2.cpp, merit.cpp, midyunit.cpp, tnzs.cpp, triforce.cpp and williams.cpp - Dipswitch fixes in cclimber.cpp, kurukuru.cpp, neodriv.hxx, play_1.cpp and taito_l.cpp - Renamed (casino5) to (casino5a), (cshooter) to (cshootert), (cshootere) to (cshooter), (m4addrcc) to (m4addrcc__c), (m4addrcc__c) to (m4addrcc), (m4andybt) to (m4andybt__b), (m4andybt__b) to (m4andybt), (m4buc) to (m4buc__n), (m4buc__n) to (m4buc), (m4cashat) to (m4cashat__ar), (m4cashat__ar) to (m4cashat), (m4coscas) to (m4coscas__d), (m4coscas__d) to (m4coscas), (m4crdome) to (m4crdome__j), (m4crdome__j) to (m4crdome), (m4gbust) to (m4gbust__f), (m4gbust__f) to (m4gbust), (m4gclue) to (m4gclue__j), (m4gclue__j) to (m4gclue), (m4goodtm) to (m4goodtm__ae), (m4goodtm__ae) to (m4goodtm), (m4hijinx) to (m4hijinx__ab), (m4hijinx__ab) to (m4hijinx), (m4hypclb) to (m4hypclb__c), (m4hypclb__c) to (m4hypclb), (m4hypvip) to (m4hypvip__b), (m4hypvip__b) to (m4hypvip__e), (m4hypvip__e) to (m4hypvip), (m4jpgem) to (m4jpgem__g), (m4jpgem__g) to (m4jpgem), (m4jpgemc) to (m4jpgemc__j), (m4jpgemc__j) to (m4jpgemc), (m4jwlcwn) to (m4jwlcwn__k), (m4jwlcwn__k) to (m4jwlcwn), (m4lucksc) to (m4lucksc__b), (m4lucksc__b) to (m4lucksc), (m4luxor) to (m4luxor__j), (m4luxor__j) to (m4luxor), (m4madhse) to (m4madhse__s), (m4madhse__s) to (m4madhse), (m4mag7s) to (m4mag7s__ag), (m4mag7s__ag) to (m4mag7s), (m4nhtt) to (m4nhtt__i), (m4nhtt__i) to (m4nhtt), (m4nnww) to (m4nnww__aq), (m4nnww__aq) to (m4nnww), (m4nnwwc) to (m4nnwwc__7), (m4nnwwc__7) to (m4nnwwc), (m4przhr) to (m4przhr__p), (m4przhr__p) to (m4przhr), (m4przmns) to (m4przmns__n), (m4przmns__n) to (m4przmns), (m4przmon) to (m4przmon__i), (m4przmon__i) to (m4przmon), (m4przrf) to (m4przrf__i), (m4przrf__i) to (m4przrf), (m4przrfm) to (m4przrfm__d), (m4przrfm__d) to (m4przrfm), (m4przwo) to (m4przwo__e), (m4przwo__e) to (m4przwo), (m4przwta) to (m4przwta__p), (m4przwta__p) to (m4przwta), (m4ready) to (m4ready__as), (m4ready__as) to (m4ready), (m4rfym) to (m4rfym__ar), (m4rfym__ar) to (m4rfym), (m4rhog2) to (m4rhog2__l), (m4rhog2__l) to (m4rhog2), (m4rhogc) to (m4rhogc__a), (m4rhogc__a) to (m4rhogc), (m4rhr) to (m4rhr__i), (m4rhr__h) to (m4rhr), (m4rhr__i) to (m4rhr__h), (m4rhrc) to (m4rhrc__j), (m4rhrc__j) to (m4rhrc), (m4rhrcl) to (m4rhrcl__c), (m4rhrcl__c) to (m4rhrcl), (m4rockmn) to (m4rockmn__j), (m4rockmn__j) to (m4rockmn), (m4takepk) to (m4takepk__j), (m4takepk__j) to (m4takepk), (m4thestr) to (m4thestr__e), (m4thestr__e) to (m4thestr), (m4tic) to (m4tic__h), (m4tic__h) to (m4tic), (m4toot) to (m4toot__j), (m4toot__j) to (m4toot), (m4tutcl) to (m4tutcl__j), (m4tutcl__j) to (m4tutcl), (m4uuaw) to (m4uuaw__n), (m4uuaw__n) to (m4uuaw), (m4vegast) to (m4vegast__h), (m4vegast__h) to (m4vegast), (m4vegast__w) to (m4vivaes__aq), (m4vivaes) to (m4vivaes__j), (m4vivaes__ab) to (m4vivalv__9), (m4vivaes__i) to (m4vivaes), (m4vivaes__j) to (m4vivaes__i), (m4viz) to (m4viz__j), (m4viz__j) to (m4viz), (m4wta) to (m4wta__d), (m4wta__d) to (m4wta), (metamrpha) to (metamrphe), (nzeroteam) to (nzeroteama), (ssf2xj) to (ssf2xjr1), (ssf2xjd) to (ssf2xjr1d), (ssf2xjr) to (ssf2xjr1r) and (vcop3) to (vcop3a) - Description changes of Al's Garage Band Goes On A World Tour (R02b), Baywatch (4.00 Dutch), Breakshot (1.3), Chicago Cubs' Triple Play, Cross Shooter (2 PCB Stack), Gals Panic S - Extra Edition (Europe, set 1), Godzilla (Pinball, 2.05), Independence Day (v2.02), Jolly Card (Austrian, set 1), The King of Fighters '97 Chongchu Jianghu Plus 2003 (bootleg), Lost in Space (1.01), Magical Butterfly (version U350C, protected), 'lots of MPU4 games', Mystery Castle (R02), Mystery Castle (R03), New Zero Team (V33 SYSTEM TYPE_B hardware, China?), Pistol Poker (R02), Punchy The Clown (R02), Space Jam (3.00 France), Space Jam (3.00 Germany), Space Jam (3.00 Italy), Space Jam (3.00), Starship Troopers (2.01), Super Hang-On (Hang-On conversion, bootleg), Super Hang-On (Hang-On conversion, ride-on, Japan, FD1094 317-0038), Teenage Mutant Hero Turtles (UK 2 Players, version ?), Teenage Mutant Hero Turtles (UK 2 Players, version U), Teenage Mutant Hero Turtles (UK 4 Players, version ?), Teenage Mutant Hero Turtles (UK 4 Players, version F), Teenage Mutant Hero Turtles (UK 4 Players, version S), Teenage Mutant Ninja Turtles (Japan 2 Players, version 1), Teenage Mutant Ninja Turtles (Japan 4 Players, version 2), Teenage Mutant Ninja Turtles (Oceania 2 Players, version ?), Teenage Mutant Ninja Turtles (US 4 Players, version J)', Teenage Mutant Ninja Turtles (US 4 Players, version R), Teenage Mutant Ninja Turtles (World 4 Players, version X), Turkey Shoot (prototype), Viper Night Drivin' (2.01), Volcano (Sound Only set 2) and Volcano (Sound Only set 3) - MAME . VIDEO RENDERING SYSTEM . Fixed benchmarking by adding additive-blend YUY16 support to emu\rendersw.hxx . intscalex, intscaley and unevenstretchx now consider the system orientation and screen rotation . Fixed scanline issue also applied for swapped orientation . Updated BGFX shader binaries which have changed after the last BGFX update . Implement new option -unevenstretchy (complementary to -unevenstretchx) . Implemented new option -autostretchxy, to automatically apply -unevenstretchx or -unevenstretchy based on source native orientation. . Consistently apply -intscalex to the long dimension of the target monitor and -intscaley to the short dimension . UI . Fixed stuk softlist art (ui\selmenu.cpp) . Attempt to prevent GCC optimising away global_alloc_clear (scripts\genie.lua). This fixed UI 'Input (general)' selection menus do not display correctly (ID 06335 and ID 06342). . Moved input_character() template method to ui/utils.h and changed menu_software_list::m_filename_buffer to be std::string. . Created class ui::machine_info for holding calculated machine info and generating descriptive strings for the UI. This absorbs a number of unimportant core functions that existed only for the UI's convenience. . Fixed a regression in the bios menu that caused all devices to be displayed (ui\miscmenu.cpp) . Fixed detection of auto option in ui\submenu.cpp . Moved creation roms list where necessary, this gets back to the menu at acceptable reaction times (ui\selgame.cpp). . Show color values in palette viewer: On the UI graphics viewer's palette screen, moving the mouse over a color rectangle will show the index of the entry and its RGB values in hexadecimal. For indirect pens, the index of the corresponding color will also be shown. For colors in normal RAM-based palettes, the raw (i.e. undecoded) value stored in memory will also be shown. This does not currently work with most buffered palettes (though the Seibu SPI driver has been updated for this purpose), and is totally incompatible with PROM-based or RAMDAC-based palettes. The changes made to the core while implementing this feature may look more substantial than they really are. A whole batch of read methods have been made const, and palette_device now has a generic read_entry function that is used both internally and externally. . DEVICE IMAGE INTERFACE . Removed device_image_interface::has_been_created(). This method was necessary long ago when devices didn't have distinct load and create paths, which has since been addressed. . Created device_image_interface::add_format() protected member and made device_image_interface::m_formatlist be private. . Reverse logic of IMAGE_VERIFY (emu\diimage.h) . Made a bunch of device_image_interface members private (instead of protected) . Changed device_image_interface::load() so that it is no longer responsible for both loading images and softlist items . Turn image init/validate into scoped enums to avoid accidental casts to/from integer and boolean types. The image error should also be turned into a scoped enum - the menus were assuming it was the same thing as an init result. . Changed device_image_interface::load() to take 'const std::string &'. Converted more stuff in diimage to use std::string instead of 'const char *'. . Fixed issues where softlist items (that were not for floppies) were loaded from the software list menu. Fixed more softlist regressions. . Eliminated device_image_interface::make_readonly(): 1. All image loads through softlists are done through common_process_file(), and thus going to be readonly anyways. 2. The cassette.cpp call to make_readonly() seems to be a residual hack, if a failure occurs the image will be unloaded anyways. . device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse(). Also consolidated with code that performed a quick pass to identify whether a piece of text is a software name. . Added device_rom_interface for sound chips with rom/memory map alternative (emu\dirom.cpp). Make dirom robust to too big roms. Added/fixed banking support. Better OKIM6295 fix post-release. . Changing device_image_interface::determine_open_plan() to not support creating an image unless device_image_interface::create() is used . DEVICE FINDING . Fixed missing region report when DEVICE_SELF is used (emu\devfind.cpp) . Make &some_required_shared_ptr[offs] work as expected in const context (emu\devfind.h) . Make (required|optional)_ioport_array perform as well as a real array + shared_ptr arrays cleanup (emu\devfind.h). Devices can be found array-style, too. . Changed warning flags for Clang build: -Wno-missing-braces is unfortunately now necessary to avoid errors on almost every single use of the std::array initializer in devfind.h (apparently C++14 does make double braces optional for std::array initializers, but clang and GCC's -Wmissing-braces never took that into proper account, which is why GCC may still have it disabled by default). Several other Clang-specific warnings have been undisabled; some might perhaps need to be locally reenabled if legacy 3rdparty code or sundry OSD includes happen to disagree with them. The only warning to require any code changes was -Wabsolute-value, which seems to have caught a minor render bug (and nothing more). . Doxyfy a significant chunk of devfind.h. Eliminate a lot of boilerplate code from devfind.h. Keep instantiation of templates in one place to improve build time. Removed some dangerous accessors. . Prepare to make object finders behave like a pointer, not a half-pointer. Make object_array_finder a bit more flexible, centralise instantiation of more templates, more preparation for crud removal (emu\devfind.cpp). . Make object finders behave like pointers for the purposes of implicit casts, dereferencing and array access, not something that's part pointer, part reference, part vector. Require dummy tag to be specified explicitly, magical defaults are unhelpful here as the more common case it to search for a real object. Make the search methods private in concrete classes where possible as users should rely on the resolution process for these things (emu\devfind.cpp). . ROMLOAD . Added some default constructors to rom_entry(), and made it so changes to flags are done through a set_flags() accessor method. . Changes rom_entry from a struct to a class, storing its strings as stdd::string and separated the declaration into a new header. . Fixed breakage caused by a change in how the byte for ROM_FILL is represented with recent changes (emu\romload.cpp) . Introduced a tiny_rom_entry structure, for the purposes of ROM declaration . C++-fiied code that iterates over rom_entry arrays (without usage of rom_[first|next]_*) . Changed how ROM_COPY and ROM_FILL are represented in tiny_rom_entry to be more how they were in the past. Turbo Sub had a ROM_COPY declaration with an expression ('ROM_COPY( "main_code", 0x18000 + 0x2000,...) and this simply did not work with the new model. This required changing ROM_* declarations to more resemble how they used to be and to perform the conversion on load. Adding parentheses around some (but not all) ROM_* macro parameters (emu\romload.h). . SOFTWARE LIST . Fixed issue that prevented softlist items specified on devices from loading . Splitted emu\softlist.cpp/h: The newly refactored rom_entry data structure is used. Keep the refactored softlist code in src/emu, in order to defer the mechanical process of moving it. Keep includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation. . Changing 'bool iswild' to 'const bool iswild' (emu\softlist_dev.cpp) . Fixed an issue that caused softlist device descriptions to be blank. This also fixes a likely undiscovered issue where the filename in softlist XML parse error messages was also blank. . Changed software_info::find_part() to use std::find_if() . PLUGINS . Updated hiscore.dat . Make path expansion work on win32 (hiscore\init.lua) . Made hiscore path configurable by ini file, fix .hi file path resolution. . MULTI-LANGUAGE . Catalan translation updates . Updated Spanish strings . Validity checking improvements: Always print the name of each driver checked with -validate -verbose, and print before beginning the check to help detect crashes. Fixed already_checked test so that softlists get validated the first time, not every time but the first. Removed #include "validity.h" where not required. attotime::from_double cannot be constexpr because it uses floor. . Fixed UTF-16 encode, pass UTF-16 to Windows character drawing (unfortunately still no nice speaker icon). . New core input type: "Memory Reset": In machines that store their settings and/or bookkeeping logs in some form of non-volatile memory, "Memory Reset" will reset them to some system-provided default. This replaces all existing inputs named "Memory Reset" and a few simply named "Reset" which are known to do this rather than reboot the system (a confusion to be avoided, though many systems will only acknowledge this input at boot time); others should be checked. The default key binding (F1) for this new input type is chosen partly to avoid conflicts with those used by gambling/mahjong games which are currently the only systems to use this, though broader use is envisioned. Added "Memory Reset" input type to Nichibutsu mahjong games (nbmj8688.cpp, nbmj8891.cpp and nbmj8991.cpp) as designated in source. . Make address maps complain when entry bounds lie outside the global mask. Alter a bunch of address maps so all validity checks pass. These includes global address masks in Hexaa and the (MESS) Newbrain FDC (regression testing should be done here). . Use emumem.h defines whenever possible (mem_mask & xxxxxxxx -> ACCESSING_BITS_xx_xx) . Fixed audio distortion with -refreshspeed and -sound xaudio2 (ID 06199). Try to fix audio delay regression caused when fixing -refreshspeed for -sound xaudio2. Minor XAudio2 tweak to not always submit buffers if not needed. . Preliminary VGM player. Use: ./mame vgmplay -bitb file.vgm/vgz. Lots of chips missing, no visualization, no control of anything, no volume control either and no sound shutdown on end of file. Added AY-3-8910, C352, DMG APU, HuC6280, K053260, MultiPCM, NES APU, OKI6295, OKI6295, POKEY, SN76496, YM2203, YM3812, YM2413, YM2612 and YM3526. . Floppy . Fixed an issue with legacy floppy loading caused by filetype() now being a std::string (imagedev\flopdrv.cpp and formats\flopimg.cpp) . Improved floppy sound emulation. Added new floppy sound samples. . Cheat engine . Made path_iterator copy search path to fix use-after-free (emu\fileio.cpp and mame\cheat.cpp). Cleanup mame\cheat.cpp. . Fixed -debug -cheat crash (mame\cheat.cpp) (ID 06269) . Now reporting Win32 ERROR_INVALID_NAME as osd_file::error::NOT_FOUND (file\winfile.cpp) . Make output_manager::find_item much more efficient (emu\output.cpp) . Fixed regression in save states (emu\emumem.cpp) - SDLMAME: Attempt to fix mouse state on startup in SDL builds by initialising members (sdl\window.cpp) - MAC OS X . Remap "P1 Mahjong Score" to / key for OS X (input/input_sdlcommon.cpp; 78-key Apple MacBook & Bluetooth keyboards have no right control key). . Warp mode for relative mouse on OSX SDL 2.0.4 - MESS . Fixed a bug from where video data was sampled that could cause too many samples to be loaded in low MC6847 resolution video modes . Fixed readonly cassette formats (imagede\cassette.cpp, tools\castool.cpp) . Performs argument checking on the return value of CassetteLegacyWaveFiller.chunk_sample_calc() (formats\cassimg.cpp). This is just better error checking. You can see this if you create a garbage file named 'foo.csw' and invoke the following command: mame bbcb -cass1 foo.csw. With this change you get an invalid image error. Without it, you get this: Caught unhandled St12length_error exception: vector::_M_default_append - Compiling . 3rdparty . Updated BGFX, BX and rapidjson . Synced BGFX so it can compile with Clang 4.0 . Make some constexpr functions comply with older C++11 rules to keep Visual Studio happy . Miscellaneous cleanups to diimage.cpp/h; mostly std::string stuff. . Converted a number of zippath calls that took 'const char *' to std::string (imagedev\floppy.cpp, emu\diimage.cpp, ui\filesel.cpp, ui\floppycntrl.cpp, ui\imgcntrl.cpp and util\zippath.cpp/h). Changed int *beginpos/*endpos to std::string::size_type *beginpos/*endpos and other cleanups for util\zippath.cpp. . Changed various string arguments for emu_file::open() from 'const char *' to std::string (emu\diimage.cpp, fileio.cpp/h, romload.cpp and mame\luaengine.h) . Attempt to prevent GCC optimising away global_alloc_clear (scripts\genie.lua) . Miscellaneous cleanups (emu\diimage.cpp/h and ui\imgcntrl.cpp): Removed some c_str() calls when using util::zippath_parent(). Removed the error code return value from set_image_filename(). Consolidated error code translation (osd_file::error ==> image_error_t) in image_error_from_file_error(). Other cosmetic improvements. . Use std::min and std:max instead of MIN and MAX, also some more macros converted to inline functions. . Macros should be turned into constexpr or they can't be used in many situations they were previously use in the silly _partialNN functions are necessary because MSVC doesn't support C++14 properly. . Changed #include to #include where appropriate . Made constexprs lower case and used constexpr for returning input value as well for rest of defines in osdcomm.h . For bool type use true and false instead of TRUE/FALSE . Changed device_image_interface::filetype() to return 'const std::string &' instead of 'const char *' . Introduced is_filetype(), instead of normalizing filetype() to lower case. . Re-write tools\srcclean.cpp to be cool with UTF-8 and C++14. srcclean can now clean layouts. Added LUA-cleaning ability to srcclean. srcclean on LUA plugins, too. . Removed util\cstrpool.cpp/h; it is no longer used. . Compile netlist and LUA only if used. Made proper formats compiled only if needed. . Don't rely on macro expansion to supply parentheses around condition for if statement . Replaced BITSWAP8/16/24/32 macros with constexpr function that works for any number of bits. Check number of bits in BITSWAPnn and expand up to 64 (emu\emucore.h). BIT doesn't need to be a macro. . Tidy up some scope (cpu\g65816\g65816ds.cpp, lh5801\5801dasm.cpp, m37710\m7700ds.cpp and upd7810\upd7810_dasm.cpp) . LUA engine: Removed now unnecessary stuff since a copy of searchpath is made and it won't be garbage collected from underneath us. . Added documentation to main tree . Fixes to build with visual studio: 3rdparty\zlib doesn't seem to be picked up when building drivers, building with msys may work because it comes bundled with it's own zlib.h. GCC pre-compiled headers is broken as it masked the missing emu.h. . Note that compilers are now limited to GCC 5.0.0 and up . Some C++14 features are not supported by VS2013. VS2015 is free for home use so no need for legacy support. . Fixed TARGET=virtual (scripts\target\mame\virtual.lua) . Make iterators actually meet requirements of ForwardIterator (and by consequence, ForwardIterator, Iterator and EqualityComparable). Don't use function statics if they can be avoided - it isn't thread-safe. Removed leftover crud from when dynamic_buffer and friends were templates in lib/util. It's still dangerous that the const behaviour of iterators doesn't match STL. Also, simple_list members with similar functionality to STL container members should be renamed (emu\device.h, emumem.cpp, render.h, rendlay.cpp and util\coretmpl.h). - Debugger . Adding an assert() to util\hash.cpp . ImGui based debugger: Added images menu, with crude file select dialog and very crude create image dialog . The 'trace' and 'traceover' commands were registered as having three arguments. This fixes it so there are four arguments (debug\debugcmd.cpp). . Fixed -debug -cheat crash (mame\cheat.cpp) (ID 06269)


0.180: Updated to MAME 0.180 ( Added Source/Listinfo changes. Newest Bugs (29th Nov). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.179: Updated to MAME 0.179 ( Added Source/Listinfo changes. Newest Bugs (25th Oct). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.178: Updated to MAME 0.178 ( Added Source/Listinfo changes. Newest Bugs (27th Sep). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.177: Updated to MAME 0.177 ( Added Source/Listinfo changes. Newest Bugs (30th Aug). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.


MAMEINFO.DAT 0.180  (2.58 MB)

MAMEINFO.DAT 0.179  (2.58 MB)

MAMEINFO.DAT 0.178  (2.57 MB)

MAMEINFO.DAT 0.177  (2.56 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions

DENA - Cash, Diamond Rings, Swimming Pools (2012)