Le CP System III (Capcom Play System 3), plus communément appelé CPS3 ou CPS-3, est un système d'arcade qui a été introduit par Capcom en 1996 avec le jeu Red Earth, afin de succéder au système d'arcade CP System II.
Description
Le CP System III est un système d'arcade 2D très puissant ; de nombreux fans de jeux de combat ont été ébahis par la finesse et la fluidité de l'animation de Street Fighter III et les autres jeux sortis sur ce système[réf. souhaitée]. C'est le dernier système d'arcade en date conçu et fabriqué par Capcom.
Le CPS3 n'a pas rencontré un grand succès, seulement six jeux au total ont été développés sur ce système, et uniquement par Capcom. Les exploitants des salles d'arcade n'ont pas apprécié la fragilité de ce système. En effet, le CPS3 supportait mal les chocs, tant physiques qu'électriques. Par ailleurs, les jeux devenaient inutilisables quand la pile contenue dans la cartouche de sécurité mourait, et elle devait alors être remplacée au frais de l'exploitant[1],[2]. De plus, le CPS3 n'était capable que de faire de la 2D à une époque où la 3D commençait à s'imposer. Le coût du système était plus important que celui d'autres systèmes. Aussi, le développement et la programmation sur ce système étaient semble-t-il très compliqués.
Protection anti-copie
Le CPS3 dispose d'un système de sécurité très élaboré. Les jeux sont composés d'un CD, qui contient les données du jeu cryptées, et d'une cartouche de sécurité qui contient le BIOS ainsi qu'une puce permettant de décrypter les données du CD, alimentée par une pile. Quand une carte-mère CPS3 est mise sous tension la première fois, le jeu contenu sur le CD est copié dans un ensemble de barrettes mémoire de type SIMM. Les données sont ensuite décryptées grâce à la cartouche de sécurité. La cartouche de sécurité est extrêmement sensible aux variations électriques induites, par exemple par les tentatives de bricolage, qui finissent souvent par la perte du code de décryptage, ce qui rend la cartouche inutilisable. De la même façon, les données transitent et sont traitées dans la PCB en streaming (flux de données) ; si le flux est coupé ou perturbé, le processeur qui décrypte les données efface immédiatement la clé et les données de décryptage.
En 2011, Darksoft découvre un moyen permettant de faire revivre les jeux CPS-3 (à l'instar des roms CPS-2 modifiés « Phoenix » bien que la méthode ne soit pas la même). Le programme utilisé et développé par lui-même se nomme simplement « Cps3 Convert Tool »[3].
Le , tous les jeux peuvent à présent être restaurés. La boucle est bouclée, tout comme les jeux CPS-Q et CPS-2, les jeux CPS-3 peuvent s'affranchir d'une batterie et vivre sans aucune limite de temps. Un blog a été mis en place avec le détail de ses recherches.
La mémoire SIMM
Les barrettes de mémoire SIMM sur les cartes-mères CPS3 sont constituées de puces de mémoire flash et n'ont rien à voir avec les barrettes de RAM pour ordinateur. Elles sont propres à Capcom et sont d'ailleurs aussi utilisées dans certains jeux CPS2.
Il y a 3 types de barrettes SIMM utilisées avec le CPS3 :
4 Mo : un chip devant, un derrière
8 Mo : quatre chips devant
16 Mo : quatre chips devant, quatre derrière
Les autocollants blancs sur la barrette n'ont pas d'importance, ils indiquent uniquement l'utilisation initiale prévue pour la barrette. Une barrette de 16 Mo peut être utilisée à la place d'une barrette de 4 Mo ou de 8 Mo. L'inverse n'est pas possible.
Les emplacements mémoire sont numérotés de SIMM 1 à 7. Pour connaitre la mémoire nécessaire à chaque emplacement pour un jeu donné, il suffit de regarder sur le CD. Chaque gros fichier (4 Mo ou 8 Mo) a un nom commençant par un numéro. Le chiffre des dizaines donne l'emplacement de la barrette correspondante. La somme de la taille des fichiers pour un même chiffre des dizaines correspond à la taille de la barrette nécessaire.
Illustration avec Street Fighter III: 3rd Strike Liste des fichiers avec leur taille en Ko à gauche :
8192 10
8192 20
8192 30
8192 31
8192 40
8192 41
8192 50
8192 51
8192 60
8192 61
Soit :
SIMM 1 : 8 Mo (fichier '10')
SIMM 2 : 8 Mo (fichier '20')
SIMM 3 : 16 Mo (fichiers '30' et '31')
SIMM 4 : 16 Mo (fichiers '40' et '41')
SIMM 5 : 16 Mo (fichiers '50' et '51')
SIMM 6 : 16 Mo (fichiers '60' et '61')
Street Fighter III: 3rd Strike - Fight for the Future étant le plus gros jeu sorti sur CPS3, aucun jeu n'utilise donc l'emplacement SIMM 7.
Décryptage du CPS3
Le système CPS3 dispose d'un cryptage anti-copie, tout comme le CPS2. Pendant des années, personne n'avait essayé un décryptage pour deux raisons ; la première raison était le manque de motivation de la plupart des gens de la « scène émulation ». La seconde raison était d'ordre matérielle : il fallait du matériel assez cher pour dumper certaines données afin de pouvoir les analyser.
En , Andreas Naive[4] (la première personne à avoir réellement décrypté le CPS2) a fait une avancée en réussissant à décrypter le jeu JoJo's Venture.
Le système aura finalement tenu peu de temps (quelques mois, du moins depuis qu'Andreas Naive s'y soit attaqué). Razoola (qui pour rappel a fait la découverte de la faille de la protection du CPS2 avec son ami CrashTest) avait d'ailleurs toujours dit que ce système n'était pas forcément aussi complexe que le CPS2 mais qu'il fallait mettre en œuvre plus de moyens pour parvenir à un résultat.
Depuis, Andreas Naive a trouvé les clés de décryptage de tous les jeux du système. Elsemi, Haze ainsi que Dox et Phil Bennett (tous développeurs de la MameTeam) ont tenté une émulation. Haze est le premier à avoir proposé un bout de code source destiné à MAME avec un bon début d'émulation, mais avec encore de nombreux problèmes.
Haze est également le premier à avoir réalisé un émulateur fonctionnel et sous forme compilée dans mame, le , ce qui en fait le premier émulateur CPS3[5]. En revanche ElSemi propose publiquement son travail plus aboutit, la même journée (), mais plus tard dans la soirée[6], appelé simplement CPS3 Emulator (v0.0a Test).
Par contre, la version officielle de mame n'étant sorti qu'après la version d'ElSemi, CPS3 Emulator est considéré comme premier émulateur officiel.
À peine plus d'un mois après les premières lignes de code, l'émulation du CPS3 est complète et ce grâce à Andreas Naive, Elsemi, Haze (aidé par Arbee, P. Bennett, Dox et Elsemi) pour MAME.
Pour information, CPS3 Emulator v1.0[7] et MAME v0.117[8] sont les premiers émulateurs à supporter ce système de façon correcte.