Release Date

MAME 0.180 was released on 30 November 2016.


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:


  • Nathan Woods provided various refactoring to imgtool:
    • Consolidated logic for default implementation of imgtool::image::list_partitions().
    • Changed imgtool::stream::open*() to return imgtool::stream::ptr.
    • Fixed a recently introduced bug that caused image types that do not support partitions to function incorrectly.
  • Nathan Woods did some disassembler modernisation:
    • Merged M6809, HD6309 and Konami disassemblers.
    • Added arcompact and PDP8 disassemblers to unidasm.
    • Fixed unidasm declaration for upd7725.
    • Eliminated static disassembly buffers in RSP, PowerPC and MIPS DRCs.
    • Changed all disassemblers to use output stream rather than character buffer.
    • Changed disassembler overrides to use 'std::ostream &' internally.
    • Changed disassembler infrastructure to not use char buffers internally.
  • Hans Ostermeyer updated the apollo driver: Enabled creation when non-existent image name is supplied for omti8621 and sc499.
  • Hans Ostermeyer updated the sc499 device: Corrected regressions that prevented writing.
  • Sandro Ronco provided various emulation improvements to the arm, arm7 cores:
    • Implemented Transfers to User Bank in LDM/STM and fixed flags corruption in branch opcodes.
    • Fixed register-base shift with a value >= 32, this fixes the RISC OS graphics issues.
    • Fixed carry for ROR and preserve IRQ_MASK in LDR R15,***.
  • Sandro Ronco updated the mmodular, risc2500 drivers: Moved Saitek RISC 2500 into a separate driver and added internal layout and inputs.
  • Sandro Ronco updated the a310 driver: reworked HLE keyboard and added mouse input.
  • Sandro Ronco provided various improvements to the aristmk5 driver:
    • Hooked up EEPROMs, UARTs and some inputs.
    • Fixed video DMA when vidstart != 0.
    • Added coin input, logic door input and RTC.
    • Fixed SRAM banking.
  • Sandro Ronco updated the archimds driver: Fixed horizontal display position and cursor position in VIDC.
  • MASH updated the atarigx2 driver: Fixed inputs in Space Lords.
  • Michael Zapf updated the ti99 driver: Fixed save states and declared MACHINE_SUPPORTS_SAVE.
  • Ryan Holtz updated midvunit.cpp: Renamed wargods CHD to reflect actual version on disk.
  • Ryan Holtz provided various initial changes to the hazeltin driver:
    • Added keyboard hookup, but will need 8048 dumping or black-boxing.
    • Added preliminary video, still broken due to timing issues.
    • Added state-machine bipolar PROMs.
  • Ryan Holtz added non-netlist devices for logic ICs:
    • 54/74160,161,162,163.
    • 54/7416x Hex/Quad D Flip-Flops with Clear.
    • 9334/DM9334 8-Bit Addressable Latch.
    • 7400 Quad 2-Input NAND Gate, 7404 Hex Inverter, 82S126/82S129 256x4-bit PROM.
  • Ryan Holtz updated sun4.cpp: Simplified DMA implementation.
  • MetalliC provided various naming changes to the naomi driver:
    • Added supported region info.
    • Changed all games to "Export name / Japan name" template.
    • Correct a few names as per title screens.
  • PascalP and Team Europe updated namcos12.cpp: Added Namco Cyber Lead cabinet JVS IO and LED controller PCB dumps.
  • MetalliC updated aristmk6.cpp: Hooked up IRQ registers.
  • Android, Darksoft, f205v, rtw and MetalliC updated naomi.cpp: Added missing PICs for Dragon Treasure 2 main, Dragon Treasure 2 & 3 satellite, and WCCF 2001-2002.
  • Carl converted luaengine to sol2.
  • Carl added Lua console as plugin.
  • smf moved device_memory_interface from driver_device to dummy_space_device.
    • Exposed the dummy_space_device as machine().dummy_space() with a trampoline in driver_device for existing callers.
    • Debugger no longer needs to special case root_device() to avoid showing the dummy address space.
  • smf provided various changes to the taitogn driver:
    • Implemented G-NET BIOS flashing.
      • Games that require the v2 BIOS now require you to update the BIOS and turn off JP1 as part of the installation.
      • A v1 BIOS flash is included, but you aren't forced to use it.
    • Moved G-NET protection out of ATAFLASH and into individual devices for each type of card.
    • Added build dates and times to G-NET game descriptions.
  • smf provided various changes to the zn driver:
    • Implemented enough analogue control reading on ZN1/ZN2 for RC De Go and Go By RC.
    • Fixed ZN1/ZN2 DIP switch descriptions.
  • smf implemented S1985 backup RAM:
    • Fixes TPC310 accessories cursor movement on the second time you launch it with left ctrl + left shift.
    • Fixed Matsushita backup RAM saving.
    • Implemented S1985 and Matsushita state saving.
    • Implemented MSX switched interface without using an address map.
  • smf fixed heap corruption when loading a new CHD fails.
  • smf made MAME throw CHDERR_FILE_NOT_WRITEABLE rather than CHDERR_UNSUPPORTED_VERSION if you try to open an old version CHD or writing.
  • Angelo Salese provided video fixes to darkmist:
    • Added real transparent pen mixing from PROMs, fixes ranking screen and gameplay area in Dark Mist.
    • Fixed sprite-sprite priorities, sprite chip fetches from top to bottom.
  • Angelo Salese provided various changes to the saturn drivers:
    • Worked around VDP1 timings in Sega Saturn, fixes regression with Batman Forever gameplay speed.
    • Added Rotation Parameter read control register, fixes at least Riddler stage ROZ positioning in Batman Forever.
  • Angelo Salese updated seta.cpp: Added backup RAM hookup for kiwame, fixes "BACKUP RAM ERROR" at first boot.
  • O. Galibert updated the ncr5390 device: Implemented selection disable.
  • O. Galibert did some addrmap refactoring:
    • Removed device parameter.
    • De-hand-templatized address_map_entry, remove then unneeded entry parameter.
    • Simplified constructor.
    • Changed setters into passthroughs.
    • Stream it.
    • Changed to use dot syntax rather than -> syntax for chaining.
  • O. Galibert updated addrmem.cpp: Made obvious renames and added helpers.
  • O. Galibert eliminated attaching memory maps to driver_device.
  • Barry Rodewald provided various changes to the scn2674 device:
    • Corrected the row on which a split occurs, fixes Octopus display of the last row before the status line split.
    • Added command 0xA6, fixes Octopus status line in Concurrent DOS, and BIOS character block write function.
  • Barry Rodewald provided various changes to the octopus driver:
    • Added cursor display.
    • Added colour attributes.
    • Added blink and underline attributes.
    • Hooked up serial lines, Concurrent DOS can now use the first serial port as an extra terminal.
    • Fixed Z80 RAM banking past 256kB.
  • Barry Rodewald updated the fmtowns driver: Added support for IC Memory Card images.
    • Limited to 16MB in size until software that supports more can be found.
  • Barry Rodewald updated the x68k driver: Added keyboard LEDs to layout display.
    • Among other things, this fixes the 'dancing keyboard' display when running Cotton.
  • R. Belmont updated mac.cpp: Split 128/512/Plus into a new separate, more modern driver.
  • R. Belmont updated mac.cpp: Corrected regression in IIvx/IIvi models.
  • R. Belmont updated apple2gs.cpp: Switched to use z80scc, added printer and modem ports.
  • AJR updated sdgndmps: Added DIP switch names and locations (verified from manual).
  • R. Belmont and rfka01 updated pg685.cpp: Added pg675 and hooked up MM58167 RTC.
  • R. Belmont provided various changes to the pg685 driver:
    • Preliminary working oua11 video.
    • Fixed ROM and ROM shadow mapping for oua12 so it actually boots.
    • Preliminary not-quite-working oua12 video (chargen decode is unknown).
  • rfka01 added hardware info for pg675, pg685.
  • R. Belmont updated the micro20 driver: Added more device hookups, gets farther into POST.
  • AJR fixed a bug parsing the software name option that prevented loading slot defaults for software selected from the internal UI.
  • AJR updated sh2dasm, sh4dasm: Changed the disassemblers to use 'std::ostream &' internally.
  • AJR updated the pit8253 device: Made MSB-only counter writes lower outputs in mode 0.
  • AJR provided various changes to the amusco driver:
    • Identified and hooked up 8155 interface chips for LPT and RTC.
    • Fixed PIT IRQs; game speed is much better now.
    • Coin inputs now read properly through IRQ4.
    • Promoted draw88pkr to WORKING (no more "COIN ERROR" on startup, though POST still fails memory test for some reason).
    • Removed spurious coin counter.
    • Updated notes on printer.
  • AJR moved SEI80BU encryption out of the SEIBU_SOUND device and made it a device of its own.
  • Roberto Fresca updated the amusco driver: Added button-lamps and coin counter support.
  • Joakim Larsson Edstrom provided various changes to the z80scc device:
    • Added support for RTxC as BRG clock source, allows the SGI Indy to have a console.
    • Fixed a bug in rr15 support, allows macplus, etc. to boot now.
    • Improved interrupt handling, allows mouse pointer to move in macplus driver for System 6.0.8.
    • Fixed init state of latched rr0 values, improves the success ratio of getting the mouse working in both X and Y on macplus, etc.
    • Minimal sync/hunt support to enable System 7 to boot on macplus.
  • Joakim Larsson Edstrom updated didact.cpp: Various Candela changes:
    • Added can09, a non working driver for the Candela main computer, a 6809 based design with FDC and a 6850 CRTC.
    • Added can09t, a somewhat working driver for the Candela terminal, a slimmer version without FDC and with a terminal interface.
  • Joakim Larsson Edstrom provided various changes to the fccpu30 driver:
    • Added new board variants as WIP: cpu30x, cpu30xa, cpu30za, cpu30zbe, cpu30be8, cpu30be16, cpu30lite4, cpu30lite8, cpu30senr, cpu30senr501, cpu33.
    • Added support for -ramsize according to each board variant.
    • Renamed roms to reflect on content and versions.
    • Mapped the Epson 72423 RTC device to the msm6242_device driver as it is compatible.
    • Added mock handlers with LOG info for devices that needs to be written.
    • Exposed possibility to turn off FPU in case it is not installed.
    • fccpu: Prepared to split out base fccpu class to support drivers for cpu2x and cpu4x boards etc.
    • Various small fixes to PIT68230, FGA022, DUSCC.
  • Joakim Larsson Edstrom updated the z80sio, mzr8105 cores: Added UPD7201 device type to and changed driver to use it.
  • Phil Bennett emulated the Acclaim RAX sound board, fixing sound in Batman Forever and NBA Jam Extreme.
  • Phil Bennett updated zn.cpp: Hooked up extra NVRAM in NBA Jam Extreme.
  • Nigel Barnes updated the bbc driver: Added ACP 1770 DFS to acorn1770 FDC.
  • Nigel Barnes updated the electron driver: Added PRES ADFS versions to Plus3 expansion.
  • Nigel Barnes updated aa310.cpp: Added new NOT WORKING machines Archimedes 305, Archimedes 440, Archimedes 3000, Archimedes 410/1, Archimedes 420/1, Archimedes 440/1, Archimedes 540, Acorn A5000, Acorn A4, Acorn A4000, Acorn A5000 Alpha.
    • Renamed a310->aa310 to avoid conflict with Amiga machines.
    • Added all missing OS releases Arthur 0.30, RISC OS 2.01, RISC OS 3.00, RISC OS 3.10, RISC OS 3.19 (German).
    • Made all machines default to the OS (Arthur, RISC OS 2, RISC OS 3) they were shipped with.
    • Corrected ROM labels/locations.
    • Added default CMOS to boot to desktop.
    • Mapped Acorn A4 Power Management extension.
  • F.Ulivi updated the hp9845 driver: Re-implemented 98035 module with a nanoprocessor driver.
    • Now possible to emulate the 98035 RTC module at a low level thanks to firmware ROM dump from Mr. Kueckes.
    • Implemented "nanoprocessor" microcontroller CPU core and disassembler.
  • F.Ulivi updated the hp9845 driver: Implemented HP98034 module (HPIB interface).
  • Luca Elia updated quizpun2.cpp: Hooked up MCU, improved graphics and sound.
  • Luca Elia updated crystal.cpp: Fixed VRender0 timers.
  • David Haywood updated the cedar_magnet driver: Preliminary magnet system sound and various flag fixes.
  • David Haywood updated the smskr driver: Added support for the seo-jin 11-in-1 multi-game bootleg cartridge.
  • David Haywood provided various changes to the aristmk6 driver:
    • Cleaned up ROM loading.
    • Show framebuffer? instead of debug viewer - can see startup text at least.
    • Extended ROM area so that the bigger games map properly and pass their checksums.
    • Corrected flamolce rom loading.
    • Corrected rumbreel rom loading and switch 1x and 2x IC positions, it passes test and is consistent with others now.
  • David Haywood updated the sh4 core: Began SH4 MMU improvements with a view to seeing what aristmk6 needs, allowed table upload by LDTLB opcode, allowed experimental MMU test code to be enabled/disabled on a per-driver basis.
  • Miodrag Milanovic added delegate support for lambdas and std::functions in general, also supporting const members now.
  • David Haywood updated the aristmk5 driver: Increased ROM window size for incasunu and geisha, fixing graphic CRC check and allowing incasunu to boot.
  • Miodrag Milanovic added more applicable Catch testing framework and converted all tests to be done properly by guidelines.
    • Still needs TESTS=1 to enable build of tests
  • Vas Crabb updated the xmlfile util: Turned API into something that looks like C++ and allowed use of const data node objects.
  • Vas Crabb updated LZMA to 16.04 (security and portability fixes).
  • Vas Crabb introduced u8/u16/u32/u64/s8/s16/s32/s64 alias types to the core:
    • New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h".
    • Removed the cstdint types from everything in emu.
    • Removed U64/S64 macros.
    • Fixed a bug in dps16 caused by incorrect use of macro.
    • Fixed debugcon not checking for "do " prefix case-insensitively.
    • Fixed a lot of messed up tabulation.
    • Changed many macros and constants to constexpr.
    • Fixed up many __names.
  • Vas Crabb updated complay.py: Rewrote to parse/minify layout XML - invalid XML in internal layouts now cause build failures.
  • Vas Crabb updated uismall.bdf: Added some typographical characters to, including the hair space used by the internal UI.
  • Vas Crabb updated the frontend: Encapsulated more of the menu base class to control when layout changes can happen, encapsulated mouse translation.
  • Vas Crabb updated the osd layer: Fixed key names with -keyboardprovider win32.
  • Vas Crabb made the core drop invalid input tokens when parsing configuration, fixes uncaught exception error when writing configuration.
  • Jezze updated hlsl: Fixed games with off-screen backdrop artworks (e.g. atarifb, bowler).
  • Enik Land provided various changes to the sms driver:
    • Set initial audio mixing state on reset.
    • Documented the Sports Pad modes (and changed the default) used by Sports Pad Soccer (Jpn).
  • Happy provided various changes to the N64 driver:
    • Only SP DMA skip for DRAM address, regardless of transfer direction.
    • Give priority to current transfer when reading AI length register.
    • Add delayed carry signal to AI (hardware bug allows carry signal from low to high to persist through a reload).
  • Happy fixed make VERBOSE=1 not showing archive commands for static libraries.
  • JacKc updated the osd: Added new UWP icons/images.
  • Asayuki provided various changes to bionicc:
    • Added notes on clock frequencies and video signal timings.
    • Converted to raw screen parameters, correcting frame rate and vblank timing.
  • system11 updated jangou.cpp: Corrected DIP switches for Jangou Lady.
  • system11 updated nbmj8891.cpp: Corrected DIP switches for Mahjong G-Men '89, Mahjong Vanilla Syndrome and Scandal Mahjong.
  • system11 updated nbmj9195.cpp: Corrected Pretty Sailor 18-kin DIP switches.
  • system11 updated tmnt.cpp: Changed back to 320x224 as per MT04790 discussion.
  • system11 updated vigilant.cpp: Corrected visible screen area (PCB comparison).
  • system11 updated twincobr.cpp: Corrected ROM names for twincobr and twincobru.
  • system11 updated tumbleb.cpp: Corrected Choky Choky OKI crystal, also corrected all games to mono as none use stereo PCBs.
  • system11 updated kaneko16.cpp: Unswapped button mappings for gtmr games so they match the PCB/manual.
  • system11 updated psikyosh.cpp: Corrected all games to mono as all games in this board family are mono.
  • system11 updated marvland: Tagged as imperfect sound and needing redump of sound ROM.
    • The sound in this version does not match Japan or any of the ports, and sounds like incorrect sounds are being played.
  • system11 updated the aleck64 driver: Added vivdolls DIP switches, digital joystick support needs adding, game is switchable.
  • Bavarese provided various Rainbow 100 changes:
    • Fixed colors in highres mode and video levels.
    • Made a small fix to serial Rx.
    • Added support for hard disks with up to 17 sectors/track, as MFM controllers allow this.
    • Made port 50 readable (undocumented, yet used).
  • Bavarese updated the upd7220 device: Fixed division by zero in update_graphics.
  • ShouTime updated firebatl: Fixed music tempo.
  • Berger updated fidel6502.cpp: Redumped Par Excellence.
  • Guru updated quizpun2.cpp: Dumped the 68705 MCU for "Quiz Punch", protected by an epoxy block.
  • Astroblaster updated sms_bootleg: Added the missing ROM to the smssgame set.
  • headkaze updated the lua engine: Added ability to show custom menu.
  • Reagan Roush updated the fds driver: Detached the other cart lists.
  • Reagan Roush updated the zorba driver: Added software list for floppy disks as well as some documentation to the driver file.
  • Al Kossow updated isbc.cpp: Added new isbc 286 rom version v1.0.
  • Carl added the isbc_208 device.