MAME 0.185

From MAMEDEV Wiki

Release Date

MAME 0.185 was released on 26 April 2017.


MAMETesters Bugs Fixed


Machine Support

New working machines


New working clones


Machines promoted to working


New machines marked as MACHINE_NOT_WORKING


New clones marked as MACHINE_NOT_WORKING


Notable new WORKING software list additions


Notable new NOT WORKING software list additions


Contributions

The known contributions for this version are, in the order specified in the whatsnew:


  • Couriersud did pstring, pdynlib, pfmtlog refactoring:
    • pstring:
      • Changed to use std::string for storage (removes allocation code).
      • Added support for UTF16LE.
      • Renamed size() to mem_t_size() and len() to length(), added size() == length().
      • Added empty() and simple compare().
    • Simplified pfmtlog, added more C++.
    • pdynlib: Added a dynproc type to dynlib to wrap dynamic library calls.
    • Fixed two coverty scan issues and various clang warnings.
  • Couriersud did Netlist code refactoring:
    • More use of C++ features.
    • Some CRTP in pfmtlog.
    • Demangled code for truthtables.
    • Used more constexpr.
    • Rewrote main loop.
    • Used default constructors and assignment operators were applicable.
    • Optimized 7448 and 9316.
    • Startup time decreased by 25% to 30% (netlists like pong/kidniki are parsed, analyzed and constructed in around 15 ms).
    • Run performance has improved by about 5%.
  • AJR renamed the write-only -printer image instance type to -printout (the former conflicts with printer port in several drivers).
  • AJR updated the osbexec driver: Added experimental support for RS232C serial ports.
  • AJR provided UI input map fixes:
    • Fixed a longstanding bug that prevented binding several ORed buttons to any input belonging to a non-root device.
    • Fixed a visual glitch when assigning inputs to analog sequences.
  • AJR updated decocass.cpp: Corrected missile colors for Highway Chase and Astro Fantasia.
  • AJR updated segas24.cpp, segaybd.cpp, segajw.cpp: Use 315-5296 for I/O.
  • AJR updated segaxbd.cpp: Rewrote CXD1095 as a device and also add it to megaplay.cpp, megatech.cpp, cyclwarr, and bigfight.
  • AJR updated segaybd.cpp, srallyc: Added OKI MSM6253 device.
  • AJR added VS9209 I/O device for various Video System games.
  • AJR converted Sega Model 1 Sound Board and Z80-based Digital Sound Board to use proper UART-based serial interfaces.
  • AJR updated segas32.cpp: Input modernization:
    • Use I8255 or MSM6253 devices for most non-JAMMA inputs.
    • Separated service and test inputs in Multi-32 and twin-unit sets.
    • arescue: Four coins are recognized, not just two.
    • ga2: Use MB8421 device for V25 communications.
    • orunners: Assign keys to some 2P inputs.
    • Use Sega 315-5296 device for primary I/O.
    • Restored Coin 2 inputs to f1lap, radm, radr, slipstrm.
    • Identified onboard service inputs and restored them to practically all games.
  • AJR updated hotrod: Read pedals through MSM6253.
  • AJR updated kokoroj2: Corrected inputs, changed name to match title screen.
    • Found switch to disable CD and printer, game presumably works now, albeit imperfectly.
  • AJR updated the jvs13551 device: Removed identical second halves of overdumped MCU PROMs.
  • AJR created device_palette_interface mixin:
    • Provides most of the functionality from palette_device besides initialization/decoding routines and RAM interface.
    • Updated screen_device and device_gfx_interface to use device_palette_interface rather than palette_device.
    • Modified v9938 and v9958 to use device_palette_interface rather than a subdevice.
  • caius, Andreas Naive and AJR updated Seibu/TAD PROMs:
    • toki: Added dumps of bipolar PROMs. (caius)
    • bloodbro: Added dump of bipolar PROM. (Andreas Naive)
    • dynduke, raiden, skysmash, cupsoc: Documented undumped PROMs for many sets. (AJR)
  • Carl updated the ds1205 device: Added Dallas DS1205 Multikey.
  • Dirk Best updated the popper driver: Fixed memory map, finished gfx rendering - game is fully working again.
  • Nigel Barnes updated the dgnbeta driver: Added software list with OS-9 system and apps.
    • Replaced 5.25" floppies with 3.5", and added sounds.
    • Enabled floppy motor.
    • Removed tag lookups.
  • Luca Elia updated cesblit.cpp: Improved blit coordinates - fixes some missing graphics in e.g. galgame4.
  • Nathan Woods created 'util::arbitrary_clock' class template representing a clock with known epoch.
    • Converted NTFS filetime code and Imgtool Mac datetime code to use new template.
  • Nathan Woods updated the coco driver: Further cleanups in cartridge slot signal handling:
    • Attempts to make signals on the CoCo cartridge slot (CART, NMI, HALT) more standardized, particularly the practice of Program Paks tying the CART line to Q.
    • Should fix some outstanding bugs in how these signals were passed around when using the CoCo Multi-Pak interface.
  • Nathan Woods fixed issue that could cause bogus arguments to be reported incorrectly.
    • Example: 'mame -whatever nes' would previously be reported as "Unrecognized argument: nes".
  • Nathan Woods did some refactoring in response to MT6531:
    • Exposed emu_options image and slot selections as maps, store data that persists across sessions here rather than subverting core_options.
    • Overhauled various implementations of get_default_card_software().
  • Nathan Woods fixed out of bounds issues in NeoGeo memory access.
  • Nathan Woods did miscellaneous cleanups:
    • Fixed a pedantic MSVC warning in dipalette.h.
    • Made a few random methods 'const'.
    • Changed a lookup within the softlist code to use std::find_if().
  • Nigel Barnes updated the dragon32 driver: Corrected release year and company of Spanish clones.
    • Added joysticks to all machines, Added floppy sounds.
  • Nigel Barnes updated the dragon200e driver: Added chargen ROM, not working (possibly MC6847 issue).
    • Demoted to MACHINE_NOT_WORKING.
  • Nigel Barnes updated the d64plus: Added CRTC with chargen ROM and second screen output, not yet hooked up.
    • Demoted to MACHINE_NOT_WORKING.
  • Nigel Barnes updated the dgnalpha driver: Added older Boot v0.4 ROM.
    • Replaced 5.25" floppy drives with 3.5", and added sounds.
  • Nigel Barnes updated the atom driver: Added csw cassette format.
  • Nigel Barnes updated the dragon driver: Moved all Dragon cartridges from coco_cart to dragon_cart.
  • Nigel Barnes updated the phc25 driver: Added character generator ROM, not yet used.
  • Nigel Barnes updated the electron driver: Added Power Software joystick interface.
  • Nigel Barnes and O. Galibert updated the bbc driver: Removed the direct update handler (not supposed not to be useful any more).
  • O. Galibert updated the ti8* driver: Removed the gross boot hack - breaks the Flash-based models.
  • O. Galibert updated the abc80x driver: Removed the direct update handler.
  • O. Galibert updated the multiface 2 device: Disabled the direct update handler.
    • Device should be overhauled using the by now-reversed PAL information.
  • O. Galibert updated the i86 core: Added decrypted opcodes space support.
  • O. Galibert removed support for direct updated handlers.
  • O. Galibert updated the mlanding driver: Fixed tms32025 memory map.
  • O. Galibert updated the tms32026 core: Fixed status register and banking.
  • Ted Green updated the voodoo device: Changed multi base address selection to fix funkball textures.
  • R. Belmont updated the vp101 driver: Improved support for reduced-cost VP050 version.
  • R. Belmont updated the piratesh driver: Fixed to pass POST, which earns it working with imperfect graphics.
  • R. Belmont updated the mac driver: Fixed major 0.183 regression in Mac II series.
  • R. Belmont updated the megatouch driver: More work clarifying the various versions, thanks to Merit documentation.
  • Samuele Zannoli updated the chihiro driver: Added high level simulation of an2131sc - OutRun 2 runs with USB enabled and no patches.
  • Vas Crabb turned pstring iterator into a real forward iterator that works with standard algorithms.
  • Vas Crabb made the core assume LLVM libc++ if __llvm__ is defined but __GLIBC__ is undefined (fixes bx build with MacPorts clang).
  • Vas Crabb applied environment variable substitution to bgfx_path (github issue #2201).
  • MetalliC updated the naomi, triforce, chihiro drivers: Converted remaining bad CHD v4 to good v5, track1 and track2 length was restored based on now-known data patterns.
  • MetalliC updated naomi.cpp: Export mushik2e/mushi2eo are 3-in-1 Mushiking II, III and III+ games.
  • Antoine Mine updated the thomson driver: Fixed regressions to (legacy) floppy support.
  • Happy allowed debugger 'dasm' command to traverse virtual spaces with unmapped holes.
  • Happy updated the uml framework: Added case for parameter PTYPE_CODE_LABEL in UML instruction disassembly.
  • SailorSat updated the vicdual driver: Added 97269-P-B and 97271-P daughterboards for nsub.
    • Confirmed PR-33 and PR-34 on the nsub motherboard - type is MMI 6331 (32*8).
    • Added the 97269-P-B daughterboard - gradient is still a simulation, but uses the PROMs (starfield is still missing).
  • fulivi and A.Kueckes implemented HP 9845T driver (9845 with HP987080A hardware-accelerated monochrome graphics).
    • Fixed a race condition in 45T, added second tape drive (T14), 98035 module default SC is 9 now.
    • hphybrid: Hopefully fixed a super-subtle race condition in 9845T video hardware.
  • David Haywood updated acchi.cpp: Promoted to working state:
    • Added scantimer interrupt, inputs work in game.
    • Added video banking.
    • Added an NMK112 for sound banking, might not be hooked up correctly, difficult to know without understanding Japanese.
    • Oki frequencies etc. need verifying on PCB.
  • Jean-Francois DEL NERO updated the mcs51 core: Fixed indirect memory access opcodes dec, inc and xch_a.
    • Indirect access can't use SFRs, only extra memory above 0x80.
  • htjywf2008 updated the i86 core: Fixed JNL flags test (github issue #2200).
  • Brian Troha updated namconb1.cpp: Corrected Coin inputs and added in Coins 3 and 4 as needed.
  • RebeccaRGB updated the wirels60 driver: Made P2 IO port optional.
  • moralrecordings updated the sblaster device: Save DSP state, fixed incessant popping before first use.
  • moralrecordings updated the ymf262 device: Added save state support and slot pointer checks.
  • kazblox provided nes improvements:
    • Marked edu2k48 as working, added notes about mouse titles.
    • Made koko not use battery-backed WRAM as shown in PCB picture.
    • waixing.cpp: Slight modernizations - waixing_sgzlz_device now implemented the way CaH4e3 does it, gets some titles working.
  • einstein95 fixed Head Panic modesty settings (more modesty means more clothing; nude/bikini pics are displayed after a level when set).
  • OzFalcon provided input/service button fixes and cleanups:
    • realbrk.cpp: Removed service button hard-coded keycode assignment.
    • hanaroku: Use standard hanafuda inputs and key assignments, remove hard-coded IPT_SERVICE assignments.
    • aleck64.cpp: Corrected Service/Test Button assignments.
    • suprstar: Remove hard-coded keycode assignments.
    • ampoker2.cpp: Made various key assignments consistent.
    • albazc.cpp: Assigned "Data Clear" to IPT_MEMORY_RESET, changed "Medal In" and "Pay Out" to standard buttons, changed lockout "Key" to PORT_TOGGLE type, corrected "Payout" button to use "IPT_GAMBLE_PAYOUT", corrected IPT_SERVICE assignments, set IPT_SERVICE and Double up buttons as standard assignments, set "Ext In 1" & "Ext In 2" as IPT_OTHER.
  • limyz fixed gtrfrk6m boot by correcting Flash card memory size to 32MB, works for gtrfrk5m as well (thanks to @sakamoto-neko).
  • rtw updated naomi.cpp: Redumped "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)".
  • ShouTime documented that Taito's T.T. New York New York ROMs match the Sigma set.
  • fink added later SuperMac Spec/8 III V1.3 NuBus ROM.
  • Peter Bortas fixed coverity CID 157540 and CID 15741: Missing comma resulting in unintentional string concatenation.
  • NekoEd updated the sun4 driver: Added SPARCstation IPX V2.3 and SPARCstation 1 V2.2 boot ROMs.
  • Pugsy fixed writes to decrypted opcode memory space.
    • Separated EXPSPACE_RAMWRITE and EXPSPACE_OPCODE case statements to allow opcode writes to access the correct memory.
    • Example: In flicky this will now disable cat collisions with the main sprite: maincpu.ob@3ac6=c3.