Les deux CPS-2 dont il est question appartiennent à Veja, de la team SFFR, achetés il y’a une vingtaine d’année par mes soins (mais pour son compte). Après la dernière SFREU, il me les reconfie cette fois pour une mission précise : leur retirer la pile et y installer une solution de « désuicidage », en l’occurrence une openkey.
La première est un Street Fighter Zero 3, achetée en août 2004 via la boutique de Neomars (j’ai d’ailleurs retrouvé le mail de l’époque : 80 €).
La seconde est un Super Street Fighter II X, rapporté du Japon en août 2007, chez un revendeur arcade d’Akihabara, peut-être G-Front, sans certitude. Le prix, lui, est documenté : le 2X y était affiché 3150 yens, le même tarif que le Super Street Fighter II. En vérifiant sur Internet Archive, on retrouve d’ailleurs le catalogue G-Front d’août 2007 confirmant ce montant, soit une vingtaine d’euros au change de l’époque. Quand on regarde ce que valent ces boards CPS-2 originales de nos jours…
Le fléau du collectionneur CPS-2 : la « suicide battery »
Si l’on doit toucher à ces cartes, c’est à cause d’un problème bien connu de tous les possesseurs de CPS-2 : la fameuse « suicide battery ».
Le CPS-2 est un système chiffré. Pour fonctionner, le CPU a besoin d’une clé de déchiffrement, stockée dans une petite puce de RAM. Or cette RAM est alimentée en permanence par une pile : le jour où la pile faiblit et meurt, la clé s’efface, le processeur ne peut plus déchiffrer le jeu, et la carte devient un presse-papier affichant un écran d’une couleur unie.
Le piège est double. D’abord, c’est une bombe à retardement : toute CPS-2 d’origine mourra un jour si l’on ne fait rien, la seule question étant « quand ». Ensuite, les piles au lithium en fin de vie ont une fâcheuse tendance à couler, et l’électrolyte qui s’en échappe ronge les pistes du PCB, ajoutant les dégâts de corrosion à la perte de la clé. Retirer les piles avant qu’elles ne fuient est donc une mesure préventive que tout possesseur de CPS-2 devrait envisager.
Les solutions possibles en 2026
Bonne nouvelle : depuis que la méthode de déchiffrement du CPS-2 a été rétro-conçue et rendue open-source par la communauté (à partir des travaux documentés sur l’Arcadehacker Blog), une carte « suicidée » n’est plus une fatalité. Plusieurs options existent :
- Les ROM « Phoenix » : des versions déchiffrées des ROM, qui suppriment le besoin de clé (et donc de pile). Efficace, mais on remplace les ROM d’origine par des versions modifiées, ce que beaucoup de collectionneurs préfèrent éviter pour garder la carte la plus originale possible.
- Le Darksoft CPS-2 Multi : un kit qui transforme la B-board en multi-jeux (toute la ludothèque CPS-2 sur carte SD). Génial pour jouer, mais ce n’est pas le but ici : on veut préserver une board de jeu unique dans son état d’origine.
- Les solutions DIY (Arduino Nano, PIC…) : très bon marché, pour les bricoleurs.
- L’InfiniKey / l’OpenKey : un petit PCB qui se soude sur la B-board et réinjecte la clé de déchiffrement à chaque démarrage, sans pile, en conservant les ROM d’origine. C’est le meilleur compromis pour un puriste.
Le choix : l’openkey-cps2
Historiquement, la référence était l’InfiniKey-CPS2 d’Undamned / UD Game Tech: une petite carte légendaire dans la communauté. Problème : elle est devenue difficile à trouver, la production s’étant tarie.
Heureusement, un projet open-source a pris le relais : l’openkey-cps2, créé par jwestfall69. Fonctionnellement identique à l’InfiniKey, il injecte les clés de déchiffrement au démarrage sans dépendre d’une pile, redonne vie aux jeux suicidés sans code modifié, et reste compatible avec tous les jeux CPS-2, toutes régions confondues. Étant open-source, il est fabriqué et vendu par plusieurs enthousiastes.
Je me suis procuré les miens (deux exemplaires, un par board) chez HFSPLAY, un revendeur français, à 10 € pièce, livrés montés, programmés et prêts à souder. Il n’y a donc pas de kit à assembler ni de programmateur à sortir : il reste à poser la carte et à régler les cavaliers selon le jeu. Comme le résume la boutique, il n’y a « absolument aucune différence dans le fonctionnement du jeu entre un openkey-cps2 et une batterie encore active ».
Préparation : identifier les révisions avant de couper le courant
Malgré leurs vingt ans (et plus), les deux CPS-2 de Veja sont encore parfaitement fonctionnels : leurs piles d’origine tiennent toujours, et les cartes démarrent sans problème. On se trouve bien dans une démarche préventive : les désamorcer avant que la pile ne lâche.
L’intérêt de pouvoir encore allumer les cartes, c’est de relever précisément la révision de chaque jeu. C’est une information capitale : l’openkey-cps2 doit être configuré, via ses cavaliers (jumpers), pour charger la bonne table de déchiffrement, et ce code dépend directement du jeu et de sa révision exacte. Une même licence (Street Fighter Zero 3, Super Street Fighter II X) peut exister en plusieurs révisions régionales, chacune avec sa clé.
J’ai donc booté les deux boards pour lire leur écran de version. Le Super Street Fighter II X affiche 940223 JAPAN AM (build du 23 février 1994), et le Street Fighter Zero 3 affiche 980727 JAPAN (build du 27 juillet 1998).

