PCSX2

Un article de Wikipédia, l'encyclopédie libre.
PCSX2

Description de cette image, également commentée ci-après
Capture d'écran de PCSX2 version 1.4.0.
Informations
Développé par Linuzappz, Zerofrog, Refraction, Saqib, Gabest
Première version Voir et modifier les données sur Wikidata
Dernière version 1.6.0 (Microsoft Windows, Linux, )[1],[2],[3]Voir et modifier les données sur Wikidata
Dépôt github.com/PCSX2/pcsx2Voir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Interface WxWidgetsVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft Windows et LinuxVoir et modifier les données sur Wikidata
Environnement Microsoft Windows et LinuxVoir et modifier les données sur Wikidata
Formats lus PCSX2 Patch (d)Voir et modifier les données sur Wikidata
Langues Multilingue (d)Voir et modifier les données sur Wikidata
Type Émulateur de système de jeux vidéoVoir et modifier les données sur Wikidata
Licence Licence publique générale GNU version 2Voir et modifier les données sur Wikidata
Site web pcsx2.netVoir et modifier les données sur Wikidata

PCSX2 est un émulateur libre de la console PlayStation 2 de Sony destiné aux systèmes d'exploitation Windows, Linux et Mac OS X, publié sous licence GNU GPL. Il est considéré comme l'émulateur le plus abouti de la console. Il est développé par la même équipe que l'émulateur PlayStation PCSX.

Fonctionnement[modifier | modifier le code]

PCSX2, comme son prédécesseur PCSX (émulateur PS1), est basé sur une architecture de plug-ins issue de PSEmu Pro qui permet de séparer plusieurs fonctions du cœur de l'émulateur. Ces plug-ins servent à simuler les fonctions des processeurs graphique et audio, la manette de jeu, le lecteur de CD/DVD, les ports USB ou Firewire (i.LINK). Il existe plusieurs plug-in pour une même fonction, pouvant conduire à des résultats différents en termes de compatibilité ou de performances. De plus, PCSX2 requiert une copie du BIOS de la PS2, non fourni par les développeurs au téléchargement pour des raisons de copyright et des problèmes juridiques associés. Actuellement, PCSX2 n'est pas compatible avec les jeux PS1, bien que le plug-in graphique GSdx puisse être utilisé avec les émulateurs PS1 comme PCSX et ePSXe.

La principale difficulté est d'émuler l'architecture multi-processeurs de la PS2 sur l'architecture x86 des PC. Bien que chaque processeur puisse être émulé correctement, les synchroniser avec précision est très difficile.

Développement[modifier | modifier le code]

Le développement de PCSX2 débute en 2001 à l'initiative de Linuzappz et Shadow, aussi programmeurs de l'émulateur PCSX-Reloaded. D'autres rejoignent l'équipe par la suite et leur première réussite fut de parvenir à faire fonctionner de simples applications « maison » (homebrew). Par la suite, ils tentèrent de faire fonctionner les logiciels commerciaux de la PS2. Plusieurs versions et beaucoup de travail sur les plug-in furent nécessaires pour parvenir à afficher les écrans de chargement de certains jeux, voire de commencer à jouer. À la suite de quoi l'équipe commença à travailler sur l'émulation du BIOS de la PlayStation 2, ce qui se révéla extrêmement compliqué à accomplir. L'équipe parvint à faire fonctionner le BIOS, bien que très lentement et avec de gros problèmes d'affichage.

À partir de là, l'équipe se concentra sur l'implémentation des parties manquantes de l'émulateur et le remplacement des raccourcis de programmation par une émulation correcte, grâce à une meilleure compréhension du fonctionnement de la console. L’intégration du premier recompileur a été faite par Goldfinger ce qui a grandement accru la vitesse en comparaison de l'ancien interpreteur. Toutes ces améliorations ont contribué à augmenter petit à petit la vitesse et la compatibilité de PCSX2. Zerofrog rejoignit l'équipe par la suite et développa les plug-in ZeroGS (graphique) et ZeroSPU2 (audio). Il a également réécrit les recompileurs VU et EE, ce qui a conduit à une énorme amélioration de la vitesse d'émulation de la version 0.9.1 sortie en .

Durant l'été 2007, GiGaHeRz parvient à faire fonctionner NetPlay. En 2008 Zerofrog quitte l'équipe, et des changements mineurs continuent à être apportés à l'émulateur par les deux programmeurs restants, Refraction et Saquib, afin de garder le projet en vie. Après la version 0.9.4 en , Gabest met à jour GSdx de manière significative et accroit sa vitesse. En , de nouveaux programmeurs se joignent à l'équipe. La version 0.9.8 sort en et présente une nouvelle interface, écrite avec wxWidgets, qui améliore la compatibilité avec Linux et les systèmes d'exploitation Windows récents, ainsi que l'ajout d'un nouveau recompileur VU qui améliore la compatibilité avec les jeux, un éditeur de carte mémoire, une révision du plug-in audio SPU2-X et de nombreuses autres améliorations et correctifs. Le plug-in SPU2-X est mis à jour en pour améliorer l'émulation de la fonction audio de la PS2.

