MAME/0.113

From GamerWiki

Jump to: navigation, search

A warts and all look through the history of MAME as described by the MAME Dev team themselves through their releases.

Contents

Version 0.113 "Dance Dance Emulation"

Released: 2007-03-05

MAMETesters Bugs Fixed

  • fastlane0112u4gra [Canim]
  • diamond0112u4gra [Canim]
  • calorie0112u4gra [Canim]
  • qcrayon237b9gra [stephh]
  • leftover0112u4ora [Aaron Giles]
  • asserts0112u4ora [Aaron Giles, Derrick Renaud]
  • nes0112u4red [Aaron Giles]

Source Changes

  • Removed unnecessary idle skipping code from the m92 and deco32 drivers. This allows removal of a couple of now-unused functions from cpuexec. [Zsolt Vasvari]
  • Minor cleanup of Berzerk driver. [Lord Nightmare]
  • Removed cpu_gethorzbeampos() and replaced it with calls to video_screen_get_hpos(). Also changed TMS34010 configuration to take a screen number, and changed atarigen_get_hblank() to take a screen number as well. [Zsolt Vasvari]
  • Fixed the model2.c ROM definitions for some games that weren't even loading and made the infamous unknown z-sort mode not a fatal error. [R. Belmont]
  • Fixed a number of BIOS-only drivers to not crash when run. [R. Belmont, Aaron Giles]
  • Fixed bug where the window thread would stop processing events when mame was paused. [BUT]
  • Changed the 'Tournament' Street Fighter games to not have a network adapter present by default. [David Haywood]
  • Fixed incorrect Eolith speedup patch from u3. [David Haywood]
  • Fixed regressions in 3 of the discrete games from 0.112u4. [Derrick Renaud]
  • Fixed all analog controls for the newly enabled validity checks including the following: [Derrick Renaud]
  • demndrgn - changed to proper IPT_AD_STICK controls.
  • konamigt, hcrash, rf2 - set to proper PADDLE control and fixed mask.
  • overdriv - changed to proper PADDLE control.
  • sspeedr - changed to IPT_POSITIONAL with PORT_REMAP_TABLE controls for gas and steering fixing both.
  • midvunit.c - changed games so the brake pedal shows on player1
  • simpbowl - fixed port mask, now trackball works proper without glitching
  • ssrj - fixed gas pedal
  • namcos2 - fixed inputs on all games (may need to delete nv files)
  • Actually included the RF5C400 changes mentioned for u4. [hoot development team]
  • Split the sprint4 and ultratnk drivers again. Brought the Sprint 4 driver up to date. [Stefan Jokisch]
  • Added preliminary sound to Destroyer and Altair. White noise is missing, and Draco is still silent. [Curt Coder]
  • Added tools to generate regression tests and mamedev.org-compatible reports. The report generator is cross-platform, but the test running code is Windows-only at the moment. [Aaron Giles]
  • Fixed regression in Nintendo games that did not specify a clock for the NES APU. [Aaron Giles]
  • Rewrote the BSMT2000 to be more accurate. Various modes are now software selected at startup based on the register value at reset time. Changed all existing drivers so they properly hooked up the reset line on the chip in order to make this control work. Also added correct BSMT2000 ADPCM output. [Aaron Giles]
  • Defined several new exit codes for "unknown game" and "invalid config" and changed the Windows OSD layer to output them. [Aaron Giles]
  • Removed obsolete joystick calibration junk from the osdepend layer. If anyone needs this functionality, I will look into providing a way for the OSD code to add menus in the UI. [Aaron Giles]
  • Changed file2str to be built into the obj directory. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Version 0.113u1

Released: 2007-03-09

NOTE TO OSD PORTERS: There are some major changes happening in this version. Most importantly, throttling and frameskipping are now part of the core. Please read the whatsnew carefully!

MAMETesters Bugs Fixed

  • janptr96_0110u4gra [Mike Ellery]
  • dokidoki0111u5gra [Mike Ellery]

