ares v133 released
2023-07-21 08:50:00

ares v133 has now been released.

If you wish to see the full changelog in a per-commit format along with their authors, similarly to how previous release notes were written, you can do so on GitHub here.

Since v132, a total of 19 contributors have created 160 commits to the ares codebase.

User Interface

Systems that use MAME compatible Arcade roms (currently only Neo Geo) now use a dedicated roms folder (configurable in Settings -> Paths). When loading games for these systems, the user is now presented with a game browser dialog, so users no longer have to struggle to remember shorthand .zip filenames for their games.

ares will now use the modern file browser dialog when browsing for a directory on Windows.

Added a "Reset System" hotkey to allow quick resets of the running system.

Save States

It is now possible to undo the last save, or load, of a save state; this is intended to reduce the chance of data loss on accidental saving (easily possible when using a hotkey).

Atari 2600

Improved resolution handling/screen size calculation.

Fixed an issue where the TIA audio would not correctly reset.

Bandai - WonderSwan

Improved timing accuracy of the V30MZ CPU.

Sega Mega Drive / CD / 32X

The following games have been added to the game database

  • Alisia Dragoon (E): Override for incorrect region flags in header
  • Fifa Soccer 95 (Korea): Override for bad SRAM flags in header
  • NBA Live 95 (Korea): Override for bad SRAM flags in header
  • Sonic & Knuckles + Sonic the Hedgehog 3 (USA, Japan, Europe): Override for missing SRAM header

Fixed an issue where loading a CD32X game could result on the logo lacking color.

Implement correct sprite list termination behavior; fixes Power Drive's vehicle select menu.

Fix latching of window registers to before the scanline; fixes Landstalker's text box rendering.

Fixed a typo causing the 32X WDT to tick at the wrong frequency in some situations (2096 -> 4096).

Fixed an issue where 32X internal timers would tick too slowly when using the recompiler.

Fixed an issue where loading a CD game followed by a CD32X game would result in the 32X not being detected.

Added support for the SH2's mirrored cache control register; fixes Virtua Fighter.

Fixed an issue where CD BRAM would be overwritten if the CD was loaded without a disc inserted (eg: via mode 1 cartridge).

Fixed an issue where the SH-2 recompiler would not properly invalidate cache; fixes NBA Jam

Fix an edge case that could cause the SH-2 recompiler to infinitely defer interrupts.

NEC - PC Engine / TurboGrafx / SuperGrafx / CD

Added support for connecting/disconnecting the multitap; we could not safely leave it enabled as default as it caused some games to break.

Fixed an issue where ares would incorrectly corrupt CD BRAM when loading a HuCard game.

Fixed an issue where ares would not correctly zero BRAM on formatting.

Fixed an issue where the BIOS would incorrectly detect BRAM size and not format it properly.

Fix an off by one error in scanline interrupts; fixes blue characters in Akumajou Dracula X.

Microsoft - MSX

Added preliminary support for loading cassette tape software/games. Currently, this requires .WAV format audio data. The following basic commands are used to load cassette tapes of each type:

Binary Data: `BLOAD"CAS:",R`
Tokenized Basic: `CLOAD`
ASCII `RUN"CAS:"`

Microsoft - MSX2

Fixed sprite rendering in Mode 2.

Implemented support for vscroll, Text Mode 1 and Graphics Mode 5.

Implemented just enough of the RTC to allow the use of a real MSX2 BIOS, rather than C-BIOS.

Nichibutsu - My Vision

Support for this system has now been added to ares; ROM dumps should be raw binary images of an entire cartridge using the ".myv" file extension.

Nintendo - Famicom / NES

Added support for the iNES 2.0 timing flag; ROMs that rely on this flag will now run at the correct speed.

Added support for VRC2/4 sub-types; the VRC2 and VCR4 test ROMs now pass successfully.

Fixed initial reset state, allowing reset test ROMs to pass.

Added support for AVE NINA-03 and NINA-06 boards (iNES mapper 79).

Added support for MMC3 multicarts (iNES mappers 37 and 47).

Fixed an issue where FDS games would play some audio channels at an incorrect pitch.

Nintendo - Super Famicom / SNES

Fixed an issue where games using real time clocks may crash the emulator.

Nintendo - Nintendo 64

ares now correctly uses the virtual and physical addresses when simulating icache loads with the recompiler.

Lots of performance tuning, mostly to offset the performance cost of the recent emulation improvements.

Fixed handling of BADVADDR in TLB miss exceptions that are raised by SWR.

Fixed an issue where PAL games would play audio at an incorrect frequency.

Added support for Weave de-interlacing instead of only Bob de-interlacing, Weave is now the default.

Added emulation of RSP SU pipeline stalls; fixes Donkey Kong 64 and Banjo-Tooie.

Added accurate PI DMA timing emulation; fixes Jet Force Gemini and Micky's Speedway USA.

Corrected out of bounds RDRAM behavior; RDRAM is not mirrored.

Removed MAME RDP emulation; Parallel-RDP is now supported on macOS via MoltenVK so the fallback was no longer required.

Nintendo - Game Boy

Fixed an issue where the stop() instruction would not correctly reset the internal div counter to 0.

Nintendo - Game Boy Advance

Implement upper bounds for background fetch; fixes rendering issues in Monster Gate.

Sinclair - ZX Spectrum

Added support for .tap and .tzx format tapes (no need to convert to .wav anymore).

Component changes affecting multiple cores

Fixed various audio inaccuracies in the SN76489 and YM2612 emulation.

Fixed various inaccuracies in Z80 emulation.

Fix various M68000 timing issues.

Command Line Interface

All ares settings are now exposed to the command line interface: a setting can be changed from command line using --setting. The list of available settings can be dumped with --dump-all-settings.

Added support for suppressing file dialogs and loading multiple roms at once; this allows the loading of complex configurations (e.g.: Super Game Boy) from the command line without needing to use the GUI.

Other

Removed the non-functional Direct3D11 driver; no code for this ever existed, but the UI was displaying the option leftover from an experimental branch.

Fixed an issue where ares would make incorrect assumptions about pregap in CHD files.

Fixed the location/detection of Game Databases on POSIX systems (should reduce issues with third party builds).

Updated the Linux builds to default to GTK3 rather than GTK2, as the latest version of ubuntu has removed GTK2 support from the core repositories.

Added support for IPS softpatching, alongside the existing BPS support.