Mesen is a cross-platform (Windows & Linux) NES/Famicom emulator built in C++ and C#
Go to file
Sour 86326e8329 ZIP: Fixed recent game not loading when filename stored in zip file was not UTF-8 2020-06-30 16:00:22 -04:00
.github Github: Create FUNDING.yml (#650) 2019-10-08 21:10:46 -04:00
Core ZIP: Fixed recent game not loading when filename stored in zip file was not UTF-8 2020-06-30 16:00:22 -04:00
Dependencies Build: Statically link the C++ runtime for all build configs 2017-05-15 20:33:38 -04:00
DependencyPacker Version Update: 0.9.9 2020-02-01 15:38:08 -05:00
Docs HD Packs: Added ability to have multiple backgrounds on different layers (up to 40) 2020-05-08 20:08:54 -04:00
GUI.NET UI: Fixed crash when using toggle record video if a video was never recorded before 2020-06-20 14:01:50 -04:00
InteropDLL Debugger: Sprite Viewer - Add option to load data from a CPU page instead of directly from OAM 2020-04-30 22:26:51 -04:00
Libretro Libretro: Fixed memory map for WRAM/SRAM-based achievements 2020-06-23 13:58:59 -04:00
Linux Linux: Fixed black screen when loading a game with nvidia drivers 2019-12-28 20:27:05 +00:00
Lua Upgrade to VS2019 and C++17 2019-12-21 12:23:55 -05:00
PGOHelper Version Update: 0.9.9 2020-02-01 15:38:08 -05:00
SevenZip Upgrade to VS2019 and C++17 2019-12-21 12:23:55 -05:00
TestHelper Tests: Fixed callback definition 2019-12-22 17:57:11 -05:00
UpdateHelper Version Update: 0.9.9 2020-02-01 15:38:08 -05:00
Utilities HD Pack Builder: Fixed missing alpha channel in PNG files 2020-04-26 11:55:54 -04:00
Windows Input: Fixed default shortcuts & shortcut display when using non-qwerty layouts 2020-02-23 11:39:31 -05:00
.editorconfig UI: Added more auto-pause settings for more flexibility 2018-03-21 21:14:51 -04:00
.gitattributes Initial commit 2014-06-10 16:58:37 -04:00
.gitignore Libretro: Integrated makefile updates for Hakchi (by swingflip) 2018-08-08 20:27:22 -04:00
COMPILING.md Readme: Changes to COMPILING.md about compiling on windows (#829) 2020-05-27 16:23:03 -04:00
LICENSE Format README and add copy of the GNU GPLv3 (#379) 2018-05-08 23:00:04 -04:00
Mesen.sln Fixed potential multithread crashes that could occur under certain circumstances (e.g when a game crashes) 2018-06-16 10:26:35 -04:00
README.md Linux: Work around Mono 5.18 toolstrip issues 2019-01-28 22:24:24 -05:00
build.sh Linux: Makefile tweaks + support for PGO 2018-06-12 00:49:33 -04:00
buildPGO.sh Linux: Switch back to xbuild for simplicity (and add option for static linking of C/C++ libs) 2019-11-16 15:54:40 -05:00
makefile Upgrade to VS2019 and C++17 2019-12-21 12:23:55 -05:00

README.md

Mesen

Mesen is a cross-platform NES/Famicom emulator for Windows & Linux built in C++ and C#.

If you want to support this project, please consider making a donation:

Donate

Website (https://www.mesen.ca)
Documentation (https://www.mesen.ca/docs)

Development Builds

Development builds of the latest commit are available from Appveyor. For stable release builds, see the Releases section below.

Warning: These are development builds and may be unstable. Using them may also increase the chances of your settings being corrupted, or having issues when upgrading to the next official release. Additionally, these builds are currently not optimized via PGO and will typically run 20-30% slower than the official release builds.

Windows: Build status

Linux: Build status

Releases

Windows

The latest version is available on the website. Older releases are available from the releases tab on GitHub.

Ubuntu

The official releases (same downloads as the Windows builds above) also contain the Linux version of Mesen, built under Ubuntu 16 - you should be able to use that in most cases if you are using Ubuntu.

The Linux version is a standard .NET executable file and requires Mono to run - you may need to configure your environment to allow it to automatically run .exe files through Mono, or manually run Mesen by using mono (e.g: "mono Mesen.exe").

The following packages need to be installed to run Mesen:

  • mono-complete
  • libsdl2-2.0
  • gnome-themes-standard

Note: Mono 5.18 or higher is recommended, some older versions of Mono (e.g 4.2.2) have some stability and performance issues which can cause crashes and slow down the UI. The default Mono version in Ubuntu 18.04 is 4.6.2 (which also causes some layout issues in Mesen). To install the latest version of Mono, follow the instructions here: https://www.mono-project.com/download/stable/#download-lin

Arch Linux

Packages are available here: https://aur.archlinux.org/packages/mesen

Roadmap

Things that may or may not be added in the future, in no particular order:

  • Support for more UNIF boards and more NES/Famicom input devices
  • Shaders
  • TAS editor

Compiling

See COMPILING.md

License

Mesen is available under the GPL V3 license. Full text here: http://www.gnu.org/licenses/gpl-3.0.en.html

Copyright (C) 2014-2019 M. Bibaud

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.