ares - Windows  ares - Linux  ares - Mac  ares (Source)

What's New:

User Interface
- Debugger: set per-processor trace history depth [invertego]
- Debugger: store 64-bit addresses in trace history [invertego]
- Debugger: use a hashset to track visisted addresses [invertego]
- Move Audio Driver settings onto a new line, to prevent large device names overflowing the container [LukeUsher]
- Implement 'Reload Current Game' hotkey/menu option [LukeUsher]
- Controllers: bind analog inputs only on motion away from center [invertego]

Build System
- Avoid code-signing when building from PRs [rasky]
- Use widnres from build environment if defined [invertego]
- Add support for Windows AArch64 [invertego]
- Guard SSE usage with a pre-processor [invertego]
- Add mame RGB utils for all architectures [invertego]
- Enable debugging of self-signed builds on macOS [invertego]
- Remove libgtksourceview2.0-dev from dependencies [LukeUsher]
- Make LTO the default option again, the performance boost is worth the extra build time [LukeUsher]
- Support building with MSVC/microsoft clang (still requires GNU make for now) [invertego]
- Define _WIN32_WINNT in makefile rather than headers [invertego]
- Prefer clang on all platforms [invertego]

Nall (Standard Library / Runtime)
- Detect and support PowerPC64 [invertego]
- Fix LTO with PowerPC64 [invertego]
- Recompiler: simplify carry flag usage [invertego]
- Prevent AppKit from handling file opens [invertego]
- Recompiler: implement bit rotates [invertego]
- Recompiler: implement masked shifts [invertego]
- Use snprintf to avoid build warnings [invertego]
- Split implementations into .cpp files [invertego]

Hiro (GUI Framework)
- Store Windows settings in application directory, making ares truly portable [LukeUsher]

Atari 2600
- Correct pixel aspect ratio to 12:7 [LukeUsher]

Bandai WonderSwan
- Fix incorrect handling of color mode bit [asiekierka]
- Fix PPU addressing of 1024 tiles in 2bpp color mode [asiekierka]
- Update PPU Planer, packed, depth and grayscale methods to be correct to real hardware [asiekierka]
- Tweaked APU code to properly treat it as a 24000 Hz digital chip, as opposed to a 3072000 Hz analog chip [asiekierka]
- Fixed APU channel 2 "half-volume" bits being ignored. [asiekierka]
- Tentatively tweaked low-pass filter value based on GuyPerfect's research. [asiekierka]
- Implemented a less stubby serial I/O stub. This properly emits TX/RX interrupts. [asiekierka]
- Added support for Bandai 2003's 16-bit banking ports [asiekierka]
- Added stubby support for NMI register 0xB7, as found and documented by FluBBa in the NitroSwan emulator. [asiekierka]
- Appropriately gate WSC-mode I/O ports from Mono mode. [asiekierka]
- Fixed behavior of the HBlank/VBlank PPU timers when the reload value is 1, but the timer is not enabled. [asiekierka]
- Fixed APU internal speaker output logic. [asiekierka]
- Added support for the Pixel Accuracy toggle; significant performance increase when pixel accuracy is disabled. [asiekierka]
- Fixed keypad interrupt emulation to match hardware quirks. [asiekierka]
- Fixed handling the interrupt base port on WSC. [asiekierka]
- Added PPU SCREEN1, SCREEN2 and tiles to the Graphics debug view. [asiekierka]
- Added PPU, APU, cartridge, serial and SoC I/O ports to the Properties debug view. [asiekierka]
- Exposed the ability to use internal speaker output in the UI. [asiekierka]

ColecoVision
- Correct pixel aspect ratio to 8:7 [PikaSamus]

MSX / MSX2
- Correct pixel aspect ratio to 8:7 [PikaSamus]

