What's new

Ares v142 released!

Created by Near (ex byuu) and continued by Luke Usher (PolyBlast / CxBx-Reloaded) and others, Ares is a multi-system emulator whose development began on October 14, 2004. He is a descendant of higans and bsnes. It focuses on accuracy and preservation.

1738852213967.png

1738852225142.png

Ares emulates the following 34 machines:

– Atari 2600
– Famicom and Famicom Disk System
– Super Famicom / SuFami Turbo / Satellaview / Super Game Boy
– Nintendo 64/64 DD - SETA Aleck64 (arcade)
– Game Boy and Game Boy Color
– Game Boy Advance and Game Boy Player
– SG-1000 (Arkcade version) – SC-3000
– Master System and Game Gear
– Mega Drive and Mega 32X and Mega CD
– Nichibutsu – My Vision
– Playstation
– PC Engine and PC Engine CD - SuperGrafx
– MSX – MSX2
– ColecoVision
– Neo Geo Pocket and Neo Geo Pocket Color
– Neo Geo AES / MVS
– Sinclair x Spectrum
– WonderSwan - WonderSwan Color - SwanCrystal - Pocket Challenge V2


Here's the information since the last version of the Ares:

Since v141, contributors 18 have created 107 commits to the ares codebase.
Along with various improvements to emulator cores and the aresapplication itself, v142 add support for a new system: The SETA Aleck64 Arcade board.
v142 also introduces a new CMake-based build system that improves compatibility with modern toolchains and IDEs, and simplifies the ares build process for new developers.


ARM7TDMI (Game Boy Advance CPU, ST018 Super Famicom co-processor)
– IRQ timing improvements
– Lock bus during SWP instruction
– Implementd informed an encoding for bx instructions
– Write back upper 32 bits of product after low 32 bits during multiply long instructions
– Add instruction test harness

Hitachi SH7604 (32X CPU)
– Improve performance by refactoring timer implementations to be loopless
– Fix an issue where instruction tracing would not work when using the recompiler

Motorola 68000 (Mega Drive CPU, Neo Geo)
– Add instruction test harness
– Fix program counter in privilege violation exception frame stack
– Fix CHK instruction timing and flags

Yamaha YM2612 (Mega Drive FM Synthesis)
– Improve cycle update order, fixing issues with feedback
– Fixed an issue where envelope would update would erroneously happen twice in some situations
– Fixed LFO behavior to apply proper attenuation when disabled
– Improved accuracy of rate scaling calculations

These updates have fixed all currently known audio issues with Mega Drive games.

Arcade
– Introduced support for the SETA Aleck64 arcade board, supporting all Aleck64 titles from the mame0273 Roms and, except for Magical Tetris Challenge, as this game uses an additional video open for the playfield layer.
– Update rom database to match MAME 0.273 (also negative Neo Geo AES)

NEC – PC Engine / TurboGrafx / SuperGrafx / CD
– Improvements to performance with no impact on accuracy/compatibility.

Nintendo – NES / Famicom / Famicom Disk System
– Implement PPU rendering glitches caused by open bus behaviour (PPU scroll glitch)
– Fix an issue where writes to FDS disks would not always be persistent.

Nintendo – Game Boy Advance
– Halt prefetcher when full
– Improved open bus emulation
– Improved timings for pixel blending and background rendering
– Stall CPU when access memory regions that are competingly accessed by PPU

Nintendo – Nintendo 64 / 64DD
– Fix a typo in ISViewer debug emulation that prevented Roms sized 0x3f0’0000 and 0x3ff’00 from properly working.
– Fix an issue where attaching GDB to debug a Nintendo 64 ROM could trigger a MIPS CPU exception.
– Improve VI timing to properly handle non-standard display modes, including PAL60.
– Fix VI interrupts in interlaced mode to happen on the exact same scanline as real hardware, including with known hardware bugs.
– Advance RSP DMA during RSP execution, prevent DMA races in long-running code blocks. (Fixes Tarzan)
– Correctly implement invalid SPECIAL opcodes in the RSP so that they match hardware behaviour.
– Fix signed integer multiplication and division when the input operands are not sign-extended 32-bit values.

Sega – Mega Drive / CD / 32X
– 32X: Make PWM timer interrupt interval read-only from the MD side
– 32X: Improve support for PWM at non-standard sample rates
– 32X: Add a DC filter to PW to reduce clicks/pops
– 32X: Improve accesses to 32X IO from the MD side (Fixes missing music in Brutal)
– 32X: Force PAL region when (PAL) or (Europe) is in a rom filename, a fallback to fix games with invalid headers.
– 32X: Fix a typo preventing the right PWM audio channel from playing.
– Implement CRAM bus contention (CRAM dots).
– Improve FIFO emulation allowing VDPFIFOTesting rom to pass.
– Fix leaving (minor) issues running both Titan Overdrive demos.
– Fix an issue where an edge case in window behavior in H32 mode was handled incorrectly (fixes flickering line in International Superstar Soccer Deluxe).
– Fix an issue causing a flickering line in Sonic 2’s VS Mode.
– Various fixed to DMA timing, fixing test cases in the dma-speed-test rom.
– Add support for the unusual rom mapping used by QuackShot Starring Donald Duck (World) (Rev A)

Other

Build System
– Add support for building with CMake. The legacy makefile system will be removed before v143. Distributors should update their workflow accordingly.

User Interface
– Add support for searching the game list for Arcade cores.
– Fix an issue that would cause framebuffer scale in rendering for the Super Famicom and Mega Drive cores.
– Adjust the “overscan” option to crop strictly to the “active frame” area that the emulated system renders game content, onto, onto rather than the area one might see using contemporary hardware (Famicom, Super Famicom, SG-1000, Master System, ColecoVision, My Vision, MSX).
– Fix an issue that could cause stuttering with default SDL audio settings.
– Improve error messages as loading games and systems.
– Make “Type” column visible by default in firmware window
– Fix an issue with repeated key inputs in the memory editor on Windows.
– Add an interface for DIP switches for cores that support them.
– (macOS) Update minimum system requirement to 10.13.
– (macOS) Use Metal as the default video driver.
– (macOS) Fix an issue causing ares to not remember the user’s “Force sRGB” setting.
– (macOS) Add support for the memory editor
– Various changes to more reliably trace database files and shaders on Linux.

Dependencies
– Update SDL to version 2.30.8
– Update librashader to version 0.5.1
– Update MoltenVK to version 1.2.11
– Update paraLLEl-RDP to revision 1cecd04
– Update slang-shaders 7e2975th to revision 7e2975e



 

Top