MAME 0.147 was released on 17 September 2012.
The known contributors for this version are, in alphabetical order:
The known contributions for this version are, in the order specified in the whatsnew:
- Alegend45 updated the i386 core: xlat implementation fix.
- Angelo Salese fixed a sign bug with CVT.WS opcode in v810 CPU core.
- Couriersud updated netlist implementation:
- Now supports any resolution fitting reasonably into a UINT64;
- Execution now uses a list sorted by execution time;
- Implementation now supports analog and digital inputs / outputs;
- First step in a move to "terminals" being both input / output;
- Improved object model Pong:
- Rewrote video code, now emulates a monitor by analyzing the analog video signal and identifying vsync and hysnc pulses.
- Removed all hacks.
- Overall performance increase of about 10% over the previous "pongf" implementation.
- qmc2 provided a patch that enables output of <info> elements stored in software lists through –listsoftware.
- Robbbert updated Flicker: Boots up, some buttons working. WIP.
- Osso continued new device implementation for SN76496 and clones: mrdo.c, pachifev.c, tp84.c.
- Robbbert updated Flicker: added remaining inputs, some notes, sound (of sorts), marked as working.
- Angelo Salese implemented remaining BSU opcodes in V810 CPU core.
- Angelo Salese wrote up a bare-bones M50458 OSD video chip device, used by Nintendo Super System HW.
- Osso continued new device implementation for SN76496 and clones.
- Angelo Salese wrote a preliminary S-3520CF RTC chip device, used by Nintendo Super System.
- Robbbert updated the zac_1 driver: added display, inputs, notes. ewf and sshtlzac marked as working.
- trap15 fixed G-Stream G2020's sound banking. Compared with a real PCB and everything sounds as it should.
- Jim Stolis added IGT ID-023 Protocol to driver. This additional DBV protocol allows all remaining unsupported sets to accept dollar bills in-game. The protocol is switchable via driver configuration (along with denomination).
- David Haywood shared palette fix for certain sms-based games in Mega Tech.
- Brian Troha updated 20pacgal.c: Add PCB layout for Pacman - 25th Anniversary Edition.
- Angelo Salese provided a preliminary implementation of the Fujitsu MB90092 OSD chip, used by Super Famicom Box.
- Antonio Giner provided a fix for an SDL sound bug surrounding use of -speed and pausing frequently causing corrupt sound.
- Curt Coder fixed default SDL OSX UI toggle key name.
- Curt Coder added Swedish/Finnish SDL keymaps for OSX and Linux.
- Ville Linde updated the ppc core: Implemented PPC403 DMA chaining.
- Aaron Giles created new sprite device base class, which manages a bitmap and a sparse bitmap for tracking which areas got updated. This allows sprites to be rendered independently to their own bitmap and then mixed in a final step. Converted the Sega sprite device over to this new model, and moved the mixing steps out of the sprite implementations and into the driver- specific video updates where it belongs.
- Aaron Giles added some further methods and helpers to the bitmap_t and rectangle classes.
- Aaron Giles created a sega_16bit_common_base class which handles the common Sega palette RAM mappings and open bus reads.
- Ville Linde updated nwk-tr.c: Improved LAN controller emulation.
- Chris Hardy updated segaorun.c: Identified the Turbo Outrun "FD1094 317-unknown" set as 317-0106 and provided a working decryption key.
- Tafoid verified Dip Settings using Dip Sheet and through playtesting for deadconx, deadconxj.
- R. Belmont updated the PowerPC core: Fixed 601-type BAT processing.
- Brian Troha, Dave France and The Dumping Union updated taito_x.c: Corrected the rom names for the Superman sets. Added info about an alternate rom layout using a daughter card and half sized mask roms. Changed Gigandes (Japan) to Gigandes (earlier) as both sets support English / Japanese via dipswitch. But one set has a revised and corrected service mode.
- Angelo Salese fixed a major bug with 5A22 timings, that was incorrectly taking extra steals at every read, write and rmw types of opcode.
- Angelo Salese moved multiplication and division operation from SNES to 5A22 CPU core file.
- Osso updated looping.c to use the new tms52xx device implementation.
- smf made S1410 device act as a SCSIHD with the custom commands, added D9060HD & ACB4070 devices to do the same thing.
- Kevin Eshbach provided numerous jedutil tool improvements:
- Made some modifications to the jedutil tool to allow the viewing of simple combinatorial jeds (adding support for registered and gals in the future) by taking a jed file and printing out human-readable equations. Changed the command line options of the jedutil tool to know take an initial argument to specify what the tool should do.
- For example to convert a jed to bin the command is now: jedutil –convert <source.jed> <dest.bin> jedutil –convert <source.bin> <dest.jed>.
- To view a jed file with human-readable equations the command is jedutil –view <source.jed> <pal type>.
- Aaron Giles updated gfx_element to now be a class. Accessors are provided for all necessary elements. Updated some of the more, ah, creative uses/abuses of the gfx_elements.
- smf split out callbacks from scsibus_device into scscb_device, eventually this will be a SCSI device. SCSIBus_interface is no longer required and has been removed.
- R. Belmont updated the DRC: Give C backend x86/x64 shift=0 behavior for consistency.
- R. Belmont made PowerPC 100% pass of integer portion of PPCTorture on all DRC backends.
- R. Belmont updated the es5503 core: Preserve phase when oscillators loop.
- Ville Linde updated nwk-tr.c: Fixed LAN controller issues in Thrill Drive.
- Luca Elia promoted brickzn to playable state:
- Fixed gfx ROMs loading.
- Fixed inputs in joystick version.
- Alternate data decryption.
- Fixed alternate opcode decryption ranges.
- Palette encryption, banking and writes disable.
- Work RAM disable.
- Multiplexing of registers through protection.
- Added cheat / debugging inputs.
- Angelo Salese and Smitdogg understood how the Seibu COP collision detection really works, greatly improving Godzilla, Heated Barrel and SD Gundam RT gameplay.
- Curt Coder generalized the PLS100 into a PLA device of variable amounts of inputs/outputs/terms.
- Aaron Giles, in device_state_interface, renamed state() to state_int() and set_state() to set_state_int() for consistency. Updated all callers. Also added set_pc() helper and updated all callers to use that instead of set_state_int(STATE_GENPC).
- Aaron Giles added device_t::state() method to get the state interface. Added redundant device_state_interface::state() method to catch redundant use of it.
- Arzeno Fabrice updated segac2.c: Corrected the rom names for ThunderForce AC.
- Aaron Giles removed cpu_get_reg() and cpu_set_reg() macros in favor of using the above methods.
- Aaron Giles added ambiguous execute() and memory() methods to the device_execute/memory_interfaces respectively in order to catch unnecessary usage of the corresponding device_t methods. Removed all existing redundant usage.
- Brian Troha updated merit.c: Added dipswitches to the Pit Boss sets with dipswitch locations. Reordered sets from oldest to newest. Added GAME_NO_COCKTAIL flag as these games support a cocktail mode. Mapped player 2 controls for cocktail mode.
- Aaron Giles completed the closeout on old macros. Retired cputag_set_input_line and cputag_set_input_line_and_vector, replacing them with machine.device("tag")->execute().set_input_line [_and_vector].
- Brian Troha updated meritm.c: Various rom name corrections and additional minor documentation.
- Brian Troha updated meritm.c: Added PCB layout and pinout for the Merit CRT-250 PCB.
- Angelo Salese fixed an horizontal scrolling bug in Sengoku Mahjong.
- Robbbert updated Rotation: fixed displays, fixed sensors so that the game is now playable.
- R. Belmont updated the es5503 core: Fix IRQ timing error introduced when it was converted to a device.
- Curt Coder rewrote the SAA5050 Teletext character generator. Removed saa505x.c which was used by bbc.c, and refactored all drivers to use the new implementation.
- Phil Bennett updated idetrl.c : Support IDE command 0x31 (IDE_COMMAND_WRITE_MULTIPLE_NORETRY).
- Brian Troha updated splash.c: Changed the Machine Config to use actual OSC values and measured clocks as listed in the driver. Added a note about a Splash! PCB with alternate (higher) OSC clocks. Added a note about The Return of Lady Frog 9 rom and the 1 bit difference between the two sets.
- R. Belmont provided fixes so MESS on PowerPC OS X builds and works again. MAME is still a lost cause.
- Tafoid updated DOCS config.txt and windows.txt with recent commands that were never added to documentation as well as some clarifications.
- Brian Troha updated expro02.c: Added PCB layouts for the Comad 940429 and 940307 boards used for the two different versions of Fantasia.
- Alex Jackson updated segaybd.c: Fix 0.146u5 sound regression.
- Brian Troha updated tumbleb.c: Filled in a few dipswitches for Magicball Fighting.
New games added or promoted from NOT_WORKING status
New clones added
New games marked as GAME_NOT_WORKING