What's new

ares v138 released

ares is a multi-system emulator that began development on October 14th, 2004. It is a descendant of higan and bsnes, and focuses on accuracy and preservation.






Atari 2600

  • Improved 6502 CPU emulation; all unofficial opcodes are now implemented
  • Improve handling of the HMOVE register
  • Refactor of TIA; fixes many emulation issues but still imperfect
  • Implement correct 6502 reset timing

Bandai - WonderSwan / WonderSwan Color

  • Minor fixes to v30mz CPU emulation
  • Emulate 32KB SRAM for '8KB' type cartridges
  • Implement Sound Test register bits 1,2 and 3

Nintendo - NES / Famicom

  • Improved 6502 CPU emulation; all unofficial opcodes are now supported
  • Fix APU frame counter emulation
  • Various improvements to APU emulation
  • Implement correct 6502 reset timing

Nintendo - Nintendo 64

  • Fix an issue where saved data from the current game could be duplicated into the next
  • Fix an issue where the Real Time Clock may not function correctly depending on the user's local time zone

Nintendo - Game Boy Advance

  • Implement that the last cycle of the prefetcher cannot be interrupted
  • Implement correct ROM mirroring for Famicom Mini / Classic NES series
  • Improve handling of SRAM/Flash bus
  • Fix the timing of initial DMA wait cycles

Sega Mega Drive / CD / 32X

  • Lower sync interval between MD and 32X: improves emulation accuracy but does reduce performance

Sony - PlayStation

  • Update the blitter to operate on a copy of the framebuffer; fixes potential threading issues

ruby (Audio/Video/Input abstraction layer)

  • Added a native Metal backend for macOS with VRR support
  • Implemented latency selection in SDL audio driver
  • Removed the built-in Blur shader, using the bilinear slang shader is preferred
  • Removed non-hardware accelerated video drivers (any platform capable of running ares should at least have OpenGL, D3D or Metal available)
  • Reduce CPU usage on the video thread by using a condition variable rather than a spinlock
  • Add support for connecting a Mouse on macOS (for emulating SNES mouse, etc)
  • Remove tight loops in SDL and OpenAL drivers, reducing CPU usage when using these drivers.

User Interface

  • Fix an issue where nested slang shaders were not available in the UI