Source Changes

  • Began converting drivers over to the new more accurate video timing functions (video_screen_* functions instead of cpu_*). This first batch includes all the games using the TMS34010 chip and the Atari games that use atarigen.c. [Zsolt Vasvari]
  • Fixed Windows-isms in regrep.c. [couriersud, Aaron Giles]
  • Improvements to the kaneko driver. All the protection data should be correct now. [Sebastien Volpe]
  • Added a call winwindow_ui_exec_on_main_thread() to allow code on the window thread to cause a function to be executed on the main thread. [Nathan Woods]
  • Fixed a crash when verifying samples when a sample has a NULL name. [Nathan Woods]
  • Properly fixed tile flipping in Mustache Boy. [David Haywood]
  • Built iButton data for ppd. [Ian Patterson]
  • Fixed the rest of the Atari games and the Cinematronics CCPU games to use the newer video timing system. Also fixed reset problem in Destroyer. [Zsolt Vasvari]
  • Fixed sample audit to report all missing samples. [BUT]
  • Marked unknown dips for 005 according to manual. [Mike Ellery]
  • Updates drivers from C-E to use the newer video timing system. [Zsolt Vasvari]
  • Moved throttling, frameskipping, fast forwarding, and timing into the core. Removed the equivalent code from the Windows OSD layer. This now relies on options being set for controlling these features by the OSD layer via options.c. Deprecated the old osd_get_fps_text() function. Changed osd_update() to take a parameter indicating whether or not the frame was skipped. Added new function osd_sleep() to the OSD core timing library. [Aaron Giles]
  • Added a new mechanism for building in fonts. A new tool, png2bdc can convert a specially formatted PNG file into a binary cached MAME font. This cached font can be embedded into MAME. A new default small UI font is now included, and built via this process to replace the old hard-coded one. The new font is proportional, so there is better use of limited screen real estate in small video modes. Some balancing/ tweaking of the actual font still needs to be done, and some basic functionality still needs to be added to png2bdc. Consider this a work-in-progress. [Aaron Giles]

New clones added

New games marked as GAME_NOT_WORKING

Version 0.113u2

Released: 2007-03-15

Note to OSD porters: several OSD-related changes are in this build. Many options in the system are now defined by the core and looked up using the options_* functions. This should allow a bunch of code to be removed from most OSD ports. In addition the mame_file_error type has been renamed to file_error, so a little search & replace action is necessary.

MAMETesters Bugs Fixed

  • neogeo0113u1red [Zsolt Vasvari]

Source Changes

  • Updated a number of Sega games to use the new video timing code. [Zsolt Vasvari]
  • Added very preliminary SSP1610 CPU core. [Pierpaolo Prazzoli]
  • Created a utility call win_is_gui_application() to determine if the current process is a console or a non-console application. Added a call to direct error output to message boxes if MAME is running as a windows application (such as MAME32). This will allow MAME32 failures to be reported to the user rather than silently fail. [Nathan Woods]
  • Updated NeoGeo driver to the new video timing code and raw screen parameters. [Zsolt Vasvari]
  • Updated Gridlee and Bally/Sente driver to use new video timing code and raw screen parameters. [Zsolt Vasvari]
  • Created a UTF-8 wrapper for the Win32 API GetModuleFileName(). [Nathan Woods]
  • Updated Voodoo-based games to use the new video timing code and newer MAME timers. [Zsolt Vasvari]
  • Major cleanup/rewrite of the Ultra Tank driver. [Stefan Jokisch]
  • Update to Sprint 4. This fixes the gear shift levers which were broken with a recent previous change, and improves a few other bits. [Stefan Jokisch]
  • Added back joystick deadzone handling behind a compile-time define as a pattern for other OSD ports. [Derrick Renaud]
  • Implemented the mw8080bw interrupt generation more to how the real hardware works (equivalent result as before). Added detailed description of the video timing and the interrupt generation systems. [Zsolt Vasvari]
  • Fixes cdp1869 double width mode (for MESS). [Curt Coder]
  • Updated Starfire driver to use video timing from schematics. [Zsolt Vasvari]
  • Some more 8080bw fixes: [Zsolt Vasvari]
  • fixed Lupin III crash due to invalid sample.
  • added video timing from mw8080bw. This caused the visible areas of most games to change, so they will fail regression.
  • Shuttle Invaders display is shifted off screen now – but the PCB notes confirm that it’s a different hardware, so it will need its own driver anyhow.
  • created a new file for MB14241, which is the shifter IC used by Invaders hardware games.
  • Renamed mame_file_error to file_error, since it is used throughout the code including the utilities. [Aaron Giles]
  • Added stronger priority boosting when sleeping on Windows in the hopes of getting more consistent frame rates. [Aaron Giles]
  • Added remaining Unicode characters up to 0100h in the built-in font. [Aaron Giles]
  • Added a 'flags' parameter to osd_work_item_queue() and defined one new flag: WORK_ITEM_FLAG_AUTO_RELEASE, which means that the work item should be automatically released when completed. [Aaron Giles]
  • Changed the Windows OSD work code to only allocate events for items when necessary, in order to conserve system resources. [Aaron Giles]
  • Changed refresh and VBLANK timing parameters throughout the system to be specified in subseconds_t instead of as floating point frequencies. [Aaron Giles]
  • Changed gaelco3d driver to use osd_work_items for rendering, allowing multi-CPU systems to shift most of the rendering burden to a second CPU. [Aaron Giles]
  • Moved support for the following options into the core: [Aaron Giles]
