Le projet de recompilation de la PlayStation 2 est tout simplement incroyable
(redgamingtech.com)- PS2Recomp est un recompileur statique et un outil d’exécution qui permettent de faire tourner nativement des jeux PlayStation 2 sur des plateformes modernes
- Au-delà du rendu haute résolution et de la fréquence d’images stable offerts par les émulateurs existants (PCSX2), il permet de convertir et d’exécuter directement les jeux
- Cet outil doit être appliqué séparément à chaque jeu ; ce n’est pas une solution du type « télécharger puis lancer immédiatement »
- Il pourrait servir de base à des remasters et remakes communautaires, et ouvre la voie au déverrouillage de la limite de framerate ainsi qu’à l’amélioration des problèmes de physique et de collisions
- Une fois abouti, il pourrait marquer un nouveau tournant pour la préservation du jeu vidéo et les portages natifs sur PC
Vue d’ensemble du projet PS2Recomp
- PS2Recomp est un recompileur statique et un outil d’exécution qui convertissent les jeux PlayStation 2 pour qu’ils puissent tourner nativement sur des PC Windows ou Linux
- Il analyse l’architecture propre à la PS2, l’Emotion Engine (CPU basé sur le MIPS R5900), puis la convertit en code pour la plateforme cible
- Il ne s’agit pas d’un exécutable unique : chaque jeu doit passer par un processus de recompilation distinct
- Cette approche peut remplacer la simple émulation, avec potentiellement des exigences matérielles plus faibles et une meilleure efficacité en matière de performances
Différences avec les émulateurs existants
- Des émulateurs comme PCSX2 prennent en charge l’upscaling de la résolution interne, la stabilisation du framerate ou encore l’application de packs de textures
- Mais la recompilation convertit et exécute directement le jeu, ce qui pourrait permettre de supprimer la limite de framerate et d’éviter certains problèmes de physique ou de collisions
- Cette approche offre une plus grande liberté pour les travaux de préservation et d’amélioration des jeux
Potentiel pour les remasters et les extensions communautaires
- Il existe déjà des packs de textures HD pour les émulateurs PS2, mais la recompilation élargit le champ des modifications graphiques et de gameplay
- À terme, la possibilité de créer des versions PC natives de grands titres comme MGS2, Gran Turismo, God of War, Tekken 4, Shadow Hearts est évoquée
- On peut aussi espérer une meilleure compatibilité des manettes (DualShock, Xbox, etc.) et l’intégration de fonctionnalités supplémentaires
Exemples de projets similaires
- Sur la plateforme N64, des projets de recompilation de Mario 64 et de Zelda sont déjà en cours
- Le projet Mario 64 dispose d’une version compatible RTX (ray tracing)
- Le projet Zelda inclut des améliorations visuelles et de gameplay, ainsi que des plans d’intégration future du ray tracing
- Ces exemples sont présentés comme des indications sur la direction possible de PS2Recomp
Architecture matérielle de la PS2 et état d’avancement du projet
- La PS2 est composée d’un CPU Emotion Engine d’environ 300 MHz, de deux Vector Units, de 32 Mo de mémoire et d’un GPU Graphics Synthesizer à 147 MHz (4 Mo d’eDRAM)
- Malgré sa faible fréquence, elle reposait sur une conception originale capable d’offrir des performances comparables à celles de la GameCube ou de la Xbox
- Le projet n’est pas encore terminé et reste en cours de développement
- Il est considéré comme une initiative très encourageante pour celles et ceux qui s’intéressent à la préservation du jeu vidéo
1 commentaires
Commentaires Hacker News
Avec d’innombrables jeux cultes, un lecteur DVD et même une distribution PS2 Linux, elle était aussi positionnée comme ordinateur personnel
Dans un monde idéal, il aurait peut-être existé une console intermédiaire entre la PS2 et la PS3, créant un écosystème standardisé comparable au marché des clones IBM PC
On pourrait alors encore aujourd’hui acheter un « clone de PS2 » à 30 dollars pour faire un peu d’informatique et profiter de jeux rétro
Les contraintes matérielles forçaient les développeurs à affiner leur sens esthétique et à optimiser leur conception, si bien qu’au final, comme par sélection évolutionnaire, seules les meilleures idées survivaient
Et puis, un monde où plusieurs fabricants produisent des clones comme pour le PC serait moins amusant — il suffit d’imaginer Nintendo fabriquer une « copie de PlayStation »
Sony voyait cela comme une évolution du PlayStation Yaroze et voulait encourager le développement indé, mais la plupart des gens l’utilisaient surtout pour faire tourner des émulateurs
Sur la PS3, l’accès à l’accélération graphique a été bloqué pour cette raison
Le marché des clones IBM PC est né d’une erreur d’IBM, et Compaq a ouvert la boîte de Pandore en rétroconcevant le BIOS
Avec prise en charge de l’upscaling, ce qui est assez stupéfiant
Le jour viendra bientôt où un téléphone fera tourner des modèles d’IA comparables à des clusters coûtant des centaines de millions de dollars
Dans 10 ans, il est difficile même d’imaginer ce qui sera possible avec des clusters valant plusieurs milliards de dollars
Il arrive même à faire tourner quelques jeux Switch légers
Mon téléphone est plus puissant que les quatre PC que j’ai utilisés entre 1990 et 2002 réunis
Nous vivons une époque fascinante
Il s’agit d’une implémentation FOSS de l’interpréteur GOAL (Game Oriented Assembly Lisp) de Naughty Dog pour la PS2
Grâce à cela, de petites équipes portent rapidement des titres PS2
Se concentrer sur le CPU R5900 n’a pas beaucoup de sens
Cela dit, cette approche peut quand même être utile pour porter sur PS2 de simples ports PC
Parce que Sony ne fournissait pas de débogueur
Heureusement, les VU étaient des processeurs simples mais puissants, et j’ai pu créer le simulateur grâce à une documentation au niveau du bit rédigée par des ingénieurs japonais
Il n’y avait pas de guide d’utilisation, mais les spécifications étaient parfaites
C’était difficile à cause de la forte dépendance à Kinect, mais la découverte d’une build Debug a rendu cela possible
J’ai implémenté moi-même les instructions vmx128 dans Ghidra et m2c, et j’ai déjà restauré plus de 1 000 fonctions
Je partage un exemple de code et une branche de travail
J’ai du mal à croire qu’on puisse obtenir un tel résultat en seulement quelques heures
En théorie, l’interprétation (émulation) et la compilation devraient produire le même comportement
En tant que cinéphile, entendre dire qu’« un film de 2017, c’est trop vieux » me donne l’impression d’être insulté
Comme pour les films classiques, les jeux classiques peuvent tout à fait être appréciés par d’autres générations
Fallout 1 et 2 ont bien plus de profondeur que le 3, et alors que les suites de Baldur’s Gate se sont trop accrochées aux originaux, Divinity a évolué avec une UI moderne
Ce genre de projets de recompilation peut devenir, pour la génération suivante, une fenêtre permettant de regarder le passé avec un œil neuf