Mesen/README.md

89 lines
3.8 KiB
Markdown
Raw Normal View History

2016-12-18 14:56:06 +00:00
Mesen is a cross-platform NES/Famicom emulator for Windows & Linux built in C++ and C#.
2016-05-03 00:25:20 +00:00
2017-04-29 01:55:11 +00:00
If you want to support this project, please consider making a donation:
<a href="https://www.mesen.ca/Donate.php"><img src="https://www.mesen.ca/images/donate.png" alt="Donate"></a>
2017-04-29 01:55:11 +00:00
[Website (https://www.mesen.ca)](https://www.mesen.ca)
[Documentation (https://www.mesen.ca/docs)](https://www.mesen.ca/docs)
2017-01-15 19:32:59 +00:00
2017-05-23 00:51:50 +00:00
# Releases #
### Windows ###
The latest version is available on the [website](https://www.mesen.ca). Older releases are available from the [releases tab on GitHub](https://github.com/SourMesen/Mesen/releases).
### Ubuntu ###
2017-06-11 01:32:34 +00:00
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
2017-05-23 00:51:50 +00:00
### Arch Linux ###
Packages are available here: https://aur.archlinux.org/packages/mesen
# Roadmap #
2016-11-12 17:16:36 +00:00
Things that ***may or may not*** be added in the future, in no particular order:
2016-12-18 14:56:06 +00:00
-Support for more UNIF boards and more NES/Famicom input devices
2016-11-12 17:16:36 +00:00
-Shaders
-TAS editor
2017-05-23 00:51:50 +00:00
# Compiling #
2016-11-12 17:16:36 +00:00
2016-12-18 14:56:06 +00:00
### Windows ###
2018-01-05 04:09:07 +00:00
#### *Standalone* ####
2018-03-31 19:18:23 +00:00
1) Open the solution in VS2017
2016-12-23 01:22:12 +00:00
2) Compile as Release/x64 or Release/x86
2016-11-12 17:16:36 +00:00
3) Run
2018-01-05 04:09:07 +00:00
#### *Libretro* ####
2018-03-31 19:18:23 +00:00
1) Open the solution in VS2017
2018-01-05 06:03:35 +00:00
2) Compile as Libretro/x64 or Libretro/x86
2018-01-05 04:09:07 +00:00
3) Use the "mesen_libretro.dll" file in bin/(x64 or x86)/Libretro/mesen_libretro.dll
2016-12-18 14:56:06 +00:00
### Linux ###
2017-05-23 00:51:50 +00:00
2018-01-05 04:09:07 +00:00
#### *Standalone* ####
2018-01-05 14:54:58 +00:00
To compile Mesen under Linux you will need a recent version of clang/gcc. This is because Mesen requires a C++14 compiler, along with support for the filesystem API (C++17). Additionally, Mesen has the following dependencies:
* Mono 4.2.1+ (package: mono-devel)
* SDL2 (package: libsdl2-dev)
2016-12-23 01:22:12 +00:00
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.
LTO is supported under clang, which gives a large performance boost (25-30%+), so turning it on is highly recommended (see makefile for details).
2016-12-18 14:56:06 +00:00
2018-01-05 04:09:07 +00:00
#### *Libretro* ####
2018-01-05 14:54:58 +00:00
To compile the libretro core you will need a recent version of clang/gcc. This is because Mesen requires a C++14 compiler, along with support for the filesystem API (C++17).
2018-01-05 04:09:07 +00:00
2018-01-05 06:03:35 +00:00
Running "make libretro" will build the core and put it in "bin/mesen_libretro.(x64 or x86).so".
LTO is supported under clang, which gives a large performance boost (25-30%+), so turning it on is highly recommended (see makefile for details).
2017-05-23 00:51:50 +00:00
2018-03-31 19:18:23 +00:00
**Note:** There is also another makefile in the Libretro folder - this is used by the RetroArch's buildbot to build the core. You can also try using this makefile if you are having issues with the one in the root folder.
2016-12-18 14:56:06 +00:00
## LICENSE ##
2016-05-03 00:25:20 +00:00
2016-05-03 00:29:59 +00:00
Mesen is available under the GPL V3 license. Full text here: http://www.gnu.org/licenses/gpl-3.0.en.html
2016-05-03 00:25:20 +00:00
2018-01-05 04:09:07 +00:00
Copyright (C) 2014-2018 M. Bibaud
2016-05-03 00:25:20 +00:00
2016-05-03 00:31:52 +00:00
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.
2016-05-03 00:25:20 +00:00
2016-05-03 00:31:52 +00:00
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
2016-12-18 14:56:06 +00:00
along with this program. If not, see <http://www.gnu.org/licenses/>.