Release Date

MAME 0.147u2 was released on 30 October 2012.


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:


  • Miodrag Milanovic added support for DEVCB_UNMAPPED, that will do the logging on read/write of device callback, preventing a need for making dummy log line handlers.
  • smf updated srcclean: if the start of a multi-line comment is indented then following comment lines will be indented with tabs up to that point.
  • f205v provided information adjustments for naomi.c, chihiro.c, mame.lst reflecting latest discoveries.
  • Roberto Fresca provided a new preliminary driver for Webak MPU-12 platform.
  • Kevin Eshbach refactored the code in jedutil to support the viewing of a GAL16V8 device and added a new command line option of "-viewlist" which will print out a list of all the devices that can be viewed in human readable logic equations. Also updated the jedutil regression test to support passing in an additional argument of "debug" to print out a detailed log. Also moved the jedutil regression test data into separate directories composed of the device's name to make things more organized.
  • IQ_132 and JackC removed protection hack patches and emulated protection routines for Caveman Ninja.
  • Curt Coder added experimental support for using Berkeley PLA files as input to jedutil.
  • O. Galibert updated the memory system: Fix dynamic recursive device mapping. Situation:
    • You have a device (pc-fdc) with a memory map on it.
    • You map it dynamically into a cpu (maincpu) address space with install_device (isa-fdc does that).
    • The device pc-fdc has a subdevice (upd765).
    • The subdevice upd765 has its own memory map.
    • The pc-fdc memory map includes the upd765 memory map through AM_DEVICE("upd765", ...).
    • Before the fix, the code would search for upd765 as a subdevice of maincpu and not of pc-fdc.
  • O. Galibert updated am9517a: Don't grossly fail on verify.
  • David Haywood provided a 3X3 Puzzle update:
    • Fixed visible area.
    • Added the 2nd button.
    • Added the Demo Sound dip.
  • smf updated the SCSI implementation: Uses logical levels rather than voltage levels for control signals, you have to write 0 to the data lines when you're not sending data. Added a kludge to stop the ff from the 6522 from preventing the bus from being read, this may or may not be how the hardware really works.
  • Peter Ferrie updated i386dasm.c:
    • Added numerous opcodes for newer CPUs;
    • Added some undocumented-but-supported opcodes from old CPUs;
    • Corrected naming of two opcodes
  • Peter Ferrie updated the i386 core: port 0x64 opcode 0xd1 should incur no delay when delivering. This allows, for example, su2000 to start booting to the CMOS setup screen
  • Stephh improved inputs in 3X3 Puzzle.
  • Heihachi_73 provided an Aristocrat MK6 base system bios for New South Wales region.
  • Robbbert. hooked up mechanical sounds for hercules.
  • O. Galibert updated the memory system: Map from the cpu's owner, not the root device, otherwise siblings of cpus coming from config fragments aren't happy.
  • Wilbert Pol updated clifront.c: Added verifysoftlist command for verifying software availability for separate software lists.
  • Aaron Giles created a base class delegate_common_base for all delegate types. Created a binding_type_exception which is thrown when a bind attempt fails due to mismatched types.
  • Aaron Giles added helper templates to driver_device to wrap legacy device read/write handlers into driver_device member functions. This should help move some things forward until more common code is converted into proper devices.
  • Aaron Giles introduced new module devcb2 which contains modernized versions of devcb. Compared to previous implementation this one is simpler overall, trampolining calls through a single internal set of adapter functions. The new versions are also designed to be specified in the machine_config rather than in structures, so they are no longer simple POD types. Additional new/changed features:
    • reads and writes can map to delegates for line or 8/16/32/64-bit;
    • reads and writes can map to an I/O port;
    • reads can be mapped to a constant value, with or without logging;
    • writes can be mapped to a device's input line;
    • all reads/writes can have a shift, mask, and/or xor applied;
    • devices can opt to make the functions safe-if-NULL when resolving;
    • only member function types are supported.
  • Aaron Giles eewrote the YM2151 interface to be fully modernized, and removed the ym2151_interface struct in favor of inline configs using the new devcb2 mechanism. In many cases, removed no longer needed trampolines, instead taking advantage of direct support for input line writes.
  • smf switched SCSICB to use DEVCB2.
  • Curt Coder optimized the PLA implementation and added simple caching with significant performance increase.
  • Wilbert Pol updated tlcs900.c: Implemented the 4-byte prefetch queue.
  • Luca Elia provided a suna8.c update:
    • Emulated the protection in Sparkman;
    • Support for two sprite chips;
    • Support for two sample ROMs;
    • Fixed color cycling in hardhea2;
    • Per-game tile banking.
  • Mooglyguy added opcodes to Atmel AVR core: OR, SBCI, ORI, ST Y+, ADIW.
  • Mooglyguy fixed functional issues in Atmel AVR opcodes: COM, NEG, LSR.
  • Osso hooked up polepos.c, portrait.c and tomcat.c to use the new tms5220 implementation.
  • O. Galibert updated addrmap: Yes, we can have a map for 8bits on 8bits, and that's not the end of the world.
  • O. Galibert updated addrmap: Avoid a collision between address_map the type and the method of the device_memory_interface class.
  • Carl updated the i386 core: 486+ WP bit support.
  • Robbbert updated the Williams system3 driver: Contact and Disco Fever marked as WORKING.
  • Robbbert updated-Hot Tip, Lucky Seven : added chimes, now marked as WORKING
  • Robbbert moved Phoenix and Pokerino to s3.c and marked as WORKING.
  • Carl and Alegend45 updated the i386 core:Don't crash on REP NOP.
  • IQ_132 and JackC updated suna16.c: Emulate protection routines rather than patching them for uballoon.
  • IQ_132 updated pgm.c: Fix level 6 crash on kov.
  • IQ_132 updated megadrvb.c: simplify decode function for srmdb.
  • Lord Nightmare cleaned up mustache boy vblank interrupts: Got rid of the nasty long-int hack in mustache boy in favor of the same 'vblank in+vblank out' int scheme the other similar seibu games of this era used (panicrd, darkmist). This seems much more likely to be what the actual pcb used, and works just fine.
  • smf changed 2 disc hack to use 1 drive in ksys573.c.
  • smf updated SCSICD: it now has a CDDA sub device.
  • MooglyGuy updated the avr8 core: Implemented MULS, ANDI, STD Z+, LD -Z, LD Y+, LD -Y, LD -X, SWAP, ASR, ROR, and SBIS opcodes.
  • MooglyGuy updated the avr8 core: Moved Timer 0-2 into the CPU core itself, 30x driver speedup.
  • IQ_132 emulated protection in sf2rb, sf2rb2's (cps1.c) and ichirjbl (segac2.c) rather than simply patch it out.
  • smf hooked up PSX IRQ's using DEVCB2.
  • MooglyGuy updated avr8.c: Added LD Rd,Z+q opcode.
  • MooglyGuy updated avr8.c: Corrected cycle counts for LD and ST opcodes.
  • MooglyGuy updated avr8.c: Fixed a bug where a 2-cycle or 3-cycle opcode encountered during a time slice were causing all subsequent 1-cycle opcodes to deduct 2 or 3 cycles for the remainder of the time slice instead.
  • smf cleaned up the ide controller enough to change the irq to a DEVCB2.
  • MooglyGuy updated avr8.c: Fixed register indexing for MULSU opcode.
  • MooglyGuy updated avr8.c: Fixed register writeback for LD -Z and LD -Y opcodes.
  • Roberto Fresca provided Fun World driver improvements:
    • Added 'Bonus Card (Austrian)' from Fun World.
    • Added PCB layouts.
    • Set Big Deal sets and Jolly Card hybrid as clones of Bonus Card.
    • Cleaned up the code.
    • Changed company name 'Funworld' to 'Fun World'.
    • Changed Mega Card to Power Card after check the real hardware running.
    • Fixed Power Card graphics ROM load.
    • Added technical notes.
  • O. Galibert updated romload: Tell in which zips a missing rom was searched for.
  • Roberto Fresca moved jolycdat program to Bonus Card, making it parent. This program is a real original Bonus Card program, and the PCB was populated with common Jolly Card graphics wrongly. The other Bonus Card set was turned as clone, since has a fake copyright string (hack). Also added some technical notes.
  • Roberto Fresca provided more Fun World driver improvements:
    • Renamed the internal layout artwork: bigdeal --> bonuscrd.
    • Default Bonus Card & Big Deal DIP switches positions, that allow boot the system without errors.
  • Brian Troha updated lethalj.c: Added dipswitch locations to the Egg Venture sets.
  • IQ_132 removed hack patch for tdragonb and emulated protection instead.
  • Roberto Fresca provided Magic Card II improvements:
    • Added new Yugoslavian set of Magic Card 2 (Nov/New).
    • Added default NVRAM, needed to boot properly.
    • Rearranged the whole Magic Card 2 sets, and improved descriptions.
    • Added technical notes.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING