MAME v0.142 is released. MAME stands for Multiple Arcade Machine Emulator. When used in conjunction with images of the original arcade game's ROM and disk data, MAME attempts to reproduce that game as faithfully as possible on a more modern general-purpose computer. MAME can currently emulate several thousand different classic arcade video games from the late 1970s through the modern era.
What's news in MAME v0.142:
0.142 ----- MAMETesters Bugs Fixed ---------------------- - 04286: [Sound] deadang and clones: Missing ADPCM Audio (Aaron Giles) - 04288: [Crash/Freeze] goodejan, goodejana, totmejan, sengokmi: Crash after OK (Aaron Giles) - 04290: [Crash/Freeze] honeydol: Crash after OK (Aaron Giles) - 04291: [Crash/Freeze] Many sets in 8080bw.c: [debug] Assert before OK (Aaron Giles) - 04289: [Crash/Freeze] twinadv, twinadvk: Crash after OK (Aaron Giles) - 04287: [Graphics] wintbob: Video missing (Aaron Giles) - 04295: [Documentation] stdragon: The game description is "Saint Dragon". (Fujix) - 04285: [Misc.] tenkaid: Missing NO_DUMP label for rom tydg002.u8 (hap) - 04294: [Graphics] jrpacman, jrpacmbl: pac-man and the ghosts are not visable. (hap) Source Changes -------------- Converted Super Shanghai Dragon's Eye to use the common deco video files functions, fixing a rowscroll bug in it [David Haywood] Fix font loading in sdlmame. BDF files are just loaded as TTF by TTF_OpenFont. Load is now protected by a magic check. Also fixed a bug in SDL1.3 keyboard mapping and changed SDL1.3 code to be compatible with recent 1.3 API changes. [Couriersud] sdl-config flags are now separated into INCFLAGS and COMFLAGS in sdl.mak. This fixes "make depend". [Couriersud] softlist.c: split the compatibility requirements) into stays tied to the whole software entry, the latter gets inherited by each part. [Fabio Priuli] Added device_t::memory() to fetch a reference to the memory interface, or assert if not present. [Aaron Giles] Split address_space::install_[legacy_]handler into install_[legacy_]read_handler, install_[legacy_]write_handler, and install_[legacy_]readwrite_handler. [Aaron Giles] Added variants of address_space handler installers which don't take mirror or mask parameters, since this is by far the most common case. [Aaron Giles] Deprecated API cleanup. [Aaron Giles] cpu_suspend ==> device_suspend cpu_resume ==> device_resume cpu_yield ==> device_yield cpu_spin ==> device_spin cpu_spinuntil_trigger ==> device_spin_until_trigger cpu_spinuntil_time ==> device_spin_until_time cpu_spinuntil_int ==> device_spin_until_interrupt cpu_eat_cycles ==> device_eat_cycles cpu_adjust_icount ==> device_adjust_icount cpu_triggerint ==> device_triggerint cpu_set_input_line ==> device_set_input_line cpu_set_input_line_vector ==> device_set_input_line_vector cpu_set_input_line_and_vector ==> device_set_input_line_and_vector cpu_set_irq_callback ==> device_set_irq_callback device_memory(device) ==> device->memory() device_get_space(device, spacenum) ==> device->memory().space(spacenum) cpu_get_address_space(cpu, spacenum) ==> cpu->memory().space(spacenum) cputag_get_address_space(mach, tag, spacenum) ==> mach->device("tag")->memory().space(spacenum) cputag_get_clock(mach, tag) ==> mach->device("tag")->unscaled_clock() cputag_set_clock(mach, tag, hz) ==> mach->device("tag")->set_unscaled_clock(hz) Created new enum type address_spacenum for specifying an address space by index. Update functions and methods that accepted an address space index to take an address_spacenum instead. Note that this means you can't use a raw integer in ADDRESS_SPACE macros, so instead of 0 use the enumerated AS_0. [Aaron Giles] Standardized the project on the shortened constants AS_* over the older ADDRESS_SPACE_*. Removed the latter to prevent confusion. Also centralized the location of these definitions to memory.h. [Aaron Giles] Converted DECO BAC06 tilemap (used by dec0.c) to be a device, reducing code duplication [David Haywood] Deprecate the old memory_install_* macros. Dynamic installation is now handled directly by calling methods on the address_space, which have been expanded with aliases to cover all previous situations. In addition, variants with no mirror or mask value are provided to cover the common cases: [Aaron Giles] memory_install_read*_handler(space, begin, end, mirror, mask, handler) ==> space->install_legacy_read_handler(begin, end [, mirror, mask], FUNC(handler)) memory_install_write*_handler(space, begin, end, mirror, mask, handler) ==> space->install_legacy_write_handler(begin, end [, mirror, mask], FUNC(handler)) memory_install_readwrite*_handler(space, begin, end, mirror, mask, rhandler, whandler) ==> space->install_legacy_readwrite_handler(begin, end [, mirror, mask], FUNC(rhandler), FUNC(whandler)) memory_install_read*_device_handler(space, device, begin, end, mirror, mask, handler) ==> space->install_legacy_read_handler(*device, begin, end [, mirror, mask], FUNC(handler)) memory_install_write*_device_handler(space, device, begin, end, mirror, mask, handler) ==> space->install_legacy_write_handler(*device, begin, end [, mirror, mask], FUNC(handler)) memory_install_readwrite*_device_handler(space, device, begin, end, mirror, mask, rhandler, whandler) ==> space->install_legacy_readwrite_handler(*device, begin, end [, mirror, mask], FUNC(rhandler), FUNC(whandler)) memory_install_read_port(space, begin, end, mirror, mask, port) ==> space->install_read_port(begin, end [, mirror, mask], port) memory_install_read_bank(space, begin, end, mirror, mask, bank) ==> space->install_read_bank(begin, end [, mirror, mask], bank) memory_install_rom(space, begin, end, mirror, mask, ptr) ==> space->install_rom(begin, end [, mirror, mask], ptr) memory_install_ram(space, begin, end, mirror, mask, ptr) ==> space->install_ram(begin, end [, mirror, mask], ptr) memory_unmap_read(space, begin, end, mirror, mask) ==> space->unmap_read(begin, end [, mirror, mask]) memory_nop_read(space, begin, end, mirror, mask) ==> space->nop_read(begin, end [, mirror, mask]) uiimage.c: Improved File Manager usage (in the internal UI) by catching char inputs and searching for matching names among files and directories [Fabio Priuli] some work on the 3 games in dec8.c which use the bac06 tilemaps[David Haywood] Converted Act Fancer, Trio the Punch and Mad Motor to use the common deco video functions [David Haywood] Converted Stadium Hero driver to use the common Deco video functions [David Haywood] Cleanup of machine.h. Shuffled some fields around, and moved several to private member variables with accessors: [Aaron Giles] machine->m_respool ==> machine->respool() machine->config ==> machine->config() machine->gamedrv ==> machine->system() machine->m_regionlist ==> machine->first_region() machine->sample_rate ==> machine->sample_rate() Converted Pocket Gal to use the common deco video routines [David Haywood] Started moving common deco MXC06 sprite controller code to it's own device files, reducing code duplication [David Haywood] Converted Act Fancer to use common deco sprite code [David Haywood] Converted Vapor Trail to use the common deco sprite functions [David Haywood] Converted Stadium Hero, Cobra-Command, Psycho-Nics Oscar to use the common deco sprite functions [David Haywood] Removed redundant machine items from address_space and device_t. Neither machine nor m_machine are directly accessible anymore. Instead a new getter machine() is available which returns a machine reference: [Aaron Giles] space->machine->xxx ==> space->machine().xxx device->machine->yyy ==> device->machine().yyy Globally changed all running_machine pointers to running_machine references. Any function/method that takes a running_machine takes it as a required parameter (1 or 2 exceptions). Being consistent here gets rid of a lot of odd &machine or *machine, but it does mean a very large bulk change across the project. [Aaron Giles] Remove redundant item cpu from address_space, in favor of space->device(). [Aaron Giles] Two hash_collections can only match if they have at least one matching hash. [Aaron Giles] If we get an error parsing options, see if there was no command and what looks like an invalid system name. In that case, provide suggestions for the system name instead of reporting the options error. [Aaron Giles] Move overridable device->rom_region(), device->machine_config_additions(), and device->input_ports() to protected methods. Added non-virtual wrappers around them. [Aaron Giles] Implemented karnov style sprites in its own file, shared with karnov and dec8 drivers [David Haywood] Fixed multiwidth sprites in decmxc06.c, removed code which appeared to serve no purpose other than to break the birdtry gfxdecode in machine/dec0.c [David Haywood] Added new macro MACHINE_CONFIG_DERIVED_CLASS() which works just like MACHINE_CONFIG_DERIVED() except you can specify an alternate driver_device class. Used this in the 8080bw.c games which require an _8080bw_state, but derive from mw8080bw_root which has the base class mw8080bw_state. [Aaron Giles] lordgun.c: Corrected Dipswitch names and added dipswitch locations to Lord of Gun & Alien Challenge [Brian Troha] tumbleb.c: Corrected Dipswitch names and locations for Choky! Choky! [Brian Troha] New clones added ---------------- Fashion Gambler (Set 2) [Team Europe] AAcrobatic Dog-Fight (USA) [Tirino73] New games marked as GAME_NOT_WORKING ------------------------------------ Jyunai - Manatsu no First Kiss [The Dumping Union, alien_mame] BiKiNikko - Okinawa de Ippai Shityaimashita [The Dumping Union, alien_mame] |
Download:MAME 0.142 Official Binaries
Download:MAME 0.141 Official Binaries (I686 optimized)
Download:MAME 0.142 Official Binaries x64
Download: MAME v0.142 sources
Source:Here
Random Related Topic
0 Comments
Post a Comment