ares v138 released
2024-05-02 15:00:00
ares v138 has now been released.
Since v137, a total of 10 contributors have created 58 commits to the ares codebase.
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.
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