
La recompilation statique poursuit sa conquête des consoles. Après la Nintendo 64, la Xbox 360 ou la PlayStation 2, c'est désormais au tour de la PlayStation 3 d'avoir son projet dédié : ps3recomp. Cet ensemble d'outils open-source, hébergé sur le compte GitHub de sp00nznet, ambitionne de traduire les jeux PS3 en exécutables PC natifs. Une promesse alléchante, mais qui se heurte à l'un des processeurs les plus retors de l'histoire du jeu vidéo.
Recompiler plutôt qu'émuler
Le principe diffère radicalement de l'émulation classique. Là où un émulateur comme RPCS3 interprète ou recompile les instructions du jeu à la volée, pendant l'exécution, ps3recomp prend le contre-pied : tout est traduit en amont, une bonne fois pour toutes, en code C/C++ que l'on compile ensuite avec n'importe quel compilateur moderne. C'est exactement la philosophie qui anime N64Recomp, à l'origine de Star Fox 64: Recompiled, ou encore UnleashedRecomp du côté de la Xbox 360. Les avantages avancés sont nombreux : des performances natives sans surcoût de traduction, des besoins matériels réduits qui permettent de tourner sur un PC milieu de gamme, une moddabilité décuplée — du C/C++ se bricole infiniment plus facilement qu'un binaire PowerPC — et une portabilité totale, de Windows à macOS en passant par Linux et l'ARM.
Le Cell, ce processeur cauchemar
Si la PS3 fait figure de Graal, c'est aussi parce qu'elle reste un cauchemar technique. Son Cell Broadband Engine n'a d'équivalent nulle part : un cœur principal PowerPC 64 bits (le PPU) doté d'extensions maison et du SIMD VMX/AltiVec, épaulé par six processeurs vectoriels SPU 128 bits, chacun confiné à 256 Ko de mémoire locale avec gestion explicite des transferts DMA. À cela s'ajoutent 256 Mo de RAM XDR aux contraintes d'alignement sévères, un noyau propriétaire LV2 fort de plus de 300 appels système, et une centaine de modules PRX aux interdépendances inextricables. Autant dire que recompiler statiquement un tel monstre relève de l'exploit. C'est précisément pour cette raison que RPCS3, qui rend déjà jouable environ 70 % d'une ludothèque de plus de 3 000 titres, conserve une longueur d'avance en matière de compatibilité immédiate.
Un chantier de préservation, pas (encore) un lanceur grand public
Il faut le dire sans détour : ps3recomp n'en est qu'à ses balbutiements. Le projet se présente lui-même comme une boîte à outils destinée aux développeurs, et non comme un lanceur clé en main pour le grand public. À ce stade, certains jeux atteignent leurs phases d'initialisation et ouvrent une fenêtre graphique, mais aucun titre commercial pleinement jouable n'est encore annoncé. Plutôt qu'une rivalité, l'auteur défend une complémentarité : émulation et recompilation résolvent des problèmes voisins mais distincts, et toutes deux œuvrent à la même cause, la préservation. Une démarche déjà éprouvée côté Nintendo, où la recompilation statique a offert au public des portages natifs comme le ReCut de Paper Mario 64. Reste à savoir si la bête Cell se laissera, un jour, pleinement domestiquer.
Sources : GitHub — sp00nznet/ps3recomp
Vous aimez notre contenu ?
Suivez-nous pour ne rien manquer !