MAME 0.141u1

From MAMEDEV Wiki

Release Date

MAME 0.141u1 was released on 23 January 2011.


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 GAME_MECHANICAL flag to mark games having mechanical interface (such as pinball, redemption, bowling games ...). Imported games from PinMAME as skeletons.
  • Harmony removed fast IMEM and DMEM handlers from the RSP DRC in favor of the core memory system; fixes RSP DRC on 32-bit targets.
  • Harmony changed DMADAC interleave in the Aleck 64 driver from 2 to 1; fixes monaural and poppy audio.
  • Tim Schuerewegen updated the ARM7 core: fix for "39in1" (MAME) and removed a duplicate line.
  • Angelo Salese hooked up preliminary Seibu COP macro command 0x6200, used on SD Gundam Rainbow Tairiku Senki for the Homing weapon.
  • R. Belmont updated the MIPS core: make DRC selectable by #ifdef.
  • MooglyGuy fixed BADCOP exception handling in the MIPS III interpreter.
  • Angelo Salese implemented DMA slot concept to the Raiden 2 driver, giving correct sprite tables for X Se Dae and Zero Team.
  • Angelo Salese implemented Seibu COP macro command 0x904 (variant of 0x905), used on X Se Dae and Zero Team.
  • Angelo Salese implemented program bank read-back in Raiden 2, allowing it to not crash anymore during attract / gameplay.
  • Harmony fixed Compare interrupts in the MIPS III interpreter core. Aleck 64 games can now run under the MIPS III interpreter.
  • Harmony implemented proper TLB handling in the MIPS III interpreter.
  • Angelo Salese fixed Seibu COP command 0x7e05, used by Raiden DX fg video banking.
  • Couriersud made osd/sdl again compile against latest SDL 1.3 svn.
  • Couriersud implemented "-watchdog" option for SDLMame.
  • Couriersud "Copy-and-Pasted" the "-bench" option from win32 to sdl.
  • byuu and R. Belmont added uPD7725 16-bit DSP core and hookups for SNES hardware.
  • R. Belmont removed no longer needed SNES HLE code.
  • Mariusz Wojcieszek added support for MSB shadows in STV VDP2. This improves Soukyugurentai shadows.
  • Harmony fixed RSP core VRSQL implementation.
  • hap provided spaceg.c improvements:
    • Less garbage trails, though it's not completely good yet.
    • Fixed jerky x-movement.
    • Fixed crash on loadstate.
    • Marked color proms as undumped.
  • Aaron Giles updated the MIPS3 DRC core: Fixed case where branch delay slot straddles a page boundary and the page check confirms that the block is paged in.
  • Couriersud made makedep ignore "-include" which is used by sdlmame to include sdlprefix.h before all other includes.
  • Couriersud removed "makedep" stuff from sdl.mak now that the core supports it. Also split sdl-config output between INCPATH and CCOMFLAGS for linux targets. makedepend now works.
  • Mariusz Wojcieszek fixed rendering of not rotated RBG layer in STV VDP2. This fixes garbage on level 4 of Soukyugurentai.
  • Brian Troha added dipswitch locations to moo.c, mystston.c, mystwarr.c, prehisle.c and pushman.c drivers.
  • Brian Troha added dipswitch locations to jchan.c driver.
  • Aaron Giles updated the MIPS3 DRC core: Include delay slots in checksum calculations.
  • Aaron Giles c++-ified drcfe and the associated frontends. You now create a frontend by deriving from drc_frontend and implementing the describe method.
  • Mariusz Wojcieszek added support for MSB enabled color calculation for sprites in STV. This improves some sprites in Soukyugurentai.
  • Couriersud started moving the discrete subsystem towards C++. Changed some structs to classes and most of the list processing now uses a linked list template which is type-safe.
  • David Haywood improved sprite-tile priorities in SD Gundam Sangokushi Rainbow Tairiku Senki.
  • R. Belmont updated the V25 core: fixed false warnings from some GCC versions.
  • Aaron Giles improved TLB mismatch handling in PPC DRC, so that if we fill from an empty entry, we re-dispatch to previously compiled code instead of always recompiling the target. This greatly reduces the DRC overhead on 603-based games.
  • Miodrag Milanovic moved MESS RAM device into emu core. Added COMP and CONS macros in driver.h.
  • Miodrag Milanovic moved image devices implementation and related UI functions to emu section from MESS.
  • Tafoid flagged a number of existing gamesi n MAME with GAME_MECHANICAL to indicate the presence of un-emulatable mechanical parts.
  • Angelo Salese provided a preliminary implementation of the Seibu COP palette brightness mode 4, used by Denjin Makai fade in/out effects.
  • Wilbert Pol updated z80.c: Allow daisy chain functionality to be used in a situation where there are more interrupt sources besides the daisy chain devices.
  • Sandro Ronco added HD61700 CPU core used for emulate Casio PB-1000/PB-2000c in MESS.
  • Angelo Salese and Tomasz Slanina provided a work around for Seibu COP command 0x8100 / 0x8900, used in all games for direction of objects. Fixes many sync bugs in all legionna.c / raiden2.c games.
  • Angelo Salese fixed sprite flickering and stage 5 crash in Raiden 2.
  • Aaron Giles made vconv build in all circumstances as part of win32 build. Made always use gcc to build vconv. Added missing extern "C" to intrinsic definitions. Changed vconv to call link.exe instead of lib.exe for libraries.
  • Angelo Salese fixed background gfx issues in later levels of Raiden 2
  • Curt Coder added SBY line read to SP0256 interface.
  • Angelo Salese implemented Seibu Audio variant with a single YM2151 sound chip, giving working sound to Air Raid.
  • Luca Elia provided a bishjan.c update:
    • Implemented dynamic tile sizes.
    • Generalized video routines to support more layers.
    • Moved mtrain in from subsino.c.
  • Angelo Salese fixed BCD score display bug in Raiden 2 and Zero Team.
  • f205v updated naomi.c: Documentation additions.
  • O. Galibert updated the Naomi driver: support texture stride selection.
  • Mariusz Wojcieszek corrected bitmap palette number for RBG0 in STV VDP2. This fixes colors in boss gfx in Soukyugurentai level 4 & 5.
  • Tafoid fixed some input issues in meosism, vasara, vasara2 and twineag2 (ssv.c).
  • MASH corrected grom01.bin BAD_DUMP in Golden Par Golf.
  • Couriersud updated the discrete sound system:
    • All nodes are now class based.
    • Removed all support for "legacy", i.e. procedural node functions.
    • Nodes are created using a class factory whose instances are set up in discrete blocks. There is no separation of node vs. module any longer.
    • Custom modules are now just implemented like "normal" nodes.
    • Converted all custom modules.
    • Context variables can now be migrated to be private class members.
  • Fabio Priuli updated cheat.c: added support for cheats with software list shortnames.
  • Fabio Priuli updated video.c: added support for a new template to -snapname so that it is possible to use the name of images mounted in the devices (for MESS). Namely, it is now possible to use %d_XXXX to prescribe usage of the image mounted in the device XXXX.
  • Fabio Priuli updated clifront.c: improved the behavior of -listsoftware by updating DTD, by adding output of most missing elements and attributes (softlist description, features & diskdata) and by fixing size and offset formats.
  • Fabio Priuli updated clifront.c: added remaining loadflags to -listsoftware output.
  • Tim Schuerewegen fixed an ARM7 R15 bit ignoring behaviour while in ARM state, fixes Lupin the Third: the Typing ARM crashing when you coin it up.
  • Fabio Priuli updated softlist.c: added best match suggestions to software lists.
  • Miodrag Milanovic updated softlist.c: only output best match if a list is present, limit the scan for best match to the devices with the same interface and fixed a corner case with shortname=listname.
  • Fabio Priuli updated romload.c: added support for split set to softlist (for cart, cd and hd).
  • Fabio Priuli updated devimage.c: added support for split set to softlist for cass and flop too.
  • Fabio Priuli allowed software lists to look for files in the rompath too.
  • O. Galibert figured out and made comments of math tables in roms 14/15 of Seibu Cup Soccer bootleg inside machine/seicop.c.
  • Fabio Priuli updated clifront.c: added "-lsoft" option as short version of "-listsoftware".
  • Fabio Priuli updated clifront.c: prevented -lsoft from output DTD if no list is found.
  • Fabio Priuli updated softlists: added WARNING if loading a software with supported="partial" or "no".
  • Guru updated the model3 driver: redumped Daytona 2 Battle on the Edge CROMs.
  • R. Belmont updated the SH4 core: cleanup and better common/interpreter separation.
  • Lord Nightmare provided a documentation update to beezer driver for facilitating future sound work.
  • Lord Nightmare added missing XYZ latch readback on beezer, gets sound closer to working.
  • R. Belmont updated the SH4 core: port preliminary SH3 support from DRC.
  • couriersud updated the discrete subsystem:
    • All list handling now based on dynamic_array_t (discrete.h).
    • More code rewrite to get rid of fixed allocations.
    • Performance about the same as 0.140.
  • Alex Jackson added a mostly complete NEC V25/V35 CPU core, added working sound to Batsugun and hooked up proper V35-controlled interrupts in Cosmic Cop / Gallop and Kengo.
  • Fabio Priuli updated romload.c: implemented handling of parent-clone CHDs in software lists.
  • AGEMAME updated bfm_sc2.c: Removed old-style NVRAM handlers in preparation for mechanical game support.
  • AGEMAME provided MPU4 Changes:
    • Added fix for lamp 'open circuit' errors which in turn make Connect 4 work better.
    • Fixed layout typo that caused the wrong piece to be displayed in Connect 4.
    • Documented the DUART and PTM better in MPU4 to allow for sampled sound changes later.
    • Changed 'serial_card_connected_ to link 7a, as it is the jumper on the ROM card that changes the IRQ priority, not the serial interface itself.
  • dox and O. Galibert updated raiden2: Command 0205 changes data at +1c too.
  • Aaron Giles redid most of the DRC/backend support as C++. Yes, it is intentional that the x86/x64 backends compile everywhere. Backends are now derived from drcbe_interface and implement several required overrides. x86emit.h now uses namespaces so that the x86/x64 emitters can co-exist. New file uml.h/uml.c actually describes the UML language, separating out several concepts from drcuml.c.
  • hap cleaned up clocks of mid to late 80s Nichibutsu non-Mahjong games. Though not completely accurate yet, this should improve music speed and DAC audio pitch a bit.
  • Fabio Priuli updated romload.c: made -bios option case insensitive.
  • Qwi Jibo updated starfire.c: Improved color emulation and added driver data.
  • Alex Jackson updated the toaplan2 driver:
    • Found a lot more kbash opcodes by matching code with batsugun's.
    • Correct m68k and v25 address maps for kbash.
    • Corrected truxton2 program ROM.
  • Aaron Giles simplified UML parameters, as follows:
    • Immediates can be passed raw, no IMM() wrapper required (and it's gone now).
    • Fixed integer registers now use constants I0,I1,I2,etc instead of IREG(0),...
    • Same for float registers F0,F1,F2,etc instead of FREG(0).
    • Dynamic integer/float regs use inline functions ireg(),freg().
    • MEM macro is now a lower-case inline function mem().
  • Angelo Salese fixed a trivial boot vector program init bug in Lethal Thunder / Thunder Blaster.
  • Angelo Salese added an opcode in Mystic Riders decryption table, makes BGMs to work in mysticrib.
  • Angelo Salese added sound reset line for Irem M92 HW, and safely removed GAME_IMPEFECT_SOUND flag to Perfect Soldiers.
  • Couriersud fixed a bug in makedep which caused includes on the first line of the file like in skyraid.h to be ignored.
  • Alex Jackson provided toaplan2 driver improvements:
    • Figured out which bit controls V25 RESET in each game by comparing the 68000 code.
    • Added a comment about fixeight's I/O map, which we'll have to determine once we start decrypting it.
    • Put #ifndef USE_ENCRYPTED_V25S around some simulation crap that was hiding in fixeight's DRIVER_INIT.
  • hap updated segapcm.c: Fixed loop address, hangon engine sounds better now. Also included documentation in source of known register functions.
  • Qwi Jibo updated madalien.c: Fixed highlighting in tunnel.
  • David Haywood fixed regressed flip screen support in Toaplan 2 games.
  • Couriersud changed the discrete sound system to be class based:
    • Former modules are now classes being derived from discrete_base_node.
    • Moved all context variables to be private class members.
    • For "standard nodes", DISCRETE_CLASS_STEP_RESET provides a simple way to implement a node.
    • All information around a node (additional info struct, constants and input mappings may be defined on a class level centralizing all information. An example is dss_inverter_osc.
    • Significantly simplified the task handling.
    • Fixed a bug which would not buffer secondary outputs.
    • All lists in sound/disc_* are now based on dynamic_array_t (discrete.h)
    • Changed all drivers to reflect the changes.
    • Custom modules are now just another node class.
    • No performance hit observed due to these changes.
  • Roberto Fresca provided improvements to goldnpkr.c:
    • Lots of changes to get working the Video Klein games.
    • Renamed witchcde to witchjol --> Jolly Witch (Export, 6T/12T ver 1.57D).
    • Added Wild Witch (Export, 6T/12T ver 1.74A).
    • New video hardware and machine driver for Video Klein's extended tiles games.
    • Added Dallas DS1210 + battery backed RAM support to the Video Klein CPU boxed games.
    • Improved inputs for Jolli Witch and Wild Witch. Added the game selector switch.
    • Cleaned up some witch card sets.
    • Added technical and game notes.
  • Curt Coder provided M6801 changes:
    • Added operating mode enum.
    • Fixed port writes.
    • Implemented SCI status follower bits.
  • Alex Jackson updated the toaplan2 driver:
    • Found a few more fixeight opcodes, by matching code in the interrupt routines with batsugun.
    • Corrected fixeight V25 address map (the YM2151 and OKI6295 are at a different location than the other games).
    • Preliminary implementation of V25/V35 port output.
  • Couriersud optimized RC_INTEGRATE and TRANSFORM. Nice improvement.
  • Couriersud changed all "output* 0 = ..." into "set_output(0, ..)" calls. Rewrote modules using "output* 0" as a latch as well. The purpose is to decouple nodes from the discrete infrastructure implementation.
  • Aaron Giles added a virtual stream update function to the device sound interface. Added a new stream_create that takes fewer parameters and calls the device's stream update. Removed the stream update stub template. Updated BSMT2000 and OKIM6295 to use the new interface for their streams.
  • Curt Coder provided M6801 changes:
    • Implemented port 3 strobed mode.
    • Fixed port writes some more.
  • Couriersud made the discrete subsystem use the sound_device stream_update function.
  • Qwi Jibo updated i8085.c: Fixed inte callback not being called when the IE flag was cleared after the CPU received an interrupt. This fixes interrupts in n8080.c helifire and spacelnc.
  • dox and O. Galibert updated raiden2: Wrote down the rather weird results of a series of tests.
  • Couriersud and Chris Kennedy added "-syncrefresh" option to osd/sdl. This will *limit* the game speed to the video refresh rate and works in -mt mode as well. The option has an effect only if "-waitsync" is specified.
  • Pierpaolo Prazzoli fixed bug 01004: chinhero, chinhero2, chinherot: There is a bad sprite on level 7 of the game.
  • David Haywood updated fixeight: cleaned up the inputport for fixeight (no dips).
  • Tim Schuerewegen: provided ARM7 core updates:
    • Disabled 26-bit back compatibility for ARM7 variants other than ARM7500.
    • Fixed carry flag issue on add/subtract in ARM mode.
  • Derrick Renaud updated 720: added Driver Configuration option to allow the controls to be set to Real 720 Controller Input; fake joystick; or fake spinner. It defaults to fake spinner for mouse/spinner use.
  • Derrick Renaud changed the Analog Controls menu to only list controls selected in the Driver Configuration.
  • Tim Schuerewegen provided ARM7 core updates:
    • Fixed "MOV x, R15, LSL #y" form as tested by ARMWrestler.
    • Added unimplemented Thumb MOV variant used by GBA Moto GP.
  • Fabio Priuli reorganized megadrive/sms sourcefiles for better sharing between MAME/MESS.
  • R. Belmont, byuu and Dr. Decapitator provided NEC DSP updates:
    • Now supports uPD7725 and uPD96050.
    • Hooked up SNES common code to use uPD96050 for ST-010/011.
    • Removed ST-010 HLE simulation.
  • Miodrag Milanovic made display suggestions in case commands that require game name are called and there were no matching games.
  • Couriersud carved out a discrete_sound_device from discrete_device. This now has all the stream related code. discrete_device thus now contains all the generic code and may be used going forward to implement not sound related use cases.


Game Support

New games added or promoted from NOT_WORKING status


New clones added


New games marked as GAME_NOT_WORKING