Release Date

MAME 0.181 was released on 28 December 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


Contributions

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


  • Brad Hughes created DYNAMIC_API macros for cleaner definition of dynamically linked functions.
  • Brad Hughes made the core double-check key state before UI autorepeat (fixes github issue #1169).
  • R. Belmont updated the m68k core: Respect 68020 "freeze I-cache" bit; micro20 68020 cache test now passes.
  • R. Belmont updated the micro20 driver: Hack to start up at MacsBug/shell entry point, added terminal and devices.
  • R. Belmont updated the i960 core: Added scanbyte and IP-relative lda opcodes, masked low bits of branch targets.
  • R. Belmont updated the i960 core: Preliminary support for CALLS instruction and WIP on FAULTx instructions.
  • R. Belmont updated the archimds driver: Fixed sound double-buffering.
  • Heihachi_73 and R. Belmont updated the aristmk5 driver: Added default NVRAM to US sets so the games come up in a playable state (cuckoou, dolphntru, incasunu, magimask, magimaska, partygrs, qnileu, wcougaru).
  • R. Belmont, Vas Crabb and maximumspatium updated the ppc core: Set DSISR to the exception flags rather than the address on data access faults and correct flag values.
  • O. Galibert updated the delegates system: Don't crash on late binding if no object is actually needed.
  • O. Galibert updated the pci9050 device: Fixed the mappings.
  • O. Galibert made the sharc core use standard memory maps.
  • O. Galibert made the tms32025 core use the standard memory interfaces.
  • O. Galibert updated the dimemory interface: Removed the magic bypass.
  • O. Galibert simulated the votrax sc01:
    • Complete simulation of digital section based on die imaging.
    • Removed now-obsolete samples.
    • Plosives are still imperfect.
  • O. Galibert updated the mc1000 driver: Removed direct update handler.
  • Ryan Holtz updated the tnzs driver: Various refactoring.
  • Ryan Holtz updated the netlist library: Added simple ROM hookup capability.
  • Ryan Holtz updated the netlist library: Device additions:
    • 74161 Synchronous 4-Bit Binary Counter with Clock.
    • 7473 Dual Master-Slave J-K Flip-Flops with Clear and Complementary Outputs.
    • Am2847 Quad 80-bit Static Shift Register.
    • DM9334 8-bit Addressable Latch.
    • 82S126 1K-bit bipolar PROM.
    • 74174 Hex D-Type Flip-Flop with Clear.
    • 2716 16 Kbit (2048x8) UV EPROM.
    • 74166 Parallel-Load 8-Bit Shift Register.
    • 74260 Dual 5-Input NOR Gate.
    • Intel 2102A 1Kbit (1024x1) Static RAM.
    • 74365 Hex Bus Driver with 3-State Outputs.
    • Generic 2- and 3-terminal Tristate device.
    • 74165, 74194, 7475, 7485, and DM9322.
    • 82S126 4kbit (512x8) TTL bipolar PROM.
    • 82S123 256-bit (32x8) TTL bipolar PROM.
    • Note: Tristate device and 74365 do not actually tristate, they are simply a way of combining multiple outputs/chip enables.
  • Ryan Holtz updated the netlist library: Added shared RAM pointer, for use by netlist RAM devices which need updating by non-netlist driver code.
  • Ryan Holtz updated the netlist library. Various fixes:
    • 7473: Made device only transition on a falling clock.
    • 74161: Inverted Clear and Clock inputs to match datasheet.
    • 74260: Fixed number of inputs.
    • Am2847: Fixed shift register size (was 160 bits, should have been 80 bits).
    • DM9334: Inverted C and E inputs to match datasheet.
  • Ryan Holtz updated the hazeltin driver: Added netlist-based video board emulation.
  • Vas Crabb provided XML refactoring:
    • Moved stuff to namespace util::xml and scoped down some enums.
    • Split config load/save delegate types, made config load take const node so it can't inadvertently mangle data.
  • Vas Crabb updated coretmpl.cpp: Added an associative LRU cache with map-like behaviour.
  • Vas Crabb updated selmenu.cpp: Use LRU cache so icons don't all need to be reloaded on scroll.
  • Vas Crabb updated uismall.bdf: Set default character for absent glyphs.
  • Vas Crabb updated rendfont.cpp: Fixes and Improvements:
    • Encapsulated many BDF and BDC file format handling details.
    • Made file I/O 64-bit clean.
    • Added some checks for allocation errors.
    • Wrote more solid BDF parser with error messages and trace logging.
    • Fixed heap smash when building bitmaps for BDF fonts.
    • Extended BDC format to support high planes and default character.
    • Render default character if glyph not found for BDF/BDC.
  • Vas Crabb made bitmaps movable, allowing them to be used in vectors and emplaced easily.
  • Vas Crabb fixed uninitialised memory read as debugger command history (github #1802).
  • Vas Crabb updated the netlist library: Added new devices:
    • uA741 in 8-, 10- and 14-pin DIP variants.
    • 4316 bilateral switch pack.
  • Dirk Best updated the Amiga/Buddha emulation: Cleanups and fixes, partially working now.
  • Dirk Best created an ef9369 device and used it for guab and mpu4vid.
  • Dirk Best updated the guab driver: Cleanup and improvements:
    • Hooked up SN76489 ready signal, hooked up some debug LEDs.
    • Hooked up PPIs and ACIA.
    • Labelled some outputs.
    • Fixed and improved output labels, added ten up labels.
  • Dirk Best updated the 6840ptm device: Use standard device clock for internal clock.
  • Dirk Best rewrote the beezer driver.
    • Uses the standard 6840 PTM core for sound generation.
    • New MM583 Noise Generator device.
    • New DAC-76 DAC sound.
    • Uses resistor network values for colors.
    • Uses bankdev device for banking.
  • Dirk Best updated the mcr68 driver to use standard 6840 PTM core, replacing custom implementation with the standard one.
  • Dirk Best updated the zwackery driver: Removed Artificial Artist PAL, now included in the csd device.
  • Dirk Best updated the zwackery driver: Corrected ROM labels and locations.
  • Dirk Best updated mcr68.cpp: Move zwackery to its own driver (doesn't have much in common with other games in driver). Also cleaned up implementation, made spriteram 8-bit, added some hardware info and added button descriptions.
  • Dirk Best provided Midway Cheap Squeak Deluxe sound board improvements:
    • Moved to its own file and corrected its name.
    • Updated interface to better reflect real hardware.
    • Added address deocoding PAL and verified memory map.
  • Dirk Best identified DAC for Midway Cheap Squeak Deluxe/Turbo Cheap Squeak.
  • Dirk Best provided apricot improvements:
    • Fixed CTS polarity and marked as working - with the SIO fix the system is now very stable.
    • Fixed keyboard error 31, now displays 'System OK'.
  • Dirk Best updated the z80dart device: Only update serial line configuration if it actually changes. Allows the apricot serial port to work correctly.
  • Dirk Best updated the pit8253 device: Reading back the count while in the middle of a 16-bit write returns a XOR'ed version of the value written. Fixes apricot error 29.
  • Angelo Salese updated fromance.cpp: Fixed OL gal display for nekkyoku.
  • Angelo Salese updated fromance.cpp: Added visible horizontal parameter to CRTC.
  • Angelo Salese provided tail2nos.cpp improvements:
    • Added sound semaphore hookup, fixes random BGM lockups.
    • Added alternative input method, selectable through control panel DIP switch.
    • Added DIP switch locations.
  • Angelo Salese updated srmp2.cpp: Fixed regression with ADPCM playback on m68k based games.
  • hap updated neogeo.cpp: Corrected burningfpa romlabels (thanks jackc) and added it to software list.
  • Sandro Ronco updated the microtouch device: Added output status command and fixed data transmission at 2400 baud.
  • Sandro Ronco updated the aristmk5 driver: Added internal layout and connected microtouch to magimask and partygrs.
  • Sandro Ronco updated the Archimedes driver: Made floppies work.
  • Joakim Larsson Edstrom updated the micro20 driver: Added some features needed for the selftest, but couldn't hook up the missing parts so haven't verified that the self test actually can run through now.
    • H4 is now cleared in reset and asserted by software down the line.
    • By calling the update_tin method the device now support external clock for the timer.
    • Clock can also be polled at port C bit #2.
    • The test expects something to pulse at port B and then a clock at TIN (port C pin #2 alternate function).
  • Joakim Larsson Edstrom did some work on the Intergraph driver: Enabled more Rx interrupts and fixed error FIFO.
  • Joakim Larsson Edstrom updated the PIT68230 device: Added bitwise update methods for all ports and moved register access methods to private section.
  • Joakim Larsson Edstrom updated the PIT68230 device: Fixed bug in port A-C write and added check of DDR registers for bit updates.
  • Joakim Larsson Edstrom updated the PIT68230 device: Added initial support for timer interrupts and embryonic support for port interrupts.
  • Lord Nightmare fixed name to a better guess for MCU name for plump pop, and marked as bad pending verification that it is the same MCU which drtoppel and extermination use.
  • Lord Nightmare updated tnzs.cpp: Updated a slew of comments, added most missing PALs as undumped, fixed some ROM labels, added a chart of the different Taito/Seta PCBs covered by tnzs.cpp and the differences between each.
  • Lord Nightmare updated toaplan1.cpp: Fixed DSWB reading (seems to be inverted when read by the MCU), also reverted changes to TJUMP jumper settings and inverted those as well on read, though it still seems to be a bit screwy for some settings.
  • Lord Nightmare updated toaplan1.cpp: vimana regions should work fine now.
  • smf avoided using mem_mask as ATA doesn't have an equivalent mechanism for byte accesses and it could mask out data that real hardware would keep, instead fix issue with 68000 byte writes to sector count by only taking the bottom 8 bits from the bus.
  • smf fixed ATA Write Multiple (command c5) ignoring the block count on the first block.
  • smf made disassembly update if IP or CS are changed in the debugger; also update IP and CS when PC or CURPC changes.
  • smf added preliminary sound to Dulmont Magnum.
  • smf added halt to debugger state, so you can break out of a hlt instruction.
  • smf hacked the Z8ß core to return 0xffff for the current program counter while fetching the vector as the segag80r protection currently relies on it. Reduce the number of extraneous reads that the segag80r protection performs.
  • smf added multiplexed inputs for Beastie Feastie and Dealer.
  • smf provided WIP EPOS decryption simplification.
  • MetalliC updated seta.cpp: Hooked up Zombie Raid NVRAM, added calibrated default.
  • MetalliC updated stv.cpp: Documented IO chip, fixed astrass test mode hang.
  • MetalliC added Sega DIMM board architecture documentation.
  • AJR updated amstrad.cpp: Caps Lock key does not have a physical toggle.
  • AJR added 'o' variants to memory debugging commands to request decrypted opcodes space.
  • AJR created new 74LS157 device and hooked it up to MSM5205 on Rastan.
  • AJR updated the d9final driver: Set initial banking so Z80 doesn't run off rails.
  • AJR updated the grainbow driver: Fixed palette dimming by respecting a fade-me-not bit.
  • AJR updated mustache.cpp: Flip screen improvements:
    • Fixed Y positions of flipped sprites.
    • Added and implemented flip screen "Hard SW" as in Irem games.
    • Corrected polarity of all DIP switches.
  • AJR attempted fixing 8155 timer behavior so 8085 doesn't lose interrupts in equites.
  • AJR updated the automat driver: Sound improvements:
    • Reduced YM2203 speed to match music pitch on reference video.
    • Added second MSM5205 plus two 74LS157 and fixed communications.
    • Added sound banking (probably not entirely correct).
  • AJR updated the secretab driver: Incremental sound improvements:
    • Replaced one YM2203 with a YM3812.
    • Added extra samples ROM to banked sound CPU region.
    • Hooked up sound latch, enabling music and sound effects (still very imperfect).
    • A little more PCB documentation.
    • Added PCB locations to ROM names.
  • AJR updated spangbl, pangba: 74LS157-ization and working sound.
  • AJR updated system16.cpp: Sound improvements for some bootlegs:
    • Hooked up MSM5205/74LS157 on the 2xYM2203 bootlegs, all of which now have some imperfect samples playback.
    • Corrected goldnaxeb2 configuration to use the aforementioned sound system.
  • AJR fixed -romident misattributing device ROMs to alphabetically first driver using them.
  • AJR updated amusco.cpp: Added coin counter and dispenser device.
  • CAPS0ff dumped i8751 '317-0078' at location c2 for 'altbeast' set, added, works.
  • CAPS0ff dumped i8751 '317-0123a' at location c2 for 'goldnaxe' set, added, works.
  • CAPS0ff added dump of i8751 '317-0112' at location c2 to 'goldnaxe2' set. Chip was faulty, some bit errors, internal checksum fails - still using simulation for now.
  • CAPS0ff added id8751h dumps to 'csilver' and 'srdarwin', not hooked up yet.
  • CAPS0ff updated tnzs.cpp: Added Taito M-Chip M-001 dump for extrmatn; also works for drtoppel and plumppop.
  • CAPS0ff added PIC16C57 dump to wbeachvl giving partial sound. OKI banking setup for the game is incorrect so music doesn't currently play.
  • CAPS0ff decapped, deprotected, dumped and hooked up the hd647180X MCUs for Vimana, Fire Shark and Teki Paki.
  • CAPS0ff decapped and read out security pics for umk3 and rmpgwt. Added a new device type and bare bones loading, however communication with the main CPU is not hooked up yet.
  • couriersud left more comments on differences between 74107 and 74107A.
  • couriersud updated the netlist library: Aligned naming of 9334 and made nl_hazelvid.cpp parseable by nltool.
  • Nathan Woods provided imgtool refactoring:
    • Changed a number of declarations to use std::string instead of 'const char *'.
    • Removed dead strncatz() function.
    • Fixed a recently introduced error in the 'dir' command line command.
    • Cleaned up the output of the 'dir' command.
  • Bavarese provided DEC Rainbow 100 fixes:
    • Changed 7220 divider from 4 to 32 (closer to 1 Mhz from VT240).
    • Stop flicker when color video is off.
    • Changed the effect of GDC_MODE_ENABLE_VIDEO (see page 21 of PDF AA-AE36A).
    • Addressed reentrance problems (reset procedure).
    • Made scroll fully functional (deeper SCRAM levels and GDC diag test #9).
    • Corrected cursor position in REGIS TSR.
    • Implemented NMI for parity test.
    • Fix aspect ratio in graphics modes.
    • Fixed serial port A (printer port B needs more work.
    • Added support all four ClikClok versions.
  • moralrecordings updated the konamigx driver: Fixed CPUs hanging on state load.
  • rfka01 added floppy drives to the PG675 and PG685 variants, changed floppy controller to FD1797 (not hooked up yet).
  • hap and Sean Riddle provided COP400 MCU fixes:
    • L pins are tri-stated when EN2=0.
    • Corrected internal RAM memorymap for COP410.
  • ShouTime and brizzo dumped 68705 a71_24.bin from Tokio/Scramble Formation.
  • David Haywood added fresh dump of exzisus (Magnet System) - one sector different, fixes graphical glitches in first level.
  • David Haywood started moving 68705 functionality to the CPU core rather than copy/pasted in all the drivers.
  • David Haywood hooked up new 68705 dump to Tokio/Scramble Formation.
  • Jorge Valero and Android provided a Sega DIMM security PICs update:
    • Redumped PICs and documented S/Ns for: Quest of D, Key of Avalon 2.x, Virtua Striker 4 Ver.2006 (Japan).
    • Dumped 253-5508-0364 from unknown NAOMI satellite game.
    • Dumped 253-5508-0422J from Quest of D (some undumped newer version).
  • SailorSat provided M1COMM/M2COMM cleanups and fixes.
  • SailorSat updated model1.cpp: Made wingwar360 playable.
  • darq updated the vaportra driver: Fixed missing game over animation, corrected 'P3 coin' and implemented irq6_ack.
  • darq updated the yunsung8 driver: Fixed MSM sounds, simplified inputs and changed incorrect cannballv manufacturer.
  • darq updated the shootout driver: Fixed missing title screen music, fixed coin counter and simplified ROM loading.
  • darq updated the sidepckt driver: Fixed cocktail mode and added Y scroll.
  • darq updated the tecmo_mix device: Fixed the saturated colors in Final Star Force (Level 2).
  • Heihachi_73 updated the aristmk5 driver: redumped chickna5u and topbana, now pass checksums.
  • Tafoid updated ccastles.cpp: Clarified input situation by assigning port conditions/names to the button inputs so they have proper default mappings between Upright/Cocktail.
  • shattered providde a new softlist: HP Integral PC.
  • caius and The Dumping Union updated aerofgt.cpp: Added correct and verified mask ROMs. Fixed size for U134 and U135 and added the redumped sound samples at U180 at the correct size.
  • Barry Rodewald updated debugimgui: Sort directory entries in mount dialog, as zippath_readdir() does not guarantee entries are in any particular order.
  • cpsystem3 provided stv redumps:
    • Fixed bad dumps in Choro Q Hyper Racing 5.
    • Redumped prc2ksu and prc28su using the heat-gun method to obtain valid dumps from fragile ROM chips.
  • anikom15 made phosphor persistence independent of frame rate.
  • Mike Saarna added proper support for Rescue on Fractalus (proto) - No Bankswitch, 2K Mirror RAM.
  • system11 updated metro.cpp: Made sound output mono for boards without stereo output.
  • system11 updated nbmj8688.cpp: Corrected DIP switches for Camera Kozou.
  • Leezer provided updates to hiscore.dat.
  • Guru corrected labels for Midway PICs.
  • PinMAME updated de_2.cpp: Added missing sound ROM for uboat65.
  • Justin Kerk did a first stab at cleaning up the DOS boot and installation disk mess on the PC & AT softlists:
    • Removed 100% duplicate sets.
    • Moved sets from ibm5170 to ibm5150 if they work on PC-class hardware (later DOS versions are needed for some games).
    • Removed the ibm5160 softlist, it only contained one duplicate set.
    • Added clone relationships.
    • More consistency in set naming and metadata.
  • Dagarman updated apple1.xml: Redumped dis-assembler.