Skip to content

Releases: ares-emulator/ares

ares nightly 2026-06-27

Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Dec 00:38
449b937

n64: Remove field swapping workaround for interlaced image (#2574)

ares v148

Choose a tag to compare

@github-actions github-actions released this 30 May 13:17

ares v148 has now been released.

This release includes big improvements to a number of ares cores. Highlights include rewrites to the N64 CPU & RSP JITs resulting in significant performance gains across the N64 library, additional implementation & accuracy improvements to the PlayStation core, fixes to the GBA core, and support for the Famicom data recorder & Dendy.

Additionally, there have been many updates to the core ares application across all platforms. Per-core input configuration has been added, updated video, audio, & input drivers are available, bug fixes, additional options have been added, and core dependencies have been updated.

Since v147, 20 contributors have created 300 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.

Sony - PlayStation

  • Refactored core to use libco threading
  • CPU: implemented memory timing/control registers
  • CD-ROM: incorrect 150 LBA offset in command 0x14
  • CD-ROM: fix behavior when a command is issued before the previous has completed
  • CD-ROM: implement behavior where a new command cannot be executed until pending
  • CD-ROM: implement 'command/parameter busy' register
  • DMA: improve chopping/allowing the cpu to run between blocks of a long transfer
  • DMA: fixed incorrect bit position for DMA channel chopping enable
  • DMA: fixed block DMA using incorrect timing
  • DMA: fixed SPU canReadDMA/canWriteDMA flags
  • MDEC: implement basic decode timing
  • MDEC: implement correct input fifo behavior
  • MDEC: fix behavior when an incomplete block is transferred via the input fifo
  • MDEC: fix DMA request registers, input/output full/empty registers, busy register
  • GPU: use correct clock frequency for PAL and NTSC
  • GPU: fix hblank timing
  • GPU: Fixed some clocking issues
  • Timer: improve behavior around timer overflow/target reached IRQ

Nintendo - Game Boy Advance

  • Only trigger keypad IRQ when input changes
  • Fixed handling of repeat bit during immediate DMA transfers
  • Prefetcher should fail reading across 128KiB boundaries
  • OBJ mosaic fixes to correct some graphical bugs
  • Prevent instruction tracing from modifying open bus
  • Refactored bus reads fixing some open bus edge cases
  • Implemented internal horizontal/vertical window flags when window boundaries reached
  • Improved affine parameter timings
  • Fixed wave RAM bank selection
  • Added OAM to memory viewer
  • Implemented OAM stage timings for sprite rendering

Nintendo - Super Famicom / SNES

  • Added support for loading GBC games in the Super Game Boy
  • Super Game Boy accuracy fixes (multiplayer, packet acknowledgement, register mirroring)
  • Improved auto-joypad polling accuracy

Nintendo - Nintendo 64

  • CPU & RSP JIT improvements resulting in improved performance
  • Cubivore (Doubutsu Banchou w/English patch applied) support added
  • Implemented support for region free ROMs (homebrew extension)
  • If homebrew header present, don’t default to a controller pak in port 1
  • Keep serrate bit enabled when VI processing is disabled
  • Fixed audio pops when AI DMA ends
  • Fixed GDB read result for RCP/PI bus path
  • Implemented eeprom write timing and status flags
  • Added initial support for Emux extensions
  • Implemented VR4300 reverse-endian mode

Nintendo - Famicom / NES

  • Added support for the Famicom data recorder
  • Added support for JY Company and SC-127 boards
  • Added support for the Dendy

Atari - 2600

  • Improved RIOT (MOS 6532) emulation

Pioneer - LaserActive

  • Added support for changing discs for PC-Engine LDROM² (NEC PAC) titles
  • Fixed core detection of MMI file extensions

Sega - 32X

  • Adjust H32 pixel offset between the Gen/MD VDP and the 32X VDP

Sega - Mega Drive

  • Fixed screen in interlace mode 1

Sega - SC-3000

  • Added tape support (.wav, .bit)

NEC - PC-Engine

  • Don’t render background and sprites in burst mode

Microsoft - MSX

  • Added tape support (.tsx/tzx, .wav, /cas)

Application / Misc.

  • Libco: align co_active_buffer on amd64 & aarch64 architectures
  • Libco: limit scope of section modification to gcc based builds
  • Ruby: allow drivers to set controller names and use deterministic device id in SDL driver
  • Default to the Metal driver on macOS
  • Removed the macOS OpenGL video driver
  • Don’t enable Arcade menu option if no arcade cores are compiled in
  • Added –settings-file command line parameter to select alternate config file (settings.bml)
  • Fixed opening a game from a symbolic link to a file
  • Fixed loading shaders from a command line argument
  • Added –pseudofullscreen command line option
  • Added settings option in GUI to suppress secondary media file load requests
  • Fixed Dip Switches menu on Linux not working correctly
  • Added hotkey to toggle shader display
  • Added –save-state command line argument to specify a save state slot to load
  • Upgraded XAudio2 driver from version 2.1 to version 2.9
  • Fixed resetting a game would drop you out of pseudo-fullscreen
  • Fixed application crash when opening the about window while a game was running
  • Added –version command line argument to print the version string
  • Fixed an issue where fast forward couldn’t be disabled without a restart
  • Added an OpenGL 4.6 driver needed for some shaders [Windows]
  • Added ability to import and export settings configurations
  • Fixed shader install path on Linux
  • Fixed abort on exit caused by invalid mutex unlock
  • Added –kiosk command line argument to start with no UI
  • Prevent hotkeys from firing when setting them while allow input is active
  • Cores that share the same file extension will prompt for a core to load (UI)
  • Implemented core specific input mappings
  • Replaced multiplier sizing with viewport sizing and re-added manual integer scaling ratios
  • Added a tape position slider to the UI

Build

  • Fixed missing qon linking [PC-Engine]
  • GCC - fix attribute warnings
  • Update FreeBSD runner to 15.0
  • Add missing sources to cmake for improved IDE integration

Dependencies

  • Updated SDL to version 3.4.4
  • Updated slang-shaders to ref d0cbcd0
  • Updated MoltenVK to version 1.4.1
  • Updated librashader to version 0.10.1
  • Updated libchdr to version 0.3.0

ares v147

Choose a tag to compare

@github-actions github-actions released this 23 Dec 08:57

This is ares v147, released on 2025-12-23.

ares v146

Choose a tag to compare

@github-actions github-actions released this 26 Aug 19:30

This is ares v146, released on 2025-08-26.

ares v145

Choose a tag to compare

@github-actions github-actions released this 09 Jul 17:16

ares v145 has now been released.

This release contains hefty improvements to a number of ares components. Highlights include Real Time Clock support for the Game Boy Advance, improvements to the experimental PlayStation core, Sega SC-3000 support, important fixes to the Game Boy Color, as well as core improvements to the ares application itself that should improve performance and responsiveness.

Since v144, 8 contributors have created 90 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.

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

  • Implemented many undocumented instruction encodings
  • Implemented invalid CPSR modes
  • Added support for MRC, MCR, and CDP coprocessor instructions
  • Allowed misalignment of the program counter in ARM mode

Nintendo - Game Boy Color

  • Improved HDMA and GDMA timings (fixes some major graphical bugs)

Nintendo - Game Boy Advance

  • Added support for the Real Time Clock
  • Re-introduced optional Game Boy Player support
  • Fixed a bug where EEPROM saves were initialized to all zeroes, rather than all ones
  • Improved handling of FIFO audio channels
  • Writes to APU registers and wave RAM while audio is disabled are now handled correctly
  • Prevented IRQs from advancing during DMA
  • Improvements to prefetcher timings
  • CPU is now stepped in single-cycle increments when halted

Nintendo - Famicom / NES

  • Fixed database to allow running PAL/NTSC games in both supported modes

Nintendo 64

  • Game Boy Color titles are now selectable for use with Transfer Pak
  • Renamed upscaling options from “SD/HD/UHD Quality” to “1x/2x/4x Native” to better describe the resolution increase

Sega - SG-1000 / SG-3000

  • Added support for the SC-3000
  • Improve IO port emulation (Port B bits 3-6 are active low, bit 7 is active high)
  • Fix an issue where games could incorrectly detect the SG-1000 as an SC-3000

Sega - Master System / Game Gear

  • Improved header validation; fixes many NTSC-J titles being detected as international

Sega - Mega Drive / Genesis / CD / 32X

  • Added CPU wait cycle for APU bus access

Sony - PlayStation

  • Fix incorrect handling of the CE bits in COP0.CAUSE
  • Fix boot of discs with non-standard license strings (Various unlicensed games)
  • Fix VRAM-to-CPU transfers
  • Fix issues with DMA interrupt flag calculation
  • Fix issues with virtual->physical address translation
  • Fix reads of DICR bit 15.
  • Fix an issue where the mute bit would not apply to reverb voices
  • Fix an issue where save states may not be re-usable between emulator launches
  • Fix an issue where SPU noise was not being correctly represented as a signed 16-bit quantity
  • (Temporarily) Remove the recompiler: one will be re-added once accuracy is more up to scratch

Application / Misc.

  • Core threading improvements have been made to ares, which should lead to increased UI responsiveness and potentially improved performance on some platforms.
  • Added a selector for region fallback preference when loading a title, to better account for cases where the ROM does not support the user’s primary region preference.
  • The status bar will now show the loaded system configuration and region.
  • Fixed an issue where nall::set::insert could fail silently
  • Resolved an invalid version issue when building ares from a source archive
  • Releases now contain platform-appropriate application version metadata
  • [Windows] Modified terminal output to be treated as UTF-8, and to allow the use of VT100 escape sequences when supported
  • [macOS] Enabled the system Edit menu, allowing copy/paste functionality inside the Tools window
  • [macOS] Fixed a possible startup crash on x86_64 systems
  • [macOS] Fixed issues when building ares on macOS 10.15

Dependencies

  • Updated SDL to version 3.2.14, containing miscellaneous bugfixes
  • Updated librashader to version 0.8.1, addressing a rare crash when loading shaders on Windows
  • Updated slang-shaders to ref 8c630d0d3
  • Updated Molten-VK to version 1.3.0

ares v144

Choose a tag to compare

@github-actions github-actions released this 28 Apr 10:28

This is ares v144, released on 2025-04-28.

ares v143

Choose a tag to compare

@github-actions github-actions released this 16 Feb 09:57

This is ares v143, released on 2025-02-16.

ares v142

Choose a tag to compare

@github-actions github-actions released this 05 Feb 14:04

This is ares v142, released on 2025-02-05.

ares v141

Choose a tag to compare

@github-actions github-actions released this 04 Nov 11:07
1e6e9fd

This is ares v141, released on 2024-11-04.

ares v140

Choose a tag to compare

@github-actions github-actions released this 27 Aug 17:34

This is ares v140, released on 2024-08-27.