Release Date
MAME 0.180 was released on 30 November 2016.
MAMETesters Bugs Fixed
Machine Support
New working machines
New working clones
- 1945k III (newer, OPCX1 PCB) (ShouTime) (The Dumping Union)
- Blue Shark (Model Racing bootleg) (f205v)
- Burning Fight (prototype, ver 23.3, 910326) (Collin Foust)
- Cosmic Invaders (bootleg of Space Invaders) (penrhos)
- Forgotten Worlds (USA, B-Board 88618B-2, Rev. E) (Corrado Tomaselli) (The Dumping Union)
- Gran Premio F1 (Spanish bootleg of Pole Position II) (Rockman) (Arcade Hacker)
- Grand Prix Star (v3.0) (Hammy)
- Hit the Ice (US, with riser board) (coolmod)
- Mustache Boy (Italy) (ShouTime)
- Metal Slug 2 Turbo (hack/bootleg) (system11) (trap15)
- Ozma Wars (Model Racing bootleg) (f205v)
- Player's Edge Plus (PP0008) Standard Draw Poker (set 2, El Cortez) (BrianT)
- Player's Edge Plus (PP0048) Joker Poker (set 4) (BrianT)
- Player's Edge Plus (PP0057) Deuces Wild Poker (set 4) (BrianT)
- Player's Edge Plus (PP0103) Deuces Wild Poker (set 2) (BrianT)
- Player's Edge Plus (PP0126) Deuces Wild Poker (set 3) (BrianT)
- Player's Edge Plus (PP0188) Standard Draw Poker (set 3) (BrianT)
- Player's Edge Plus (PP0434) Bonus Poker Deluxe (set 2) (BrianT)
- Player's Edge Plus (PP0447) Standard Draw Poker (set 3) (BrianT)
- Player's Edge Plus (PP0452) Double Deuces Wild Poker (set 2) (BrianT)
- Road Fighter (set 3, conversion hack on Hyper Sports PCB) (f205v)
- Sol Divide - The Sword Of Darkness (Korea) (Nomax) (The Dumping Union)
- Stone Ball (2 Players, v1-20 21/10/1994) (Nomax) (The Dumping Union)
- Vendetta (World, 2 Players, ver. ?) (Corrado Tomaselli) (The Dumping Union)
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 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.
- MetalliC updated naomigd.cpp: Added unused/unknown security PIC dumps:
- 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.