ares is an open-source multi-system emulator with a focus on accuracy and
preservation. It is a descendant of the emulators higan and bsnes. It's source
code is structured to be maximally readable and self-documenting.
ares supports the following systems: Arcade, WonderSwan, WonderSwan Color,
Pocket Challenge V2, ColecoVision, PC-Engine / TurboGrafx, PC-Engine SuperGrafx,
My Vision, NES / Famicom, Famicom Disk System, Game Boy, SNES / Super Famicom,
Satellaview, Nintendo 64, SuFami Turbo, Game Boy Color, Nintendo 64DD, Game Boy
Advance, SG-1000, Master System / Mark III, Mega Drive / Genesis, Game Gear,
Mega CD, 32X, Neo Geo Pocket, Neo Geo Pocket Color
ares has experimental support for the following systems: Atari 2600, MSX, MSX2,
PC-Engine CD / TurboGrafx CD, LaserActive, ZX Spectrum, Neo Geo (AES/MVS),
PlayStation
ares has all the features one would expect from a great emulator system: native
multi-platform UI, dynamic rate control, save states, run-ahead, rewind and
fast-forward, pixel shaders, color correction, input multi-mapping, debugger
ares uses librashader for its pixel shader engine. This means it is highly
compatible with existing slang shaders, e.g. the slang-shaders from libretro.
===> The following configuration options are available for ares-148_6:
CHD=on: CHD format support via libchdr
SDL=on: Simple Direct Media Layer support
TOOLS=off: Include supplemental tools and tests
====> Options available for the group AUDIO
ALSA=on: ALSA audio architecture support
AO=on: libao audio library support
OPENAL=on: Audio support via OpenAL
OSS=on: Open Sound System support
PULSEAUDIO=off: PulseAudio sound server support
====> Options available for the group CORES
A26=on: Atari 2600
CV=on: ColecoVision
FC=on: NES / Famicom
GB=on: Game Boy / Game Boy Color
GBA=on: Game Boy Advance
MD=on: Sega Mega Drive / Genesis
MS=on: Sega Master System / Mark III
MSX=on: Microsoft MSX
MYVISION=on: My Vision
N64=on: Nintendo 64
NG=on: Neo Geo (AES/MVS)
NGP=on: Neo Geo Pocket / Neo Geo Pocket Color
PCE=on: PC-Engine / TurboGrafx
PS1=on: PlayStation
SFC=on: SNES / Super Famicom
SG=on: Sega SG-1000
SPEC=on: ZX Spectrum
WS=on: WonderSwan / WonderSwan Color
====> Options available for the group INPUT
HOTKEYS=off: Inofficial hotkeys locking patch
UDEV=on: Input support via UDEV
USBHID=on: Input support via USBHID
====> Options available for the group OPTIMIZATION
ACCURACY=off: Emulation accuracy over performance
LTO=on: Use Link-Time Optimization
OPTIMIZED_CFLAGS=on: Use extra compiler optimizations
====> Options available for the group SHADER
LIBRASHADER=on: Slang-shader support via librashader
LIBRETRO=on: Install slang-shaders from libretro (implies LIBRASHADER)
===> Use 'make config' to modify these settings
Users are encouraged to compile the port on their systems with an appropriatley
set CPUTYPE in make.conf in order to improve the performance of demanding cores
like the N64. Possible values for CPUTYPE are found in
/usr/share/examples/etc/make.conf.
The binding space for game inputs and hotkey actions is shared in ares. This can
be an inconvenience for gamepad-only users, who want to assign hotkey actions to
gamepad buttons without enough free unassigned buttons left on the gamepad.
Users can compile the port with the HOTKEYS option enabled in order to mitigate
this problem. This applies an inofficial patch, which locks all hotkey execution
in the unpaused state of the emulator.
The port installs and uses the slang-shaders from games/libretro-shaders-slang
by default. Users can curate and utilize their own provided collection of
shaders by putting them into the user data directory
${XDG_DATA_HOME}/ares/Shaders
ares won't process the system-provided shaders if it finds any shaders in the
user data directory. Delete or rename the user data directory in order for ares
to use the system-provided shaders again.
emulators/ares: Remove librashader from BUILD_DEPENDS
Ares always needs the librashader headers to build, even if building
without shader support by disabling the LIBRASHADER option. Because of
this, devel/librashader is an unconditional build dependency.
This requires every user who wants to build the port to also build
devel/librashader, which needs Rust. This is undesired by some users who
don't need/want shader support in the emulator.
To provide a way for such users to compile the ares port without needing
a Rust toolchain, devel/librashader is removed from BUILD_DEPENDS. The
required headers are bundled with the distfile and the port extracts
them now if the LIBRASHADER option is disabled. They are then picked up
by ares' build process.
Building with LIBRASHADER enabled is unchanged: thirdparty/librashader
is excluded from extraction and the build process picks up the headers
provided by the devel/librashader port.
PR: 297886
Approved by: osa, vvd (Mentors, implicit)
emulators/ares: update to 146, unbundle dependencies
Release notes:
https://ares-emu.net/news/ares-v146-released
* The provided release archive doesn't contain a root directory anymore, so the
port has to replace WRKSRC with NO_WRKSUBDIR=yes. Additionally use DIST_SUBDIR
to prevent collision among multiple versions of the unversioned DISTFILES.
* This release builds the binaries bin/arm7tdmi and bin/m68000 only if one of
the
relevant cores is enabled. The port reflects this by removing TOOLS_IMPLIES
and
by adjusting PLIST_SUB and pkg-plist accordingly.
* The LaserActive system is added to the list of experimentally supported
systems
in pkg-descr. While there, reorder the list of supported systems in order to
match the order on the project's homepage.
* Unbundle several dependencies which are available in ports.
PR: 289118
Reported by: Stefan Schlosser <bsdcode@disroot.org> (maintainer)
emulators/ares: Switch to upstream release archive
Upstream provides a release archive now, which guarantees stable
checksums for the distfile and is the recommended way to retrieve the
distfile by the Porter's Handbook.
PR: 288137
emulators/ares: Update 139.20240825 → 140
Release note:
https://ares-emu.net/news/ares-v140-released
Starting with version v140, emulators/ares will track release versions
instead of development versions.
The port applies an upstreamed patch to version v140, which resolves
the issues with NVIDIA GPUs. This obsoletes the NVIDIA port option.
PR: 281221
emulators/ares: update 139.20240809 → 139.20240823
The most notable change to the port is my inclusion of an inofficial
patch to control the behaviour of hotkey execution in the emulator.
This patch is behind the HOTKEYS option, disabled by default.
This patch won't be accepted upstream with its current scope.
Currently hotkeys share the binding space with regular game inputs.
This can be problematic for gamepad-only users who want to bind some
hotkey functions (screenshots, save state, load state, quit emulator,
etc...) to gamepad buttons but who don't have enough unassigned buttons
left on the gamepad. The patch prevents the execution of hotkey actions
unless the emulator is paused. This way users can assign many hotkey
actions to gamepad buttons and access them with pausing the emulator.
Commit changes:
https://github.com/ares-emulator/ares/compare/a76847d..3cd82c8
Port changes:
* add HOTKEYS option, disabled by default
* remove upstreamed 'unbreak i386 build' patch
* use SUB_LIST to update recommended librashader version in pkg-message
* replace 'doas' with 'su' in pkg-message - 'doas' is not in base
PR: 281023
emulators/ares: New port: open-source multi-system emulator with focus on
accuracy and preservation
ares is an open-source multi-system emulator with a focus on accuracy and
preservation. It is a descendant of the emulators higan and bsnes. It's source
code is structured to be maximally readable and self-documenting.
ares supports the following systems: Arcade, WonderSwan, WonderSwan Color,
Pocket Challenge V2, ColecoVision, PC-Engine / TurboGrafx, SuperGrafx, My
Vision, NES / Famicom, Famicom Disk System, SNES / Super Famicom, Satellaview,
Sufami Turbo, Nintendo 64, Nintendo 64DD, Game Boy, Game Boy Color, Game Boy
Advance, SG-1000, Master System / Mark III, Mega Drive / Genesis, Mega CD, 32X,
Game Gear, Neo Geo Pocket, Neo Geo Pocket Color.
ares has experimental support for the following systems: Atari 2600, MSX, MSX2,
PC-Engine CD / TurboGrafx CD, ZX Spectrum, Neo Geo (AES/MVS), PlayStation.
(Only the first 15 lines of the commit message are shown above )