Le Github de Openkey comprend l’intégralité des clés/jumps à paramétrer: https://github.com/jwestfall69/openkey-cps2#installation
En croisant avec les révisions de jeux, on obtient les codes de cavaliers à programmer : 1001 0101 pour le 2X (ssf2xjr1), et 0111 1001 pour le Zero 3 (sfz3jr1). À noter pour ce dernier : les trois révisions japonaises de Zero 3 (980629, 980727 et 980904) partagent le même code donc aucune ambiguïté possible de ce côté.


Anecdote perso: J’ai 2 versions/révisions différentes par rapport à celles de Veja. Mon 2X est un 940311 (plus récent) et mon Zero3 black (A+B boards) est un 980629 (moins récent). Le 2X étant également doté d’un Infinikey (autre modèle plus ancien), installé par Auber il y’a quelques années après un court passage en Phoenix rom.
La configuration des jumpers est différente sur ce modèle.


Concernant ma CPS2 black Zero3, le plus simple a été pour moi de reflasher la SIMM via un CPS3 Darksoft, mais je n’entrerai pas dans les détails ici.
Ouverture des B-boards, inspection et retrait de la pile
Place au démontage. L’état des B-boards est relativement propre, même après 20 ans sans avoir été ouverte, l’inspection des piles peut commencer (Auber me rappelle d’ailleurs qu’il est à l’origine du dernier changement, toujours dans les coups celui là ! )

Bonne nouvelle sur ces deux boards, les piles sont saines, aucune trace d’acide échappé ni de pastille rongée. On peut maintenant retirer la pile avant qu’elle ne cause le moindre dégât. Le but ici et maintenant est de laisser mourir la clé de décryptage de ces jeux en retirant ces piles pendant un certain temps. Ces jeux doivent être « suicidés » avant la mise en place de Openkeys afin d’être sure que la clé de décryptage provient bien de l’Openkeys, et non d’une clé résiduelle encore alimentée par les condos.
Impossible de dater les piles avec certitude à partir de leur étiquette, mais au vu des dates d’acquisition des cartes (2004 pour le Zero 3, 2007 pour le 2X), il s’agit vraisemblablement de piles montées vers lors de la remise en main propre à Veja, certainement aux alentours de 2008.
La vérification des ROM. Tant que la carte est ouverte, un coup d’œil aux étiquettes des EPROM confirme l’identité du jeu, une vérification physique qui vient doubler ce qu’affichait l’écran de version. Sur le 2X, les ROM portent le code SFXJ (Street Fighter X, Japan), sur le Zero 3, c’est SZ3 (et SZ3J sur l’une d’elles), pour Street Fighter Zero 3, version japonaise. Ces codes sont exactement ceux que l’on croise avec la table de correspondance de l’Openkey pour valider le jeu donc tout concorde avec les révisions relevées à l’écran.

