Le format propriétaire de Bandai, et ce qu'était vraiment le « Cell parfait à 99990 »
日本語 | English | Français | Español | Italiano | 한국어
On scanne tous les produits de la maison et les statistiques qui reviennent sont uniformément minables. La plupart de ceux qui ont joué avec un Datach s'en souviennent ainsi. Les pages 1 à 3 de ce site expliquent pourquoi, du côté des codes-barres du commerce.
Mais donnez-lui certaines cartes Bandai authentiques et apparaissent des nombres qu'aucun produit du commerce ne peut atteindre. Cell parfait avec PV, BP et DP affichant tous 99990 — du moins, c'est ce que raconte l'histoire.
Tout est parti d'une information de Tareichi (@tareichi001) : la carte Dr. Wily de Super Barcode Wars: Rockman 5 donne PV, BP et DP tous à 99990. Pas une carte Dragon Ball du tout — une carte Rockman (Mega Man), de la série de Capcom. Ce qui se passait réellement est le sujet de cette page.
En bref : les codes JAN/EAN du commerce ne sont pas la seule chose que le Datach sait lire. Il existe un second format, conçu pour les cartes de Bandai, traité selon des règles entièrement différentes.
La distinction tient au nombre de barres lues. Un JAN du commerce (13 chiffres) compte 30 barres, un EAN-8 (8 chiffres) en compte 22, et le format Bandai en compte 27. Le test du jeu est plus lâche que cela : 27 barres ou plus, mais pas les 30 d'un JAN, et il considère la lecture comme le format propriétaire et la confie à un décodeur dédié. Tout le calcul des codes-barres du commerce est court-circuité.
Ce format est imprimé sur les produits-cartes Bandai comme Super Barcode Wars, et il a été conçu pour ces jeux.
D'abord la révélation : 99990 n'est pas la valeur réellement stockée.
Les statistiques sont affichées en prenant la valeur interne sur quatre chiffres et en lui accolant un zéro (interne 9950 affiche 99500 ; interne 4775 affiche 47750). Dès que la valeur interne atteint 10000, elle ne tient plus sur quatre chiffres. La routine de conversion détecte alors le dépassement et remplit de 9 tous les chiffres affichés. L'écran indique donc toujours 99990.
Interne 10000 et interne 65535 affichent tous deux 99990. Avec les codes-barres du commerce, le plafond interne est 9950 (affiché 99500), si bien que cette saturation ne se déclenche jamais. Seul le format propriétaire atteint cette plage.
Une séquence de barres reconstituée à partir de photographies publiques de la carte Dr. Wily correspondait à l'un des candidats que ce site avait dérivés à l'avance de la façon dont le jeu calcule le résultat. En injectant ce signal dans le chemin de lecture du jeu lui-même, on obtient Cell parfait, PV/BP/DP affichant 99990, technique de niveau 1.
Cela dit, il n'est pas vérifié que la reconstitution photographique corresponde exactement à la carte physique, et la carte physique n'a pas été lue avec un vrai lecteur optique. Les affirmations de cette page restent dans ces limites — voir « Ce qui n'a pas été vérifié » plus bas.
Un code-barres du commerce, c'est « lire des chiffres dans les rayures, puis calculer avec ces chiffres ». Ce format n'a rien à voir. C'est la largeur de chaque barre qui est l'information.
Seules deux largeurs sont utilisées ; appelons-les fine et large. Sur les 27 barres, les cinq premières sont toujours larges, ce qui marque le début. Les 22 restantes portent 22 bits, extraits d'une façon inhabituelle : si la largeur d'une barre diffère de la précédente, le bit vaut 1 ; si elle est identique, le bit vaut 0. Ce qui est lu, c'est le changement, non la largeur elle-même : tant qu'on distingue fine et large, le nombre de millimètres d'une barre importe peu.
Les 22 bits sont ensuite découpés en sept champs de largeur fixe.
| Champ | Bits | Rôle |
|---|---|---|
| 1 | 4 | Nature. Décide si la lecture donne un personnage, un objet ou une erreur — et, si c'est un personnage, de quelle lignée |
| 2 | 2 | Rôle inconnu. Également exclu du code de contrôle |
| 3 | 4 | Valeur, partie haute |
| 4 | 4 | Valeur, partie basse |
| 5 | 3 | Coefficient DP |
| 6 | 3 | Coefficient BP |
| 7 | 2 | Code de contrôle |
Le code de contrôle est le nombre total de bits à 1 dans tous les champs sauf le champ 2, tronqué à ses deux bits de poids faible. Une divergence donne une erreur. Mais deux bits, cela laisse passer beaucoup de choses : certaines erreurs de lecture sont attrapées, tandis qu'une lecture franchement fautive passe dès que la valeur de contrôle tombe juste.
Les champs 3 et 4 contiennent chacun 0 à 15. Si les deux valent 9 ou moins, la valeur est simplement (haut × 10 + bas) × 10. Mais si l'un des deux vaut 10 ou plus, ce champ cesse d'être un chiffre et agit comme une instruction de multiplication, basculant vers une autre formule — quand le champ bas vaut 12 ou plus, par exemple, on utilise (haut × 10 + bas − 12) × 100. Le résultat est doublé, et cela devient les PV de la carte.
Le BP et le DP s'obtiennent en multipliant les PV par un coefficient, indiqué séparément dans les champs 5 et 6. Chaque champ prend l'une de huit valeurs. Cinq d'entre elles sont des multiplicateurs de 0,1 à 0,5 — mais les trois autres signifient « prendre la même valeur que les PV ». Réglez les deux champs ainsi et PV, BP et DP sortent identiques. C'est de là que vient le triplé identique.
Avec les codes-barres du commerce, tout ce qui passe par la génération normale voit son BP et son DP divisés par deux (voir page 3). La seule exception est le code spécial inscrit dans le jeu, qui court-circuite entièrement le calcul. Passer par la génération normale et recevoir malgré tout la valeur des PV sans division, c'est ce que permet le format propriétaire.
En décodant la séquence de barres reconstituée selon la procédure ci-dessus, on obtient ces sept champs.
| Champ | Valeur | Signification |
|---|---|---|
| 1 Nature | 14 | Lignée Freezer / Cell |
| 2 Inconnu | 3 | — |
| 3 Valeur, haut | 5 | (5 × 10 + 12 − 12) × 100 = 5000 |
| 4 Valeur, bas | 12 | |
| 5 Coefficient DP | 6 | Prendre la même valeur que les PV |
| 6 Coefficient BP | 6 | Prendre la même valeur que les PV |
| 7 Code de contrôle | 3 | Correspond à la valeur calculée |
En doublant 5000 on obtient des PV internes de 10000, et les coefficients portent le BP et le DP au même 10000. Interne 10000 tombe exactement sur le seuil de saturation : l'écran affiche donc trois fois 99990.
Le personnage est calculé à partir de ces trois mêmes valeurs et arrive en technique niveau 1, Cell première forme. Il franchit ensuite les deux seuils de promotion et finit en Cell parfait. C'est le même mécanisme de promotion que pour les codes-barres du commerce ; la carte se contente d'atteindre les seuils.
En maximisant chaque statistique séparément avec un JAN/EAN du commerce, on obtient des valeurs internes de 9950 pour les PV, 4875 pour le BP et 4975 pour le DP. Le code spécial inscrit dans le jeu est un cas à part, atteignant 4999 en BP et DP (voir En marge).
| Maximum individuel, JAN/EAN du commerce | Carte Dr. Wily | |
|---|---|---|
| PV (interne) | 9950 | 10000 |
| BP (interne) | 4875 (4999 via le code spécial) | 10000 |
| DP (interne) | 4975 (4999 via le code spécial) | 10000 |
Les PV ne sont que marginalement plus élevés ; le BP et le DP sont à peu près doublés. Mais la vraie différence n'est pas le rapport — c'est que les trois tiennent en même temps. Les contraintes sur les chiffres rendent impossible de maximiser les trois simultanément avec un code du commerce ; le meilleur total s'arrête à 99500 / 48250 / 33250 (181000 au total), comme le montre Le code-barres le plus fort. Cette carte tient 10000 sur les trois et franchit en plus le seuil de saturation.
Une carte au format propriétaire ne donne pas forcément un personnage. Selon le champ 1, la lecture est aiguillée vers un objet plutôt que vers un combattant.
Ce qui rend cela intéressant, c'est que ces effets sont clôturés de telle sorte qu'aucun code-barres du commerce ne peut jamais les atteindre. Ils sont réservés aux cartes propriétaires. Il en existe six sortes, qui se ramènent à trois effets distincts.
| Effet | Ce qu'il fait |
|---|---|
| Rendre des PV | Ajoute un cinquième de vos PV maximaux à vos PV actuels |
| Rendre du BP | Ajoute un cinquième de votre BP maximal à votre BP actuel |
| Attaque | Retire dix pour cent des PV actuels de l'adversaire (jamais en dessous de zéro) |
Pour les effets de restauration, la quantité provient des statistiques du combattant lui-même, et non d'un nombre imprimé sur la carte. Un combattant plus fort récupère davantage, et les valeurs imprimées sur la carte n'ont aucune importance. L'attaque fonctionne de la même façon, en proportion des PV de l'adversaire. Les trois ont été confirmés en les utilisant en plein combat et en observant l'évolution des nombres.
Cette plage s'accompagne aussi d'une mise en scène particulière. Donnez l'une de ces cartes objet au mode d'expertise de code-barres (la chambre de Karin) et un logo dédié apparaît dans le panneau tandis que Karin déclare : « Oh ! C'est une carte objet Super Barcode Wars ! » En utiliser une en combat fait apparaître un message propre, distinct de tout ce que produit un code du commerce — « C'est Barcode Wars ! Le BP monte ! » et ainsi de suite, avec une formulation prévue pour chaque effet.
Plus curieux encore, cette plage occupe les emplacements mêmes attribués aux cartes Dragon Ball (les boules à une à sept étoiles). Ces cartes sont sautées par la table des effets d'objet, et le format propriétaire occupe la place qu'elles ont laissée.
La question évidente suit : pourquoi un jeu Dragon Ball peut-il lire les cartes d'une autre série — une série qui met en scène les personnages d'une autre société ? La réponse est assez claire. C'était prévu ainsi dès le départ.
La preuve la plus simple est celle qu'on vient de voir : le jeu prononce le nom du produit. Être simplement lisible pourrait être une coïncidence. Préparer un logo dédié et écrire des répliques dédiées, c'est tout autre chose.
La chronologie concorde. Ce titre Datach est sorti le 29 décembre 1992. Les cartes Super Barcode Wars ont couru de décembre 1992 à novembre 1993, 230 variétés en comptant celles vendues avec l'appareil. Même mois, même société, deux gammes menées côte à côte. Cela n'a pas été rajouté après coup.
Le programme dit la même chose. Un chemin de lecture entièrement distinct existe pour ce format, et le calcul des codes-barres du commerce est court-circuité. Par-dessus le marché, le test qui exclut les cartes Dragon Ball de la table des effets d'objet et l'arithmétique qui fait tomber ce format dans la place ainsi libérée existent en paire assortie. Des restes et des coïncidences ne s'alignent pas comme cela.
Cela dit, rien n'indique que quiconque ait décidé quelle carte devait produire quel résultat. C'est précisément pour cela qu'une carte d'une série d'une autre société donne un Cell parfait avec des nombres hors de portée de tout code du commerce. Le mécanisme de lecture a été construit ; ce qui en sortait n'a jamais été réglé — c'est la lecture la plus proche des indices (il s'agit d'une interprétation de l'auteur, sans rien de concluant derrière).
Le sujet invite à en dire trop, alors voici ce qui n'a pas pu être fait.
Lors des premières recherches, l'auteur avait conclu que « 99990 ne peut pas être généré ; cela ne peut pas arriver. » C'était faux. La saturation côté affichage n'avait pas été vérifiée, et l'on supposait que les valeurs internes se reportaient telles quelles à l'écran.
Les informations d'autrui, et leurs corrections, ont brisé cette hypothèse et mené aux conclusions ci-dessus. Le fait est consigné ici parce que c'est une hypothèse facile à faire.
L'information sur la carte Dr. Wily citée en haut de cette page vient de Tareichi (たれいち, @tareichi001).
La preuve avancée à l'appui était une vidéo publiée sur Niconico comme partie sur matériel réel : 【FC】データック_ドラゴンボールZ_強3RTA_06:16 (sm36113889, publiée par sion10 le 21 décembre 2019, consultée le 14 août 2026). L'écran d'inscription des participants montre Cell avec PV 99990, BP 99990, DP 99990 et technique de niveau 1.