Release Date

MAME 0.156 was released on 26 November 2014.


Contributors

The known contributors for this version are, in alphabetical order:



Specific Contributions

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


  • Angelo Salese added SCREEN_RAW_PARAMS for Arkanoid and Astrocorp HWs.
  • Matt added dump of the sync prom at L8 to Drag Race.
  • Dave Widel and gregf added a skeleton driver for the PSE Desert Patrol, so to document the dumped PROMs.
  • MooglyGuy updated the rsp drc: Optimized accumulator access in multiply instructions.
  • O. Galibert updated the pentium core: More support of the magic 0x66 prefix.
  • Angelo Salese added more sane values for dec0.c / dec8.c screen raw parameters.
  • O. Galibert updated the i6300esb device: Document more registers.
  • Ramiro Polla updated the steppers device: add absolute position.
  • O. Galibert updated the pentium core: This is the kind of problems you find when a bios uses xmm4 as call stack.
  • O. Galibert updated the pentium core: Some stuff to make lindbergh go further.
  • O. Galibert updated the pci system: Add grossly hacked smbus.
  • Alex Jackson fixed an annoying inconsistency between memory_share and memory_region: the width() method of the former returned the width in bits (8, 16, 32 or 64) while the width() method of the latter returned the width in bytes (1, 2, 4 or 8). Now both classes have a bitwidth() method and a bytewidth() method. Updated all callers to use whichever one was more appropriate. Also removed the implicit-cast-to-any-integer-pointer of memory_regions, which was rather unsafe (if you weren't careful with your * operators and casts it was easy to accidentally get a pointer to the memory_region object itself instead of to the data, with no warning from the compiler... or at least I kept doing it). Updated all devices and drivers that were accessing regions that way to use a region_ptr_finder when possible, and otherwise to call base() explicitly.
  • Alex Jackson made the tilemap system respect gfx_element::total_colors(). Fixed various drivers and devices that were using incorrect total_colors for gfx elements used in tilemaps.
  • MooglyGuy updated the rsp core: Made the RSP interpreter core functional again.
  • Alex Jackson added long-overdue documentation about how to use priority-masked drawing (aka pdrawgfx); add some useful constants.
  • Tafoid added preliminary layout for Alien Invaders based on screenshot.
  • Andreas Naive used of security PIC's readouts for Naomi-M4 decryption.
  • Andy Geezer added Ferrari F355 (original no-link deluxe) USA BIOS.
  • Angelo Salese improvedtemplate file family properties, added readme and licensed as BSD-3-Clause.
  • Lord Nightmare and albolo added correct xtal for Kaneko Fly Boy/Fast Freddie hardware based on PCB pictures, correct clocks in driver.
  • Angelo Salese updated Golgo13: fix for service mode toggle mode.
  • f205v and Metallic updated naomi.c, chihiro.c, triforce.c: Revised data while adding new information along with some cosmetic changes.
  • O. Galibert updated the i82875p device: Host bridge fun.
  • O. Galibert updated the i6300esb device: More mapping verbosity.
  • Peter Ferrie updated tmaster.c: reverse-engineered the keys for all protected TouchMaster games; removed the protection hacks.
  • Alex Jackson updated cbombers: fix TC0480SCP text layer colors.
  • O. Galibert updated the pci system: Add remapping notifiers.
  • Ramiro Polla updated upd7810.c:
    • Small ADC improvements.
    • Clean up interrupt handler and make it edge triggered.
    • Set extended timer/event counter interrupts.
    • Fix and export extended timer/event counter output.
  • Alex Jackson updated mario.c: fix Monitor switch so it correctly affects both tiles and sprites.
  • Oliver Stoneberg added command-line option - [no]drc_log_uml to control DRC UML disassembly logging. This allows logging of DRC UML disassembly without re-compiling
  • Oliver Stoneberg added command-line option - [no]drc_log_native to control DRC native diassembly logging. This allows logging of DRC native disassembly without re-compiling
  • Alex Jackson updated calomega.c: Improve color emulation by analogy with tugboat.c (which is actually a heavily modified Cal Omega board).
  • Felipe Sanches updated the SEGA YBoard driver: Mapping the port bits used to provide motor movement feedback.
  • O. Galibert updated the pci system: A little more, reaches an unemulated pslldq at fd228.
  • David Haywood converted the various Hard Drivin' board types to be devices, allowing the side screens to be hooked up on Race Drivin' Panorama, which is now close to working (the side screens fail when selecting one of the car types).
  • MooglyGuy updated the rsp drc: Added undocumented ops VADDB, VACCB, VSUBB, and VSUCB.
  • MooglyGuy and [Oliver Stoeneberg]] updated the rsp drc: Fix crash on Linux when recompiling BREAK opcode.
  • MooglyGuy updated the mips3 core: Fixed left-shift-of-signed-value issues.
  • MooglyGuy updated the rsp core: Fixed left-shift-of-signed-value issues.
  • iq_132 provided correct patches for drgw2hk.
  • Carl updated the upd7220 device: Bresenham line drawing.
  • MooglyGuy updated the n64 driver: Fix up how negative values are handled in VRSQL/VRCPL.
  • MooglyGuy updated the rsp core: Add VNOP, VNULL, and VRSQ instructions.
  • MooglyGuy updated the n64 driver: Abort MIPS timeslice when unhalting RSP. Fixes many RSP tests.
  • Brian Troha updated segas18.c: Fill in the dipswitches for Hammer Away.
  • MooglyGuy updated the rdp core: Do LOD calculation even in 1-cycle mode. Fixes many tests.
  • MooglyGuy updated the mips3 drc: Generate -0.0 for NEG.S/D of 0.0 as FNEG does not on x86.
  • MooglyGuy updated the mips3 drc: Sign-extend ROUND.L, TRUNC.L, CEIL.L and FLOOR.L.
  • MooglyGuy updated the rsp drc: Add destination address support to the BREAK opcode.
  • Felipe Sanches updated Power Drift: Portbits for Limit & Safety switches
  • Felipe Sanches updated G-LOC: Mapping portbits related to the moving cabinet limit switches.
  • Felipe Sanches updated Galaxy Force II: Adding gforce_output_cb1 (the values written there seem to select the meaning of some of the PORTC bits related to motor control).
  • Felipe Sanches updated Galaxy Force II: Mapping the port bits used to provide motor movement feedback signals such as Up/Down/Left/Right limit switches.
  • Carl updated the i386 core: call with expand down stack.
  • Carl updated the i386 core: GP fault with softint in v86 mode when iopl < 3.
  • Alex Jackson updated twin16.c: Rewrite video mixing based on PAL equations. Fixes sprite-bg priority in Devil World intro, and in Vulcan Venture later stages and ending.
  • Carl updated the pic8259 device: priority and sfnm.
  • hap provided a segaufo update: added better layouts + made ufo800 work + added upd sound to ufo21 + misc fixes.
  • [[Cesare Falco] updated the Man pages (*nix): Fixed some typos and bumped version to 0.155.
  • smf fixed Mametesters 05769 by reducing ATA flash card seek time to zero.
  • Arzeno Fabrice updated naomi.c: kingrt66 use real MaskROM cart layout and labels instead of flashcart.
  • Palindrome added handcrafted CPS-1 PALs for Area 88 and Strider PCBs.
  • Carl updated the i386 core: fix segment present check for calls to a TSS.
  • Carl updated the i386 core: mark tss busy.
  • smf converted PSX sio to use devcb.
  • Barry Rodewald updated calchase: map Trident memory clock, video clock and LUTDAC registers.
  • Tafoid added Solar War as playable, but with issues. Layout needs work and coins do not operate in game. Therefore, game is set to Free Play by default. Also, renamed Solar Warrior (xain.c) from solarwar -> solrwarr to allow this original game to use the setname "solarwar". Added diplocations to both games.
  • Oliver Stoneberg added command-line option -[no]snapbilinear to control binlinear filtering for snapshots (enabled by default). This is mainly for making testruns and debugging faster - could also be used to speed up -aviwrite usage though.
  • Carl updated the upd7220 device: slanted chars.
  • Corrado Tomaselli updated sonson.c: Correct Audio CPU clock for Son Son as measured on PCB.
  • Corrado Tomaselli updated psychic5.c: Correct Audio CPU clock for Psychic 5 as measured on PCB.
  • Brian Troha updated peplus.c: Add the CAPX2172 color prom to the Ace$ Bonus sets correcting color in those sets.
  • Peter Ferrie updated windows.mak: include WinPCap headers during Windows build; suppress MSVC debug build warning.
  • James Wallace altered FIRQ and NMI handling to improve Maygay M1 operation.
  • Porchy added remaining PAL from 'jumping' sets.
  • Arzeno Fabrice updated naomi.c:
    • HOTD2 Proto BIOS added.
    • Label correction for Club Kart Prize.
  • R. Belmont updated the SDL port: SDL2 is now the default except for OS/2 builds.
  • R. Belmont enabled USE_NETWORK Ethernet emulation by default as per the roadmap.
  • Carl updated the upd7220 device: better output for the compis and dmv.
  • Robbbert updated gts3.c : Added switches. After setting up, the games are playable.
  • Robbbert updated gts3.c : split into AN and DMD displays.
  • Robbbert updated gts80b.c : Display is working.
  • Ville Linde updated model3: More rendering improvements.
    • Draw transparent triangles in a separate pass.
    • Implemented viewport priority.
  • Brian Troha updated calomega.c: Fill in some unknown dipswitches.
  • Alex Jackson updated amiga.c: use Aaron's memory_array class for bytewidth-agnostic access to chip RAM, instead of a driver-specific implementation. Also store the custom chip registers in an array instead of a memory share.
  • Peter Ferrie updated calchase.c:
    • Implemented missing DIP switch for Eggs Playing Chicken, promote to working. Press "S" to skip the CMOS error, "S" or wait to skip the emm386.exe error (not an emulation issue), use "Coin 2" to coin-up and start the game, and "1 Player Start" to brake.
  • Peter Ferrie updated calchase.c, gamecstl.c, midqslvr.c, queen.c, savquest.c, taitowlf.c, voyager.c, xtom3d.c: Intel component is not MXTC, it's MTXC.
  • Jon Sturm updated intelfsh.c: Added support for AMD 29F400T, AMD 29F800T and FUJITSU 29F160T.
  • Brian Troha updated darius.c: Add dipswitch locations to the Darius sets & give the newly added US set the correction coinage.
  • ShouTime added the correct sound rom for 'tturf' (Tough Turf (set 2, Japan, 8751 317-0104)).
  • Alex Jackson added region_ptr_finder, which works like shared_ptr_finder except it finds a ROM region instead of a memory share. Unlike the already existing memory_region_finder, these can be accessed without any overhead (since it's a pointer directly to the data and not to the memory_region object), can be whatever data type you want with no casting needed, and are strictly type-checked--if you have a required_region_ptr<UINT32> the region has to be a ROM_REGION32 (or an implicitly 32-bit region due to belonging to a device with a 32-bit bus) or the finder won't find it and will tell you why. Basically, region_ptr_finders are strictly better than memory_region_finders and all drivers using the latter should be converted over. Converted many sound devices to use a required_region_ptr to find their sample ROMs instead of looking up the region manually in device_start(). Note that this means that you can no longer get away with having e.g. an OKIM6376 without a ROM (as several slot machine skeleton drivers did); MAME will now complain at startup about the missing region, instead of just crashing the first time the chip tries to play a sound like it did before.
  • Alex Jackson updated twin16: Convert the scrolling layers to tilemaps (the fixed text layer was already one). Miscellaneous cleanups/modernizations.
  • Alex Jackson avoided executing a timeslice before loading a savestate from the command line.
  • Brian Troha updated supduck.c: Fill in Lives, Demo Sounds and Game Sound dipswitches as well as add dipswitch locations.
  • any provided Capcom updates:
    • Fixed some incorrect info about the SF2 bootlegs and got them running better.
    • Dumped 8571 MCU from a bootleg Top Secret/Bionic Commando PCB.
  • Alex Jackson updated the k054156 device: save state register all video RAM, including the optional "external linescroll RAM"; fixes Lethal Enforcers save states.
  • Barry Rodewald updated the i386 core: move initialisation of m_lock to i386_common_init(), so that it is always initialised.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING