Release Date

MAME 0.184 was released on 29 March 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


Notable new NOT WORKING software list additions


Contributions

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


  • AJR changed the following games to use 4-way joysticks: assault, bagman.cpp (all games except squasitsa), bballs, darktowr, ddungeon, horekid, klax, maddonna, pushman, stoffy, supduck, toffy, trog (trogpa4 prototype uses different inputs).
  • AJR updated the tms1024/tms1025 devices: Added input callbacks and read handler.
    • docastle.cpp: Read inputs through TMS1025.
  • AJR added NVRAM and hopper to hanaroku.
  • AJR added coin hopper output (prize hopper doesn't quite work) to feversoc.
  • AJR made hp9845b use standard instance names (and type) for optional ROMs.
  • AJR updated merit.cpp: PSG type is AY-3-8912.
  • AJR converted screen_device VBLANK callback to devcb_write_line. Renamed screen_eof_xxx to screen_vblank_xxx in many drivers.
  • AJR added coin counters to lastbank.
  • AJR added skeleton device for Video System C7-01 GGA.
  • Angelo Salese updated taito_z.cpp: Fixed subtle color pen bug in Mexico GP stage for Continental Circus.
  • Barry Rodewald updated the 8x300dasm: Corrected JMP target addresses.
  • Brad Hughes worked around bug in msys2 C runtime causing garbage on console with DInput controllers.
  • Curt Coder updated the abc80 driver: Converted to scanline based rendering, fixed graphics characters, and fixed sound.
    • Genesis Project demos (abcdemo, hiresinv) are now fully working.
  • Dirk Best updated ambush: Cleaned up driver state.
  • Dirk Best updated the ay8910 device: Added a write handler for the case of bc1=a0 and bc2=a1.
  • Dirk Best rewrote the blockade driver:
    • Removed fake interrupts, rewrote coin handling, corrected CPU type.
    • Used screen raw parameters and generic 8x8x1 gfx layout.
  • Dirk Best updated the popper driver: Got some meat back onto the bones:
    • Made full memory map for main and sub CPUs derived from schematics.
    • Added both DIP switches with proper defaults.
    • Hooked up interrupt generation logic.
    • Decoded character and sprite layout, draw character tilemap.
    • Added raw screen parameters (to be verified).
    • Hooked up inputs and flip screen.
    • Fixed audio hookup.
  • f.ulivi and Angus Kueckes provided HP9845C improvements:
    • Expanded from 1 to 4 I/O slots.
    • Allowed RAM size to be configured with -ram option.
    • Implemented HP-9845C driver (color version of the 9845 range of machines).
    • Improved 9845C lightpen emulation.
    • nanoprocessor: Fixed a subtle bug in interrupt handling.
  • Happy provided n64 updates:
    • Added short delay between RDP full sync and DP interrupt, allowing RSP IRQ to arrive first.
    • Let debugger disassembly windows track RSP PC.
    • Flush RSP DRC cache when SP DMA changes IMEM.
    • Make element selection in vector load/store RSP DRC C functions consistent with other implementations.
    • Fix a minor issue with RDP disassembly listing for Load Block.
  • Happy updated the mips3 DRC : Ensure branch delay slot instruction is not virtual instruction before trying to generate code to add it to the block checksum, fixed FPU register aliasing.
  • Joakim Larsson Edstrom updated the z80sio device: Added i8274/upd7201 variants, refactored interrupts, improved logging.
    • isbc: Changed to use z80sio.cpp i8274 device instead of z80dart.cpp's, removed m1_r() workaround.
  • Joakim Larsson Edstrom updated the fcisio device: Added layout and and RS232 configured for terminals on all 8 serial ports.
  • couriersud updated the netlist library: Added a heap priority queue, fix netlist stats collection, fixed new clang warnings, reduced footprint of extended clock.
  • Lord Nightmare updated pes.cpp: use combined /RS and /WS function since the MCU/CPU can in theory change both lines at once, and since it uses a TMS5220C it does matter in this case.
  • Lord Nightmare updated segas32.cpp: Added uPD7725 DSP with ROM loading to Air Rescue (disabled for now).
  • Lord Nightmare updated the upd7725 core: Added preliminary IRQ support, corrected SI/SO bit order, added SIACK/SOACK registers, fixed save state registration, fixed reset state.
  • Lord Nightmare fixed an off-by-one error when loading upd96050 roms for SNES games.
  • Lord Nightmare updated the konmedal/tsukande driver: Add clock XTAL definition for the Z80 CPU, divisor is guessed.
  • Mark Garlanger updated the Heath H19 driver: Fixed keyboard, fixed handling of enable/disable of 25th line, use internal MM5740 ROM, fixed H-19 with Watzman ROM, fixed Super19.
  • Michael Zapf updated the ti99 driver: Various fixes for TI-99/4 (not A).
    • Added initializations fixing crash on startup, fixed GROM issues (clock turned off too early).
  • Michael Zapf updated the geneve driver: Fixed issue with sector read on HFDC without implied seek (did not check CRC and failed to switch density).
  • Michael Zapf updated the ti99/geneve drivers: Made bus mouse now separate device, may also be used with evpc.
  • Michael Zapf updated the ti99/geneve drivers: Fixed jerky mouse movement.
  • Michael Zapf updated the ti99_8 driver: Fixed debugging for TI-99/8.
  • Nathan Woods provided softlist/slot improvements:
    • Fixed an issue where device options (e.g. -cart) were reported as unknown when they actually worked.
    • Do more softlist evaluation upfront and use results to drive slot/image setup.
    • Added device_slot_interface::has_selectable_options() to determine whether a particular slot has selectable options.
  • Nathan Woods added a new addrmap.cpp validity check intended to catch AM_REGION declarations not tied to anything meaningful.
  • Nathan Woods updated the CoCo driver: Implemented support for enabling and disabling cartridge-specific sound, made third and fourth floppy drives present by default.
  • Nathan Woods, tim lindner and Glen Hewlett updated the CoCo 3 driver: Fixed an issue clearing GIME interrupts (disabling interrupts by writing to $FF92/3 also acknowledges interrupt).
  • Nathan Woods updated 6821pia.cpp: changed int to bool where appropriate, changed macros to static functions.
  • Nigel Barnes updated the archimedes driver: Added JFD floppy format as used by JASPP (Archimedes Software Preservation Project).
  • Nigel Barnes updated the electron driver: Added First Byte joystick interface.
  • O. Galibert made side effect suppression a machine property.
  • O. Galibert removed direct update handlers:
    • a2600, atm (still not working, but less badly), mpf1 (makes step work), mpz80, pentagon, sage2, scorpion, tms32031.
  • O. Galibert updated the mb86233 core: Massive disassembler overhaul.
  • Peter Ferrie updated arm7ops.cpp: Advance PC on unimplemented opcodes.
  • Peter Ferrie updated the apple2 driver: Rewrote language card handling.
  • R. Belmont updated the apple2 driver: Fixed IIe/IIc self-test regression.
  • R. Belmont updated the apple2 driver: Fixed IIe $C800 arbitration, Zellyn/kqumba tests pass now.
  • R. Belmont updated the z180 core: DMA fixes:
    • Count of 0 means 0x10000, as with other DMA controllers.
    • Fixed scheduling so burst mode DMA is always serviced immediately with no CPU ops interleaved.
  • R. Belmont updated the gba driver: Fixed revised copy protection handler to get the right PC (MT6513).
  • R. Belmont updated the vp101 driver: Added framebuffer, some inputs, ATA, NVRAM, protection cheat; implemented ATA DMA.
  • R. Belmont updated the MIPS core: Added initial support for VR5500 and TX4925 CPUs.
  • shattered fixed errors detected by coverity:
    • argo, unior, x07: CID: 138563-138565 "Overlapping buffer in memory copy".
    • pc88va: CID: 138607 "Operands don't affect result".
    • peplus: CID: 138606 "Logical vs. bitwise operator".
    • formats/cbm_tap: CID: 138003 "Dereference before null check".
    • machine/hdc92x4: CID: 138631 "Operands don't affect result".
    • machine/roc10937: CID: 138793 "Logically dead code".
  • shattered updated the tosh1000 driver: Hooked up ROM-DOS.
  • shattered split agat from apple2, implemented basic agat7 hardware.
  • shattered updated the sm7238 driver: Implemented double-sized characters and smooth scroll.
  • shattered updated the poisk1 driver: Added more ROMs.
  • shattered updated the ibm6580 driver: Made memory size configurable and fixed a Coverity finding.
  • shattered converted ie15 to a device with frontends (standalone driver and rs232 slot device).
  • shattered made the debugger print octal addresses in the trace if CPU is octal.
  • shattered updated the dec_lk201 driver: Added PORT_CHAR/PORT_CODE where missing.
  • shattered updated the wd_fdc device: Tagged command names in debug messages.
  • shattered removed tag() argument from logerror() calls in cpu/i86 and floppy code.
  • shattered updated the bitgraph driver: Switched from layouts to rotation flags, fixed keyboard.
  • shattered updated the legacy floppy implementation: Fixed floppy_stp_w.
  • shattered de-skeletonized the a7150 driver.
  • shattered updated the t11 cpu core: Emulate MFPT instruction; MOV, CLR and SXT read memory before writing to it.
  • shattered de-skeletonized the hp_ipc driver.
  • smf updated the Commodore LCD device: Halved size of character rom region and fixed switching between upper and lower case character sets.
  • smf fixed UPD7725 disassembly.
  • Vas Crabb updated the zorba keyboard device: Mapped remaining keys, documented remaining DIP switches, and added notes on MCU program.
  • Vas Crabb hooked up lamp outputs and add clickable artwork to gotcha/ppchamp/pasha2.
  • Vas Crabb updated sun3x.cpp: Hooked up keyboard port.
  • Vas Crabb fixed natural keyboard mapping for vg9k keyboard (and hence UI paste/autoboot).
    • Also fixed key labels and made default mapping match physical layout where possible.
    • The "triangle" key isn't mapped - he doesn't know what it does or how to test it.
  • Vas Crabb updated GLM to tip of stable branch (0.9.8.5 pre-release) - fixes build with MacPorts clang.
  • Vas Crabb made device types self-register:
    • MAME now walks all linked device types for -listxml, -romident and -verifyroms whether they're used or not.
    • Made device_creator a variable template.
    • Removed screen.h and speaker.h from emu.h and centralised instantiations of screen and speaker finder templates.
    • Added basic device validation to -valid checks.
    • Substantially sped up -listxml (at least 30% improvement), -verifyroms, and -romident on multiple files.
  • Vas Crabb fixed crash on excessive command-line arguments, removed long-dead option.
  • Vas Crabb updated ti85.cpp: Convert TI-8x link port to a bus with emulated peripherals, working for TI-82 and TI-85.
    • Tee connector, HLE TI-Graph Link, stereo/mono speakers, and raw signal forwarding socket supported.
  • MetalliC updated triforce.cpp: Fixed Mario Kart 2 ROM loading.
  • big10p, Darksoft and MetalliC updated naomi.cpp: Dumped and documented 837-14438 hopper controller board (used by Kick'4'Cash and other SWP games).
  • rtw updated naomi.cpp: Redumped "Noukone Puzzle Takoron (GDL-0042)" and "Virtua Fighter 4 (Rev B) (GDS-0012B)".
  • Caps0ff updated the model1 driver: Added dumped internal TGP ROMs.
  • PinMAME updated taito.cpp: Added program ROMs and corrected title for voleybal.
  • f205 updated phoenix.cpp: Dumped/redumped PROMs for some of the bootlegs.
  • ShouTime updated viper.cpp: Added timekeeper dump for code1db.
  • ShouTime updated midwunit.cpp: Redumped "Ultimate Mortal Kombat 3" U2-U5 sound ROMs.
  • kazblox corrected the main crystal in marineb.cpp to 12MHz as seen in PCB photos, cleaned up clock definitions in galaxian driver, moved ladybugg from galaxold to galaxian driver, use mooncrst_audio for mooncrst in galaxold, made spcwrp use hunchbkg pallette ROMs.
  • kazblox updated the nes driver: Added Magic Kid Googoo board (iNES mapper 190).
  • moralrecordings provided save state fixes for i386/pc_vga/cs4031:
    • Save cs4031 emulated A20 state, additional i386 attribute registers/flags, and VGA palette configuration.
    • Fixed broken VGA port reads on state load.
    • Fixed enum range check in i386.
  • SailorSat updated the vicdual driver: Added nsub gradient simulation (makes black destroyers on the horizon visible).
  • Bad A. Billy updated homedata.cpp: Use 8-way joysticks for Reikai Doushi; added button descriptions and DIP locations.
  • Pugsy fixed softwarelist cart memory cheats by moving cheat file loading to a later point in startup process.
  • gordon-fish removed colon from image_interface preventing front-ends from launching ColecoVision software.
  • tim lindner updated the ay8910 device: Added support for clock frequency changes.