La révision de B-board. Dernier point à noter avant d’intervenir : la référence de chaque B-board, sérigraphiée sur le PCB. Le 2X est une CAPCOM 93646B-6, le Zero 3 une CAPCOM 93646B-7 (même famille de carte, à un cran de révision d’écart). Ça tombe bien : pour ces deux révisions, la procédure d’installation de l’Openkey est identique, ce qui simplifie le travail. On peut donc traiter les deux boards de la même manière.

Le retrait physique : Un ptit coup de pince coupante, et un dessoudage propre de la pile, et on a maintenant une B-board retirée de sa bombe à retardement.

Etape concrète maintenant: vérifier que les CPS2 sont bien morts. L’écran de boot doit afficher une couleur unie, qui doit confirmer la perte de la clé de décryptage.

Bingo, les 2 jeux ne bootent plus et affichent un joli écran bleu uni. Pour cette étape, j’ai laissé les jeux dormir sans pile pendant 24 heures pour être sur que les clés soient bien perdues (mais d’après les infos présentes sur le net, une heure doit être suffisante).
L’installation des Openkey
Nos deux boards sont désormais « mortes » et attendent maintenant l’installation des Openkeys. Les cartes commandées chez HFSPLAY arrivent montées et déjà programmées, il ne reste plus qu’à les souder après avoir sélectionné la bonne série de Jumpers pour chaque jeu.
La documentation officielle du projet (le dépôt GitHub de jwestfall69) est précieuse ici, car elle détaille la procédure révision par révision. Et bonne nouvelle : elle confirme que nos deux B-boards, les 93646B-6 (2X) et 93646B-7 (Zero 3), suivent exactement la même procédure d’installation. On pourra donc traiter les deux cartes à l’identique. Autre simplification propre à ces révisions : contrairement aux B-boards plus anciennes, elles ne nécessitent aucun fil d’alimentation (+5V ou masse) à tirer à part, tout passe par le connecteur CN9.
L’installation se résume à trois gestes de soudure :
- Poser l’openkey sur le CN9. On repère le connecteur CN9 sur la B-board, et l’on vient souder les demi-trous métallisés de l’Openkey sur les broches situées sur la face inférieure du CN9 de la carte CPS-2. C’est ce connecteur qui relie l’Openkey au bus de la board pour lui permettre d’injecter la clé au démarrage.
- Ponter le pad JUMP. Un simple point de soudure sur le pad repéré « JUMP » (flèche verte dans la doc). Pour nos révisions 93646B-6 et -7, ce pontage est obligatoire.
- Coder le jeu via les jumpers 1 à 8. C’est l’étape qui indique à l’openkey quelle clé charger. On ponte (ou non) les huit pads pour reproduire le code binaire du jeu, celui qu’on a relevé en préparation. Pour rappel : 1001 0101 pour le 2X, 0111 1001 pour le Zero 3.
Les Openkey peuvent maintenant être « programmées » et soudées sur les 2 Boards sur leurs connecteurs CN9.

La résurrection : mise sous tension
Une fois les openkey soudées sur les deux boards via le connecteur CN9, pad JUMP et jumpers de jeu codés selon les tables, les jeux peuvent être remis sous tension.
Les deux cartes bootent normalement. Fini l’écran bleu de la mort, les logos Capcom réapparaissent, les jeux se lancent avec leurs intro. La démonstration est sans appel : puisque les boards étaient bel et bien suicidées (on l’avait vérifié, écran bleu à l’appui), le fait qu’elles redémarrent prouve que l’Openkey réinjecte correctement la clé de déchiffrement à chaque allumage. Aucune différence de comportement par rapport à une pile d’origine.

Deux boards ressuscitées, désormais affranchies de leur pile, et donc de l’épée de Damoclès qu’était la suicide battery. Elles pourront rester éteintes des années sans risque : à chaque démarrage, l’Openkey fera son office.


























