ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
ares emulates the following hardware:
Arcade
Atari - Atari 2600
Bandai - WonderSwan / Color
Benesse - Pocket Challenge V2
Coleco - ColecoVision
Microsoft - MSX / MSX 2
NEC - PC-Engine / TurboGrafx
NEC - PC-Engine CD / TurboGrafx CD
NEC - PC-Engine SuperGrafx
Nichibutsu - My Vision
Nintendo - Nintendo 64
Nintendo - Nintendo 64DD
Nintendo - Famicom Disk System
Nintendo - Game Boy + Super Game Boy
Nintendo - Game Boy Color
Nintendo - Game Boy Advance
Nintendo - NES / Famicom
Nintendo - Satellaview
Nintendo - SNES / Super Famicom
Nintendo - Sufami Turbo
Sega - 32x
Sega - Game Gear
Sega - SG-1000
Sega - Master System / Mark III
Sega - Mega CD
Sega - Mega Drive / Genesis
Sega - SG-1000
Sinclair - ZX Spectrum
SNK - Neo Geo (AES/MVS)
SNK - Neo Geo Pocket / Color
Sony - PlayStation
g++ make pkg-config libgtk-3-dev libcanberra-gtk-module libgl-dev libasound2-dev
ares supports additional audio drivers besides the ALSA drivers included above. Installing these additional packages will allow them to be selected in Settings > Drivers:libao-dev
libopenal-dev
By default, GTK3 is used, but support for GTK2 is available. You will need to install the additional package libgtk2.0-dev
as well as specifying the command line option hiro=gtk2
at compile time.
If you would like to use SDL for input (e.g. for using a controller), you will need to install the libsdl2-dev
and libsdl2-2.0-0
packages and perform a clean build of ares. You should then be able to select SDL for input in the Settings > Drivers menu.
clang++ is now the preferred compiler for ares. If clang is detected on Windows/macOS/BSD, it will be selected by default. On Linux and other platforms, g++ remains the default if present. To build with clang, it is necessary to install both the clang
and lld
packages. If you would like to manually specify a compiler, you can use the following option: compiler=[g++|clang++]
If you do not want to include librashader support, you can pass the following option to the make
command to skip these requirements using: librashader=false
Librashader requires rust in order to build. You can install it with the following command:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup toolchain install nightly
In order to build librashader, change into the ares/thirdparty/librashader
directory and run the script build-librashader.sh
Note that once the build completes, it will instruct you to run three copy commands to install the library on your system. These paths may be different depending on Linux distribution.