# PCSX2 (émulateur)

PCSX2 est un émulateur libre et open-source de la console PlayStation 2 de Sony destiné aux systèmes d'exploitation Windows, Linux et MacOS, publié sous licence GNU LGPL. 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

PCSX2 est entièrement programmé en C et en C++. Il fonctionnait avec des plugins avant la versions 1.7.0, mais depuis cette version, il utilise un moteur graphique interne très performant laissant le choix entre plusieurs API graphiques: Vulkan, DirectX11, DirectX12 et OpenGL. Il peut aussi émuler l'architecture multi-cœurs de la PS2 sur des processeurs PC x86_64 et ARM.

## Développement

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 homebrew. Par la suite, ils essayèrent de faire fonctionner les logiciels commerciaux de la PS2. Beaucoup de travail sur les plugins furent nécessaires pour parvenir à afficher les écrans de chargement et les menus 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 recompilateur a été réalisée par Goldfinger ce qui a grandement augmenter la vitesse d'émulation 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 recompilateurs VU et EE, ce qui a conduit à une énorme amélioration de la vitesse d'émulation de la version 0.9.1 sortie en juillet 2006.
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 développeurs restants, Refraction et Saquib, afin de garder le projet en vie. En février 2009, de nouveaux développeurs rejoignent à l'équipe. La version 0.9.8 sort en mai 2011 et présente une nouvelle interface, écrite avec wxWidgets, qui permet la compatibilité avec Linux et les systèmes d'exploitation Windows récents, ainsi que l'ajout d'un nouveau recompilateur 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 juin 2011 pour améliorer l'émulation de la fonction audio de la PS2. Par la suite, l'équipe de PCSX2 va passer à une interface graphique Qt pour moderniser l'interface graphique et développer le support pour MacOS.

## Configuration requise

Catégories de configurations :
| | Minimum | Moyenne | Recommandée |
| Système d'exploitation | Windows XP et Vista jusqu'à PCSX2 v1.4.0 (DirectX 9.0c) | Windows 7 / 8.1 / 10 | Windows 10 / 11 |
| Mémoire vive (RAM) | 4 Go | 8 Go | 8 / 12 Go |
| Processeur (CPU) | Double cœur à 2,5 GHz type Intel Core 2 Duo ou équivalent AMD. | Intel Core i3 / Ryzen 3 | 4 cœurs ou plus type Intel i5-2400 ou AMD FX 8350. |
| 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 11 / OpenGL 4.x 1 Go de mémoire video. GeForce GTX 750 ou équivalent. | Compatible DirectX 12 / OpenGL 4.6 ou Vulkan 1.3 3 Go de mémoire video ou plus. Nvidia GeForce GTX 1050 ou plus. |
Il est important de noter qu'il n'est pas toujours nécessaire de posséder la configuration recommandée. Certains jeux demandent beaucoup de puissance CPU mais moins de puissance GPU et inversement. 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é

La version actuelle (2.0.2) est annoncée comme étant compatible avec 99.15 % des jeux PS2. 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".
La liste de compatibilité complète est disponible sur le site officiel.

## Statut légal

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.

## Historique des versions
### Version 0.9.6

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

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)

Le 11 août 2011 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

Le 3 août 2012 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

Le 2 février 2014 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 4 février sort une bugfix de la précédente release.

### Version 1.4.0

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

### Version 1.6.0

Le 7 mai 2020, la version 1.6.0 est disponible. La compatibilité générale passe à plus de 96,66 %.

### Version 2.0.0

Le 13 juillet 2024, la version 2.0.0 est disponible. La compatibilité générale atteint les 99,15 %.