Aller au contenu

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 27C010 + 1× 27C040
Strider 27C010 + 1× 27C040
Final Fight 27C010 + 1× 27C040
Magic Sword 27C010 + 1× 27C040
Carrier Air Wing 27C010 + 1× 27C040
Mercs (Senjō no Ōkami II) 27C010 + 1× 27C040
1941 27C010 + 1× 27C040
Mega Twins 27C010 + 1× 27C040
Street Fighter II 27C010
Three Wonders 27C010
The King of Dragons 27C010
Varth 27C010
Captain Commando 27C040 + 2× 27C010
Knights of the Round 27C040
Warriors of Fate 27C040
SF2: Champion Edition 27C040
SF2: Hyper Fighting 27C040
Cadillacs & Dinosaurs 27C040
The Punisher 27C010 + 1× 27C040
Saturday Night Slam Masters 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é à pilesuicide. 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é)

  1. Identifier la B-board donneuse et la C-board (battery-backed vs battery-less).
  2. Programmer les EPROM du jeu cible (tes dumps), aux bonnes tailles/pinout.
  3. Configurer le CPS-B-21 : bonne C-board programmée, ou OpenKey réglé sur le code du jeu, ou reprogrammation.
  4. (Dash/Kabuki) gérer la clé son (phoenix / re-key).
  5. 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

Sources & attribution

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.