Ares Ares Emulator
winget install --id=AresEmulator.Ares -e
A cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.
Ares is a cross-platform, open-source emulator designed to provide accurate and reliable emulation of various gaming consoles and computing systems. It focuses on precision and preservation, ensuring that classic hardware and software can be experienced faithfully in modern environments.
Key Features:
- Cross-Platform Support: Runs seamlessly on Windows, Linux, and macOS.
- Multi-System Emulation: Supports a wide range of classic gaming consoles and computers.
- Accuracy-Oriented Design: Prioritizes precise emulation to deliver authentic retro experiences.
- Preservation Focus: Aims to protect and maintain access to older hardware and software.
- Modding Support: Allows users to modify games or systems within the emulator for customization.
- Active Development: Continuously updated with new features, improvements, and bug fixes.
Audience & Benefit:
Ideal for retro gaming enthusiasts, software developers, historians, educators, and hobbyists who want to preserve and explore classic computing and gaming. Ares enables users to relive cherished memories, study historical technology, and experiment with new possibilities through accurate emulation.
README

ares is a multi-system emulator that began development on October 14th, 2004. It is a descendant of higan and bsnes, and focuses on accuracy and preservation.
It's worth noting that ares takes some uncommon design approaches that essentially trade speed for code clarity. We avoid state machines and bitmasks (when possible). Most cores end up being half the amount of code, but slower. The code is clearer and less spaghettified, especially for systems with lots of processors. C bitfields being non-portable incurs a speedhit. Windows also has a speedhit over Linux due to its ABI needing more instructions to switch contexts.
Official Releases
Official releases are available from the ares website.
Nightly Builds
Automated, untested builds of ares are available for Windows and macOS as a pre-release. Only the latest nightly build is kept.
Building ares
ares supports building on Windows, macOS, and various Linux/BSD distributions. See build instructions for:
Command-line options
When started from the command-line, ares accepts a few options.
Usage: ./ares [options] game(s)
--help Displays available options and exit
--fullscreen Start in full screen mode
--system system Specify the system name
--shader shader Specify a slang shader to load (requires OpenGL or Metal)
--setting name=value Specify a value for a setting
--dump-all-settings Show a list of all existing settings and exit
--no-file-prompt Do not prompt to load (optional) additional roms (eg: 64DD)
The --system option is useful when the system type cannot be auto-detected. --fullscreen will only have an effect if a game is also passed in argument.
Example:
ares --system MSX examples.rom --fullscreen
Specifying multiple games allows for multi-cart support. For example, to load the Super GameBoy BIOS and a game in one command (to avoid a file prompt), you can do:
ares "Super GameBoy.sfc" "Super Mario Land.gb"
The --no-file-prompt option is useful if you wish to launch a game from CLI without being prompted to load additional roms. For example, some Nintendo 64 games optionally support 64DD expansion disks, so this option can be used to suppress the "64DD Disk" file dialog, and assume any secondary content is disconnected.
High-level Components
- ares: emulator cores and component implementations
- desktop-ui: main GUI implementation for this project
- hiro: cross-platform GUI toolkit that utilizes native APIs on supported platforms
- nall: Near's alternative to the C++ standard library
- ruby: interface between a hiro application and platform-specific APIs for emulator video, audio, and input
- mia: internal ROM database and ROM/image loader
- libco: cooperative multithreading library
Contributing
Please join our discord to chat with other ares developers: https://discord.com/invite/gz2quhk2kv