ares v140 released
2024-08-27 17:45:00
ares v140 has now been released.
Since v139, a total of 15 contributors have created 53 commits to the ares codebase.
As always, if you wish to see the full changelog in a per-commit format along with their authors, you can do so on GitHub here.
Systems
Bandai - WonderSwan / WonderSwan Color
- Implement cartridge SRAM open bus
Nec - PC Engine / TurboGrafx / SuperGrafx / CD
- Automatic bios detection now prefers the Arcade Card bios for NTSC-J Region, rather than System Card 3.0
Nintendo - NES / Famicom / Disk System
- Fix an issue where cartridge ram was not included in save states for some HVC-NROM and Sunsoft 1-3 mappers.
- Add support for Camerica/Codemasters mappers
- Add support for Tengen Rambo-1 mapper
- Add support for Sachen-0037/Tengen-800008 mapper
- Add support for the NES Zapper
Nintendo - Game Boy Advance
- Prevent the debugger from advancing the CPU clock
- Reset prefetch buffer on ROM accesses from DMA
- Improve DMA timings
- Implement that the prefetcher should halt only once DMA is accessing ROM
- Prevent DMA from interrupting ROM accesses
- Fix controls when using a rotated screen
- Reload timer value after tick
- Use separate latches per DMA channel
- Implement graphics viewer in the debugger
Nintendo - Nintendo 64
- Clear R0 register only when written to (Performance optimisation)
- Fix an issue where loading save states would not set the correct audio frequency
- Add missing fields to save states
- Refactor to remove the branch state machine from the instruction epilogue (paving the way for future recompiler improvements)
Sega - SG-1000
- Fix an issue where cartridge ram was not included for Taiwan-A and Taiwan-B mappers.
SNK - Neo Geo
- Fix an issue where cartridge ram was not included in save states for the Jockey GP mapper.
Sony - PlayStation
- Fix a crash when the display surface wraps around the framebuffer.
- Fix an issue where CD-ROM seeking would not interrupt a read operation
Shared Components
ARM7TDMI
- Fix reading SPSR register in user and system modes
- Improve LDM/STM edge case handling
NEC V30MZ
- Fix DAS overflow flag emulation
- Fix instruction prefix handling
- Fix IP on interrupt fired when prefixes are being used with non-prefixed instructions
Other
- Fix an issue where settings may not save correctly on non-english locale
- Improve the OpenGL integration with librashader; matching the implementation for the Metal driver
- Improve the OpenGL driver on macOS: Fix flickering on resize, add fullscreen behavior toggle and fullscreen monitor selection
- Fix building using Make 3.81 (macOS users no longer need to install a newer Make manually to build ares)
- Properly detect the target arch when compiling with CL
- Improve compatibility with FreeBSD
- Fix an issue where the settings window would be too small to show all options on some configurations
- Add the ability to switch between the interpreter and recompiler at runtime; previously this was a compile time switch unavailable to end users. You can use the "Force Interpreter" setting to force the 32X, N64 and PS1 cores to use the interpreter.