Mednafen


Introduction to Mednafen

Mednafen is a portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator. Mednafen has the ability to remap hotkey functions and virtual system inputs to a keyboard, a joystick, or both simultaneously. Save states are supported, as is real-time game rewinding. Screen snapshots may be taken, in the PNG file format, at the press of a button. Mednafen can record audiovisual movies in the QuickTime file format, with several different lossless codecs supported.

The following systems are supported(refer to the emulation module documentation for more details):

Mednafen is distributed under the terms of the GNU GPLv2.

Due to the threaded model of emulation used in Mednafen, and limitations of SDL, a joystick is preferred over a keyboard to play games, as the joystick will have slightly less latency, although the latency differences may not be perceptible to most people.

News

Mednafen 1.21.3April 29, 2018 - 15:27 PDT

This release fixes a regression introduced in 1.21.0-UNSTABLE that forced the user to manually create ~/.mednafen on UN*X systems if the directory didn't already exist, fixes broken 2xSaI-family scaler support(also a 1.21.0-UNSTABLE regression), and fixes problems with a handful of Sega Saturn games.

ChangeLog


mednafen-1.21.3.tar.xz
SHA-256: 2e761e8834b098b7f1ab35dccaa6d2be715ee9106cf40af4919f6ca4b99ee3c6

mednafen-1.21.3-win64.zip
SHA-256: 5b6e7b017c0b0741f375d0803f54dcb417d9e4d926864f2b039c694aac10a362

mednafen-1.21.3-win32.zip
SHA-256: 6fc62a7a3cb42a3bef1de9856aa2bf00701e4b64fcdc2b6c76e7135a127840d4

Mednafen 1.21.2April 3, 2018 - 16:46 PDT

This minor release updates Tremor to address a security vulnerability with Vorbis-encoded CD image audio tracks, and fixes graphical glitches in the Sega Saturn game "Shining Force III - Scenario 2".

ChangeLog


mednafen-1.21.2.tar.xz
SHA-256: 528b7ad6976182c451f7e7852f79fcc8e81e29005823f9c9bed816914bfd6da2

mednafen-1.21.2-win64.zip
SHA-256: e4a1765fe9ee994fe3041772b698e4a26e3021e17ce981fc6179e9de61ecbc19

mednafen-1.21.2-win32.zip
SHA-256: c291a2cbb9c3e3b78ebe58d9b8efb09c09abb33e47f52855784dbeea644bbfd8

Mednafen 1.21.1March 13, 2018 - 01:41 PDT

Minor bugfix release.

ChangeLog


mednafen-1.21.1.tar.xz
SHA-256: 848136e4b98d5a949d7691f6596564b20d5720e7d766e93deedc7832bbee2a40

mednafen-1.21.1-win64.zip
SHA-256: b9db8d4d6bd2f3e9eafc55d2db26e8d00d1ccf43c51ff373bc68a742e930dc53

mednafen-1.21.1-win32.zip
SHA-256: a4a7f9ec0e0c965e4c7e04bdf1965fb286be3c9fcae4df01980feaab4bec468b

Mednafen 1.21.0-UNSTABLEFebruary 20, 2018 - 21:01 PST

