Mesen is a cross-platform (Windows & Linux) NES/Famicom emulator built in C++
Go to file
2017-11-11 13:24:48 -05:00
Core Debugger: Improved bound checking for memory read/writes 2017-11-11 13:24:48 -05:00
Dependencies Build: Statically link the C++ runtime for all build configs 2017-05-15 20:33:38 -04:00
DependencyPacker Version Update: 0.7.1 2017-02-18 15:46:01 -05:00
GUI.NET Debugger: Improved bound checking for memory read/writes 2017-11-11 13:24:48 -05:00
InteropDLL Debugger: Lua - Added getScriptDataFolder function 2017-10-07 15:16:14 -04:00
Linux Debugger: Lua - Async savestate functions + isKeyPressed 2017-10-05 19:44:37 -04:00
Lua Debugger: LUA scripting 2017-08-30 18:31:27 -04:00
PGOHelper Code refactoring (patch/archive handling) + allow HD packs to be loaded from archives 2017-07-30 09:46:07 -04:00
SevenZip Build: Statically link the C++ runtime for all build configs 2017-05-15 20:33:38 -04:00
TestHelper Code refactoring (patch/archive handling) + allow HD packs to be loaded from archives 2017-07-30 09:46:07 -04:00
UpdateHelper Version Update: 0.7.1 2017-02-18 15:46:01 -05:00
Utilities Debugger: Fixed multi-threading issue that caused debugger to open up on its own while Lua scripts were running 2017-10-09 10:07:08 -04:00
Windows UI: Fixed pause screen issues (was sometimes being shown when it should not have) 2017-10-07 21:00:02 -04:00
.gitattributes Initial commit 2014-06-10 16:58:37 -04:00
.gitignore Debugger: Added assembler tool + allow editing of existing code by using assembler (wip) 2017-03-07 18:10:22 -05:00
build.sh Linux: 32-bit builds 2016-12-22 18:44:54 -05:00
makefile Linux: Fixed makefile and compilation errors 2017-09-02 17:46:41 -04:00
Mesen.sln Debugger: LUA scripting 2017-08-30 18:31:27 -04:00
README.md Readme: Added link to online documentation 2017-09-06 23:06:39 -04:00

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 to this project using Paypal

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

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

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
-Debugger improvements (APU state display, etc.)
-Shaders
-Improvements to movie file format to support a few things that currently do not work
-Libretro support
-TAS editor

Compiling

Windows

  1. Open the solution in VS2015/2017
  2. Compile as Release/x64 or Release/x86
  3. Run

Linux

To compile and run Mesen under Linux, you will need:

  • A recent version of clang/gcc
  • Mono 4.2.1+ (package: mono-devel)
  • SDL2 (package: libsdl2-dev)

The makefile contains some more information at the top. Running "make" will build the x64 version by default, and then "make run" should start the emulator.

LICENSE

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

Copyright (C) 2017 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/.