Converts CPS-1¶
Sur CPS-1, la conversion est plus accessible que sur CPS-2 (pas de chiffrement du programme), mais tout se joue sur un custom : le CPS-B-21, qui contient la configuration graphique propre au jeu (144 registres, sauvegardés par pile sur les cartes concernées). Convertir = bonnes ROM + bonne config CPS-B-21.
| Champ | Valeur |
|---|---|
| Plateforme | Capcom CPS-1 (+ CPS-1.5 / Dash) |
| Type | reprog EPROM + configuration du CPS-B-21 |
| Difficulté | 🟡 (EPROM + config custom / éventuel mod C-board) |
| Suicide ? | Non sur CPS-1 standard ; oui sur Dash/Kabuki (Z80 son chiffré) |
L'architecture¶
| Carte | Rôle |
|---|---|
| A-board | commune : 68000, Z80, JAMMA, son |
| B-board | ROM programme + graphismes du jeu |
| C-board | porte le custom CPS-B-21 (et la pile sur les révisions concernées) |
Changer de jeu = reprogrammer les ROM de la B-board et faire correspondre la config du CPS-B-21 (sur la C-board).
Le cœur du sujet : le CPS-B-21¶
Le CPS-B-21 gère priorités de plans, palettes, starfield, paramètres sprites via 144 registres (transférés en série). Deux mondes :
| Type de C-board | Config CPS-B-21 | Conséquence |
|---|---|---|
90631C-5 (battery-backed, ex. 90631C-5) |
programmée en mémoire interne sauvegardée par pile | perte de pile = perte de la config = jeu HS |
| 92631C-6 (battery-less) | logique par défaut hardwirée | les jeux « battery-less » n'utilisent pas de registres custom |
→ Pour convertir vers un jeu qui exige une config custom, il faut soit une C-board battery-backed correctement programmée, soit reprogrammer le CPS-B-21, soit utiliser un outil de remplacement (voir openkey ci-dessous).
La solution moderne : OpenKey-CPS1 (jwestfall69)¶
Un PCB open-source qui s'intercale entre la B-board et la C-board et reprogramme le CPS-B-21 à la volée — remplace la pile et permet de choisir le jeu sans échanger de puce.
- Sélection du jeu par switch 5 positions (ou solder jumpers pour figer).
- Chaque combinaison binaire = un jeu / une variante B-XX. Exemples réels :
| Code (5 bits) | Jeu / config |
|---|---|
00000 |
Captain Commando |
00010 |
Knights of the Round |
00111 |
Cadillacs & Dinosaurs |
01100 |
variante puce B-01 |
→ Table complète des codes OpenKey par jeu / B-XX
Mod C-board si la carte a été « bloquée »
Certaines C-boards ont été modifiées pour empêcher la reprogrammation du CPS-B-21 (pins 45/46 tirés à +5 V). Pour rétablir l'état programmable : retirer le fil 45/46→+5 V et relier par une bille de soudure les broches 45, 46 et 47 (GND). Sur une conversion battery-less classique, on coupe la piste de masse des broches 42 et 44 du CPS-B-21 et on pose deux résistances CMS 1 kΩ (R1/R2) — les pins 45/46 étant déjà tirés haut. (Matériel : microcontrôleur ATtiny404, connecteurs 2×20.)
Les ROM¶
- CPS-1 utilise des EPROM standard pour programme, graphismes et son — reprogrammer aux tailles du jeu cible, en respectant le brochage des sockets (adaptateurs au besoin).
- Partir d'une B-board donneuse compatible en tailles simplifie le travail.
EPROM programme (B-board), jeu par jeu¶
Le programme 68000 est sur la B-board (avec le CPS-B-21 et les PAL). EPROM classique
27C010 (128 Ko), jusqu'à 8 positions ; les jeux tardifs / CPS-1.5 passent en
27C040 / 27C4096 (512 Ko). Le PAL BPRG1 des B-board récentes autorise l'espace ROM
programme élargi. Programme 16 bits (68000) → chargé en pair/impair (mots).
(Architecture carte & pannes : PCB CPS-1. Source : MAME capcom/cps1.cpp.)
Correspondance : 128 Ko → 27C010 · 512 Ko → 27C040 (ou 27C4096, brochage 16 bits mask sur B-board d'origine).
| Jeu | EPROM programme |
|---|---|
| Ghouls'n Ghosts | 4× 27C010 + 1× 27C040 |
| Strider | 4× 27C010 + 1× 27C040 |
| Final Fight | 4× 27C010 + 1× 27C040 |
| Magic Sword | 4× 27C010 + 1× 27C040 |
| Carrier Air Wing | 4× 27C010 + 1× 27C040 |
| Mercs (Senjō no Ōkami II) | 4× 27C010 + 1× 27C040 |
| 1941 | 4× 27C010 + 1× 27C040 |
| Mega Twins | 4× 27C010 + 1× 27C040 |
| Street Fighter II | 8× 27C010 |
| Three Wonders | 8× 27C010 |
| The King of Dragons | 8× 27C010 |
| Varth | 8× 27C010 |
| Captain Commando | 2× 27C040 + 2× 27C010 |
| Knights of the Round | 2× 27C040 |
| Warriors of Fate | 2× 27C040 |
| SF2: Champion Edition | 3× 27C040 |
| SF2: Hyper Fighting | 3× 27C040 |
| Cadillacs & Dinosaurs | 3× 27C040 |
| The Punisher | 8× 27C010 + 1× 27C040 |
| Saturday Night Slam Masters | 3× 27C040 + 4× 27C010 |
Ce que ça t'apprend
Pour regraver un programme grillé ou convertir : identifie la densité par position (voir la sérigraphie de la B-board). Les jeux Q-Sound / CPS-1.5 (Dinosaurs, Punisher, Slam Masters, Warriors of Fate) ont en plus la couche Kabuki — voir ci-dessous.
Cas Dash / CPS-1.5 (Kabuki)¶
Les jeux Dash (Cadillacs & Dinosaurs, Punisher, Slam Masters, Warriors of Fate…) ont un Z80 son « Kabuki » chiffré avec clé à pile → suicide. Pour ceux-là :
- Phoenix ROM (déchiffrées) = affranchit de la pile, ou
- re-key / remplacement de pile.
Voir CPS-1.
Procédure (résumé)¶
- Identifier la B-board donneuse et la C-board (battery-backed vs battery-less).
- Programmer les EPROM du jeu cible (tes dumps), aux bonnes tailles/pinout.
- Configurer le CPS-B-21 : bonne C-board programmée, ou OpenKey réglé sur le code du jeu, ou reprogrammation.
- (Dash/Kabuki) gérer la clé son (phoenix / re-key).
- Tester couleurs, priorités de plans, sprites, son.
Réglages (DIP)¶
Le CPS-1 se configure par trois bancs de DIP sur l'A-board (config physique, pas soft-dip) :
| Banc | Fonction générale |
|---|---|
| DIPSW A | monnayage (tarif crédits) |
| DIPSW B | difficulté, bonus/extend |
| DIPSW C | vies, son en démo, écran retourné (flip), free play, test/service |
Après conversion, régler selon le jeu cible (les positions n'ont pas le même sens d'un jeu à l'autre) — cf. convention DIP générale. Départ sûr : tout sur OFF, activer le test (DIPSW C) pour vérifier I/O et écran, puis ajuster.
Avant / après¶
Une B-board d'un jeu commun devient le jeu cible (image + son). Si les priorités/couleurs sont fausses → la config CPS-B-21 ne correspond pas (mauvais code / mauvaise C-board).
Alternative : le multi¶
Le multi CPS-1 (Darksoft) met tous les jeux CPS-1 sur une B-board SD et gère la config — voir la page multi.
Outils archivés chez nous
Source open-source archivée dans le dépôt (les repos disparaissent) :
openkey-cps1.tar.gz (firmware +
design KiCad du PCB) · README.
Où acheter / se documenter¶
- OpenKey-CPS1 (open-source, jwestfall69) — https://github.com/jwestfall69/openkey-cps1
- Guides détaillés & tables : Arcade-Projects — https://www.arcade-projects.com/
- Fond technique CPS-B-21 : ArcadeHacker (Eduardo Cruz) — http://arcadehacker.blogspot.com/2015/06/capcom-cps1-part-3.html
- EPROM / GAL / programmateur : distributeurs électroniques.
Sources & attribution¶
- jwestfall69 — openkey-cps1 (config CPS-B-21, codes jeux, mod C-board) — https://github.com/jwestfall69/openkey-cps1
- ArcadeHacker — Capcom CPS1 Part 3 (144 registres, battery-backed) — http://arcadehacker.blogspot.com/2015/06/capcom-cps1-part-3.html
- Page interne : CPS-1
Relecture & corrections
À quoi sert cet espace
Une valeur fausse, une procédure dépassée, une référence de puce qui ne colle pas à ta carte ? Signale-le ici, avec ce que tu as constaté (modèle, révision de carte, numéro de série, mesure). Chaque signalement est recoupé avec une source avant toute modification — une correction invérifiable est publiée en tant que « signalé par …, non recoupé » plutôt qu'appliquée en silence.
La lecture est ouverte à tous ; écrire demande une connexion Discord. Les signalements des relecteurs déclarés du wiki sont traités en priorité ; les autres sont lus aussi, mais passent par un humain avant toute modification.