Release Date

MAME 0.201 was released on 30 August 2018.


MAMETesters Bugs Fixed


Machine Support

New working machines


New working clones


Machines promoted to working


Clones promoted to working


New machines marked as NOT_WORKING


New clones marked as NOT_WORKING


New working software list additions


Software list items promoted to working


New NOT_WORKING software list additions


Translations added or modified


Contributions

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


  • AJR updated the m6809 core: Improved disassembly.
    • Use FCB directive to represent illegal opcodes, don't print spaces after instructions without operands.
  • AJR updated the osbexec driver: Removed spurious line inversion that broke the self-test.
  • AJR improved debugger view behavior:
    • Mask address expressions in disassembly view.
    • Mask address expressions correctly in memory view when using physical addresses beyond logical limits.
    • Fixed scrolling glitch in memory view when address expression is applied.
  • AJR updated imd_dsk.cpp: Added some sanity checks on geometry.
  • AJR updated the funkball driver: Added UART and RS-232 port for diagnostic output.
  • AJR updated the prose2k driver: Added RS-232 port and Baud clock, and converted terminal to serial device.
  • AJR updated the ms9540 driver: Fixed ROM loading.
  • AJR zodated the f3853 core: Improved interrupt behaviour.
    • Don't fire external interrupt automatically when enabled, and clear interrupt requests once taken.
  • AJR updated the elwro800 driver: Added "TV" EPROM and corrected clocks.
  • AJR added support for V33/V53 expanded addressing mode, including BRKXA and RETXA instructions.
  • AJR updated the sol20 driver: Added configuration options for CPU speed and field rate.
  • AJR updated the f8 core: Fix formatting glitch with disassembly of invalid instructions.
  • AJR updated the meritum driver: Added NMI key, and remapped keys to be more accurate to hardware.
  • AJR updated screen.h: Fixed have_screen_update accessor and renamed to has_screen_update.
    • Fixes regressions in granny and other drivers using custom update functions with CDP1861, CDP1864 and TMS992x VDPs.
  • AJR moved definition of address_space_config from dimemory.cpp to emumem.cpp (declaration was already in emumem.h).
  • AJR updated the z80sio device: Ignore "Send Abort" command when not in SDLC mode - allows jade to start.
  • cam900 updated psx.cpp: Converted video to device_palette_interface and added support for 24-bit output.
  • cam900 updated the X1-010 device: Converted to device_rom_interface, and converted memory mapping to proper memory banks in seta.cpp and seta2.cpp.
  • cam900 provided seta.cpp updates:
    • Added NVRAM and PCM mute control to calibr50, and noted revision in description.
    • Reduced twineagl frame rate to improve music timing.
  • cam900 provided vgmplay updates:
    • Added X1-010 support.
    • Fixed C6280 and ES5503 addresses.
  • cam900 updated aica.cpp: Implemented MONO/MVOL, EXTS mixing, and clock change support.
    • Also corrected AICA routing for Dreamcast, and added correct number of AICAs for Hikaru.
  • cam900 updated ymf262.cpp: Added support for clock changes.
  • cam900 updated y2.cpp, ggconnie.cpp, crshrace.cpp: Improved metadata.
  • cam900 updated the h6280 core: Added internal PSG.
  • cam900 updated dec0.cpp, actfancr.cpp: Reduced code duplication.
  • cam900 updated policetr.cpp: Cleaned up code, added save state support, reduced tag lookups, and converted drawing buffer to bitmap.
  • cam900 updated l7a1045_l6028_dsp_a.cpp: Added save state support.
  • cam900 updated deco32.cpp, deco_zoomspr.cpp: Fixed background color for dragngun and added notes.
  • cam900 updated dcheese.cpp: Corrected palette size, reduced tag lookups, and improved names.
  • cam900 updated pcfx.cpp: Added Hudson HuC6230 SoundBox emulation (PSG with ADPCM playback).
    • Also added ADPCM transfer and save state support to HuC6272.
  • cam900 updated taotaido.cpp: Cleaned up code, reduced tag lookups, and added save state support.
  • cam900 updated nmk16.cpp: Identified tharrier CPUs and crystals.
  • cam900 updated the taito_zm device: Cleaned up code, connected outputs, and corrected TMS57002 clock.
  • Carl updated the vis driver: Fixed display in 256 color mode, and added controller buttons 1 and 2.
  • David Haywood updated the tlcs870 core: Rewrote most of the emulation.
    • Implemented interrupts, added I/O ports (data direction not implemented), and added timer-based serial communication.
  • David Haywood updated the hng64 driver: Updates and refactoring.
    • Hooked up TLCS-870 MCU communication and interrupts, and connected I/O ports to MCU.
    • Removed hacks/HLE rendered unnecessary by MCU emulation.
    • Added hacks allowing racing games to enter gameplay and run without crashing.
  • David Haywood updated the nightmare driver: Added default EEPROM contents.
  • Derrick Renaud fixed DISC_555_TRIGGER_DISCHARGES_CAP option in DISCRETE_555_MSTABLE.
    • Allows sound in Amazing Maze to play properly beyond 30 seconds.
    • Also avoided problematic debug log file names on Windows.
  • Enik Land provided 315_5124.cpp bug fixes:
    • Fixed off-by-one bug in 315-5124/315-5313 sprite zoom limit.
    • Fixed 315-5214 tile/line numbers in leftmost column.
    • Avoid flagging sprite collisions twice on the same line for 315-5313.
  • F.Ulivi updated the hp_ipc device: Improved HP-1LL3 GPU emulation.
    • Improved drawing, made VRAM size configurable, implemented commands used by diagnostics, and implemented RDWIN/WRWIN bit offset.
  • Fabrice Bellet updated imgtool: Fixed parsing of options with enumerated values.
  • Felipe Sanches updated atarittl.cpp: Added netlist for a large portion of gtrak10 (Gran Trak 10, 1974) - still not working.
  • Joseph Zatarski updated the mc68681.cpp device: Added Exar XR68C681 support, including MISR register and extended Baud rates.
  • Michael Zapf provided ti99 updates:
    • Added support for 16-sector TDF disk images.
    • Made TDF images compatible with PC99 by forcing CRC to constant F7F7.
    • Improved Hexbus/IBC emulation, allowing Hexbus floppy drive to work with TI-99/2.
    • Fixed TMS9995 decrementer low byte reads - fixes TI-99/2 cassette loading.
    • Modernised machine configuration.
  • Michael Zapf updated the upd765 device: Discard write FIFO data pushed when write command fails to find sector.
  • Michael Zapf updated the hdc92x4 device: Added a minimum head load time to compensate for the floppy spin-up.
  • Michael Zapf updated the tms99xx device: devcb3 changes, removing MCFG macros for 9900, 9901, 9980A, 9995.
  • Michael Zapf updated the cassette device: Added audio output streams, removing need for "wave" device.
  • MoochMcGee updated the i386 core: Fixed a bug that could cause a common CPU detection check to misidentify a 386 as a 486.
  • O. Galibert updated the indigo driver: Fixed ROM loading.
  • O. Galibert added support for abbreviated read/write handler signatures, and binding an object finder to an instance by reference.
  • O. Galibert updated the wd_fdc device: Simplified API.
  • O. Galibert updated the tms57002 core: Suppressed aggressive inlining to reduce compiler memory usage.
  • Patrick Mackinlay updated the z80scc device: Fixed serial control signal behaviour.
    • Corrected polarity, removed ring indicator input, fixed "all sent" handling, and implemented sync interrupts.
  • Patrick Mackinlay updated the interpro driver: Improved emulation, allowing headless configurations to be used.
    • Fixed serial DMA and added missing control lines.
    • Added 60x0 CLIX root floppies to software list.
  • R. Belmont updated the h8 core: Added H8/3003 support.
  • R. Belmont provided apple2 updates:
    • Added support for per-scanline Lo-Res rendering - helps "KFest18 2K Rasterbar Demo".
    • Fixed reverse-logic on TransWarp slot DIP switches that caused disks to not boot.
  • R. Belmont, M. Guidero and Leon Bottou provided apple2 updates: Improved Apple //c Plus MIG and floppy emulation, allowing the system to be used with the first 3.5" drive.
  • r09 provided pc98 updates:
    • Fixed blink attribute.
    • Improved titles and disk labels in software list, and added usage notes for software that needs DOS.
    • Removed user disks that weren't actually provided with software from software list.
    • Fixed albatvis hashes, and removed disks that only differ in user save data.
  • rakslice updated the dp8390 device: Treat AppleTalk subnet broadcast L2 multicast address (09:00:07:ff:ff:ff) as Ethernet broadcast.
    • This is a workaround for lack of multicast filter implementation.
  • Robbbert updated the super80 driver: Split software list between the 32- and 80-column versions.
  • Robbbert updated the slicer driver: Fixed floppy density selection.
  • Robbbert updated the fccpu20 driver: Fixed terminal display.
  • Robbbert updated the minitel2 driver: Added BIOS bv9.
  • Robbbert updated the cdc721 driver: Added "Graphics Firmware" ROMs.
  • Robbbert updated the Z80SCC device: Fixed Z-BUS access.
  • Robbbert updated the c900 driver: Converted terminal to serial device using Z80SC.
  • Robbbert updated the sorcerer driver: Added experimental support for the twin floppy unit in the video/disk accessory.
  • iq_132 and Robbbert updated cvs.cpp: Replaced ROM patches with protection simulation for huncholy, superbik, and hero.
  • Roberto Fresca updated mastboyo.cpp: Improved inputs, added remaining DIP switches, and cleaned up the code.
  • Ryan Holtz modernized machine configuration or many devices and systems.
    • Systems include bebox, indy_indigo2, mac128, macpci, nsg6890 oric, pet, prodigy, rmnimbus, ssystem3, swtpc09, swyft, sym1, trvquest, tv950, vectrex, vic20, victor9k, and wicat.
  • Ryan Holtz added rudimentary Philips PCF8583 RTC emulation, based on the PCF8593 device.
  • Ryan Holtz added a skeleton device for the STmicro ST6 series of microcontrollers.
    • Includes disassembler, banked data RAM, ROM, named registers, and untested GPIO.
  • Samuele Zannoli provided i386 updates:
    • Added Athlon XP processor.
    • Fixed XADD condition codes - should be based on result of addition.
    • Added an enumeration describing CPUID feature information bits.
  • smf provided vgmplay updates:
    • Added software list support.
    • Re-initialise on loading a new track.
    • Added C140, ES5503, SAA1099, SCSP, VSU, WonderSwan audio, Y8950, YM2610, YMF262, YMF278B and uPD7759 support.
    • Fixed K054539 and YM2610 support.
    • Added clock change support to ES5503, ES5506, SAA1099, uPD7756/uPD7759, and Virtual Boy sound.
    • Added support for Oki M6258 data streams and clock/divider changes.
  • smf updated the WonderSwan audio device: converted to device_rom_interface and added clock change support.
  • smf updated the Namco C140 device: converted to device_rom_interface and added clock change support.
  • smf updated the uPD7759 device: Converted to device_rom_interface and added master/slave select input.
    • Finished hooking up to bayrouteb1, eswatbl, goldnaxeb1 and passshtb.
  • smf updated the SCSP device: Converted to device_rom_interface, added clock change support, and corrected clock frequency.
  • smf improved emulation startup performance by using more appropriate strategy for sorting save state entries.
  • snickerbockers updated powervr2.cpp: Improved performance by turning some per-pixel branches into per-polygon branches.
  • superctr improved Taito ZSG2 sound:
    • Adjusted gain function and ramping algorithm, and added sample interpolation, emphasis filter and low-pass filer.
    • Enabled TMS57002 DSP.
  • superctr improved TMS57002 emulation.
    • Emulated multiply/accumulate pipeline.
    • Added ALU saturation flag.
    • Fixed issues with CMEM UPLOAD and PLOAD.
  • superctr updated the konamigx driver: Hooked up third and fourth TMS57002 outputs based on educated guess.
  • superctr and ValleyBell updated the qsoundhle device: Replaced implementation with back-ported DSP program.
  • Vas Crabb and O. Galibert updated the m6502 core: Added support for microcontrollers and implemented MOS 6500/1 as a device.
  • Vas Crabb improved support for screen orientation/geometry and automatic layout generation:
    • Added orientation and physical aspect ratio properties to screen device.
    • Automatically generate views for systems one screen.
    • Documented layout file format and automatically generated views.
  • Vas Crabb added save state support for C arrays and std::array nested to any depth.
  • Vas Crabb updated amiga.cpp: Overhauled keyboard emulation:
    • Re-implemented Mitsumi keyboard emulation using MOS 6500/1 device.
    • Added support for Amiga 1000, Amiga 600, and Amiga 2000/3000/4000/CDTV Mitsumi keyboards.
    • Added support for Cherry G80 Amiga 2000 keyboard (8039 version with external EPROM).
    • Removed reset line from keyboard to host on systems with external keyboards.
    • Emulated keyboard reset circuit for Amiga 1000, Amiga 2000 and Amiga CDTV.
    • Added configuration setting for "compact mode" supported by Amiga 1200 keyboard program.
  • Brian Troha updated sshangha.cpp: Added PCB layout for Super Shanghai Dragon's Eye, and derived clocks from oscillator frequency.
  • caius updated megaphx.cpp: Flagged megaphx PALs as bad dumps.
  • caius and The Dumping Union updated toaplan1.cpp: Corrected program ROM names for Out Zone (Harder), and the mask ROM names for all Out Zone sets.
  • Chromaryu updated taito_f3.cpp: Removed outdated comment.
  • Corrado Tomaselli updated twincobr.cpp: Verified oscillator frequencies for Twin Cobra.
  • Corrado Tomaselli updated mainevt.cpp: Added proper screen parameters, and updated notes.
  • exidyboy updated sorcerer_cass.xml: Corrected publisher/developer for two titles.
  • FakeShemp updated gameboy.xml: Update ROM labels/types from No-Intro.
  • Firehawke clarified and re-worded the descriptions of typical ROM set organisation schemes.
  • Gerrit Heitsch dumped Amiga 2000 keyboard (Cherry G80, 8039 with external EPROM).
  • Grull Osgo updated the z180 core: Added workaround for missing serial and counter emulation, allowing some software to progress further.
  • Guru updated cosmic.cpp: Corrected ROM labels and verified ROM types for devzone.
  • Ioannis Bampoulas updated goldstar.cpp: Identified Fever Chance PCB as original Wing W-6 hardware.
  • Joe Magiera updated the zoar driver: Confirmed ROM dump is good.
  • justindarc updated apollo.h: Work around MSVC's dislike for incomplete types in device finders.
  • MASH updated the eyesb driver: Patched PROM to correct colors.
  • Ordyne updated hikaru.cpp: Dumped development/prototype BIOS v.074.
  • Ordyne updated naomi.cpp: Dumped Club-Kart Cycraft Motion PC software.
  • Ordyne and MetalliC updated naomi.cpp: Dumped additional BIOS/firmware versions.
    • NAOMI Development/tester BIOS (Nov 1998), Ferrari F355 DLX prototype Japan and Export BIOS, NAOMI Rev F Export BIOS.
    • Ferrari F355 DLX prototype motor board firmware.
  • PinMAME updated play_1.cpp: Verified that Third World and Night Fever use the same ROMs as Big Town and others.
  • Porchy updated dotrikun.cpp: Corrected ROM label for Dottori Kun (old version).
  • pxdnbluesoul updated info.cpp: Adjusted indentation of DTD to better reflect structure.
  • sjy96525 updated segas32.cpp: Mapped second start button for F1 Exhaust Note.
  • Tafoid updated the vgmplay driver: Added software list to including titles from all major packagers (VGMRips, SMSPower, and Project2612).