Release Date

MAME 0.199 was released on 27 Juny 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


Contributions

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

  • AJR updated the esb driver: Fixed ROM loading bug.
  • AJR updated taito_b.cpp: Identified TC0180VCU as source of interrupts and converted to callbacks (timing is still guesswork).
  • AJR updated the keytronic_pc3270 device: Corrected INT0 line polarity - fixes keyboard error on tosh1000.
  • AJR updated exidy.cpp, victory.cpp: Fully encapsulated audio devices.
  • AJR updated the atetrisb3 driver: Hooked up microcontroller to get working sound.
  • AJR provided i8275 DMA refinements:
    • Exclude FIFO characters from counting towards filling character buffer.
    • Extend DMA up to one character past an "end of DMA" control code.
  • AJR updated the wicat driver: Reduced video glitches with more sensible interrupt handling.
  • AJR updated balsente.cpp: Split NVRAM between two X2212 devices.
  • AJR updated jedi.cpp: Moderate driver overhaul:
    • Split NVRAM between two 4-bit X2212 devices.
    • Guarantee an invalid checksum when default NVRAM data is used (so that the manufacturer's high scores will be installed).
    • Modernized sound latches.
    • Use WSQ handler to drive TMS5220.
  • AJR updated the vta2000 driver: Added speaker sound.
  • AJR updated balsente.cpp: Use ACIA devices for sound communication.
  • AJR updated the x2212 device: Removed memory interface and cleaned up code.
  • AJR updated the tms9928a device: Exposed internal palette using device_palette_interface.
  • AJR updated dynax.cpp: Encapsulated "Rev. 2" blitter as a device.
  • AJR updated the cidx628 driver: Made this display something again.
  • Angelo Salese provided tatsumi.cpp improvements:
    • Removed an ugly kludge in Round Up 5, fixing soft resets.
    • Added vertical text scrolling to Round Up 5.
    • Fixed Apache 3 out-of-bounds colors for sprites (trees and buildings).
    • Fixed Round Up 5 video priority on map screen after a play.
    • Added background bitmap layers to Round Up 5.
    • Improved road clipping for Round Up 5.
    • Make Cycle Warriors sub CPU not stall on soft reset.
    • Added row/column scroll register select for Cycle Warriors and Big Fight.
    • Added shadow sprites to Cycle Warriors and Big Fight.
    • Inverted Oki status for Cycle Warriors and Big Fight - fixes "we got 'em" sample playback in the former.
    • Implemented per-tile high priority and opacity enable bits for Cycle Warriors and Big Fight - fixes several glitches.
    • Fixed color banks for Cycle Warriors and Big Fight - fixes fade in/out effects and CRT test colors.
    • Applied page wraparound for backgrounds - fixes various glitches in Big Fight and Cycle Warriors.
    • Invert shadow product when a specific register is enabled (used by Big Fight to simulate disco strobe lights).
  • Angelo Salese updated ninjakd2.cpp: Attempted to fix bullets not shot by enemies in Omega Fighter.
  • Angelo Salese updated taitosj.cpp: Added input buttons mode to kikstart.
  • Angelo Salese updated trucocl.cpp: Allowed multiple coin insertions.
  • Angelo Salese provided cischeat.cpp improvements:
    • Fixed road/sprite priorities and long-standing road colors regression in Big Run.
    • Hand-tuned sound frequencies to match reference for Big Run.
    • Hooked up sprite DMA to Wild Pilot - fixes flickering.
    • Added backup RAM to Captain Flag.
  • Angelo Salese updated ms1_tmap.cpp: Initialize VRAM to sane default - fixes ugly back pen showing up in Big Run.
  • Angelo Salese provided jalmah.cpp improvements:
    • Re-wrote video emulation using Mega System 1 tilemap devices.
    • Fixed Urashima Mahjong video priority during gameplay (score display and calls).
    • Emulated video scrolling partial updates for Urashima Mahjong - fixes winning animations.
    • Fixed color protection in Urashima Mahjong (girls and test mode).
    • Wrote a preliminary snippet for sound banking in Urashima Mahjong/Mahjong Channel Zoom In/Mahjong Daireikai.
  • Angelo Salese updated cyclemb.cpp: Bumped sprite size in Cycle Maabou, fixed some missing sprites (for example in how to play screen).
  • balrog added AppVeyor build configuration.
  • Belegdol added support for building on riscv64, and made m68000 makefile respect the VERBOSE build option.
  • cam900 updated senjyo.cpp: Simplified starforc background color swap.
  • cam900 updated seta.cpp: Simplified tilemaps and banking, and added output finders.
  • cam900 updated ms32.cpp: Identified CPU types, fixed audio CPU clock.
  • cam900 updated fmtowns.cpp: Fixed speaker output level.
  • cam900 updated vis.cpp: Fixed sample rate divider.
  • cam900 updated megaplay.cpp: Added notes and flagged imperfect graphics as overlay bitmap is scaled incorrectly.
  • cam900 updated cybertnk.cpp: Reduced code duplication and runtime tagmap lookups, fixed sound output, and added notes.
  • cam900 updated rltennis.cpp: Converted to object finders.
  • cam900 updated sf.cpp, ninjakd2.cpp: Reduced code duplication and runtime tagmap lookups.
  • cam900 updated dreamwld.cpp: Documented microcontroller and fixed microcontroller ROM region size.
  • cam900 provided a williams.cpp cleaup:
    • Reduced runtime tagmap lookups, improved tags, and reduced code duplication.
    • Added input_merger for interrupts and output_finder for outputs.
    • Converted palette to device.
  • cam900 provided m92.cpp updates/cleanup:
    • Reduced code duplication and runtime tagmap lookups, and split up machine configuration and address maps.
    • Made EEPROM save/load using NVRAM device.
  • cam900 updated neogeo.cpp: Add notes and fixed metadata for kof2003.
  • cam900 provided a powerins.cpp cleanup:
    • Reduced code duplication and runtime tagmap lookups
    • Cleaned up ROM loading.
    • Converted vertical blanking interrupt to screen vblank callback.
  • cam900 provided a 20pacgal.cpp cleanup:
    • Converted palette to device.
    • Reduced runtime tagmap lookups and deferred allocation to start time.
    • Restricted drawing to clipping rectangle.
  • cam900 provided a ddragon.cpp cleanup:
    • Replaced runtime tagmap lookups with object finders.
    • Converted darktowr bank switching to address_map_bank_device.
    • Fixed ADPCM ROM mapping.
  • cam900 updated pgmprot_igs027a_type2.cpp: Fixed martmast metadata.
  • cam900 updated alpha68k.cpp: Reduce runtime tagmap lookups, made tags more meaningful, and improved banking.
  • cam900 updated shangha3.cpp: Cleaned up Oki banking.
  • cam900 updated snk.cpp: Reduced runtime tagmap lookups, and separated countryc machine configuration/address map.
  • Carl added a Discord presence plugin.
  • David Haywood updated witch.cpp: Attempted to fix garbage graphics after a bonus stage in Keirin Ou.
  • kazblox provided markham.cpp updates:
    • Improved banbam protection simulation - still imperfect, but all graphics are correct and game doesn't crash.
    • Marked microcontroller program as good dump based on observations and Phil Bennett's comments.
  • krom updated the PlayStation GPU device: Added missing primitives.
  • Lord Nightmare updated buggychl.cpp: Changed microcontroller clock speed to 3 MHz as shown on schematics, and added notes.
  • Lord Nightmare provided TMS5220 updates:
    • Removed unused time_to_ready and cycles_to_ready functions.
    • Fixed race condition with m_buffer_low and m_buffer_empty flags not being updated before setting interrupt state.
    • Fixed issue where Speak VSM command produces endless silence with no VSM connected.
    • Suppressed side effects on debugger reads.
    • Fixed conditions for asserting ready signal, and zero FIFO at appropriate times.
  • Lord Nightmare and Tony Diaz updated the Apple II driver: Re-implemented Echo II read/write flags and write latch based on hardware tracing.
  • MetalliC updated alien.cpp: Added hand-made boot ROMs for Pingu's Ice Block, and documented known games.
  • Michael Zapf updated the geneve driver: Added BIOS options for selecting boot ROM, and made genmod a separate machine.
  • Michael Zapf updated the upd765 device: Clear ST1.ND on ID scan failure, implemented head load delay, and improved logging.
  • Patrick Mackinlay updated the debugger: Added command for go_exception, and made save/load aware of address translation.
  • R. Belmont updated the sonydriv device: Fixed issues with the 3.5" drive reporting disk switches on Apple IIgs and Mac drivers.
  • Robbbert updated zaurus.cpp: Converted to new PXA255 peripheral device interface.
  • Ryan Holtz updated the apc driver: Reduced runtime tagmap lookups.
  • Ryan Holtz updated the kbdc8042 device: Added rudimentary PS/2 mouse support.
  • Ryan Holtz updated the indy_indigo2 driver: Added mouse cursor support to Newport graphics emulation.
  • Ryan Holtz updated the 39in1 driver: Split Intel XScale PXA255 peripherals into a separate device.
  • Ryan Holtz updated the mips3 core: Added disassembler for Emotion Engine core opcodes.
  • shattered updated the sblaster device: Implemented direct DAC mode - successfully tested in Scream Tracker 2.2.
  • shattered updated the ec1841 driver: Added mouse emulation (Logitech bus mouse protocol).
  • snickerbockers updated the Dreamcast driver: Made GD_LEND return bytes transferred by DMA rather than bytes remaining - allows Daytona USA 2001 to boot.
  • Sven Schnelle added HP98543 medium-resolution color graphics card emulation.
  • Sven Schnelle provided hp9k_3xx improvements:
    • Fixed keyboard microcontroller part number.
    • Removed BASIC ROM cards from the default configuration as booting from floppy works now.
    • Hooked up NMI line to keyboard controller.
    • Split out common machine configuration.
  • Sven Schnelle updated the m68000 driver: Fixed carry flag in divs instruction, and fixed pack instructions.
  • Sven Schnelle updated the 6840ptm device: Fixed divide-by-8 mode.
  • Sven Schnelle updated the topcat device: Improved window mover and fixed cursor handling bugs.
    • Allows Pascal and other software to show something after boot on hp9k_3xx.
  • Ted Green updated the voodoo device: Reinstated texture address masking - fixes segmentation fault in warfa.
  • Ted Green updated the hornet driver: Added separate DIP switch settings for gradius4 - allows gun to work with default settings in terabrst and sscope.
  • Ted Green updated DCS audio to get sf2049 closer to working.
  • Vas Crabb made ROM BIOS macros more intuitive to use, and added a validity check for unselectable BIOS ROMs.
  • Vas Crabb provided machine configuration improvements:
    • Reduced code duplication in addrmap.h and added support for object finders in more places in memory maps.
    • Allowed implicit references to owner device in address maps.
    • Improved syntax for specifying address maps and screen update functions in machine configuration without macros.
    • Reduced overloading of member function names - it's less practical without macro helpers selecting desired overload.
    • Consider floating point epsilon when validating crystal values.
  • Wilbert Pol cleaned up bulk refactoring of output code.
  • Brian Troha updated asteroid.cpp: Documented Asteroid Deluxe Revision 3 changes, and corrected Difficulty DIP switch settings.
  • coolmod updated naomi.cpp: Added an alternate Ferrari F355 Challenge 2 program ROM dump.
  • r09 provided pc98 software list updates:
    • Re-tested software with current MAME.
    • Corrected titles and re-labeled disks with their actual names.
    • Added usage notes for software that needs DOS.
    • Removed user disks from games where they aren't included in the original box, and the user is expected to create them.
    • Removed floppies for CD games that already exist in the CD software list.
    • Removed notes stating that the FDD format is not supported, as this is no longer true.
  • Razoola updated neogeo.cpp: Added Japan NEO-MVH MV1C BIOS.