GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ares-emulator/ares: ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.

BranchesTags
Open more actions menu

Latest commit

 

History

4,306 Commits
4,306 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
ares
ares
 
 
cmake
cmake
 
 
desktop-ui
desktop-ui
 
 
hiro
hiro
 
 
libco
libco
 
 
mia
mia
 
 
nall/nall
nall/nall
 
 
ruby
ruby
 
 
scripts
scripts
 
 
tests
tests
 
 
thirdparty
thirdparty
 
 
tools
tools
 
 
.gersemirc
.gersemirc
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
deps.json
deps.json
 
 

Repository files navigation

License: ISC

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:

  • Windows
  • macOS
  • Linux
  • BSD

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
  --version              Displays the version string of the application
  --terminal             Create new terminal window (Windows only)
  --fullscreen           Start in full screen mode
  --pseudofullscreen     Start in pseudo full screen mode
  --kiosk                Start in minimal UI mode (implies --no-file-prompt)
  --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)
  --settings-file path   Specify a settings file override (settings.bml)
  --save-state slot      Specify a save state slot to load (1-9)

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

About

ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.

ares-emu.net

Topics

consoleemulationemulatorgamehacktoberfesthigannear

Resources

Readme
License
Activity
Custom properties

Stars

1.9k stars

Watchers

60 watching

Forks

242 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.