Mameinfo.dat v0.181
Updated - 20th January 2017

Homepage -
E-Mail -



What's New

*NEW* Mameinfo + MAMEUI-inifiles-0182GIT (14th Jan) (3.17 Mb)

MAMEUI 0.181 Category-, Version and Alltime inifiles (656 kB)

MAME NEWS from 0.37b1 - 0.181 (3.76 MB)

PCB-infos 0.153 (2.11 MB)

MAME listinfos from 0.25 to 0.170 (153 MB)

New in MAME:    
0.182GIT - New games: Enma Daio, Hangzo (Japan, prototype) and Poly-Play (ZRE-PP - Czech) - New Working games: Sky Robo/Tatakae! Big Fighter - New Non-Working games: Happy Fish (V2 PCB, 302-in-1) and Mega Bonus Star II (Euro, Millennium Edition) - New clones: Dynamite Duke (Japan, 25JUL89), Fighting Fantasy (Japan revision ?), King of the Monsters 2 - The Next Thing (older), Robo Army (NGM-032 ~ NGH-032), Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II, set 2), Skull Fang (Asia), Star Fighter (bootleg of Astro Fighter) and World Kicks (Japan, WK1 Ver.A) - New PinMAME games: Ator, Bloody Roller, Cobra (Playbar), Eight Ball Champ (Spain, Z-Pinball hardware), MotorDome (German) and Slalom Code 0.3 - New drivers: hapyfish.cpp - New devices: ad7224, arkanoid68705p3, arkanoid68705p5, efo_zsu1, m68705p3, m68705r3, namco_c139, namco_c148, namcoio_gearbox, netlist_logic_output, netlist_rom_region, pps4_2, taito68705, taito68705tiger, z80sio, z80sio_channel and zn429e - COP400 CPU . Fixed disassembly of jump instructions and used decimal for LDD/XAD . Fixed instruction timing and time-base counter . Fixed debugger behavior on skip . Removed non-working, incomplete COP440 code. Fixed COP444 disassembly. Properly separated COP444L from COP444C. . Fixed debugger register/flags view - i386 CPU: Logerror for invalid rep rather than fatal error (cpu\i386\i386ops.hxx) - M6805 CPU: Fixed state of input lines being lost on reset - M68705 CPU . Taito 68705 refactoring (40love.cpp, bigevglf.cpp, bking.cpp, bublbobl.cpp, buggychl.cpp, flstory.cpp, lkage.cpp, lsasquad.cpp, msisaac.cpp, nycaptor.cpp and slapfght.cpp). . Improvements to I/O emulation in new MC68705 device . All internal memory handlers are now private members . DDRs zeroed when device reset (as per datasheet) . Port writes no longer transmit bits not set in DDR . DDR updates may cause port bits to be written out (this is important) . Added external read/write handlers for ports . Moved 68705 timer logic out of Arkanoid driver and into 68705 core . Refactoring and improvements . Moved 68705 devices into their own file . Made P3, P5 and U3 variants and made them load bootstrap ROMs . Implemented EPROM control (write is stubbed out with a logerror) . Implemented differences for open drain I/O ports . Base device with peripherals should really derive from the 6805 device directly, not the 68705 devices, as I/O ports are present on mask devices (e.g. 6805P2). All drivers and devices that were using M68705_NEW have been changed to M68705P5 - someone who knows the drivers better should fix them up. . Fixed pushed input ports, implement EPROM write (not saved yet). Save EPROM contents using NVRAM mechanism. . Disassemble memory addresses symbolically . Re-implement timer/counter . Support MOR-controlled mode . Correct count direction . Correct startup and reset states . Exposed more more internal registers through the state interface . Shows contents of registers that can't be read by program code . Completely eliminate the concrete 68705-without-peripherals class . Added logmacro.h inspired by Edstrom's log macros (emu\logmacro.h). Added lots of logging to help trace issues. . Taito 68705 interface improvements . Moved stuff arkanoid/puzznic have in common with other games to new abstract base class . Got rid of the unnecessary hacks for Big Event Golf, it doesn't need anything special . Moved Xain'd Sleena M68705 stuff to the common interface class. Fixed regressions in tokio and daikaiju. . Started instantiating common device finders with the devices to marginally improve build/link time . Use common Taito 68705 interface device in Mania Challenge and clone . Removed non-obvious mcu_status_r and semaphore_r members and move to drivers (varies by system) . Slap Fight M68705 functionality can be safely folded into base class so do so . Removed leftover crud from driver state classes . ddragon.cpp, maxaflex.cpp, qix.cpp, stfight.cpp, taitosj.cpp, bub68705 and changela use new MC68705P3 core. mexico86 use new MC68705P3 core, simulate synchronous latches better. . Added MC68705R3 for Pipeline. Renegade use common Taito 68705 hookup. . quizpun and pitnrun use new MC68705P5 core, MCU now gets timer interrupts correctly. retofinv use common Taito MCU hookup. . ADC is stubbed out with logerror (pipeline doesn't use it at all) . Bootstrap ROM is believed to be identical to U3 but need to confirm . tigeroad.cpp . M68705 cleanup and modernisation . Split out bballs and pushman state classes . Use new MC68705R3 core for Pushman (this one uses port D - another test case) . Make Pushman MCU hookup believable (internal registers can't be in shared RAM). Better understanding of how CPU reads MCU data/status in Pushman. . Use derived memory maps rather than installing handlers in init members . Simplify protection MCU simulation in Bouncing Balls using pushman hookup as a guide. Bouncing Balls appears to use a simpler single-word arrangement for messages from CPU to MCU, perhaps so it can use a 28-pin MCU (pushman MCU receives the command byte on port D, which the 28-pin parts lack). - Z80/Z180 CPUs: Simplify daisy-chain IRQ ack routine (get rid of delegate member) (cpu\z80\z80daisy.cpp) - DAC sound . Replaced '8-Bit R-2R DAC' sound with MC1408 in archrivl, hiimpact, joust2, pigskin, shimpact, smashtv, trisport, trog, s3.cpp, s4.cpp, s6.cpp, s6a.cpp, s7.cpp, s8.cpp, s8a.cpp, s9.cpp, s11.cpp, s11a.cpp, s11b.cpp and s11c.cpp. . Replaced '8-Bit R-2R DAC' sound with AD7524 in jdreddp, mk, narc, nbajam, nbajamte, term2, totcarn, wpc_an.cpp, wpc_dot.cpp, wpc_flip1.cpp and wpc_flip2.cpp. . More DAC identification and Namco sound research (sound\dac.h, namco.cpp, drivers\byvid.cpp, galaxian.cpp, junofrst.cpp, mappy.cpp and namcos1.cpp) - MSM5205 sound: Use s32 instead of int32_t for consistency. Architectural cleanups. - Sound Interface . New callback for generic_latch_8/16_device . Added MCFG_GENERIC_LATCH_DATA_PENDING_CB to raise and lower a line automatically as the latch is written and read. This should make sound IRQs easier to deliver and reduce the incidence of HOLD_LINE in drivers. . Updated a few drivers to use this new callback (dec0.cpp and discoboy.cpp). . Invert logic (latch_read -> latch_written). Also fixes initial callback after start. . Soundlatch cleanups in ashnojoe.cpp, crospang.cpp, crshrace.cpp and dcheese.cpp - 6821 PIA: Updated the LOG mechanism - 68681 DUART: Preliminary support for SC28C94 QUART. Channels C and D can now transmit properly for sc28c94. - 8251 USART: Make receive more reliable clean up a little - CHDMAN: Added support for hard disk templates and add some initial ones - Discrete Netlist . Added LM747, LM747A and 2N2565 . Roms now specify an identifier in the netlist. The identifier is used to load data from a source_t implementation. This allos a consistent approach in netlists independent of netlist implementation. Both sources code and parameter code needed quite some rewrite to support this. . Fixed nullptr exception and loading roms in two devices . Added "-r" option to nltool to pass path to a folder containing rom files. Multiple "-r" options may be given. Zip files are not supported, just individual files. . Fixed 74123, 74629 and some internals. Make Mario Bros. sound netlist compiling again. . Moved proxy code into separate file. Some preparation for future changes on proxies and chip families. . Analog to digital proxy rework. Properly handle connected inputs when creating a-d proxy. Aligned a-d proxy to d-a proxy class structure. . Align noexcept usage. Rename register_con to add_terminal for clearity. Changed cstr() ==> c_str(). . Simplify code. Introduced consistent approach to loading macro devices. Changed nltool "listdevices" command accordingly. Fixed some bugs which surfaced by this exercise. . Refactored factory. Use namespace "factory" instead of prefix factory_ all over the place. Fixed parsing of macro devices. Fixed pin assignment 4001. . Update to input definition file (nl_examples\congo_bongo.csv): Create congo bongo sounds with ./nltool -c run -t 10 -i nl_examples/congo_bongo.csv -f nl_examples/congo_bongo.c -l RO.1 and convert to wav with ./nlwav -i log_RO.1.log -o t.wav. Sounds played are: GORILLA, BASS_DRUM,CONGA_H, CONGA_L, RIM0 and again GORILLA. Using Solver.PARALLEL=1 significantly increases performance from 270% to 380%. However, this has to be taken with a grain of salt. Enabling this on predominantly logic netlists can severly kill performance. . Added FREQ parameter to MM5837 noise generator. Specs in datasheet range from 24000 Hz to 56000 Hz. Properly use VDD for output reference voltage. . Added SIGFPE enabling code to plib\pexception.*. Moved plib exceptions into these files as well. The code uses which is part of C++11 standard. Non-standard glib extensions are currently only used on linux and (i386 or x86_64). . Fixed some pedantic Clang warnings. Fixed Clang "-Wno-weak-vtables" warnings in netlist source. Refactored code along the way. . Make destructors virtual on base classes. intX_fast_t may depend on compiler implementation and thus is not suited for save states. . Added skeleton drivers to nl.lst (commented out) . Fixed startup when there are no timestep devices present, i.e. capacitors or inductors. . Removed parameter GS_THRESHOLD and misleading solver parameters. It is now outdated. . Make stop be called again. Fixed METHOD parameter. No need for a virtual stop which is needed only by the solver. Reduced memory footprint for parameters. . Moved netlists into macro folder. nlwav now accepts stdin and stdout: cat log_RO.1.log | ./nlwav | play - . Removed gnd() method. Fixed potential reset and initialization issues. Fixed timing issue in CD4538. Added "pow" (power) to the function model. . Added code to remove devices connected only to rail terminals. Prepare source for consistent error message usage. . Introduced a more structured approach to models. Added more documentation to diode and bjt model. . Moved analog devices into "netlist::analog" namespace. Added documentation to opamp model. . Preparation work for automatically generated include file for devices. nltool now is able to create all defines from the factory definitions. This will reduce the number of places needed to touch when adding devices and always ensure that the parser and statically compiled netlist code use the same syntax. This will enable us to delete most device include files, e.g. nld_74107.h. Netlist usage to create this header file: ./nltool -c header > src/lib/netlist/devices/nld_devinc.h. This is not yet used in production. It will be enabled after additional tests. . Keep track were registry elements are created. Register all devices using NETLIB_DEVICE_IMPL. Fixed encoding issue. . Refactored reverse polish notation evaluator into own source files . Added function parameter to current and voltage sources VS and CS. You can now use those to e.g. produce a sine wave. . Changed code to allow devices to optionally be treated as dynamic or timestepping devices - Floppy . Inhibit reading/stepping until drive has spun up; this concerns drives/controllers that do not use the READY line . Don't crash on tracks with no data (formats\imd_dsk.cpp). Accept images produced from 8" SSSD disks in TeleDisk loader (formats\td0_dsk.cpp). . Added TODO comments; revert stp_w ignore on spin-up until further evidence. . Minor floppy internals improvements (imagedev\floppy.cpp) - Imgtool . Miscellaneous cleanups and C++ modernization (CoCo/RS-DOS) . Changed to use wcout/wcerr in order to support Unicode console output . Rewroted charconv; now an interface rather than an enumeration. Fixed recently introduce bug on attribute listings. - MC68230 PIT . Don't forget all externally driven line states when the DDR changes. Return proper port values when line states are pushed instead of pulled. . Added support for the PSR register, H1-H4 sense and direct pin levels - Namco Custom . Rewrote Namco C148 device (Interrupt Controller; namcos2.cpp and namcos21.cpp) . Rewrote Namco C139 device (Serial I/F Controller (SCI); namcos2.cpp and namcos21.cpp) - TTL: Rewrite 74153. Only output state when the level changes. Use 74153 for the serial clock selector in (MESS) Apricot PC. - Z80 SCC: Improved LOG printouts. Added logmacro.h inspired by Edstrom's log macros (emu\logmacro.h). - aerofgt.cpp, expro02.cpp, ddenlovr.cpp, f1gp.cpp, feversoc.cpp, fuukifg2.cpp and gaelco.cpp: ACCESSING_BITS cleanup - arkanoid.cpp . Moved 68705 timer logic out of Arkanoid driver and into 68705 core . Converted Arkanoid 68705 interface to device. Arkanoid bootlegs use P3 MCUs. . Confirm MCU reset also resets semaphore flags. Fixed watchdog to match PCB tracing, update some comments. Non-arkanoid games lack muxed analog inputs. - armedf.cpp and tecmo.cpp . Dumped i8751 for Sky Robo / Tatakae! Big Fighter and added basic MCU hookup (Game now playable) . Clean-ups and changed sound CPU to use 24MHz/4 in all games . Fixed screen refresh rate in Tatakae! Big Fighter. Fixed service switch and updated DIPS/inputs with locations and content to match those showing on screen and observation. Added debug code for initial area. . Clocks verified for Sky Robo / Tatakae! Big Fighter . Legion and Rygar have YM3526 instead of YM3812 . Documented DACs for Legion, Terra Force and Tatakae! Big Fighter - asuka.cpp: Added 74LS157 for MSM5205 interface in Asuka & Asuka and Maze of Flott - atarittl.cpp: Split Stunt Cycle into its own netlist. Added logic probe to stuntcyc for debugging, does not seem to work, pushing so others can take a look. Fixed some NOR gates that should have been NANDs, fixes the playfield. Fixed stuntcyc/nld_7485 regression. - atlantis.cpp, iteagle.cpp, lindbergh.cpp and midzeus.cpp . Squelch logerror from interrupt control (machine\midwayic.cpp) . Added better game selector and use register values for 'Skins Game' direct rendering (video\zeus2.cpp) . Changed waveram viewer to use V key to fix conflict with game controls (video\zeus2.cpp) . Consolidate waveram1 writing and add more logging for models (video\zeus2.cpp) . Added alternative texture loading subroutines to video\zeus2.cpp . Clean up Atlantis driver and added info . Moved interrupt line and pin functions into PCI device and added variables (machine\pci.c) . Added legacy mapping based on prog i/f register (machine\pci-ide.cpp) - atvtrack.cpp . Extract CPU initial boot from FPGA bitsream. Yep, its possible, at least for such FPGA family. . Driver checkpoint. Documented IO madness. NAND erase&program, game is running now. - cdi.cpp: Decapped/dumped an MCU for Quizard (v1.8) and Quizard 4 Rainbow (v4.2) and clones - cedar_magnet.cpp . Conversion of the Cedar Magnet board from a base device class to a mix-in interface . Emulated EFO ZSU as main variant of the Cedar Magnet sound board. Modernize ZSU soundlatch/IRQ mechanism. More hardware notes. Various associated code cleanups. - chihiro.cpp . Xbox graphic improvements . Added supported for packed float vertex color r11g11b10f . Corrected drawing of indexed vertices primitives . Added "xbox nv2a_wclipping" debug command. Small graphics adjustments. - chinagat.cpp and ddragon.cpp: IRQ cleanups - cvs.cpp: Popmessage in some games only appears with VERBOSE=1 now - deco32.cpp: Added preliminary global volume control for Night Slashers and Fighter's History - gkigt.cpp: Hook up NVRAM and added initialized defaults for Multistar 3 and Multistar 7 2c - gladiatr.cpp . Separate Gladiator and Ping-Pong King state classes . Eliminated tagmap lookups on input read. This fixes coinage in clone Great Gurianos (Japan?). . Hook up all four MCUs in clone Great Gurianos (Japan?). The MCU doesn't like impulse coins, added hack to simulated sets to make them work with non-impulse coins. . Confirmed clocks with original board . Fixed coinage dipswitches have no effect in gladiatr, ogonsiro and gcastle using MCU simulation (ID 06468). Note: MCU simulation replaced with bootleg MCU programs in all affected sets. They now start with one credit due to MAME's memory initialisation, but the coinage DIPs work correctly. . Use input changed member - gsword.cpp . Joshi Volleyball "AA 007" chip is a NEC D8255A for reading input ports . Split out gsword and josvolly functionalit from base driver class . Hooked up josvolly MCUs for communication between CPUs. Added DIP locations to josvolly based on test mode. Named unknown DIP settings after the location they control in main RAM. . Run the MCUs faster in josvolly to get it back to same state as with simulation. Identify cabinet type dipswitch. Removed now-unnecessary MCU simulation. Note: I still don't want to drop the NOT_WORKING flag as the game's clearly still not quite right, but it's as playable as it was previously now, but using original MCU code for CPU comms. The clocks are still guesses, just better guesses. - gts1.c: PPS-4 refinements and modernization: Split PPS-4 and PPS-4/2 device types; better explain and properly implement the difference. Use callbacks for discrete input/output ports instead of fake memory addresses. A17xx reads the address bus directly during I/O accesses. Misc. chip documentation. - harddriv.cpp . Hook up outputs and the first RS232 port to enable linking (Two instances of MAME running Race Drivin' in Link mode: . Added "single screen"-layouts for clone Race Drivin' Panorama - hng64.cpp: Added a dump of one of the HNG64 TMP87PH40AN I/O chips. Note: This came from a sample OTP chip that was purchased for testing / analysis, not one of the chips actually taken from a HNG64 unit! It just ended up turning out to be the case that the sample chip had clearly been pulled from such a board at some point in the past. As a result it isn't clear if this is the driving, shooting or fighting MCU type. Contains the internal string "64Bit I/O Controller Ver 1.0 1997.06.29(C)SNK". A CPU core is needed. - jollyjgr.cpp: Updated readme and correct clocks - midyunit.cpp: Identify DACs used in most Midway and Williams games - namcos2.cpp: Added Namco C148 device. Finest Hour accesses 0x461xxx in service mode, make the whole area in Namco System 2 driver to be mirrored. - namcos21.cpp . Added preliminary Gear Box input for Driver's Eyes. Added mechanical clutch and make it to automatically set to neutral on press, added debug for current gear. Written a device core for the Namco 6-speed gearbox (used by Driver's Eyes, Ridge Racer DX and Ace Driver). . Added input labels (Gun-, Missile- and Viewport Change Button) for Cyber Sled. Removed unused 4th button. . Untangle screen updates into different routines and other clean-ups. Added winrun_bitmap_draw. . Added SCREEN_RAW_PARAMS. Added Namco C148 device to Namco System 21. . Fixed misplaced controls in winrun, winrun91, winrungp and driveyes (ID 05313) . Hooked up Namco C148 to Winning Run GPU. Fixed POSIRQ line and POS interrupt generation for Winning Run, fixes map indicator in Winning Run '91. Fixed trail tachometer drawing in Winning Run. - polyplay.cpp . Added newer ZRE-PP based Poly-Play version/board (SIO not yet hooked up) . Documented differences in hardware. Added a check export version with the new menu. . Fixed undocumented Z80 CTC 'on-the-fly' mode switch; internal timer didn't stop. - rohga.cpp . Added dipswitch locations to all sets. Filled in missing 'Difficulty' switches for Schmeiser Robo. Filled in most switches for Hangzo. . Fixed cropped attract mode text in clone 'Wolf Fang -Kuhga 2001- (Japan)' (ID 06422) - stfight.cpp . Fixed ADPCM control . Latch ADPCM counter on the correct edge . Removed unused members, eliminate function statics and fix up save state registration. . Reduced runtime tagmap lookups - stv.cpp . Clean up comments and BAD_DUMP flags in choroqhr and prc2ksu. NOTE: Print Club 2 2000 Summer fails IC7 check but rom read consistently, might be okay, might not be - supposedly ST-V print carts are known to have bad ROM tests(?). . Added preconfigured NVRAM to Print Club 2 2000 Summer and a new one to Choro Q Hyper Racing 5 - superqix.cpp . Bare minimum work to extricate hotsmash/pbillian from superqix_state and cleanup. Reduced tagmap lookups. . Hot Smash use M68705P5 core instead of in-driver peripherals - taito_f3.cpp: Fixed missing graphics on state load - taito_l.cpp . Split giant state class up into family tree, reduce tagmap lookups. . Re-use new Arkanoid 68705 interface device for Puzznic, eliminate Puzznic protection hacks. Removed crud from puzznic bootleg. . Clean up ROM unscrambling function for clone Plotting (World set 2, protected) . Shuffle taito_l family tree, should fix missing device errors. - tmaster.cpp: Minor doc update about the CES Galaxy Games carts - Archimedes (aristmk5.cpp and ertictac.cpp): Finally correct audio frequency setting - Aztarac: Verified and correct labels/locations and added newly dumped video board PROMS for this machine - Bagman: Fixed clone Le Bagnard (bootleg on Crazy Kong hardware) inputs and shuffle PROMs for better colors (game still tends to crash) - Battle Cross: Flipscreen problem (background scroll) - Bazooka [TTL]: Redumped clone Bazooka (Brazil) [TTL] - Biomechanical Toy: Dumped clone Biomechanical Toy (Ver. 1.0.1884) sound roms, fixes audio in this version. - Car Polo: Rewrite 74153. Only output state when the level changes. - Combat School: Fixed score line is not flipped with screen in Combat School an clones (ID 04907) - Eeekk!: Input port_name clarifications as well as further details for 'Difficulty' dipswitch settings. Fixes 2P Start Button map is missing (ID 06461). - Fever Soccer: Use 16-bit handlers for input reads; implement IRQ ACK. - Joyful Road: IRQ cleanups. Eliminate HOLD_LINE while remaining true to schematics. Let main CPU properly acknowledge NMI. Use one VBLANK handler instead of two. Correct audio CPU clock divider (should be same as PSGs according to schematics). Misc. stylistic streamlining. - Karate Champ: All IRQs/NMIs acknowledged. Added 74LS157 for clone Karate Champ (US VS version, set 1). - Mahjong Shinkirou Deja Vu: Demoted Mahjong Shinkirou Deja Vu and clone Mahjong Shinkirou Deja Vu 2, see MT#00964 for more info. - Mario Bros. . Hook up Luigi walking sound in netlist mario sound implementation. Mario driver now uses netlist audio implementation instead of discrete implementation. The previous discrete sound emulation has not been removed yet because it still contains a lot of documentation. . Fixed compile for I8039 test code in mario sound - Midnight Resistance: Added MCU (disabled) to clone Midnight Resistance (bootleg with 68705) config - Number Crash: Added PCB readme - Out Run: Added in Speed Indicator for clone 'Out Run (sitdown/upright, Rev B) (Enhanced Edition v1.1.0)'. The Enhanced versions use DSB-4 for showing speed in km/h or MPH. This is a new additional the original sets didn't support. - PinMAME . Device hookups and memory maps in joctronic.cpp, following available schematics. . Added a ridiculously incomplete dump of the CPU ROM to Punky Willy . Try to make some sense of the DIP settings in the service manual of Break '86. Update notes in vd.cpp source. . Hook up ZSU1 to Skill Flight (Playmatic) and Phantom Ship. Modernized ZSU soundlatch/IRQ mechanism. More hardware notes. Various associated code cleanups. . Added AY8910 reads to peyper.cpp . Identify DACs used in most Midway and Williams games . Identified EFO90503 in play_2.cpp and note usage; improve notes on EFO sound boards . Identified unknown DAC in byvid.cpp - Plump Pop: Verified that Plump Pop uses the same M-Chip as Extermination and Dr. Toppel. Added and corrected labels, locations and chip types for several ROMs/PROMs as well as updated notes, based on PCB pictures. - Pole Position II . Preliminary work on Gran Premio F1 sound system. Redumped some faulty roms for polepos2bs (the former speech ROM has bit6 fixed), plus added proper bipolar PROMs dumps. Documented the 'A', 'B' and 'C' board edge connectors for polepos2bs. . Sound improvements for bootlegs: Working Spanish/Italian voices in polepos2bi and polepos2bs. DAC for passing car sound in topracern, polepos2bi and polepos2bs. These bootlegs may still be missing explosion sounds. - Pyon Pyon Jump: Documented board 7908B pinout and bank #1/2 DIP switches - Sky Adventure: Increased buttons usable from 2 to 3 which matches port test in service mode as well as matching information in the conversion manual - Sky Army . Fixed screen flipping in cocktail mode . Re-added second AY-3-8910A that generates explosion sounds; the claim as to its absence made in 2003 was probably based on less accurate AY8910 emulation and/or a stripped PCB. . Added coin counter - Stadium Hero: Correct tilemap colors - Super Qix: Deprotected an original Japan/World Super Qix 8751 MCU and verified that the presumptive B03 // 03 MCU dump is correct - Tang Tang: Added a preconfigured NVRAM or it boots with invalid settings - Thayer's Quest: Fixed COP400 divisor. Keyboard WIP. - Zwackery: Perfect quantum not needed for this driver, restores previous performance level. - Input port: Fixed for a potential problem if natural keyboard input gets disabled while machine is running (emu\natkeyboard.cpp) - Fixed rom names in midwunit.cpp, ms32.cpp, pse.cpp, segae.cpp and tnzs.cpp - Dipswitch fixes in armedf.cpp, aztarac.cpp, gsword.cpp, pacman.cpp, rohga.cpp, vd.cpp and vicdual.cpp - Description changes of The Double Dynamites (Japan, 13NOV89), The Double Dynamites (US, 13NOV89), Dynamite Duke (Europe, 03SEP89), Dynamite Duke (Europe, 25JUL89), Dynamite Duke (Japan, 03SEP89), Dynamite Duke (US, 25JUL89), F-14 Tomcat, New Double Bet Mahjong (bootleg of Royal Mahjong) [BET] (ID 05392), Poly-Play (ZRE), Print Club 2 2000 Summer (J 000509 V1.000), Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II, set 1) and Smashing Drive (UK) - Renamed (wldkicksj) to (wldkickspj) - MAME . HLSL . Changed cached texture format to floating point. . Removed hacks in hlsl\phosphor.fx . Tweak presets for ini\presets\raster.ini, vector-mono.ini and vector.ini . Changed cache texture format to floating point for precise for phosphor and ghosting shaders (render\d3d\d3dcomm.h, d3dhlsl.cpp and drawd3d.cpp) . 3rdparty . Updated zlib to 1.2.9 . Updated BGFX, BX and GENie . Added initial HTTP/HTTPS webserver/websocket server support. Added websockets as well. . PortAudio library update and backend. Fixed memory leak and log error checking (sound\pa_sound.cpp). Fixed PortAudio MinGW cross-compilation (3rdparty\portaudio\src\hostapi\wasapi/pa_win_wasapi.c). Fixed allowed latency range in PortAudio. Simplify the audio buffer and fix a wrap-around issue. . Added 'WAIT' function to LUA engine . UI . Added service mode DIP switch adjustments (emu\ioport.cpp, ui\info.cpp and ui.cpp). Removed find_dipname. . Changed ui\filesel.cpp to use wstring_from_utf8() . ROMs over 2 GB no longer reported as negative size in XML (mame\info.cpp) . PLUGINS: Updated hiscore.dat . Create handy ROM filename discrepancy spotter. Clean up scripts: Use spaces for indentation. Better error reporting. Some optimisation. Slightly more intelligent preservation of tabulation. . UWP (Universal Windows Platform): ASIO fix. Already sent pull request upstream. Fixed alt key input. . SOFTWARE LIST: Make "requirement" field in softlists actually work (MT 6464). MAME's architecture for software loading remains gruesomely overcomplicated, and this makes it even less efficient than it already was. However, I think more invasive cleanups would best be left until later. - MAC OS X . Fixed OSX build (CGFloat; osx\ . Autoscroll log window for OS X Cocoa debugger. Improved view scroll behavior. - Compiling . Move special windows.h include directives to build defines . Introduced utf8proc and created wrapper code to expose a prettier API . Make DEBUG=0 and SYMBOLS=0 behave (makefile) . Fixed MSVC compile (src\3rdparty.lua) . Removing unnecessary callback (MSVC 2015 error; emu\main.cpp) - Debugger . Parse octal expressions (prefixed by '0'). Use 0o for octal prefix, added support for binary with 0b a la C++ and uppercase radix speifier (debug\express.cpp). . Added a facility to allow logerror output to reside in traces. As a consequence, the debugger 'trace' command was changed so that the third parameter is a list of '|' delimited options. . Created a new debugger command 'tracesym'. 'tracesym' is intended to be a shorthand of 'tracelog', whereby the user doesn't have to specify a format string; the default format string is used. . Added logmacro.h inspired by Edstrom's log macros (emu\logmacro.h) 0.181 - New games: Eeekk!, Miss World 2002 and Power Flipper Pinball Shooting - New Working games: Tokio / Scramble Formation - New Non-Working games: Knights of Valour 3 HD (V105), Multistar 3 and Royal Ascot II - New clones: Flicky (128k Version, 315-5051, larger roms), Golden Crown Hopper (Dutch, Game Card), Knights of Valour 3 HD (V101), Knights of Valour 3 HD (V102), Knights of Valour 3 HD (V103), Knights of Valour 3 HD (V104), Mahjong Clinic (Japan, set 2), Momoko 120% (English text), Multi Wars (bootleg of UniWar S), The NewZealand Story (World, old version) (older PCB), Raiden (Korea, bootleg), Real Bout Fatal Fury / Real Bout Garou Densetsu (Korean release), Same! Same! Same! (1P set, NEW VER! hack), Sega Rally Championship - DX, Side by Side 2 Evoluzione RR (Ver 3.1 J), Simpson Junior (bootleg of J. J. Squawkers), Space Dungeon (larger roms), Steering Champ (GQ710 VER. UAA), Super Visual Football: European Sega Cup, Top Skater (USA), Turbo Force (US) and Virtua Striker 2 '99 (Step 1.5) - New PEPlus games: Player's Edge Plus (XMP00011) 5-in-1 Wingboard (CG2298) - New PinMAME games: Back To the Future (2.8), Lost in Space (1.01 France), Monday Night Football (2.9, 50cts) and X-Files (3.03 France) - New drivers: pgm3.cpp and zwackery.cpp - New devices: 74hct157, 74ls157, bitbanger, cd40105, dac76, ef9369, input_merger_hi, m68705_new, midway_serial_pic_emu, mm5837, null_modem, printer_image, pseudo_terminal, rs232_loopback, scc85C30, serial_keyboard, serial_printer, serial_terminal, sunkbd, sunkbd_adaptor and z80scc_channel - ADSP21062 / SHARC CPU: Use standard memory maps - ARM CPU: Fixed STR! with rd == rn - COP400 CPU . Added COP400 LEI opcode (reset L pins when EN2=0) . Correct internal RAM memorymap . Added L pins tri-state callback - Dynamic Re-Compiling: Fixed XMM usage on x64 ABI, restores debugger functionality on Mac/Linux for DRC drivers (cpu\drcbex64.cpp) - i960kb CPU . Added scanbyte and IP-relative lda opcodes, masked low bits of branch targets. Removed printf. . Preliminary support for CALLS instruction and WIP on FAULTx instructions - M68020 CPU: Respect 68020 "freeze I-cache" bit; (MESS) 'Micro 20' 68020 cache test now passes. - M68705 CPU: Start putting some 68705 functionality in the CPU core rather than copy+pasted in all the drivers. As this is a lengthy task I've created a derived CPU type with the new functionality to aid in the process without disrupting existing drivers that haven't yet been updated. Started with Alcon/Slap Fight, Guardian, Tiger Heli and Tokio / Scramble Formation. - MB86235 CPU: Added preliminary recompiler, disable for now. Fixed PR updates. - PowerPC 4xx/6xx CPUs . Set DSISR to the DSI flags rather than the address on data access faults . Fixed DSI flag bits. Alignment exceptions will need more complex mask/shift depending on the instruction's addressing mode, but that's a job for another time; at any rate it uses the LSBs of the DSISR register. - TMS32025 CPU . Use the standard memory interfaces . Correct space of internal data maps - TMS32051 CPU: Removed address_spacenum. That's an elaborate way to do a nop. - DCS sound: Implemented proper ram bank switch for ADSP2181 systems - Votrax SC-01 sound: Simulated device (gorf, qbert, qbertqub, reactor, sqbert, tylz and wow). Complete simulation of digital section based on die imaging. Plosives are still imperfect. - 6840 PTM: Use standard device clock for internal clock - 8155 RIOT: Attempt at fixing 8155 timer behavior so 8085 doesn't lose interrupts in Equites - 8253 PIT: Reading back the count while in the middle of a 16-bit write returns a xor'ed version of the value written. Fixes (MESS) Apricot PC error 29. - ATAPI . Fixed issue with 68000 byte writes to sector count by only taking the bottom 8 bits from the bus (machine\atahle.cpp). Note: Don't use mem_mask as ATA doesn't have an equivalent mechanism for byte accesses and it could mask out data that real hardware would keep. . Fixed ATA Write Multiple (command c5) ignoring the block count on the first block (machine\idehd.cpp) - Discrete Netlist . Added simple ROM hookup capability . Device additions: 74161 Synchronous 4-Bit Binary Counter with Clock. 7473 Dual Master-Slave J-K Flip-Flops with Clear and Complementary Outputs. Am2847 Quad 80-bit Static Shift Register. DM9334 8-bit Addressable Latch. 82S126 1K-bit bipolar PROM device. 74174 Hex D-Type Flip-Flop with Clear. 2716 16 Kbit (2048x8) UV EPROM. 74166 Parallel-Load 8-Bit Shift Register device. 74260 Dual 5-Input NOR Gate device. Intel 2102A 1Kbit (1024x1) Static RAM. 74365 Hex Bus Driver with 3-State Outputs. Generic 2- and 3-terminal Tristate device. Note: Tristate device and 74365 do not actually tristate, they are simply a way of combining multiple outputs + chip enables. Added 74165, 74194, 7475, 7485, DM9322, uA741 in 8-, 10- and 14-pin DIP variants (netlist\macro/nlm_opamp.cpp), 4316 bilateral switch pack, 82S126 4kbit (512x8) TTL bipolar PROM and 82S123 256-bit (32x8) TTL bipolar PROM. . Added shared RAM pointer, for use by netlist RAM devices which need updating by non-netlist driver code. . Various fixes: 7473: Made device only transition on a falling clock. 74161: Inverted Clear and Clock inputs to match datasheet. 74260: Fixed number of inputs. Am2847: Fixed shift register size (was 160 bits, should have been 80 bits). DM9334: Inverted C and E inputs to match datasheet. . Added netlist-based video board emulation to (MESS) Hazeltine 1500 . Added inductor to netlist and some files to nl_examples. Fixed 74107 and 74107A timings to typical values. Leave more comments on differences between 74107 and 74107A. . Added proper connection information for a number of chips to net_lib.cpp. This allows to parse and run (MESS) nl_hazelvid.cpp using nltool: nltool -t 1 -f nl_hazelvid.cpp - Floppy: Added a configuration for disable the motor control when MO line is not connected (machine\wd_fdc.cpp) - Imgtool . Changed a number of declarations to use std::string instead of 'const char *. Removed dead strncatz() function. . Fixed a recently introduced error in the 'dir' command line command. Cleaned up the output of the 'dir' command. - MC68230 PIT . Improved reset, timer and port C behaviour. Fixed typo and removed uneeded counter in exchange for a more clear TIN pin clock update interface . Added bitwise update methods for all ports and moved register access methods to private section . Fixed bug in port A-C write and added check of DDR registers for bit updates . Added initial support for timer interrupts and embryonic support for port interrupts - Microtouch touch screen: Added output status command and fixed data transmission at 2400 baud (drivers\adp.cpp, cubo.cpp, magtouch.cpp, meritm.cpp, pcat_nit.cpp, tmaster.cpp and vlc.cpp) - Polygon rendering: Added method triangles_drawn to get private member m_triangles (video\poly.h) - TTL . Added 74LS157 Quad 2-Line to 1-Line Data Selectors/Multiplexers device . Created new 74LS157 device and hook it up to MSM5205 on Rastan. Use 74LS157 device also in Disco Boy and yunsung8.cpp. 74LS157-ization in clones Pang (bootleg, set 3) and Super Pang (World 900914, bootleg) with working sound. 74157 updates (Pinball division): Added 74HCT157 device type alias. Hook up 74HCT157 in inder.cpp and spinb.cpp as per schematics. Changed device and macro names. Stylistic cleanups; avert potential crash in some drivers. This doesn't seem quite right by the schematics, but gives better sound. - Z80 DART . Set the vector status bits to 1 at eoi . Only update serial line configuration if it actually changes. Allows the apricot serial port to work correctly. - Z80 SCC . Enabled more Rx interrupts and fixed FIFO error . Fixed a regression FIFO bug and a bug in the handling of Special Interrupts. Clean up some of this double paren nonsense. - 8080bw.cpp . Fixed loading of the colour proms for moonbase and moonbasea . Fixed colors don't change at certain areas of the screen for each player's turn in a 2-player game of sicv, sicv1, invadpt2, invadpt2br, moonbase and moonbasea. It fixes also the ship colour (the score was already ok) of galxwars, galxwars2, galxwarst, ozmawars, ozmawars and starw1 (ID 06449). - amusco.cpp: Added coin counter and dispenser - astinvad.cpp . Fixed incorrect colors in Space King 2 at certain areas of the screen (ID 06450) . Added bonus sound to Kamikaze and Space King 2 - atarittl.cpp: Added a chip burn-down list, listing which chips still need to be emulated for Indy 4 and Stunt Cycle. - atlantis.cpp, midzeus.cpp and seattle.cpp . Updated Midway Zeus2 Video coordinate scaling and increased Z buffer to 24 bits . Updated screen rectangle to keep Skins Game from crashing. Renamed UART ports in atlantis.cpp. . Added hooks for serial communication (machine\midwayic.cpp) - by6803.cpp, mcr.cpp, mcr3.cpp, mcr68.cpp and zwackery.cpp . Identify DAC (-> AD7533) for Midway Cheap Squeak Deluxe/Turbo Cheap Squeak . Moved the Cheap Squeak Deluxe sound board to its own file (audio\csd.cpp) and give it its's correct name. Updated CSD interface to better reflect real hardware, added address decoding PAL and verify memory map. . Removed "Artificial Artist" board PAL from Zwackery, now included in the CSD device. - cedar_magnet.cpp . Added fresh dump of the magnet system Exzisus disk. One sector different, fixes graphical glitches in first level. The Magnet System were being sold back in the day, so not protos despite the bugs. . Further attempts to improve accuracy of 40105 FIFO emulation - chihiro.cpp . Parametrize constants used in debug command routines to support different bios/kernel versions. Moved threadlist debug command to Xbox. . Enable clipping of vertices where w is negative. Updated w clipping and disable it since it still causes problems. . Added method triangles_drawn to get private member m_triangles (video\poly.h) . Added some debug checks and adjustments in graphics routines - chihiro.cpp and triforce.cpp: Redumped PICs & documented S/Ns for Quest of D, Key of Avalon 2.x and Virtua Striker 4 Ver.2006 (Japan) - darkmist.cpp and raiden.cpp: Added PCB notes - dec0.cpp . Sound improvements for clone Automat (bootleg of Robocop): Reduced YM2203 speed to match music pitch on reference video. Added second MSM5205 + two 74LS157 and fixed communications. Added sound banking (probably not entirely correct). . Don't apply H6280 decryption to sound Z80 in clone Secret Agent (bootleg). Incremental sound improvements. - dec8.cpp: Added id8751h dumps to 'csilver' and 'srdarwin', not hooked up yet. Dumps look good, hookups appears to be slightly different to other games due to different main CPU and interrupt schemes, still investigating. These can probably be used for the japanese clones if the ID byte is changed to create a fake rom, as was done for the other sets in the driver. - epos.cpp . Added multiplexed inputs for clone Beaste Feastie and Dealer . Dumped PAL10H8 for clone Beastie Feastie (conversion kit) . EPOS decryption simplification WIP (machine\epos.cpp) - fromance.cpp . Fixed OL gal display for Rettou Juudan Nekkyoku Janshi. Note: Hardware writes to a VRAM mirror for showing the OL gal. . Added visible horizontal parameter to CRTC - gaiden.cpp, spbactn.cpp and tecmo16.cpp . Final Star Force . Fixed the 'direct sum' of two ARGB colors (video\tecmo_mix.h). This corrected the wrong saturated colors in Level 2 (tank underwater,final boss). . Added a video reference ( for the wrong background in the title screen. . Fixed macro typo in video\tecmo_mix.cpp; renamed MCFG_TECMO_MIXER_BLENDSOUCE to MCFG_TECMO_MIXER_BLENDSOURCE. Corrected some sum_colors mistakes. Added extra parenthesis to std::min for sum_colors and removed 'extra spaces'. - gkigt.cpp: Fill in RAM areas so all sets make it to polling vbl instead of crashing - guab.cpp . Created a Thomson EF9369 video device and use it for the driver . Cleanup driver, hook up SN76489 ready signal, hook up some debug LEDs. . Hook up PPI and ACIA. Label some outputs. . Fixed and improved output labels, add ten up labels - iteagle.cpp . Cleaned up serial handling (machine\iteagle_fpga.cpp) . Remapped service buttons to standard location. Connected CDROM and started adding RS232 communication ports. Removed leftover debug print. - konamigx.cpp: Fixed CPU and sound CPU hanging on state load (video\k053246_k053247_k055673.cpp, sound\k054539.cpp and k056800.cpp) - legionna.cpp, raiden2.cpp and seicupbl.cpp: Fixed palette dimming by respecting a fade-me-not bit (seibucop\seibucop.cpp and seibucop_dma.hxx) - leland.cpp: Initial work towards save state support - mcr68.cpp: Replaced 6840 PTM custom implementation with the standard one - metro.cpp: Made sound output mono. None of these games are stereo. - mitchell.cpp: 74LS157-ization in clones Pang (bootleg, set 3) and Super Pang (World 900914, bootleg) with working sound - midwunit.cpp: Decapped and read out security PICs for Ultimate Mortal Kombat 3 (rev 1.2) and Rampage: World Tour (rev 1.3). Added proper PIC labels. - model1/2.cpp . M1COMM/M2COMM cleanups . Make clone Wing War R360 (US) playable - naomi.cpp . Guessing security PIC number of Shakatto Tambourine . Dumped 253-5508-0364 from unknown NAOMI satellite game and 253-5508-0422J from Quest of D (some undumped newer version) . Added Sega DIMM board architecture documentation - peplus.cpp: Documentation update - photon.cpp: Minor cosmetical cleanup, initial preparation for save state support. - segag80r.cpp: Added "Return 0xffff" HACK for the current program counter while fetching the vector as the segag80r protection currently relies on it. Reduced the number of extraneous reads that the segag80r protection performs. This fixed most/all Sega G-80 sets resets itself during play (ID 06440). - segas16b.cpp . Dumped I8751 317-0078 at location C2 for parent set altbeast. Also renamed the mc8123 regions to 'mc8123' instead of 'mcu' because it was confusing. . Dumped I8751 317-0123A at location C2 for parent set goldnaxe. Although I've had to added a dubious cycle steal change to prevent things from crashing, might need more testing / investigation / work with the PCB to verify interrupt sources and if there's a bus steal mechanism. . Added dump of I8751 '317-0112 at location C2 to clone goldnaxe2. Chip was faulty, some bit errors and internal checksum fails. Still using simulation for now. The code looks to be mostly the same as the goldnaxe set, not even offset, but unused garbage areas have different fills so tracking down exactly which bits are bad is difficult, as they're not neccessarily all in the used code. - slapfght.cpp: Start putting some 68705 functionality in the CPU core rather than copy+pasted in all the drivers. As this is a lengthy task I've created a derived CPU type with the new functionality to aid in the process without disrupting existing drivers that haven't yet been updated. Started with Alcon/Slap Fight, Guardian and Tiger Heli. - srmp2.cpp: Fixed regression with ADPCM playback on M68k based games - stv.cpp . Documented 315-5649 IO chip and fixed Astra SuperStars test mode hang . Fixed bad dumps in Choro Q Hyper Racing 5 . Redumped 'Print Club 2 2000 Summer' and 'Print Club 2 Vol. 8 Summer' using the heat-gun method to obtain valid dumps from fragile ROM chips - system16.cpp . Sound improvements for clones Altered Beast (Datsu bootleg), Mutant Warrior (Altered Beast - Datsu bootleg), Passing Shot (4 Players) (bootleg), Shinobi (Datsu bootleg, set 1) and Shinobi (Datsu bootleg, set 2). Hook up MSM5205 and 74LS157 on the 2xYM2203 bootlegs, all of which now have some imperfect samples playback. . Correct clone Golden Axe (bootleg) sound system configuration (2x YM2203 (4MHz) and MSM5205 (384000 Hz)) - tnzs.cpp . Added Taito M-Chip M-001 dump for Extermination. Also works for Dr. Toppel's Adventure and Plump Pop. . Various driver refactoring . Fixed MCU name in Plump Pop, and marked MCU as bad pending verification that it is the same which Dr. Toppel and Extermination use. . Updated a slew of comments, added most missing pals as undumped, fixed some rom labels, added a chart of the different Taito/Seta PCBs covered by TNZS driver and the differences between each. - toaplan1/2.cpp . Decapped, deprotected, dumped and hooked up the HD647180X MCUs for Vimana, Fire Shark and Teki Paki. . Fixed DSWB reading in toaplan1.cpp (seems to be inverted when read by the MCU), also reverted changes to TJUMP jumper settings and inverted those as well on read, though it still seems to be a bit screwy for some settings. Vimana regions should work fine now. - yunsung8.cpp . Fixed MSM5205 sounds. Simplified ADPCM write: No need for nibble swap. . Inputs clean up. Implemented main irq_ack. Better names for tilemap vars. . Fixed manufacturer in clone Cannon Ball (Yun Sung, vertical) (was "J" not "T"); also added 'Production' suffix. . Use 74LS157 device - 10-Yard Fight: Fixed flipscreen/cocktail mode offset (ID 04796) - AGEMAME . aristmk5.cpp . Added internal layout and connected microtouch to Magic Mask and Party Gras . Added default NVRAM to cuckoou, dolphntru, incasunu, magimask, magimaska, minemine, partygrs, pengpayu, qnileu and wcougaru so the games come up in a playable state. . Redumped clone Chicken (RHG0730-03, US) and Top Banana (0100550V, NSW/ACT), now passes checksum. . mpu4vid.cpp: Updated mpu4vid to use Thomson EF9369 video device - Amiga: Removed a couple of driver_data() calls - Archimedes (aristmk5.cpp and ertictac.cpp) . Make floppies work . Fixed vblank timings in Acorn Archimedes and enabled partial updates, VIDC definitely needs a device rewrite at this stage plus ARM timings are quite off unsurprisingly (machine\archimds.cpp). . Fixed Vertical Count Register and pixel clock timings . Fixed sound double-buffering . Fixed ertictac.cpp regression - Beezer: Rewrote driver. Uses the standard 6840 PTM core for sound generation. New MM583 Noise Generator device. New DAC-76 DAC sound. Use resistor network values for colors. Use bankdev device for banking. - The Berlin Wall: Fixed "Copy Board" error message in clones The Berlin Wall (bootleg?) and (Korea) (ID 00101) - Bombjack Twin: Hooked up OKI6295 in clone Atom (bootleg of Bombjack Twin), needs banking and improved sound tempo. Adjusted dipswitches as per dipsheet. - Burning Fight: Correct clone Burning Fight (prototype, ver 23.3, 910326) romlabels (thanks jackc) and added it to swlist (hash\neogeo.xml). - Crystal Castles: Clarified input situation by assigning port conditions/names to the button inputs so they have proper default mappings between Upright/Cocktail (ID 06451). - Disco Boy: Use 74LS157 device - Double Dealer: Fixed flip screen regression and removed prefixes/suffixes - Dream 9 Final: Set initial banking so Z80 doesn't run off rails - Dynamite Duke: Replacing parent with the set having the latest build date. Also added build dates to the description for all games in driver. - Equites: Use 8155 device. Attempt at fixing 8155 timer behavior so 8085 doesn't lose interrupts. - Final Fight: Fixed clone Final Crash (bootleg of Final Fight) sprites not flipped when flipscreen is ON (ID 04921) - Finalizer: Fixed flipscreen (ID 04922) - Game Magic: Removed unnecessary file machine\cr589.h - Ghouls'n Ghosts: Added missing PAL dump to clone Daimakaimura (Japan) - Hana Awase: Fixed credits dipswitch does not work (ID 02855) - Mustache Boy: Flip screen improvements. Fixed Y positions of flipped sprites. Implemented flip screen "Hard SW" as in Irem games. Correct polarity of all dipswitches. - NBA Jam Extreme: Added 4th button - Phoenix: Fixed cocktail mode displays incorrectly (ID 06452) - PinMAME . Added missing sound ROM for U-boat 65 . 74157 updates (Pinball division): Hook up 74HCT157 in inder.cpp and spinb.cpp as per schematics . Another attempt at improving accuracy of sound emulation in inder.cpp - Rastan: Created new 74LS157 device and hook it up to MSM5205 on Rastan - Shoot Out . Added a note that the PCB has only one 12 MHz XTAL, derived all clocks by this value and replaced 'old style' screen parameters with MCFG_SCREEN_RAW_PARAMS. . Removed m_bFlicker variable and used screen.frame_number instead. . Fixed missing title screen music, fixed coin counter and simplified rom loading. Skipping hex values is not so strange for a BCD counter (that would be invalid for a decoder IC). Clarified the coincounter_w comment. - Side Pocket: Fixed cocktail mode, added a note about the 'cooperative mode', implemented y scroll and added VRAM and CRAM mirrors. Small draw_sprites clean-up. Added a TODO node about possible unimplemented MCU simulation for "cocktail mode". - Sky Robo: Fixed Sky Robo doesn't boot since MAME 0.154 - Sunset Riders: Some input port cleanup/simplification for Sunset Riders (4 Player) clones. All inputs mappable are shown in the Test Mode even if they are not used for that particular versions/cabinet type. - Tail to Nose . Added sound semaphore hookup, fixes random BGM lockups. . Added alternative input method, selectable thru control panel dip-switch. Added DIP locations. - Tokio / Scramble Formation: Dumped 68705 MCU and hooked up. Fixed MCU clock rate based on comments in driver (Games now playable). - Turbo Force . Better documentation for the Turbo Force sets . Added correct and verified MASK roms. Fixed size for gfx rom U134 & U135 and added a redumped U180 sound rom at the correct size. - Vapor Trail . Fixed missing 'game over' animation and 'P3 coin' is 'Service Mode' dipswitch. . Implemented main irq acknowledge. Note about the service mode DSW + game alignment. - World Beach Volley: Added PIC16c57 dump. This gives partial sound. OKI banking setup for the game is incorrect in the driver so music doesn't currently play also I cleaned up OKI banking in the whole driver by using configured banking to make further work cleaner. - Zombie Raid: Hook NVRAM, added calibrated default. - Zwackery: Moved gamr to its own driver. It doesn't have much in common with the other games in the driver. Also clean up the implementation, make spriteram 8-bit, added some hardware info and button descriptions. - Fixed rom names in aerofgt.cpp, dec0.cpp, momoko.cpp, neodriv.hxx, tnzs.cpp and zwackery - Dipswitch fixes in mjcamera, mustache.cpp, nmk16.cpp and tail2nos - Description changes of Coccinelle (bootleg of Lady Bug, set 2), Danchi de Quiz: Okusan Yontaku Desuyo! (J 001128 V1.200), The Double Dynamites (Japan 13NOV89), The Double Dynamites (US 13NOV89), Dynamite Duke (Europe set 1 03SEP89), Dynamite Duke (Europe set 2 25JUL89), Dynamite Duke (Japan 03SEP89), Dynamite Duke (US 25JUL89), Exzisus (EX 1.0, Magnet System), Flicky (64k Version, 315-5051, set 1), Flicky (64k Version, 315-5051, set 2), Flicky (128k Version, 315-5051), Flicky (128k Version, not encrypted), Grand Cross v1.02F, Lost in Space (1.01, Display 1.01), Mahjong Clinic (Japan, set 1), Metal Slug 2 Turbo (NGM-9410) (hack), Momoko 120% (Japanese text), The NewZealand Story (World, prototype) (older PCB), The NewZealand Story (World, unknown version) (older PCB), Sega Rally Championship - TWIN/DX (Revision C), Sega Rally Championship - TWIN/DX (Revision B), Super Visual Football: European Sega Cup (Rev A), Time Scanner (TS 2.0, Magnet System) and Xain'd Sleena (SC 3.0, Magnet System) - Renamed (dynduke) to (dyndukea), (dyndukea) to (dynduke), (ladybgb2) to (ladybugb2), (sidebs2j) to (sidebs2ja), (srallyca) to (srallycdx) and (tnzso) to (tnzsoa) - MAME . Make -console start console LUA plugin . PLUGINS: Updated hiscore.dat . UI . Double-check key state before UI autorepeat, this fixed keyboard/gamepad game list selection jump every two games (emu\uiinput.cpp). . Added an associative LRU cache with map-like behaviour to util\coretmpl.h. Use LRU cache in ui\selmenu.cpp so icons don't all need to be reloaded on scroll. . Set default character for absent glyphs in uismall.bdf. . Encapsulate many BDF and BDC handling details (emu\rendfont.cpp). Make file I/O 64-bit clean, check for allocation errors. More solid BDF parser with error messages and trace logging. Fixed heap smash when building bitmaps for BDF fonts. Extended BDC format to support high planes and default character. Render default character if glyph not found for BDF/BDC. . Make bitmaps movable, allowing them to be used in vectors and emplaced easily. . Another attempt at sorting File Manager entries . Removed the magic bypass in emu\dimemory.cpp . XML refactoring: Moved stuff to namespace util::xml. Scope down some enums. Split config load/save delegate types. Make config load take const so it can't mangle data. . UWP (Universal Windows Platform): Added temporary signing key for MSBUILD support (uwp\mame_TemporaryKey.pfx) . HLSL: Make hlsl\phosphor.fx persistence independent of frame rate . MULTI-LANGUAGE: Update Catalan translation to 361t, 133u . Overhaul of emu\devcb.cpp . Allow stringing multiple callbacks together recursively. Chained callbacks will be read or written in sequence, and each can be configured with its own type and mask/shift/XOR parameters. . Chained input callbacks cannot have overlapping masks (there's no such thing as a free multiplex). Chained output callbacks have no such restriction. . Removed the constant parameter for the LOGGER callback type: It makes no sense for output, was always zero in existing usage, and is now unnecessary with callback chaining. . Changed LOGGER behavior for writes to log the user-defined message only if the output as masked is nonzero. With callback chaining, this can be used to monitor when individual bits become active. . Constant read callbacks can no longer have MCFG_DEVCB_XOR or MCFG_DEVCB_INVERT specified (makes no sense in this context). . Added a MEMBANK callback type to allow output bits to be used for bank-switching. . Added ASSERTLINE and CLEARLINE callback types that raise or lower an interrupt line if the selected bit of the written value is active. These are intended for where periodic or ready-pulse signals from devices are used to trigger IRQs that the CPU program will independently acknowledge. . Added MCFG_DEVCB_BIT as shorthand for masking and shifting out an individual bit for a callback. . Removed DEVCB_LINE_DISPATCH_. Where we're going, we don't need line dispatcher devices. . Note: The incompatibility of compilers with regard to post-C90 printf string formats is shockingly bad. There seems to be no easy way to format a 64-bit value and please both gcc and clang, let alone MSVC. . Fixed for -romident misattributing device ROMs to alphabetically first driver using them (mame\media_ident.cpp) . Replaced a few debug asserts with friendlier error messages (makes validation less dangerous in debug builds) (emu\addrmap.cpp) - Compiling . Disable incremental linking for VS debug builds (scripts\genie.lua) . Created DYNAMIC_API macros for dynamic bind helper classes. Updated name of DYNAMIC_API macros. . Enable building projects that are separate of MAME but use same core and lives in separate git tree . Detect if SOURCES file do not exist . Don't crash on late binding if no object is actually needed (util\delegate.h) - Debugger . Added 'o' variants to memory debugging commands to request decrypted opcodes space . I8086/I80186/I80286 CPUs: Updated disassembly if IP or CS are changed in the debugger. Also update IP & CS when PC or CURPC changes (currently using a simple algorithm that may need to be improved). Added HALT to debugger state, so you can break out of a hlt instruction. Don't change CS if new PC/CURPC is within the current segment on i86/i186. Fixed i286 PC/CURPC in protected mode. . Lighten combo box list so that it's easier to read (debugger\debugimgui.cpp) . Sort directory entries in mount dialog, as zippath_readdir() does not guarantee entries are in any particular order (debugger\debugimgui.cpp). . Fixed uninitialised memory read as debugger command history and clean up a little 0.180 - New games: Draw 88 Poker (V2.0) and Shikigami no Shiro - internal build (V1.02J 2001/09/27 18:45) - New Working games: Go By RC/RC De Go, Number Crash and Space Lords - New Non-Working games: Meng Hong Lou - New clones: 1945k III (newer, OPCX1 PCB), Burning Fight (prototype, ver 23.3, 910326), Cosmic Invaders (bootleg of Space Invaders), Forgotten Worlds (USA, B-Board 88618B-2, Rev. E), Gran Premio F1 (Spanish bootleg of Pole Position II), Grand Prix Star (v3.0), Hit the Ice (US, with riser board), Metal Slug 2 Turbo (NGM-9410), Mustache Boy (Italy), Ozma Wars (Model Racing bootleg), Road Fighter (set 3, conversion hack on Hyper Sports PCB), Sol Divide - The Sword Of Darkness (Korea), Stone Ball (2 Players, v1-20 21/10/1994), Time Crisis II (US, TSS5 Ver. A), Vendetta (World, 2 Players, ver. ?) and War: The Final Assault (EPROM 1.3 Apr 7 1999, GUTS 1.3 Apr 7 1999, GAME Apr 7 1999) - New AGEMAME games: Cash Chameleon (0200437V, NSW/ACT), Cash Chameleon (0300781V, New Zealand), Chicken (0200530V, Queensland), Diamond Fever (0200302V, NSW/ACT), Inca Sun (CHG1458, US), Jungle Juice (0200240V, New Zealand), Player's Choice - Original (30143011, NSW/ACT), Unicorn Dreaming (0101228V, New Zealand) and Wild Amazon (01J01996, Venezuela) - New PEPlus games: Montana Choice (MG0025) Multi-Game, Montana Choice (MG0026) Multi-Game, Montana Choice (MG0182) Multi-Game, Player's Choice (MG0213) Multi-Game, Player's Edge (PK0885-PC056) Deuces Wild Poker (El Cortez), Player's Edge Plus (PP0001) Standard Draw Poker, Player's Edge Plus (PP0008) Standard Draw Poker (set 1), Player's Edge Plus (PP0008) Standard Draw Poker (set 2, El Cortez), Player's Edge Plus (PP0048) Joker Poker (set 1), Player's Edge Plus (PP0048) Joker Poker (set 2), Player's Edge Plus (PP0048) Joker Poker (set 4), Player's Edge Plus (PP0050) Joker Poker (set 4, El Cortez), Player's Edge Plus (PP0050) Joker Poker (set 1), Player's Edge Plus (PP0050) Joker Poker (set 2), Player's Edge Plus (PP0050) Joker Poker (set 3), Player's Edge Plus (PP0054) Deuces Wild Poker (El Cortez), Player's Edge Plus (PP0057) Deuces Wild Poker (set 2), Player's Edge Plus (PP0057) Deuces Wild Poker (set 3, El Cortez), Player's Edge Plus (PP0057) Deuces Wild Poker (set 4), Player's Edge Plus (PP0103) Deuces Wild Poker (set 1), Player's Edge Plus (PP0103) Deuces Wild Poker (set 2), Player's Edge Plus (PP0103) Deuces Wild Poker (set 3), Player's Edge Plus (PP0126) Deuces Wild Poker (set 1), Player's Edge Plus (PP0126) Deuces Wild Poker (set 3), Player's Edge Plus (PP0127) Deuces Joker Wild Poker (set 2), Player's Edge Plus (PP0188) Standard Draw Poker (set 3), Player's Edge Plus (PP0195) 4 of a Kind Bonus Poker, Player's Edge Plus (PP0218) 4 of a Kind Bonus Poker, Player's Edge Plus (PP0232) Patriot Poker, Player's Edge Plus (PP0294) Aces and Faces Bonus Joker Poker, Player's Edge Plus (PP0295) Super Deuces Wild Poker, Player's Edge Plus (PP0434) Bonus Poker Deluxe (set 2), Player's Edge Plus (PP0445) Aces and Faces Bonus Joker Poker, Player's Edge Plus (PP0447) Standard Draw Poker (set 3), Player's Edge Plus (PP0450) Loose Deuce Deuces Wild! Poker, Player's Edge Plus (PP0452) Double Deuces Wild Poker (set 1), Player's Edge Plus (PP0453) Joker Poker, Player's Edge Plus (PP0542) One Eyed Jacks Wild Poker (CG1199) and Player's Edge Plus (X002240P+XP000038) Joker Poker (Two Pair or Better) - New PinMAME games: Rider's Surf and Star God (variable replay score) - New devices: 136094-0072, 136095-0072, rax_audio, rtc62421, rtc62423, rtc72421, segadimm, sei80bu, taito_cf, taito_pccard1 and taito_pccard2 - New mame.ini options: homepath - ARM CPU . Implemented Transfers to User Bank in LDM/STM and fixed flags corruption in branch opcodes . Fixed register-base shift with a value >= 32, this fixes the RISC OS graphics issues. . Fixed carry for ROR and preserve IRQ_MASK in LDR R15,*** - M6809/HD6309/KONAMI CPU: Merged the M6809, HD6309 and KONAMI CPU disassemblers and changed to properly use streams. - M68000 CPU: Changed (MESS) drivers apollo.cpp and fccpu30.cpp from accessing has_fpu directly to use new set and get methods. FPU enable/disable methods (cpu\m68000\m68000.h). - SH-4 CPU: Begin SH4 MMU improvements (with a view to seeing what Aristocrat MK6 needs). Allow table upload by LDTLB opcode in SH4MMU. Allow experimental SH4 MMU test code to be turned on / off on a per-driver basis. - CD Audio and MSM5205: Removed volume trampolines - DISCRETE sound: Use osd_getenv instead of getenv - N2A03 APU sound: Fixed crash because nes_apu was always binding to root_device() before the n2a03 took over - Q-Sound: Fixed a bug in DSP16 caused by incorrect use of macro - Seibu Sound System (cleanup) . Eliminate SEIBU_SOUND_SYSTEM configuration macros hiding details of device construction . Start using devcb for generic YM hookups. Use device finder to connect seibu_sound_device to audiocpu. . Kyuukyoku no Othello has only one YM2203 and one ADPCM, not two of each . Moved SEI80BU encryption out of the SEIBU_SOUND device and make it a device of its own . Future changes planned: Separate SEI0100BU and SIE150 types; Cabal and Dead Angle should each be using two of the former. Separate SEI80BU device to handle Z80 decryption (Mustache Boy uses this for its main CPU). - 8155 RIOT: Removed unnecessary tag() parameter from logerror calls - 8253 PIT: MSB-only counter writes need to lower outputs in mode 0 - 8259 PIC: Use resolve_safe to protect against segfaults - 8279 KDC: Unify read/write handlers for standard A0-to-A0 hookup - ATAPI: Made constructor protected in machine\atahle.h. - Discrete Netlist: Fix up pstring code: Instantiate static constant members for ODR context. Declare static members of template classes properly. Declare external template instantiations. Fixed blind use of autocomplete ("treats" really?). Fixed ptype_traits on platforms where char is unsigned. Signed char is never an alias for char even if char is signed. Even if eclipse doesn't like using type, surely it supports typedef. - Harddisk . Fixed heap corruption when loading a new CHD fails . Throw CHDERR_FILE_NOT_WRITEABLE rather than CHDERR_UNSUPPORTED_VERSION if you try to open an old version for writing (imagedev\harddriv.cpp and util\chd.cpp) - Imgtool . Consolidated logic for default implementation of imgtool::image::list_partitions() . Changed imgtool::stream::open*() to return imgtool::stream::ptr . Fixed a recently introduced bug which caused image types that do not support partitions to function incorrectly - Laser Disc: Made ldplayer regular driver - MC68230 PIT: Small fixes - MSM5832 RTC: More accurate WR emulation - MSM6242 RTC: Added pin diagrams for good measure - SCN2674 Display Controller . Correct the row on which a split occurs, fixes (MESS) Octopus display of the last row before the status line split. . Added command 0xA6, fixes (MESS) Octopus status line in Concurrent DOS and BIOS character block write function. - TTL . Added 7400 Quad 2-Input NAND Gate . Added 7404 Hex Inverter . Added 74160/161/162/163 device emulation (BCD decade counter / 4-bit binary counter) . Added 74174/175 Hex/Quad D Flip-Flops with Clear . Added DM9334 8-Bit Addressable Latch . Added 82S126/82S129 256x4-bit PROM - Z80 DART: Finalized conversion to use util::fifo. Refactored FIFOs using new template based FIFO class. - Z80 SCC . Added support for RTxC as BRG clock source, allows the SGI Indy to have a console. . Fixed a bug in read register 15 support, allows macplus, etc. to boot now. . Improved interrupt handling, allows mouse pointer to move in macplus driver for System 6.0.8. . Fixed init state of latched rr0 values, improves the success ratio of getting the mouse working in both X and Y on macplus, etc. . Improved LOG printouts for synchrounous features of WR4 and WR10. Added external clock to SCC and decoded SCC synchronous init for (MESS) MacOS 7. Added minimal support for SYNC/HUNT mode to allow MacOS7 to boot to desktop. - Z80 SIO: Added UPD7201 device type and used it in (MESS) Mizar VME8105, plus some maintenance. - 8080bw.cpp: Fixed black screen in 2-Player game in cocktail mode on games using the multi-colored overlay, such as sicv or invadpt2 (ID 06418). - aleck64.cpp . Give priority to current transfer when reading AI length register. Eliminate explicit temps in AI length calculation. Only SP DMA skip for DRAM address, regardless of transfer direction (machine\n64.cpp). . Added Vivid Dolls dipswitches, note digital joystick support needs adding, game is switchable. . Added delayed carry signal for AI address. The AI address register is split into a low half and a high half. A hardware bug allows the carry signal from low to high to persist through a reload of this register. - aristmk5.cpp . Hooked-up EEPROMs, UARTs and some inputs. Fixed video DMA when vidstart != 0. . Added coin input, logic door input and RTC. . Fixed SRAM banking - aristmk6.cpp . Extended MK6 rom area so that the bigger games map properly and pass their checksums. Added several sets from Heihachi_73. . Clean up rom loading. Fixed rom loading in Bob and Dolly, The Buck Stops Here, Flame of Olympus - Cash Express, Player's World - Super, Rumble Reels and Sun & Moon - Bank Buster. . Fixed rom loading in Rumble Reels and switched 1x and 2x IC positions around (passes test and is consistent with others now). . Show framebuffer? instead of debug viewer.. can see startup text at least, games enable the SH4 MMU tho. Begin SH4 MMU improvements with a view to seeing what Aristocrat MK6 needs. Hook IRQ registers, actual sources still unknown. Allow table upload by LDTLB opcode in SH4MMU. Allow experimental SH4 MMU test code to be turned on / off on a per-driver basis. - cedar_magnet.cpp: Preliminary Magnet System sound. Removed unnecessary call to device(). Moved cedar devices out of drivers. - clshroad.cpp . Fixed Fire Battle music tempo. Align background with sprites. . Doc update - crystal.cpp . Fixed VRender0 timers . Added new user1 rom and mahjong control to Crazy Dou Di Zhu II - equites.cpp: Fixed cocktail mode video isn't working correctly in Splendor Blast and High Voltage (ID 06411) - gaiden.cpp: Fixed flip screen slightly offset down (ID 04933) - goodejan.cpp: Improved PCB documentation - gottlieb.cpp: Added (missing?) & to MCFG_LASERDISC_AUDIO - lsasquad.cpp: Refactored priority prom usage for Land Sea Air Squad and Daikaiju no Gyakushu - model3.cpp: Replaced custom RTC-72421 emulation with device - namcos21.cpp: Remap controls to use pedals and paddles for Driver's Eyes, Winning Run, Winning Run '91 and Winning Run Suzuka Grand Prix - naomi.cpp . Various naming changes: Added supported regions info. Changed all to "Export name / Japan name" template and correct few names as per title screens. . Added missing PICs for dragntr3, wccf116 and wccf1dup . Moved DIMM firmwares to device and docs update . Added unused/unknown security PIC dumps 253-5508-0352E, 253-5508-0456J and 253-5508-0506J. - peplus.cpp: Added in known flags. Documentation update & misc fixes. - psikyosh.cpp: Corrected all games to mono - skylncr.cpp: Slight cleanup - stv.cpp/saturn.cpp . Worked around VDP1 timings in Sega Saturn, fixes regression with (MESS) Batman Forever gameplay speed (video\stvvdp1.cpp). Added Rotation Parameter read control register, fixes at least Riddler stage ROZ positioning in Batman Forever (video\stvvdp2.cpp). . Fixed visible area in stv.cpp - taitogn.cpp . Implemented G-NET BIOS flashing, games that require the v2 BIOS now require you to update the BIOS and turn off JP1 as part of the installation. A v1 BIOS flash is included, but you aren't forced to use it. . Moved G-NET protection out of ATAFLASH and into individual devices for each type of card . Implemented enough analogue control reading for Go By RC and clone RC De Go (Games now playable) . Added build dates and times to G-NET game descriptions . Added JP1 location for UI and fix digit transposition - tumbleb.cpp . Corrected Choky! Choky! OKI xtal. Note: Some PCBs have left factory with a 3.57mhz while some have a 4.096 which matches other games, assuming the former are factory errors. TODO: MAME sound cores doesn't handle on-the-fly sound frequency changes, I guess best action here is to make the sound chip a slot option, assuming it's worth emulating a factory error in the first place. . None of games in the driver are stereo PCBs, corrected to mono. - zn.cpp . Added MACHINE_NOT_WORKING flag to clone Psychic Force EX (Ver 2.0J). Note: Exception in attract after reading 0xbbbbbbbb from 0x8025ed18 leads to watchdog reset. . Fixed ZN1/ZN2 DSW descriptions - Archimedes (aristmk5.cpp and ertictac.cpp) . Reworked Archimedes 310 HLE keyboard and added mouse input . Fixed horizontal display position and cursor position in VIDC . Added new NOT WORKING machines (MESS): Archimedes 305, Archimedes 440, Archimedes 3000, Archimedes 410/1, Archimedes 420/1, Archimedes 440/1, Archimedes 540, Acorn A5000, Acorn A4, Acorn A4000 and Acorn A5000 Alpha. Renamed a310->aa310 to avoid conflict with Amiga machines. Added all missing OS releases Arthur 0.30, RISC OS 2.01, RISC OS 3.00, RISC OS 3.10 and RISC OS 3.19 (German). All machines default to OS (Arthur, RISC OS 2, RISC OS 3) they were shipped with. Corrected ROM labels/locations. Added default CMOS to boot to desktop. Mapped Acorn A4 Power Management extension. Added RISC OS 3 Applications to hash\archimedes.xml and removed some bad dumps. - Altered Beast: Fixed missing graphics in the crystal ball of clones altbeastj and altbeast6 (ID 03646) - American Music Poker . Identify and hook up 8155 interface chips for LPT & RTC . Added button-lamps and coin counter support . Fixed PIT8259 IRQs; game speed is much better now. . Coin inputs now read properly through IRQ4. Removed spurious coin counter. . Updated notes on printer - Batman Forever and NBA Jam Extreme . Emulated the Acclaim RAX sound board (audio\rax.cpp), fixing sound in Batman Forever and NBA Jam Extreme. . Hooked up extra NVRAM in NBA Jam Extreme. This fixed game crashes and NVRAM gets corrupted (ID 05928). - Bionic Commando: Added precise video signal timings. MCFG_SCREEN_RAW_PARAMS() still missing. Added proper frame timings. - Dream 9 Final: Hook up RTC-62421 and correct a few input types - Dynamite Duke: The Double Dynamites is actually more like Dynamite Duke TE, promoted to parent. - Fighting Roller: Hooked up coin counters - Gemini Wing: Fixed input issues (ID 06436) - Great 1000 Miles Rally / Mille Miglia 2: Unswapped button mappings for gtmr games so that they match the PCB/manual correctly - Lost Castle In Darkmist . Added real transparent pen mixing from proms, fixes ranking screen and gameplay area. . Added sprite chip fetch from top to bottom, fixes sprite-sprite priorities. - Marvel Land: Tagged as imperfect sound. Note: The sound in this version does not match Japan or any of the ports and sounds incorrect. Needing redump of sound rom. - Mirage Youjuu Mahjongden: Added 93C46 EEPROM hook-up - Mr. Do!: Fixed flipscreen regression - Number Crash: Redumped 2x maincpu roms (Game now playable) - Poker Ladies: Standardise inputs and removed P2 inputs - Power Drift: Made 'Power Drift - Link Version' not a clone since it's a very distinct rereleased version of the game - Pro Mahjong Kiwame: Added backup RAM hookup, fixes "BACKUP RAM ERROR" at first boot. - Puzzle Yutnori: Replaced MACHINE_NOT_WORKING flag with MACHINE_UNEMULATED_PROTECTION. Note: Protection appears to handle the sound, should check if it's just a block of code that is conditionally executed like some of the Semicom titles. - Quiz Punch . Dumped the 68705 MCU for Quiz Punch, protected by an epoxy block. . Hooked up MCU to the driver, improved graphics and sound. - Space Lords . Reverse-engineered Space Lords security FPGA and implemented decryption code (Game now playable) . Fixed input - Super Game (Sega Master System Multi-game bootleg): Added the missing maincpu rom. Note: This is actually quite interesting, this is a 512KB MASK rom, hence why it got missed the first time around. It actually appears to have been pulled straight from a home Sega Master System mulit-game cartridge and used on the arcade PCB. The rom contains another copy of the games menu in the first bank, except this copy of the menu has no timer/credit support and only references games in this specific rom. It is completely ignored by the arcade hardware which uses the game data part of the rom only, never banking this copy of the menu in. As this almost certainly came straight from a bootleg cartridge, this specific rom could also be added to the softlist with a custom mapper for the banking. - Tekken 3: Added Namco Cyber Lead cabinet JVS IO and LED controller PCB dumps. Typically was used with System12 games, put it to Tekken 3 for now. - Teenage Mutant Ninja Turtles: Changed visible screen back to 320x224 (ID 04790). Note: The 8 pixels on the left are being drawn in the overscan area, some monitors are correctly not drawing them, others do. It's clear the intent is for the player not to see them, but the fact remains they're there, on bad monitors. This as an aside is probably the reason for the infamous and much complained about 'shadow' problem on real hardware - the shadows match up with whatever is being drawn into the overscan area, stretched as a faint shadow across the whole screen. - Vigilante: Fixed visible screen area (PCB comparison) - Williams Multigame: Small refactor. Btw, bankdev was tried, but too many bugs resulted. - Input port . Polymorphize input_device and input_class and moved to separate source file (emu\inputdev.cpp/h) . Fixed key names with -keyboardprovider win32 (input\input_win32.cpp) . Drop invalid input tokens when parsing configuration, fixes uncaught exception error when writing configuration. - Fixed rom names in clshroad.cpp, ddragon3.cpp, midvunit.cpp, twincobr.cpp and zaxxon - Dipswitch fixes in aleck64.cpp, dcon.cpp, jangou.cpp, nbmj8891.cpp, nbmj8991.cpp, nbmj9195.cpp and zn.cpp - Description changes of Burning Fight (prototype, older), Chaos Heat (V2.08J 1998/09/25 17:00), Chaos Heat (V2.09O 1998/10/02 17:00), Fighting Fantasy (Japan revision 3), Flip Maze (V2.04J 1999/09/02 20:00), Go By RC (V2.03O 1999/05/25 13:31), Grand Prix Star (v2.0), Kollon (V2.04JA 2003/11/01 12:00), Kollon (V2.04JC 2003/11/01 12:00), Lots of NAOMI games, Mahjong Oh (V2.06J 1999/11/23 08:52:22), Mustache Boy (Japan), Night Raid (V2.03J 2001/02/26 17:00), Otenami Haiken (V2.04J 1999/02/01 18:00:00), Otenami Haiken Final (V2.07JC 2005/04/20 15:36), Otenki Kororin (V2.01J 2001/07/02 10:00), Peter Pack Rat (ID 06427), Player's Edge (PK0719-PC092) Standard Draw Poker (El Cortez), Player's Edge (PK0756-PC011) Standard Draw Poker (El Cortez), Player's Edge Plus (PP0008) Standard Draw Poker (set 3), Player's Edge Plus (PP0048) Joker Poker (set 3), Player's Edge Plus (PP0055) Deuces Wild Poker (set 1), Player's Edge Plus (PP0055) Deuces Wild Poker (set 3), Player's Edge Plus (PP0055) Deuces Wild Poker (set 4), Player's Edge Plus (PP0057) Deuces Wild Poker (set 5), Player's Edge Plus (PP0060) Standard Draw Poker (set 4), Player's Edge Plus (PP0103) Deuces Wild Poker (set 3), Player's Edge Plus (PP0126) Deuces Wild Poker (set 2), Player's Edge Plus (PP0127) Deuces Joker Wild Poker (set 1), Player's Edge Plus (PP0130) Aces and Faces Bonus Poker, Player's Edge Plus (PP0434) Bonus Poker Deluxe (set 1), Player's Edge Plus (PP0452) Double Deuces Wild Poker (set 2), Player's Edge Plus (PP0733) Double Aces and Faces Bonus Poker, Power Drift - Link Version (Japan, Rev A), Psyvariar -Medium Unit- (V2.04J 2000/02/15 11:00), Psyvariar -Revision- (V2.04J 2000/08/11 22:00), Quiz Punch II, Time Crisis II (US, TSS3 Ver. B), Ray Crisis (V2.03J 1998/11/15 15:43), RC De Go (V2.03J 1999/05/22 19:29), Shanghai Sangokuhai Tougi (Ver 2.01J 2002/01/18 18:26:58), Shanghai Shoryu Sairin (V2.03J 2000/05/26 12:45:28), Shikigami no Shiro (V2.03J 2001/08/07 18:11), Soutenryu (V2.07J 2000/12/14 11:13:02), Stone Ball (2 Players, v1-20 7/11/1994), Stone Ball (4 Players, v1-20 13/12/1994), Super Puzzle Bobble (V2.04J 1999/2/27 02:10), Super Puzzle Bobble (V2.05O 1999/2/24 18:00), Usagi (V2.02J 2001/10/02 12:41:19), World Club Champion Football European Clubs 2004-2005 (Japan) (CDV-10013), World Club Champion Football European Clubs 2004-2005 Ver.1.1 (Export) (CDV-10015), World Club Champion Football European Clubs 2004-2005 Ver.3.22 (Export) (CDV-10015P), World Club Champion Football European Clubs 2005-2006 (Export) (CDV-10027), World Club Champion Football Serie A 2001-2002 Ver.2 (Japan) (CDP-10001C), World Club Champion Football Serie A 2002-2003 Ver.2.12 (Export) (CDV-10002), World Club Champion Football Serie A 2002-2003 Ver.2.34 (Japan) (CDV-10008), WWF WrestleFest (US), WWF WrestleFest (World), XII Stag (V2.01J 2002/6/26 22:27), Zaxxon (set 1, rev D), Zaxxon (set 2, unknown rev), Zaxxon (set 3, unknown rev)', Zoku Otenamihaiken (V2.03J 2001/02/16 16:00) and Zooo (V2.01JA 2004/04/13 12:00). - Renamed (f1gpstar) to (f1gpstaro), (forgottnu1) to (forgottnuc), (pepp0008) to (pepp0008b), (pepp0048) to (pepp0048b), (pepp0055) to (pepp0055b), (pepp0055a) to (pepp0055), (pepp0055b) to (pepp0055a), (pepp0057a) to (pepp0057d), (pepp0103) to (pepp0103b), (pepp0126) to (pepp0126a), (pepp0127a) to (pepp0127b), (pepp0452) to (pepp0452a), (wwfwfest) to (wwfwfestu) and (wwfwfesta) to (wwfwfest) - MAME . VIDEO RENDERING SYSTEM . Fixed the D3D9 issues people are having (d3d\d3dcomm.h and drawd3d.cpp) . HLSL . Fixed games with off-screen backdrop artworks (e.g. Atari Football and Bowling Alley) that white out the screen when you enable HLSL. . Corrected HLSL documentation: Removed -antialias option (does not exist anymore). Added missing -vector_beam_smooth option. Fixed suggested default values for -bloom_lvl_weights options (were messed up in the last update). . UI . Fixed MESS and MAMEinfo.dat display. Passing an empty string uses the current game name for infos so don't do that while in the main menu, since there's further check just below, removing these should be fine (ui\selgame.cpp and selsoft.cpp). Removed extra newlines (plugins\data\data_mameinfo.lua and data_messinfo.lua). . Cache texture/surface were not released when render target was destructed (render\drawd3d.cpp). This fixed MAME crashed with UI and HLSL (ID 06417). . Fixed a bug in parsing the software name option that prevented the loading of slot defaults for software selected from the internal UI (mame\mameopts.cpp) . Encapsulate a bit more of the menu base class to control when layout changes can happen. Encapsulate mouse translation in the menu code, make more stuff const. A bit of prep for making selected index private. . Fixed the mouse hover state drawing (ui\datmenu.cpp) . 3rdparty . Updated BGFX and BX and recompiled shaders. Fixed GLSL. Updated BGFX shader path for Emscripten build (src\main.lua). . Updated to latest GENie. Patches to keep same behavior as we had before. Finally sync with GENie, no more local changes. . ASIO: Header only mode in osd\asio.h. Fixed clear typo in ASIO, sent upstream. Added _WIN32_WINNT so asio.h file could be used and outside OSD section. Added ability to use ASIO in all core MAME parts (scripts\src\devices.lua, emu.lua, frontend.lua). . LUA engine . Replaced LUAbridge in Luaengine with Sol2. Removed non-operational LUA console code. Fixed save_item in Luaengine. Updated Sol2, made LUA console not crash for nil data. Removing SOL_CHECK_ARGUMENTS till we figure all consequences. . Added LUA-linenoise . Hide stuff that shouldn't be touched directly in registry . Updated PugiXML library, no override patches anymore. . Readded sqlite3 and lsqlite3 . UWP (Universal Windows Platform) . Make 3rdparty compile for UWP and start adding new OSD for UWP based on previous Brad work. Added video and window code to UWP. MALLOC_DEBUG part is not able to compile on UWP. Added clipboard handling. Added basic keyboard input. Enable sound. Added support to store files on Local storage. . Added OPTION_HOMEPATH to point to read/write folder, for now used by LUA scripts. Copied all needed files so plugins could be started under UWP. . Implemented GetFileSize and and proper winrt file open . New UWP icons/images . Output verbose to debug plus turn off view scaling (windows\winmain.cpp). Different default font. Tahoma not available on XBOX (font\font_dwrite.cpp). Enable gamepad support and update keyboard support. Better keyboard key names. Hotkeys for gamepad plus more time for gamepad discovery. Removed explicit links for winstore builds. . Keyboard scancodes start at 1. Also thread synchronization which will be needed later when we have multiple windows. . Make executable for scripts\src\tests.lua follow rules for main file. Make normal notation for require. Split properly tests. Added more applicable Catch testing framework and converted all tests to be done properly by guidelines. Still needs TESTS=1 to enable build of tests. . Updated LZMA to 16.04 (security and portability fixes) . Fixed make VERBOSE=1 not showing archive commands for static libraries (3rdparty\genie\src\host\scripts.c) . PLUGINS . Fixed driver info (plugins\data\data_mameinfo.lua and data_messinfo.lua). Stored data in database. . Updated hiscore.dat . Made timer plugin use sqlite3 (plugins\timer\init.lua) . Make console a LUA plugin (plugins\console). This fixed CONSOLE does nothing but allow "EXIT" (ID 06413). Further improve completions by removing break chars from linenoise.cpp that hide the full type. Do not take Ctrl-Z since that have it's behavior defined for Linux. Exit on Ctrl-C in console without crashing. . MULTI-LANGUAGE: Updated German translation . Added basic HTTP server (lib\http\), not active yet, based on ASIO example with small refactoring included. . Ability to show custom menu using LUA (ui\pluginopt.cpp) . Address map refactoring: Removed device parameter. De-hand-templatized address_map_entry, removed then unneeded entry parameter. Simplified constructor, thanks Micko. Changed setters into passthroughs. Stream it. Changed to use dot syntax rather than -> syntax for chaining. Made obvious renames and added helpers. . Eliminated attaching memory maps to driver_device . Simplified memory allocation for osd_module . No need for osd_malloc, osd_malloc_array and osd_free. MALLOC_DEBUG not applicable anymore since we use new to allocate in 99.9% of cases. . Let osd_process_kill just kill, rest is on osd users, watchdog only in this case. . Changed window handle storage to template instead of void* . Don't do the periodic_check before every timeslice (emu\machine.cpp) . Rewroted (Compressed layouts) to parse/minify layout XML. Doesn't make much difference to executable size, but it catches XML errors at build time rather than waiting for you to try the system. . 32 bit windows monitor module fix (monitor\monitor_win32.cpp) - SDLMAME: Updated SDL2 to 2.0.5 - MAC OS X: Fixed MacOS build (scripts\genie.lua) - Compiling . Prevent -Wexpansion-to-defined warning in recent Clang (modules\file\posixdir.cpp) . Experimental support for compiling to WebAssembly using Emscripten (not yet working) . Added a fifo template in util\coretmpl.h. Added 'poke' and 'clear' methods to fifo template. . Added delegate support for lambdas and std::functions in general, also supporting const members now (emu\devdelegate.cpp) - see drivers\statriv2.cpp. . Do not use FUNC in delegate where applicable . Fixed building on IBM S390x and PPC64le . Lambda always have object in util\delegate.h . Hack to allow building with SOURCES=src/mame/drivers/cps2.cpp (ID 06407) . Make shaders compile DX9 and DX11 only on windows . Fixed USE_DISPATCH_GL compile, seams no-one is actually using it since it is broken for a while (render\drawogl.cpp) . XML . Turn xmlfile API into something that looks like C++ and allowed use of const data node objects. It's still a bit quirky but it's far better encapsulated before, and it plays nice with const. Patch up Qt debugger for new xmlfile API. . XMLfile cleanup: An empty tag and a self-closing tag are semantically equivalent, so std::string can be used saving some manual allocation. A valid tag can't have an empty name, so that can be std::string too. Still expose empty strings as nullptr to API users. Scope down the int_format enum. # is not ffs. Work around buggy standard libraries. . Added VS2017 support into project files. Fixed compilation under VS2017, default_semantics is used by apply so need to be public. Generated proper SLN header. . Introduced u8/u16/u32/u64/s8/s16/s32/s64: New abbreviated types are in OSD and util namespaces and also in global namespace for things that #include "emu.h". Removed the cstdint types from everything in emu. Removed U64/S64 macros. Fixed a bug in dps16 caused by incorrect use of macro. Fixed debugcon not checking for "do " prefix case-insensitively. Fixed a lot of messed up tabulation. Changed many macros and constants to constexpr. Fixed up many __names. . Removed generic_ptr in emu\emucore.h . Added typographical characters to uismall.bdf, including the hair space used by the internal UI. . Removed Connection Manager part since it is used for compilers check, no need for this to be in release. - Debugger . Changed the 8085A, ARM, ARM7, ASAP, CCPU, COP420, Cosmac, Cube Quest, DSP16A, DSP32C, DSP56k, ESRIP, G65816, H6280, H8, Hyperstone, I386, I4004, I8086, I860, i960, Jaguar GPU, M37710, M6502, M6800, M68000, M6805, MB86233, MB86235, MB88xx, MCS48, MCS51, MC68HC11, MIPS3, MN10200, NEC Vxx, PDP1, PIC16C5x, PowerPC, PPS4, PSXCPU, R3000, RSP, S2650, SC/MP, SC61860, SHARC, SCUDSP, SE3208, SPC700, SH2, SH4, T11, TLCS-90, TLCS-900, TMS32025, TMS3203x, TMS32051, TMS32082, TMS34010, TMS57002, TMS7000, TMS99xx, TX0, uPD7725, uPD7810, V60, V810, Z180, Z80CPU and Z8000 CPU disassembler to use 'std::ostream &' internally . Fixed a number of identifiers beginning with underscores in the M6805 disassembler. Changed m_* ==> md_* (m6805\6805dasm.cpp). . Further cleanups to the TLCS900 disassemlber. Fixed spacing issues, converted a char[] buffer to std::string. . Changed all disassemblers to use output stream rather than character buffer. Changed disassembler overrides to use 'std::ostream &' internally. Changed disassembler infrastructure to not use char buffers internally. . Fixed a recently introduced bug in the 6x09 disassembler that could cause asserts when hitting what would be a legal 6309 instruction when disassembling non-6309 code. . Moved device_memory_interface from driver_device to dummy_space_device. Exposed the dummy_space_device as machine().dummy_space(), with a trampoline in driver_device for existing callers. Debugger no longer needs to special case root_device() to avoid showing the dummy address space. Replaced machine().driver_data()->generic_space() with machine().dummy_space(). Removed some driver_data<> calls. . Moved the declaration for dasmmips3(), ppc_dasm_one() and rsp_dasm_one() to a header file . Fixed debugcon not checking for "do " prefix case-insensitively . Eliminated 'ppc_dasm_one(std::string &string,...' and 'rsp_dasm_one(std::string &string,...' trampolines. Removed 'ppc_dasm_one(std::string &string,...' declaration and updated caller. Changed buffer.vec() to &buffer.vec()[0]. . Eliminated 'device_disasm_interface::disassemble(std::string &buffer, ...'. Moving disasm.clear()/disasm.seekp(0) out of if statement, so the stream is always reset. Refactored device_disasm_interface::disassemble() and dasm_override_delegate to take string buffers as std::string. . Eliminate static char[] buffers in the MB86235 disassembler 0.179 - New games: Exzisus (Magnet System), Humlan's Lyckohjul, Istrebiteli, Mahjong Senpu, Ocean to Ocean (Medal) [DECO Cassette MD], Splendor Blast II, Super Two In One, Time Scanner (Magnet System) and Xain'd Sleena (Magnet System) - New Working games: American Music Poker, Power Drift (Japan, Link Version) and Tatakae Genshizin Joe & Mac (Japan, bootleg) - New Non-Working games: Big Casino, Choro Q Hyper Racing 5, Crazy Dou Di Zhu II, Grande Fratello, Puzzle Yutnori (Korea) and Super Triv Quiz I - New clones: Blue Shark (Model Racing bootleg), Bombjack Twin (prototype? with adult pictures, set 2), Dead or Alive 2, Demon's World / Horror Story (set 2), Lady Maker [BET] (Japan), Mutant Night, Ocean to Ocean (Medal) [DECO Cassette MD] (No.10/Ver.6,US), Poker (Version 50.02 ICB, set 4), Ron Jan, Splendor Blast (set 2), Splendor Blast (set 3), Stargate (rev.5), Tarzan Chuang Tian Guan (V109C, set 1), Teenage Mutant Ninja Turtles (Asia 4 Players, version ?), Time Crisis II (Japan, TSS1 Ver. B), UniWar S (bootleg), Video Hustler (bootleg, set 3) and Wing War R360 (US) - New PEPlus games: Player's Edge Plus (X000013K+XK000012) Keno, Player's Edge Plus (X000846S+XS000006) Wild Star Red White & Blue Slots and Player's Edge Plus (X002002P+XP000038) Double Double Bonus Poker - Removed games: Player's Edge Plus (XMP00030) 5-in-1 Wingboard (CG2426) - New drivers: cedar_magnet.cpp, funtech.cpp, istrebiteli.cpp and mjsenpu.cpp - New devices: ad7521, ad7524, ad7528, ad7533, am6012, cedmag_sound, cedmag_plane, cedmag_sprite, cedmag_flop, dac_10bit_r2r, dac_12bit_r2r, dac_12bit_r2r_tc, dac_16bit_r2r, dac_16bit_r2r_tc, dac_2bit_r2r, dac_3bit_bw, dac_4bit_bw, dac_4bit_r2r, dac_6bit_r2r, dac_8bit_bw, dac_8bit_r2r, dac_8bit_r2r_tc, istrebiteli_sound, mc1408, mc3408, mc3410 and volt_reg - New mame.ini options: swpath = software - ADSP-21xx, ALPHA-8201 and AM29000 CPUs . Changed disassemblers to use std::ostream internally . Removed unnecessary formatstr() in AM29000 & fixed setting PC - M68000 CPU: Added [[noreturn]] instead of ATTR_NORETURN (cpu\m68000\m68kmake.cpp) - ARM7 CPU . Performed some minor optimization . (MESS) Game Boy Advance fix, added update_irq_state to ARM7 on places missing. - SH-2 CPU: Added read-back for BCR1 register, fixing missing polygons in (MESS) Daytona USA CE for Sega Saturn. Added stub bus\sci\wdt devices for SH7604, this part will require more work as H8 and SH-2 shares same chips. - SH-4 CPU: Reinstate lines removed in error - AY-3-8910A sound . Mention the OKI M5255, Winbond WF19054, JFC 95101, File KC89C72 and Toshiba T7766A as compatible / clone (sound\ay8910.h). . Implement upper address check, not configurable at present but chips could be ordered from the factory with ID's other than 0. Allowing you to chain multiple chips without adding extra address lines. Don't hardcode AY8910 into logerror, using name() instead. - CD Audio: m_audio_ended_normally is set within the stream_update(), so update the stream before returning it (sound\cdda.cpp) - DAC sound . Ataxx: Fixed missing sound channel caused by one DAC not being hooked up and one DAC being hooked up to two addresses. . Best Of Best: Fixed high pitch screech caused by incorrect addressing (two dacs weren't hooked up and two were hooked up to two addresses). . Cosmic Chasm: Fixed static noise generation caused by feeding the same bit to both DACs. . Cheeky Mouse: Slightly improved sound by implementing sound triggers as 8 x 1-bit DACs instead of 1 x 8-bit DAC. . harddriv.cpp: Improved 12-bit controls in all games in driver, although centre still goes out of sync. . Mega Phoenix: Fixed noisy samples due to wrong format. . Seicross and suna8.cpp: Changed to a 4-bit DAC as samples are packed nibble. . Space Guerrilla: Preliminary sound using space invaders samples. . Virtual Combat: Fixed static during machine gun fire due to incorrect DC offset removal. . vectrex.cpp: Fixed noisy samples due to wrong format. . Wheels & Fire: Fixed sound, EEPROM & analogue steering wheel and brake pedal. - ES5505/6 sound . Fixed readback of global registers when the current page was in a certain range . Made voices run for a zero-length loop, as real hardware does it and synthesizers rely on it. These changes fixed the playback of "Transwaves" on the (MESS) VFX and SD-series synths. - TMS3615 sound: Use new deprecated attribute - Volume Filter: Update stream before setting the new gain (sound\flt_vol.cpp) - 6840 PTM: Changed WRITE8 to WRITE_LINE for single-bit outputs. Changed device to use an array of devcb_write_line. - 8253 PIT and MSM5832 RTC: Eliminate device name from logging messages - CHDMAN: Fixed chdman addmeta --valuefile by calling the correct write_metadata - Imgtool . Fixed an unsigned overflow error that would causes crashes on 64 bit systems (imgtool\modules\mac.cpp) . Fixed a recently introduced bug that could cause module's close() callback to be invoked if an image fails to be opened or created. . Made imgtool_image (now imgtool::image) a "real" C++ class. C++-ified a few more classes: imgtool_partition ==> imgtool::partition and imgtool_directory ==> imgtool::directory. Changed many 'imgtool::stream *' to 'imgtool::stream &'. Changed a number of callbacks to be std::function instead of old fashioned function pointers. Changed the create/open callbacks to take 'imgtool::stream &&'. Changed 'imgtool::image *' ==> 'imgtool::image &', 'imgtool::partition *' ==> 'imgtool::partition &' and 'imgtool::directory *' ==> 'imgtool::directory &'. Modernized imgtool::image::list_partitions(). Changed imgtool::image::info() to use std::stream and std::stringstream. Consolidated logic for default implementation of imgtool::image::list_partitions(). Changed imgtool::stream::open*() to return imgtool::stream::ptr. Updated quite a bit of client code that manually owned these pointers. - MC6845 CRT: Allow cursor blink state to be read - RP5C01 RTC: Fixed clock regression with RP5C01. This also makes the RP5C01's NVRAM actually non-volatile (previously it would be cleared upon reset after being loaded). The RP5C01 has a power supply line but no reset signal input, so device_reset doesn't seem to make sense here. - Z80 SCC . Z-Bus interface functions zbus_r and zbus_w added supporting shift left/right modes. Improved variant handling including the incomplete read register maps for some. External CTS and DCD interrupts added. Improved device reset values. SWI acknowledge command added. Improved/fixed handling of wr9, rr2, rr3. WR7PRIME register added. Fixed vector modification. . Added iack by reading rr2. z80daisy_iack now returns -1 when no vector found or disabled through the WR9 VIS. Removed z80daisy_reti code to match SCC documentation. Removed defacto reset values where possible and replaced them with documented SCC reset values. . Improved Tx handling with FIFO including special case with 1 slot FIFO - atlantis.cpp and midzeus.cpp . Removed unused define parameter in Atlantis driver. Removed includes\midzeus2.h and video\midzeus2.cpp as not needed. . Zeus-2 video: Updated waveram organization. Updated quad rendering command size. Updated register naming. - chihiro.cpp . Clarifications and renaming for 3D matrices . Tidy up video\chihiro.cpp and updated driver notes. More details about AN2131QC pins. - cischeat.cpp . Set default palette init to black and fixed communications RAM ranges . Fixed dipswitch 'Unit ID' in F-1 Grand Prix Star II. . Added IRQ notes and bumped framerate to 60 Hz to all minus captflag/scudhamm. . Various input related bug-fixes to Wild Pilot: Changed lightgun to an AD-stick. Added Player 2 inputs. Fixed bogus start button starting a play even without a coin inserted. Demoted Wild Pilot to MACHINE_NOT_WORKING. . Fixed missing music in attract mode of F-1 Grand Prix Star II (ID 01205) - crystal.cpp, jalmah.cpp and ninjakd2.cpp: Added MACHINE_UNEMULATED_PROTECTION flag to Mahjong Channel Zoom In, Mahjong Daireikai and Otogizoushi Urashima Mahjong (games have unfinished m68k snippets), Mahjong Kakumei 2 (uses protected RNG), Atomic Robo-kid (random crashes), Donggul Donggul Haerong and Office Yeo In Cheon Ha. - decocass.cpp . Tagged all the DECO Cassette sets as US / Japan based on which BIOS type they use (A = Japan, B = US/World, they aren't compatible, using the wrong one will give a loading error). Note clone Bump 'n' Jump (DECO Cassette, Japan) is for type B, so was incorrectly tagged as Japan (or has been hacked). . Make the different decocass BIOS roms actually selectable. - megasys1.cpp: Added save state support - midvunit.cpp, midzeus.cpp and seattle.cpp: Added clickable buttons to a few Midway layouts (calspeed, crusnexo, crusnusa, hyprdriv and vaportrx) and cleaned up some code. - model1.cpp . Allow NetMerc to boot. There still seems to be something uninitialized or some memory corruption as quite often it will crash instead of launching, but if it does launch you can get a title screen and attract demo with some 3D. Roms pass in rom test now too. 3D is quite broken, lots of polys being stretched in weird ways and no 3D palette. . Make Model 1 render list scanning code safer by masking accesses to the ram size and using less pointer math. Without this invalid displaylists can easily crash MAME because the pointer artihmetic can end up going way beyond RAM sizes with no easy way to mask. NetMerc still crashes due to other things tho. . Allow NetMerc 68k to run - nightgal.cpp: Added some system inputs. Added gamble payout button to backspace as default for Night Bunny. This fixed game stalls when winning a hand (ID 06409). - skylncr.cpp: Update driver to use RAMDAC - stv.cpp: Added Taiwan 97/05/15 v1.14 BIOS. Minor documentation update. - system16.cpp: Preliminary sound for clones Bay Route (encrypted, protected bootleg) and Golden Axe (encrypted bootleg - American Music Poker . Major improvements (Game now playable) . Inputs figured out almost completely . Added blinking cursor for service mode . Gross hacks used to get coins working due to broken IRQ timings . Palette remains in dire need of improvement . RTC writes now actually go through, so the game will remain stuck in 1987 until the date is changed. Added the new machine flag for the unemulated printer. - Caveman Ninja: Some work on clone Tatakae Genshizin Joe & Mac (Japan, bootleg). Promoted to WORKING with known problems. - Destiny - The Fortuneteller: Updated to use stub LCD and updated flags - Draw Poker (Bally, 03-20): Redumped sound roms - Emeraldia: Fixed Emeraldia (World) visible area (ID 06404) - Irritating Maze: Redumped v2 rom and fix rom loading. No XML update as this cart isn't in the softlist as it was for a dedicated machine with custom BIOS only. - Mahjong Kaguyahime Sono2 [BET] (Japan 890829): Fixed clone Mahjong Kaguyahime Sono2 Fukkokuban [BET] (Japan 010808) year info (ID 06110) - PinMAME: Replaced sound ROMs for Contact, Disco Fever, Phoenix and World Cup Soccer with game specific sound dumps (drivers\s3.cpp). - Poker / Black Jack (Model 7521): Added 82s129 PROM and PAL20L10. Updated PCB layout. - Power Drift: Spotted link ID and link communication mode in clone Power Drift (Japan, Link Version), promoted game to working. - San Francisco Rush: Added layout - Vs. Janshi Brandnew Stars: Added missing soundlatch to Vs. Janshi Brandnew Stars, this fixed crash when you insert a credit (ID 06391). - Vindicators/Vindicators Part II: Added proper input labels. Make left/right sticks labels explicit so that "Left/Up" isn't upper-right direction but "Left Stick/Up". - Witch: Take the 'Hopper Active' dipswitch value into proper account; no longer must it be low. Added ticket_dispenser_device::motor_w as a proper WRITE_LINE method, first step towards eliminating the m_active_bit=0x80 nonsense. - Input port . Separate natural keyboard support from ioport.cpp . Added ticket_dispenser_device::motor_w as a proper WRITE_LINE method, first step towards eliminating the m_active_bit=0x80 nonsense (machine\ticket.cpp) . Misc. keyboard input improvements . Added BS, Tab, 00, 000 keys common on add-on keypads as input items; SDL may recognize these, but DirectInput does not. . Assign Keypad 00 and Keypad 000 in several drivers' input lists . Added SDL keycode for "cancel" key . Added keypad keys as alternates to natural keyboard . Moved has_keyboard() out of the core; enabled() test is unnecessary now that all optional keyboards are slot devices. . Incorporate product/instance directinput device IDs. This change generates a more unique device ID for direct input devices by incorporating the product unique identifier and instance unique identifier. This allows for better disambiguation on device ID when mapping controllers via mapdevice config settings (input\input_dinput.h). . Parenthesize optional items in input menus (ui\inputmap.cpp) . Lock out ioport_fields independently of natural keyboard state . Fixed Left/Right Sticks for P2 and above (emu\inpttype.h) . Removed all ioport and address map macros from (MESS) Tranz 330 (emu\ioport.cpp/h and drivers\tranz330.cpp) - Fixed rom names in timecrs2 - Dipswitch fixes in dynax.cpp, jangou.cpp, mjsister.cpp, nbmj8688.cpp, nbmj8891.cpp, nbmj8991.cpp, nbmj9195.cpp, nightgal.cpp, niyanpai.cpp, segaybd.cpp, snowbros.cpp, srmp6.cpp and ssv.cpp - Description changes of Bishou Jan (Japan, Ver. 203), Bombjack Twin (prototype? with adult pictures, set 1), Bust a Move 2 - Dance Tengoku Mix (Japanese ROM ver. 1999/07/17 10:00:00), Lots of DECO Cassette games, Demon's World / Horror Story (set 3), Demon's World / Horror Story (set 4), Demon's World / Horror Story (set 5), Dynamite Baseball '99 (Japan) (Rev B), Dynamite Baseball NAOMI (Japan), Everyone's A Winner (Barcrest) (MPU4) (unknown rev, bad), Idol Janshi Suchie-Pai II (v1.0), Idol Janshi Suchie-Pai II (v1.1), Mutant Night (Japan), New 2001 (Italy, Ver. 200N), Ron Jan Super, Royal Poker V 1.85, Sega Strike Fighter (Rev A), Sega Strike Fighter (Rev A, no training mode), Splendor Blast (set 1), Tarzan Chuang Tian Guan (V109C, set 2), Tatakae Genshizin Joe & Mac (Japan, bootleg), Time Crisis II (World, TSS2 Ver. B), Time Crisis II (World, TSS3 Ver. B), Time Crisis II (World, TSS4 Ver. A), World Series 99 / Super Major League 99, World Series Baseball / Super Major League (GDS-0010) and X-Plan (Ver. 101) - Renamed (demonwld1) to (demonwld2), (demonwld2) to (demonwld3), (demonwld3) to (demonwld4), (doa2) to (doa2a), (mnight) to (mnightj) and (ronjan) to (ronjans) - MAME . VIDEO RENDERING SYSTEM . HLSL/BGFX . Fixed target texture dimension when -intoverscan is used (this fixes the appereance of scanline and shadow mask) . Added target_scale and screen_count uniforms . Rounded corners now remain aligned with screen bounds when -intoverscan is used (single screen only) . Use floorf rather than floor for float->float (bgfx\chain.cpp, chainmanager.cpp and d3d\d3dhlsl.cpp). Fixed OSX build: Use fabsf rather than abs for float->float (emu\render.h). . Fixed aspect ratio of rounded corners . Reduced defocus effect to one pass (HLSL/BGFX). Removed second defocus pass. Limited defocus stength to a maximum of 2.0. . Fixed use of uninitialized stack memory in render\drawd3d.cpp . D3D/HLSL . Refactored d3d_render_target: Removed cashe_target class. Moved cashe texture and surface to d3d_render_target class. Render targets are now created per screen not per screen texture. Removed useless creation of render targets for ui textures (render\d3d\d3dcomm.h, d3dhlsl.cpp/h and drawd3d.cpp). . Fixed null reference exception (D3D/HLSL), when toggling from fullscreen to window mode. . Disabled clearing of render targets in several passes (HLSL). Which was quite a performance overhead and not necessary because the shaders fill every texel of a target without blending. . Improvements to rgb_t . Make most class methods constexpr . Make color constants (white, black, etc.) into constexpr factory methods, in order to fix a static initialization problem discussed on the MAMEWorld forums. Note that while C++14 allows constexpr member variables to be initialized outside classes, current compilers' support for C++14 constexpr rules has proven to be lamentably deficient. . Created bitmap_rgb32::erase to simplify syntax in update handlers . Erased bitmap_rgb32::erase . Make D3D9 a little more discerning in what level of bad hardware it will allow (render\drawd3d.cpp) . UI . Fixed crash in ui\selgame.cpp . Added "Software Media" folder (swpath). Allows users to specify location of loose software (emu\diimage.cpp, emuopts.cpp and ui\dirmenu.cpp). . Split media_identifier and console in separate files . 3rdparty . Added ASIO networking library. Removed libuv library. Replaced code usage of libuv with ASIO library. Added more warning disable to support compile on various Clang versions. . Added Sol2 header only library as future replacement for luabridge . Added Linenoise Next Generation library for CLI . PLUGINS: Updated hiscore.dat . Increased number of OSD modules (modules\osdmodule.h) . Register window messages before creating window (output\win32_output.cpp) . Proposal for new system flags: MACHINE_NODEVICE_MICROPHONE For unemulated microphone, MACHINE_NODEVICE_CAMERA For unemulated camera, MACHINE_NODEVICE_PRINTER For unemulated printer, MACHINE_NODEVICE_LAN For unemulated linking multi-cabinet capabilities and MACHINE_NODEVICE_WAN For unemulated networking capabilities. Restructured MACHINE_FLAGS into FATAL / WARNING / BTANB main categories, in order to make them easier to expose. . Initial work on console interface. Use Ctrl-Z to close console on any OS. To start use -console parameter. . Soft resets no longer turn back clocks on devices (device_rtc_interface) . Cleanups and refinements . Give RTCs their own phase of machine initialization, right after NVRAM loading . Make RTC feature flag overrides const, including one new one . Make rtc_clock_updated a required override . Fixed INI creating for individual games when the game and the driver share the same name (source.ini must now be in the source subfolder) (ID 03045). . We introduced a 16-char limit to parent sets, for eg. nintendo vs prefix, or when you're short 1 or 2 letters. - SDLMAME: Fixed alt-enter full screen toggling on SDL (Linux/Mac/BSD) builds - Android: Set Android 5.0 as minimum one, older API are not compatible - MESS . Sound Blaster 16 . Drop the upper bit of the address when shifting left, as described (machine\cs4031.cpp). This fixes 16 bit audio in sb16 diagnose.exe. . Intel documentation is conflicting, which prompted osdev to claim that 128k DMA was impossible. Masking the lowest bit of the page instead of the upper bit of the address makes more sense and it does also fixed the issue with SB16 diagnose.exe playing silence (bus\lpci\southbridge.cpp, machine\cs4031.cpp, wd7600.cpp and machine\at.cpp). . Applied IBM AT 16-bit DMA wrap round fix to other implementations. . Added "headphones" to ATAPI CD-ROM drives - Compiling . Fixed two leaks (input\input_winhybrid.cpp and sound\xaudio2_sound.cpp) . Added new string conversion overloads [a|w|t|utf8]_from_[a|w|t|utf8_]string(xyz.c_str()). Bulk renaming of Windows string conversion functions: utf8_from_[a|w|t]string ==> osd::text::from_[a|w|t]string and [a|w|t]string_from_utf8 ==> osd::text::to_[a|w|t]string. . Some bool <-> int not needed conversions, also cleaned drivenum.* was using memset for clearing vector. . Changed dynamic_buffer to std::vector . Use std algo instead of manual setting (emu\screen.cpp) . Use standard types uintptr_t, char16_t and char32_t instead of FPTR, utf16_char, unicode_char . 3rdparty . LUA engine: Added new types, fixing LUA part (mame\luaengine.cpp). . Fixed Google benchmarks build and cleanup U64 and S64 macro definition, it is now in standard (benchmarks\eminline_native.cpp, eminline_noasm.cpp and osd\osdcomm.h). . NOTICE (TYPE NAME CONSOLIDATION): Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8. Also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8. . Converted lot of TRUE/FALSE to real boolean and updated types . Fixed VS build (noticed only when using MSBUILD=1) (scripts\src\3rdparty.lua) . Added virtual for consistency in cpu\alto2\alto2cpu.h, cp1610\cp1610.h, hd61700\hd61700.h, hphybrid\hphybrid.h, i860\i860.h, jaguar\jaguar.h, m6800\m6800.h, mb86233\mb86233.h, pic16c5x\pic16c5x.h, scmp\scmp.h and scudsp\scudsp.h. - Debugger . Fixed disassembly if 6809 is interrupted mid-instruction (debug\debugcpu.cpp and dvdisasm.cpp). Sync pc & curpc and removed superfluous callimport()/callexport() on STATE_GENFLAGS. . Make sure all CPU's export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible CPU's to work properly. Changed CPU cores pcbase handling to be consistent with the majority of CPU cores, now that the debugger relies on it. . Fixed disassembly window updating when you set pc/curpc on 68000 and Z80. Removed masking from SH-2 curpc to be consistent with old versions and the pc passed by the interpreter to the hook to be consistent with the DRC. . Added row size as sixth parameter to debug dump command (debug\debugcmd.cpp) . Fixed disassembly window for ADSP21062, ALPHA-8201, ALPHA-8301, APEXC, I80186, PDP8 and MIPS3 CPUs. 0.178 - New games: Poker (Electro-Sport), Slap Shooter and Star Audition - New Working games: Grand Prix '98 (V100K) - New Non-Working games: Pop'n Stage (ver JB-A) and Labeled 'WU- MARY-1A' Music by: SunKiss Chen - New clones: Air Trix (original), Battles (set 2), Chicken Draw (2131-04, U5-0), Condor (S C Novar bootleg of Phoenix), Crush Roller (set 3), Elevator Action (4 pcb version, 1.1), Gemini Wing (bootleg), Jumping Cross (set 2), Le Grandchamps, Ms. Pac-Man (bootleg, set 2), NASCAR Racing (original), NBA Jam Extreme (ver. 1.10I), Nibbler (rev ?), Phoenix (Amstar, set 2), Pinguinos (Spanish bootleg on Pac-Man hardware), Popeye (Japan, Sky Skipper hardware), Raiden Fighters (Great Britain), Road Riot 4WD (set 1, 04 Dec 1991), Rolling Crush (version 1.03.E - 1999/01/29), Sauro (bootleg), Stratovox (set 2), Street Fighter (Japan, pneumatic buttons), Super Qix (World/Japan, V1.0), Tecmo World Soccer '98 (JUET 980410 V1.000), Terminator 2 - Judgment Day (prototype, rev PA2 10/18/91) and Virtua Fighter 3 (Revision D) - New TourVision games (Softwarelist: hash\pce_tourvision.xml): Barunba and Power Tennis - New drivers: marywu.cpp - New devices: at29c020, ms1_tmap, msm5832 and sharp_lh28f016s_16bit - New mame.ini options: monitorprovider - i860XR CPU: Fixed an issue on the i860 disassembler that could cause an undefined string to be used (i860\i860dis.cpp) - MC68340 CPU: Memberize public non-member function - PSXCPU: Fixed buffer overflow when debugging (cpu\psx\psxdasm.cpp) - TMS99xx CPUs: Added save state support to TMS99xx; replaced new/delete by unique_ptr. - AY-3-8910A sound: Slight improvements to AY8910 error logging, with some messages now disabled by default. - AY-3-8914 sound: Implement register readback masking for AY-3-8914 as used on (MESS) Intellivision - OKI6295 sound: Directly use set_rom_bank - 6840 PTM: Fixed channel card memory tests in (MESS) CMI IIx. Load the counter when held in reset (machine\6840ptm.cpp). - SCN2674 Display Controller: Make (MESS) Octopus look better (video\scn2674.cpp; ->mpu4vid.cpp) - Sega Custom: Simplify 315-5881 logic and updated comment - Sharp LH28F016S: Added 16-bit hook-up (machine\intelfsh.cpp) - aleck64.cpp: Promoted all games as working minus Magical Tetris Challenge - arkanoid.cpp: Clean up variable names for eventual harmonization with other Taito drivers with MCUs. Comment fixes and variable name clarify. Variable name consistency. - chihiro.cpp: Added debugger command "chihiro threadlist" to list ready threads except current one. Small refactoring. - cischeat.cpp: Added tilemap device to CiscoHeat driver and fixed a few soundlatches - cps1.cpp and mitchell.cpp . Changed joysticks to 4-way in ghouls, pang, spang and pang3 as flyers and manuals indicate . Mark button 2 in pang and spang as optional . Removed buttons 2 and 3 in pang3 (even service mode only shows one "Shot" button) - cps2.cpp . Use keys that can be programmed onto a CPS2 motherboard . Small step towards getting rid of the cps2_dead machine config - cmmb.cpp: Minor consolidations. Inputs and basic flash device hookup. - dwarfd.cpp: Fixed graphics in Poker (Electro-Sport) - freekick.cpp: Added flipscreen support to Gigas, Free Kick and Counter Run - goldnpkr.cpp: Added clickable buttons to layout\goldnpkr.lay - homedata.cpp: Fixed sound I/O write in Homedata driver (affected hourouki, mhgaidenm, mjhokite, mjclinic and mrokumei). This fixed missing voices of "Reach", "Ron" etc. in Mahjong Hourouki (ID 00490). - megasys1.cpp: Made Mega System 1 tilemaps into a device - midvunit.cpp: Fixed Midway V Unit wheel output. It seems the diagnostics test for the wheel is poorly coded for turning left as it is correct in game. - naomi.cpp . Docs update. Added machine\naomibd.cpp notes. . Fixed crashed before OK in some sets (ID 06364). The error 'Caught unhandled St11logic_error exception: basic_string::_M_construct null not valid' appears when the game is started (emu\parameters.cpp). Atomiswave developer and game names corrections. . Added Altera's config EPROM dump - nss.cpp: Revised/corrected hardware info - photon2.cpp: Documentation update based on schematics research - seattle.cpp . Added layout for California Speed, Hyperdrive and Vapor TRX. . Minor improvement on logging. The LOG define isn't needed as everything expected is found. What could remain would be considered an error and needs to be logged. - segas24.cpp . Moved FDC legacy logging behind a compile switch . Fixed maximum shot power in Dynamic Country Club (ID 00792) - simple_st0016.cpp: Marked all games in st0016.cpp as MACHINE_NO_COCKTAIL - stfight.cpp . Switched to configured banking . Fixed save state problem with clone Cross Shooter (2 PCB Stack) - stv.cpp: Removed optional joystick control inputs from Virtual Mahjong since this game only supports Mahjong panel but was defaulting to Joystick. - superqix.cpp . Vs. Hot Smash: Got rid of timer hacks for Z80<->MCU communication. Implemented 68705 DDR registers and proper readback of Z80<->MCU semaphores. Got rid of HOLD_LINE hack for NMI by implementing NMI ACK register. Added more driver notes. Consistencized the AY port bits. Added notes about what the majority of the hotsmash MCU code actually does. Unified memory map for prebillian and hotsmash. Made hotsmash machine config derived from prebillian. . Prebillian: Fixed rom labels and locations and added notes about lack of Taito game ID and PCB label. Improved MCU HLE for Prebillian to use non-anonymous timers instead of scheduler hacks. Consistencized the AY port bits. Got rid of hack mame_rand usage for the MCU semaphores in Prebillian in favor of proper implementation. Unified memory map for prebillian and hotsmash. . Super Qix . Shuffled around the Super Qix machine configs to make a bit more logical sense . Added a custom input member to clean up the MCU semaphore implementation for sqix and clones . Added some notes about the sqixb1 MCU code origin. Marked the recovered sqixb1 MCU dump good for that specific set as it matches a dump from a working PCB and updated notes. Replaced bootleg MCU code on sqix and sqixr1 sets with an MCU dump patched from the decapped sqixu MCU, using hints in the bootleg MCU code to figure out what to change. This very likely will match the real sqix/sqixr1 MCU once it gets dumped, but mark it as BAD_DUMP since it is a user-created image. . Added sqixr0 World/Japan V1.0 romset as a working clone, dumped from an early PCB. Renamed sqixr1, sqix, and sqixb1 set long names to include their version numbers. Updated comments about sqixb1, which is in fact an exact copy of sqixr0 with one gfx rom split and the MCU replaced with a bootleg version. Added notes about the greenwire fix on 7H on the V1.0 pcb vs the res/cap fix on later PCBs and notes about V1.0 coin lockout being inverted compared to the later sets. . Changed the samplerate of the sample playback engine from 5khz to 3906hz which sounds more correct in hotsmash, and is directly derivable from the 12mhz PCB xtal. . Variable name consistency. Added notes and some debugger access fences on read handlers. . Added notes about what the various rams on hotsmash/prebillian and superqix actually do, including the framebuffer ram. . Implemented AY-3-8910 mixing based on PCB tracing and added XTALs and notes about "SYSTEM" register bits being incorrect as currently implemented. - taitogn.cpp/zn.cpp: Renamed ZN1/ZN2 bios roms based on the label (where known), renamed the bios sets after the board and moved cat702 to files. - taitosj.cpp . Added semaphore and command handshake flags to audio section. This fixed no attract mode sound after first time loading in piratpet, junglek and jungleh (ID 01170). . Added XTALs for various clocks based on schematics. Documented and implemented AY-3-8910 outputs being tied directly together for 3 of the 4 AY-3-8910 chips. . Added proper handling of sound cpu NMI on sound command register and semaphore writes and clears. Added note about an unemulated filter effect on one of the AY chips. Some savestate and init fixes. . Fixed watchdog timing per schematics, and re-enabled watchdog. Bio Attack doesn't incorrectly trigger watchdog on death anymore. . Cleaned up rom labels/locations for the Elevator Action sets and added notes. Noted that the 4 and 5 board sets dumped so far of Elevator Action are the exact same code and gfx, just split differently. - tecmo.cpp: Added preliminary raster effects, improves ending screen effect in Gemini Wing. - tourvis.cpp . Added Barunba and Power Tennis (Not Working) to hash\pce_tourvision.xml . Updated information for new card images added - vsnes.cpp: Renamed select sets for Nintendo Vs. which cause -verifysoftware confusion with NES softlist titles due to shared setnames in the form of partial hits. This also tests the waters for expanded setnames for parents. - '96 Flag Rally: Needs START1 hooked up for the continue feature, even if it isn't used to start the game. - AGEMAME . Added new internal layouts to aces1.cpp, jpms80.cpp and mpu5.hxx . Fixed 'Fatal Error' when starting any maygay1b.hxx set (ID 06366) . Updated layouts with fixes and improvements . aristmk4.cpp: Added clickable buttons for 3 Bags Full (5VXFC790, Victoria) and clone 3 Bags Full (3VXFC5345, New Zealand) . aristmk5.cpp: Accurate flags. Added missing ARISTOCRAT_MK5_BIOS defines to some sets, fixing changing System Configuration in adonis to anything but game_prg causes a crash (ID 06374). - American Music Poker . Change CPU type to 8088. Hook up a bunch of devices. Identify a few inputs. Hardware notes. . Use PIC for interrupts and correct SN76489 type - Asterix: Added coin counter and lockout - Bagman: Improved graphics in clone Le Bagnard (bootleg on Crazy Kong hardware). - Big 10 . Various modest input/output improvements . Use applicable gambling input types and keypad for numbers instead of BUTTON . Added ticket dispenser for payout (but is there any hopper feedback? no obvious error message) . Added lamp output(?) . Try to puzzle out some more DIP switches based on what the code does - Birdie Try: Fixed "Allow Continue" and realized that 0x3c7 protection write is actually related with speed of the ball. Demoted to MACHINE_NOT_WORKING. - Caveman Ninja: Fixed sound ROM hookup in clone Caveman Ninja (bootleg, alt) - Combat School . Added SCREEN_RAW_PARAMS . Fixed text tilemap char select enable and opacity in Combat School. This fixed the two rows of garbage blocks at the top of the screen in the 2nd firing range stage (ID 00399). - D. D. Crew: Added inputs to clone D. D. Crew (bootleg), identified OKI write. Missing OKI bankswitch, so sounds are sparse and wrong. - Dirt Fox: Reversed 'Gear Shift Up/Down' - Fighting Roller . Fixed scrolling in Fighting Roller/Roller Aces. This fixed the scrolling bar of initials does not work properly, when you insert your initials (ID 00963). Actually it fixed also "landscape scrolling" when turning right landscape is supposed to go left, not the other way around. . Converted driver foreground to tilemap system and fixed flip flags in it, fixes service mode in clone Roller Aces (set 2). Also fixed a wrap-around regression. - Flower: Some work towards driver - Gold Medalist: Properly mark clones Gold Medalist (set 2) and (bootleg) as unemulated protection flag, they never access the video bank register for whatever reason. - Grand Prix '98: Redumped graphics rom (Game now playable) - Hana Awase: Added IRQ ack. This fixed Dealt cards are not random (ID 00435). - Jackal: Fixed coin counter (ID 02555). Note: All revisions flips the coin counter bit between 1 -> 0 five times, causing the bookkeeping to report 5 coins inserted. Most likely solution in HW is a f/f that disables coin counters when any of the other bits are enabled. - Judge Dredd: Swap non playable Primal Rage 2 for playable Judge Dredd for now (machine\idehd.cpp) (ID 06138) - KiKi KaiKai: Fixed coinage dipswitch settings (ID 02349) - Lethal Enforcers: Fixed linescroll in clone Lethal Enforcers (ver JAD, 12/04/92 17:16) (ID 02446) - Lovely Cards: Assume same frequencies used between lvcards and tehkanwc driver (ID 02473) - Mahjong Gakuensai/Mahjong Gakuensai 2: Fixed OKIM6295 and YM2413 sound volumes (ID 01044) - Moon Alien Part 2: Readded original roms to clone Moon Alien Part 2 (older version) - Mr. Driller 2: On-the-fly decryption support for Mr. Driller 2 - Pairs Love: Fixed screen in service mode goes black (ID 00343). Note: Game sets up two identical palette banks at 0-1ff and 0x200-0x3ff in-game, 0x200-0x3ff only in service mode. Maybe there's a color offset register to somewhere? - Pesadelo (bootleg of Knightmare on MSX): Updated comments - PinMAME . Marked all pinballs as NOT_WORKING . Updated idsa.cpp driver - Power Spikes: Assume clone Power Spikes (Italian bootleg) to have OKIM6295 pin7 low - Puzzle Club: Added NO_DUMP for missing title screen - Shanghai Kid: Fixed buttons 1 and 2 are switched (ID 06368) - Shooting Star: Added protection info. Update Art & Magic driver. - Silent Dragon: Fixed dipswitches 'Friendly Fire', 'Power-Up at Stage Clear' and 'Regain Power buy-in' (ID 00611) - Schmeiser Robo: Game has layer bug with flipscreen. Marked game as MACHINE_NO_COCKTAIL (ID 01890). - Space Chaser: Fixed MCFG_MACHINE_START for clone Space Chaser (CV version - set 1). This fixed crashes on reload (-str 8) in a staggered -str 20 run (ID 06371). - Sunset Riders: Fixed protection chip to use the work RAM buffer for horizontal scrolling in collision detection routine. Fixed players/enemies collision detection on slopes amd characters judder when walking diagonally (ID 00952). - Tecmo World Cup '90 . Fixed sprite priority bug with the ball being above the net in Euro League / Tecmo World Cup '90 bootlegs. . Added IRQ acks and second YM2203 sound chip to Euro League, which added piano keys to sound. None of these have flipscreen dip, so why the MACHINE_NO_COCKTAIL? - Time Crisis: Added byteswapped sample rom also to clone Time Crisis (Rev. TS2 Ver.A) - Usagi: Marked game as MACHINE_IMPERFECT_GRAPHICS - missing transparencies. - Wai Wai Jockey Gate-In!: Fixed visible area - Witch: Sort out which inputs and outputs are which. Use standard gambling input types where appropriate. Identify "Attendant Pay" (keyout?) and payout switches. Removed fake DIP switches. Names of real DIP switches no longer all-caps. Expand range of NVRAM. Added two PPIs for I/O. Partially implement hopper output. Clarification regarding 8255s. - Input port . Added support for binding devices to controller IDs (see devicemap.rst). This allows for stable controller IDs even if USB devices are plugged or unplugged, system is rebooted, etc. . Added id() property to input_device. Added an id() property representing unique device ID. This allows the OSD layer to supply display name along with unique identifier. Currently only used to map a physical controller device to controller ID, but can be used more generally in the future. For raw input devices, device ID is full raw input name. For all other devices, we fall back to device name as the device ID. Device ID uniqueness is not currently enforced programmatically. . Changed use of IPT_START to IPT_START1 in bartop52, guab, midyunit, namcos22, sshot and turrett - Fixed rom names in greatgun, midwunit.cpp, sf.cpp, stv.cpp and superqix.cpp - Dipswitch fixes in aerofgt.cpp, big10.cpp, idsa.cpp, igs011.cpp, jangou.cpp, nbmj8688.cpp, nbmj8891.cpp, nbmj8991.cpp, segas24.cpp, sf.cpp, shangkid.cpp, superqix.cpp, taito_b.cpp and taitosj.cpp - Description changes of Air Trix (Rev A), Battles (set 1), Chicken Draw (2131-04, U5-1), Condor (Sidam bootleg of Phoenix), Crush Roller (set 4), Crush Roller (set 5), Dragon World II (ver. 100H, Hong Kong), Elevator Action (5 pcb version, 1.1), Face Off (Japan 2 Players), Idol Janshi Su-Chi-Pie II (v1.1), Idol Janshi Su-Chi-Pie II (v1.0), Jumping Cross (set 1), Le Bagnard (bootleg on Crazy Kong hardware), Ms. Pac-Man (bootleg, set 1), NASCAR Racing (Rev A), Net Select: Salaryman Kintaro (ID 06375), Net Select Horse Racing: Victory Furlong, Phoenix (Amstar, set 1), Planet Harriers (Rev A), Road Riot 4WD (set 2, 13 Nov 1991), Road Riot 4WD (set 3, 04 Jun 1991), Rolling Crush (version 1.07.E - 1999/02/11, Trust license), Stratovox (set 1), Super Qix (bootleg of V1.0, 8031 MCU), Super Qix (bootleg, No MCU), Super Qix (World/Japan, V1.1), Super Qix (World/Japan, V1.2), Tank Force (US, 2 Players), Tank Force (US, 4 Players), Task Force Harrier (US) and World Club Champion Football Serie A 2001-2002 Ver.2 (CDP-10001C) - Renamed (acpsx) to (coh1000a), (atluspsx) to (coh1001l), (atpsx) to (coh1000w), (cpzn1) to (coh1000c), (cpzn2) to (coh3002c), (crush3) to (crush4), (crush4) to (crush5), (machridr) to (nvs_machrider), (machridra) to (nvs_machridera), (mightybj) to (nvs_mightybj), (nbajamex) to (nbajamexa), (platoon) to (nvs_platoon), (popnstex) to (popnstage), (psarc95) to (coh1002e), (roadriot) to (roadriota), (roadrioto) to (roadriotb), (taitofx1) to (coh1000t), (taitogn) to (coh3002t), (tps) to (coh1002m), (vf3) to (vf3c) and (vspsx) to (coh1002v) - MAME . VIDEO RENDERING SYSTEM . Fixed GH#1364 (bgfx/chains/crt-geom-deluxe.json and crt-geom.json) . Converted OSD monitor info to modules plus added DXGI implementation. Converted the monitor information code from video.cpp in SDL and Windows to modules. . UI . More new features for UI graphics viewer . Mouse over GFX tiles to reveal pixel values . Mouse over tilemap to reveal tile codes and colors . UI tilemap scrolling controls are now orientation-relative . Make mouse visible everywhere in UI graphics viewer by treating it like a menu. Added all necessary getters to tilemap_t and a few more. Added comment about role of decoder in tilemap creation. . More consistent use of integer types in tilemap_t and other graphics-related classes. Define indirect_pen_t, requiring a slight reordering of emu.h due to an unsurprising dependency. . Fixed File Manager when cfg image directory invalid (ui\imgcntrl.cpp) . Removed datfile_manager (ui\datfile.cpp) and moved UI dats to LUA plugin . Changes the selgame UI sidebar get the dat information from a plugin rather than the hardcoded C++ . Much easier to add other dat files and allow for scripted data . Example included that uses the hi2txt XML parser files to display high score info from hiscore file or NVRAM . Removed enable_dats() option, no longer needed after the switch to LUA plugin. . Fixed remove favorites via "configure machine" menu (ui\miscmenu.cpp) . Sort favorites game list by description (ui\selgame.cpp) . Fixed custom renderer alignment (ui\custui.cpp) . Fixed the failure to select the last used machine if quit with the focus in another part of the main menu. . Exporting game list is now also possible for the favorites list, except if it has software in it (ID 06383) . Consolidated code that inputs characters into buffers. Fixing issue where a multibyte character could cause the maximum size to be exceeded, and obtaining the maximum size with std::numeric_limits (ui\utils.h). . Fixed an off by one error when identifying best entries for typeahead on the file selection and software list dialogs (ui\filesel.cpp and swlist.cpp) . DEVICE IMAGE INTERFACE . Changed the "extension as filetype" behavior for software list images to be opt in behavior . Resist emu\dirom.cpp to out-of-bounds bank numbers. Added a mandatory callback on bank change to dirom. . Added some documentation (device_memory_interface.rst and device_rom_interface.rst) . Allows devices to indicate whether image creation should be supported at the command line (emu\diimage.cpp and image.cpp). This addresses MT bug #6372. The prior issue is that creating serial and/or printer output relied on how image_load() would create images that were not there. This behavior was not universally desirable (the consensus was that it was wrong for disk images, up in the air for cassettes etc). This change makes it possible for devices to control this behavior. Currently I have it associated with image_type(); this might not be the ideal fix. . Now setting m_filetype for images loaded from softlists (emu\diimage.cpp) . PLUGINS: Updated hiscore.dat . SOFTWARE LIST . Increased max length of parent name to 16, for evaluation purposes (emu\softlist_dev.cpp and validity.cpp). Check that driver names contain only [0-9a-z_] (emu\validity.cpp). . Check characters in softlist setnames, fix errors (emu\softlist_dev.cpp). . Added ROM management for newbies (aboutromsets.rst), FAQ entry on common problems with unofficial builds. . Imgtool now supports HP9845B tape image. Retired imgtool_basename(), in favor of core_filename_extract_base(). Changed the read_sector apparatus to use std::vector. - SDLMAME . Partially fix SDL joysticks with same name . Each mouse should track its own double-click status (input\input_sdl.cpp) - Compiling . 3rdparty . Updated BGFX and BX and updated MAME code to support new API. Generated missing shaders. . Updated to LUA 5.3.3 . Updated GLM, Google Benchmark, GoogleTest, PugiXML and RapidJson . Changing an 'assert(false)' to 'throw false', so that this always errors even in non-debug builds (util\opresolv.cpp). option_guide C++-ification, touched up imgtool. . Subscripting std::array<..., 0> is bad; working around this specific case (util\opresolv.h) . Introduced an STL container and changed util\opresolv.cpp to use it. Alphabetizing the #include's and added typedef's for the reverse iterators (util\coretmpl.h). . Initial imgtool C++-ification . Hack for Clang compiling on windows, as it can't tell that calling ::RaiseException will prevent the function from returning (3rdparty\compat\winsdk-override\wrl\internal.h). . Fixed compile for DirectWrite font provider and make it compile with normal windows build (font\font_dwrite.cpp). Disable unknown-attributes & ignored_qualifiers to allow font_dwrite.cpp to build with Clang (scripts\genie.lua). . Changed win_get_window_text_utf8() to return std::string. This eliminated an unnecessary conversion step. . Fixed srcclean when doing multiple files in a single run - Debugger . Fixed trace command access a parameter beyond the list supplied, added an error message if you provide an invalid boolean, allow boolean to be case-insensitive and skip empty strings when parsing booleans. . Initial work towards debug command hookups for Sega Saturn. Usage: saturn inside debugger console. saturn help for a list of currently available commands. . Allow STRIP_SYMBOLS=1 and DEBUG=1 to be applied simultaneously


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


MAMEINFO.DAT 0.181  (2.60 MB)

MAMEINFO.DAT 0.180  (2.58 MB)

MAMEINFO.DAT 0.179  (2.58 MB)

MAMEINFO.DAT 0.178  (2.57 MB)

   MASH's Driver WIP

   News Submission Board
   MAME Testers
   MAME Download
   MAME Frequently Asked Questions