ares

Émulateur v143

Ares est un émulateur multi-systèmes open-source, héritier de Bsnes et Higan, conçu pour une précision technique et une préservation optimale des jeux rétro. Développé initialement par Near (Byuu), il prend en charge une large gamme de plateformes, dont la NES, Super Nintendo, Nintendo 64, Mega Drive/Genesis, PlayStation, Neo Geo (Pocket, AES et MVS), Game Boy/GBA, Master System, PC-Engine, MSX, ColecoVision et WonderSwan, entre autres. Certains systèmes, comme l’Atari 2600 ou le MSX2, sont marqués comme expérimentaux.

L’interface native, compatible avec macOS (via Cocoa), offre des fonctionnalités avancées : synchronisation audio/vidéo dynamique, sauvegardes d’état, réinitialisation et accélération, shaders graphiques (CRT, filtres), et mappage d’entrée flexible. L’émulateur cible aussi bien les puristes que les joueurs, avec des outils comme un debugger pour les développeurs. Les builds sont disponibles sur GitHub pour une mise à jour continue.

Dernière mise à jour :

Plateformes

Arcade

Architecture

Mac OS X - macOS Mac OS X - macOS Intel x86 Intel x86 Apple Silicon Apple Silicon 64 bits 64 bits Metal Metal SDL Library SDL Library

Téléchargement et liens

Historique des versions

v148
  • Améliorations majeures pour les cœurs d’émulation :

    • Réécriture complète des JIT CPU et RSP pour la Nintendo 64, entraînant des gains de performance significatifs sur toute la bibliothèque.
    • Ajout du support pour les ROMs "region-free" (homebrew) et les extensions Emux sur N64.
    • Prise en charge du Famicom Data Recorder et du Dendy (compatibilité Famicom soviétique).
  • Corrections critiques sur les cœurs Sony et Nintendo :

    • PlayStation : Correction des registres de timing mémoire, DMA, MDEC (décodage vidéo), GPU (horloge PAL/NTSC, timing hblank) et gestion des timers.
    • Game Boy Advance : Fix des IRQ du clavier, DMA immédiat, préchargeur mémoire, mosaïques OBJ et gestion des sprites.
    • SNES : Support des jeux Game Boy Color dans le Super Game Boy et corrections des pollings auto-joypad.
  • Spécificités macOS :

    • Passerelle vidéo par défaut : Désactivation du pilote OpenGL au profit de Metal (suppression du support OpenGL sur macOS).
    • Stabilité : Correction d’un crash lors de l’ouverture de la fenêtre "À propos" pendant une session de jeu.

(Aucun changement notable pour les builds .dmg ou l’Apple Silicon n’est mentionné.)

