Release Date

MAME 0.197 was released on 25 April 2018.


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


Notable new NOT_WORKING software list additions


Contributions

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

  • AJR began conversion from MCFG_DEVICE_VBLANK_INT to MCFG_SCREEN_VBLANK_CALLBACK.
  • AJR updated the bbc driver: Connected 6845 VSYNC to CA1 on first VIA.
  • AJR demoted suprstar to not working - errors out when inserting coins.
  • AJR updated the unkhorse driver: Lowered frequency of 8155 timer driving speaker.
  • AJR updated the beathead driver: Replaced NVRAM with parallel EEPROM.
  • AJR updated the backfire driver: Added ADC for potentiometer controls.
  • AJR provided ARM disassembly improvements:
    • Calculate R15-relative offsets in disassembly.
    • Fixed erroneous identification of S field in data processing opcodes.
    • Calculate result of ADD/SUB Rn,R15,#imm.
  • AJR updated the pbaction driver: Use CTC to provide interrupts for sound CPU.
  • AJR updated ddenlovr.cpp: Changed main CPU type to TMPZ84C015 for most Z80-based games.
  • AJR relaxed constraints on address mirroring/global mask combinations.
    • Mirror bits may now fall outside the global mask provided they cover the entire masked-out portion.
  • AJR updated umipoker, saiyukip: Changed YM3812 clock and use it to drive sound CPU interrupt.
  • AJR updated the upd7725 core: Fixed disassembly.
  • AJR updated the z80ctc device: Made channels into subdevices.
  • AJR updated the sexygal driver: Added sample player.
  • Caps0ff and AJR updated the shackled and breywood drivers: Replaced MCU simulation with 8751 code dumped from Breywood and hacked for Shackled.
  • AJR updated the ms6102 driver: Use VT100 keyboard for now.
  • Angelo Salese updated aleck64.cpp: Improved Magical Tetris Challenge tetrominoes display (ghost pieces and colors).
  • Angelo Salese provided stvvdp2.cpp improvements:
    • Fixed regression with Cotton 2 backgrounds from stage 2 onward (ROZ mode 3 without rotation parameters).
    • Apply ROZ windows per screen output, not per bitmap - fixes Batman Forever character select and the Riddler final stage graphics.
    • Fixed RBG0 cache map range - fixes Head On graphics update in Sega Memorial Collection 1.
  • Angelo Salese updated stvvdp1.cpp: Preliminary implementation of PMOD 7 (gouraud + half transparent).
    • Fixes Lupin the 3rd Pyramid no Kenja enemy shadows.
  • Angelo Salese updated warpwarp.cpp: Added optional color setting for kaitei.
  • Angelo Salese provided legionna.cpp fixes:
    • Fixed regression in background tilemap colors for Godzilla (uses DMA mode 4 like Denjin Makai).
    • Fixed Godzilla OKI sound bank switching.
  • Angelo Salese updated galivan.cpp, terracre.cpp: Rewrote NB1412M2 as a device.
  • cam900 updated airbustr.cpp: Reduced code duplication and runtime tagmap lookups, removed unnecessary bitmap.
  • cam900 updated hvyunit.cpp, lemmings.cpp, namcos11.cpp: Minor code cleanup and runtime tagmap lookup reduction.
  • cam900 updated aerofgt.cpp: Reduced code duplication.
  • cam900 updated psikyo.cpp, gundealr.cpp: Reduced code duplication and runtime tagmap lookups.
  • cam900 updated dreamwld.cpp: Implemented tilemap size register, reduced code duplication, and reduced runtime tagmap lookups.
  • cam900 updated namcos12.cpp: Cleaned up code, reduced runtime tagmap lookups, and made COH716 a separate configuration with correct GPU.
  • cam900 updated djboy.cpp: Cleaned up code, reduced runtime tagmap lookups, modernised sound latches, and implemented stereo output.
  • cam900 updated firefox.cpp: Cleaned up code, reduced runtime tagmap lookups, and modernised sound latches.
  • cam900 updated arcadecl.cpp: Cleaned up graphics decode, fixed year in comment.
  • cam900 updated coolpool.cpp: Modernised CPU-DSP communication latches, and split I/O maps for coolpool and nballsht.
  • cam900 updated the tlc34076 device: Allocate palette RAM and pens at start time.
  • cam900 updated atarisy2.cpp: Minor cleanup, use address_map_bank_device for banked video RAM.
  • cam900 updated cave.cpp: Fixed hotdogst metadata.
  • cam900 updated pgm.cpp: Removed unused members and converted code to use object finders.
  • cam900 updated pc9801_86.cpp: Improved PCM timer behaviour - actual master clock still unknown.
  • cam900 updated partner.cpp, asuka.cpp: Use object finders for memory banks rather than string formatting and tagmap lookups.
  • cam900 updated zn.cpp: Simplified Z80 bank switching for FX-1 games.
  • cam900 updated pasha2.cpp: Added output finders for lamps, reduced runtime tagmap loopups, moved bitmap memory allocation to start time, and simplified/de-duplicated code.
  • Curt Coder updated the abc80x drivers: Implemented option ROM opcode fetch through character RAM.
  • David Haywood marked Blades of Steel sets as joystick/trackball to reduce confusion.
  • David Haywood updated the nes software list: Marked Super Mary a clone of Super Mario Bros (github #3327).
  • David Haywood updated the xavix driver: Re-organised and tidied code, and updated notes.
  • David Haywood updated the bionicc driver: Started hooking up microcontroller emulation - still relies on hacks.
  • Dirk Best updated the guab driver: Added RS232 port and update notes.
  • Dirk Best rewrote adc0808 device so it actually works and added to a number of drivers.
    • Added to galastrm, groundfx, jedi, lockon, opwolf3, othunder, superchs, taito_z, tceptor, undrfire, and wheelfir.
  • Dirk Best updated the model2 driver: Added proper default values for lightgun games, treat five percent of range as off-screen.
  • Dirk Best updated the model1, model2 drivers: Emulated Model 1 I/O board, and removed I/O RAM device
    • Includes emulation of the Sega 315-5338A I/O controller, also hooked up to the ufo21 driver.
  • Edstrom added skeleton device for Ericsson Information Systems IBM3270/5250 terminal adapter 16-bit ISA card.
  • F.Ulivi updated the hp64k driver: Added IEEE488 remotizer to bus.
  • GavinAndrews added suspend and resume debugger commands for suspending and resuming scheduled devices.
  • geecab updated the starblad driver: Allow full range of crosshair movement.
  • Justin Kerk fixed issues with CHD loading under Emscripten.
  • Justin Kerk updated dc.xml: Fixed interface/name/diskarea so discs can actually boot.
  • Michael Zapf updated the ti99 driver: Added drive select to HX5102 Hexbus floppy drive - may now be used for storage on TI-99/8 and other systems.
  • Michael Zapf updated the wd_fdc device: Added FM resyncs in READ_TRACK, and changed threshold.
  • Nigel Barnes updated the electron driver: Added Mega Games Cartridge device.
  • Nigel Barnes updated the electron driver: Improved video handling.
    • Fixed wrap-around for non-standard screen start addresses.
    • Added RAM contention during screen update.
    • Improved interrupt times.
  • Nigel Barnes updated the electron driver: Fixed bad palette write.
  • Nigel Barnes updated the bbcm driver: Fixed paging in of Shadow RAM according to ACCCON.
  • O. Galibert updated the i960 core: Don't lose register values on read stalls.
  • O. Galibert updated the bankdev device: Allow for an address shift.
  • O. Galibert updated the model2 driver: Revamped the coprocessors communications.
  • R. Belmont updated the sh4drc core: Added UML implementations of FADD, FSUB, FMUL, and FDIV.
  • Risugami added emulation stubs for the Game Boy Camera hardware allowing the ROM to run.
  • Robbbert updated the crashrd driver: Added some sound.
  • Ryan Holtz added skeleton Philips VP415 LV-ROM Player driver - currently fails self-test with error 53.
    • Including basic Fujitsu MB88303 TV Display Controller and Philips SAA1403 Sync Generator devices.
  • shattered updated the isa/pgc device: Implemented accelerated VRAM writes.
  • smf standardised on IPT_CUSTOM for custom PORT_BIT handlers, leaving IPT_SPECIAL for the UI.
  • smf fixed fencepost in memory_manager::region_containing, which caused regions to be registered for state saving.
  • smf updated the popeye driver: Implemented NMI acknowledge and TPP2 watchdog, swapped popeyebl and popeyeb2, and repaired some apparently bad PROM dumps.
  • Stefano added QuickLoad option for SMC-777.
  • Sven Schnelle provided hp9k_3xx improvements:
    • Added 98644 asynchronous serial card.
    • Added workaround for double exception during read/modify/write operations confusing the boot ROM.
    • Added dummy GPIB read/write handlers (BASIC crashes if not present).
    • Added fallback bus error handler for model 340 and later (used by BASIC to probe hardware configuration).
  • Sven Schnelle added basic window move and cursor control support to hp98544 framebuffer.
    • Used by HP Basic to place letters on the screen by moving them from non-visible memory to the screen.
  • Sven Schnelle split hp98603 BASIC ROM card into 98603A and 98603B versions with different base addresses and sizes.
  • Ted Green updated the voodoo device: Fixed vsync timing and removed anonymous timer.
  • Vas Crabb encapsulated default BIOS selection in device_t and simplified default BIOS selection from machine configuration.
  • Vas Crabb provided DSP16 interpreter performance improvements:
    • Lifted some tests out of the execution loops allowing them to be specialised at compile time.
    • Bypass memory system for work RAM access when debugger is not enabled.
  • Vas Crabb provided RAM device improvements:
    • Always show default RAM size in XML output, and show sizes as declared in addition to byte count.
    • Don't show inaccessible RAM device size options in XML output.
    • Exposed RAM size options in minimaws.
  • Vas Crabb rearranged device debugger hooks to get a small but measurable performance improvement.
  • Vas Crabb removed emucore.o from tools, fixing some inconsistent behaviour with different build options.
  • Vas Crabb provided NeoGeo improvements:
    • Split MVS into different machines for real variants with different capabilities.
    • Split up state classes for different variants.
    • Improved address maps.
    • Converted EL panel outputs to lamps and hooked up coin counters/lockouts.
    • Hooked up controller sense connections for AES.
    • Hooked up SPI-like outputs on SIT board used by The Irritating Maze.
    • Added layout for The Irritating Maze showing strobes and most lamps.
  • breiztiger updated the ibm5170 software list: Redumped wngcm2sp from unmodified disks.
  • Brian Troha updated gaelco2.cpp: Added pinout information for World Rally 2 and REF.950906 PCB layout for Touch and Go.
  • Caps0ff updated the megablst driver: Replaced C-chip simulation with extracted ROM.
  • Caps0ff updated the model1 driver: Use real 315-5573 Virtua Racing coprocessor program.
  • Guru updated othunder.cpp: Changed to mono speaker, as shown on schematics and verified on real board.
  • kazblox updated the segag80r driver: Adjusted Sindbad Mystery sound clocks to match PCB footage.
  • kazblox updated the system1 driver: Documented alternate Star Jacker board with different sound in source.
  • r09 provided PC-98 CD software list updates:
    • Updated with everything from the latest update of the Neo Kobe Collection.
    • Tested all software list entries, and added supported status and emulation issues for each one.
    • Added usage information for games that require serial numbers or manual protection.
    • Added disk 2 of the floppy version of Brandish Renewal, since it's used as a key disk for the CD version.
    • Fixed copy-paste error for hybrid discs copied from the FM Towns list.
    • Replaced the Sweet Days CHD with a properly converted one.
    • Demoted Miamisoft's games to non-working since they seem to hang randomly.
  • system11 and Tafoid added Tourvision BIOS v1.1 and corrected label/description for v2.0.
  • Tafoid updated konblands.cpp: Added DIP switches from manual.