Mameinfo.dat v0.177
Updated - 26th September 2016

Homepage -
E-Mail -



What's New

*NEW* Mameinfo + MAMEUI-inifiles-0178GIT (r54746) (3.12 Mb)

MAMEUI 0.177 Category-, Version and Alltime inifiles (628 kB)

MAME NEWS from 0.37b1 - 0.177 (3.66 MB)

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.178GIT - New Working 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 devices: at29c020, ms1_tmap, msm5832 and sharp_lh28f016s_16bit - 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: Make 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 to Tecmo driver, 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 - 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? - 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: Protection chip actually uses 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 stable controller IDs to input_device (see devicemap.rst). This change adds id() property to input_device, which represents the unique device id. This allows the osd layer when creating a device to pass a friendly display name along with a unique identifier. Currently the device id is only used to map a physical controller device to controller id, but can be used more generally in the future. For raw input devices, we use the full raw input name as the device id. For all other devices, we fall back to device name as the device id. The "uniqueness" of the device id is not currently enforced in code. - 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 (crush3) to (crush4), (crush4) to (crush5), (nbajamex) to (nbajamexa), (machridr) to (nvs_machrider), (machridra) to (nvs_machridera), (mightybj) to (nvs_mightybj), (platoon) to (nvs_platoon), (roadrioto) to (roadriotb), (roadriot) to (roadriota) and (vf3) to (vf3c). - 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 . UI . More new features for UI graphics viewer. 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. 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. . Partial fix for exporting game list in internal UI doesn't work for Favorites filter (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 . 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. - 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. . Adjusted toolchain.lua to allow DEBUG=1 builds to be modified by STRIP_SYMBOLS=1 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. . 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). . 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) . 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. . 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.176 - New games: Gorodki, Intergirl, Kot-Rybolov, Player's Choice (M4C1) and Swing Gal [BET] (Japan 871221) - New Working games: Flaming 7 (Custom Hardware, Main, 50 Bonus), Flaming 7 (Custom Hardware, Main, 500 Bonus), Flaming 7 (Custom Hardware, Main, 2000 Bonus), Flaming 7 (Custom Hardware, Egyptian Gold, 2000 Bonus) and Flaming 7 (Taiwanese Hardware, unknown version) - New clones: Beaste Feastie, Bubble Trouble (World, Rev B), Fighting Fantasy (World revision 3), Operation Thunderbolt (World, rev 1) and Raiden Fighters 2 - Operation Hell Dive (Japan set 3) - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Adventure Island (Tourvision PCE bootleg), Alice In Wonderland (Tourvision PCE bootleg), Drop Rock Hora Hora (Tourvision PCE bootleg), Fighting Run (Tourvision PCE bootleg), Image Fight (Tourvision PCE bootleg), Kato Chan & Ken Chan (Tourvision PCE bootleg), Mesopotamia (Tourvision PCE bootleg), Ordyne (Tourvision PCE bootleg), Power Sports (Tourvision PCE bootleg), Puzznic (Tourvision PCE bootleg), Sokoban World (Tourvision PCE bootleg), Soldier Blade (Tourvision PCE bootleg), Spin Pair (Tourvision PCE bootleg), The NewZealand Story (Tourvision PCE bootleg) and Tricky (Tourvision PCE bootleg). - New drivers: seicupbl.cpp - New devices: cdrom_fixed, jrc6355e, jvs_master and ohci_hlean2131sc - New mame.ini options: bgfx_avi_name = auto and hlsl_write = auto - New HiScore.dat: - ADSP21062 CPU: Fixed Linux crash (cpu\sharc\sharcdrc.cpp) (ID 06262) - I8051 / MCS-51 CPU: Converted serial_rx and serial_tx to devcb - I80286 CPU: hlt requires CPL == 0 independent of IOPL - M6502, M6800, M6809 and S2600 CPUs: Removed irq_line methods and replace uses with DEVCB_INPUTLINE. Added several aliases for M6800_IRQ_LINE. - M6809 + HD6309 CPUs: Improved debugging support - M68000 CPU: Replaced M68000 write_irq[1-7] handlers with DEVCB_INPUTLINE - T11 CPU: Added reset output line - VLM5030 sound: Converted VLM5030 to device_memory_interface; correct region lengths. Fixed VLM loading in Jail Break and clones. - YM2151 and YM2413 sound: Isolate, objectify and integrate - 6850 ACIA: Make ACIA write initial line state in reset to avoid crash - 68681 DUART: Added op tx/rx status lines - 8250 UART: Reassert THRE irq when setting mask - 8251 USART . Added rtscts flow control for rs232\null_modem.cpp and relevant fix to i8251 . RTS and DTR outputs now use negative logic (0 = active) - CD-ROM . Fixed >2GB .iso parsing in util\chdcd.cpp . Set pregap subcode type to NONE for .CUE and .TOC for consistency with other formats (util\chdcd.cpp) - CHDMAN: Fixed remaining "CREATE CD" 64bit issues - Discrete Netlist . nltool now accepts -Ddefine=value to pass on to netlists . Improved option handling and added "dummy" options to add grouping and examples in help output. . Improved --cmd=listdevices output . Fixed dynamic timestepping. This will work with breakout using real capacitor modelling instead of delay devices. Really slow, but very useful to calibrate timings. . Fixed an awful bug in timing for delay devices. . Switched to clang 3.8 and made code compile with -Weverything -Werror -Wno-old-style-cast -Wno-padded -Wno-weak-vtables. -Wno-missing-variable-declarations -Wno-conversion -Wno-c++98-compat. -Wno-float-equal -Wno-cast-align -Wno-global-constructors. -Wno-c++98-compat-pedantic -Wno-exit-time-destructors. -Wno-format-nonliteral -Wno-weak-template-vtables. This was a helpful exercise since it brought forward some serious issues with implicit constructors. . Added more RAII and improved exceptions. Fixed some bugs in parser code. . Removed trampolines (OUTLOGIC, INPLOGIC and friends). Started using doxygen comment and documentation style. Added doxygen files to documentation folder. Refactored code triggered by doxygen output. Moved internal and support classes into namespace detail. Use an anordered map in parser. -Wconversion fixes - All done now. Fixed -Wold-style-cast warnings in netlist code. Added iterators to pstring. Moved two macros, added more RAII and improved exceptions. Fixed some bugs in parser code. Fixed a number of bugs in parser code and exception handling. . Fix for netlist library when built for WINDOWS with UNICODE defined (netlist\plib\pdynlib.cpp). When UNICODE is defined LoadLibrary is redefined to LoadLibraryW which expects a widechar string as library name, while libname is always UTF8. Fixed copying TCHAR conversion code from strconv.cpp since netlist is meant to be also a stand-alone library. - MC68230 PIT: Added support for the 24 bit timer (machine\68230pit.cpp) - R4543 RTC: More complete implementation with better logging features (namcos12.cpp and namcos23.cpp) - airbustr.cpp, ajax.cpp, asuka.cpp, spdodgeb.cpp and vball.cpp: Simplified rom loading - astrocde.cpp: Initialize interrupt line register with 0xff (prevents initial bogus interrupts) and clear active interrupts when an interrupt related register is written (tests would be good to confirm how this works on real hardware). This fixed (MESS) 280Zzzap/Dodgem cartridge resets (ID 06281). - atlantis.cpp and midzeus.cpp . Added analog joystick to Skins Game. Fixed screen resolution in Atlantis driver. Added direct pixel writing for Atlantis. Scaling still needs work. . Added return data for unknown register access to keep 'The Grid' from hangin - bfm_sc4.cpp: Scorpion4 7Segment displays mostly fixed - chihiro.cpp . More descriptions for USB commands in AN2131QC. Moved USB part into new file (xbox_usb.cpp). Small adjustments. . Prepare to use jvs packets. Added a jvs host and a device. Now jvs communication works, although there seems to be some little problem left. . Use the gamepad only in the console and not the arcade . Time for AN2131SC, placeholders for all its USB commands. . Removed USB_HACK_ENABLED define, now USB can be disabled per game, in Xbox console USB is always enabled. Crazy Taxi High Roller boots. . Fixed copying of mcpx code - epos.cpp: Found out the flip screen bit. Flip screen still need work though. Added notes. - expro02.cpp: OKI map instead of memcpy, standard palette, removed a pair of unused variables and enabled save state support. - firebeat.cpp: Added ATAPI_FIXED_CDROM to driver - itech32.cpp: Added save state support - konamigx.cpp: Added coin3, coin4, service3 and service4 for type3 and type4 hardware - legionna.cpp, raiden2.cpp and r2dx_v33.cpp . Fixed priority issues in Legionnaire, Heated Barrel, Denjin Makai and Godzilla. . Fixed Denjin Makai puts sprites above everything for mode 3 . Moved around allocation pointers to own function, and register video pointers/functions to save state (video\legionna.cpp). Updated Denjin Makai and Godzilla flags. . Splitted Seibu Cup Soccer bootlegs into own driver. Fixed black screen in clones Seibu Cup Soccer (bootleg, set 1) and (bootleg, set 2) since MAME 0.155 (ID 06246) . Removed unused stuff and minor doc update. . Fixed Seibu Cup coin slots. Documenting what's wrong with Seibu Cup Soccer collision detection. . Added some unused macro hookups (seibucop\seibucop_cmd.hxx). . Hack Denjin Makai sound comms to work without ROM patch . Improved Zero Team sprite/sprite priorities. Simulation code in clone New Zero Team confirms that COP sort DMA function uses a dword key. Several priorities are still wrong (e.g. bikes invisible on character select screen). . COP command fix for minor Heated Barrel regression and misc notes. - naomi.cpp . Added Net-DIMM 3.03 firmware . Fixed Maximum Speed romload - neodriv.hxx: Added port names to Joystick buttons - ohmygod.cpp: OKI6295 memory map instead of memcpy - psikyosh.c: Fixed crash when attempting to use -cheat in gunbird2 and s1945iii (ID 06323) - seibuspi.cpp . Separated memory maps and make them slightly more accurate . Hook up Seibu CRTC . Hook up flip screen SW (not implemented yet). SPI input cleanups, tweaks and notes. . Making E-Jan Sakurasou multiplexed inputs reading more accurate - tiamc1.cpp . Added games Gorodki and Kot-Rybolov . Added support for KR580VV55A parallel peripheral interface (clone of i8255) . Added technical notes about some odd behaviour with someports, listed the specs of Kot-Rybolov hardware and added all clocks. . Main clock verified against original schematics and docs, Kot-Rybolov uses single i8253 timer for 'sound', the rest 2 controls (at least background's) view area size,Gorodki have AD stick, not paddle. - tmaster.cpp: Fixed coinage in Touchmaster 2000-8000 - tourvis.cpp: Added a number of new dumps (15) to the softlist. Updated driver with new information related to ID and gamelist for tourvis.cpp. - vendetta.cpp: Maincpu rom loading cleanup. Converted Vendetta driver to bankdev, this fixes slowdowns in Escape Kids (ID 06285). - Air Combat: Added PORT_REVERSE to pedal - Arkanoid: Updated notes, added mention of the secret (disabled?) credits scene found by and who is listed in it. - Esh's Aurunmilla: Added beeper - Fever Soccer . Hook up EEPROM, remapped buttons and hook up lamps and serial RTC. . More complete R4543 RTC implementation with better logging features. Added JRC6355E RTC variant used by Fever Soccer. Correct JRC6355E implementation to agree with NJU6355 datasheet. RTC writes and reads in Fever Soccer both fully work now. . Added NVRAM, identify some DIPs and document build date. - Flaming 7 . Reverse-engineer protection to bypass the requested serial number - Games now playable. The iButton device still needs to be hooked. Promoted these games to working with their correspondent flags. . Added tech notes, comments and instructions to boot the machine for first time. - Forte Card: Switched Forte Card (Ver 110, Spanish) to parent set since it's a posterior and newer version. Also cleaned up the driver. - Funky Ball: Fixed fatal error at start (ID 06324) - Meta Fox: Fixed bonus life settings and mask (ID 06266) - Operation Wolf . Fixed all the gameplay problems by improving the C-chip protection simulation. Gameplay should be a true 100% match to original now. Put extensive notes in the machine file about what has changed. . Fixed bug in 68K->C-chip simulation that could lead to level 2 boss not appearing after first run. - Out Run: Use correct sub-CPU roms for clone 'Out Run (Japan, deluxe sitdown) (FD1089A 317-0019)' allow all the roms to pass in the MEMORY check routine of the test screen. - Pairs (V1.2, 09/30/94): Added srom0 (ES5506) from clone (09/07/94) to parent set - Sliver: OKI6295 memory map instead of memcpy and added save state support - Spiders: Removed a few IRQ passthroughs - Tetris (bootleg of Mirrorsoft PC-XT Tetris version): Mark Tetris KR as working, see MT02851 for details (ID 02851). - Turtles: Moved clone Turpin (bootleg on Scramble hardware) from Scramble to Galaxian driver and added preliminary sound. Tempo is way to high. - Input port . Fixed input issues on big endian systems (input\input_common.h, input_dinput.cpp, input_rawinput.cpp, input_sdl.cpp, input_win32.cpp, input_windows.h, input_x11.cpp and input_xinput.cpp) . Fixed 0.172 regression for non-US keyboards (input\input_common.cpp) . Crosshair refactoring: Individual crosshairs are now first-class objects, rather than bits of state scattered across half a dozen arrays. The class is named render_crosshair with a view towards incorporating crosshairs into layouts in the future, rather than managing them separately as crosshair_manager still does now. Removed the old crosshair_user_settings interface for adjusting crosshair settings, since the UI can access the new crosshair objects directly. . Added a device as proof of concept which merges several input lines into a common output line, supporting both active high and active low inputs. . Make ioport_list a map instead of unordered_map, should fix INP incompatibilities across compilers and platforms. - Dipswitch fixes in ddenlovr.cpp, dynax.cpp, fromance.cpp, hnayayoi.cpp, homedata.cpp, jalmah.cpp, nbmj8688.cpp, nbmj8891.cpp, nbmj8991.cpp, nbmj9195.cpp and seibuspi.cpp - Fixed rom names in itech32.cpp and naomi.cpp - Renamed (beastf) to (beastfp), (bubbletr) to (bubbletrj), (ffantasy) to (ffantasyj) and (othunder) to (othundero) - Description changes of Beastie Feastie (conversion kit), Buena Suerte (Spanish, set 15, Prodel PCB), Euro League (Italian hack of Tecmo World Cup '90 - alt version) (ID 06293), Live Gal [BET] (Japan 870530), Operation Thunderbolt (US), Operation Thunderbolt (US, rev 1), Pairs (V1, 09/07/94), Tetris (Korean bootleg of Mirrorsoft PC-XT Tetris), The Pit Boss (PSB1), The Pit Boss (M4A1) and Untouchable (Ver. 2.10) - MAME . VIDEO RENDERING SYSTEM . Polymorphize layout_element::component (emu\render.h and rendlay.cpp) . Misc code cleanups for Direct3D code. Removed unused methods, unused function parameters, redundant casts, doubly linked lists made into singly linked lists, etc. Converted linked lists into vectors of unique pointers. . simple_list to vector in emu\rendlay.cpp . Make monitor list a list of shared_ptr like window_list . Use std::map for mapping XML tag name to layout component creation function - makes the code simpler and easier to read as well as being more scalable. Fixed problem using layout_element::texture in vector - destructor frees resources but generated copy/assignment operators don't release them, leading to a problem any time vector expands or element is added/removed anywhere but end. . BGFX . No need to build all tools, just shaderc (makefile). Documented BGFX shaders compile. . Added crt-geom and crt-geom-deluxe shaders for BGFX. This includes several aperture grille / shadow mask patterns. Note that these are all designed to be used on a display with RGB subpixel order, and may thus suffer if rotated or used with a BGR display. . Fixed crash when BGFX effect folder is not present or incomplete. BGFX renderer requires some effects also when post-processing is disabled. If they are not available, MAME complains about missing effect files, but then goes on and crashes soon after printing the backtrace. This fix just exits gracefully when effect files are incomplete and falls back to a different renderer if the BGFX folder is missing at all, warning the user in advance. . RGB utilities . Introduced validity checks for RGB utilities and fixed uncovered bugs. Added several missing functions to rgbgen. Fixed logical shift right in rgbgen. Fixed sra that should be sra_imm in rdptpipe. Added some simple SSE4.1 optimisations in rgbsse. Re-organised rgbsse, rgbvmx and rgbgen to be in more logical order. Fixed return on some modifying operators. Made some more reference parameters const. Removed inline qualifier from a number of methods as it's implied when body is present at declaration. Mark some constructors explicit. . Check a bunch more RGB operations in validity. Implemented the missing ones in rgbgen. Format similar one-liners in a more tabular way. Use default copy construct/assign. . UI . Added a move constructor and got rid of the 'const char *' overload. More use of std::move() and usage of emplace[_back]() as per cuavas. C++-ified the strings inside of menu items. . Force move construct/assign to be generated (ui\menuitem.h). Reduced usage of c_str() when used with menu::item_append(). . Changing menu_file_selector::append_entry() to return a reference instead of a pointer . uismall.bdf: Added first 48 Latin-1 Supplement characters, many Cyrillic characters (covers at least Russian, Ukrainian and Serbian), most of Latin B, some archaic Cyrillic characters, some IPA extensions and half-width katakana. European Latin and Cyrillic coverage should be pretty good. Added monotonic Greek (and a couple of archaic Cyrillic characters). Can now run mame -uifont uismall.bdf -language Greek for 15kHz monitor lowercase gamma and lambda could probably be prettier, but it's definitely all legible. Improved legibility of Russian at small sizes. . Cleanups to the software list menu . Fixed crash when drawing menus (ui\menu.cpp) (ID 06268) . Fixed choosing any filter which has no data makes the UI unrecoverable (ID 06263) . Fixed separator in ui\pluginopt.cpp . Cleanup ui\filesel.cpp . Fixed how the file selection dialog determines when to show "create" . Added in "Miscellaneous Options" menu one item to hide ROMless machines from the availables list. . Changed a number of file manager related menus to have their outputs be by reference than pointer and tightened up typecasts in menu_select_rw. . Added file create refactoring . Untangling the menu code and reduced visibility of more menu members. . Split out main menu and dat box drawing from base class. Make a bunch of class statics proper per-machine persistent objects. Object lifecycle fixes. . Moved more main menu stuff out of the base menu class. Get rid of the rest of the troublesome static members in ui::menu (there are still problematic function statics in some menu classes). Moved palette menu drawing code out of base into palette menu class. . Added std::bind - accept no substitutes. pointer -> reference conversion. Make more menu members private or protected. Don't play so fast and loose with integer types. Reduced some vector copying. Make more static constants const. . Splitted "widgets" code out of ui::menu::global_state into a separate module . Now using core_filename_extract_base() in menu_file_create ctor . Reduced repeated string allocation in audit code . Moved background bitmap/texture back into ui\menu.cpp . Eliminated some function statics. Moved another launch menu specific member out of base class. Moved some common code from selgame and selsoft into selmenu. Tighten up const and casts. . .h -> .ipp for things that aren't really headers. Make more stuff in selmenu private. Moved the remembered driver/software associated with the snap to the cache object. Start cleaning up constness in datfile manager - it's still a mess of non-const statics. More const where it should be. Don't unnecessarily copy big maps. Don't make things members when they shouldn't be. Get rid of a couple more function statics. Moved custom render and tab navigate up to base class. . Fixed selecting "Category" after listing "Favorites" causes exception (ID 06288) . Making menu_control_device_image::populate() be private (ui\imgcntrl.h). Miscellaneous cleanups to ui\imgcntrl.cpp/h and calling code. . PLUGINS . Added plugin path expansion (plugins/boot.lua and mame\pluginopts.cpp) . Fixed pluginspath in LINUX does not resolve $HOME (ID 06279) . Fixed plugin.ini file is created in the current folder when it should be created in the "ini" path (ID 06280) . Only load plugins in plugin path (plugins\boot.lua) . Cheat . Added logical address space accessors to LUA engine, use by default in translated cheats (plugins\cheat\xml_conv.lua). Better error handling (plugins\cheat\init.lua). . Added address_to_byte and optional arg for physical address space to LUA engine to disable address shift. Cheats created with the cheatfinder won't work with the builtin cheat finder if the cpu has an address bus that isn't 8bits unless the addresses are fixed up. . Added simple cheat file format (cheat\simple_conv.lua) . Added operand size to simple cheat and write cheats from cheatfind into simple file . Added name cheats . Hiscore . Added optional value to prefill for software that clears ram and add examples . Make hiscore.dat sorter stable so everything isn't rearranged every time . Updated hiscore.dat . MULTI-LANGUAGE . Updated and fixed translation files . Updated Brazilian Portuguese . Updated Chinese translations . Fixed Chinese_Simplified & Chinese_Traditional translation files . Updated Greek translation . Pick off some Japanese string translations, improvements welcome. . SOFTWARE LIST . Const correctness related changes to softlist . Better adoption of move constructors. Changed the softlist code to more aggressively use std::string. . std::string::c_str() const never returns nullptr. Get rid of extra length parameter using a template. . Changed some usage of simple_list to std::list in the softlist code . Cure software lists of validity checking errors: Fixed stupid logic errors in software_list_device::internal_validity_check. Allow info and feature list entries to provide an empty string as the value. . Added usage of std::find_if() . Replacing the enum with a class hierarchy, derived from 'software_list_loader'. Consolidated implementations of device_image_interface::call_softlist_load(). . DEVICE IMAGE INTERFACE . Changed image_device_format::extensions() to be a vector (emu\diimage.cpp) . Cleanups for device_image_interface. Removed the loaded_through_softlist virtual method and added a boolean getter with the same name, replacing a few variables that provided similar but redundant flags. Removed call_softlist_load, which the previous change reduces to a simple and unnecessary wrapper. . Simplified memory management for save states and states . Readding overloads that take a std::string& parameter for the result (emu\diimage.cpp, ui\imgcntrl.cpp and util\zippath.cpp/h) . Flush stdout/stderr before killing process (osd\watchdog.cpp). This fixed watchdog dialog is not able to be captured (ID 06284). . Introduced running_machine::compose_saveload_filename() function to convert a filename (for state save/load) to a fully qualified path (emu\machine.cpp) . Pass through the debugger flag from the incoming space argument (machine\bankdev.cpp) . AVI/Screenshot . Direct3D HLSL: Use aviwrite to record avi movies (d3d\d3dhlsl.cpp). Use common infrastructure in aviwrite.c instead of equivalent local code. The target textures used by the HLSL movie recorder are now allocated only when recording is ongoing. Removed shaders->begin_frame() and shaders->end_frame() hooks from the main Direct3D rendering loop. Set default HLSL movie name to hlsl.avi. . Fixed dimension of high-res snapshots (Alt + 12) and AVI records (Alt + Shift + F12) when screen dimension is swapped (d3d\d3dhlsl.cpp) . Added generic fix for -aviwrite (util\aviio.cpp; Captured AVI video from Super Hang-On shows only sound, no image) (ID 06286) . Fixed copy of texture data to bitmap in BGFX. Changed AVI dimension to a lowest integral multiple of 4 (2 was still to low for most video players, e.g. VLC). Added audio to AVI record in HLSL. HLSL AVI record now uses window dimension instead of snap dimension. This fixed unable to view recorded video in Car Polo made with -video bgfx/-window (ID 06291). - SDLMAME . Use allocating mode of ::realpath by default (modules\file\posixfile.cpp). POSIX implementation for valid filename/path character functions (modules\file\posixfile.cpp). . Fixed build on Debian PPC64 with -maltivec (sdl\sdlprefix.h). Problem is caused by puling in which #defines vector, pixel and bool however when the compiler is in Apple Altivec mode, these are context-sensitive keywords and don't need to be #defined we never need the #defines in our own code because we use the GCC-specific __vector instead of vector so we trick the header to think the compiler is in Apple Altivec mode to suppress the #defines. . Fixed warning message says "-waitsync" but should say "-waitvsync" (sdl\video.cpp) (ID 06296) . Take pkg-config path from env if defined (osd\modules.lua, osd\sdl.lua and sdl_cfg.lua) - Linux . Added detection for Linux architectures alpha and mips64el, to avoid using gcc -m64, which isn't available on them. . Fixed pluginspath in LINUX does not resolve $HOME (ID 06279) . GNU/kFreeBSD support. Sync with upstream. . Detect GNU/Hurd systems, but treat them as Linux. Compile fixes for GNU/Hurd systems: Define PATH_MAX if it's not defined and the compiler defines __GNU__. Cherrypick portability fixes for 3rdparty modules. - Android . Android strip SDL lib (src\3rdparty.lua) . Added Android build folders (scripts\toolchain.lua) . Fixed Android x86 and x64 full build. Abuse namespace. - MAC OS X: Removed #include (lib\osdlib_macosx.cpp and osdlib_unix.cpp) - MESS . Notes about how to load a floppy in supervisor mode to drivers\a310.cpp. Fixed Archimedes disk format. . Null Modem: Added rtscts flow control for rs232\null_modem.cpp and relevant fix to i8251. Make flow control optional (rs232\null_modem.cpp). . The Ethernet frame check sequence is now appended to transmit data (bus\isa\3c505.cpp) . uPD7220 video: Alternate drawing direction by line in gchrd . Z80 SCC: Fixed for mid tx reset of scc channel and problem with dropped characters for (MESS) Sun4_75 (machine\z80scc.cpp). Added support for changing the BRG constants after enabling Rx/Tx. Added support for delayed change of Tx baudrate. - Compiling . Fixed compile bug on Bash for Windows and fixed symbol stripping (scripts\toolchain.lua) . Removed FUNC_NULL macro . Made emu_timer register_save properly handle timer_expired_delegate() . Removed timer_expired_func and calls using it . Added a couple msys2 updated mingw headers to winsdk-override to support linux cross-compile with stock mingw-w64 . Override without virtual looks uncomfortable (util\vecstream.h) . Changed some int's to size_t's and added assertions where we were assuming that option_resolution was a requiremen. C++-ification of util\opresolv.cpp/h and corefile.cpp/h. . Fixed compile errors due to option_resolution namespacing . Removed some c_str() calls that are no longer necessary (tools\chdman.cpp and src2html.cpp) . Better enum increment/decrement operators: Reduced underlying type rather than assuming int. Return old value from post-increment/decrement. Return reference from pre-increment/decrement. . Use function-style casts, added explicit casts to keep newer GCC happy (video\rgbvmx.h). More PPC fixed (video\rgbvmx.h) and ppc64le (video\rgbgen.h, rgbsse.h, rgbvmx.cpp and rgbvmx.h). Fixed bilinear_filter and blend on ppc64le. . Adopting std::find() and std::find_if() in core_filename_extract_base() and added a check for reverse overflow when extensions is longer than filename (util\corefile.cpp). Fixed issue that could cause core_filename_ends_with() to return true when extension.size() > filename.size(). . Balance configuration macros in genie scripts (osd\modules.lua) . Removed implementations of create_option_guide() that return nullptr. Removed nullptr image_formats and fixed formatting. . Fixed separate compile of drivers using sharc/ADSP21062 cpu . Using decltype() in winfile.cpp and removing +1/-1 "dance" in strconv.cpp. Changed strconv.cpp/h functions to return their results as std::string and std::wstring. . Fixed compile error (video\dynax.cpp) - Debugger . Move disasm overrides into interface, reducing driver-debugger depend. . Don't need debugcpu to translate . Added support for 7z and 'Create' option to windebug images menu (debugger\win\consolewininfo.cpp). . Fixed scroll in debugger state view. Fixed item hilighting in debugger state view when scrolling. Better encapsulate debug_view_state::state_item (debug\dvstate.cpp) . Check for debugger access for reads with side effects machine\s2636.cpp . Make loop collation optional for debugger trace and traceover commands . ImGui based debugger: Fixed order of evaluation making imgui debugger not fail on starting without driver selected (debugger\debugimgui.cpp) . Prevent nullptr exceptions when devices named in expressions lack memory interface (debug\debugcpu.cpp), this fixed crash when attempting to use -cheat in gunbird2 and s1945iii (ID 06323). . Fix for debug build (machine\st0016.cpp) 0.175 - New games: 1943: The Battle of Midway Mark II (US), Kyuukoukabakugekitai - Dive Bomber Squad (Japan, prototype) and Mahjong Joshi Pro-wres -Give up 5 byou mae- (Japan) - New Working games: Flaming 7 (Red, White & Blue 7's + Hollywood Nights), Godzilla (Japan), Idol Janshi Suchie-Pai 3 (JPN), Moto Frenzy, Tora Tora and Usagi - Yamashiro Mahjong Hen (GDL-0022) - New Non-Working games: Flaming 7 (Custom Hardware, Main, 50 Bonus), World Club Champion Football Serie A 2001-2002 Ver. 2 (CDP-10001C), World Club Champion Football Serie A 2001-2002 DIMM FIRM Ver.3.03 (CDP-10003) and World Club Champion Football Serie A 2002-2003 Drive Checker (CDV-10007) - New AGEMAME games: Antony and Cleopatra (10163211, NSW/ACT), Bumble Bugs (0200456V, Queensland), Choy Sun Doa (20104011, NSW/ACT, Show Program), Inca Sun (0100872V, NSW/ACT, Show Program), King Penguin (40109021, NSW/ACT, Show Program), Player's Choice - Platinum (20282111, New Zealand), Queen of the Nile (0300439V, NSW/ACT), Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT, Show Program), Scatter Magic II (10102711, South Australia) and Wild Waratah (10215911, NSW/ACT, Show Program) - New clones: Astro Combat (encrypted), Buena Suerte (Spanish/Portuguese, set 23), E.D.F. : Earth Defense Force (Japan, prototype), Flaming 7 (Custom Hardware, Egyptian Gold, 2000 Bonus), Flaming 7 (Custom Hardware, Main, 500 Bonus), Flaming 7 (Custom Hardware, Main, 2000 Bonus), Flaming 7 (Taiwanese Hardware, unknown version), Galaxian (bootleg, set 4), Hyper Bishi Bashi Champ (GE876 VER. KAA), Lethal Weapon 3 (2.07), Lucky Poker (bootleg/hack of Major Poker), Magic Card (H8, English), Major Poker (set 2, Micro Manufacturing intro), Major Poker (set 3, Micro Manufacturing intro), Major Poker (set 4, Micro Manufacturing intro), Marvel Vs. Capcom 2 New Age of Heroes (USA) (Rev A), Metamorphic Force (ver EAA - alternate), Mutant Warrior (Altered Beast - Datsu bootleg), Out Zone (Zero Wing TP-015 PCB conversion), River Patrol (Japan), Royal Card (Austrian, set 8), Scramble (Model Racing, Italian bootleg), Side by Side (Ver 2.6 J), Side by Side 2 (Ver 2.6 OK), Space Invaders (CV Version, smaller roms), Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 1), Super Street Fighter II: The Tournament Battle (Japan 931005), Teenage Mutant Hero Turtles - Turtles in Time (4 Players ver EAA), Ufo Robo Dangar (4/07/1987), Ufo Robo Dangar (9/26/1986, Japan) and Varth: Operation Thunderstorm (bootleg) - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Out Run (Tourvision PCE bootleg) - Removed games: Eagle Strike (set 1), Flame Of Olympus, Flames Of Olympus USA (set 1), Foxworthy Redneck, Outback Jack (set 2) and Players Choice Favourites (set 1) - New drivers: divebomb.cpp - New devices: generic_keyboard, generic_terminal, ldp1000, m2comm, xga and zeus2 - New mame.ini options: Added vector_beam_smooth (VECTOR POST-PROCESSING OPTIONS). Removed antialias (CORE VECTOR OPTIONS). - New Cheat.dat: - ADSP21062 CPU: Added highly experimental SHARC recompiler. Runtime enable for sharcdrc. Added Model 2 and Zero Gunner compatibility. - Dynamic Re-Compiling . Fixed x64 compile (cpu\drcuml.cpp) . Modified branch in delay slot to match non-DRC behaviour for non-dynamic branch targets (cpu\drcfe.cpp) - M6502 CPU: Disabled VBL opcode logging (use wpiset 0,1,r) (cpu\m6502\odeco16.lst) - M6800 CPU: Fixed behaviour of N and V flags in CPX (compare X) instruction (cpu\m6800\6800ops.hxx). These two flags are only affected by the data comparison of the upper 8 bits, and not the whole 16 bits. - PPS4 CPU, TMS32010 CPU, TMS32025 CPU and V25 CPU: Fixed some cpus with virtual ports, mark them with +1 in any case. - T11 CPU: Fixed MARK insn (not supported by actual T11). Fixed all irqs. - TMS32010 CPU, TMS32025 CPU and V25 CPU: Made it use devcb instead of a memory map for the ports or bio line - TMS57002 CPU: Fixed internal_pgm ADDRESS_MAP range - Z80 SCC: Fixed baudrate calculation issue to make (MESS) Sun3-80 work and some minor debug message errors (machine\z80scc.cpp) - DCS sound . Added sport timer for DCS2 DSIO device (audio\dcs.cpp). Fixed buffer overflow with clone San Francisco Rush 2049: Special Edition. . Updated 2181 SYSCONTROL bits. Added internal ram memory bank for DENVER ADSP 2181 (audio\dcs.cpp). - Sound Interface . Updated more drivers to use the new gen_latch.cpp, which should substitute the soundlatch_* methods in driver_device. . Removed the old soundlatch methods (emu\driver.cpp) . Sound trampolines removal from various drivers - Atari Custom: Removed the slapstic and sloop direct update handlers, which hasn't been necessary since direct access has been enhanced to work correctly on handlers, years ago (machine\atarigen.cpp, drivers\atarig42.cpp and starwars.cpp). - Cassette: Modernized the cassette animation - CHDMAN . Ignore ATA ident CHS values for > 8GB images . Ignore cylinders, heads and sectors from identify device data, based on the ATA 5 specification. . Attempt to workaround hang during CHD creation - Device interface . Removed device_memory_interface in EEPROM, i2cmem.cpp and intelfsh.cpp . More efficient device error logging (emu\device.cpp) - Discrete Netlist . Moved all parameter definitions in constructors . Make netlist compile with C++11, use own implementation of make_unique to avoid C++14. . Removed dependency on osd_ticks. Converted palloc and friends into templates. Moved code into separate plib namespace. . Stop using underscore _names, they're reserved for compiler/system. . Minor cosmetic refactoring. Added a "uninitialised array" template to allow in-place creation (for increased locality) of netlist classes. Main use is in truthtable class. Removed PLIB_NAMESPACE macros. Removed namespace macros. Use explicit namespace declarations. Moved device definitions into cpp files. Moved more device definitions into cpp files. New prefix "nlid" for include files flags purely internal include files not to be leaked into userland. Fixed factory code. . Added constructors to prepare to move terminal setup into constructor. Reworked twoterm setup. Fixed some timebombs along the way. Fixed r2r dac. Remove dead code. analog_outputs now created in constructor. Moved analog_input creation into constructor. Moved logic output creation to constructor. Moved all logic inputs into constructor. Completely removed init_object - finally. . More code cleanup: Dead code removal and minor refactoring. Simplify. Align naming with stl. Fix somed pedantic warnings. More STL compatability. Removed ATTR_HOT and ATTR_COLD. Refactored netlist_time. Fixed long standing workaround which would ignore policy of change-only" propagation. Rewroted for loops to use auto : semantics. Truthtable cleanup. Get rid of nl_math. Remove nl_util.h and moved contents to plib/putil.h. Fixed standalone build. Refactor ptypes.h. . Merged netlist_dev branch, all code_refactoring: Object model optimisation. Merged remote-tracking branch 'origin/master' into netlist_dev. Default PHAS_PMF_INTERNAL=0 for 32bit windows mingw. Changed UINT8 to uint_[fast|least|8_t. Moved state_var so it can be used by base devices as well. Removed last traces of ATTR_ALIGN. Refactored netlist_time into a template. Removed implicit double assignment to netlist. Doomed to produce bugs. Instead, use netlist_time::from_double. Switch to using proper (i.e. bool type) param_logic_t. Formally differentiate between logic inputs (e.g. switches) and int inputs (e.g. resistor ladders or selection switches). Added parameter USE_DEACTIVATE to truthtable devices. Added more constexpr to netlist_time. Fixed some ifdef code paths. More C++. Simplify main processing loop. As a nice side-effect that squeezed out some cycles. More cycle squeezing. Removed pvector_t. Use std::sort. Refactored netlist state manager. Introduction of state_var object template to be used on device state members. Changed remaining save occurrences to state_var. Rewrote nltool's listdevices command. This allowed removal of one member from devices which served solely for listdevices. Remove hashmap_t. Fix kidniki regression. . Replaced shared_ptr by unique_ptr. Better seperation of setup_t and netlist_t. Fixed bugs in rdtsc code. Refactored timer code. Simplify conditional activation/deactivation. Introduced HINT(device, hint) to clarify that hints are inheritent and not specific to devices. Added improved profiling support to netlist. Statistics output now proposes devices for which whole device activation/deactivation be disabled. No significant improvement for pong, but breakout experiences a 10% improvement. Moved options code from include to cpp file. Minor modifications to 7493 and 9316. Introduced perftime_t and perfcount_t for gathering statistics. These templates do not create any code if statistics are not kept. Make help2man ./nltool produce usuable output. More truthtable refactoring. Removed half-finished code for internal state support. As implemented, this would have had no support for timing delays. . Added explicit to constructors to avoid bad surprises later. Srcclean on netlist files. Avoid the merge massacre. - Harddisk: Added CHS and LBA limits when the CHD doesn't contain identify device data (machine\idehd.cpp) - Laser Disc . deco_ld.cpp: Added Road Blaster LaserDisc image. Added bare-bones Sony LDP-1000 device . esh.cpp: Added Esh's Aurunmilla LaserDisc image. Added line blinking and overlay opacity selectors. Added command strobe callback interface for LDV1000, and hooked it up to esh.cpp driver. Fixed IRQ 0 hookup, using device_timer to ack an IRQ for MAME is never a good idea. Added the other blinking mode. . dlair.cpp: Some misc updates. Improved dlair internal layout (based on external artwork by Mr. Do & Co). . Fixed laserdisc screen PAL parameters (machine\laserdsc.h) - Sega Custom: Added basic C-Sync callback to 315-5124, based on Charles' hardware tests. - Slots . Added tagged_list to unordered_map for slots . Proper exception handling (emu\dislot.cpp) - aerofgt.cpp . Fixed POST palette for Spinal Breakers and added minor note. . Found out that Karate Blazers (bootleg) uses a sound system copied from SNK's Street Smart. Hooked up preliminary sound. SFX are wrong. - aleck64.cpp: Disabled fast RAM, as it prevents watchpoints from working and doesn't gain much on the interpreter core (machine\n64.cpp). - atarigx2.cpp: Reverse-engineered Moto Frenzy security FPGA and implemented decryption code (Game now playable). Fixed controls. Left/right were reversed, throttle was defaulting to on and was clashing with BUTTON1. Added port names. - atlantis.cpp, iteagle.cpp and midzeus.cpp . Updated rom naming/mapping and changed ram instantiation (mips\mips3drc.cpp and machine\vrc4373.cpp) . Updated Atlantis driver and address map. Changed Atlantis to DENVER audio. Added DCS3 fifo reset to Atlantis address map. . Use normal array allocation for fixed sized arrays (machine\gt64xxx.cpp and iteagle_fpga.cpp) . Added IRQ callback (machine\pci-ide.cpp) . Use new Zeus2 video device for Atlantis and Midway Zeus 2 (video\zeus2.cpp). Re-organize frame buffer ram and add IEEE754 floating point conversion. Closer to getting quad 14 word working. Better quad size selection. Changed texture size selection and attempt to extract last parameters from quad 14. . Fixed 'The Grid' crashes with "Fatal error: Extreme count" after the initial system test (ID 05980) - bfcobra.cpp: Use ramdac_device instead of custom implementation. The driver also has a custom FDC implementation, which I failed to update to the device one. - chihiro.cpp . Try to boot Crazy Taxi High Roller & small 3D adjustments. . Try to complete Xbox memory map, EEPROM must be NTSC. . Added description of 2 commands sent via USB to the AN2131QC chip, based on disassembly of its firmware. They are used to read the I2C EEPROMs connected to the chip. . Removed memory map error - cobra.cpp and zr107.cpp: Removed unnecessary mirrors - cps3.cpp: Speed up initial programming by reducing the number of error.log entries - galaxian.cpp . Preliminary sound hook-up for clone Take Off (bootleg of The End) . Separated memory map for clones Explorer (bootleg of Scramble) and Take Off (bootleg of The End) instead of a lot of install_* at driver_init time. . Documented Galaxian (bootleg, set 2) which mixes roms from other sets (double sized program roms and kamakazi3 gfx roms) - goldnpkr.cpp: Completed clone Buena Suerte (Spanish, set 15). Rearranged the graphics ROMs to get accurate gfx banks. Discrete sound needs to be traced. Game is working properly. Added technical notes, WIP, edge connector and mech counters pinout to clone Buena Suerte (Spanish, set 15). - goldstar.cpp . Flaming 7: Added new technical notes. Added hand made electronic serial DS2401 dump, as a start of electronic serial number support. Hook up serial DS2401 EEPROM. Connected the electronic serial DS2401 device to the proper PPI8255 (PC6) line. Support DS2400-compatibility command 0x0F to read serial no (machine\ds2401.cpp). Promoted Flaming 7 to working: Correct DS2401 hookup on PIA 0 port C. Make serial number ROM to match our program ROM dump. Inputs could be improved. Get past the data error on empty NVRAM with book (0) and reset (R) buttons. . Tetris + Cherry Master (+K, Canada Version, encrypted) hidden switch documentation . Some driver cleanups toward coding standards . Added Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 1). Note: New parent set, since they fixed some weird bug in pulses/bookkeeping. - harddriv.cpp . Added more info for invalid register accesses (cpu\adsp2100\2100ops.hxx). Added callback for dmovlay instruction. . Nop out a memory range, makes log a bit more sane. A 2 second log used to weigh about 700 MB - kinst.cpp: Naming KI1 & KI2 Input buttons the same way it's displayed in original Arcade Control - legionna.cpp and raiden2.cpp . Cleaning up the Seibu COP (Co-Processor) device and documentation . Moved DMA and commands into own files (machine\seibucop\seibucop_cmd.hxx and seibucop_dma.hxx) . Prevent cop_angle to overflow byte range. Fixes III to I quadrant movements in Legionnaire and Heated Barrel. Fixes stage clear player movement in Legionnaire, level 4 boss and maybe access exceptions in Heated Barrel. . Added nicer sorting routine. Moved zsorting to DMA file, improved notes (machine\seibucop\seibucop.cpp). - leland.cpp . Merged ataxx.cpp into leland.cpp as they had a completely shared main header file (leland.h). . Fixed 'missing required objects' fatalerror (ADDRESS_MAP/AM_SHARE"mainram") in Ataxx (ID 06223) - lindbergh.cpp: Updated docs - magicfly.cpp: Refactored PCB layout and pinout with new findings and PCB trace. Also added some technical notes. - megasys1.cpp: Fixed sound regression in System Z hardware games from MAME 0.171. System Z games use a Z80 as sound cpu instead of a M68k. In 0.171 the input lines' enumeration for Z80 was changed and this wasn't updated. - megatech.cpp: Added some title documentation - midzeus.cpp: Naming MK4 P1 & P2 inputs and ports - model1.cpp: Fixed TGP parser crashing in Model 1. This fixed Virtua Racing may crashed if running in linked mode and after coining up (ID 06123). - model2.cpp . Added highly experimental SHARC recompiler. Runtime enable for sharcdrc. Added Model 2 and Zero Gunner compatibility. . Finish the MB86235 disassembler. Fixed 4 compile errors (cpu\mb86235\mb86235d.cpp). . Hooked up M2COMM simulation. Commented out jaleco custom handlers. Cleaned up some Sega comm related stuff. Replaces printf with osd_printf_verbose in a number of places. Removed no longer needed code from Model2. - model3.cpp . Update culling node info (video\model3.cpp) . Hooked up M2COMM simulation. Commented out jaleco custom handlers. - namconb1.cpp: Fixed degraded performance speed in machbrkr and outfxies by disabling logerrors (ID 06244). Also added save state support. - naomi.cpp and segasp.cpp . Added PowerVR2 hack (hacky end of render delay for Capcom games, otherwise they works at ~1/10 speed) . NAOMI documentation update and new DC/NAOMI security system findings . Added Net-DIMM firmware (fpr23718.ic14) and notes . 'Samba de Amigo Rev.A' cartridge contents identical to already dumped Rev.B - nbmj9195.cpp: Fixed mscoutm, imekura and mjegolf inputs (ID 06234) - neodriv.hxx . Fixed most sets in neodriv.hxx crashes if cheats are enabled . Fixed savestate problems in NeoGeo hardware driver (drivers\neogeo.cpp). Many thanks to Tafoid and Osso for the debugging help (ID 06253). - nss.c, sfcbox.c and snesb.c . Fixed back N5A22 clock steps (cpu/g65816/g65816cm.h; timing bug that was lingering for a while, no idea about what it fixes / breaks for SNES but it doesn't seem harmful from a quick random test). . Minor NSS screen output fixes - pacman.cpp, jrpacman.cpp and pengo.cpp: Fixed X and Y flip bits are ignored when sprite is rendered at top of screen due to vertical wrapping (ID 06235). Note: When a sprite is partially off the bottom of the screen (Y values less than $10) the hardware draws the missing parts at the top of the screen, basically wrapping the sprite. - splash.cpp and turbo.cpp: Don't use AM_MASK on ram, you end up with an incorrect allocation size. - system16.cpp . Made some observed changes to some of the game flags in the driver . Reorganized the different sound configurations in "fragments" and added preliminary sound to clones Altered Beast (Datsu bootleg), Mutant Warrior (Altered Beast - Datsu bootleg) and Passing Shot (4 Players) (bootleg). - tourvis.cpp: Added Out Run to the Tourvision games list. Minor gamelist changes. - vegas.cpp . Corrected sub-device lookup string. Added Nile 4 timer scaling. . Added sport timer for DCS2 DSIO device (audio\dcs.cpp). Fixed buffer overflow with clone San Francisco Rush 2049: Special Edition. - AGEMAME . aristmk5.cpp: Reorganized sets based on their actual description. Unified rom naming and added a few sets that were missing. . aristmk6.cpp . Reorganized sets based on their actual description. Removed a few sets which were hacked or incomplete, compared to their parents. . Unified rom naming and fixed loading offset in games which use the expansion board. Also added a few sets that were missing. . Fixed BIOS loading and some BIOS naming. Removed an overdumped BIOS and moved qnilese base PCB ROMS to the BIOS set. . mpu4.hxx and mpu4sw.hxx: Made efforts to provide a 'simpler' configuration setup for MPU4 hardware to encourage easier 'per game' configuration. Tested with one Andy Capp game for now, but others will follow. - Android (prototype, later build): Fixed ROM labels/locations for clone Android (prototype, early build) and added dumps of the two PLDs. - Battle Rangers: Game is a mono PCB - Blood Bros: Thoroughly reworked clone West Story (bootleg of Blood Bros.) memory map based on M68000 code. FG tilemap scrolling implemented for weststry. Sound hooked up, but doesn't fully work (YM3812 stops sending IRQs). Various things documented in other Blood Bros. games. - Breakout [TTL]: Fixed attract mode - Funky Ball: . Reversed ROM flash hookup, fixed bogus FPU exception. . Hooked up terminal device. Fixed region endian. - Gals Panic 3: Added correct supplemental graphics roms to clone Gals Panic 3 (Hong Kong) - Godzilla (Japan): Fixed BCD overflow score bug (machine\raiden2cop.cpp). Marked game as working until otherwise proven. - Gradius 4: Added rasterizers (video\voodoo_rast.hxx) - Halley's Comet: Removed goto:s and somewhat simplified the readability of the video driver - Hole Land: Corrected default dips (local language, not English) and added dipswitch definitions for clone Hole Land (Spain) - Lucky 9: Replaced TMS9980A CPU with TMS9900, because the 9980 address space is too small. - Major Poker: Added missing PLDs, plus technical notes. - Mario Bros: Fixed 'Bonus Life' dipswitch descriptions for Mario Bros. (US, Revision F) (ID 03321) - Match Games . Added technical notes and corrected CRT 810 layout + old notes . Some cleanup for coding standards and fixed coinage dipswitches. - Metal Freezer . Added dips . Fixed missing sprites on edges . Attempt fixing rowscroll enable for stages 5, 10, ... . Removed MACHINE_IMPERFECT_GRAPHICS flag until otherwise proven - Ozma Wars: Added color proms - Poker Monarch: Boots up. By adjusting SW1 you can get various test screens and cards. - Pro Sports: Fixed wrong Upright / Cocktail assignment - Rad Mobile: Swap Lights_lamp and Wiper_lamp (these output signals were misassigned) - Sliver: Made the way jpeglib.h is included more pretty - Street Smart: Fixed sprite regression - Teenage Mutant Ninja Turtles: Corrected visible screen area as per real hardware - Tora Tora: Fixed timer and interrupts. Improved sound (Game now playable). - Ultimate Mortal Kombat 3: We're currently using version 1.0 roms for sound for all sets, see MT#00751. Marked sound roms bad dump in Ultimate Mortal Kombat 3 (rev 1.2) and clone (rev 1.1). - Input port . Added flag to mark input fields as optional . Don't crash on input modules not derived from wininput_module, like "none" (input\input_windows.cpp) . Added ioport tagged_list to unordered_map . A few minor input fixes and cleanups: Input modules exit() is called twice. Removed the unnecessary input_exit() method. Removed unnecessary pointer init in handle_input_event and should_hide_mouse. When registering event callbacks in SDL, don't assume the SDL enum values are int-sized. - Dipswitch fixes in atlantis.cpp, dlair.cpp, liberate.cpp, mario.cpp, metlfrzr.cpp and poker72.cpp - Fixed rom names in 1943.cpp, aristmk5.cpp, aristmk6.cpp, esh.cpp, galivan.cpp, himesiki.cpp, majorpkr.cpp, n8080.cpp and naomi.cpp - Renamed (50lionr) to (50lionrr), (50lionsa) to (50lionsm), (5draga) to (5drag), (5dragons) to (5dragsp), (adonis6) to (adonisa6), (adonise) to (adonisu), (adonishl) to (adonisce), (aftrhrs) to (afterhrs), (alchemya) to (alchemy), (amzqnar) to (amzqueen), (amzteml) to (amztempl), (antcleo) to (antcleom), (arbngts) to (arabnga6u), (arbnigar) to (arabnga6), (badbog) to (baddog), (bigbenpj) to (bigben), (bigredjp) to (bigred2), (birredar) to (bigred), (bmbgs) to (bmbugs), (bobdolu1) to (bobdolly), (bootscot) to (bootsctn), (bootsctn) to (bootsctnu), (brazilar) to (brazil), (bucanar) to (bucaneer), (buffalar) to (buffalo), (buffaloa) to (buffalou), (bumblbug) to (bumblbugu), (bumbugs) to (bumblbug), (butdeli) to (buttdeli), (callwlar) to (callwld), (canary2) to (canaryrc), (cashcham) to (cashchamu), (cashchm) to (cashcham), (cashcroa) to (cashcra5), (chickena) to (chickna5u), (chkmatar) to (checkma5), (chkrun) to (chickna5), (choysun) to (csdm), (cmpacman) to (cmpacmana), (coralr2v) to (coralrc2), (crspru) to (cryspriu), (crystals) to (crysprim), (cshcat) to (cashcat), (cuckoo) to (cuckoou), (cuckooa) to (cuckoo), (dangar) to (dangara), (dangar2) to (dangarb), (dangarb) to (dangarbt), (davedrag) to (5dragce), (dblagus) to (dblagent), (deltqn) to (deltaqn), (dinoaris) to (dinosa6), (dltbel) to (deltabel), (dmddove) to (diamdove), (dmdtouch) to (dimtouch), (dmneye2) to (dimeye), (dmneyeus) to (dimeyece), (dolphtra) to (dolphntra), (dolphtre) to (dolphntru), (dolptra) to (dolphntrb), (doubdolp) to (dbldolph), (drawpka) to (multidrw), (drfz6us) to (deepfrzu), (drgnlrd) to (drgnlord), (dstblom) to (dstbloom), (dyjack) to (dynajack), (eaglst2) to (estrike), (efcashex) to (efce), (eggsrich) to (eggsrccm), (eldora) to (eldorda5), (enchfore) to (eforsta5u), (enchfrst) to (eforsta5), (encspela) to (encspell), (ent6r) to (enchantr), (firedan) to (firednc), (flamolusa) to (flamolce), (flamoly2) to (flamoljc), (fortela) to (fortellr), (geishaar) to (geishaa6), (geishanz) to (geisha), (gldincas) to (goldincu), (gnomatw) to (gnomeatw), (goapear) to (goape), (goldarjp) to (goldarch), (goldphm) to (qnilemax), (goldprmd) to (goldpyr), (goldra) to (goldenra), (heartgar) to (heartgld), (highnoar) to (highnoon), (hlntry) to (hlntroy), (hlsunmon) to (sunmonbb), (houhear) to (househrt), (hrttrhb) to (swhr2), (incanz) to (incasunnz), (incsun) to (incasun), (indce) to (indremce), (inddrma) to (indream), (indgcm) to (indgldcm), (indiandr) to (indrema5), (indianmm) to (indremmm), (indll) to (indremll), (indsc) to (indrem2c), (indsrp) to (drmcatch), (jailbrar) to (jailbrk), (jewelunc) to (jewelcm), (koalmnt) to (koalama6), (kookabk) to (kookabuk), (loconz) to (locolootnz), (lonwolf) to (lonewolf), (luck88) to (lucky88), (luigball) to (luigibal), (lw3_207) to (lw3_207c), (magicmsk) to (magimask), (magicmska) to (magimaska), (margmgc) to (marmagic), (marmagic) to (marmagicu), (mgctouc) to (magtcha5), (mgforst) to (magforst), (mgmerm) to (magmerm), (monmous) to (monmouse), (moutmon) to (mountmon), (mtreenz) to (montree), (mysteyec) to (mysteycmu), (mystgrd) to (mystgard), (oscarar) to (oscara5), (pariligh) to (parislgt), (parilius) to (parislgtu), (pcfava) to (pcfavor), (pcnewz) to (pcgold), (pelpetus) to (pelipeteu), (pengpays) to (pengpayu), (penpay20) to (pengpaya), (penpaya) to (pengpayb), (penpayus) to (pengpyce), (petshopa) to (petshop), (pharpor) to (pharfor), (piratar) to (pirata6), (pompeiar) to (pompeia6), (pompus2) to (pompeia6u), (prophar) to (prophecy), (prtygras) to (partygrsa), (przfigha) to (przfight), (pwsp1) to (pwsuper), (qncsh) to (qcash), (qnile) to (qnilea6), (qnilecj) to (qnilejc), (qonilea) to (qnile), (qonileb) to (qnilea), (qotn) to (qnileb), (qotna) to (qnileu), (rdtripus) to (roadtrip), (redbarar) to (redbara6), (retsam20) to (retrsama), (retsam5) to (retrsamb), (rpatrol) to (rpatrola), (rubmgc) to (rubymag), (rumbrel) to (rumbreel), (rwarhl) to (rainwrce), (sbucks3) to (sbuk3), (scatmg2) to (scatmag2), (shamnmg) to (shamnmgu), (sharmnm) to (shamnmg), (sidebs2) to (sidebs2u), (sidebsja) to (sidebsjb), (silgolar) to (silgola6), (silkrdus) to (silkrda6), (skydncra) to (skydnca6), (smtmar) to (smtma6), (ssf2tbj) to (ssf2tbj1), (stardrfu) to (stardrftu), (sunmon2) to (sunmoon), (supbuk2) to (sbuk2), (swheart2) to (swhr2u), (swhr2us) to (swhr2a6), (swthrt2v) to (swhr2v), (thaiprar) to (thaiprnc), (thaiprin) to (thaiprncm), (thgamblr) to (gambler), (tigresar) to (tigress), (tiktoru) to (tiktorch), (timwolfu) to (timbwolf), (topshtar) to (topshta6), (torpdice) to (toprdice), (tretrva) to (trstrove), (triptrea) to (tritreat), (trjhrs) to (trojhors), (trkinus) to (trsking), (turtrea) to (turtreas), (venicus) to (venice), (wheregld) to (wheregldm), (whlcshus) to (whalecshu), (whlcshusa) to (whalecshua), (whtwtr) to (whtwater), (wildways) to (wwaysm), (wingolus) to (wingoly), (witgold) to (wheregld), (witgoldd) to (wheregldsp), (wldafus) to (wldafr), (wldamz1) to (wamazon), (wldamz3) to (wamazona), (wldcatsa) to (wldcata6), (wldcoug) to (wcougar), (wldcougr) to (wcougaru), (wldpan2) to (wldpanda), (wldpntus) to (wldpanth), (wldstal2) to (wldstall), (wldthg) to (wthing), (wwaysar) to (wways), (wwaysll) to (wzwaysll), (zorrojp) to (zorroa6) and (zorrous) to (zorroa6u) - Description changes of Adonis - Cash Express (0201005V, NSW/ACT), Adonis - Cash Express (0201005V, NSW/ACT), Adonis (BHG1508, US), All the King's Gold (0152152, US), Bad Dog Poker (0200428V, NSW/ACT), Bad Dog Poker (0200428V, NSW/ACT), Black Panther (0200818V, Victoria), Boot Scootin' (0100812V, NSW/ACT), Boot Scootin' (0100812V, NSW/ACT), Boot Scootin' (GHG1012-02, US), Buena Suerte (Spanish, set 15, Protel PCB), Buffalo (0252636, US), Bumble Bugs (0200510V, NSW/ACT), Bumble Bugs (0200510V, NSW/ACT), Bumble Bugs (CHG0479-03, US), Butterfly Delight (0200143V, NSW/ACT), Butterfly Delight (0200143V, NSW/ACT), Cash Cat (0300863V, New Zealand), Cash Cat (0300863V, New Zealand), Cash Chameleon (0100438V, NSW/ACT), Cash Chameleon (0100438V, NSW/ACT), Cash Chameleon (DHG4078-99, US), Cash Crop (0300467V, NSW/ACT), Cash Crop (0300467V, NSW/ACT), Chance in Hell - Li'l Lucy (0251125, US), Checkmate (01J00681, NSW/ACT), Checkmate (01J00681, NSW/ACT), Chicken (0100351V, NSW/ACT), Chicken (0100351V, NSW/ACT), Chicken (RHG0730-03, US), Chihiro Firmware Update For Compact Flash Box (4.01) (GDX-0024A), Coral Riches II (0100919V, NSW/ACT), Coral Riches II (0100919V, NSW/ACT), Cuckoo (0200753V, NSW/ACT), Cuckoo (0200753V, NSW/ACT), Cuckoo (CHG1195, US), Dengen Tenshi Taisen Janshi Shangri-la (Build 0728), Desert Bloom (0200111V, NSW/ACT), Desert Bloom (0200111V, NSW/ACT), Diamond Dove (0101018V, NSW/ACT), Diamond Dove (0101018V, NSW/ACT), Diamond Touch (0400433V, NSW/ACT), Dolphin Treasure (0100388V, NSW/ACT), Dolphin Treasure (FHG4077-02, US), Dynamite Jack (01J00081, NSW/ACT), Dynamite Jack (01J00081, NSW/ACT), El Dorado (0100652V, NSW/ACT), El Dorado (0100652V, NSW/ACT), Enchanted Forest (0400122V, NSW/ACT), Enchanted Forest (JHG0415-03, US), Fantasy (Germany), Flaming 7 (W4 Hardware, Red, White & Blue 7's + Hollywood Nights), Fortune Teller (01J00131, NSW/ACT), Fortune Teller (01J00131, NSW/ACT), Genie Magic (0200894V, NSW/ACT), Gnome Around The World (0100767V, NSW/ACT), Golden Pyramids (AHG1205-03, US), Golden Pyramids (AHG1206-99, US), Golden Ra (0101164V, NSW/ACT), Golden Ra (0101164V, NSW/ACT), Hole Land (Japan), Hole Land (Spain), Inca Sun (0100872V, NSW/ACT), Inca Sun (0100872V, NSW/ACT), Inca Sun (0101108V, New Zealand), Inca Sun (0101108V, New Zealand), Indian Dreaming (0100845V, NSW/ACT), Karate Blazers (bootleg with Street Smart sound hardware), King Galah (0200536V, NSW/ACT), Koala Mint (CHG1573, US), Kooka Bucks (0100677V, NSW/ACT), Kooka Bucks (0100677V, NSW/ACT), Loco Loot (0100472V, NSW/ACT), Loco Loot (0100472V, NSW/ACT), Loco Loot (0600725V, New Zealand), Loco Loot (0600725V, New Zealand), Lone Wolf (0100587V, NSW/ACT), Lone Wolf (0100587V, NSW/ACT), Lucky Poker (bootleg/hack of Major Poker), Magic Forest (0151139, US), Magic Garden (AHG1211-99, US), Magic Mask (AHG1548, US), Magic Mask (DHG1309, US), Magic Touch (0200455V, NSW/ACT), Magic Touch (0200455V, NSW/ACT), Margarita Magic (EHG1559, US), Marvel Vs. Capcom 2 New Age of Heroes (Export, Korea) (Rev A), Metal Freezer (Japan), Mine, Mine, Mine (VHG0416-99, US), Money Mouse (0400469V, NSW/ACT), Money Tree (0201397V, New Zealand), Money Tree (0201397V, New Zealand), Mountain Money (0100294V, NSW/ACT), Mountain Money (0100294V, NSW/ACT), Multidraw - Free Games (0200956V, NSW/ACT), Multidraw - Free Games (0200956V, NSW/ACT), Mystic Garden (0100275V, NSW/ACT), Mystic Garden (0100275V, NSW/ACT), Naomi DIMM Firmware Update for CF-BOX (4.01) (GDS-0042A), Naomi DIMM Firmware Updater (2.13) (GDS-0023A), Naomi DIMM Firmware Updater (2.17) (GDS-0023C), Naomi DIMM Firmware Updater (3.17) (GDS-0023E), Orchid Mist (0200849V, NSW/ACT), Oscar (0200348V, NSW/ACT), Oscar (0200348V, NSW/ACT), Panther Magic (0101046V, NSW/ACT), Party Gras (AHG1567, US), Party Gras (BHG1284, US), Peacock Flutter (02J00011, NSW/ACT), Penguin Pays (0200357V, NSW/ACT), Penguin Pays (0200357V, NSW/ACT), Penguin Pays (0200359V, NSW/ACT), Penguin Pays (0200359V, NSW/ACT), Penguin Pays (0200460V, NSW/ACT), Penguin Pays (0200460V, NSW/ACT), Penguin Pays (BHI0417-03, US), Pet Shop (0100679V, NSW/ACT), Prize Fight (0100299V, NSW/ACT), Prize Fight (0100299V, NSW/ACT), Queen of the Nile - Maximillions (0401072V, NSW/ACT), Queen of the Nile - Maximillions (0401072V, NSW/ACT), Queen of the Nile (0100439V, NSW/ACT), Queen of the Nile (0100439V, NSW/ACT), Queen of the Nile (0300440V, NSW/ACT), Queen of the Nile (0300440V, NSW/ACT), Queen of the Nile (GHG4091-02, US), Queens of Cash (0100706V, NSW/ACT), Queens of Cash (0100706V, NSW/ACT), Rainbow Warriors - Cash Express (0101332V, NSW/ACT), Rainbow Warriors - Cash Express (0101332V, NSW/ACT), Reelin-n-Rockin (0100779V, NSW/ACT), Return of the Samurai (0200506V, NSW/ACT), Return of the Samurai (0200506V, NSW/ACT), Return of the Samurai (0200549V, NSW/ACT), Return of the Samurai (0200549V, NSW/ACT), Return of the Samurai (0400549V, NSW/ACT), Return of the Samurai (0400549V, NSW/ACT), River Patrol (bootleg set 1), River Patrol (bootleg set 2), Space Invaders (CV Version, larger roms), Sumo Spins (0200606V, NSW/ACT), Super Bucks II (0400501V, NSW/ACT), Super Bucks II (0400501V, NSW/ACT), Super Bucks III (0200711V, NSW/ACT), Super Bucks III (0200711V, NSW/ACT), Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 2), Sweethearts II (0200004V, NSW/ACT), Sweethearts II (0200004V, NSW/ACT), Sweethearts II (PHG0742-02, US), The Chariot Challenge (0100787V, NSW/ACT), The Gambler (EHG0916-02, US), Top Banana (0100550V, NSW/ACT), Treasure Trove (01J00161, NSW/ACT), Treasure Trove (01J00161, NSW/ACT), Triforce DIMM Updater (3.17) (GDT-0011), Triforce Firmware Update For Compact Flash Box (4.01) (GDT-0022A), Triple Treat (0201692V, NSW/ACT), Triple Treat (0201692V, NSW/ACT), Trojan Horse (01J00851, NSW/ACT), Trojan Horse (01J00851, NSW/ACT), Tropical Delight (PHG0625-02, US), Unicorn Dreaming (0100791V, NSW/ACT), Wicked Winnings II - Power Pay (10214011, NSW/ACT), Wild Amazon (0200285V, NSW/ACT), Wild Amazon (0200285V, NSW/ACT), Wild Amazon (0200507V, NSW/ACT), Wild Amazon (0200507V, NSW/ACT), Wild Bill (0100297V, NSW/ACT), Wild Cougar (0100167V, NSW/ACT), Wild Cougar (0100167V, NSW/ACT), Wild Cougar (NHG0296-04, US), Wild Thing (0101158V, NSW/ACT), Wild Thing (0101158V, NSW/ACT) and Wings Over Olympus (0252529, US) - MAME . VIDEO RENDERING SYSTEM . HLSL . Added simple procedural texture for vectors with rounded line ends and beam smoothness . Added optional -vector_beam_smooth option . Removed -antialias option, antialiasing is now always applied, except for plain D3D. . Fixed scanlines if the screen output is less than twice the size of the host source. . Small shader corrections . BGFX . Fixed debug crash with BGFX screen chains (chains\hlsl.json, render\bgfx\chain.cpp) (ID 06195) . Fixed crash when using pillarbox shaders. Fixed potential crash when using pillarbox default.lay but not specifying 3 shader chains. . Vector line width is now applied by BGFX . Rearrange shaderc arguments (bgfx\shaders\ . Fixed -resolution and -switchres (modules\osdwindow.h, sdl\window.cpp and osd\windows\window.cpp). This fixed MAME can't set window size anymore (eg. -window -resolution 640x480) (ID 06196) . Fixed offset of vector lines and clipping rectangle when vector primitives are prepared to be rendered into a texture (HLSL) instead of directly on the screen (GDI, D3D) (emu\render.cpp) (ID 06222). . Removed dead D3D code: Removed not functional vector texture code. Removed unused D3DTOP_MODULATE2X/4X code. Removed unused antialiasing code for UI lines. Removed usage of vector_time_period which does not exist anymore. . Cleanup vector batch in D3D . Introduced dynamic_module (lib\osdlib.h). This is a central cross-platform facility to dynamically bind functions from shared libraries. Updated all OSD modules to use it. Removed Direct3D abstraction layer (d3d\d3d9intf.cpp and d3dintf.h). The calling convention goes inside the brackets of pointers to functions. Allows compiling with MSVC. . Improved doxygen-style comments for some defs in emu\screen.h, thumbs down for the class. . Fixed crash of D3D when sliders menu is openend and resizing the window or switching between window and full screen mode . UI . Moved menu classes into ::ui namesapce . Reduced scope of many symbols . Make ARRAY_LENGTH cause a compile error if used with a pointer/vector . Clean up text input code, move common operations to inline templates . Fixed numerous one-byte buffer overruns . Don't flat-out ignore input beyond the C1 hole . Fixed decoding of SDL text input . More slider cleanup . Changed the backing representation of OPTION_UI from being a string to an enum . Changed UI handlers to be stored as std::function(); implemented old set_handler() on top of this. . Added template implementations of mame_ui_manager::set_handler(), and changed call sites. . Fixed loading info for several software lists (ui\datfile.cpp) . Fixed issue with volume slider likely introduced with ui handler lambda changes . Changed to C++ comments (ui\sliders.cpp) . Fixed not load for some INI files in the category filter. Removed use of strcmp for menu separators. Modernized and cleaned up some part of code. . A little change to device_image_interface::call_display to better decouple UI fronted and image devices . Fixed crash in attempt to use "Configure Machine" from favorites filter . Boot time reduced by ~15% . Make filesel current path clickable . Fixed crash with icons in main list . Miscellaneous text fixes and cleanups. Changed mame_ui_manager::draw_text_box() to use ui::text_layout directly. Fixed incorrect icons refresh. Prevent NaN errors by initializing variable in ui::text_layout. . Using rgb_t::transparent constant (ui\text.h). Fixed a bug in text layout that could cause text_layout::actual_width() to return something higher than what it really was. . Changing maximum width specified in mame_ui_manager::draw_text_box() to allow for the border (ui\ui.cpp) . Added "return to origin point (0,0)" feature to Tilemap Viewer (tied with HOME key) . Fixed a problem with game list when using MS Sans Serif font . PLUGINS . Make pluginspath apply in plugins\boot.lua. This fixed pluginspath option not fully recognized (ID 06221). . Hiscore: Fixed segaxbd.cpp games and improved error. Fixed remaining hiscore parse error. Fixed renamed/duplicated sets. Removed remaining invalid sets. Sort by source file in an effort to make it somewhat maintainable, mark entries not in mame.lst, and add script to do the sorting and comparing. . Cheat: Added share accessors to LUA engine. Search share regions (plugins\cheatfind\init.lua). Don't turn off cheat.script unless on. . MULTI-LANGUAGE . Updated French/Belgian language files . Small update of Italian translation . MEMORY SYSTEM . Added AM_SELECT/addrselect field. Replaces the old AM_MIRROR/AM_MASK combo used to mirror a handler and get the mirrored bits in the offset. . Removed mask and/or mirror from where it didn't belong. Simplified a lot of instances of mask that just weren't needed, especially in bus handlers. Used the short forms of install handlers where possible. . Replaced the range parameter handling in map_range that tried to guess what was meant when the values passed were not entirely sensible, by a cranky, diner waitress-turned IRS auditor curmudgeon. Main control function has a series of 14 tests just to find a reason to fatalerror out your requests. Some drivers, hopefully not many, will fail the gate-guarding bureaucrat trials. Should be easy to fix actually, I worked on the error messages. A full regression test would be welcome. . Handlers on different subunits of the same address with different address masks are now supported (emu\emumem.cpp) . Added tagged_list to unordered_map in emumem. Removed simple_list from emumem. . Use unshifted addrmask (not bytemask) in check_optimize_foo (emu\emumem.cpp) . Fixed some issues in emumem. Note: It's actually a very old bug that was uncovered. Direct access update mistaked the per-handler mask and the global mask. As it happened the per-handler mask was often the global mask, but I made the frontend *way* more agressive w.r.t masks now. So the bug became way more visible. . CHEAT ENGINE . Using std::vector> instead of simple_list in Cheat engine (mame\cheat.cpp) . Fixed most sets in neodriv.hxx crashes if cheats are enabled (ID 06241) . Fixed Mortal Kombat and Mortal Kombat II doesn't start if cheats are enabled (ID 06225) . STATE SAVING . Load save state preparations . A number of changes and refactorings in preparation for a new load/save state menu. Most notably, I am C++-ifying osd_directory (now osd::directory) and changing osd_stat() to return std::unique_ptrosd::directory::entry. . Take note that this change completely omits POSIX support, simply because I lack a development environment to support it. This will have to be done by someone else. . SOFTWARE LIST . No need for custom allocators (emu\hashfile.cpp and softlist.cpp) . Added PugiXML and used it for hashfile (3rdparty\pugixml\... and emu\hashfile.cpp) . Fixed a mismatched new[]/delete error in util\corealloc.h . Added template/macro for delaring array with equivalent dimensions (osd\osdcomm.h) . Ensure XAudio2 doesn't crash when no sound card present (sound\xaudio2_sound.cpp). Added XAudio2 init time logging. . Fixed network output to include all data (output\network.cpp) . Placed back old output system as module "-output windows" need more things cleaned (modules\output\win32_output.cpp/h and windows\ledutil.cpp) . Fixed handling VIDEO_NONE on windows . Added ROMX_FILL, passing a ROM_SKIP(param_value) will fill and skip just like a ROM_LOAD16_BYTE macro (emu\romload.cpp). . Fixed debugging code in font_dwrite.cpp . Added WINAPI to other needed functions for stdcall calling convention on 32-bit (font\font_dwrite.cpp, input\input_xinput.h, d3d\d3dhlsl.h, drawd3d.cpp and sound\xaudio2_sound.cpp) . Fixed regression in astrocde.cpp (gorf), atari_s1.cpp, galaxian.cpp (amidar and turtles), mcr.cpp, mcr3.cpp, pacman.cpp (8bpm, drivfrcp and porky) and system1.cpp . Validity checking for AM_MASK/AM_MIRROR/AM_SELECT in 8080bw.cpp, unkhorse.cpp and many others . Supply modified time for files in archives (lib\util\un7z.cpp). Introduced util\timeconv.cpp, moved code from un7z.cpp into it, and implemented win_time_point_from_filetime() in terms of it. - SDLMAME . Disable pthreads under Emscripten for now, they aren't actually available unless you compile with experimental settings (osd\osdsync.cpp). . Fixed video mode opengl duplicated in SDL build (modules\lib\osdobj_common.cpp, sdl\sdlmain.cpp and windows\winmain.cpp) . Fixed SDL version of (MESS) ZEXALL . POSIX implementation for new directory read features, cleanup of Windows implementation, return directory handle as smart pointer, fix full build. - Android . Fixed build (_ prefixed names; netlist\nl_setup.h) . Allow full build on Android . Renamed si_status to si_status_val in n64 as si_status is a preprocessor macro on Android . Renamed PAGE_MASK to page_mask in samcoupe to avoid clash with macro (it's a local anyway) . Abuse namespaces to get around the conflict between our x86emit::REG_Rn and Android's ::REG_Rn in DRC . Changed array assignment to double brackets for C++11 and Android compatibility (machine\iteagle_fpga.cpp) . Fixed Android target libSDL2 circular ref. Also rename ANDROID_NDK_ROOT -> ANDROID_NDK_LLVM to point directly to prebuilt host compiler (removes windows only restriction). . 64bit strip, platform version support. Cleanup make targets and configuration rules. Fixed android_ndk_root env test. - MAC OS X: Fixed mouse behavior on OSX - MESS . Floppy . Added logging to formats\fsd_dsk.cpp . Suppress index pulse irq when busy (machine\wd_fdc.cpp). Did bunch of testing, found no regressions but nothing that even enables the index pulse irq other than the (MESS) Rainbow. . Terminal: Fixed color configuration (machine\terminal.cpp) . WD7600 PC chipset: Fixed memory fatalerrors (machine\wd7600.cpp). Restore keyboard/portb subunits handlers. Fixes POST errors - Compiling . 3rdparty . Updated BGFX, BX and GENie . Removed not used libraries (http-parser and lsqlite3) and commented portaudio that will be used but no need for now. . Added PugiXML and used it for hashfile . travis.yml: Moved to QT5. Updated for OSX. . drone.yml . Created .drone.yml (Build configure for (fork of Drone CI with Msys2 support)) . Added file for Windows/Docker CI for MSYS2/MingW64 . Updated settings. 32-bit due to Cygwin 64-bit bug that bites occasionally. Added -validate with output on success. For the secrets, need to update the YAML to enable, the generate the secrets file, containing the hash of this YAML file once tea-ci is updated to support this. . Added irc bot notification for tea-ci. Encrypted file contains secrets generated from interface. . Fixed channel for irc notifications - no # + example for pacman, should we never need to bring in non-default deps. . Emscripten tweaks (src\main.lua; configuration=asmjs) . Support msbuild from POSIX shell . Preliminary fastbuild support (experimental in GENie) . Added initial ninja support to use add MAKETYPE=ninja to compile command line. Custom build tasks are not yet working. . Fixed GIT version: GIT version is set by top-level make, not just when GENie runs. Can set IGNORE_GIT=1 for make to ignore GIT. GIT ignored/unavailable uses "unknown" in version string. Mark modified trees as dirty. Note that version now comes from makefile. . Move window_list to osd_common_t . Fixed double hyphen in -pipe (scripts\genie.lua) . Fixed GCC 6.1.1 warnings . Changed simple_list to std::vector (emu\disound.cpp, screen.cpp and sound.cpp) . osd_printf_verbose . Changed error printing to verbose on probe() and error on init() (input\input_winhybrid.cpp and input_xinput.cpp) . Changed two dynamic bind messages to verbose (netdev\pcap.cpp and d3d\d3dhlsl.cpp) . Use osd_printf_verbose instead of popmessage (sound\ay8910.cpp) . m_formatlist is now vector (imagedev\chd_cd.cpp, flopdrv.cpp, floppy.cpp, harddriv.cpp, emu\diimage.cpp) . Improved workaround for missing cbegin/cend in glibstdc++ (util\strformat.h and vecstream.h) - Debugger . Debugger may crash when validating expression with non-existent memory space name (debug\debugcpu.cpp) (ID 6225) (ID 6226) (ID 6227) . ImGui based debugger . Removed scrollbar from memory windows, and let the view itself control what is displays. Use cursors/pageup/pagedown to control the memory window when the view cursor is visible. . Pressing Enter on an empty console input box does a single step . Added auto select-all flag to disassembly and memory expression inputs . Actually map cursor keys so that they can be used in input text widgets . Use ImGui functions to handle view inputs, allows key repeating to work in the debugger views. . Fixed exception when un-collapsing a single window . Adjust key repeat rate a bit . Made debugger keys also use ImGui keypress functions . Make new window shortcut keypresses not repeat . Send character inputs to the debugger view with focus, allows editing in memory views. . Draw a light rectangle around a view if it has focus, gives a visual cue as which view accepts input. . Use IM_COL32 macro . If console window is active, then give console input widget focus. Note that this means that the disassmbly view in the console cannot get focus at all (but separate disasm windows still can). . Added history functionality to debugger console, fixed issue with main views being re-allocated when no extra windows have been created. . When using history, set the cursor position to the end of the text. Don't add command to history if it's the same as the previous one. . Allow debugger console and log window scrollbars to stay at their maximum value if already there . Added 'comlist comment' and 'commit command' to debugger . Major refactoring of debugger core: Eliminate globals/file statics. Removed lots of stuff from global scope. Use std::function for custom command registration. Eliminate some trampolines. Fixed -nodebug crash (emu\video.cpp). . Fixed keyboard shortcus for disassembly comments pane. Win32 previously recognised Ctrl+N but menu incorrectly showed Ctrl+M. Qt showed Ctrl+C but it was swallowed by text editing and didn't work. Ctrl+N is now shown/used by Win32 and Qt (matches Cmd-N on OS X). . Added tagged_list to unordered_map for debugger . Removed all usages of tagmap (scripts\src\lib.lua, machine\netlist.h, emu\dislot.cpp, emucore.h, ioport.cpp, machine.cpp, frontend\mame\clifront.cpp, util\tagmap.h, tools\chdman.cpp and unidasm.cpp) . Suppress 'no matching space' debugger error when disassembling CPUs without decrypted opcodes (debug\debugcmd.cpp) . Eliminate some unnecessary pass-through methods from debugcpu 0.174 - New games: Crossed Swords 2 (bootleg of CD version), Idol Mahjong Final Romance 2 (Neo-Geo, bootleg of CD version), Iowa Premium Player (2131-21, U5-1) and Metal Freezer - New Working games: Gigas (MC-8123, 317-5002) - New Non-Working games: Flaming 7 (Red, White & Blue 7's + Hollywood Nights) and Master's Golf - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Cyber Core (Tourvision PCE bootleg), Down Load (Tourvision PCE bootleg) and Vigilante (Tourvision PCE bootleg) - New clones: Champion League (v220I, dual program, set 1), Champion League (v220I, dual program, set 2), Extermination (US, Romstar), Hole Land (set 2), House of the Dead 4 (Export) (Rev B), Hyper Street Fighter II: The Anniversary Edition (Japan 040202), The J.League 1994 (Japan, Rev A), Mercenario (Commando bootleg), New Lucky 8 Lines / New Super 8 Lines (W-4, Lucky97 HW), New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus), Pit Fighter (rev 2), Rage of the Dragons (NGH-2640?), Road Burners (ver 1.04), Shogun Warriors (Korea?), Street Fight (Germany - Benelux), Triki Triki (Lover Boy bootleg) and X-Men Vs. Street Fighter (Japan 961023) - Removed games: Golden Gong2, Pelican Pete 2 and Star Drifter 2 - New drivers: metlfrzr.cpp and neopcb.cpp - New devices: cthd_prot, generic_latch_16, generic_latch_8, h8_watchdog, kof2k3bl_prot, neocart_fatfury2, neocart_jockeygp, neocart_kof98, neocart_mslugx, neocart_vliner, periph and watchdog - New mame.ini options: Set vector_length_ratio to 0.5 - Dynamic Re-Compiling . Some micro-optimizations and special case for 'and' and 'add' (cpu\drcbex64.cpp) . Added TZCNT instruction (Trailing Zero Count) (cpu\drcbec.cpp) . Added emitters for movdqa/movdqu to cpu\x86emit.h - H8 CPUs: Added DTC, DMA and watchdog. Lot of fixes. - MIPS CPUs: Fixed Golden Tee Fore (mips\mips3drc.cpp) - PowerPC 4xx/6xx CPUs: Fixed PPC targets (video\rgbvmx.h) - V60 CPU: Reverted Clang compile warning fix (MAME 0.169) that broke conditional compile, added var to save_item to prevent that warning. - Sound Interface: Updated drivers to use the new gen_latch.cpp, which should substitute the soundlatch_* methods in driver_device. - CHDMAN: Fixed for code that expects to be able to dereference a pointer that it knows may be null - DECO Custom . Fixed flipscreen in Double Wings and Multi Champ (video\decospr.cpp) . Temp fix to regain speed in Edward Randy and clones (and quite possibly more) by commenting select logerrors that are spammed unmerciful causing extreme performance degradation (machine\deco146.cpp). . Runtime tag lookup reduction (includes\deco_mlc.h and video\deco_mlc.cpp) - Discrete Netlist . Converted most subdevices to unique_ptr. This is a temporary measure until the device initialisation is moved into the constructor. Started converting constructors of devices to be passed name and netlist. . Implemented 7402, 7404, 7408, 7410, 7411, 7420, 7425, 7427, 7430, 7432, 7437 and 7486 as macro device . Removed nld_signal.h since netlist devices no longer use it . Some minor changes towards C++11 . Simplify object model by removing default_logic_family() . Added Mario Bros. to MAMENL target (mame\nl.lst) . Renamed connect_direct to connect_post_start to reflect usage . Align object registration syntax. A step towards late creation of devices. . Code simplification. Don't include netlist name in device names (netlist\nl_setup.cpp). . Devices are now created after the netlist was parsed. This enables us going forward to move everything in start() into the constructor and get a much cleaner object model. . Some use of share_ptr to ease memory management . More automatic memory handling . Continuing work to move object initialization from start to constructor. Removed family_t. All of this can be determined at runtime from object as well. As part of this, the "template" to write devices has changed. Converted a number of devices to use the new template. . Improved memory handling in factories. More memory timebombs removed. . All netlist devices now follow new syntax. Removed dead code. All sub devices are now forced to be initialized in the constructor. Device setup now completely in constructor. Removed start call. - HD63484 video: Converted Real Puncher (taito_b.cpp) to use the modern HD63484 device - MC146818 RTC: Fixed irqs - PowerVR2 video: UV clamp/flip (naomi.cpp and segasp.cpp) - TMS9927 video: Added scrolling to (MESS) ITT3030 - Voodoo GFX . Prep work for GPU acceleration . Seattle PCI: Added default PCI BAR locations (video\voodoo_pci.cpp). Added DMA control and proper PCI address mapping to machine\gt64xxx.cpp. New generic PCI IDE controller (machine\pci-ide.cpp). . Stopped blocking of non-fifo'd register writes (video\voodoo.cpp). Added PCI stall functions (machine\gt64xxx.cpp). Fixed IDE PCI address map range for BAR config. . Fixed up PCI VGA legacy register mapping - aristmk6.cpp: Added proper descriptions to most sets and removed duplicated sets Golden Gong2, Pelican Pete 2 and Star Drifter 2 - astrafr.cpp: Fixed crash/exception at initialization in most sets (ID 06206) - atlantis.cpp and iteagle.cpp . Fixed Golden Tee Fore and Skins Game (1.06) (mips\mips3drc.cpp). This fixed palette changes when using machines with MIPS DRC in most ITEagle sets (ID 06190). . NEC VRC4373: Moved DMA transfer to separate timed process. Changed NEC VRC4373 to using attotime::never for timer disabling. Added correct PCI config map. . Switched ITEagle to using generic IDE PCI device . Cleaned up EEPROM initialization and RTC names (machine\iteagle_fpga.cpp) - bankp.cpp . Improved flip screen support (see MT04899) . Updated some inputs/dips according to the manual/schmatics. - chihiro.cpp . 3D accelerator update, better support for antialiasing/supersampling . Number of vertex parameters is 13 not 12 (video\chihiro.cpp) . Define USB_HACK_ENABLED works again, OutRun 2 boots now (machine\xbox.cpp) . Since clipping is not present yet, if a trangle has at least a vertex where the w component is <= 0, don't draw it, this makes OutRun 2 more watchable. . Fixed compilation when LOG_NV2A is defined - deco_mlc.cpp: Runtime tag lookup reduction (includes\deco_mlc.h and video\deco_mlc.cpp) - decocass.cpp: Fixed positioning of object sprite. This stops the headlight in Highway Chase from bouncing all over the screen and makes the shadow stick to Skater's toe. Reference videos show that color is still 100% wrong. - goldstar.cpp: Driver init cleanups. Added Flaming 7 notes and gamelist. - legionna.cpp and raiden2.cpp . Input documentation and COP tweaks based on M68000 and V30 code . grainbow: Correct score and credits display . heatbrl: Suppress "divide by zero?" message since code actually checks for it (no, still not working) . legionna: 2P inputs now designated as such . zeroteam: Hook up COP PRNG (definitely used in this game) - m72.cpp: Hardware isn't a stereo boardset - macs.cpp: Fixed DMA transfers in kisekaem, kisekaeh and cultname. - megatech.cpp: Updated driver to use fixed slot config - model1.cpp: Some modernization and cleanup. Stat making video\model1.cpp use glm as necessary. - model3.cpp: Updated documentation based on the Real3D SDK (thanks Bart) - naomi.cpp . Redumped Atomiswave BIOS, confirmed good and added information. . Clarified pinout of AW BIOS. NAOMI2 jumpers docs. . Dumped 'Initial D Arcade Stage' card reader-printer firmware . UV clamp/flip (video\powervr2.cpp) . Fixed crash in KOF XI, now boots to title. - neodriv.hxx . Huge clean up of the cartslot code in order to better exploit slot devices . Moved cart-specific components to the carts itself removing the fake protection devices from the main system, since they never belonged there. . Removed hacky rom region destruction/construction when a new cart is inserted, replacing it with proper bank pointers to the carts (except for ymsnd and ymsnd.deltat region which will require modernization of the ym devices). . Started re-organization of bootleg boards emulation, so to reduce the need of collapsing everything into a single cart type with multiple protection devices, more work is needed. . Added information about Japanese titles and release dates to the software list and aligned the list to the driver. . Some cleanups and gaining back some performance in most carts. Optimized sprites data now lives only in the sprite device. Got rid of neogeo_helper as a result. . Made the transition between different carts in the multislot driver smooth again. When launching game-specific drivers, sprites are in any case optimized only once before emulation starts, so that yesterday changes made no difference, but we care about 6-slot NeoGeo too. . Sync neogeo list to driver and clarified the bootleg nature of final - neopcb.cpp: Moved to a separate source file the emulation for JAMMA PCB versions of a few Neo-Geo games, since they don't have a cartslot. - nss.cpp, sfcbox.cpp and snesb.cpp: Moved around STAT78 PAL variable (video\snes_ppu.cpp and machine\snes.cpp) - psikyosh.cpp: PsikyoSH uses bitmap_rgb32, but should really use argb32, but that requires overloading lots of drawgfx for this one driver. Removed assert was wrong and unavoidable. Fixed boundary condition tripping in Daraku Tenshi (ID 03753). - segasp.cpp: UV clamp/flip (video\powervr2.cpp) - suprnova.cpp: Added the Korean modbios - tourvis.cpp . Updated game list. Added some extra notes & known game IDs. Corrected SW1 dip 8. Corrected 1P button order. . Added Cyber Core, Down Load and Vigilante to the Tourvision games list - Double Wings: Fixed flipscreen offset with split sprites (ID 04912) - The End: Made clone 'Take Off (bootleg of The End)' boot. Sound system needs work (only 1 AY8912). - Gigas: Dumped missing program rom (Game now playable) - Hole Land: Hooked up the SP0256 speech in Hole Land. Enabled SP0256 to resolve missing speech, verified and measures all the clocks and updated comments at the top re: remaining priority issue (ID 06218). - Jail Break: Hooked up coin counters and fixed flipscreen offset (ID 04935) - Lupin III: Fixed multiple regressions in clone (set 2) - Multi Champ: Fixed flipscreen (ID 04920) - The Ninja Warriors: Fixed credit count is wrong on coin slot 2 in clone (US) (ID 06169) - Real Puncher: Converted game to use the modern HD63484 device - Shackled: Fixed MAME crashes when you enter a secret door in area 12 of Shackled and clone Breywood (see MT#06208) - Sonik Fighter: Decrypted the program and proper inputs. Added technical notes. Flagged as MACHINE_IMPERFECT_COLORS, due to can't find a proper way to setup the palette. Even when the attract is working properly, the game accepts coins, has sound and all inputs are mapped... the game is still not working. Seems that is expecting something to start a game. - Space Encounters: Improved trench colors and simulate screen flash effect - Stadium Hero '96: Fixed regression (machine\deco146.cpp) - Vector games: Moved clipping to video\avgdvg.cpp, the only user. Simplify video\vector.cpp and avgdvg.cpp. This fixed missing left graphics line from the boarder in Eliminator and Zektor (ID 01617). - Vicious Circle: Fixed regression (not booting) - Wangan Midnight Maximum Tune: Dumped card reader-printer firmware - Input port . Completely move mouse hit testing down into the UI input module. This reduces some dependencies. . Never return a null pointer from ioport_field::name() to prevent potential crashes. All anonymous inputs are classified as INPUT_CLASS_INTERNAL, so several frontend functions now check type_class instead. Correct a couple of typos. . Correct joystick polling methods in DirectInput8 to better support older joysticks which previously only worked with DirectInput7. This fixed joysticks using PPJOY driver do not work anymore (ID 05932) and MAME fails to accept input from XBCD-supported joysticks with DirectInput 8 (ID 06151). - Dipswitch fixes in legionna.cpp, ninjaw.cpp, skylncr.cpp and tourvis.cpp - Fixed rom names in 1942.cpp, freekick.cpp, holeland.cpp, neodriv.hxx and stfight.cpp - Renamed (hotd4) to (hotd4a), (hsf2j) to (hsf2j1), (jleague) to (jleagueo), (mosyougi) to (moshougi), (roadburn) to (roadburn1), (theendb) to (takeoff), (xmvsfjr2) to (xmvsfjr3), (xmvsfjr1) to (xmvsfjr2) and (xmvsfj) to (xmvsfjr1) - Description changes of 100 Lions (10219211, NSW/ACT), 3 Count Bout / Fire Suplex (NGM-043 ~ NGH-043), 5 Dragons - Cash Express (0152309, US), 5 Dragons (20161011, NSW/ACT), 5 Dragons (20161011, NSW/ACT, Show Program), 5 Koi - Power Pay (10250711, NSW/ACT), 50 Lions - Roaring Riches (20301311, NSW/ACT), Adonis (0151178, US), African Dusk - Mr. Cashman (20006711, NSW/ACT), After Hours (0251071, US), Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008 ~ ADH-008), Alchemy (1J009611, NSW/ACT), All The King's Gold (0152152, US), Alpha Mission II / ASO II - Last Guardian (NGM-007 ~ NGH-007), Amazon Queen (10005511, NSW/ACT), Amazon Temple (10299811, NSW/ACT), Andro Dunos (NGM-049 ~ NGH-049), Apollo Coffee (0151105, US), Arabian Nights (0151356, US), Arabian Nights (2J008211, NSW/ACT), Arctic Wins - Mr. Cashman (0151065, US), Arishinko (0151087, US), Art of Fighting / Ryuuko no Ken (NGM-044 ~ NGH-044), Asian Princess (0352502, US), Bakatonosama Mahjong Manyuuki (MOM-002 ~ MOH-002), Beaver Bucks (20255111, NSW/ACT), Big Ben (30126911, NSW/ACT), Big Hearted (10000511, NSW/ACT), Big Red (2J009211, NSW/ACT), Big Red 2 (5J011311, NSW/ACT), Black Brumby (1J009111, NSW/ACT), Black Mustang (0152584, US), Blue's Journey / Raguy (ALM-001 ~ ALH-001), Blue Tiger (20259511, NSW/ACT), Bob and Dolly (0352298, US), Brazil (20180311, NSW/ACT), Buccaneer (10173011, NSW/ACT), Buffalo (10217811, NSW/ACT), Bumble Bugs (0351180, US), Burning Fight (NGH-018, US), Burning Fight (NGM-018 ~ NGH-018), Bushranger (10006111, NSW/ACT), Cactus Corral (10237711, NSW/ACT), Call of the Wild (10256611, NSW/ACT), Calypso King (20197111, NSW/ACT), Canary Riches (10218211, NSW/ACT), Capcom Vs. SNK Millennium Fight 2000 (Rev A), Capcom Vs. SNK Millennium Fight 2000 (Rev C), Capcom Vs. SNK Millennium Fight 2000, Cashman Tonight (30194711, NSW/ACT), Champion League (v220I, Lattine), Champion League (v220I, Poker), Chance In Hell - Li'l Lucy (0251125, US), Choutetsu Brikin'ger - Iron Clad (prototype), Choutetsu Brikin'ger - Iron Clad (prototype, bootleg), Choy Sun Doa - Cash Express (30149511, NSW/ACT), Choy Sun Doa (10104011, NSW/ACT), Choy Sun Returns (20212211, NSW/ACT), Corrida de Toros (30178311, NSW/ACT), Cosmic Smash (Rev A), Cosmic Smash, Crazy Taxi, Crossed Swords (ALM-002 ~ ALH-002), Crystal Springs (0352557, US), Crystal Springs (10144411, NSW/ACT), Death Crimson OX, Deep Freeze (0154081, US), Deep Freeze (10282311, NSW/ACT), Delta Belle (0252532, US), Delta Queen (20185211, NSW/ACT), Dengen Tenshi Taisen Janshi Shangri-la, Diamond Eyes - Cash Express (0152039, US), Diamond Eyes (0251312, US), Diamonds Forever (10105011, NSW/ACT), Dinosaur (10118811, NSW/ACT), Double Agent (0152082, US), Double Dolphins (20000211, NSW/ACT), Dragon Lord (10173511, NSW/ACT), Dragon Magic (2J015711, NSW/ACT), Dream Catcher (10126721, NSW/ACT), Dream of the Red Chamber (10273811, NSW/ACT), Eagle Rock - Cash Express (0151126, US), Eagle Strike (40289711, NSW/ACT), Easter Island - Cash Express (0151117, US), Eggstreme Riches - Mr. Cashman (0351149, US), Eight Man (NGM-025 ~ NGH-025), Enchanted Forest - Cash Express (0151084, US), Enchanted Spell (10257011, NSW/ACT), Enchantress (20000711, NSW/ACT), Extermination (US, World Games), Eyes of the Tiger (10002011, NSW/ACT), Fatal Fury - King of Fighters / Garou Densetsu - Shukumei no Tatakai (NGM-033 ~ NGH-033), Fatal Fury 2 / Garou Densetsu 2 - Arata-naru Tatakai (NGM-047 ~ NGH-047), Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - Haruka-naru Tatakai (NGM-069 ~ NGH-069), Fatal Fury Special / Garou Densetsu Special (NGM-058 ~ NGH-058, set 1), Fatal Fury Special / Garou Densetsu Special (NGM-058 ~ NGH-058, set 2), Ferrari F355 Challenge (deluxe, no link), Ferrari F355 Challenge (twin/deluxe), Ferrari F355 Challenge 2 - International Course Edition (twin/deluxe), Fire Dancer (20184911, NSW/ACT), Flame of Olympus - Cash Express (0351025, US), Flame of Olympus - Jackpot Carnival (0251048, US), Follow the Stars (20001411, NSW/ACT), Football Frenzy (NGM-034 ~ NGH-034), Fortune of Athena (10248611, NSW/ACT), Frog Wild 2 (0251114, US), Gamblin' Jack (20197211, NSW/ACT), Garou - Mark of the Wolves (NGM-2530 ~ NGH-2530), Geisha (10000811, NSW/ACT), Generic 16-bit latch, Ghost Pilots (NGH-020, US), Ghost Pilots (NGM-020 ~ NGH-020), Giant Gram 2000, Giant Gram: All Japan Pro Wrestling 2, Giga Wing 2, Go Ape (10006211, NSW/ACT), Go For Green (10003411, NSW/ACT), Golden Archer (10197411, NSW/ACT), Golden Incas (0252533, US), Golden Incas (10174011, NSW/ACT, Show Program), Golden Pyramids Special Edition - Maximillions (10130811, NSW/ACT), Golden Samurai (10247811, NSW/ACT), Grizzly (10214711, NSW/ACT), Heart of Gold (20169511, NSW/ACT), Heart of Vegas (10232911, NSW/ACT), Heavy Metal Geomatrix (Rev B), Helen of Troy (0151336, US), High Noon (20004111, NSW/ACT), Hollywood Dreams (10100511, NSW/ACT), House of Hearts (10200311, NSW/ACT), House of the Dead 2 (USA), House of the Dead 2, House of the Dead 4 (Export) (Rev A), Inca Chief (20190711, NSW/ACT), Indian Dreaming - Cash Express (20109411, NSW/ACT), Indian Dreaming - Lady Luck (20151911, NSW/ACT), Indian Dreaming (10004211, NSW/ACT), Indian Dreaming 2nd Chance (10150611, NSW/ACT), Indian Gold - Mr. Cashman (10102511, NSW/ACT), Indian Princess (10174111, NSW/ACT), Iowa Premium Player (2131-21, U5-1), Jailbreak (10125611, NSW/ACT), Jambo! Safari (Rev A), Janshin Densetsu - Quest of Jongmaster, Jewel of the Enchantress - Mr. Cashman (0151051, US), King Neptune (20189111, NSW/ACT), King of the Monsters 2 - The Next Thing (NGM-039 ~ NGH-039), King of the Nile (20106321, NSW/ACT)' and clone (set 2) to ', King of the Nile (30106331, NSW/ACT), Koala Mint (30001011, NSW/ACT), Kohinoor (10136711, NSW/ACT), League Bowling (NGM-019 ~ NGH-019), Let's Go Fish'n (10220111, NSW/ACT), Let 'em Roll (0151115, US), Line King (0252534, US), Lord Leopard (30111211, NSW/ACT), Louie's Gold - Mr. Cashman (20006911, NSW/ACT), Love Stuck (0152583, US), Lucky 88 (10241411, NSW/ACT), Luigi's Ball (10235411, NSW/ACT), Magic Mermaid (0251331, US), Mahjong Kyo Retsuden (NGM-004 ~ NGH-004), Manic Panic Ghosts! (USA), Marvel Vs. Capcom 2 New Age of Heroes (Export, Rev A), Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660 ~ NGH-2660), Metal Slug 2 - Super Vehicle-001/II (NGM-2410 ~ NGH-2410), Metal Slug X - Super Vehicle-001 (NGM-2500 ~ NGH-2500), Meteor Storm (0152162, US), Milkin' It (10251911, NSW/ACT), Minasan no Okagesamadesu! Dai Sugoroku Taikai (MOM-001 ~ MOH-001), Miss Kitty (10216611, NSW/ACT), Money Tree (10001211, NSW/ACT), Moonlight Waltz (10227611, NSW/ACT), More Chilli (20248711, NSW/ACT), Mr Woo (0252599, US), Mutation Nation (NGM-014 ~ NGH-014), Mystic Arrow (0151009, US), Mystic Eyes - Mr. Cashman (0251024, US), Mystic Eyes - Mr. Cashman (10008111, NSW/ACT), Mystic Mermaid (1J008711, NSW/ACT), NAM-1975 (NGM-001 ~ NGH-001), Naomi Ferrari F355 Challenge (twin/deluxe) Bios, Neo Geo Bangbead CMC42 Cart, Neo Geo Bootleg Protection(s), Neo Geo Cartridge Slot, Neo Geo CMC42 & CMC50 Protection, Neo Geo CTHD 2003 Cart, Neo Geo CTHD 2003 Sp Alt Cart, Neo Geo CTHD 2003 Sp Cart, Neo Geo Fatal Fury 2 Protection, Neo Geo Ganryu CMC42 Cart, Neo Geo Garou AES SMA Cart, Neo Geo Garou Bootleg Cart, Neo Geo Garou SMA Cart, Neo Geo King of Gladiators Bootleg Cart, Neo Geo KOF 10th Ann Bootleg Cart, Neo Geo KOF 10th Ann. EP Bootleg Cart, Neo Geo KOF 2000 CMC50 Cart, Neo Geo KOF 2000 SMA Cart, Neo Geo KOF 2001 CMC50 Cart, Neo Geo KOF 2002 Bootleg Cart, Neo Geo KOF 2002 MP Cart, Neo Geo KOF 2002 MP2 Cart, Neo Geo KOF 2002 Protection, Neo Geo KOF 2003 AES PVC Cart, Neo Geo KOF 2003 Bootleg Cart, Neo Geo KOF 2003 PL Cart, Neo Geo KOF 2003 PVC Cart, Neo Geo KOF 2003 UPL Cart, Neo Geo KOF 2004 SE Bootleg Cart, Neo Geo KOF 2005 Unique Bootleg Cart, Neo Geo KOF 97 Orochi Bootleg Cart, Neo Geo KOF 98 Protection, Neo Geo KOF 99 Korea CMC42 Cart, Neo Geo KOF 99 SMA Cart, Neo Geo KOF2002 Cart, Neo Geo KOF2002 Plus Cart, Neo Geo Lansquenet 2004 Bootleg Cart, Neo Geo Matrimelee Bootleg Cart, Neo Geo Matrimelee Cart, Neo Geo Metal Slug 3 AES CMC42 Cart, Neo Geo Metal Slug 3 SMA Cart, Neo Geo Metal Slug 4 PCM2 Cart, Neo Geo Metal Slug 4 Plus PCM2 Cart, Neo Geo Metal Slug 5 Plus Bootleg Cart, Neo Geo Metal Slug 5 PVC Cart, Neo Geo Metal Slug 6 Bootleg Cart, Neo Geo Metal Slug X Protection, Neo Geo NEOPCM2 Protection, Neo Geo NITD CMC42 Cart, Neo Geo Pnyaa PCM2 Cart, Neo Geo Prehistorik Isle 2 CMC42 Cart, Neo Geo PVC Protection, Neo Geo Rage of the Dragon PCM2 Cart, Neo Geo Samurai Shodown 5 Bootleg Cart, Neo Geo Samurai Shodown 5 Cart, Neo Geo Samurai Shodown 5 Special Cart, Neo Geo Sengoku 3 CMC42 Cart, Neo Geo SMA Protection, Neo Geo SNK vs Capcom PVC Cart, Neo Geo Standard Carts, Neo Geo Strikers 1945 Plus CMC42 Cart, Neo Geo Super Bubble Pop Cart, Neo Geo SVC Bootleg Cart, Neo Geo SVC Plus Alt Bootleg Cart, Neo Geo SVC Plus Bootleg Cart, Neo Geo SVC S.Plus Bootleg Cart, Neo Geo Zupapa CMC42 Cart, Nerds Gone Wild (10197311, NSW/ACT), Ninja Master's - Haoh-ninpo-cho, Open Sesame (0351309, US), Oriental Beauty (10213511, NSW/ACT), Outback Jack (20195211, NSW/ACT), OutTrigger, Owl Capone (10008711, NSW/ACT, Show Program), Panda Pays - Mr. Cashman (0151109, US), Paris Lights - Jackpot Carnival (0251031, US), Paris Lights (30002611, NSW/ACT), Peacock Magic (1J008811, NSW/ACT), Pelican Pete (0252555, US), Pelican Pete (10177511, NSW/ACT), Penguin Pays - Cash Express (0151120, US), Penny Arcade (0251169, US), Pharaoh's Fortune (40000921, NSW/ACT), Phoenix Fantasy (20197511, NSW/ACT), Pirates (10001511, NSW/ACT), Pit Fighter (Japan rev 3, 2 players), Player's Choice - By Demand (10223111, NSW/ACT), Player's Choice - Favourites (20177311, NSW/ACT), Player's Choice - Gold Edition (30291411, New Zealand), Player's Choice - Most Wanted (20234911, NSW/ACT), Player's World - Super (0154019, US), Pokonyan! Balloon (Japan 940322), Pompeii (0251010, US), Pompeii (10002211, NSW/ACT), Power Stone 2, Power Stone, Pride of Africa (10208511, NSW/ACT), Prophecy (20173411, NSW/ACT), Puzzle Bobble / Bust-A-Move (Neo-Geo, bootleg), Puzzle Bobble / Bust-A-Move (Neo-Geo, NGM-083), Puzzled / Joy Joy Kid (NGM-021 ~ NGH-021), Queen of Sheba (10133711, NSW/ACT), Queen of the Nile (3J011111, NSW/ACT), Queen of the Nile Special Edition - Jackpot Carnival (20123911, NSW/ACT), Queen of the Nile Special Edition (10102811, NSW/ACT), Quiz Ah Megamisama, Quiz Daisousa Sen - The Last Count Down (NGM-023 ~ NGH-023), Quiz King of Fighters (SAM-080 ~ SAH-080), Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042 ~ NGH-042), Rage of the Dragons (NGM-2640?), Rapid Riches (10194211, NSW/ACT), Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095 ~ NGH-095), Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - The Newcomers (NGH-2400), Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - The Newcomers (NGM-2400), Red Baron (10119911, NSW/ACT), Riding Hero (NGM-006 ~ NGH-006), Road Burners (ver 1.0), Road Trip (0152539, US), Roll Up! Roll Up!! (10115911, NSW/ACT), Ruby Magic (10125711, NSW/ACT), Rumble Reels (20288611, NSW/ACT), Samurai Shodown II / Shin Samurai Spirits - Haohmaru Jigokuhen (NGM-063 ~ NGH-063), Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222 ~ NGH-222), Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720, 1st release, censored), Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720, 2nd release, less censored), Savage Reign / Fu'un Mokushiroku - Kakutou Sousei, Scatter Magic II (10001311, NSW/ACT), Seal The Deal - Jackpot Carnival (0251029, US), Sengoku / Sengoku Denshou (NGH-017, US), Sengoku / Sengoku Denshou (NGM-017 ~ NGH-017), Shaman's Magic (0152647, US), Shaman's Magic (10225911, NSW/ACT), Shore Thing (0251088, US), Shougi No Tatsujin - Master of Shougi, Show Me The Money (10001911, NSW/ACT), Silk Road (0152537, US), Silver & Gold (20100721, NSW/ACT), Sky Dancer (10272711, NSW/ACT), Slashout, SNK vs. Capcom - SVC Chaos (NGM-2690 ~ NGH-2690), Sonik Fighter (version 02, encrypted), Spawn In the Demon's Hand (Rev B), Spring Carnival (10000311, NSW/ACT), Stakes Winner / Stakes Winner - GI Kinzen Seiha e no Michi, Star Drifter (0451341, US), Star Drifter (20150811, NSW/ACT), Star Quest (10009511, NSW/ACT), Status Symbols (0251147, US), Street Hoop / Street Slam / Dunk Dream (DEM-004 ~ DEH-004), Sun & Moon - Bank Buster (0153028, US), Sun & Moon (0151303, US), Sun Queen - Dollar Storm (0451327, US), Super Bucks V (20203611, NSW/ACT), Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - Real Fight Football (NGM-061 ~ NGH-061), Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - Eikou e no Michi, Supercharger 1942 (ID 06188), Sweethearts II - Lucky Devil (10119811, NSW/ACT), Sweethearts II (0151183, US), Tahiti Magic (10238911, NSW/ACT), Take Off (bootleg of The End), Thai Princess (10119321, NSW/ACT), The Buck Stops Here (10294311, NSW/ACT), The Game With No Name! (0452501, US), The Golden Fleece (10158311, NSW/ACT), The Golden Gong (0152558, US), The Good, The Bad & The Money (0351016, US), The King of Fighters '94 (NGM-055 ~ NGH-055), The King of Fighters '95 (NGM-084, alt board), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (Korean board 2), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (Korean board), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGH-2420), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGM-2420), The King of Fighters '98 - The Slugfest / King of Fighters '98 - Dream Match Never Ends (NGM-2420, alt board), The King of Fighters 2000 (NGM-2570 ~ NGH-2570), The King of Fighters 2002 (NGM-2650 ~ NGH-2650), The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430 ~ NGH-2430), The Super Spy (NGM-011 ~ NGH-011), The Typing of the Dead (Rev A), The Typing of the Dead, Thrash Rally (ALM-003 ~ ALH-003), Thunderheart (10173811, NSW/ACT), Tigress (20230111, NSW/ACT), Tiki Talk (10239111, NSW/ACT), Tiki Torch (0151003, US), Timber Wolf (0154013, US), Top Player's Golf (NGM-003 ~ NGH-003), Top Shot (30123211, NSW/ACT), Torch of the Gods (10000411, NSW/ACT), Touch of Paradice (20007511, NSW/ACT), Treasure King (0152570, US), Turtle Treasure (10234711, NSW/ACT), Venetian Nights (1J008911, NSW/ACT), Venice (0151355, US), Virtua NBA (USA), Virtua NBA, Virtua Striker 2 Ver. 2000 (Rev C), Virtua Striker 3 (Rev B), Virtua Striker 3, Wave Runner GP (USA, Rev A), Werewolf Wild (10288711, NSW/ACT), Whales of Cash (0451311, US)' and clone (set 2) to ', Whales of Cash (0451346, US), Where's The Gold (10124811, NSW/ACT)' and clone (Demo) to ', Where's The Gold (10124811, NSW/ACT, Show Program), White Water (0151075, US), Wild Africa - Millioniser (0351083, US), Wild Cats (10237511, NSW/ACT), Wild Goose (20131911, NSW/ACT), Wild Gorilla - Power Pay (20279811, NSW/ACT), Wild Panda (20218411, NSW/ACT), Wild Panthers - Li'l Lucy (0651310, US), Wild Riders, Wild Stallion (10230811, NSW/ACT), Wild Tepee - Power Pay (10230211, NSW/ACT), Wild Waratah (10215911, NSW/ACT), Wild Ways (10106911, NSW/ACT), Wizard Ways - Lady Luck (20139111, NSW/ACT), World Heroes 2 (ALM-006 ~ ALH-006), World Heroes 2 Jet (ADM-007 ~ ADH-007), WWF Royal Rumble, You Might Be A Redneck If... - Jeff Foxworthy (0351068, US), Zintrick / Oshidashi Zentrix (bootleg of CD version), Zintrick / Oshidashi Zentrix (bootleg of CD version) and Zorro (0151372, US) and Zorro (30130611, NSW/ACT) - MAME . VIDEO RENDERING SYSTEM . Layout tag external handler support (emu\render.cpp) . BGFX . Fix up BGFX NTSC shader . More BGFX settings refinement . HLSL . Equalized options of HLSL and BGFX HLSL chain . Removed POT texture size from shadow mask in HLSL, U/V size is now simply the percentage of the actual texture size. . Adjusted display names of options . Fixed half texel offset of 'source' shadow mask tile mode . Fixed several HLSL problems when running machines without screen . Small changes to creation of render targest in HLSL: Removed unessesary recreations of non-screen-quad texture targets. Removed creation of cached targets for non-screen-quad texture. . Small tweaks to raster.ini settings - less blurry and less glowing. . Fixed bloom target size for vector screens in full-screen mode, this also improves the performance slightly (d3d\d3dhlsl.cpp). . Normalized vector attenuation settings . vector_length_ratio is now independent from screen size . Changed vector_length_ratio range from [0.0, 1000.0] to [0.0, 1.0] . Updated display name and description of vector_length_scale vector_length_ratio. Moved extension of vector lines to where it belongs. . Fixed window is always on top after ALT+ENTER from fullscreen in Direct3D (render\drawd3d.cpp) (ID 06209). When deleting the D3D device, it was reset before with outdate presentation information. . Fixed half pixel offset of vectors in D3D, appearance should be identical to GDI and BGFX (render\drawd3d.cpp). . Updated . UI . Relieve UI menus and such from having to constantly fetch UI object from global state . Moved slider_state and ui_menu_item into frontend\mame . PLUGINS . Added layout embedded script helper plugin. Example layout scripts for (MESS) fidel_scc and mdndclab . Added callbacks for plugins to LUA engine . Cheat: Indent the output (plugins\cheat\conv_cheat.lua and cheatfind\init.lua). Handle multiple cheat paths and missing dir in write back. Reverse operator order and add value comparison. Make menu layout much more flexible. . Software list . Check software parts for incompatibility as well as compatibility. This new softlist feature is now used by genesis_tmss to exclude several entries from megadriv.xml. . Use popmessage instead of osd_printf_warning for incompatibility warnings . Unify some common software loading code, which reduces indentation levels in clifront.cpp . Move system name lookup into frontend . Avoid to directly access device variable from inside the driver, when possible (drivers\macs.cpp, simple_st0016.cpp, speglsht.cpp, srmp5.cpp and machine\st0016.cpp) . Make watchdog timer a separate device. Separate watchdog implementation from running_machine (once again) and driver_device. Old-style methods, now hidden behind #ifdefs, will probably be safe to remove soon. Removed legacy watchdog calls. . Fixed MAME hangs when command bench is higher than 299 (ID 05831) . Fixed init of XAudio2 when there is no window active . Memory handling: Get rid of the install_* return value (emu\emumem.cpp). Fixed accessing base() when there is empty buffer (emu\emumem.h). . Removed dead WM_USER_* events for which handling was causing crashes (windows\window.cpp). This fixed Windows debugger crashes on Win10 64-bit (ID 06217). - SDLMAME . Export SDL_SendKeyboardKey function to allow scancode injection in Emscripten build (emscripten\emscripten_post.js) . Removed dead code left over from "-mt". This fixed double-free starting up puckman when using mame64 -mt (ID 05871) . No SDL 1.2 support anymore - MAC OS X: Try to support older XCode (scripts\src\3rdparty.lua) - ANDROID: Updated to latest build tools for Android - NetBSD/OpenBSD . Fixed NetBSD (scripts\src\3rdparty.lua) . Allow building on OpenBSD - MESS . Baud Z80SCC Rate Generator now uses diserial timers through setrate(). Added ADD_ macros for all supported chip variants, Log messages cleanup. . Floppy: Workaround for MT#06194, potential segfault during floppy load (imagedev\floppy.cpp and formats\upd765_dsk.cpp). Don't fail immediately on wrong cyl (machine\upd765.cpp). . One step closer to core I2C EEPROM implementation (megadrive\eeprom.cpp) - Compiling . 3rdparty . Updated Benchmark, BGFX, BX, GENie and rapidjson . Added GLM library . Updated to LZMA 16.0 . LUA engine: Avoid null keys (mame\luaengine.cpp) . Cleanup of network output module (modules\ipc\tcp_server.cpp) . R3000 is separate CPU, helps building some drivers with SOURCES (scripts\src\cpu.lua). . Work around linker issues with Emscripten (targetos=asmjs) . Allow separate asteroid.cpp, astrafr.cpp, astrocde.cpp, asuka.cpp, bfm_sc4.cpp, bfm_sc5.cpp, cliffhgr.cpp, eolith.cpp, exidy.cpp, galaga.cpp, hng64.cpp, ladybug.cpp, maygay1b.cpp, midzeus.cpp, mpu4.cpp, mpu5.cpp, ninjaw.cpp, pacman.cpp, pgm.cpp, pluto5.cpp, pong.cpp, puckpkmn.cpp, r2dx_v33.cpp, raiden2.cpp, redclash.cpp, s11a.cpp, s11b.cpp, s11c.cpp, seibuspi.cpp, snowbros.cpp, stv.cpp, taito_x.cpp, thayers.cpp, vicdual.cpp, warpwarp.cpp, wpc_dot.cpp, wpc_flip1.cpp, wpc_flip2.cpp, audio\irem.cpp, includes\amiga.h, machine\deco102.cpp, machine\deco156.cpp, machine\mos6530n.cpp, machine\namcoic.cpp and sound\okiadpcm.cpp . Fixed typos in scripts\src\cpu.lua (cpu\mb86233\ -> cpu\mb86235\), machine.lua (ncr5389.h -> ncr5390.h) and sound.lua (pic-ac97.h -> pci-ac97.h) . Minus sign in subtarget creates problems (makefile) . Changed INC -> HXX makes editors and code analyzers see it as C++ . Added ability to create standalone emulators, added (MESS) ZEXALL as example. . Emscripten options cleanup (scripts\src\main.lua) - Debugger . Only log at start the message about deprecated vblank to avoid spamming logerror debugger window at each frame, which makes debugging quite hard (emu\screen.cpp). . ImGui based debugger . Moved building of source lists for disasm and memory windows so they are done once when created . Use a getter function for combo boxes. Memory windows are now much faster. . Moved view drawing into a single function, few more minor colour fixes. . Made a start on rendering just the visible areas of a debugger view. Generally works, but the scrollbar doesn't appear when viewing a 32-bit or larger address space (imgui bug?). . No deps between osd and frontend, internal debugger removed.


0.177: Updated to MAME 0.177 ( Added Source/Listinfo changes. Newest Bugs (30th Aug). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.176: Updated to MAME 0.176 ( Added Source/Listinfo changes. Newest Bugs (27th Jul). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos
0.175: Updated to MAME 0.175 ( Added Source/Listinfo changes. Newest Bugs (29th Jun). Added FB Alpha v0.2.97.38 Emulator infos. Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.
0.174: Updated to MAME 0.174 ( Added Source/Listinfo changes. Newest Bugs (25th May). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.


MAMEINFO.DAT 0.177  (2.56 MB)

MAMEINFO.DAT 0.176  (2.53 MB)

MAMEINFO.DAT 0.175  (2.52 MB)

MAMEINFO.DAT 0.174  (2.50 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions