Le CPS (CP System) est un système de jeu vidéo pour borne d'arcade à la norme JAMMA et créé par la société japonaise Capcom en 1988 avec la sortie du jeu Forgotten Worlds. Le système est composé de 3 cartes, une carte mère contenant le système (A-board), une carte fille contenant les informations du jeu (B-board) et une carte fille comprenant les protections (C-board). Le CP System est basé sur l’architecture du X68000 de Sharp. Plusieurs jeux notables des années 1990 sortent sur CP System, tels Ghouls'n Ghosts, Strider, Final fight, 1941 ou Willow. Le système est plus particulièrement connu pour avoir accueilli le jeu de combat Street Fighter 2.
Description
Le CP System est plus communément appelé CPS, mais également CPS1 ou CPS-1 depuis la création du CPS2 (et du CPS3). Créé sur la base du Sharp X68000[1], c'est un système 16 bits (Motorola 68000) sorti à une époque où l'arcade était en plein essor.
À l’exception de Forgotten Worlds, premier titre sur ce support, qui n'était constitué que de 2 PCB (motherboard et rom-board), chaque jeu sorti par la suite se compose de trois PCB : une motherboard, une rom-board, et une C-board qui gère une partie de l'affichage et constitue aussi pour certains jeux le système de protection et la possibilité d'étendre le nombre de boutons[2].
Le son est géré par un Zilog Z80, couplé à des puces Yamaha YM2151 et Oki 6295. Ce système est donc, à sa sortie, très en avance sur les bornes d'arcade de son époque. Mais la gloire fut de courte durée, car en 1990, la Neo-Geo MVS fit son apparition dans le monde de l'arcade.
Capcom tenta donc de suivre SNK et proposa en 1994 une version salon appelée CP System Changer (Capcom Power System Changer)[3],[4], identique techniquement au CPS, dans le but de concurrencer directement le système Neo-Geo AES. Techniquement, c'est un système CPS1 standard ayant intégré un supergun, doté de deux joysticks de série et une connectique TV comme pour une simple console de jeux vidéo[5]. Il n'y a eu que 10 jeux publiés sur ce format.
Parallèlement au CPS, Capcom travaille dès 1992 sur le CPS2, son remplaçant (qui sortira un an plus tard). Malgré tout, le système CPS1 perdurera jusqu'en 1995.
En , Capcom se décide à sortir une révision du CPS1, le CP System [Dash], plus communément appelé CPS QSound (CPS1 Q-Sound ou CPS-1 Q-Sound). Le système fut capable de recréer un son stéréo avec cette fameuse puce QSound. Cette révision du CPS, est plus proche du CPS2 (dans le design) que les antiques PCB[6],[7]. Il permettra à quelques titres de bénéficier du son stéréo et d'un nouveau système de sécurité.
Le CP System [Dash] est composé d'un assemblage de quatre PCBs qui sont contenues dans un boîtier en plastique gris. L'ensemble constitue une sorte de cartouche, d'une taille assez imposante. Pour lutter contre le piratage, une « batterie suicide » a été intégrée au système, elle fournit de la puissance et fait fonctionner de la RAM qui contient une configuration programmée manuellement (voir la section protection plus-bas. Si la tension de la pile tombe en dessous de + 2 V, la configuration volatile des registres matériels d'affichage du système disparait de la RAM. Le CPU essayant d'exécuter des routines d'affichage graphique contenant les dits registres matériels disparus, le jeu devient inutilisable, rendant nécessaire (à l'époque) l'envoi de la carte en réparation chez Capcom, aux propres frais du propriétaire du jeu. Contrairement au CPS2, le CPS QSound comporte un Z80 modèle « Kabuki » chiffré en tant que processeur audio. Le CPS1 et le CPS1 Dash (ou QSOUND) n'embarque aucun cryptage sur les roms 68000, le cryptage est propre au CPS2 sur les roms 68000.
Ce système restera un énorme succès pour Capcom, qui inscrit une fois de plus son nom dans l'histoire. On retiendra de ce matériel des jeux dantesques qui ont démontré que Capcom était passé maitre en matière d'action sur Arcade. Des bijoux tels que Strider, Cadillacs and Dinosaurs, The Punisher ou encore Final Fight verront le jour. Mais c'est également entre 1991 et 1992, avec les Street Fighter II, que le CPS1 va devenir l'un des systèmes d'arcade les plus répandus au monde.
Toutefois, même si ce système a été ré-utilisé dans le CPS2 et CPS3, il s'agit ici d'une protection assez rudimentaire. En effet, en modifiant les ROMs de programmes (qui ne sont pas chiffrés contrairement aux successeurs du CPS1), on peut facilement jouer avec le jeu original sans batterie. Pour cela, il suffit de programmer des EEPROMs avec le code des ROMs de programmes modifiés et faire une petite modification physique sur la carte du jeu, comme faire un pont avec un fil entre deux points précis de la carte.
Cette protection repose sur un aspect propre au matériel des machines d'arcade en général, à savoir que les ingénieurs qui les concevaient créaient les puces propriétaires, et leur ajoutaient un maximum d'aptitudes dites 'matérielles' pour reprendre le jargon utilisé à l'époque dans les magazines qui traitaient de ces machines. Ici sur le CPS-1, c'est la puce située sur ou en dessous de la C-board qui est le cœur de la dite protection. C'est le PPU ou autrement dit le 'Peripheral Processing Unit', qui possède son équivalent sur X68000 (la source du CPS-1), qui est doté de 2 ko de RAM interne, qui contient non pas une clé de décryptage, mais une configuration 'manuelle' stockée dans celle-ci des registres matériels de la plateforme CPS-1.
Si on compare avec un amiga, c'est comme si les fonctions d'affichage graphique de l'amiga étaient maintenues en vie dans l'amiga avec une pile, donc quand la pile meurt, vous perdez l'accès aux registres matériels, et l'affichage est impossible. C'est dans son fonctionnement une sorte de 'Copylock' matériel, qui lie le code du jeu à la PCB CPS-1 qui le stocke. Les adresses de registres matériels du CPS-1 changent très fréquemment sur les jeux, ceci bien-sûr afin de freiner le piratage.
L'affichage graphique ne se fait plus, mais le code du jeu lui fonctionne toujours, le 68000 de la carte est simplement halté par la demande de l'affichage d'un des trois plans (layers) qui tombe dans le vide puisque le 68000 tente d'exécuter une opération sur un registre qui « n'existe pas » ou plus.
Conséquence sur les salles d'arcade
Tout ceci a bien sûr permis l'arrivée en masse de bootlegs (jeux pirates) dans les salles d'arcades, chose que n'ont jamais connu (durant leur période d'exploitation en salle) les systèmes CPS2 et CPS3.
Des années plus tard, Nicola Salmoria (développeur participant au projet de MAME) a contribué à aider les gens qui avaient achetés des jeux CPS1 protégés dont la batterie avait rendu l'âme et ce, en modifiant le code des ROMs de programmes et en donnant des indications techniques. Cela a permis à bien des possesseurs de jeux d'arcade CPS1 (principalement des fans d'arcades) de rejouer à leurs jeux sans être obligés de devoir changer la batterie avant qu'elle ne meure (environ 5 ans pour une pile de CPS1)[8],[9].Fin 2014, une nouvelle méthode permettant de reprogrammer le processeur Z80 Kabuki[10] (gérant le système de protection des jeux) et ce, sans aucune modification matérielle, est mise en place. Cette étude permet également une meilleure compréhension de la protection du système CPS-1[11]. Début 2015, la protection du PPU CPS-B-XX[12] (dernière révision: 21) est également analysée[13] de façon à connaitre précisément et de manière détaillée les sécurités dont disposait le système (et toujours sans avoir besoin de modifier le matériel ou le code interne des ROMs) dans un but de préservation du matériel.
Le [14], une méthode permettant de faire revivre les jeux CPS-1 (et CPS Qsound) morts est prête et fonctionnelle, elle ne modifie en rien les roms ce qui fait que le jeu reste donc 100% original et fonctionnel (et possède toujours la protection "batterie suicide"), si le jeu "meurt" à cause de la batterie il pourra donc ressusciter sans aucun problème (un simple changement de batterie s'imposera alors), cette méthode est appelée "CPS1 Desuicider"[15]. Les travaux d'Eduardo Cruz (ArcadeHacker) permettront, en 2019, à un certain nombre de développeurs de créer et/ou de vendre des solutions matériels permettant à tous de faire revivre un jeu, la plus connue se nomme "InfiniKey CPS1 De-Suicide Board" pour les jeux CPS-1 et "InfiniKey-Kabuki" pour les jeux CPS QSound (aussi appelé Dash ou CPS 1.5).
Spécifications techniques
Processeur
Motorola68000 cadencé à 10 MHz (12 MHz à partir de 1991 et la sortie de Street Fighter 2)