ares v129 released
2022-07-13 17:00:00

Ares v129 has now been released. As seems to be the recent trend, Rasky has once again contributed a significant amount of improvments to the Nintendo 64 core; among other things, even allowing the Nintendo 64 port of Linux to boot!

Additionally, this release adds preliminary emulation of the Atari 2600. This is notable as it is our first new emulation core since we have taken over development.

In it's current state, many games are working but with the following caveats

  1. Only a small subset of mappers are supported
  2. The TIA isn't cycle accurate yet; a number of games may have rendering and/or collision issues.

There is currently little-to-no reason to use this over other Atari 2600 emulators at this time, but going forward we expect the situation to improve.

Changelog:

core

  • prevent synchronisation from calling a thread that is in the process of being destroyed [LukeUsher]

desktop-ui

  • Add support for choosing which system to launch via command-line parameters [LukeUsher]

a26

  • Add preliminary Atari 2600 emulation [LukeUsher]

n64

  • implement AI DMA hardware bug; fixes audio in Twisted Edge [rasky]
  • add n64 mouse emulation [LuigiBlood]
  • implement per-controller joybus pif communication [LuigiBlood]
  • fix clamping of RSP vrndn/vrndp opcodes [rasky]
  • fix VMACQ and fix/simplify VMOV [rasky]
  • implement more null opcodes in RSP [rasky]
  • run PI DMA immediately, delay only the interrupt [rasky]
  • improve PI DMA timings [rasky]
  • improve RSP DMA timings [rasky]
  • re-activate 64-bit memory map [rasky]
  • rework RSP DMA double buffering [rasky]
  • fix serialization [rasky]
  • fix marginal cases of SHV and SWV [rasky]
  • use a stronger hash in RSP recompiler to avoid collisions [rasky]
  • fix RDP scissoring in copy/fill mode [rasky]
  • fix incorrect identifier for South Park Rally (USA) [remutro]
  • fix LWL/LWR accesses over RCP ranges [rasky]
  • fix identidtier for WCW Mayhem [remutro]
  • fix RSP opcode SFV [rasky]
  • fix RSP opcode STV [rasky]
  • implement invalid COP0 register access [rasky]
  • more accurate RDP status bit management [rasky]
  • fix 64-bit addressing [rasky]
  • improve 64-bit DLB exceptions [rasky]
  • fix 64-bit TLB vaddr match [rasky]
  • add region check to TLBP [rasky]
  • implement basic RDP freeze [rasky]
  • fix RSP emulation on ARM [rasky]

md

  • add workaround for Corpse Killer (CD) gamepad bug [TascoDLX]

sfc

  • alternate fix for voxel demo; fixes SuperFX compatibility regression [LukeUsher]
  • lazily sync co-processors; improves performance on lower-end systems [LukeUsher]

gba

  • prevent window from blocking translucent sprite blending [LukeUsher]

ps1

  • fix broken seek cd-rom commands [LukeUsher]
  • data reads should stop cd-da reads [LukeUsher]
  • implement ReadToc cd-rom command [LukeUsher]
  • implement SCEX test commands [LukeUsher]
  • stub cd-rom MotorOn command [LukeUsher]
  • clear parameter fifo after command execution [LukeUsher]

ng

  • fix a crash when loading an invaliud neo geo bios [remutro]

sh2

  • implement watchdog in interval timer mode (fixes Star Wars Arcade 32X) [LukeUsher]