ares README

The project's README from github.com/ares-emulator/ares. As one markdown file: README.md.

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:

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

Contributing

Please join our discord to chat with other ares developers: https://discord.com/invite/gz2quhk2kv

ares (ares-emulator/ares)

Searching Database…

1.8K ·GitHub
这是什么?ares 是一个跨平台的开源多系统模拟器,专注于经典游戏主机和电脑的精确模拟与保存。
这是单系统模拟器,还是覆盖多款主机?它是一个多系统模拟器,为每个支持的系统配备独立的内部核心,外加一个跨平台共享的图形界面(desktop-ui)和工具包(hiro)。
我怎么让它跑起来?从 ares 网站下载官方发布版,或获取 Windows/macOS 的自动 nightly 构建版,或者自己从源码构建。
使用它需要自己编译什么,或准备构建工具吗?不需要,已有预构建的官方发布版和 nightly 构建版;只有当你想自己在 Windows、macOS、Linux 或 BSD 上编译时才需要从源码构建。
精度优先的设计会带来性能代价吗?会,ares 为换取代码清晰度而刻意牺牲速度,避免使用状态机和位掩码,因此核心的运行速度低于其应有的水平;由于 ABI 上下文切换开销,Windows 上也比 Linux 慢。
ares 实际能在哪些平台上运行?ares 可以在 Windows、macOS 以及各种 Linux/BSD 发行版上运行。
我怎么从命令行加载游戏?带上 ROM 路径运行 ares,例如“ares --system MSX examples.rom --fullscreen”;也可以一次传入多个 ROM 文件(例如 Super GameBoy BIOS 加上一个卡带)以进行多卡带设置。
--no-file-prompt 选项是做什么用的?它用于抑制次要文件对话框,例如 N64 64DD 磁盘提示,让你可以通过命令行启动游戏而不会被要求加载额外的 ROM。
Near 与这个项目有什么渊源?ares 是 Near 早年的模拟器 higan 和 bsnes 的后继项目,而且该项目仍在使用 Near 编写的名为 nall 的自定义 C++ 库替代品。
hiro、ruby、mia 和 libco 是什么?它们是内部组件:hiro 是跨平台的原生 GUI 工具包,ruby 负责 hiro 应用与平台视频/音频/输入 API 的对接,mia 处理 ROM 数据库和镜像加载,libco 提供协作式多线程。
Size
180 MB
Stars
1.8K
Age
5y
Commits · 90 Days