Notable changes since 0.9.48:
  • Migrated to SDL2(building from source requires 2.0.5+).
  • An attempt to run an instance of Mednafen while another instance is already running with the same base directory is now blocked during startup, via a lock file; note that this check occurs after stdout and stderr are potentially redirected to stdout.txt and stderr.txt on Windows.
  • Removed the "overlay" video driver.
  • Changed the default value of setting "video.driver" from "opengl" to "default", removed the old "0" and "1" backwards-compatibility value aliases, renamed the "sdl" driver to "softfb"(without backwards-compat aliases), and made it so the setting's value will be reset to "default" after automatically importing settings from "mednafen-09x.cfg".
  • Added setting "video.fs.display".
  • Added settings "fps.autoenable", "fps.position", "fps.scale", "fps.font", "fps.textcolor", and "fps.bgcolor".
  • Added support for pasting text into the cheat and netplay consoles.
  • On Windows, Mednafen will now output text to a console if it's started from a console(e.g. cmd.exe or Cygwin), and if not, write to stdout.txt and stderr.txt like before.
  • On Windows, error messages during startup will now be displayed in a popup message box.
  • On Windows, Mednafen now uses Unicode variants of CRT and Win32 functions; this may require the user to update path settings and convert their CUE sheets to UTF-8 if filenames use exotic(e.g. not directly typable on a standard US-layout keyboard) characters.
  • For key bindings relating to the debugger and cheat management interface, the Right ALT key modifier will no longer be respected(only the Left ALT has any effect now), for internationalization reasons.
  • Configuration file is now named "mednafen.cfg" again, instead of "mednafen-09x.cfg"; if "mednafen.cfg" doesn't exist or is for an old version(earlier than 0.9.0) of Mednafen, the settings will be loaded from "mednafen-09x.cfg" on startup, but still saved to "mednafen.cfg" on exit.
  • Reworked the input mapping setting format to be more human-readable(and editable). Details are in the documentation, in the "Advanced Usage" section. Old input mappings will be translated internally, except for keyboard mappings, due to incompatibilities between how SDL 1.2 and 2 handle keyboards.
  • Added support for mapping joystick axes and buttons, mouse buttons, and keyboard keys to emulated mouse device relative motion for testing purposes(via manually editing the configuration file, as the in-emulator configuration process currently won't create such mappings).
  • Added support for digital button input mappings that mix AND, ANDNOT, and OR-style operations together(previously it was either just AND or OR); refer to the documentation for more details. Note that the in-emulator configuration process won't create complex mappings that mix different boolean operations, but you can map combinations using simpler logic in-emulator, and then edit the configuration file to adjust the boolean operations used.
  • Altered calculations involving *.xscale(fs)/*.yscale(fs) settings to be more predictable given floating point nuances; any user using non-integer scaling values for these settings may need to adjust them to get the same result as in previous versions of Mednafen, however.
  • Fixed broken cheat file saving on MS Windows.
  • PCE_FAST: Fixed fubared mouse emulation.
  • PC-FX: Fixed integer overflows that caused fatal division by zero when Mednafen's cheat functionality was used(a regression introduced around 0.9.39).
  • SS: Fixed a logic error in the BIOS sanity check code that caused it to throw a less helpful error message than intended in certain circumstances, and made the error messages related to BIOS file misconfiguration more verbose(and hopefully more helpful...).
  • SS: Fixed at least one background layer graphical glitch in "Radiant Silvergun"(at the start of stage 2C).
  • SS: Fixed the graphical glitch near the end of the intro in "Snatcher".
  • SS: Added Japanese keyboard(HSS-0129) emulation.


ChangeLog


mednafen-1.21.0-UNSTABLE.tar.xz
SHA-256: ee7c633641206c336d72b6f92b2db2d9088604a12fc509342b1c312608d34213

mednafen-1.21.0-UNSTABLE-win64.zip
SHA-256: 3458c0c0f3ab54760e08814340dbef37f4e9c32684bbc73e1395e9f517bea1ba

mednafen-1.21.0-UNSTABLE-win32.zip
SHA-256: 9f53d534ae67d3834cd1ca9cd92c866b63d7a55fed9585a8c57089f2c7a3235c

Mednafen 0.9.48September 18, 2017 - 18:05 PDT

Notable changes since 0.9.47:
  • SS: Fixed graphics corruption in the intro of "Batman Forever".
  • SS: Fixed hang in "Jung Rhythm" when trying to retry a failed stage.
  • SS: Fixed crash in "Tenchi Muyou! Ryououki Gokuraku" when it tries to play an opening movie.
  • SS: Fixed messed-up colors in "Discworld 2".
  • SS: Fixed hang when trying to resume a suspended game in "Tactics Ogre".
  • SS: Fixed the periodic loud popping noise during FMV playback in "Grandia"(an emulation bugfix; sound may still pop/click if you have a slower CPU of course).
  • SS: Added a hack/kludge to allow bypassing of data cache on reads(such that the timing benefits of partial cache emulation are preserved, without cache coherency problems that partial cache emulation sometimes leads to with poorly programmed games), and added an internal database to enable it on select games; fixes graphical glitches and/or hangs in "Area 51 (USA and Europe)", "Clockwork Knight 2 (USA)", "DeJig - Lassen Art Collection", "Father Christmas", "Golden Axe The Duel", "Sega Saturn Choice Cuts", "Spot Goes to Hollywood (USA and Japan)", "Street Fighter Zero", "Street Fighter Zero 3", "Super Puzzle Fighter II Turbo", and "Virtual Volleyball".
  • SS: Full cache emulation is now enabled for "Whizz"(by using an internal database), to resolve(or at least reduce) quasi-random hanging issues during startup.


ChangeLog


mednafen-0.9.48.tar.xz
SHA-256: d3cc0c838f496511946d6ea18fda5965d2b71577c610acc811835cc87d152102

mednafen-0.9.48-win64.zip
SHA-256: c3ccb78325bae8cbbf7d9101317a61e364c4dcd21c59004225a7307866599fa5

mednafen-0.9.48-win32.zip
SHA-256: ed40023c66bc545a724f4190e6e18fb54bb97cc4249a445120f2b70a825f43e7

Mednafen 0.9.47August 26, 2017 - 02:36 PDT

Notable changes since 0.9.46:
  • SS: Added save state support(read the first section of the Saturn module's documentation before loading save states from external sources).
  • SS: Fixed startup hangs in "Device Reign", "Real Sound", "Resident Evil", "SD Gundam G Century S", "Super Tempo", "Tennis Arena", "Tilk", "Yuukyuu Gensoukyoku", "Yuukyuu Gensoukyoku 2nd Album", "Yuukyuu Gensoukyoku ensemble", "Yuukyuu Gensoukyoku ensemble 2", "Yuukyuu no Kobako Official Collection", and "Zero4 Champ".

ChangeLog


mednafen-0.9.47.tar.xz
SHA-256: 51137e60aeab070af8aba8ddc305834d2cf233be8ce82112cf38e93fe5329f3a

mednafen-0.9.47-win64.zip
SHA-256: 68686760456feeb615a2279474b9c78fcd5927f91de285ba7b545b23d9900836

mednafen-0.9.47-win32.zip
SHA-256: 6ad4bbf1b53508c4d1caee392516501cf5e4ce8e6b2053633f00a610e632c4af

Mednafen 0.9.46August 10, 2017 - 22:50 PDT

A small update, primarily to fix a few bugs.

Changes:
-- 0.9.46: --

August 10, 2017:
	Compile with explicit -fstrict-aliasing, for distributions/OSes that have configured gcc to
	not enable strict aliasing at -O2(and possibly other levels).

	Fixed a bug that could, under certain conditions, cause emulator OSD elements to not be updated in the time
	after entering frame advance mode and before a frame advance.

August 7, 2017:
	Use a sorted std::vector instead of std::multimap to store current settings, to reduce memory usage.

August 6, 2017:
	SS: Added ss.input.port*.3dpad.mode.defpos settings to control the default position of the digital/analog mode switch.

August 5, 2017:
	Allow addresses above FFFF to be entered as the logical watch address in the debugger.

August 4, 2017:
	SS: Added kludge to fix layer offset problem in "Daytona USA CCE".

	NES: The functionality controlled by setting "nes.fnscan" now recognizes "(F)" and "(France)" as PAL.

	NES: Added support for iNES mapper 40.

July 11, 2017:
	Utilize _byteswap_*() functions in endian.h when compiling with Microsoft's C++ compiler.

June 22, 2017:
	Fixed a couple of minor issues(log header formatting, and skipped logging of first instruction in step mode) with the debugger's
	undocumented trace log feature.

	NES: Corrected the period of PAL noise channel frequency setting 0x1.

June 21, 2017:
	NES: Fixed a few square wave sound channel emulation bugs(wrong phase for duty setting 3, and failing to clock the period counter
	when the channel is silenced).


mednafen-0.9.46.tar.xz
SHA-256: 674faf42bdb0ad5649aea65da266b0be3428995caaa7be183fc6d3ed7732467a

mednafen-0.9.46-win64.zip
SHA-256: e869db3dac14d020471055d81bc8d21d6cf63cf3d9806ea14879cf9eff8eab4d

mednafen-0.9.46-win32.zip
SHA-256: 282ef3d6b383978976bedb991b9df57b846713028fcca48c2e1be966a66be41e

Mednafen 0.9.45.1June 10, 2017 - 00:49 PDT

This very minor release fixes a regression introduced in 0.9.45, that caused garbled sound output when using the (non-default) exclusive-mode WASAPI sound driver with certain higher-end sound cards.

ChangeLog


mednafen-0.9.45.1.tar.xz
SHA-256: f95f68acc14f9b30b201e15b8205d85ac9dc7e581ea6b61e225e990491f01e69

mednafen-0.9.45.1-win64.zip
SHA-256: 4d8a575cbb575115e7d12421a155dd46c7f15dffa359a61ab29e4b8809fda53f

mednafen-0.9.45.1-win32.zip
SHA-256: bce8a7d15abdaf65365ade78a981e75ea30d626baa6c54c154fecc16bb8e9481

Mednafen 0.9.45June 2, 2017 - 07:08 PDT

Changes:
-- 0.9.45: --

May 29, 2017:
	Tweaked netplay sound buffer underrun kludge code.

	The netplay server host and port being connected to are now printed to the netplay console at the beginning of a
	connection attempt.

	Netplay connection attempts to servers are now non-blocking.

May 25, 2017:
	SS: Synchronize end of SMPC clock change commands to beginning of vsync instead of beginning of vblank, per tests on a SS.

May 23, 2017:
	SS: Reworked how the VDP2 rendering thread waits, to make Saturn emulation usable with the default OpenBSD kernel.

	SS: Added emulation of the light gun("Stunner"/"Virtua Gun").

April 28, 2017:
	#include'd many commonly-used C and C++ standard library headers in types.h(and removed redundant #include statements 
	from various header and source files), to reduce the probability of portability problems
	(due to neglecting to explicitly include a header file) when different standard C/C++ libraries
	behave differently in regards to what header files include what other header files.

	Added a sound output driver for OpenBSD's /dev/audio.

	Reworked the sound output format conversion code to be more versatile, 

April 25, 2017:
	NES: Wrote new "Barcode Battler II" emulation code to replace the old "Barcode World" code, based on quick testing with
	actual hardware(albeit the English version).

April 24, 2017:
	SSFPlay: Added save state support.


mednafen-0.9.45.tar.xz
SHA-256: 49715544a5eb7a678f7f01994f38aa14e2192f00d201684184665665073a600e

mednafen-0.9.45-win64.zip
SHA-256: 89a6f67711c2e0bb4c5e59fb684e7e54dbb3b3c4acee94ecab52740a204e942d

mednafen-0.9.45-win32.zip
SHA-256: 27c6bc064e96a54fe082b834fa29019ac8e82b9f1bc9be047e2ec633bd1b424f

Mednafen 0.9.44.1April 21, 2017 - 21:33 PDT

Notable changes since 0.9.43:
  • Added command-line option "-which_medium", to specify which CD to start with when using multi-CD M3U sets.
  • SNES: Fixed "Tractor Beam" spell graphical glitches in "Star Ocean".
  • SNES: Fixed emulator hang when saving state in "Panic Bomber W".
  • SNES_FAUST: Added PAL support.
  • SNES_FAUST: Made minor optimizations to the BG rendering code.
  • SNES_FAUST: Added setting "snes_faust.correct_aspect", default value of "1".
  • SS: Fixed broken input in "Primal Rage"(a 0.9.43 regression).
  • SS: Added support for a 16MiB RAM cart mapped into the A-bus CS1 area(for "Heart of Darkness" and homebrew).
  • VB: Added support for custom palettes.
  • VB: Reworked how LED on-state duration is translated into RGB values and added setting "vb.ledonscale"; the default value of "vb.ledonscale" is set such that the overall brightness will be lower than in previous versions of Mednafen, to reduce white crush, but the user can set it to a value of "1.9921875" to approximate the old brightness level.
  • WonderSwan: Removed setting "wswan.rotateinput", and added a new device("gamepadraa") that can be selected on virtual input port 1 to automatically rotate inputs when the display is rotated.


ChangeLog


mednafen-0.9.44.1.tar.xz
SHA-256: 2427ab0718475c84c8f908894e74dcac2145992d23958d182a40eee122c95544

mednafen-0.9.44.1-win64.zip
SHA-256: 31950987af0d34b000766f57347e84a1b5f3f2d016792ed7deb74e4a9a565d0f

mednafen-0.9.44.1-win32.zip
SHA-256: 447bb75e9c0c0c85e8614699ade138d84a64db0dc087e0fa010bd062ea03d4c7


Page design and original content copyright © 2005-2017 Mednafen Team. The Mednafen Beetle is copyright © 2005 Camille Young. Nintendo, Nintendo Entertainment System, GameBoy, GameBoy Color, and GameBoy Advance are registered trademarks of Nintendo. Mednafen is not an official Nintendo product, and Mednafen is in no way affiliated with the Nintendo corporation.