Nintendo NES / Famicom
- Improve MMC5 frame detection [encoded-byte]
- Improve MMC5 RAM management [encoded-byte]
- Fix ram banking on MMC5 [encoded-byte]
- Fix MMC5 expansion audio [encoded-byte]
- Fix incorrect resetting of MMC5 scanline register on NMI [encoded-byte]
- Correct MMC5 scanline detection [encoded-byte]
- Increment scanlines before comparing on MMC5 [encoded-byte]
- Implement namco163 expansion audio [encoded-byte]
- Boost audio output to be inline with other cores [LukeUsher, encoded-byte]
- Merge APU, Cartridge and CPU emulation to a single co-thread; improving performance with no accuracy impact [LukeUsher]

Nintendo SNES / Super Famicom
- Add Star Fox EX to the game database [DerekTurtleRose]

Nintendo Game Boy
- Fix RTC emulation [invertego]
- Fix MBC1 mapper implementation for 8/16Mbit cartridges [asiekierka]

Nintendo Game Boy Color
- Fix secondary obj pallettes when running in DMG mode [LukeUsher]

Nintendo 64
- Fix 1-bit precision errors in mame RDP [rasky]
- Emulate VI guardband [rasky]
- Improve generation of FPU flags and exceptions [rasky]
- Trigger FPU exceptions also via CTC1 [rasky]
- Implement FPU flags and exceptions for FCVT_x [rasky]
- Fix roundings and flags for conversion functions [rasky]
- Fix FPU round-to-even using intrinsics [rasky]
- Add DCTC1 and DCTFC1 [rasky]
- Reset FPU cause bits for every FPU operation [rasky]
- Correct denormal bandling in FCTV_S_D [rasky]
- Implement correct denormal flush for each rounding mode [rasky]
- Prevent compiler from incorrectly re-ordering code using noinline [invertego]
- Replace cmath functions with intrinsics [invertego]
- Improve unimplemented exceptions on underflow [invertego]
- Remove spurious round mode change in FPU impelmentation on aarch64 [invertego]
- Fix conversion bounds off-by-one issues in FPU [rasky]
- Do no clear flags on FMOV [rasky]
- Raise unimplemented exceptions instead of invalid exceptions for FPU conversions [invertego]
- Replace lround with round, lrint with rint [invertego]
- Do not clear FPU flags on LWC1/LDC1/SWC1/SDC1 [rasky]
- Fix analog stick inputs on Aarch64 [invertego]
- Add PC address to FPU exception logs [rasky]
- Implement correct PI open bus behavior [rasky]
- Improve behavior in case of RDP crash [rasky]
- Implement hardware limit of LOAD_BLOCK RDP command [rasky]
- Fix 32bit / 64bit address space confusion [rasky]

Sega Game Gear
- Correct pixel aspect ratio to 6:5 [PikaSamus]

Sega Master System / Mark III
- Serialize cartridge ram [invertego]

Sega Mega Drive / Genesis
- Fix cartridge rom banking for roms upto 32MB [TascoDLX]
- Fix a build issue where bus functions were not inlined as intended [LukeUsher]
- Reduce sync between components, boosting performance without any observable loss in accuracy [LukeUsher]
- Refactor VDP to use templating to reduce comparisons in tight inner loops [LukeUsher]

Sega 32X
- Fix PWM fifo [TascoDLX]
- Implement DREQ1and fix PWM IRQ [TascoDLX]
- Fix RLE rendering [TascoDLX]

Sony PlayStation
- Reduce pause command duration, fixing a race condition in early game bootup [LukeUsher]

CPU: MOS 6502
- fix adc/sbc flags in decimal mode [invertego]

CPU: NEC HuC6280
- fix adc/sbc flags in decimal mode [invertego]

CPU: NEC V30MZ
- Do not ignore immediate operand in AAD/AAM calls [asiekierka]
- Fixed low-hanging CPU timing fruit, based on WSTimingTest. There's still some tests not passing, most notably jumps. [asiekierka]
- Fixed IN/OUT opcode decoding in the CPU tracer. [asiekierka]
- Fixed emulation of undocumented opcode 0xD6 as well as 0xF7 subop 1 [asiekierka]