- Dolphin, lancé en 2003 comme émulateur GameCube, s’étend à un nouveau territoire de plateformes avec l’ajout de la prise en charge du système d’arcade Triforce en 2026
- L’optimisation MMU Fastmem accélère l’accès mémoire basé sur des tables de pages, et permet notamment à Rogue Squadron III de tourner pour la première fois à pleine vitesse
- Le bug de synchronisation en ligne de Mario Strikers Charged a été corrigé après 5 ans, rendant le jeu réseau avec une vraie Wii parfaitement fonctionnel
- Côté émulation Triforce, la restauration du protocole d’écran tactile de The Key of Avalon et des fonctions de carte IC est en cours, avec d’autres améliorations prévues pour F-Zero AX et Virtua Striker 4
- De nombreuses fonctions améliorant l’expérience utilisateur et les performances ont été ajoutées, comme la mise en cache des jeux en RAM, les réglages des hints de manette SDL et l’ajustement du timing du menu Wii
Ajout de la prise en charge de Triforce
- Dolphin prend désormais officiellement en charge Triforce, le système d’arcade commun à Sega, Namco et Nintendo
- Les premières améliorations incluent l’insertion automatique de carte magnétique, les réglages de région et des correctifs de bugs pour l’émulation multi-borne
- Il a été confirmé que le protocole d’écran tactile de The Key of Avalon est similaire à Elo SmartSet ; le lancement du jeu a réussi, mais le processus s’interrompt encore à cause d’un problème d’initialisation de carte IC
- La restauration des fonctions de carte IC devrait permettre de réactiver les modes de création d’équipe et de personnage dans Virtua Striker 4, Gekitou Pro Yakyuu et d’autres jeux
MMU Fastmem et optimisations pour Rogue Squadron
- L’implémentation du mapping Fastmem par table de pages améliore jusqu’à deux fois les performances de Rogue Squadron II et III
- Le suivi de l’instruction
tlbie permet de refléter en temps réel les changements dans la table de pages
- La désactivation de Branch Following, les optimisations d’invalidation de code et l’activation du CPU Vertex Culling réduisent les baisses de framerate et les saccades
- Rogue Squadron III peut désormais tourner à pleine vitesse pour la première fois sur du matériel haut de gamme
Correction du bug de Mario Strikers Charged
- La cause de l’erreur de synchronisation physique entre Dolphin et une vraie Wii a été identifiée comme une opération flottante imprécise dans l’instruction
fmadds
- Le problème a été corrigé grâce à une compensation d’arrondi précise utilisant l’algorithme
2Sum, ce qui permet une synchronisation complète des matchs en ligne
- Cette correction s’appuie sur l’expérience acquise lors de la résolution d’un problème similaire dans Inazuma Eleven GO: Strikers 2013
Autres améliorations majeures
- Le timing de gestion des données du menu Wii a été ajusté pour se rapprocher du matériel réel, réduisant ainsi la charge CPU excessive lors des accès NAND
- L’ajout de la fonction Load Whole Game into Memory supprime les latences d’attente disque lors de l’exécution depuis un stockage réseau comme un NAS
- L’introduction d’une interface graphique de réglage des hints SDL améliore la compatibilité des manettes, notamment pour la séparation des Joy-Con et les problèmes de hot-plug sur DualSense
- Des patchs de synchronisation VBI ont été appliqués à certains jeux comme Need for Speed: Hot Pursuit 2 et Rabbids Go Home, afin de rétablir correctement la limitation du framerate
Performances et contribution de la communauté
- Cette version intègre 465 commits, avec de nombreux tests communautaires et travaux de recherche sur le matériel
- Elle comprend des résolutions de problèmes de longue date autour de Rogue Squadron, Mario Strikers Charged et Triforce, améliorant fortement la précision et les performances de Dolphin
1 commentaires
Commentaires sur Hacker News
Il est étonnant que Dolphin permette de connecter une vraie console Wii en ligne, en remplacement des serveurs officiels fermés depuis longtemps
C’est vraiment réjouissant de voir qu’il existe des personnes avec un tel dévouement passionné
Mais à court terme, ce type de progrès technique pourrait aussi aggraver davantage les inégalités
Si des bugs de l’émulateur empêchent un jeu de fonctionner totalement ou partiellement, les générations futures risquent de perdre l’occasion de découvrir ces jeux
C’est vraiment formidable de voir des gens y accorder autant d’attention
Ce que je trouve le plus fascinant, c’est que le développement d’émulateurs permet souvent de découvrir que les jeux d’origine avaient des comportements étranges mais intentionnels
J’ai été surpris d’apprendre que GCC, dès le milieu des années 90, automatisait déjà des optimisations que j’essayais encore de faire à la main au début des années 2000
L’émulateur ne sauvegardait pas la SRAM, ce qui provoquait des incohérences dans les sauvegardes, mais cela a été corrigé rapidement
Comme il s’agit d’un code C simple basé sur Plan9, la correction a été facile
J’ai toujours aimé lire les rapports de développement de Dolphin
Ils rendent les aspects techniques très faciles à comprendre
À propos des rapports Dolphin, l’un des auteurs a publié un texte intéressant sur les problèmes de la communauté des émulateurs open source
Rethinking Open Source
En résumé, si l’on rend open source un projet très médiatisé avant qu’une communauté et une identité solides ne soient établies, cela peut créer des problèmes à cause d’utilisateurs aux attentes irréalistes
Il arrive aussi que d’autres récupèrent des branches inachevées et les redistribuent comme si c’était leur propre travail
L’équipe Dolphin continue malgré tout de gérer le projet avec un haut niveau de professionnalisme
C’est déjà dur quand on est payé, alors pour un projet gratuit cela doit l’être encore plus
Les anciens forks étaient de qualité assez médiocre
C’est agréable de voir que l’auteur est sincèrement enthousiaste à propos de ce qu’il a écrit
Quand j’avais signalé un bug de netplay sur Melee, c’était clairement quelqu’un de profondément curieux, prêt à creuser chaque détail
Dolphin est vraiment un cas d’école de développement intelligent
Avant, il fallait mobiliser les 4 cœurs de mon ancienne machine pour faire tourner Metroid Prime ; quelques années plus tard, le même jeu n’utilisait plus que 25 % d’un cœur
Les performances ont fait un bond énorme grâce au JIT et à l’amélioration de l’efficacité de l’émulation
Ce type d’optimisation est une réalisation vraiment remarquable
Dans la discussion sur la compatibilité des bornes d’arcade Triforce, le support des cartes IC a été mentionné, et on dit que son implémentation débloquerait beaucoup de fonctionnalités
Cela ressemble à une carte de transport japonaise, mais sur les cartes Triforce elle sert à stocker les données de progression du jeu
C’est une fonctionnalité impressionnante que je n’ai jamais vue dans les salles d’arcade américaines
Les magcard sont moins chères mais moins durables, et elles peuvent être imprimées
Les cartes IC sont plus épaisses et plus robustes, mais ne peuvent pas être imprimées
Source avec photos et explications : Rise of the Triforce
Presque tous les jeux Triforce utilisent une carte pour les sauvegardes
Vous avez probablement déjà vu une version de Mario Kart Arcade GP, même aux États-Unis
C’est un concept similaire aux cartes AIME utilisées dans maimai, chunithm, DDR, etc.
La différence, c’est que la carte IC de Triforce ne sert pas seulement à l’authentification, mais aussi au stockage de données
Le cas où l’instruction CPU fnmsubs était mal implémentée dans le JIT mais fonctionnait correctement dans l’interpréteur est intéressant
Je pense que c’est une très bonne occasion d’appliquer du differential fuzzing
Le point essentiel de cet article, c’est que Dolphin a rétabli le support des bornes d’arcade Triforce
Triforce est un matériel développé conjointement par Nintendo, Sega et Namco, dont Dolphin avait abandonné le support en 2016
Désormais, des jeux comme F-Zero AX et Mario Kart Arcade GP 1·2 fonctionnent de nouveau
Plus de détails : The Return of the Triforce
Lien vers la discussion précédente
Le premier paragraphe de l’article en parle déjà, donc il est difficile de dire que c’est un « sujet enterré »
Je me demandais s’ils acceptaient des dons, mais je n’ai rien trouvé sur le site officiel
Sujet de forum connexe : Dolphin Donations