What's new

ares v128 released!

Multi System Emulator​

ares is a cross-platform, open source, multi-system emulator, focusing on accuracy and preservation.



  • add hotkey to toggle fast forward [LukeUsher]
  • add support for using Supergrafx and CD together [LukeUsher]
  • default filter/shader to "None" rather than "Blur" [LukeUsher]
  • ensure ares is 'portable' on Windows [LukeUsher]
  • fix an issue where System directories were created incorrectly [LukeUsher]
  • remap all inputs based on physical controller layouts [LukeUsher]
  • implement keyboard capture for msx [LukeUsher]

  • tweak display timing; fixes dmg-acid2 and cgb-acid2 [LukeUsher]

  • slightly reduce red tint, to bring the display closer to my GBA SP [LukeUsher]

  • add missing initialization during power-on [invertego]
  • readjust cpu sync after recent changes (Kolibri fix) [TascoDLX]
  • reimplement refresh timings [TascoDLX]
  • vdp dma transfer is delayed after bus is acquired [TascoDLX]
  • vdp timing tweaks for accuracy [TascoDLX]
  • vdp vscroll bug implemented [TascoDLX]

  • connect/fix up keyboard emulation [LukeUsher]
  • fix a number of memory layout issues [LukeUsher]
  • fix linear cartridge rom mapping [LukeUsher]
  • improve rom type detection and add more board types [LukeUsher]
  • require a proper bios rom for msx1 [LukeUsher]

  • activate address errors by default [rasky]
  • add address error for invalid 64bit address in 32bit mode [rasky]
  • add missing file for mame RDP SSE2 implementation [rasky]
  • add separate CIC 7102 detection [bigbass1997]
  • add support for homebrew-specific special header flag [rasky]
  • fix (again) TLB logic in case of invalid TLBs [rasky]
  • fix 64-bit pc calculation in J opcode [rasky]
  • fix a few memory access opcodes that were using a 32-bit address [rasky]
  • fix behavior of conflicting bits in writes to SP_STATUS [rasky]
  • fix BGEZAL/BGEZALL opcodes when testing RA [rasky]
  • fix cache to use physical addresses [rasky]
  • fix controller input after PIF refactoring [rasky]
  • fix COP0 config initial status [rasky]
  • fix cop0 LL write mask [rasky]
  • fix CPU core to correctly handle 64-bit PC [rasky]
  • fix Dual accesses on MMIO regs [rasky]
  • fix exception kind in case of TLB invalid page and with nonmatching asid [rasky]
  • fix handling of invalid pagemasks [rasky]
  • fix JALR when jumping to RA [rasky]
  • fix LL / SC / LLD / SCD opcodes [rasky]
  • fix masking of COP0 context / xcontext [rasky]
  • fix RSP BGEZAL/BLTZAL when RA is being tested [rasky]
  • fix RSP DMA wraparound [rasky]
  • fix RSP DMEM/IMEM accesses with all access sizes [rasky]
  • fix RSP LTV opcode in its corner cases [rasky]
  • Fix RSP MTC2 and LFV opcodes [rasky]
  • fix RSP PC to stay within 12 bits in all cases [rasky]
  • fix SIGILL at startup when SSE4.2 is not supported [rasky]
  • fix TLB logic for non-global entries [rasky]
  • fix TLB random register when wired > 31 [rasky]
  • implement buggy byte/half reads from cartridge space [rasky]
  • implement exceptions in non-taken delay slots [rasky]
  • implement LWU opcode in RSP [rasky]
  • implement proper PI bus writes with IO busy bit [rasky]
  • implement undocumented broken RSP opcodes [rasky]
  • improve address exceptions with correct COP0 status [rasky]
  • improve emulation of vector load opcodes in side cases [rasky]
  • improve TLB register masking [rasky]
  • increase a little the PI DMA timing. [rasky]
  • internal mask of physicalAddress register in TLB entries [rasky]
  • make sure TLB entries are correctly initialized at power [rasky]
  • map domain 1 address 3 zone into main memory map [rasky]
  • refactor PIF chip into its own class [rasky]
  • implement correct behaviours of jumps within delay slots [rasky]
  • small accuracy tweak to the RSP semaphore register [rasky]
  • Change inner dead-zone size and geometry [kev4cards]

  • initialise bram for cd-rom system [LukeUsher]

  • Add database entry for the "Super FX voxel demo" to specify a RAM size of 64k instead of 32k [jbo-85]
  • Support ROM/RAM addressing for Super FX ROMs that are not a power of 2 [jbo-85]
  • fix a hang when loading Satallaview content [LukeUsher]
  • pad bsx flash to minimum size of a memory cart [LukeUsher]

  • adjust interrupt/exception timing [TascoDLX]
  • fixed group 2 exception prefetch (CHK, DIV by zero) [TascoDLX]
  • omit illegal addressing modes for CMPA & TST [TascoDLX]

  • implement text mode [LukeUsher]

  • fix menubar visibility with gtk3 [AmatCoder]

  • determine desktop path based on environment [LukeUsher]
  • handle CHD paths with non-ASCII chars on Windows [invertego]
  • optimize priority_queue remove function [rasky]
  • prevent chd memory leaks + don't allow unsupported track types [LukeUsher]
  • remove hardcoding of lto=true [LukeUsher]

  • support for loading CHD compressed CD-ROM images [LukeUsher]
  • update out of date resources [invertego]
  • update sfc board database & heuristics [LukeUsher]

  • pulseaudio shouldn't block for events [AmatCoder]

  • Add top-level Makefile [rasky]
  • fix building from Windows command prompt [invertego]
  • fix clean targets on Windows [invertego]
  • fix zlib include path [invertego]
  • codesign binary after build on macOS [rasky]