-state <x>
-autosave
-playback <file>
-record <file>
-mngwrite <file>
-wavwrite <file>
-rotate
-ror
-rol
-autoror
-autorol
-flipx
-flipy
-artwork_crop
-use_backdrops
-use_overlays
-use_bezels
-brightness <x>
-contrast <x>
-gamma <x>
-pause_brightness <x>
-antialias
-beam <x>
-flicker <x>
-sound
-samples
-volume <x>
-ctrlr
-log
-debug
-debugscript <file>
-bios <x>
-cheat
-skip_gameinfo
  • Cleaned up the Food Fight driver, giving it complete memory maps,finished implementing sprite/playfield priorities, and corrected timing - sort of. [Aaron Giles]
  • Cleaned up initialization paths in mame.c. Tried to organize things a bit more logically. Removed a number of return codes in favor of more descriptive fatalerror messages. [Aaron Giles]
  • Changed throttling behavior to only throttle on non-skipped frames. This should give a little better performance on games where frameskipping is necessary. [Aaron Giles]
  • Added srcclean tool to the tools directory. This is the tool that is run over the source before each release to do some minor code tidying. [Aaron Giles]
  • Added new driver flag VIDEO_SELF_RENDER which indicates that the driver will talk to the renderer on its own in its VIDEO_UPDATE callback. Added the flag to all the laserdisc game drivers. Changed the logic in the core video to only empty screen containers when doing the final render, rather than emptying them at the start of each frame. [Aaron Giles]
  • Changed pause behavior so that on non-debug builds, we simply keep the most recent list of primitives and re-render that. Debug builds keep the current default behavior which is to run the VIDEO_UPDATE code each frame even while paused in order to help identify issues in the emulation. [Aaron Giles]

New clones added

New games marked as GAME_NOT_WORKING

Version 0.113u3

Released: 2007-03-22

MAMETesters Bugs Fixed

  • eprom0113u2gre [Zsolt Vasvari]

Source Changes

  • Added proper MC8123 decryption code. Hooked up a number of games that were using the chip, making many of them playable. [Nicola Salmoria]
  • Fixed several SHARC opcodes where data transfer was done regardless of the condition. This fixes many things, like the upside-down geometry in Model 2B games. And also, probably all the remaining clipping issues in Gradius 4. At least the planet zooming out in the

intro works now. [Ville Linde]

  • Added Z-clipping to the Model 2 driver. [Ville Linde]
  • Replaced old Sega System E driver with new one based on HazeMD. [David Haywood]
  • Fixed a large pile of DIP switches in the Sega System E games. [Brian Troha]
  • Fixed crashing bugs in SCSP emulation. [David Haywood]
  • ES5503 improvements: [R. Belmont]
  • Fixed extraneous click at end of samples
  • Improved timing behavior. Fixes music tempo in many Apple IIgs apps and games in MESS.
  • Fixed display of immediate word and long operands in the TMS340x0 disassembler. [Philip Bennett]
  • Updated Ultra Tank to component value code instead of a generic emulation and added Sprint 4 audio. [Derrick Renaud]
  • Added save state support to the gaelco3d driver. Also added save state support to tms32031.c and dmadac.c. [couriersud]
  • "Fixed" analog controls in some vector games by adding back a faux VBLANK timing. [Derrick Renaud]
  • Changed the TMS340x0 core to clear the HSTCTLH NMI bit on an acknowledge. [Philip Bennett]
  • Externalized CDP1869 color bit handling to a callback function for MESS. [Curt Coder]
  • Refactored the options code into a new generic utility module options.c. Moved the MAME core options into a new module emuopts.c. [Nathan Woods]
  • Some minor NeoGeo set updates. [Johnboy]
  • inter CPU communications
  • inputs (almost complete)
  • sound
  • program ROMs marked as bad dumps
  • unmapped reads
  • Updated some more drivers updated to the new video timing. [Zsolt Vasvari]
  • Did a ground-up rewrite of the VIC Dual driver. [Zsolt Vasvari]
  • Added a preliminary MB86233 CPU core. Still needs to be hooked up to the Sega Model 2 driver. [Ernesto Corvi]
  • Fixed an interrupt delay slot problem in the SHARC core. [Ville Linde]
  • Improved K001005 polygon rendering. [Ville Linde]
  • Introduced a video_screen_exists() call, to determine whether a given screen exists. Updated the debugger to use this so as not to crash if no screens are present. [Nathan Woods]
  • Fixed glitches in neogeo driver introduced in last update. [Aaron Giles]
  • Added extensive (but still WIP) FD1094 debugging tools for help in brute force searching for keys. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

New games marked as GAME_NOT_WORKING

Version 0.113u4

Released: 2007-03-30

MAMETesters Bugs Fixed

  • sega0113u3red [Aaron Giles]
  • diehard0113u3red [R. Belmont]

Source Changes

  • Improved the K001604 ROZ layer emulation. [Ville Linde]
  • Added the timing parameters for the Exidy 6502 driver from the schematics, and updated a number of other drivers to use the newer timing routines. [Zsolt Vasvari]
  • added video timing from schematics
  • added the 9 timing PROMs to the ROMsets
  • all the games appear to use the same timing PROMs with the exception of Top Secret, which sets the VBLANK 4 pixels earlier. This fixes the game graphics, but cuts of the very bottom row of the year display on the title screen. It's most likely a real issue in the game, as tweaking the behavior adds garbage pixels to all the other games
  • Updated the itech32 driver to configure video timing dynamically according to how the chip is programmed. [Zsolt Vasvari]
  • Hooked up the new TGP core to the Model 2 driver, mapped the TGP data ROMs properly, and updated the TGP core to the latest information. [Ville Linde, Ernesto Corvi, ElSemi]
  • Fixed irobot crash introduced in last timing update. [Zsolt Vasvari]
  • ES5503 updates: [R. Belmont]
  • Major fixes to IRQ semantics and end-of-sample handling
  • Sample memory now configurable
  • Added state save support
  • Calculates output rate properly based on the input clock
  • Hooked up properly to mquake
  • Added analog controls for GTI Club. [Ville Linde]
  • Fixed crashes in some games using the SCSP. [R. Belmont]
  • Now enabling all CPUs by default, which helps ensure that even unused CPUs get updated with core changes, etc. [David Haywood]
  • Optimized the options code and memory pool code to use hashes for faster searching. [Nathan Woods]
  • Cleaned up and more heavily documented the tumbleb driver. [Brian Troha]
  • G65816/M37710 CPU core updates: [R. Belmont]
  • Fixed a race condition in the WAI instruction where the CPU could get stuck. (MESS bug #661, may have caused intermittent issues with Namco games in MAME too).
  • Fixed block transfer instructions when the accumulator is in short mode. (Fixes some SNES games not booting, notably Final Fantasy Mystic Quest).
  • Updated the Leland driver to the new video timing routines, as well as the remaining drivers. Removed now-obsolete old timing routines from cpuexec. [Zsolt Vasvari]
  • Added more recently discovered opcodes to the MB86233 core and disassembler. [Ernesto Corvi, ElSemi]
  • Created WINOPTIONS_* constants for Windows OSD options. [Nathan Woods]
  • Updated the World Cup 90 DIP switches corrected from manual. Also added diplocations. [Roberto Fresca]
  • Changed CDP1869 to use proper write handlers for MESS. [Curt Coder]
  • Added v60_stall mechanism to allow for synchronization between the V60 core and an external CPU. [Ernesto Corvi]
  • Changed behavior of extra one-pixel border on Direct3D textures so that the edge pixel is smeared into the border rather than leaving the border black. This should eliminate a few oddities at the edges of texture rendering. [Aaron Giles]
  • Updated video code to double buffer texture objects to reduce contention of render primitive lists. Also changed rendering code to explicitly alternate between primitive lists to prevent throwing away old lists prematurely. [Aaron Giles]

New games added or promoted from NOT_WORKING status

New clones added

Other Versions


Personal tools