ares v144 released
2025-04-28 10:30:00
ares v144 has now been released.
This release's highlights include steady improvements to the Game Boy Advance, WonderSwan, and Nintendo 64 cores, as well as a selection of application bug fixes, behaviour improvements and updates to third-party libraries.
Since v143, 14 contributors have created 81 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)
- Fixed disassembler mnemonic for CMP
- Fixed R15 read offsets on many instructions = Fixed miscalculated carry flags in Thumb mode
- Disallowed writing 0 to the uppermost bit of PSR mode
- Added an idle cycle to instructions that perform shifts by register values
NEC V30MZ (WonderSwan CPU)
- Improved interrupt timing accuracy
- Improved timing of I/O port accesses
Bandai - WonderSwan
- Added color emulation support to the original “mono” WonderSwan.
- Note that WS games on WS are displayed using linear gamma, as opposed to WS games on WSC.
- Fixed bugs involving cartridge-side RTC protocol emulation
- Improved APU emulation accuracy
- Improved interrupt timing accuracy
- Added support for emulating cartridges using an 8-bit ROM bus width
- Fixed color zero not being writable on translucent PPU palettes
- Fixed UART IRQs not being cleared by disabling the UART
Nintendo - Game Boy / Game Boy Color
- Tick timer on the falling edge of DIV bits
- Implemented PCM12 and PCM34 registers for APU
Nintendo - Game Boy Advance
- Latch lower address lines when accessing ROM during burst transfer
- Improved background VRAM access timings
- Updated cartridge database
- Fixed handling of mid-scanline writes to linear background scroll registers
- Fixed some bugs that occurred when pixel accuracy was disabled
Nintendo - Famicom Disk System
- Added delay to disk state when swapping disks, resolving issues with multiple games where a disk swap was happening too quickly
Nintendo 64 / Aleck 64
- Fixed an issue that could cause an application hang under certain titles that deactivate the VI
- Add support for the unreleased port “O.D.T. - Escape… Or Die Trying” to the internal DB
- Fixed ID in internal DB for Rampage 2, so controller pak and rumble pak should now work correctly
- Added compile-time accuracy flag to bypass IPL2 checksum validation for development purposes
- Improved error messaging if the Aleck 64 Pif ROM is missing when trying to load an Aleck 64 game.
- Added support for configurable Controller Pak storage sizes
- Applied a fix to allow booting ROMs with non-standard PI DOM1 parameters in headers
- Disabled super-sampled RDP readbacks: fixes some accuracy issues/passes more test cases in the official RDP test suite.
Nintendo - SNES / Super Famicom
- Fixed loading of some games that require additional firmware for chips included in the cartridge
Sega - Master System
- Updated PAL only entries in the local DB so that they play at the correct 50Hz
Sega - Mega Drive / Genesis / CD / 32X
- Fixed incorrect hash for Wonder Boy in Monster World (USA, Europe) that allows for correct EEPROM detection, making the game playable
- Fixed YM2612 LFO ‘AM’ bit emulation (Fixing broken audio in Kid Chameleon and others)
- 32X: In H32 mode, the display is offset by approximately 3.25 pixels to the right
- 32X: Fix registers and machine state on reset
- CD: Fixed an issue where resetting the system while a game was running would result in the BIOS locking up on reboot.
- 32X: Improve synchronisation between MD/32X: fixes H/V tests in testpico when running in 32X mode.
- Improved VDP IRQ delay emulation
- Improve YM2612 timer emulation
Sony - PlayStation
- Fixed an assertion in Lunar disc 1 when walking into Alex’s house or the barn to the right of it, preventing a crash.
UI / Program
- Fixed a runtime crash on arm64 Linux with builds compiled with GCC
- Improved compatibility inside sandboxed environments
- Fixed passing relative paths for ROMs when launching ares on the command line
- Fixed an issue with the displayed release version name on Windows
- Fixed an issue causing malformed save directory names when a custom save path was specified
- Fixed an issue causing the “missing firmware” error to appear twice
- Fixed an issue that could cause runaway memory use on startup under the SDL input driver
- Fixed an issue affecting compatibility with macOS versions before 12.0
Dependencies
- Updated SDL to version 3.2.10 (SDL3)
- Updated librashader to version 0.6.3
- Updated slang-shaders to ref
25311dc