System 16/18/24 : FD1094 / FD1089 (désuicide & conversion)¶
Beaucoup de jeux Sega System 16B/18/24 (et Outrun/X-Board) tournent sur un CPU de sécurité : un 68000 chiffré. Le FD1094 garde sa clé dans une SRAM interne sauvegardée par pile → pile morte = jeu mort (suicide). Bonne nouvelle : la sécurité a été entièrement rétro-conçue (MAME), on peut restaurer une carte, remplacer la pile sans perdre la clé, ou convertir un FD1094 vers n'importe quel jeu.
| Champ | Valeur |
|---|---|
| Plateformes | Sega System 16B / 18 / 24, Outrun, X-Board… |
| Puces | FD1094 (68000 + clé SRAM) · FD1089 A/B (variante) |
| Spécifique | System 18 ajoute un MCU 8751 → voir Converts System 18 |
| Difficulté | 🟡 (remplacement pile) → 🟠 (re-key Arduino / désuicide ROM) |
| Suicide ? | Oui — clé en SRAM interne à pile |
Comment marche le FD1094¶
- C'est un module de sécurité Hitachi : un cœur 68000 + une SRAM interne d'environ 8 Ko contenant la clé de déchiffrement, sauvegardée par pile.
- Le programme est chiffré au niveau des opcodes : l'état de déchiffrement dépend de l'adresse courante (ce n'est pas un simple XOR global).
- Retirer la pile / la laisser mourir efface la SRAM → le 68000 ne déchiffre plus rien → écran mort.
- Le FD1089 est une variante ; attention : ses déclinaisons A et B ne sont pas interchangeables (une clé « A » ne va que sur du matériel « A »).
Trois voies (du plus « origine » au plus « pratique »)¶
1. Remplacer la pile sans perdre la clé (préservation)¶
Tant que la carte boote encore, on peut remplacer la pile à chaud : câbler la nouvelle pile en parallèle (piggyback) avant de retirer l'ancienne, pour que la SRAM ne perde jamais l'alimentation. Une pile neuve tient 20–30 ans.
Ne jamais couper l'alim SRAM
Si la SRAM perd l'alimentation une seule fraction de seconde pendant l'opération, la clé est perdue. Mesurer, préparer, souder la nouvelle pile en parallèle d'abord.
2. Re-key : réécrire la clé dans un FD1094 mort (la méthode « propre »)¶
Puisque les clés sont connues (extraites par MAME), on peut reprogrammer la clé dans un FD1094 suicidé → la carte redevient un original chiffré, non modifié. C'est la préservation idéale.
Matériel (guide ArcadeHacker) :
- Arduino Mega 2560 Rev 3
- support 64 broches (ZIF ou tulipe)
- un shield PCB dédié (fichiers dispo, fab PCBway) + connecteurs
Procédure :
- Monter le shield (headers + support 64 broches).
- Charger le firmware FD1094/FD1089 dans l'IDE Arduino.
- Sélectionner le jeu cible dans le code, compiler, téléverser.
- Insérer le module de sécurité dans le support.
- Commande
w= écrire les clés. - Commande
v= vérifier.
FD1089 : la vérification est destructive
Le v (verify) est sûr sur FD1094 mais efface les données sur FD1089.
Sur FD1089, ne pas vérifier.
📋 Quelle clé pour quel jeu ? → Table des clés System 16 par jeu (138 sets, n° 317-xxxx par jeu, transcrit de MAME).
Un FD1094 se convertit vers N'IMPORTE QUEL jeu
Un FD1094 peut être reprogrammé pour n'importe quel jeu (pas besoin que l'étiquette corresponde) → c'est aussi un moyen de conversion : re-key le module sur le jeu voulu + mettre les ROM chiffrées de ce jeu. Le FD1089, lui, est limité par sa variante A/B.
3. Désuicide par ROM déchiffrées + 68000 nu (le plus simple)¶
On remplace les ROM programme chiffrées par leurs versions déchiffrées (issues des dumps MAME, identiques aux ROM d'origine une fois déchiffrées) et on remplace le FD1094 par un 68000 standard. La carte n'a plus de sécurité du tout — plus de pile, plus de suicide.
- Avantage : définitif, simple, pas d'Arduino.
- Inconvénient : la carte n'est plus « originale » (68000 nu + EPROM déchiffrées).
- Des kits prêts à l'emploi existent (voir SEGA Resurrection) : ROM déchiffrées vraies (basées MAME) + adaptateur 68000.
Convertir vers un autre jeu (résumé)¶
- Voie chiffrée : re-key le FD1094 sur le jeu cible (Arduino) + ROM chiffrées du jeu cible. Reste un montage « origine ».
- Voie déchiffrée : 68000 nu + ROM déchiffrées du jeu cible. Plus simple, non-origine.
- Vérifier au passage les différences de carte (System 16A vs 16B, customs, format des ROM) — voir System 16.
Les 4 types de ROM board (System 16B) — un jeu est lié à sa carte¶
Sur System 16B, le jeu vit sur une ROM board enfichée sur la carte mère. Chaque jeu
est lié à un type de ROM board : convertir = échanger la ROM board + la puce de
protection. On ne peut généralement pas transférer un jeu d'un type de board à un
autre (câblage/banking différents). (Source : MAME sega/segas16b.cpp, notes Guru.)
(Architecture de la carte & pannes : PCB Sega System 16.)
| ROM board | EPROM programme | Reconnaître | Exemples |
|---|---|---|---|
| 171-5358 | A1-A6 en 27C256 (64K) ou A1/A2/A4/A5 en 27C512 | ROM 32K/64K seules, pas de tile banking | Shinobi, Passing Shot, Sonic Boom, Alien Syndrome, Dunk Shot, SDI, Time Scanner, Tough Turf |
| 171-5521 | A5/A7 (ou A5-A8) en 27C010 (128K) | = 171-5704 à un jumper près | Altered Beast, Dynamite Dux, Heavyweight Champ, Ryu Kyu, Tetris |
| 171-5704 | A5-A8 en 27C010 | registre tile banking en région #2 ($xx0001/3) | Aurail, Bay Route, Cotton, Flash Point, Wonder Boy III, Wrestle War, Riot City |
| 171-5797 | A1 & A2 seules ≥ 128K (27C010/020) | tile banking région #1 ($xx2001/3), 2 ROM programme | ESWAT, Golden Axe, MVP, Toryumon |
Quelle EPROM programme, jeu par jeu ?¶
Correspondance taille → EPROM : 32 Ko → 27C256 · 64 Ko → 27C512 · 128 Ko → 27C010 · 256 Ko → 27C020. La protection (type + n° 317-xxxx exact) est sur la table des clés System 16 ; ici on donne la carte + les sockets programme. (Set principal ; les révisions régionales varient — voir la page clés.)
| Jeu | ROM board | Sockets programme (EPROM) | Protection |
|---|---|---|---|
| Ace Attacker | 171-5358 | A1/A2/A4/A5 = 27C512 | FD1089B |
| Alien Syndrome | 171-5358 | A1-A6 = 27C256 | — (aliensyn7 = MC-8123) |
| Altered Beast | 171-5521 | A5/A7 = 27C010 | 8751 ou MC-8123 selon set |
| Aurail | 171-5704 | A5-A8 = 27C010 | — (non protégé) |
| Bay Route | 171-5704 | A5-A8 = 27C010 | FD1094 |
| Bullet | 171-5358 | A1-A6 = 27C256 | FD1094 |
| Cotton | 171-5704 | A5-A8 = 27C010 | FD1094 |
| Dunk Shot | 171-5358 | A1-A6 = 27C256 | FD1089 |
| Dynamite Dux | 171-5521 | A5-A8 = 27C010 | — (ddux1 = 8751) |
| ESWAT | 171-5797 | A1/A2 = 27C020 | FD1094 |
| Excite League | 171-5358 | A1-A6 = 27C512 | FD1094 |
| Flash Point | 171-5704 | A5/A7 = 27C512 | FD1094 (fpoint1) |
| Golden Axe | 171-5797 | IC1/IC2 = 27C020 | 8751 (goldnaxe) |
| Heavyweight Champ | 171-5521 | A5/A7 = 27C010 | — (non protégé) |
| MVP | 171-5797 | A1/A2 = 27C020 | FD1094 |
| Passing Shot | 171-5358 | A1/A4 = 27C512 | FD1094 |
| Riot City | 171-5704 | A5-A8 = 27C010 | — |
| Ryu Kyu | 171-5521 | A5/A7 = 27C512 | FD1094 |
| SDI | 171-5358 | A1-A6 = 27C256 | FD1089 |
| Shinobi | 171-5358 | A1/A2/A4/A5 = 27C512 | — (shinobi3/4 = MC-8123) |
| Sonic Boom | 171-5358 | A1/A2/A4/A5 = 27C512 | FD1094 |
| Super League | 171-5358 | A1-A6 = 27C512 | FD1094 |
| Tetris | 171-5521 | A5/A7 = 27C010 | FD1094 (317-0092) |
| Time Scanner | 171-5358 | A1-A6 = 27C256 | — |
| Toryumon | 171-5797 | A1/A2 = 27C010 | — |
| Tough Turf | 171-5358 | A5/A7 = 27C010 | 8751 |
| Wonder Boy III | 171-5704 | A5/A7 = 27C010 | 8751 |
| Wrestle War | 171-5704 | A5-A8 = 27C010 | 8751 (ou FD1094 selon set) |
System 16A (cartes 171-5307/5304, plus anciennes)
Les jeux System 16A (Shinobi 16A, Fantasy Zone, Alex Kidd, Quartet, SDI 16A,
Time Scanner, Wonder Boy III 16A, Tetris 16A, Passing Shot 16A…) utilisent une famille
de ROM board antérieure, EPROM programme en 27C256/27C512. Protection : FD1089 /
8751 selon le jeu (Bodyslam, Quartet, Fantasy Zone rev = 8751) → voir la table des
clés. Détail source : MAME sega/segas16a.cpp.
Avant / après¶
- Re-key : une carte suicidée redevient un original chiffré fonctionnel.
- Désuicide ROM : la carte tourne sans pile, définitivement (68000 nu).
Matériel / où se documenter¶
- Guide programmation (re-key Arduino) : ArcadeHacker — http://arcadehacker.blogspot.com/2018/12/sega-system16-security-programming-guide.html
- Kits ROM déchiffrées + 68000 : SEGA Resurrection — http://www.segaresurrection.com/
- Fond & liste des puces/jeux : Arcade Otaku Wiki / Sega Retro — https://segaretro.org/FD1094
- Arduino Mega 2560, support 64 broches ZIF, PCB shield (PCBway).
Sources & attribution¶
- ArcadeHacker (Eduardo Cruz) — Sega System16/18/24/X Security Programming Guide
(Arduino Mega 2560,
w/v, FD1094 repurposable, FD1089 A/B, verify destructif) — http://arcadehacker.blogspot.com/2018/12/sega-system16-security-programming-guide.html - junkerhq / Arcade Otaku — FD1094 and FD1089 suicide battery (fonctionnement, remplacement pile, désuicide ROM MAME) — https://www.junkerhq.net/xrgb/index.php/FD1094_and_FD1089_suicide_battery
- SEGA Resurrection — kits de réparation FD1094 — http://www.segaresurrection.com/
- Page interne : System 16
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.