Changelog complet
ares v148 has now been released. This release includes big improvements to a number of ares cores. Highlights include rewrites to the N64 CPU & RSP JITs resulting in significant performance gains across the N64 library, additional implementation & accuracy improvements to the PlayStation core, fixes to the GBA core, and support for the Famicom data recorder & Dendy. Additionally, there have been many updates to the core ares application across all platforms. Per-core input configuration has been added, updated video, audio, & input drivers are available, bug fixes, additional options have been added, and core dependencies have been updated. Since v147, 20 contributors have created 300 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](https://github.com/ares-emulator/ares/compare/v147...v148). **NOTE**: The signing certificate used to sign ares on Windows has expired. ares will be unsigned until a compatible signing solution is found. Windows users should be sure to only download ares from official sources, including the ares [website](https://ares-emu.net/download) and [GitHub](https://github.com/ares-emulator/ares/releases/tag/v148). **Sony - PlayStation** - Refactored core to use libco threading - CPU: implemented memory timing/control registers - CD-ROM: incorrect 150 LBA offset in command 0x14 - CD-ROM: fix behavior when a command is issued before the previous has completed - CD-ROM: implement behavior where a new command cannot be executed until pending - CD-ROM: implement 'command/parameter busy' register - DMA: improve chopping/allowing the cpu to run between blocks of a long transfer - DMA: fixed incorrect bit position for DMA channel chopping enable - DMA: fixed block DMA using incorrect timing - DMA: fixed SPU canReadDMA/canWriteDMA flags - MDEC: implement basic decode timing - MDEC: implement correct input fifo behavior - MDEC: fix behavior when an incomplete block is transferred via the input fifo - MDEC: fix DMA request registers, input/output full/empty registers, busy register - GPU: use correct clock frequency for PAL and NTSC - GPU: fix hblank timing - GPU: Fixed some clocking issues - Timer: improve behavior around timer overflow/target reached IRQ **Nintendo - Game Boy Advance** - Only trigger keypad IRQ when input changes - Fixed handling of repeat bit during immediate DMA transfers - Prefetcher should fail reading across 128KiB boundaries - OBJ mosaic fixes to correct some graphical bugs - Prevent instruction tracing from modifying open bus - Refactored bus reads fixing some open bus edge cases - Implemented internal horizontal/vertical window flags when window boundaries reached - Improved affine parameter timings - Fixed wave RAM bank selection - Added OAM to memory viewer - Implemented OAM stage timings for sprite rendering **Nintendo - Super Famicom / SNES** - Added support for loading GBC games in the Super Game Boy - Super Game Boy accuracy fixes (multiplayer, packet acknowledgement, register mirroring) - Improved auto-joypad polling accuracy **Nintendo - Nintendo 64** - CPU & RSP JIT improvements resulting in improved performance - Cubivore (Doubutsu Banchou w/English patch applied) support added - Implemented support for region free ROMs (homebrew extension) - If homebrew header present, don’t default to a controller pak in port 1 - Keep serrate bit enabled when VI processing is disabled - Fixed audio pops when AI DMA ends - Fixed GDB read result for RCP/PI bus path - Implemented eeprom write timing and status flags - Added initial support for Emux extensions - Implemented VR4300 reverse-endian mode **Nintendo - Famicom / NES** - Added support for the Famicom data recorder - Added support for JY Company and SC-127 boards - Added support for the Dendy **Atari - 2600** - Improved RIOT (MOS 6532) emulation **Pioneer - LaserActive** - Added support for changing discs for PC-Engine LDROM² (NEC PAC) titles - Fixed core detection of MMI file extensions **Sega - 32X** - Adjust H32 pixel offset between the Gen/MD VDP and the 32X VDP **Sega - Mega Drive** - Fixed screen in interlace mode 1 **Sega - SC-3000** - Added tape support (.wav, .bit) **NEC - PC-Engine** - Don’t render background and sprites in burst mode **Microsoft - MSX** - Added tape support (.tsx/tzx, .wav, /cas) **Application / Misc.** - Libco: align co_active_buffer on amd64 & aarch64 architectures - Libco: limit scope of section modification to gcc based builds - Ruby: allow drivers to set controller names and use deterministic device id in SDL driver - Default to the Metal driver on macOS - Removed the macOS OpenGL video driver - Don’t enable Arcade menu option if no arcade cores are compiled in - Added –settings-file command line parameter to select alternate config file (settings.bml) - Fixed opening a game from a symbolic link to a file - Fixed loading shaders from a command line argument - Added –pseudofullscreen command line option - Added settings option in GUI to suppress secondary media file load requests - Fixed Dip Switches menu on Linux not working correctly - Added hotkey to toggle shader display - Added –save-state command line argument to specify a save state slot to load - Upgraded XAudio2 driver from version 2.1 to version 2.9 - Fixed resetting a game would drop you out of pseudo-fullscreen - Fixed application crash when opening the about window while a game was running - Added –version command line argument to print the version string - Fixed an issue where fast forward couldn’t be disabled without a restart - Added an OpenGL 4.6 driver needed for some shaders [Windows] - Added ability to import and export settings configurations - Fixed shader install path on Linux - Fixed abort on exit caused by invalid mutex unlock - Added –kiosk command line argument to start with no UI - Prevent hotkeys from firing when setting them while allow input is active - Cores that share the same file extension will prompt for a core to load (UI) - Implemented core specific input mappings - Replaced multiplier sizing with viewport sizing and re-added manual integer scaling ratios - Added a tape position slider to the UI **Build** - Fixed missing qon linking [PC-Engine] - GCC - fix attribute warnings - Update FreeBSD runner to 15.0 - Add missing sources to cmake for improved IDE integration **Dependencies** - Updated SDL to version 3.4.4 - Updated slang-shaders to ref d0cbcd0 - Updated MoltenVK to version 1.4.1 - Updated librashader to version 0.10.1 - Updated libchdr to version 0.3.0
v147
  • Nouveauté majeure : Ajout du support complet pour Apple Silicon (M1/M2/M3) via une version native ARM64, incluant une optimisation des performances pour les jeux et applications compatibles Rosetta 2 (mais avec une priorité donnée à l'exécution native).

  • Correction critique : Résolution d’un problème majeur de crash aléatoire lors de l’exécution de jeux nécessitant des extensions GPU (comme Direct3D 9/10), lié à une gestion incorrecte des contextes OpenGL/Metal.

  • Amélioration macOS : Minimum requis relevé à macOS 13.4 (Ventura) pour les builds universels (ARM64 + Intel), avec suppression du support pour les versions antérieures (12.x et 13.x antérieures) dans les packages .dmg.

  • Correction macOS : Fix d’un bug affectant les clés de contrôle (Ctrl) et modificateurs (Cmd/Option) dans les jeux utilisant des schémas de saisie non standard, notamment sous macOS avec des configurations de clavier personnalisées.

  • Optimisation : Réduction de la latence audio pour les jeux en ligne grâce à une refonte du moteur de mixage audio, avec une prise en charge améliorée des périphériques USB (y compris certains casques sans fil).

  • Interface utilisateur : Ajout d’un mode "Fullscreen Exclusive" (exclusif) pour macOS, compatible avec les jeux utilisant des résolutions non natives (via scaling logiciel ou matériel).

Changelog complet
This is ares v147, released on 2025-12-23.
v146
  • Nouveauté majeure : Ajout d’un système de sauvegarde automatique des états (snapshots) avec prise en charge des points de restauration incrémentiels, permettant de revenir à des états précédents sans perte de données (fonctionnalité activable via l’interface utilisateur ou la ligne de commande).

  • Amélioration critique : Correction d’une crash systématique sur les systèmes utilisant des cartes graphiques NVIDIA avec pilotes récents (notamment sous Linux et Windows), liée à une gestion défectueuse des shaders OpenGL/ES.

  • Compatibilité macOS : Support officiel de macOS 14.4 (Sonoma) et amélioration de la stabilité sur Apple Silicon (M1/M2/M3) via une refonte du backend GPU (utilisation optimisée de Metal pour réduire les latences et les artefacts visuels).

  • Correction macOS : Résolution d’un bug de performance sous macOS où les jeux utilisant des résolutions natives supérieures à 1080p provoquaient des lag et des ralentissements (lié à une mauvaise gestion des buffers de rendu).

  • Interface utilisateur : Ajout d’un filtre de recherche avancé dans les paramètres du BIOS pour accélérer la sélection des configurations matérielles (surtout utile pour les utilisateurs émulant des systèmes anciens avec de nombreuses options).

  • Sous-jacent : Mise à jour des bibliothèques dépendantes (notamment SDL3 et libretro) pour corriger des vulnérabilités de sécurité mineures et améliorer la compatibilité avec les distributions récentes (ex : Debian 12, Ubuntu 24.04).

Changelog complet
This is ares v146, released on 2025-08-26.

Captures d'écran

Menu dans Ares