Configuration requise[modifier | modifier le code]

Catégories de configurations
Minimum Moyenne Recommandée
Système d'exploitation Windows XP et Vista jusqu'à PCSX2 v1.4.0 (DirectX 9.0) 7 / 8 / 10 (DirectX 10 et plus / OpenGL 3.x)
Mémoire vive (RAM) Go Go
Processeur (CPU) Double cœur avec HT à 3 GHz type Intel Core 2 Duo ou équivalent AMD. Certains jeux seront parfaitement jouables, d'autres fonctionneront au ralenti. 4 cœurs ou plus type Intel i5-2400 ou AMD FX 8350. La plupart des jeux fonctionneront à la vitesse PS2.
Carte graphique (GPU) Compatible DirectX 9.0c pour PCSX2 v1.4.0 :
  • nVidia GeForce série 6 et 7,
  • Intel GMA X3000.
  • Intel GMA 900/950/3000/3100.
Compatible DirectX 10 / OpenGL 3.x:
  • 2 Go de mémoire video.
  • GeForce GTX 750 ou équivalent.
Compatible DirectX 11 / OpenGL 4.5 ou plus
  • 4 Go de mémoire video ou plus.
  • nVidia GeForce GTX 1050 Ti ou équivalent.

Il est important de noter qu'il n'est pas toujours nécessaire de posséder la configuration recommandée. Certains jeux qui demandent beaucoup de puissance CPU mais moins de puissance GPU pourront fonctionner avec un processeur recommandé et une carte graphique moyenne. À l'inverse d'autres jeux peuvent demander moins de puissance CPU et plus de puissance GPU, ceux-ci pourront donc fonctionner avec un processeur moyen et une carte graphique recommandée. Certains fonctionneront même avec un processeur moyen et une carte graphique moyenne.
D'autre part, certains speedhacks (raccourcis de programmation spécifiques à certains jeux) intégrés à PCSX2 peuvent permettre d'atteindre la vitesse PS2 sur une configuration moyenne.

Compatibilité[modifier | modifier le code]

La version actuelle (1.6.0) est annoncée comme étant compatible avec 96.66 % des 2637 jeux testés. Cela signifie que l’émulateur ne va pas planter, se bloquer, ou encore entrer en état de boucle infinie sur un jeu annoncé comme compatible. Il peut cependant rester quelques bugs comme des effets de post process/ombres/textures manquants, particulièrement en mode "hardware". Pour ce type de bug sans aucune solution de contournement à l'heure actuelle, le mode "software" est disponible bien qu'il soit plus lent.

La liste de compatibilité complète est disponible sur le site officiel (en anglais) : liste de compatibilité.

Si les plug-ins sont biens configurés (guide de configuration), on peut atteindre avec la configuration énoncée ci-dessus 50 images par seconde (PAL) ou 60 images par seconde (NTSC), soit une fluidité identique à celle de la PS2, avec la plupart des jeux sauf ceux les plus difficiles à émuler. Ce problème tend à s’atténuer au fur et à mesure des mises à jour de l'émulateur et grâce à la commercialisation de processeurs grand public de plus en plus rapides.

Statut légal[modifier | modifier le code]

Comme pour tout émulateur, la possession de ce logiciel est légale. Toutefois sans l'autorisation de l'ayant droit, il est illégal de copier, vendre ou distribuer des ROM protégées par le droit d'auteur, qui sont indispensables à l'utilisation de ce logiciel.

Il en va de même concernant l'utilisation du BIOS de la PS2. Celui-ci doit être extrait directement de la console et n'est pas fourni avec l'émulateur.

Plug-ins[modifier | modifier le code]

PCSX2 est un "émulateur à plug-ins", c'est-à-dire qu'il nécessite des modules externes pour fonctionner :

les plug-ins graphiques : ils émulent le processeur graphique de la PS2, vous devez les configurer. Plusieurs plug-ins existent, tels que :

  • GSdx (DirectX 9 (Windows XP / Vista / 7 / 8 / 10), DirectX 10 et 11 (Windows Vista / 7 / 8 / 10) et OpenGL (multiplateformes)). Ce plug-in présente plusieurs avantages par rapport aux autres :
    • Utilisation d'instructions spécifiques au processeur (SSE2, SSSE3, SSE4 ou AVX) si celui-ci le permet, afin d'accélérer l'émulation.
    • Affichage à une résolution supérieure à celle de la PS2 comme le full HD (1920x1080) ou plus (4K, Ultra HD).
    • Utilisation de l'antialiasing, qui permet de réduire l'effet d'escalier,
    • Utilisation du filtrage anisotrope, qui permet de réduire le fourmillement des textures vues à un angle oblique et d'améliorer leur netteté.
  • ZeroGS (OpenGL),
  • ZZogl (OpenGL, basé sur ZeroGS).

