Dossier : Les formats de code GBA

Les codes Action Replay des jeux GBA utilisent le système de l'encryption. Chaque code contient bien l'adresse à modifier et la valeur (correspondant à l'Identifiant, donc) à y entrer, mais le code est crypté et ceux-ci ne sont pas visibles directement. Comme vous vous en doutez, ceci complique radicalement leur entrée, et nous allons donc vous briefer rapidement ici !

Avant cryptage, le code en format hexadécimal est appelé "RAW code" ou "VBA" du fait que seul un émulateur (comme Visual Boy Advance, un émulateur obsolète), peut lire ce format de code. Comme pour les codes Game Boy, c'est la façon la plus facile d'utiliser un code puisque vous pouvez le moduler selon l'adresse à modifier et l'Identifiant, mais les action replay physiques, eux, refuseront tout net de prendre en compte ce format. Afin que le code Action Replay soit lu par son appareil de triche, il faut le crypter dans un langage qu'il puisse lire. Il en résulte nécessairement une structure de code différente pour chaque code, et donc, pour chaque Pokémon/objet souhaité. Impossible, donc, d'apprendre par cœur un code "générique" et de changer juste deux caractères pour influer sur la valeur, comme avec un code RAW ou un code action replay des deux premières générations !

Là ou ça se complique un peu plus, c'est que chaque appareil de triche de type A.R. dispose d'un cryptage qui lui est propre et à partir d'un même code RAW, on a donc des codes différents pour chaque appareil ! Pis que ça, si vous jouez sur cartouche (donc, pas sur émulateur) vous devrez entrer un Master Code supplémentaire pour activer vos codes...

Composition d'un code RAW classique

Un Code RAW est composé de deux parties séparées par un ":". La première partie n'est autre que l'adresse dans la RAM, qui sur les jeux GBA est composée de 8 chiffres, et non plus 4. La seconde concernera les valeurs dont l'Identifiant, comme vous allez le comprendre. Le code se présente donc sous l'apparence "XXXXXXXX:YYYYYYYY".

Sur certains sites de cartes de RAM comme datacrystal présenté dans la partie précédente, vous pourrez trouver des adresses mémoires en 6 chiffres. Les deux premiers chiffres d'une adresse de 8 chiffres correspondent en fait à la section de la RAM concernée. Dans le cas d'une adresse gérant les données du jeu, ce qui intéresse principalement les adeptes du romhacking (et des codes A.R.), il s'agit toujours de 02 (c'est la "WRAM"). Datacrystal omet donc l'évidence, mais il faut garder à l'esprit que toutes ces adresses commencent par 02 avant les 6 chiffres donnés. Si vous tombez sur un code RAW qui ne commence pas par 02, pas d'inquiétude donc ; c'est tout à fait possible, cela signifie simplement que le code n'agit pas dans la WRAM mais ailleurs.

Intéressons-nous maintenant à la deuxième partie. Les quatre derniers chiffres représentent l'Identifiant du Pokémon, Objet, Attaque etc. Le code pour rencontrer Bulbizarre, par exemple, est 02307CF6:00000001, car l'Identifiant de Bulbizarre est 1 et l'adresse concernée 02307CF6. Ici, les 4 premiers chiffres sont inutiles, mais ce n'est pas le cas du code pour obtenir un objet ; c'est là toute une particularité des codes A.R. 3G, vous pouvez combiner l'objet ET sa quantité en un seul code ! Les 4 premiers chiffres de la deuxième section du code RAW correspondent en effet à la quantité de l'objet obtenu (en hexadécimal, bien évidemment). C'est dans ce cas que l'on utilise ces chiffres (par exemple, 001A0001, affecté à la bonne adresse, permettra d'obtenir 26 Master Ball), alors qu'on les laisse à 0 lorsque le code n'a pas pour but d'obtenir quelque chose qui dispose d'une quantité.

La solution de facilité : Le Codebreaker

Le plus facile des outils de type d'action replay est le Codebreaker, car il n'utilise pas de clé de cryptage mais une version simplifiée du code RAW, permettant une correspondance Identifiant / Pokémon comme dans les anciennes versions ! Le format du code est alors dit "CBA". Ces codes sont formés sur le modèle 8XXXXXXX:YYYY ou les X sont les 7 derniers chiffres de l'adresse et les Y représentent l'Identifiant. Ce format de code ne prend donc pas en compte les quantités pour les codes des objets. Simple, non ?

Les différents outils

Petit a petit, d'autres appareils ont vu le jour, permettant d'utiliser des codes, convertis au préalable dans un langage propre. C'est le cas de la version advance de l'Action Replay, qui lit des codes au format "GSA". L'Action Replay Pro, sorti plus tard, utilisait lui aussi son propre système, le "PAR". Ainsi chaque appareil utilisait des codes dans un format différent, qui ensuite sont publiés sur le net. Un bel imbroglio pour l'utilisateur moyen qui récupère des codes et aimerait bien savoir s'ils sont compatible avec son appareil, d'autant qu'il est absolument impossible de convertir ces formats en RAW ou de passer de l'un à l'autre à la main !

Convertir RAW en GSA, PAR, et inversement

Si vous trouvez un code dans un format incompatible avec votre appareil, vous voudrez forcément trouver un moyen de convertir le code. Rassurez-vous, c'est possible, grâce à AR Crypt. Je vous le recommande donc, pour utiliser au mieux les codes que vous trouverez sur internet.

Ce logiciel est simple d'emploi. Il vous suffit de taper le code dans la fenêtre de gauche, indiquer en dessous le format dans lequel il se trouve (AR V.1/V.2 pour GSA, AR V.3 pour PAR, ou RAW), sélectionner le format dans lequel vous voulez convertir dans la fenêtre "to", et cliquer sur "proceed". Et voila ! Ce logiciel permet également de facilement identifier le format d'un code, en regardant si la conversion en RAW depuis un des formats ressemble à la structure classique de ce format !


Page Précédente : Correspondance 3G
Page suivante : Dossier : Méthodes de Corruption