# CP System III

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. 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$^,$. 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 ». Le 21 septembre 2012, 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 juin 2007, Andreas Naive (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 20 juin 2007, ce qui en fait le premier émulateur CPS3. En revanche ElSemi propose publiquement son travail plus aboutit, la même journée (20 juin), mais plus tard dans la soirée, 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 et MAME v0.117 sont les premiers émulateurs à supporter ce système de façon correcte.

## Spécifications techniques
### Processeur

* Processeur principal: Hitachi HD6417099 (SH-2) à 25 MHz

### Audio

* Puce audio custom
* Stéréo
* 16 canaux
* Lecteur de sample 8-bit

### Affichage

* Nombre maximum de couleurs : 32768 (couleurs sur 15 bit, 555 RVB)
** Taille de palette : 131072 feutres
** Couleurs par tuile (décors / sprites) : 64 (6 bits par pixel) ou 256 (8 bits par pixel), sélectionnables
** Couleurs par tuile (texte en surcouche) : 16 (4 bits par pixel)
* Nombre d'objets : 1024, avec zoom hardware
* Nombre de plans : 4 standards + 1 surcouche Texte 'écran des Scores'
* Caractéristiques des plans : scrolling horizontal et vertical, Linescroll, Linezoom
* Mise en tampon image pour les zooms
* Effets de blending sur les couleurs
* Décompression matérielle de graphisme 6bpp et 8bpp par le biais de DMA
* Définition en pixels : 384 × 224 (mode Standard) ou 496 x 224 (mode 16/9)

### Stockage

* RAM (quantité variable)
* ROMS Flash: 8 x 16 Mo
* Lecteur CD-ROM SCSI Panasonic

## Liste des jeux

| Titre | Développeur | Éditeur | Genre | Année |
| JoJo's Venture | Capcom | Capcom | Combat | 1998 |
| JoJo's Bizarre Adventure: Heritage for the Future | Capcom | Capcom | Combat | 1999 |
| Red Earth | Capcom | Capcom | Combat | 1996 |
| Street Fighter III: New Generation | Capcom | Capcom | Combat | 1997 |
| Street Fighter III: 2nd Impact - Giant Attack | Capcom | Capcom | Combat | 1997 |
| Street Fighter III: 3rd Strike - Fight for the Future | Capcom | Capcom | Combat | 1999 |