Mameinfo.dat v0.176
Updated - 30th July 2016

Homepage -
E-Mail -



What's New

*NEW* Mameinfo 0.176 (2.53Mb)

*NEW* MAMEUI 0.176 Category-, Version and Alltime inifiles (637 kB)

*NEW* MAME NEWS from 0.37b1 - 0.176 (3.62 MB)

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.177GIT - New Non-Working games: Mobile Suit Gundam 0079 Card Builder (CDV-10010), Mobile Suit Gundam 0083 Card Builder (CDV-10030) and Quest of D (CDV-10005C) - New clones: Mobile Suit Gundam 0079 Card Builder Ver.2.02 (CDV-10024B), Mobile Suit Gundam 0083 Card Builder Check Disk (CDV-10031) and Mobile Suit Gundam 0083 Card Builder Ver.2.10 (CDV-10037B) - ES5505 sound: Attempt to fix 32bit crash - ISA: Check get_card_device before using - Serial device interface: Make buffered serial a mixin to promote reuse (rs232\keyboard.cpp, rs232.h, terminal.cpp, emu\diserial.h) - centiped.cpp: Correct tag for the ay8910, removed unneeded callback. - konamigx.cpp: Comment a printf for performance reasons (type4_prot_w state) - naomi.cpp: Added all known Sega DIMM board firmware dumps - tiamc1.cpp: Tilemap bit layers disable control (used in test mode only) - Dig Dug: Fixed missing graphics from tilemap 0 (ID 06332). Note: GCC 6.1.0 issue with uninitialized variables. - Diamond Derby: Attempt to fix crash on 32bit - 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) - 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). - MAME . 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). . MULTI-LANGUAGE: Catalan translation updates . 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. - Compiling . 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) - Debugger: Adding an assert() to util\hash.cpp 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.173 - New games: Dragon's Heaven (development board), Last Hope (bootleg AES to MVS conversion, no coin support), New 2001 (Italy, Ver. 2.00N), Pokonyan (Japan 940322), Sushi Bar, Team Hat Trick and Tiny Toon Adventures (prototype) (PlayChoice-10) - New Working games: Wonder Boy (US bootleg) - New Non-Working games: Alta Tensione (ver. 2.01a), Euro Double Star Record (ver.1.2), Jungle (VI3.02), Luna Park (ver. 1.2), Polaroid Instant Memories, Print Club 2 2000 Summer, Print Club 2 Kobe Luminaire '99 (Print Club Custom 3) (J 991203 V1.000), Print Club 2 Vol. 8 Summer (J 970616 V1.100), Print Club 2 Vol. 9 Autumn (J V1.100), Print Club Winnie-the-Pooh Vol. 2 (J 971218 V1.000), Print Club Winnie-the-Pooh Vol. 3 (J 980406 V1.000) and Sonik Fighter (encrypted) - New AGEMAME games: 100 Lions, 5 Dragons, 5 Dragons (Demo?), 5 Koi Power Pay, 50 Lions Roaring Riches, Adonis (USA), Adonis Hyperlink, African Dusk Mr Cashman, After Hours, Alchemy, All The Kings Gold, Amazon Queen, Amazon Temple, Apollo Coffee, Arabian Nights, Arabian Nights (MK6), Arctic Wins, Arishinko, Asian Princess, Bad Bog Draw Poker, Beaver Bucks, Big Ben Jackpot, Big Hearted, Big Red, Big Red Jackpot, Black Brumby, Black Mustang, Black Panther (Aristocrat), Blue Tiger (20259511), Bob And Dolly, Boot Scootin, Brazil, Bucaneer, Buffalo, Buffalo (set 2), Bumble Bugs, Bumble Bugs (USA), Bush Ranger, Butterfly Delight, Cactus Corral, Call Of The Wild, Calypso King, Canary Riches 2, Cash Cat (NZ), Cash Chameleon, Cash Crop, Cashman Tonight, Chance in Hell, Chariot Challenge (0100787V), Checkmate (01J00681), Chicken Run, Choy Sun Doa, Choy Sun Doa Cash Express, Choy Sun Returns, Coral Riches 2, Corrida De Toros, Crystal Springs, Crystal Springs (USA), Cuckoo, Dave Dragons, Deep Freeze, Deep Freeze (MK6, USA), Delta Belle, Delta Queen, Desert Bloom, Diamond Dove, Diamond eyes, Diamonds Forever, Diamong Eyes 2, Dinosaur, Dolphin Treasure (alt), Double agent, Double Dolphin, Dragon Lord, Dragon Magic, Draw Poker, Dream Of The Red Chamber, Dynamite Jack, Eagle Rock, Eagle Strike (set 1), Eagle Strike (set 2), Easter Island, Eggstreme Riches, El Dorado, Enchanted Forest Cash Express, Enchanted Spell, Enchantress 6 Reel, Eye Of The Tiger, Fire Dancer, Flame Of Olympus, Flames Of Olympus 2, Flames Of Olympus USA (set 1), Flames Of Olympus USA (set 2), Follow The Stars, Fortune of Athena, Fortune Teller, Foxworthy Redneck, Frog Wild, Gambling Jack, Game With No Name, Geisha, Genie Magic, Gnome Around The World, Go Ape, Go For Green, Golden Archer Jackpot, Golden gong, Golden Gong2, Golden Inca, Golden Incas, Golden Pyramid Hyper Max, Golden Pyramids Maximillions, Golden Ra, Golden Samurai, Grizzly, Heart Of Gold, Heart Of Vegas, Heart Throb, Helen Of Troy, High Noon, Hollywood Dreams, House Of Hearts, Hyperlink Sun and Moon, Inca Chief, Inca Sun, Inca Sun (NZ), Indian Dreaming, Indian Dreaming Cash Express, Indian Dreaming Lady Luck, Indian Dreaming Second Chance, Indian Dreaming Super Reel Power, Indian Gold Mr Cashman, Indian Princess, Jailbreak, Jeff Foxworty, Jewel Unchantress, King Galah (0200536V), King Neptune, King Of The Nile, King of the Nile (set 2), Koala Mint, Kohinoor, Kooka Bucks, Let Em Roll, Lets Go Fishin, Line King, Loco Loot, Loco Loot (NZ), Lone Wolf, Lord Leopard, Louies Gold Mr Cashman, Love Struck, Lucky 88, Luigis Ball, Magic Forrest, Magic Mermaid, Magic Touch, Meteor Storm, Milkin It, Miss Kitty, Money Mouse, Money Tree, Money Tree (NZ), Moonlight Waltz, More Chilli, Mountain Money, Mr Woo, Mystic Arrow, Mystic Eyes Mr Cashman, Mystic Eyes(Cashman), Mystic Garden, Mystic Mermaid, Nerds Gone Wild, Open Sesame, Orchid Mist, Oriental Beauty, Oscar, Outback Jack (set 2), Outback Jack Jackpot, Owl Capone, Panda Pays, Panther Magic, Paris Lights, Paris Lights (USA), Peacock Flutter, Peacock Magic, Pelican Pete, Pelican pete, Pelican Pete 2, Penguin Pays, Penguin Pays (20 Line), Penguin Pays (alt), Penny Arcade, Penquin Pays, Pet Shop, Pharohs Fortune, Phoenix Fantasy, Pirates, Players Choice By Demand, Players Choice Favourites (set 1), Players Choice Favourites (set 2), Players Choice Most Wanted, Players Choice New Zealand, Players World Super, Pompei, Pompeii2, Pride Of Africa, Prize Fight, Prophecy, Queen Of Sheeba, Queen Of The Nile, Queen Of The Nile (0100439V), Queen Of The Nile (0300440V), Queen Of The Nile Clown Jackpot, Queen of the Nile Special Edition, Queens of Cash, Rainbow Warrior Hyperlink (0101332V), Rapid Riches, Red Baron (Aristocrat), Return of The Samura 20line, Return of The Samura 5line, Return Of The Samurai (0400549V), Road Trip, Roll Up Roll Up, Ruby Magic, Rumble Reels, Scatter Magic 2, Seal The Deal, Shamans Magic, Sharmans Magic, Shore Thing, Show Me The Money, Silk Road, Silver And Gold, Sky Dancer, Spring Carnival, Star Drifter, Star Drifter (USA), Star Drifter 2, Star Quest, Status Symbols, Sumo Spins, Sun And Moon 2, Sun Queen Dollar Storm, Super Bucks 5, Superbucks 2, Superbucks 3, Sweet Hearts 2 Lucky Devil, Sweethearts 2, Tahiti Magic, Thai Princess, The Buck Stops Here, The Golden Fleece, The Good Bad Money, Thunderheart, Tigress, Tiki Talk, Tiki Torch, Timberwolf, Top Banana, Topshot, Torch Of The Gods, Touch Of Paradice, Treasure King, Treasure Trove, Triple Treat, Trojan Horse, Turtle Treasure, Unicorn Dreaming, Venetian Nights, Venice, Werewolf Wild, Whales Of Cash (set 1), Whales Of Cash (set 2), Where Is The Gold, Where Is The Gold (Demo), White Water, Wicked Winnings 2, Wild Africa, Wild Amazon (1 Line), Wild Amazon (3 Lines), Wild Bill, Wild Cats, Wild Cougar, Wild Goose, Wild Gorilla, Wild Panda 2, Wild Panthers, Wild Stalion 2, Wild Tepee, Wild Thing, Wild Waratah, Wild Ways, Wings Of Olympus, Wizard Ways Lady Luck, Zorro and Zorro Jackpot - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Bull Fight - Ring no Haja (Tourvision PCE bootleg), Dragon Saber - After Story of Dragon Spirit (Tourvision PCE bootleg) and Parasol Stars - The Story of Bubble Bobble III (Tourvision PCE bootleg) - New clones: 1945k III (older, OPCX1 PCB), Android (prototype, later build), Atomic Robo-kid (Japan), Beast Busters (Japan, Version 2), Bestri (Korea, set 2), Champion Number (V0.67), Crystals Colours (Ver 1.02), DoDonPachi Dai-Ou-Jou (2002.10.07 Black Ver., bootleg Knights of Valour Super Heroes conversion), Dragon Saber (World, DO2), Espgaluda (2003/10/15 Master Ver, bootleg cartridge conversion), Kamikaze (Potomac Games), Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver., bootleg cartridge conversion), Majestic Twelve - The Space Invaders Part IV (US), Major Title 2 (World, set 2), Mortal Kombat (Reptile Man hack), Mystic Warriors (ver AAB), Operation Wolf (Japan, prototype), Print Club 2 Vol. 6 Winter (J 970121 V1.200), Raiden DX (Japan, set 2), Touch & Go (Korea, unprotected), Vs. Excitebike (set EB4-3 E) and Wonder Boy (system 2, set 2, 315-5176) - New drivers: instantm.cpp and jungleyo.cpp - New devices: m3comm, neogeo_control_port, neogeo_ctrl_edge, neogeo_dial, neogeo_irrmaze, neogeo_joyac, neogeo_kiz4p, neogeo_mjctrl, ohci_gc, ohci_hlean2131qc, ohciusb, z80_sega and z80_sega2 - New mame.ini options: CORE RENDER OPTIONS: intoverscan. OSD OUTPUT OPTIONS: output. BGFX POST-PROCESSING OPTIONS: bgfx_avi_name. DIRECT3D POST-PROCESSING OPTIONS: distortion, cubic_distortion and distort_corner. - Dynamic Re-Compiling . SSE prefix comes before REX on MOVQ and fixed REX order with all SSE prefixes (cpu\x86emit.h) . Added FCOPYI and ICOPYF instructions to pass raw data between integer and floating-point registers . Map F0-F3 to SSE registers and optimized FMOV (cpu\drcbex64.cpp) - MIPS CPUs . Fixed behavior for 32/64 bit mode floating point register aliasing . Branch and Link instructions unconditionally set return address register . Fixed DMULT and DMULTU in interpreter and DRC modes (mips\mips3.cpp) . Port Happy's branch-and-link fix from mips3 interpreter to DRC and PPC aliasing fix to the MIPS3 DRC (mips\mips3drc.cpp) . Fixed interpreter bug where BADCOP exceptions would execute the faulting opcode twice - PowerPC 4xx/6xx CPUs . Use the new instructions for FPU loads and stores (cpu\powerpc\ppcdrc.cpp) . Map some FPU registers to physical registers. Optimized powerpc\ppcdrc.cpp. - TMS9900 CPU: Log output changed - TMS9995 CPU . Logging changed. Fixed HOLD handling and added synchronous RESET. Changed method names for some input lines. . Clean up MAME drivers which needed adjustment to match changes to the TMS9995 (drivers\jpmmps.cpp, jpms80.cpp, looping.cpp, nsm.cpp, nsmpoker.cpp and pachifev.cpp) - Z80/Z180 CPUs . Make the Z80/Z180 daisy chain an interface that interfaces with the existing interface. Z8000 has been hooked up to this as well (p8000_16 already configures it), but currently does nothing with it. . Prevent tmpz84c015_device::irq_priority_w from crashing or corrupting the daisy chain. Eliminate the need for TMPZ84C015_DAISY_INTERNAL by not overwriting elements in the daisy list (z80\tmpz84c015.h; drivers\pve500.cpp). Removed leftover MCFG_SEGAZ80_SET_DECRYPTED_TAG from macros in system1.cpp, which lets all drivers validate without crashing. - Sound Interface: Added generic latch to replace soundlatch in driver_device and additional members for compatibility (machine\gen_latch.cpp/h) - TMS5220 sound . TMS5220/5110 merge Part 1 . Added a 'combined rs/ws write' function for systems which require both pins to change at exactly the same time and not to reset the chip . Replaced fprintf by logerror; fixed some small issues. - YMZ770 / MPEG sound: Separated MPEG audio as device, made building separate Model3 possible. - AM9517A DMA: Added clone (PC Transporter DMAC/PCXPORT_DMAC) with the non-standard mask behavior of the PC Transporter ASIC (machine\am9517a.cpp) - CD ROM: Declared (std::nothrow) some allocations (util\cdrom.cpp) - CHDMAN . Fixed chdman extractcd track names (was foo.cue.bin instead of foo.bin) . Allow image devices to be configured with a fixed (not user selectable) piece of software and updated a few options and menu to acknowledge such possibility (emu\diimage.cpp). . Initialized m_hunknum inside the constructor (util\chd.h) - Discrete Netlist . Visual Studio 2015 netlist fix (src\netlist.lua and solver\nld_ms_w.h) . Added m62(kidniki) to nl.lua. Started some experiments around parallel solving of linear equations. This code is not active. Fixed Kid Niki audio performance. . Minor changes, mostly signed comparisons and adding includes for dependency documentation. . Solver model simplification. Use C++11 features to use more templates. Use templates in nl_math. Simplify solver infrastructure. . Replaced macros with templates (netlist\nl_base.h and plib\pstate.h). Get rid of some init_object calls. netlist_t no longer descends from netlist::object_t. . Fixed type mismatch in netlist\solver\nld_solver.cpp. This fixed OpenMP-enabled builds fail to compile (ID 06170). . Moved solver members to proper place. Minor code changes. Recover from creating solvers by copy paste. . Significant speed improvement: Added a new solver using compressed row format. Fixed sorting. As a result, netlist performance on Kid Niki nearly doubled. The performance increase is mainly due to the fact that sorting decreases the number of operations for gaussian elimination of the Kid Niki matrix from ~7800 to 707. In addition, compressed row format improves L1 usage. Converted Kid Niki netlist into an external one. . Implemented dynamic loading of precompiled solver code - SCSI: Skip disc change detection (machine\cr589.h; drivers\ksys573.cpp). This fixed all KSYS573 sets no longer work when attempting to test the CD hardware (ID 06176). - Sega Custom: Sega encryption emulation (segacrpt and segacrp2) is now a device, kill off a whole bunch of duplicated decryption code across several drivers (angelkds.cpp, appoooh.cpp, calorie.cpp, cclimber.cpp, jongkyo.cpp, pbaction.cpp, pengo.cpp, segae.cpp, segag80r.cpp, segas16a.cpp, senjyo.cpp, sg1000a.cpp, suprloco.cpp, system1.cpp, system1.cpp, turbo.cpp and zaxxon.cpp) - Serial device interface: Added extra bit as delay between bytes to make 1 stop bit work (emu\diserial.cpp) - TMS9928A video . Added GROMCLK pin. Optionally provides clock for GROMs. . Added general read/write methods to TMS9928a, allowing address lines to select functions. - aleck64.cpp . Adjusted SI timing again . Do SI DMA transfer after delay, not before. - arkanoid.cpp: Corrected some spelling and clarify comments - bbusters.cpp: Fixed some missing gfx in Beast Busters / Mechanized Attack. - chihiro.cpp . USB is now partially usable . Control, bulk and interrupt transfers work . Started HLE simulation of USB devices on Chihiro baseboard. There is a first implementation of Xbox game controller. . The Chihiro BIOS can now enter system configuration menu - cv1k.cpp: Some work towards save state support. Should work but it would be better not to save the bitmap, so for the time being it is disabled by default. - forte2.cpp and pengadvb.cpp: Get rid of irq trampoline - gaelco2.cpp . Improved video for clone Touch & Go (Korea, unprotected). This is the first working set for this game, all other sets are protected. . Updated stream on read in Gaelco sound driver, Touch & Go still seems to forget to play sounds sometimes tho, like one of the channels gets stuck busy? - harddriv.cpp: Fixed user1 region width in hdrivair, hdrivairp, racedrivpan and strtdriv. Byte order not verified (seems plausible though), but at least these should be able to load again. - himesiki.cpp: Init palette to black. Fixed YM2203 clock speed. - hornet.cpp . Fixed ROM banking. This fixed "MASK ROM CHECK" in Gradius 4 service mode fails (ID 05897). . Hooked up LAN board DS2401 and EEPROM to Silent Scope 2. Comm board roms are bad. - itgambl2.cpp: Added technical notes and some clean-ups - magic10.cpp . Added technical notes, game status, defined clocks, fixed inaccurate notes and some driver cleanup. . Added missing PLD dump to Magic's 10 (ver. 16.55). . Added PCB infos to Magic's 10 (ver. 16.55) and clone (ver. 16.45). - mhavoc.cpp . Minor comment update . Updated Gamma CPU address decoding/mirroring from the schematic in Major Havoc - model1.cpp . Driver checkpoint and intercept experiment (includes\model1.h and machine\model1.cpp) . Inverted normal/point in Star Wars Arcade (ftab_swa; machine\model1.cpp) - model3.cpp: Added Sega Model3/Naomi/Hikaru Communication Board basic. Further work on M3 comm board, added actual Model3 interface (not yet hooked to driver). Hook Comm.Board to Model3. Note: It seems only VF3 expecting SCSI mapped at C000xxxx, the rest of games (incl Step 1.0 Bass Fishing) looking for Comm.Board there. - namcos22.cpp: Optimization to gamma mix for non-Super System22 - neogeo_noslot.cpp: Reworked inputs to work through the slot device interface. You can now configure the 15-pin ports available in the multicart driver (neogeo) with the -crtl1 and -ctrl2 options. Thus, if you want to launch janshin in neogeo with the mahjong control panel you shall now prescribe -edge "" -ctrl1 mahjong and set accordingly the dipswitch (the first option disables inputs from the edge connector). When you run single game drivers (e.g. mslug, or kof94, etc.), instead, a unique controller is available and cannot be modified. In particular, the janshin driver already comes pre-configured in the proper way. - peplus.cpp: Minor doc update - playch10.cpp: Added new PlayChoice-10 BIOS (pck1-c_fix.8t = Single Screen, Freeplay fix, Newer?) - polepos.cpp: Merged sound\filter.cpp/h with audio\polepos.cpp/h (only Pole Position/II use it). Removed unused function. - snookr10.cpp . Added technical notes . Added default NVRAM, technical notes and dedicated inputs for both Crystals Colours sets. - segag80v.cpp: Fixed vector clocks - stv.cpp . Converted controllers to work through slot devices and cleaning up the related code (includes\stv.h) . Small cleanup + Added note about some pad configuration which is not detected correctly (machine\smpc.cpp) - tourvis.cpp . Changed driver to use a software list instead of internal lists. They're just PCE cartridges stuffed inside custom epoxy filled cases with an adapter. . Trimmed all ROMs to correct sizes, confirming that the majority match exactly the PCE roms (only 3 differ, Gomola Speed which could be an alt revision, R-Type II which has been hacked, and Be Ball where there is an unknown single byte change). Verified the new Tourvision Bull Fight edge connector dump matches the PCE dump 100%. . Fixed some Tourvision descriptions - Attack UFO: Cleaned up and identified I/O chip as 6821 PIA. Fixed maincpu rom loading. - Bishou Jan: Mapped missing controls (ID 01792) - Cross Shooter: Some improvements to Air Raid / Cross Shooter driver based on hardware tests, should improve things if anybody ever does work out how to extract the gfx. Unfortuantely it's starting to look like the colour lookup proms are inside the modules too and in the case of the tilemaps the layout data definitely is, so getting access to the clean data from the outside might be very tricky. - Crystals Colours: Added default NVRAM, technical notes and dedicated inputs for both Crystals Colours sets. - Derby Owners Club II: Added protection key - Dynamite Duke: Fixed missing background with flipscreen on (ID 04919) - Flying Shark: Fixed default DIP for Hishou Zame (Japan) based on dip sheet (ID 06174) - Gain Ground: Added O. Galibert's note about why Gain Ground drops into Free Play mode and added a kludge to work around it for now (ID 04474). - Hyper Bishi Bashi Champ: Removed a few unused input bits - Jingle Bell: IGS009 protection patch for the newer Jingle Bell sets - Klax: Kill ioport tag lookup in driver - Last Four: Added PCB info - Libble Rabble: Fixed game resets during second loop of attract mode (ID 06178) - Magical Crystals: Improved ROM labeling for Japan set based on PCB picture, and noted that the Japan set we have is revision 2, but a revision 0 exists, undumped. - Spy Hunter: Get steering wheel to work in clone Spy Hunter (Spain, Tecfri / Recreativos Franco S.A. PCB). Improved inputs and cleanup analog inputs. - Street Fighter: Driver does not have COIN3 and protection MCU on clone 'Street Fighter (Japan) (protected)' is an i8751 - Wonder Boy: Added sys1piox_315_5177 MACHINE_CONFIG_DERIVED to clone Wonder Boy (US bootleg) (Game now playable) - Input port . Recognized the full range of controller inputs. This simplifies an old piece of MESS code that failed to properly classify paddle, pedal, positional and dial inputs, along with many of the less-common digital inputs. The distinction between INPUT_CLASS_MISC and INPUT_CLASS_INTERNAL makes more sense now, though nothing makes use of it (ID 06172). . Added hybrid DirectInput/XInput module. Release WMI COM objects correctly in XInput device discovery. Make Xinput triggers analog and centered at 0. . Extended core input to support up to 10 players - Fixed rom names in kaneko16.cpp, m92.cpp, model2.cpp, namcos2.cpp, sf.cpp and snookr10.cpp - Renamed (androidp) to (androidpo), (crystalc) to (crystalca), (dsaber) to (dsabera), (excitebk) to (excitebkj), (excitebka) to (excitebko), (majest12) to (majest12j), (mystwarra) to (mystwarraa), (wangmid2) to (wangmid2j) and (wangmd2b) to (wangmid2) - Description changes of 1945k III (newer, OPCX2 PCB), Air Raid (Single PCB), Android (prototype, early build), Atomic Robo-kid (Japan, Type-2, set 1), Atomic Robo-kid (Japan, Type-2, set 2), Atomic Robo-kid (World, Type-2), Attack UFO, Bestri (Korea, set 1), Borderline (Tranquillizer Gun conversion), Choutetsu Brikin'ger - Iron clad (prototype), Choutetsu Brikin'ger - Iron clad (prototype, bootleg), Chouzetsu Rinjin - Bravoman (Tourvision PCE bootleg), Coryoon - Child of Dragon (Tourvision PCE bootleg), Cross Shooter (Single PCB), Doraemon Meikyuu Dai Sakusen (Tourvision PCE bootleg), Dragon Saber (World, older?), GunHed (Tourvision PCE bootleg), Hana Taaka Daka!? (Tourvision PCE bootleg), Jingle Bell (EU, V141UE), Jingle Bell (EU, V153UE), Jingle Bell (EU, V155UE), Jingle Bell (US, V157US), Jinmu Denshou (Tourvision PCE bootleg), Major Title 2 (World, set 1), Major Title 2 (World, set 1, alt sound CPU), Makyou Densetsu - The Legenary Axe (Tourvision PCE bootleg), Mr. Heli no Daibouken (Tourvision PCE bootleg), Raiden DX (Japan, set 1), Saigo no Nindou - Ninja Spirit (Tourvision PCE bootleg), Spy Hunter (Spain, Recreativos Franco S.A., Tecfri PCB), Super Pool (ver. 1.2), Tranquillizer Gun (ID 06181), Veigues - Tactical Gladiator (Tourvision PCE bootleg), W-Ring - The Double Rings (Tourvision PCE bootleg), Wonder Boy (set 2, 315-5135) and Wonder Boy (system 2, set 1, 315-5177). - MAME . VIDEO RENDERING SYSTEM . HLSL . Removed hacks for vector screens from shaders: Added handling of texture coordinates for vector screens to core render. Added handling of orientation/rotation for vector screens to D3D renderer. . Fixed texture coordinates for vector screen quad . Solved conflicts in render\d3d\d3dhlsl.cpp . Added reasonable texcoord handling without known examples (emu\render.cpp) . HLSL settings are reset now, when a new machine is selected. . Refactored distortion pass: Separated curvature parameter into distortion, cubic_distortion and distort_corner. Distortion and cubic_distortion can be negative, to compensate each other. Distort_corner is intependent from the image distortion. Refactored BGFX distortion pass. Removed vector hack. . Fixed not used u_humbar_hertz_rate parameter . Fixed half pixel shift of the shadow mask along the screen diagonal. . BGFX . Fixed render target dimension swap for BGFX. Removed not used part of code. Moved texture flags to proper place (render\drawbgfx.cpp). . Updated makefile to support shaders in multiple dirs and added sample shader. Simplify include for shaders. . Pull a bunch of screen chain code from drawbgfx to chainmanager where it belongs (render\bgfxutil.cpp/h) . Added runtime screen chain selection . Added dividing line to bgfx slider list where applicable . Added render.h no longer indirectly supplied via emu.h <- ui\ui.h . Added data-driven render target clearing . Added pillarboxing shaders and layout for BGFX . Added AVI writing to BGFX . Added HQ2x, HQ3x and HQ4x shaders . Added SuperEagle shader . Implemented handling for u_screen_scale and u_screen_offset . Simplified min, max, default and step value handling for chain configuration. min, max, default and step are now floating points without an addition scale factor. . Added "selection" parameter to chain input sampler. If specified all textures (.png) within the same directoy of the given texture will be selectable via slider in the UI. Also added slider for "shadow mask tile mode" to HLSL chain. . Ported xBR shaders from libretro . Fixed preservation of settings when changing screen chain selection with multiple screens . Make overscan on integer scaled targets optional (add option -intoverscan) . Reduced the incidence of required_device in subdevices. Any device implementing device_gfx_interface will require a palette and, once it has started (which many video devices already check for), allow other devices to access it through a getter. This makes it unnecessary in most cases for devices to require both a gfxdecode and a palette; indeed, many devices went on to not use the palette at all. Most cases have been solved in one of two contrasting ways: Removed the palette finder and associated macros for configuring it, or implemented device_gfx_interface and removed the gfxdecode finder. The latter solution, generally adopted for devices that decoded their own graphics internally or through their own subdevice, has doubled the number of implementations of device_gfx_interface and eliminated the need for Konami games to provide empty gfxdecodes. . Fixed alpha handling, (MESS) Donkey Kong (Coleco) looks good now (emu\screen.cpp). . UI . Borrow string processing code from ui.cpp so that works in layouts (using UTF-8 encoding at least). Updated sc4fd7tha.lay with UTF8 encoding of sign. . Refactored miscmenu and added advanced menu. submenu lang and cosmetic. . Small UI changes . Added plugin options menu . Fixed the key handler for the error "roms or missing CHD." . Removed the delay in showing the description in the Advanced menu . Enter on keypad now act in the same ways of Enter on keyboard (emu\inpttype.h) . Make sliders use an std::vector instead of a linked list . Removed ui\ui.h dependency from emu.h . Make core vector-related slider handling slightly less egregious . Reduced code for entries of "enum class ui_menu_item_type" and the use of item_append with separators. . Re-enabled configuration menu for single-machine and added some options . Adding handler for the right mouse button in the main menu, calls the machine configuration. . Added advanced options to per-machine configuration . Added ImGui based debugger. Note: Currently only works with the BGFX renderer. Added error log window to debugimgui, and limited the debugger console to display 100 lines, so that rendering it doesn't get too slow. Added sending of mouse clicks to debugger views. Please note that you have to click the view area first to give it focus before you can set the cursor in a disassmbler or memory view. Optimised rendering by drawing text via the window draw list. Added keyboard input for the debug view with focus. . Forced reset in order to properly apply some options . Isolated CLI part - merged emu\cliopts.cpp/h into emu\clifront.cpp/h . Splitted UI and frontend part from core . Reset menu on toggle fullscreen . SOFTWARE LIST . Fixed software loaded outside of software list (e.g. -cart PATH_TO_ROM) fails to save SRAM (emu\diimage.cpp) (ID 06173) . Reverted software-installed slot/image options when changing software. Removed emu.h's stealth include of emuopts.h through mconfig.h; reduced dependency on emuopts.h in other headers and source files. MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than a global one; it still works to override the -drc option setting. . Added support for "rom_ignore" . PLUGINS . Added cheat LUA plugin. Added LUA cheat finder library. Added basic menu for cheatfind. Make ram scan work. Added width and endian awareness. Run same operation over a batch of data. Preliminary support to inject cheats for testing. Added safe table functions to sandbox. Added game time for cheats which want a time delay. Load multiple files and fix load failure. Changed match behavior and add on screen watches. Added bitwise comparisons. Fixed machines with >1 ram regions. . Added sample plugin for game time. Added play count. Don't fail if file is corrupt (plugins\timer\init.lua). . Hiscore: Checksum all the regions (plugins\hiscore\init.lua) . LISTXML/INFO . Improved documentation of input devices in the -listxml output, since having just a generic 'number of buttons' is rather pointless in the context of home systems with configurable controllers (being them keyboards, keypads or joypads). Now the various controllers are listed separately with the number of buttons they have. Frontend authors who relied on the "buttons" attribute of the input node for any kind of filter shall now scan all available controllers and take the maximum among their "buttons" attribute (possibly discarding keyboards and keypads if they want) to recover the old value. . Started to acknowledge PORT_16WAY inputs in -lx, since they were reported as 8-ways so far. . First attempt to fix the longstanding issue about inputs owned by devices being always tagged as P1 inputs in -lx. This proposed solution increases the field.player() value whenever the owner device changes, unless the input is a keyboard: in this way we correctly number pads and other controllers connected via slot devices to consoles/computers, at price of tagging as 3-player games a few arcades (e.g. those in cubo.cpp) which have two controllers + a touchscreen attached through a separate device. . Fixed wrong default BIOS outputted with -listxml command (ID 06019) . MULTI-LANGUAGE . Initial Catalan translation . String Translate for Chinese (Traditional / Simplified) . Czech language translation . Updated German GUI translation . Updated Greek translation . Updated Italian translation . Updated Japanese translation . Updated Portuguese (Brazil) . Updated Serbian translations . Updated Spanish translation . Compressed internal layouts + Python 3 compat . Listxml output fix (port->tag()) . Moved man files, emscripten/windows resources, clipboard handling and common struct to proper location (osd\sdl\man\LICENSE -> docs\man\LICENSE ...). . Use XAudio2 by default if available (lib\osdobj_common.cpp) . Archive handling improvements . Improved error handling in 7zip file I/O code . Fixed reading 7zip files >=4GB on LP32/LLP64 targets . Updated to LZMA SDK to 15.14, supports new 7zip features. Stop relying on local hacks to LZMA SDK. . Support most ZIP64 features excluding directory compression and LZMA-compressed files in ZIP archives . Support Info-ZIP UTF-8 file name fields . Fixed phantom files/directories when browsing archives. Report archive handling errors. . Removed OS dependant output handling and added none and console output providers . Added skeleton for network output . Probably fixed the arcade only build (missing games smssgame and spartanxtec) . Implementation for Universal windows main app classes . Get rid of some options that no longer exist (docs\man\mame.6) . Updated windows to use platform independent watchdog implementation. Renamed class to osd_watchdog. . Standardize platform window pointer storage in osd_window. Also encapsulate show/hide capture/release cursor functionality. Check that we have a window before updating cursor state. . Refactor OSD window. Unified renderer in osd_window as std::unique_ptr. Made windows all std::shared_ptr. Made window lists std::list>. Updated OSD SDL worker_param to not use malloc (not compatible with smart pointers). Made renderer pointer to window a weak reference. May not be available during destruction of the window. . Created mame_options as 1st step towards creating core independent of MAME implementation (m_options -> mame_options + emu\mameopts.cpp) . Create final snapshot on -str runs even for screenless systems (emu\video.cpp) (ID 04965) . Machine management cleanups: Boolean parameter to running_machine::run is no longer firstrun (which is now a member variable of mame_machine_manager) but quiet, which disables logging and audio recording without explicitly checking the system name. Sound recording is now turned on and off by explicit calls. The potential uses of this have not been explored. Dependencies reduced on drivenum.h, where the declaration for GAME_NAME(___empty) has been moved to. . Memory handling: Renamed emu\memory.cpp/h to emu\emumem.cpp/h - SDLMAME . Unsubscribe SDL input modules from events on exit (input\input_sdl.cpp and input_sdlcommon.h) . Cleanup init for SDL in total (input\input_sdl.cpp) . Merged sdl\main.cpp for windows platform (unicode). Moved aueffectutil to tools. . Fixed keepaspect & unevenstretch toggles in SDL OSD . Refactored osd_work to become more C++. Bye to malloc and memset. . Fixed BACKSLASH2 SDL key mapping - MAC OS X . Fixed OSX x86 invalid intptr_t conversion (sdl\output.cpp:86:50: error: format specifies type 'int' but the argument has type 'intptr_t' (aka 'long')). . Removed sdl\osxutils.h/mm, not needed anymore after move to C++11 features. - Android . New icon images (res\drawable-xxxhdpi\ic_launcher.png) . Fixed joystick on Android preventing application to crash, cleanup init for SDL in total. - JSMAME: Updated function signatures for Emscripten (emscripten\emscripten_post.js) - MESS . Added TMS1700/1730 MCU types . TMS9901 Interface: Added RST1 reset line . Added BIOS Rev. 4.35 to (MESS) NCR PC4i . Added more floppy debugging and fixed DMA masking in (MESS) ROLM 9751 . Indicate ready status in st0 after seek (machine\upd765.cpp) - Compiling . Support build without optimize flag. OPTIMIZE= to disable the current default value 3. Also allow ARCHOPTS to be set regardless of OPTIMIZE, useful for debug flags. . Iterate over core classes C++11 style. Avoid auto return types; silence some unused variable warnings. . 3rdparty . Updated BGFX, BX, GENie, Google Test and rapidjson . GENie cl.exe multiprocessor build fix (genie\src\actions\vstudio\vs2010_vcxproj.lua and host\scripts.c) . LUA engine . Added direct and region accessors . Added device_image_interface accessors, emu_file support and indexed items. . Make flags explicit . Added print_verbose, print_info, print_debug and print_error to LUA, and used it instead of print. . Save a copy of the search path so it doesn't get thrown away . Updated libuv to 1.9.0, LZMA SDK to 15.14 and expat to 2.1.1 . Basic TCP server based on libuv . Fixed the MSVC build (src\emu.lua and drivers\super80.cpp) . Added PRECOMPILE=0 so in conjunction with ccache it gives better compile speed . Added UWP (Universal Windows Platform) compile to windows\winmain.cpp with implementation for cursor methods . Devfind revision phase 1, cleaning out some legacy stuff: . Eliminate the cached device_t::m_region pointer and its region() getter method. Devices that need to bind to a region with the same tag should use optional/required_memory_region or optional/required_region_ptr with DEVICE_SELF as the subtag; this improves error checking (DEVICE_SELF has been moved to device.h for greater visibility in the source). . Allow required/optional_region_ptr to specify a specific length which must match that of the region found . Implement finder_base::finder_tag() getter for diagnostic purposes . Perform some (not very efficient) validity checks on memory region finders instead of allowing them to automatically pass . Privatize device_memory_interface::m_addrspace . Added includes for dependency documentation. There is still inconsistent use of assert(...) in src\lib\util. libutil compile will use assert from while other parts of MAME will be compiled with assert from emucore.h. . Added more Clang output to tell where #include errors are coming from . Converted osd_event into a class. Since all is std:: now, reduce to inlineable code. . Eliminate device_t::static_config, a type-unsafe legacy feature. . Rewrited or removed every last instance of MCFG_DEVICE_CONFIG and its two aliases, including within comments and dead code. . Moved osdsync to root of OSD and removed osdmini . Use std::chrono instead of GetTickCount in window.cpp/h for Windows OSD . Added short GIT version if building non-release build, also if GIT command is not available or if .git is not there (so building out of other sources). Always rebuild version.cpp when there is GIT version change. . Iterated over devices C++11 style. Replaced the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass. Added a few more typical getters to device_t::subdevice_list. . Various cleanups suggested by static analyzer (NULL -> nullptr, m_device.xxxx -> device()->xxxx, get_xxxx() { return m_xxxx; } -> get_xxxx() const { return m_xxxx; } ... ) . Instead of DEVCB_NULL use always DEVCB_NOOP to prevent confusion - Debugger . Added DEBUG_DIR and DEBUG_ARGS parameters, make sense right now for VS build (makefile, scripts\genie.lua and main.lua) . Make support for absolute paths for debug dir (scripts\src\main.lua) . Added ImGui based debugger. Note: Currently only works with the BGFX renderer. . Create diagnostic module for profiling and crash diagnostics . Enabled internal debugger, but this would need to go in time, it is too coupled with UI (debugger\debugint.cpp)


0.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.
0.173: Updated to MAME 0.173 ( Added Source/Listinfo changes. Newest Bugs (27th Apr). Added/Fixed 'Recommended Games'. Fixed Mameinfo.dat infos.


MAMEINFO.DAT 0.176  (2.53 MB)

MAMEINFO.DAT 0.175  (2.52 MB)

MAMEINFO.DAT 0.174  (2.50 MB)

MAMEINFO.DAT 0.173  (2.49 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions