Mednafen Changelog

New in version

June 27th, 2015
  • NES: Fixed a mapper 19 sound emulation bug; fixes music issues in the Japanese release of "Rolling Thunder".
  • PC-FX: Fixed a bug causing a graphical glitch in "Sakuraigar Mode" in "Tyoushin Heiki Zeroigar".
  • PSX: Fixed a problem that caused "Vib Ribbon" to lock up when trying to play with an audio CD.
  • WonderSwan: Removed erroneous constraints that were preventing opposing X* and Y* buttons from being pressed simultaneously.

New in version (April 15th, 2015)

  • Miscellaneous debugger bug fixes and tweaks.
  • NES: Altered mapper 185 emulation to fix all known commercially-released mapper 185 games that were previously non-working.
  • PCE: Fixed a VRAM DMA emulation bug introduced around 0.9.16-WIP that broke some homebrew software.
  • PS1: Cheats are now also tied to the game's base filename(previously written out in the psx.cht file as a comment, but now being used for something more). Previously(and currently with other emulated systems), cheats were tied only to the game's "ID". However, Mednafen's CD ID calculation code is flawed and insufficient, particularly for single-track games, leading to many collisions in the PS1's vast game library. (The underlying issue, bad CD ID calculation, will be fixed in a future major release)
  • PS1: Improved GPU texture cache emulation; fixes menu graphical glitches in "Tigershark".
  • SNES: Fixed a bug that was breaking input after triggering a virtual Reset/Power Toggle event when a non-gamepad controller(e.g. mouse) is currently selected for a port.

New in version (March 7th, 2015)

  • NES: Fixed mapper 69 IRQ acknowledge behavior, per tip from tepples.
  • MD: Fixed an out-of-bounds array access in the 68K emulation code.
  • Avoid passing NULL to memcpy() in netplay.cpp.
  • MD: Fixed some code doing misaligned memory writes in vdp.cpp.
  • Avoid blitting to the screen when visibility is lost(i.e. window is minimized), to reduce CPU usage and to prevent memory usage from skyrocketing on Windows under certain conditions.
  • PSX: Tweaked non-logical CD seek emulation to fix lockups in some versions of "Tomb Raider".
  • PSX: Fixed Justifier and GunCon x position being off when setting "psx.h_overscan" is set to "0".

New in version (December 20th, 2014)

  • This release fixes a few issues, mostly build-related, with 0.9.37-UNSTABLE.

New in version (November 6th, 2014)

  • NES: Fixed a minor issue that could break compiling after --disable-nls was passed to the configure script.
  • Added support for automatic loading and usage of "SBI" files when loading CUE sheets; the files should have the same base filename as the CUE sheet, and the file extension case should match the case of the corresponding character in the CUE sheet filename file extension. Example: "Super Bandicoot Luigi (Moon, Niflheim, Australia).CuE" -> "Super Bandicoot Luigi (Moon, Niflheim, Australia).SbI"
  • PSX: Fixed half-implemented broken implementation of CDC command 0x00; fixes lockups in the European PAL releases of "Spyro 2" and "Spyro - Year of the Dragon".

New in version (September 12th, 2014)

  • Fixed a piece of ancient mouse button mapping/reading code that was so broken it worked most of the time; fixes broken mapping of more exotic(other than left, center, and right) physical mouse buttons to virtual buttons.
  • Lynx: Fixed a minor stereo sound emulation issue thanks to a patch from "sage".
  • Lynx: Fixed a bug that could cause Mednafen to crash when a game attempts to power-down the emulated Lynx(which may occur if a game is left unattended for a prolonged period of time).
  • WonderSwan, PC-FX, MD, NGP: Fixed several violations of C/C++ sequence point rules in relation to call order in expressions of functions with side effects, that could lead to undefined/wrong behavior with certain types of compiler optimizations and features(e.g. PC-FX emulation was broken on gcc 4.9.x with -fsanitize=undefined -std=gnu++11).

New in version (August 4th, 2014)

  • NGP: Fixed a potentially-exploitable overflow bug in the flash dirty block list code. PCE,
  • PCE_FAST: Fixed bug(from sloppy handling of errors) that caused battery-backed save game file destruction if an error(e.g. missing CD BIOS, memory allocation failure, etc.) occurred during game load and initialization.
  • PSX: Fixed a bug that caused a crash when trying to use save states during PSF playback/PS-EXE execution.

New in version (June 26th, 2014)

  • This release fixes a PC-FX sound emulation regression from 0.9.35, a Sega Genesis 68K emulation regression from 0.9.34, and an "autosave" save state feature regression from around 0.9.16-WIP.
  • Additionally, a new setting "video.disable_composition" is available for people who don't like Mednafen's disabling of Aero on Windows Vista and 7, and SNES Super Scope emulation has been hooked up/enabled.
  • Due to the unpleasant number of regressions in recent releases, 0.9.36.x will be a new "stable" branch of Mednafen, with simpler, important, well-tested bugfixes backported from newer less stable releases.
  • In other news, I'm excited to announce that eldritch kittens from out of space will now slowly devour the minds of emulation news sites posters who repeatedly misreport Mednafen's version string.

New in version 0.9.35 (June 3rd, 2014)

  • The shared-mode WASAPI sound driver is now the default on Windows where available(Windows Vista and newer), rather than DirectSound as before.
  • More precise emulation thread->video thread video update timing.
  • NES: Added support for iNES mapper 159.
  • NES: Added emulation of EEPROM for iNES mapper 16.
  • NES: Various bugfixes to code for iNES mappers 69, 71, and 80.
  • NES: Fixed incomplete default PowerPad button assignments.
  • NES: Fixed some bugs and a design flaw that were breaking netplay with a Zapper.
  • PCE, PC-FX: Changes to sound resampling algorithms to avoid consuming excessive amounts of CPU time at higher(96+KHz) output rates.
  • PC-FX: Battery-backed save game memory is now committed to file/disk during runtime shortly after a game finishes writing to it.
  • PS1: Minor improvements to GPU emulation accuracy.
  • PS1: Fixed a memory corruption issue with emulated lightguns.
  • WonderSwan: Greatly improved noise sound channel emulation accuracy(thanks to trap15 for running tests).

New in version (April 22nd, 2014)

  • Yet another primarily-minor-bugfix revision. On Windows Vista and 7, desktop composition(enabled with the "Aero" themes) is now forcibly disabled while Mednafen is running, as Mednafen has never run very well with it on(at least not at typical monitor refresh rates). If this change bothers you, you can restore the old behavior by opening mednafen.exe in a hex editor, searching for "DwmEnable"(without quotes), and altering the text to something like "DwmAnable" or "Elephants". (Also, in that case, leave some feedback here about your use case for which this change was detrimental).

New in version 0.8.D (January 23rd, 2012)

  • SMS: Some state that wasn't being saved in save states now is, which should fix netplay desynch problems with SMS/GG games.
  • Fixed a couple of remotely-exploitable(if connected to a malicious server) stack manipulation bugs in the network play code.
  • Fixed an incorrect object creation bug in pce/adpcm.cpp.
  • NES: Added a missing CPU emulator variable to save states.
  • PCE: Added a missing CPU emulator variable to save states.