Les plug-ins audio : ils émulent le son de la PS2, ils ne nécessitent pas ou peu de réglages. Ces plug-ins sont :

  • SPU2-X (plug-in le plus au point à l'heure actuelle). Celui-ci comprend également une option (expérimentale) autorisant l'audio quadraphonique, 5.1 ou 7.1).
  • SPU2PeopsSound (obsolète),
  • ZEROSPU2 (obsolète).

Les plug-ins de périphériques d'entrée : ils émulent le pad PS2 (DualShock 2) avec le clavier ou une manette PC, aucune configuration n'est nécessaire (mise à part l'assignation des touches/boutons). Ils permettent aussi l'utilisation du MultiTap. Il y a 6 plug-ins :

  • Xpad, qui permet l'utilisation d'une manette Xbox 360
  • PadSSSPSX,
  • ZEROPAD (obsolète),
  • TwinPad, permet d'utiliser un clavier et une souris,
  • LilyPad, permet l'utilisation d'une manette, d'un clavier et d'une souris. C'est le plug-in le plus abouti actuellement,
  • Nuvee, qui permet d'utiliser le pistolet.

Les plug-ins de lecteur optique : ils émulent le lecteur CD/DVD de la PS2. Il en existe plusieurs :

  • CDVD, un plug-in simple de lecture d'un jeu PS2,
  • Linuz ISO CDVD, qui permet en plus de compresser un jeu PS2 en image ISO pour l'utiliser avec un lecteur virtuel, de manière à réduire les temps de chargement.

Les plug-ins de disque dur : ils servent pour la programmation. Il en existe 2 :

  • DEV9, dont le but est de prendre en charge le disque dur de la PS2 ainsi que son contrôleur Ethernet,
  • MegaDEV9, une version plus avancée qui permet d'émuler partiellement le disque dur de la PS2.

les plug-ins USB : ils émulent les ports USB de la PS2.

Le plug-in firewire : il émule le port Firewire.

Le plug-in NetPlay : il permet de jouer en multijoueur pour les jeux compatibles.

Le BIOS de la PS2 est aussi nécessaire pour pouvoir jouer. La seule manière légale de l'obtenir est de l'extraire directement de la console.

Historique des versions[modifier | modifier le code]

Version 0.9.6[modifier | modifier le code]

La version 0.9.6 est marquée par un grand changement dans le code source qui permet une compatibilité et une vitesse accrues par rapport aux versions précédentes. De très nombreux bugs ont également été corrigés, et des optimisations de vitesse font que la plupart des jeux notés comme jouable le sont de façon fluide et d'une manière similaire à la PS2. Sur des configurations plus puissantes, les jeux restent même fluides à haute résolution ou avec un filtre anti-aliasing et peuvent donc offrir un meilleur rendu qu'une console. Les versions précédentes de PCSX2 ne sont plus prises en charge par les développeurs.

Version 0.9.8[modifier | modifier le code]

Des améliorations ont été faites sur l'interface de configuration, beaucoup plus simple et graphique que précédemment. Optimisation de vitesse, correction de bugs et compatibilité à la hausse.

Version 0.9.9 (version bêta)[modifier | modifier le code]

Le avec la version beta (0.9.9 r4865) PCSX2 commence à exploiter les processeurs à plus de deux cœurs ce qui résulte en une hausse des performances drastique.

Version 1.0.0[modifier | modifier le code]

Le sort enfin la version stable 1.0 de PCSX2. D'énormes améliorations ont été effectués avec un accent particulier sur la compatibilité et la stabilité ainsi que la possibilité de faire tourner le module SPU (sonore) sur un core séparé des autres ce qui a pour conséquence de rendre plus fluide certains jeux qui peuvent alors s'exécuter librement sur les autres core du processeur. L'optimisation MTGS (Multi thread / multi core) devient encore plus aboutie.

Version 1.2.1[modifier | modifier le code]

Le sort la version 1.2.0. Beaucoup d'améliorations, de nouvelles fonctionnalités et des corrections de bugs sont de la partie. Un des grands changements dans cette version est l'intégration des correctifs pour la gestion des grands écrans avec près de 1200 jeux patchés pour soutenir le bon ratio au format 16:9. Le sort une bugfix de la précédente release.

Version 1.4.0[modifier | modifier le code]

Le , la version 1.4.0 est disponible. La compatibilité générale passe à plus de 94 %. Voir la Liste des changements. Il s'agit de la dernière version officielle et stable pour Windows XP/Vista.

Version 1.6.0[modifier | modifier le code]

Le , la version 1.6.0 est disponible. La compatibilité générale passe à plus de 96,66 %. Voir la Liste des changements.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) « 1.4.0 released! - Year end report »,
  2. « Release 1.4.0 », (consulté le 22 juillet 2018)
  3. « Release 1.6.0 », (consulté le 8 mai 2020)