Accueil » Actualité » Xbox One et PlayStation 4 seront-elles rapidement émulées ?

Xbox One et PlayStation 4 seront-elles rapidement émulées ?

Image 1 : Xbox One et PlayStation 4 seront-elles rapidement émulées ?La Xbox One

À la sortie de chaque nouvelle console, c’est la même chose : quand sera-t-elle émulée ? Et la question se pose évidemment pour la Xbox One et la PlayStation 4.

Un problème de puissance, mais pas que

Premièrement, un petit état des lieux : la majorité des consoles sorties dans les années ’90 et au début des années 2000 est émulée. Les consoles de la génération 16 bits, mais aussi celles de la génération 32 bits (la PlayStation par exemple) et même des consoles plus « récentes » comme la PlayStation 2, le GameCube ou la Wii. Pourtant, il y a quelques consoles qui résistent encore : la Xbox, la Xbox 360 et la PlayStation 3.

Pour la première, c’est assez étonnant : elle est assez proche d’un PC et tourne sous une version modifiée de Windows, mais elle a visiblement un défaut simple : peu d’exclusivités, et donc peu d’intérêt dans l’absolu pour les adeptes de l’émulation.

Pour les deux autres consoles, le problème est différent : il vient de la puissance nécessaire. Les deux consoles sont basées sur des processeurs PowerPC très rapides (~3 GHz) en fréquence, même s’ils ne sont pas aussi complexes que les processeurs récents. C’est un véritable problème : quand votre processeur tourne 10 ou 100x plus vite que la console à émuler (une PlayStation a un processeur MIPS à 33 MHz), vous pouvez concevoir un programme qui va réussir à émuler le processeur à sa vitesse d’origine. Mais pour émuler une machine dont le processeur fonctionne à une fréquence proche de celle de votre machine, c’est une autre paire de manches.

Concevoir un émulateur de PowerPC n’est pas un problème — Apple en a utilisé un dans Mac OS X, Dolphin émule la Wii et le GameCube —, mais la fréquence des processeurs de la Xbox 360 et de la PlayStation 3 rend les choses compliquées. De plus, un émulateur doit aussi travailler sur la partie vidéo, les entrées/sorties, les différents coprocesseurs (il y a par exemple un ARM9 dédié à l’OS dans la Wii), etc.

Avec la PlayStation 4 et la Xbox One, une partie du problème disparaît : les consoles sont basées sur un processeur x86. Mais comme on l’a vu avec la Xbox, ce n’est pas nécessairement un gage de réussite. Malgré tout, la puissance nécessaire reste élevée : les consoles utilisent un processeur assez lent en fréquence (1,6 GHz environ) et peu complexe (c’est un Jaguar, donc un core basse consommation peu performant), mais doté de huit cores, ce qui est rare dans un PC classique, même moderne.

Un autre problème vient des méthodes d’émulation actuelle : beaucoup travaillent en utilisant des homebrew pour tester le comportement exact des consoles, et les dernières consoles sont de plus en plus difficiles à jailbreaker, ce qui limite les possibilités de test. Étant donné que les constructeurs de consoles ne distribuent pas la documentation publiquement et que le niveau de complexité est bien plus élevé que du temps des consoles 16 bits, le seul moyen viable d’émuler est d’utiliser une méthode « haut niveau ». Cette technique, qui a eu ses heures de gloire avec UltraHLE et la Nintendo 64, consiste à se concentrer sur un jeu en particulier et émuler ce dont ce jeu précis à besoin. C’est relativement efficace, mais cette technique a tendance à limiter la compatibilité.

Image 2 : Xbox One et PlayStation 4 seront-elles rapidement émulées ?Au final, on est dans une situation paradoxale : les consoles sont techniquement plus aptes à l’émulation sur un PC que celles de la génération précédente, mais les émulateurs risquent tout de même de se faire attendre. De plus, il faut bien prendre en compte le syndrome « Xbox » : étant donné que beaucoup de jeux sortent sur consoles et sur PC en même temps (et souvent dans des versions identiques), l’intérêt de coder est finalement assez faible, tout du moins tant que les consoles ne sont pas encore « vintage ». Parce qu’au-delà de la simple nostalgie, un des avantages de l’émulation est de pouvoir utiliser un ancien jeu sur du matériel récent.

Enfin, il faut aussi prendre en compte le facteur humain : le temps où une seule personne pouvait coder un émulateur complet est fini. Maintenant, il faut travailler en équipe, et ce n’est pas toujours évident…