Release Date

MAME 0.162 was released on 27 May 2015.


Major Announcement

As of 0.162 the MAME and MESS projects have been combined into a single emulator. The changes listed below cover both.


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:


  • Peter Ferrie updated the gambl186 driver: update communication with EEPROM.
  • Lord Nightmare added more (undumped, needed) roms as NO_DUMP to the VT100 driver after consulting later VT100 Tech manual. Correct one misnamed undumped rom on the GPO board.
  • Matt Burke added VT220 V2.1 ROMs and VT220 Character Generator Rom.
  • Lord Nightmare corrected VT220 xtal, and add the romset listed in the schematics as NO_DUMP.
  • LuigiBlood added 4 controller support for N64/N64DD, as well as rough mouse support.
  • Sandro Ronco updated the miniboy7 driver: fixed video emulation and added inputs.
  • Mike Naberezny updated pet_rom.xml: Added BASIC Programmer's Toolkit for BASIC 2.0.
  • Karl-Ludwig Deisenhofer provided DEC Rainbow updates:
    • Hard disk R/W support and real-time clock support emulating ClikClok card.
    • wd2010: provides IRQ / (B)DRQ signals. Honors DRIVE_READY and WRITE FAULT (DRDY / WF) now. Set WF to GND and DRDY to VCC in your driver if signals are not serviced.
    • ds1315 : Handle chip enable / chip reset / phantom writes to RTC.
  • nitrofurano updated 315_5124.c palette in TMS99x8 modes.
  • mbcoguno dropped NO_SDL_GLEXT define on OSX.
  • Lord Nightmare updated the VT240 driver: Map the T11 roms into cpu space in the correct order/interleave.
  • Justin Kerk updated ibm5170.xml: Add disks from various sources:
    • Make Original Diskettes images from an Acer hard drive recovery CD.
    • archive.org uploads from dashcloud.
    • Own Kryoflux reads.
  • Roberto Fresca added a lot of findings and docs to the WMS driver. These are video slots identified as WMS 360 / 550. Also added the proper crystals, correct CPU, frequency, preliminary memory map, 2 new sets, and technical info.
  • Couriersud updated Breakout: Hooked up antenna and free game dip switch as well.
  • hap added Seiko Epson E0C6200 cpu emulation.
  • hap started on Mitsubishi MELPS 4 cpu emulation.
  • Roberto Fresca updated the WMS driver: Hooked the Analog Devices ADSP-2105 CPU (still need proper memory maps). Added technical notes.
  • Roberto Fresca updated gambl186.c: Worked a complete set of inputs + DIP switches, fixed the CPU frequency, added findings and tech notes. Now the four games could be selected. Roulette, Bingo and Black Jack are playable. Casino 10 (poker) needs the watchdog implemented to work properly. Also changed the game name to Multi Game (Vxxx).
  • Lord Nightmare updated VT240 and VT320: add links to DEC-O-LOG service notes for different firmware changes, add firmware version numbers.
  • Couriersud updated the netlist lib:
    • improved 9312 device ==> 20% speed increase.
    • remove netlist_state_t ==> no added value.
    • removed dead code in solver.
    • various minor modifications.
    • performance monitoring now also displays stats for subdevices.
    • fixed save-state issues.
    • fixed save state in 9312.
    • added EXTCLOCK which can generate arbitrary timing patterns.
    • use two EXTCLOCKs to replace timing circuit (9316) in breakout. This gives a speed increase from 60% to 75%.
  • Roberto Fresca updated the Mini.Boy 7 driver: Added lamps and a internal button-lamps layout based on the cabinet pictures. Lamps are currently disabled due to other unknown writes are happening on the same port. Need more investigation. Also added the coin counter.
  • Roberto Fresca updated the Multi Game (EGD) driver: Sounds are 4-bit ADPCM driven by a NEC D7759GC. Hooked preliminary sound routines. Needs more work.
  • Peter Ferrie updated gambl186.c: enable payout, improve EEPROM behaviour a bit so Poker is somewhat playable.
  • MooglyGuy provided n64 optimisation:
    • Improve blender performance.
    • Improve RDP speed by eliminating some unneeded code.
    • RDP - remove threaded waits to increase performance.
  • Miodrag Milanovic made MAME represent full build, for building MESS drivers only use make SUBTARGET=mess, for building only Arcades drivers only use: make SUBTARGET=arcade.
  • Couriersud adjusted breakout layout to fit screen boundaries. Changed lights to be be circles.
  • Couriersud did some downsizing. Removed netlist_ttl_input_t and netlist_ttl_output_t. The logic family is governed by the chip and defaults to TTL. However individual devices may change the logic family of their inputs and outputs as well. Implementing special output/input characteristics of "S", "LS", "HC", ... you name it, devices is now pretty easy. Theoretically e.g. a "LS_HighPrecision" proxy could be used to model the output down to the transistor level.
  • Lord Nightmare updated zaxxon.c: Use SN76489A for sound as shown on congo bongo schematic.
  • Luca Elia updated sigmab98.c: Implemented sprite rotation.
  • Jezze provided HLSL shader improvements.
    • changed shadow mask implementation, shadow count XY now represent the number of pixel the shadow UV sized tiles will take on the screen.
    • implemented rotation of the shadow mask texture depending on the default landscape or portrait view of the screen.
    • removed prescale and pixel border of the shadow mask texture.
    • added option to change the shadow UV offset, to reduce the color bleeding of the shadow mask.
    • adjusted presets to work with the changed mask implementation.
    • reduced defocus offset.
    • improved downsampling for better blurring.
    • improved alignment of bloom layers (raster and vector).
    • applied bloom effect to the render output of screenshot and AVI recording.
    • changed curvature effect to fit screen size.
    • changed scanlines to be not rendered into bloom layers.
    • changed shadow mask to be not rendered into bloom layers.
    • changed color floor to not light the bloom layers.
    • changed shadow mask to not dark the color floor.
    • added image vignetting simulation and option.
    • added round screen corner simulation and option.
    • added screen light reflection simulation and option.
    • made usage of unused brightness offset (additive).
    • removed unused pincushion option.
    • removed duplicate shadow count Y options.
    • removed artwork/adapture.png.
    • added artwork/adapture-grill.png.
    • added artwork/shadow-mask.png.
    • added artwork/slot-mask.png.
    • added hlsl/simple.fx.
    • removed unused shaders::blit() function.
    • added shaders::screen_pass() function, which handles the (raster-)rendering on screen, into screenshot and AVI recording.
    • added effect:set_bool() function.
    • fixed usage of OrientationSwapXY shader parameter.
    • added RotationSwapXY shader parameters to consider the user defined screen rotation.
    • added missing RotationSwapXY shader parameter.
    • fixed curvature zoom to fit the screen size in any aspect ratio.
    • fixed black border on the right and bottom side of the screen, caused by the previously added rounded corners.
  • TeamEurope updated gameking.xml: added dump of one multigame cart.
  • TeamEurope updated leapster.xml: added a few new dumps.
  • Fabio Priuli updated the msx driver: started adding disk images to msx1_flop.xml and msx2_flop.xml, based on preliminary partial work by Riley110.
  • Couriersud updated the netlist lib:
    • Fixed soft reset due to wild BJT_SW oscillations.
    • Downsized nld_signal.h to one template.
    • Some minor changes improving performance by some notches.
    • Always compile nl_asserts to avoid bit rot.
    • Adjusted monitor gain for breakout.
  • Couriersud finally got USE_DEACTIVE_DEVICE to work with breakout as well. This adds about 10% to 20% performance. In addition, increased timing accuracy for deactivated devices. However still, there may be timing inaccuracies which certain circuits may not tolerate. Disabled for now.
  • Fabio Priuli updated clifront.c: Slightly optimized -romident so that each software list is parsed only once instead of as many times as the number of drivers it is attached to. Also, removed the implication that files with (size != power of 2) are to be skipped, since we now want to identify also tapes and floppies and not only ROM binaries.
  • Couriersud added netlist-level parameter NETLIST.USE_DEACTIVATE. Device deactivation optimisations can now be enabled within the netlist provided the circuit can deal with them.
  • Couriersud added truthtable implementations to a number of devices. The combination of device activation, usage of GCC PMF extensions and truthtables brings breakout to 95% speed up from about 75%. Fixed NE555 initial state.
  • Curt Coderfixed the abc802, abc806 and abc1600 drivers: Fixed invalid data transmitted on first keypress.
  • Couriersud provided some netlist bugfixes:
    • Savestate works.
    • Truthtable device deactivation fixed.
    • Truthtable ignore mask is now determined by a better approach identifying more ignore possibilities.
  • Peter Ferrie provided WIP on savquest.c:
    • hooked up Voodoo 2 device.
    • switched to DS12885 device for proper CMOS size.
    • moved Voodoo register base to proper place.
    • implemented Voodoo-specific PCI registers to pass Glide validation.
    • increased frame-buffer size to enable 640x480 resolution.
    • hooked up ISA bus and SoundBlaster 16 device.
    • extended HASP emulation to return product information.
    • documented HASP behaviour.
  • Peter Ferrie updated gambl186.c: further improvements to EEPROM behaviour.
  • Brian Troha and PowderMaker updated peplus.c: Added correct CG2228 graphics roms to the Multi-Poker XM00008P set.
  • Luca Elia updated wyvernf0.c: Fix text color and wrong sprite flip x based on game footage.
  • Couriersud removed all uses of setjmp.h in MAME. The only place where it is still referenced is cpu/powerpc/ppc.c. HE couldn't find any case in which this file would be compiled using the current build system. Nonetheless documented use using PPC_H_INCLUDED_FROM_PPC_C define.
  • Rainer Keuchel updated the TLCS-90 CPU: Fixed TRUN bit masking (timers start/stop).
  • Couriersud experienced more progress on SPICE to netlist conversion. nltool can now convert simple SPICE netlists e.g. from LTSpice to netlist format.
  • Curt Coder updated abc806: Implemented flashing, double height, and underlined characters by hooking up the RAD PROM.
  • Tauwasser updated the gameboy driver: more updates to the cart emulation.
    • fixed some MBC1, MBC2 details.
    • added MMM01 notes on registers.
    • fixed Sachen MMC1 implementation so that Sachen logo is properly displayed.
    • started work on the emulation of Sachen MMC2 mapper.
  • Felipe Sanches updated the AVR8 CPU: fix I/O register mapping and improve logging.
  • Dirk Best updated cgenie.c: Rewrote driver and removed lots of cruft.
    • Remove custom 6845 emulation and use our standard core.
    • Use the slot system for the parallel interface, fix and implement the joystick as a slot device and create a printer slot device.
    • Add support for the RS-232 port.
    • Add support for the Break key (causes NMI).
  • Curt Coder updated abc80: Default to ABC 830 disk drive with fast controller.
  • Vas Crabb updated the Cocoa debugger: autosize controls for custom font size choice.
  • Dirk Best updated the nascom driver: Clean up, add NASBUS emulation and make the floppy disc controller a NASBUS card, convert to the new wdc emulation, add generic socket emulation, add initial software list.
    • Add support for the Advanced Video Card (AVC).
    • Add support for the selectable restart address.
    • Add support for the CP/M version of the Nascom 2.
    • Add floppy softlist.
  • Ted Green provided voodoo fixes.
    • Fixed voodoo direct lfb reads from PCI memBase1 (non-3d).
    • Fixed voodoo depth selection for pixel pipeline write.
    • Fixed voodoo depth selection for rasterizer.
    • Fixed depth biasing for fog selection.
    • Minor voodoo fix for color expansion in rasterizer.
    • Minor voodoo initialization changes so that address masks are correct.
    • Fixed voodoo_pci type selection.
    • Fixed voodoo_1 pci initialization.
  • Osso added / completed / enabled save state support in the following drivers: alinvade.c, berzerk.c, bwing.c, cball.c, cchasm.c, darkseal.c, dynduke.c, hvyunit.c, igs009.c, nbmj8688.c, nbmj8891.c, nbmj8900.c, ninjaw.c, popobear.c, renegade.c, snk6502.c, usgames.c, videopin.c, wiping.c.
  • Enik Land updated sms.c: few corrections to the driver.
    • define the default offset setting for Light Phaser at only one place;
    • add to the smsj the TH input handling that latches the HCounter, because the /HL line is connected to the VDP;
    • minor code/comments maintenance.
  • SPACETAXI updated pet_flop.xml: Added SFD-1001 Test/Demo disk.
  • Curt Coder updated the abc80 driver: Fixed VSYNC and de-interleaved the ABCDemo diskette. ABCDemo now runs from both cassette and diskette.
  • Robbbert updated the camplynx driver:
    • Added lower case letters for pasting.
    • Added cassette load and save.
    • Added TAP cassette support.
    • Most (but not all) programs are working.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING