Release Date

MAME 0.190 was released on 27 September 2017.


MAMETesters Bugs Fixed


Machine Support

New working machines


New working clones


Machines promoted to working


Clones promoted to working


New machines marked as MACHINE_NOT_WORKING


New clones marked as MACHINE_NOT_WORKING


Notable new WORKING software list additions

Translations added or modified


Contributions

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


  • AJR added new AM9513 System Timing Controller device.
  • AJR improved 28XX parallel EEPROM emulation:
    • Emulated direct manipulation of /OE line for read/write mode control.
    • Added special handling for data polling before a write has completed.
    • Allow optional configuration to lock EEPROM after each write, as often used by Atari.
    • Replaced Atari EEPROM interface devices with base device - to use old NVRAM files, rename them from eeprom_eeprom to eeprom.
  • AJR updated dblewing: Modernized soundlatch; improved IRQ arbitration for (hopefully) fewer dropped sound commands.
  • AJR updated cninjabl2: Fixed sound banking.
  • AJR provided z8 improvements:
    • Made data space optional.
    • Fixed stack pop semantics.
    • Mask addresses for external memory accesses based on P0 control bits.
    • Fixed C flag polarity for CP/SBC/SUB, and actually subtract with carry in SBC (lets amerihok pass initial checksum).
    • Fixed interrupts.
  • AJR updated megaplay: Routed start buttons through BIOS, still not working properly.
  • AJR updated quizpun2: Emulate COP402 MCU.
  • AJR provided a COP400 overhaul:
    • Rewrote execution control logic to fetch each byte of an instruction separately in one pass of the main loop.
      • Provides EEPROM-compatible timing for the SIO shift register, allowing the 93C46 on quizpun2 to be read and written properly.
    • Added M pseudo-register (internal RAM referenced by B) to debugger state.
    • Added T register to debugger state on devices where it only affects SKT.
    • Display SIO state in binary when it is defined as a shift register.
    • Allowed skipped instructions and the SKIP flag to be debugged using a compile-time switch (disabled by default).
  • AJR updated weststry: Prevent mistimed interrupts that were killing sound.
  • AJR updated the rs232 device: Added 9615 Baud rate actually used by a number of systems.
  • Andrew Welburn fixed Lunar Lander Language ROM - now passes self-test (built from source).
  • Angelo Salese provided gstriker.cpp updates:
    • Added MCU simulation to clone romset twrldc94a.
    • Added buffered spriteram (sprites being ahead 2 frames).
    • Fixed tournament logic for Tecmo World Cup '94.
    • Improved mb60553 zooming alignment (mostly noticeable in Tecmo World Cup '94).
    • Added rotation to mb60553 core (used by V Goal Soccer during football field display).
  • Angelo Salese updated ninjaw.cpp: Changed to saner interleave CPU timings, attempted to fix missing enemies bug in Ninja Warriors.
  • Angelo Salese updated rockrage.cpp: Fixed priorities and text tile banking for Rock N Rage.
    • Fixes stage 1 boss eyes flashing and Shena display inside the bubble at stage 5 boss.
  • Angelo Salese provided mb_vcu.cpp updates:
    • Added multi-layer drawing.
    • Improved layer clearing for Mazer Blazer, fixed layer clearing for Great Guns.
    • Added collision detection feature, specific to Mazer Blazer.
  • Angelo Salese updated mazerbla.cpp: Added backup RAM, fixed lightgun inputs for Great Guns.
  • Angelo Salese updated itech8.cpp: Ninja Clowns improvements:
    • Fixed palette read accesses, fixes many color bugs.
    • Fixed 0x40000-0x7ffff constant area, program ROM now checksums correctly.
    • Moved vblank IRQ generation - fixes frames per second jerkiness.
  • Angelo Salese updated model2.cpp: Fixed luma overflow (Virtua Striker flag colors).
  • Angelo Salese updated ymf271.cpp: Added slot end status bits (fixes at least missing shots samples for Desert War).
  • Angelo Salese updated saturn.cpp: Fire a VDP1 IRQ when an illegal sprite opcode is encountered (fixes Sexy Parodius booting).
  • Angelo Salese updated pce_cd.cpp: Fixed few bogus CD-ROM state bugs (fixes booting for Snatcher).
  • Angelo Salese updated ladyfrog.cpp: Added missing DAC sound chip (fixes death scream in Touche Me).
  • Angelo Salese updated flstory.cpp: Merged memory maps and fixed gfx bank default (fixes Onna Sanshirou POST messages).
  • Angelo Salese updated bigevglf.cpp: Added DAC (cup in, crowd applauses samples).
  • Angelo Salese updated buggychl.cpp updates:
    • Fixed sound timer IRQ frequency (fixes enter initials BGM tempo).
    • Fixed background pen and clipping enable (fixes title screen and stage 3 graphics).
    • Fixed inputs, namely accelerator being analog now.
  • Angelo Salese and hap updated ioport.cpp: Fixed a longstanding INP playback desync bug caused by a rand() call in the MAME core.
  • Barry Rodewald updated the leland driver: Fixed missing DAC sounds in later Ataxx-era audio.
  • Brian Troha updated vamphalf.cpp: Added idle skipping speedup hack for coolminii.
  • Carl updated the luaengine plugin: Added translation support.
  • Carl updated the altos8600 driver: Added serial board.
  • Curt Coder updated c64_cart.xml: Added accompanying disk to 4040+Fast Hack'em cartridge.
  • David Haywood demoted Panic Road to not working - playtesting shows that the collisions aren't right.
  • Dirk Best updated the floppy device: Added drive LED callback.
  • Dirk Best added Data East IRQ Controller device used by games in the cninja and deco32 drivers.
  • Dirk Best updated pktgaldx: Added vblank interrupt acknowledge.
  • Dirk Best provided deco32 improvements and cleanups:
    • Emulated LC7535-based volume control for Dragon Gun board based games.
    • Added DSW3 and DIP switch locations to Captain Avenger.
  • Dirk Best updated the deco156 driver: Cleaned up palette.
  • Ed Fries fixed ROM size for Tank (atarittl.cpp) based on recent verification dump.
  • Enik Land provided Miscellaneous Master System/Game Gear fixes:
    • Corrected author of the SMS multipad device hardware.
    • Map upper addresses of the SMS2/GG memory map unused by devices to RAM (fixes 'shero' GG game).
    • Added PCB info for 'termntr' and fixed mapper of 'jangpun2' entries of the SMS software list.
    • Fixed a soft reset bug in the mapper code for the '4pak' entry of the SMS software list.
    • Remove two obsolete comments from the period when MESS didn't support BIOS selection.
    • Changed two comments to document that player inputs on GG aren't disabled even in SMS mode.
  • F.Ulivi updated the hp85 driver: Added support for optional ROM cartridges and started a software list.
  • Golden Child updated the a2arcadebd device: Added port mirrors so all programs on the test disk work.
  • Golden Child and R. Belmont updated the apple2 driver: Added preliminary support for the Synetix SuperSprite card.
  • Hellfromabove updated segasp.cpp: Dumped original CF card for "Dinosaur King - Operation: Dinosaur Rescue".
  • Joakim Larsson Edstrom updated the dbox driver: Added 29F800B flash boot device, hooked up RS232/modem ports.
  • Joakim Larsson Edstrom updated the 68340tmu device: Fixed MCR register enum error, silenced some logerror spam by turning them into LOGx statements.
  • Joakim Larsson Edstrom provided 68340 device improvements:
    • Deskeletonized the serial module as a device derived from the DUART device (defined in mc68681.cpp).
    • Fixed SIM module read register bug and added informative chip select logic LOG messages.
    • Simplified code by making the timer module implementation a device with two independent instances.
  • Jonas Quinn updated the upd7725 core: Ignore DPL field if destination is DP, and ignore RPDCR bit if destination is RP.
  • Kevin Eshbach added support for viewing PLS100/82S100/PLS101/82S101 equations to jedutil.
  • Kevin Eshbach added PAL dumps from Guzzler (Swimmer Conversion).
  • MetalliC updated dccons.cpp: Virginized DC Flash ROM dumps to fresh factory state and documented Dreamcast Flash ROM structure.
  • Nathan Woods made MAME return a reference from corestr.cpp calls to avoid unnecessary string copies.
  • Nathan Woods added validation checks for PORT_CHAR character values.
  • Nathan Woods made -validate verb report an error if no drivers match pattern.
  • Nathan Woods attempted to sanitize/rationalize UTF-8 command line arguments are accessed.
    • Also fixes a bug in imgtool where non-7 bit ASCII was not being handled correctly under Windows.
  • Nigel Barnes updated the spectrum driver: Added expansion slot and devices, removed Kempston Joystick Interface from driver.
    • Working devices: Currah MicroSlot, Currah MicroSource, Currah MicroSpeech, Didaktik Melodik, Fuller Box, Kempston Joystick Interface, Mikro-Plus (Shadow of the Unicorn), Protek Joystick Interface, ZX Interface 2.
    • Non-working devices: ZX Interface 1.
    • Thanks to Thomas Busse for preliminary work on Currah MicroSpeech.
  • Nigel Barnes updated the spec128 driver: Added expansion slot and devices, removed Kempston Joystick Interface from driver.
    • Working devices: Kempston Joystick Interface, Mikro-Plus (Shadow of the Unicorn), Protek Joystick Interface, Spectrum +2 Test Software, ZX Interface 2.
    • Non-working devices: ZX Interface 1.
  • Nigel Barnes updated the tube_casper device: Corrected CPU clock to 4MHz.
  • notaz updated the m68k core: Fixed abcd/sbcd/nbcd to pass 68k-bcd-verifier.
  • Patrick Mackinlay updated the upd765 device: Added support for i82072 including sense interrupt status logic and motor on/off logic.
  • Patrick Mackinlay provided clipper interrupt handling fixes:
    • Improved interrupt vector handling.
    • Fixed C300 interrupt entry and stack frame.
    • Fixed pushw where source register is same as stack register.
  • Peter Ferrie updated the apple2e driver: Don't update 80-column screen immediately on page switch.
  • rfka01 updated the psi98 driver: Added basic stub layout with drive LEDs.
  • Roberto Fresca provided unkitpkr improvements:
    • Improved the input system and mapped remaining inputs, hooked the AY8912 port and rerouted the DIP switches there.
    • Added technical notes about the hacked code.
    • Added proper palette resnet.
    • Confirmed the bipolar PROM dump, it matches the Wall Crash one.
  • Roberto Fresca provided Royal Jackpot improvements:
    • Added proper inputs/DIP switches and default NVRAM, changed game description and promoted to working.
    • Added the three missing PLDs as NO_DUMP.
    • Added a DIP switches table from manual and implemented default positions from factory.
    • Added some notes about the third draw feature.
  • Ryan Holtz updated the arm7 core: Added ARM946ES variant, fixed up CPU ID values.
  • shattered updated the cgc7900 driver: Attached keyboard and serial port, and force cold boot.
  • sjy96525 corrected regions/titles for Namco System 22 and System 23 games.
  • smf implemented program counter break point to PlayStation CPU, and re-added PlayStation EXE, CPE and PSF loading.
  • Sven Schnelle added named constants for INS8250 registers/bits (LSR/MCR/LSR).
  • Sven Schnelle updated the HP HIL device: Pass through commands between devices.
  • Sven Schnelle provied HP9000/300 improvements:
    • Added HIL keyboard support.
    • Fixed detection of DIO cards.
    • Disabled DMA controller workaround (caused ROM to use unimplemented DMA functionality, now falls back to PIO).
    • Added SN76494 sound device.
  • Sven Schnelle updated the hp9k_3xx driver: Hooked up keyboard/sound to HP9000/332, added 98603 ROM card.
  • system11 and Tafoid updated the tourvis driver: Added new BIOS dump, clarified BIOS names, and updated several games with newly discovered ID codes.
  • Ted Green updated the iteagle driver: Set medium resolution as default for virtpool and remove MACHINE_IMPERFECT_GRAPHICS.
  • Vas Crabb cleaned up and optimised common code:
    • Made natural keyboard prefer lower shift states and eliminated O(n) character lookup.
    • Turned most ROM entry accessor macros into templates and made them work on tiny_rom_entry/rom_entry pointers/references.
    • Started adding iterable class wrappers for specific types of ROM entries.
    • Added support for C++ output streams to logmacro.h using LOG_OUTPUT_STREAM macro.
    • Improved -listxml performance by another 10% or so.
  • Vas Crabb made ROM BIOS reported in -listxml output match what ROM loading does.
  • Lord Nightmare updated the buggychl driver: Removed NMI trampolines and added mirrors to memory map.
  • Lord Nightmare updated grchamp.cpp: Improved sound CPU communication.
  • Lord Nightmare updated the taitosj driver: Improved sound CPU communication and added mirrors to sound CPU memory map.
  • AWJ and Lord Nightmare updated the upd7725 core: Fixed OV1 and S1 flag calculation.
  • Lord Nightmare provided superqix.cpp updates:
    • Implemented 8751 port2 latch and fixed semaphores.
    • Replaced pending communication hacks with scheduler synchronization barriers.
    • Split up state class, consolidated port2 handling, and removed unnecessary trampolines.
    • Traced out correct clock divider for CPU and MCU from PCB.
    • Added emulation of the 8031 bootleg MCU port 3 output latch.
  • Lord Nightmare updated hexion.cpp: Fixed INT_TIME callback from K053252 CCU (fixes music speed), fixed music pitch for hexionb.
  • Lord Nightmare updated notetaker.cpp: Updated notes, and added PROMs typed from source listings.
  • Guru updated tnzs.cpp: Corrected ROM PCB locations and added Guru-Readme for the P0-25-A PCB.