ares v146 released
2025-08-26 19:30:00

ares v146 has now been released.

v146 is an exciting release for ares, as it becomes the first emulator supporting the LaserDisc-based Mega LD, an attachment to the LaserActive system, originally developed by Pioneer and Sega.

A unique system, the Mega LD composites gameplay elements together with full-motion analog video encoded onto LaserDisc, live in real time. Supporting this system presented a number of unique challenges, from ROM handling and loading, to accurate mixing of video and audio data from the LaserActive.

Contributed by Nemesis, the work done to bring Mega LD support into ares is the culmination of a years-long research and preservation effort.

All currently dumped Mega LD titles are playable in ares v146, with no known compatibility issues.

In addition to Mega LD support, v146 brings a number of improvements to other cores, as well as a number of application improvements and bug fixes.

Since v145, 10 contributors have created 73 commits to the ares codebase.

As always, if you wish to see the full changelog in a per-commit format along with their authors, you can do so on GitHub here.

NOTE: The signing certificate used to sign ares on Windows has expired. ares will be unsigned until a compatible signing solution is found. Windows users should be sure to only download ares from official sources, including the ares website and GitHub.

ARM7TDMI (Game Boy Advance CPU, ST018 Super Famicom coprocessor)

  • Fixed cycle order of SWP instruction

NEC - PC Engine / TurboGrafx / SuperGrafx / CD

  • Force enable pixel accuracy setting for VDP

Nintendo - Game Boy Advance

  • Improved prefetcher timing
  • CPU can now run idle cycles during DMA
  • Fixed an incorrectly-sized serial port register

Nintendo - Super Famicom / SNES

  • Added support for Limited Run Games rumble specification

Nintendo 64

  • Fixed a regression causing savestates to fail to load correctly. Savestates created with v145 should load correctly under ares v146.
  • Adjusted virtual control stick gate and response curve to more closely model the N64 controller joystick
  • Fixed an issue where the full resolution was not rendered for PAL titles
  • Added the ability to change the connected pak on all four controllers
  • Added support for the pak configuration portion of the homebrew header
  • Fixed an issue where controller paks may have been formatted incorrectly
  • Fixed an issue where the readback of PI_CART_ADDR after direct I/O may have returned incorrect values

Pioneer - LaserActive

  • Initial support for Pioneer LaserActive, currently only supporting Mega LD titles (this can be found under Sega -> Mega LD)
    • It is strongly recommended to run games off a solid-state drive.
    • Laserdiscs have more than one side. For games that have content on more than one side (IE, JB Harold), you can change sides under “Mega LD->Change Sides” in the main menu.
    • Any reasonably modern mid to high end PC should achieve full framerates during gameplay.
    • Games are stored in a new .mmi (Mixed Media Image) file format, which contains the full analog audio, video, and digital content in a single file. This can be loaded directly into ares. The MMI format has internal compression support. Do not compress.
    • Even with the compression built into the .mmi format, Laserdisc releases are rather large, totalling approximately between 28GB and 36GB per side for CAV format releases, higher for CLV. Fortunately most games are single-sided CAV, but there are some exceptions.

Sega - Master System

  • Fixed a bug that was causing erratic screen resizing in Aleste

Sony - PlayStation

  • Adjusted virtual control stick gate and response curve to more closely model DualShock joysticks

Application / Misc.

  • Fixed a potential application hang when exiting ares via a hotkey
  • Fixed a regression causing mouse capture to not function on Windows
  • Fixed a possible crash when opening Settings from a “missing firmware” prompt in some scenarios
  • Fixed a regression causing hotkeys to be registered while ares was unfocused, against the user’s preference
  • Fixed a possible crash when modifying video settings for cores that access the palette in between frames
  • Fixed a possible crash when accessing core-specific menu items
  • Fixed an issue that would overwrite the “Paused” status message while the emulator is paused
  • Significantly reduced ares application startup times
  • Removed superfluous Apply buttons from Drivers settings (confirmation dialogs will still appear when selecting a new driver)
  • Removed superfluous “Fixed” and “Pixel Perfect” options from the Output menu. The behavior offered by these options should be covered by using the integer scaling output mode with a scale factor of 1.
  • Fixed an issue preventing menu items from being disabled on macOS
  • Source archives with a stable hash are now distributed along with releases on GitHub, to replace the automatic uploads of source code performed by GitHub itself, the hashes of which are not stable.
  • Fixed an issue building with a custom version when building from a source archive
    • NOTE: Beginning with ares v145 (the previous release), maintainers distributing ares will likely want to configure with -D ARES_BUILD_OFFICIAL=ON to use an “official” version string, rather than a “development” string based on the branch name.
  • Fixed possible build failures when building ares with optional components in conjunction with partial core sets
  • Improved build times under MSVC when IPO is disabled.
  • Fixed an issue where setting a controller port state to “Nothing” may not mark that menu item as “checked”

Dependencies

  • Windows dynamic dependencies are now built with a statically linked C++ runtime. Windows users without a Microsoft C++ Redistributable installed should no longer see errors upon launching ares.
  • Because of the relatively quick release cycle between v145 and v146, dependencies have not been otherwise updated for v146. Dependencies will be updated at the beginning of the next ares release cycle.