0.9.9 / 01-02-2020
Mesen is a high-accuracy NES and Famicom emulator and NSF player for Windows and Linux.
Extra High Accuracy: A lot of effort has gone into making Mesen as accurate as possible.
Extra High Compatibility: Over 290 mappers supported (all licensed games supported)
NES, Famicom, Famicom Disk System, Dendy, VS System, NSF and NSFe emulation is supported.
General: Save States, Rewinding, Movie/Audio Recording, Overclocking, Cheat Codes.
Video: Numerous video filters, customizable palettes/overscan, support for HDNes' HD packs.
Audio: Stereo effects, per-channel volume and panning, equalizer, etc.
Misc: Netplay, 7z/zip support, IPS/BPS patch support, automatic updates, and more!
It's currently archived (discontinued), but there are quite a few forks (in no specific order)
Windows: Vista+ (DirectX 11 / NET Framework 4.5+)
Linux: glibc 2.24+ / Mono 4.2.1+ / SDL 2
Most Recent Changes
WARNING: Save states created with version 0.9.8 (or older) will no longer work in 0.9.9.
Run Ahead: Added run ahead support (in Emulation settings)
Emulation: Added 2 new options to emulate known PPU hardware bugs
Emulation: Added option to emulate CPU/PPU alignments
UI: Added load state and save state menus (with previews and timestamps)
Mappers: Added support for Study Box roms (.studybox files)
UNROM512/GTROM: Added support for self-flashing
Debugger: Various fixes and improvements
Event Viewer: Improved filtering options and added the ability to display NTSC borders
CPU: Rewrote DMC and OAM DMA logic to better match hardware behavior/timings
CPU: Fixed an issue with NMIs turning into IRQs (when turning the NMI flag off at the wrong moment)
PPU: Fixed PPU OAM fetch pattern on pre-render scanline
PPU: Fixed some PPU timings to better match hardware
MC-ACC: Improved MC-ACC (licensed MMC3 clone) emulation
MMC5: Rewrote a large portion of the code to better match hardware behavior and quirks
Mappers: Fixed/improved emulation of a number of mappers used by unlicensed games
NSF: Fixed an issue that caused problems with some FDS NSF files
Linux: Fixed bug when using nvidia's drivers that caused the screen to be completely black
UPDATE (June 25 2019): A bug with mapper 30 has been found that caused some games using mapper 30 to work incorrectly. Since this has become a popular mapper for homebrew titles, I've rebuilt and reuploaded a new version of 0.9.8 with a fix for this (again). If you've downloaded 0.9.8 before now, please manually download 0.9.8 again to get the fix. Sorry about making this even more confusing by reusing the same version number twice, as well.
IMPORTANT: The first release of 0.9.8 contained a bug that prevented FDS games from loading properly, this has been corrected. An updated version of 0.9.8 has been uploaded, if you've downloaded the original release, please manually download 0.9.8 again.
WARNING: Save states created with version 0.9.7 (or older) will no longer work in 0.9.8.
Debugger: General improvements as well as new features/tools (and bug fixes.)
NSF: Allow rewinding during NSF file playback and fixed an initilization problem with VRC6 audio.
History Viewer: Added a few new features and options, including allowing it to be used with NSF files.
Video: Added support for 512-color palette files (for color bit emphasis.)
Input: Added options to configure the deadzone size for analog sticks and to hide the mouse cursor when using a zapper.
Dip switches: Dip switches can now be configured for all cartridges that use them (instead of being limited to VS System games.)
APU: Fixed frame counter bug that caused audio to sometimes be paced slightly incorrectly.
APU: Fixed DMC power on state to match hardware test results.
PPU: Prevent palette updates during horizontal blank when rendering is enabled (to match expected hardware behavior.)
Namco 163: Fixed problems with battery save data.
Bandai FCG: Added support for EEPROM save data.
MMC5: Fixed incorrect attribute data when using fill mode.
VRC7: Updated audio instrument values to match the values recently dumped from hardware.
AOROM: Fixed power on mirroring state.
Misc: Fixed minor bugs in a variety of mappers (including mappers 112, 176, 320 and UNROM512.)
Debugger: Numerous small features/improvements/bug fixes.
UI: Added a Chinese translation for the UI (thanks to L1cardo and owomomo)
Audio: Fixed minor issues with Sunsoft 5B and Namco 163 sound emulation.
Emulation: Fixed frame timing/pacing issues on some computers (fixes unstable FPS and audio issues)
Video: Removed black bar (left) and fixed cutoff pixels (right) in NTSC (bisqwit) filter.
HD Pack Builder: Fixed a number of crashes when using the HD Pack Builder at the same time as the debugger (and improved performance while recording).
Compatibility: Added support for 29 new mappers
VS System: VS DualSystem games are now supported.
Audio: Improved audio/video synchronization with dynamic resampling.
Debugger: New features and tools (text hooker), UI improvements, performance improvements and bug fixes.
Tools: Added history viewer tool.
UI: Added some new options (per-game overscan, audio reduction during rewind, etc.)
PPU: Improved PPU memory bus emulation (fixes Touhou Rououmu homebrew)
Fixed emulation issues with a number of boards (FK23C, JY Company, MMC1, etc.)
Debugger: Tons of new features, UI improvements, performance improvements and bug fixes.
HD Packs: New features, performance improvements and bug fixes.
FDS: Improved compatibility of the automatic disk insertion feature.
UI: Added a few minor options (and increased the number of savestate slots to 10).
Documentation: An offline version of the documentation is now available.
Input: Changed input polling timing to reduce input lag by 1 frame.
Linux: Improved SDL error handling to prevent crashes.
Accuracy: Fixed a mirroring issue with mapper 30 games.
WARNING: Movies created with version 0.9.3 (or older) will no longer work in 0.9.4.
Input: Added support for 20 more peripherals (including controllers, barcode readers, keyboards, mice, external storage devices, etc.)
Video: Added a 60.0 FPS mode to reduce dropped frames
Video: Added support for exclusive fullscreen mode (Windows only)
Video: Added option to rotate the display (for homebrew games)
Performance: Minor performance enhancements on Windows (~5%) and large gains on Linux by enabling LTO (25-30%)
Movies: Rewrote movie file format from scratch to be a lot more flexible, and editable by hand. (Old .mmo files are no longer supported)
Debugger: Several enhancements and a number of additions/changes to the Lua API.
Accuracy: Improved FDS IRQ emulation
General: Several miscellaneous bugs have been fixed.
Debugger: A large number of small bugs and usability issues have been fixed.
HD Packs: Fixed performance issues with HD Packs in CHR RAM games (over 2x faster)
UI: All UI shortcuts are now customizable in the Preferences (multi-key shortcuts are now supported).
UI: Added a link to the new online documentation site in the Help menu.
Cheats: Fixed crash when cheats window was opened
HD Packs: Fixed sprite recording in HD Pack Builder and crashes when loading HD packs in some conditions.
Debugger: Fixed some minor bugs.
Linux: Fixed some crashes and layout fixes.
Dendy: Fixed regression bug with intensify color and grayscale bits emulation.
UI: Added an initial setup dialog for new users.
UI: Ability to configure paths and portable mode in preferences.
HD Packs: New features, bug fixes and audio replacement support.
Input: Added support for the Famicom's second controller's microphone.
Savestates: Added ability to save/load the state to/from any file.
Debugger: Added Lua scripting.
Debugger: Assembler now has syntax highlighting.
Debugger: Integration with ASM6 via freem's fork (ASM6f) to import labels and code comments.
Debugger: Added iNES header editor
Debugger: PPU viewer enhancements
Debugger: Added "Developer mode" option for quicker access to debugging tools
NSF: Added repeat and shuffle options
General: Improved emulator startup performance
UI: Fixed window size not being remembered correctly in some cases
FDS: Bug fixes related to cheats and save data
Debugger: Fixed watch window usability issues and assembler bugs
HD Packs: Improved support for HDNes' HD packs and added an HD Pack Builder tool.
Debugger: Added several new features and options (Step Back, configure input, etc.)
Video: Added option to automatically re-enable sprite limit to reduce graphical glitches caused by the "remove sprite limit" option.
VS System: The custom color palette can now be applied to VS System games as well.
Overclocking: Bug fixes and improved compatibility.
Cheats: Fixed issue with 8-character Game Genie codes.
FDS: Fixed a crash, an issue with automatic disk insertion and improved emulation compatibility.
NSF: Fixed issue with MMC5 multiplication register (fixes Just Breed NSF).
Others fixes and improvements for the debugger, game selection screen, rewinding, mappers 48/163, a number of unlicensed games and more.
Rewind: Added a rewind functionality with reverse video and audio playback (up to several hours worth of gameplay can be rewinded.)
UI: Added game selection screen
Compatibility: Added support for mappers 29, 30, 111, 158 and 174.
FDS: Added option to automatically switch disks.
Video: Improvements to video scale management and corrected aspect ratio presets.
Misc: Added a few other small features (Frame counter, game timer, 96kHz audio, etc.)
Accuracy: Improvements to PPU, MMC5 and VRC6 emulation.
FDS: Fixed issue with sound emulation (Fixes Bio Miracle).
Overclocking: Improved compatibility with some games.
Debugger: Fixed a number of bugs and crashes.
Misc: Several other bug fixes.
Performance: Code improvements have increased emulation speed by 15-35%.
Audio: Added a customizable equalizer.
Patches: Added support for UPS and BPS patch formats.
Compatibility: Added support for UNIF FK23C/FK23CA/D1038 boards and mapper 104.
PPU: Added option to emulate OAM RAM decay.
PAL: Improved PPU emulation accuracy.
MMC5: Improved emulation accuracy.
FDS: Improved IRQ emulation accuracy (fixes Lutter and some unlicensed games).
Emulation: Fixed problem that caused in-game crashes in the "Legend of Link" romhack.
Misc: Several small bug fixes.
Emulation: Added several new options to enable/disable model-specific quirks.
Command line: Added command line options for most video/audio/emulation settings.
Debugger: Added several new features (Hex editor, TBL file support, code editor, graphic editor, and a lot more), improved performance and fixed some bugs.
Games: Headerless roms can now be loaded (if they are found in the built-in game database).
Emulation: Improved accuracy of $2006 write behavior (solves minor issues in 2 games).
Emulation: Improved accuracy of $2004 read behavior.
Emulation: Improved accuracy of sprite overflow bug emulation.
Misc: Several small bug fixes.
Video: Added new custom aspect ratio option.
Compatibility: Added support for mapper 190 (Magic Kid GooGoo) and UNIF board EH8813A.
Video: Added new codec for AVI recording (camstudio) and compression setting
FME7: Fixed bug with savestates for mapper 69.
Misc: Several small bug fixes.
Video: Added new NTSC filter (based on Bisqwit's work).
Video: Added feature to allow recording gameplay to AVI files
Video: Fixed graphic glitches and crashes with the 2xSai, Super2xSai and SuperEagle filters.
Startup: Fixed crash that occurred when the path contained non-ascii characters (bug introduced in 0.6.1).
Linux: Fixed an issue with the "only allow one instance of Mesen" option.
Linux: Mesen can now run under Linux (requires Mono and SDL2). This is still a work in progress and may contain bugs and crashes.
UI: Mesen is now available in Portuguese (translation by ThallesAps)
Audio: Improved square channel accuracy and fixed a sound mixing bug introduced in 0.6.0.
Misc: Fixed issues with DirectInput controllers and the debugger.
Overclocking: Fixed issues when using overclocking in games that use the DMC channel.
Debugger: Tons of new features and improvements (including labels and comments, a profiler, more options in the PPU viewer, etc.)
Audio: Greatly reduced sound latency.
Audio: Added an option to reduce the popping sounds produced by the DMC channel in some games.
Audio: Added channel panning options.
Audio: Added a crossfeed option.
Video: Added 2 new palette presets (Nostalgia and Nes Classic, by FirebrandX).
UI: Added a "power cycle" option to reload the current game.
UI: Added an option to load a random game.
Video: Fixed a bug with the "Remove Sprite Limit" option that could cause it to display incorrect sprites on the screen.
Video: Fixed a bug with the aspect ratio option when overscan was used at the same time.
NSF: Fixed a crash that could occur when loading incorrect NSF files.
Added support for 4 new mappers (43, 54, 125, 236)
Added support for 40 new UNIF boards.
None prior found to above versions.
You can always check here for general remarks...