Snes9xrd est un fork personnel de l’émulateur Super Nintendo Snes9x. Il conserve intégralement le cœur d’émulation officiel ainsi que les front-ends GTK, Win32, macOS et libretro, tout en proposant une refonte importante du front-end Qt afin de le rendre plus complet, plus cohérent et plus agréable à utiliser.
L’un des principaux objectifs de ce fork est de rendre l’interface Qt aussi complète que l’interface Win32 en y réintroduisant les fonctionnalités qui lui faisaient défaut. Les paramètres d’affichage, les options de transparence, les shaders, les filtres logiciels, le frame skipping ainsi que les réglages audio avancés sont désormais entièrement accessibles depuis Qt. Les menus d’émulation et de configuration ont également été réorganisés afin d’offrir une présentation plus claire, plus intuitive et plus homogène.
Snes9xrd apporte également plusieurs améliorations à la gestion des contrôleurs. Le widget représentant la manette SNES indique désormais avec précision le bouton pressé, sans erreurs de surbrillance, tout en s’intégrant visuellement au thème général de l’interface. La configuration des manettes a été rendue plus fiable: les différents types d’entrées (boutons, axes analogiques et directions) sont correctement distingués, les associations de touches peuvent être sauvegardées et restaurées sans perte d’informations, et les boutons affichés correspondent fidèlement aux entrées réellement détectées.
L’interface générale a également été simplifiée. La sidebar expérimentale a été supprimée au profit d’une fenêtre principale plus traditionnelle, organisée autour d’une barre de menus classique. Le menu « Help → About » a été réintroduit et inclut désormais les crédits spécifiques au fork, renforçant ainsi la cohérence de l’ensemble.
En résumé, Snes9xrd ne modifie pas l’émulation SNES elle-même, mais vise avant tout à moderniser et à stabiliser l’expérience utilisateur en améliorant l’interface Qt, en fiabilisant la gestion des contrôleurs et en proposant un environnement plus propre, plus complet et plus agréable à utiliser.

Les changements sont les suivants:
RetroAchievements:
– Added RetroAchievements integration: login, achievement/leaderboard tracking, and notifications (dialogs + panel).
– Achievement unlock sound, embedded and played on unlock.
– RA login now persists across restarts (encrypted session token, auto re-login, auto re-attach to an already loaded ROM).
– Added Hardcore Mode enforcement: blocks rewind/cheats/load-state/movie playback/frame-advance, forces itself off for Netplay with a confirmation prompt, and re-baselines tracking on reset. – The Hardcore checkbox stays disabled in the UI pending RA’s compliance review.
– Fixed the achievement-unlock toast using the wrong (short) notification duration instead of the configured one.
Netplay:
– Fixed Netplay input silently not applying locally when this machine’s Controller Ports were still set to « One Controller »: Port 2 is CTL_NONE in that mode, so a second player’s input synced correctly to every other peer but was dropped on this machine’s own core.
– Connecting to or hosting a Netplay session now automatically switches Controller Ports to « Two – Controllers » when needed, instead of just warning about it.
– Added a « Show Netplay ping » option (Settings > General > Overlays), showing the connection’s round-trip time next to the frame rate overlay.
Qt/UI:
– On-screen messages now stack in a queue instead of overwriting each other.
– OSD toasts get a bigger title line; « Show ROM info on load » is now an opt-out checkbox in Options > General.
– Library: Enter/Return now launches the selected game, same as double-click.
Stability:
– Fixed a race at the start of a session’s first ROM load that could fast-forward video and audio for a moment (the emu thread ran unthrottled before the display callback and sound device were fully wired up).

















