Glitch City RAM Manipulation

Version : R/B/J

Ce glitch utilisant Glitch City et le NoClip trick vous permet une première incursion facile dans la mémoire où vous pourrez modifier certaines valeurs !
Rédacteurs : Krys3000 et ISSOtm
Remerciements à TheZZAZZGlitch pour la première mise en évidence du lien Glitch City - RAM.
This glitch is also available in English at our partner Glitch City Labs: click here

Sur une de nos pages précédentes, celle du NoClip Trick, nous avons abordé la possibilité d'utiliser ce glitch pour accéder à des zones proches de Glitch City, contrairement à la manœuvre classique qui permet d'atteindre une Glitch City par le biais de la "quatrième porte". Pour plus de détails, vous pouvez revoir la page à ce sujet. Nous aurions pu traiter l'utilité que peut avoir cette possibilité par la page du NoClip, mais cela aurait compliqué radicalement celle-ci. Comme c'est d'un niveau un peu plus élevé, nous avons donc pensé utile d'écrire une nouvelle page, une sorte d'annexe qui débuterait ainsi la catégorie "Glitches de niveau supérieur" en terminant ce sujet tout en introduisant les manipulations de la RAM, avant de passer aux glitches permettant d'obtenir des Pokémon !

En Juin 2015, TheZZAZZGlitch a découvert en premier le lien entre une section d'une Glitch City "proche" de la vraie map d'un Chenal et certaines données de jeu (l'inventaire du joueur). Notre équipe s'est emparée de l'idée, et a pu mettre en évidence l'existence d'une région d'une Glitch City dont le contenu reproduit une grosse partie de la mémoire du jeu. Ainsi que d'apprendre à la manipuler.

Avant de continuer, assurez-vous d'avoir lu Introduction (voire le Glossaire) et d'avoir bien compris comment compter en hexadécimal, ce qu'est un Identifiant et ce qu'est une tuile, ces éléments de décor qui composent l'affichage du jeu.

Accéder à la bonne région

Pour accéder à la Glitch City qui vous permettra de visualiser et modifier la mémoire du jeu, rien de plus facile ! Vous aurez besoin d'un Pokémon avec Coupe et d'un Pokémon avec Vol (ça peut être le même Pokémon, bien sûr). Il suffit de faire le Noclip Trick, puis, à Parmanie, de vous placer exactement ici :

Vous allez vous servir du NoClip Trick pour traverser le mur de gauche et marcher un certain nombre de pas dans cette Glitch City. Là ou nous allons, chaque adresse mémoire du jeu est représentée par un bloc de 4 tuiles sur 4 tuiles. L'Identifiant de ce bloc 4x4 correspond donc aux valeurs des adresses (par exemple, Identifiant d'un Pokémon, d'une Attaque ou d'un objet, mais aussi les quantités des objets et les stats des Pokémon par exemple) ce qui permet de visualiser toutes les données du jeu sous la forme de blocs de tuiles.

Dans les paragraphes suivant vous trouverez à chaque fois le nombre de pas exact à faire à partir de ce point de départ. Pour ceux que ça intéresse, vous trouverez en fin de glitch une partie qui non seulement explique les mécaniques du glitch, mais aussi vous apprendra à aller encore un peu plus loin avec ce glitch !

Modifier les valeurs de la RAM

Je vous rassure, l'apprentissage des modifications complexes de la mémoire c'est pas pour tout de suite, ici on va apprendre à faire facilement quelques petites modifications très limitées :) L'idée, c'est d'accéder à la représentation en bloc de tuiles 4x4 d'une valeur de la RAM et de modifier celle-ci !

Il n'existe qu'une action qui permette au joueur de changer les tuiles du décor : utiliser la CS Coupe. En effet, quand vous coupez un arbre ou de l'herbe, vous remplacez les tuiles qui les contiennent par celles qui présentent le même décor, mais sans le végétal coupé. C'est ça qui est à la base de la technique, car il existe 6 blocs de tuiles 4x4 contenant un arbre coupable ou de l'herbe :

  • Le bloc 4x4 d'Identifiant $0B contient 16 tuiles d'herbes. Une fois coupé, il donne le bloc d'Identifiant $0A, représentant un sol sans herbes.
  • Le bloc 4x4 d'Identifiant $32 contient un arbre coupable en haut à droite. Une fois coupé, il donne le bloc d'Identifiant $6D, qui est exactement le même mais sans l'arbre.
  • Le bloc 4x4 d'Identifiant $33 contient un arbre coupable en bas à droite. Une fois coupé, il donne le bloc d'Identifiant $6C, qui est exactement le même mais sans l'arbre.
  • Le bloc 4x4 d'Identifiant $34 contient un arbre coupable en haut à gauche. Une fois coupé, il donne le bloc d'Identifiant $6F, qui est exactement le même mais sans l'arbre.
  • Le bloc 4x4 d'Identifiant $35 contient un arbre coupable en bas à droite. Une fois coupé, il donne le bloc d'Identifiant $4C, qui est exactement le même mais sans l'arbre.
  • Le bloc 4x4 d'Identifiant $60 contient un arbre coupable en bas à gauche. Une fois coupé, il donne le bloc d'Identifiant $6E, qui est exactement le même mais sans l'arbre.


En coupant un bloc de la ligne du haut vous obtenez celui qui se trouve en-dessous.

Si l'une des valeurs de la RAM correspond donc à ces Identifiants, vous pouvez, en coupant le bloc correspondant, changer sa valeur pour celle du bloc coupé. Retrouvez ci-dessous toutes les explications et applications possibles de ce glitch ! Voici un tableau récapitulatif des possibilités qui sera détaillé en profondeur et avec toutes les explications nécessaires dans les sections suivantes :

IdentifiantDécimalPokémonAttaqueObjet
Avant COUPE0B11ExcelangueForce PoigneAntidote
Après COUPE0A10NoadkokoGriffePierre Lune
      
Avant COUPE3250MissingNo.EntravePP Plus (prototype)
Après COUPE6D109ParasOnde FolieObjet glitch $6D
      
Avant COUPE3351MagmarAcidePoképoupée
Après COUPE6C108AboBrouillardObjet glitch $6C
      
Avant COUPE3452MissingNo.FlammècheTotal Soin
Après COUPE6F111TartardBoul'ArmureObjet glitch $6F
      
Avant COUPE3553ElektekLance-FlammeRappel
Après COUPE4C76MetamorphLance-SoleilCanne
      
Avant COUPE6096SabeletteYoga10EME ETAGE
Après COUPE6E110TétarteRepliObjet glitch $6E
Modifier ses objets et leur quantité ou en supprimer

La première possibilité est de modifier les objets. Pour les objets stockés dans le PC, à partir du point d'entrée, faites 50 pas vers la gauche (52 dans Jaune) et 95 vers le haut. Pour ceux de l'inventaire, faites 24 pas vers la gauche (26 dans Jaune) et 115 vers le haut. Dans les deux cas, le bloc 4x4 dans lequel vous arrivez est celui qui correspond à la quantité d'objet (stockés ou tenus). Le bloc à sa droite dépend de l'Identifiant du premier objet, et le suivant, à droite, est la conversion en hexadécimal de sa quantité. Ainsi, si j'ai, dans mon sac, un objet qui est une Poké Ball en deux exemplaires, j'aurais le bloc 4x4 d'Identifiant $01 (1 objet) suivi de celui d'Identifiant $04 (Identifiant de la Poké Ball) et de celui d'Identifiant $02 (deux exemplaires). Suivent le deuxième objet, puis sa quantité, etc.

Cela veut donc dire que si vous avez un objet d'Identifiant "coupable" ou que la quantité d'un de vos objets donne un bloc coupable, vous pouvez modifier celui-ci. Dans le tableau ci-dessus, les objets des lignes "Vous avez" peuvent donc être changés en ceux des lignes "Vous aurez" simplement en coupant le bloc correspondant à la position de l'objet !

Pour la quantité le système est le même, vous pouvez changer les quantités des lignes "Vous avez", colonne "Décimal", en celles des lignes "Vous aurez" ! Ainsi, il est possible de changer 50 Antidote en 109 Pierre Lune en plaçant les 50 Antidote en premier objet du sac et en faisant les pas indiqués puis deux fois Coupe ! Vous pouvez aussi choisir de faire le glitch avec 50 Hyper Potions afin d'en obtenir 109 sans dépenser le moindre sou... Notez tout de même qu'il est impossible d'avoir le PP Plus prototype et l'objet glitch "10EME ETAGE" sans utiliser un code ou un autre glitch.

Pour des raisons quelconque vous pourriez avoir envie de supprimer un objet de votre inventaire ou du PC sans pouvoir le jeter (objet rare, par exemple). Rien de plus simple car il suffit alors d'avoir exactement 11 objets et de placer l'indésirable en dernier. Suivez les mêmes pas pour rejoindre le bloc d'Identifiant $0B contenant de l'herbe correspondant au nombre d'objet du PC ou du sac (selon où vous avez placé l'objet), et coupez pour réduire ce nombre à 10. Le dernier objet est donc supprimé !

Modifier son argent ou ses jetons

Depuis le point d'entrée, l'argent est situé 40 pas à gauche (42 dans Jaune) et 113 vers le haut. Il est composé de trois adresses mémoire à la suite, celle où vous arrivez plus les deux qui sont à sa droite, le tout composant la somme AABBCC Pokédollars. Mais attention, contrairement aux quantité d'objets ou aux stats des Pokémon, l'argent n'est pas une conversion en décimal des valeurs de ses adresses mais affiche directement l'hexadécimal en tant que nombre et les lettres ne sont pas utilisées. Ainsi, si vous avez 153000 Pokédollars, les valeurs aux trois adresses sont $15, $30 et $00. La valeur maximale de l'argent n'est donc pas $FFFFFF (soit 16777215) mais bien $999999... Vous vous souvenez, la bicyclette à un million de Pokédollars ? ;)

Si votre somme d'argent contient en AA, et/ou BB, et/ou CC, un des Identifiants des blocs coupables, les couper transformera donc votre somme d'argent... mais toujours sans tenir compte des lettres. Par exemple, si vous avez 343434 Pokédollars, vous obtiendrez $6F6F6F, mais pour le jeu ça reviendra exactement au même que $696969 ! Ce qui, certes, n'est déjà pas si mal.

Pour les jetons du Casino, rendez-vous après 62 pas vers la gauche (64 dans Jaune) et 91 vers le haut. Il y a deux adresses, celle-la et celle à sa droite, et le système est le même que pour l'argent, en interprétant l'hexadécimal comme du décimal. Si vous avez la patience de monter à 3232 jetons, ça peut être un bon moyen d'en gagner plus de 3000 supplémentaires juste en coupant deux arbres !

Modifier ses Pokémon

Une des caractéristiques importantes de ce glitch est également la modification des Pokémon.

Pour atteindre le bloc de tuile qui reflète votre 5ème Pokémon, il faut, à partir du point de départ, faire 80 pas à gauche (82 dans Jaune) et 123 vers le haut. Comme vous le voyez sur le tableau plus haut, il est possible de transformer certains Pokémon en d'autres, passant de ceux des lignes "Vous avez" à celle des lignes "Vous aurez" correspondantes, en coupant l'arbre ou les herbes qui se trouvent au bout des pas indiqués plus haut si vous avez l'un de ces Pokémon. Il est par exemple possible de transformer un Excelangue en Noadkoko en coupant l'arbre du bloc correspondant à l'Identifiant, le premier de la zone. C'est probablement là la meilleure des utilités possibles de cette partie du glitch.

Pour accéder à la première attaque du Pokémon à partir de là, faites 8 pas vers la droite. Il est effectivement possible de changer certaines de vos attaques ! Dans le tableau, il est facile de voir que le meilleur choix est sans doute le remplacement de Lance-Flamme par Lance-Soleil qui conférera à un Pokémon feu les moyens de se défendre comme un adversaire aquatique.

Vous pouvez aussi affecter l'expérience et les statistiques de votre Pokémon et c'est sans doute la fonction la plus utile du glitch. L'expérience du 5ème Pokémon est à :

  • Depuis le point de départ, 66 pas vers la gauche (68 dans Jaune) et 123 vers le haut
  • Depuis le bloc indiquant l'Identifiant du Pokémon, 14 pas vers la droite
  • Depuis le bloc de la première attaque, 6 pas vers la droite

L'expérience comprend trois adresses à la suite, à l'instar de l'argent, donc trois blocs 4x4, sauf qu'il s'agit bien de convertir de l'hexadécimal. Sa valeur maximum est donc $FFFFFF, soit plus de 16 millions. Si vous convertissez l'expérience de votre Pokémon en hexadécimal (ce que vous devriez savoir faire si vous avez bien lu notre notre introduction) vous obtiendrez un nombre pouvant atteindre au maximum 6 chiffres qui sont les valeurs aux trois adresses mémoires. Ainsi, une expérience de 50 points correspond à $32 en hexadécimal - $000032, en fait. Les valeurs d'expérience pour ce Pokémon sont donc $00, $00, et $32, et cette dernière adresse apparaîtra comme le bloc 4x4 coupable d'Identifiant 32. Si vous le coupez, la valeur passe à $00-$00-$6C... soit 108 points d'expérience. De la même façon, si vous avez 13312 points d'expérience (en hexadécimal $00-$34-$00), une simple coupe sur la deuxième valeur vous fera monter à plus de 27000 !

Pour les stats c'est exactement le même système mais avec seulement deux adresses pour chaque stat. Mais attention, on ne modifie pas celles du 5ème Pokémon, mais du 6ème ! Il faudra donc inverser les deux Pokémon si vous avez fait des modifications d'Attaques et voulez maintenant faire des modifications de statistiques. Pour comprendre pourquoi, lisez la section plus bas. Pour accéder à ces tuiles :

  • Depuis le point de départ, 36 pas à gauche (38 dans Jaune) et 121 vers le haut
  • Depuis le bloc indiquant l'Identifiant du 5ème Pokémon (revenez en arrière si vous avez avancé pour les Attaques ou l'Exp), c'est 2 pas vers le bas et 44 pas vers la droite

Il y a donc deux blocs par statistique, dans l'ordre suivant : PV, ATK, DEF, VIT, SPE, pour un total de 10 blocs, à vous de prendre le bon ! Par exemple, dans le deuxième bloc 4x4 du SPE du Pokémon, vous pourrez couper un arbre pour monter votre spécial de 52 à 109 ! Il suffit de partir de la valeur "Vous avez" dans la colonne Décimal du tableau plus haut et de couper pour accéder à la valeur "Vous aurez"... Pour information, vous pouvez aussi changer votre niveau avec le bloc se trouvant juste avant cette zone, mais si vous n'affectez pas les stats, ça ne sert à rien !

Vous avez apprécié cette première balade dans les modifications de mémoire ? Apprenez-en plus sur cette technique, pour aller plus loin, en lisant la suite ! Sinon, passez directement aux pages suivantes :)

Comprendre le glitch et aller plus loin

Vous trouverez ci-dessous la carte des blocs, avec la région de la mémoire à laquelle ils correspondent ; chaque case de cette carte correspond à un bloc de tuiles 4x4, lui même lié à une adresse mémoire. L'adresse correspondant au premier bloc est indiqué à sa gauche, et ajoutez 1 à chaque bloc jusqu'au dernier d'une ligne dont l'adresse est indiquée à sa droite :

Pour atteindre le bloc correspondant à l'adresse mémoire $D599, donc le premier bloc de la dernière ligne, vous devez marcher 94 pas à gauche et 91 pas en haut depuis le point initial indiqué plus haut. Le reste est une affaire de comptage de pas en fonction de là ou vous devez aller, en gardant à l'esprit que comme le joueur marche sur des blocs de tuiles 2x2, vous devez faire deux pas pour traverser un bloc 4x4. Ainsi, pour atteindre, trois blocs plus loin, l'adresse $D59C, il vous faudra marcher 6 pas vers la droite (ou plutôt, faire seulement 88 pas avant de monter !). Vérifiez avec les pas indiqués dans les catégories plus haut, et vous verrez qu'ils correspondent à la carte !

Vous pourrez donc utiliser cette carte pour modifier toutes les valeurs dont nous n'avons pas parlé dans l'article, maintenant que vous avez compris la technique. Sur la grille présentée plus haut, nous nous sommes arrêtés au 5ème Pokémon ; il est bien sûr possible de monter plus haut, mais autant mettre le Pokémon à modifier en 6ème ou 5ème, ce qui évite de faire des pas supplémentaires !

Les blocs qui ne sont pas indiqués correspondent à des informations relativement peu intéressantes (banque de son, progression du jeu etc.). Cette grille exclut aussi volontairement 3 adresses au début et 3 adresses à la fin de chaque ligne. Ces adresses peuvent être visualisées également mais lorsque vous appuyez sur START, elles se changent, en eau par exemple, pour une raison qu'on ne comprends pas encore très bien. Il ne sera donc pas possible de les manipuler, et c'est la raison pour laquelle nous utilisons plutôt le 6ème Pokémon pour modifier les stats car celles du 5ème ne sont pas entièrement disponibles !

Voici le détail de la zone de mémoire traitant d'un Pokémon.

NOTE : Dans Jaune, toutes les adresses sont décalées d'une unité dans cette section de la RAM ; par exemple, la section Objets stockés ne commence pas à $D53F comme sur l'image ci-dessus qui est confectionnée pour R/B, mais à $D53E. Vous devez donc faire deux pas de plus vers la gauche par rapport aux pas de R/B à partir du point initial, avant de monter pour trouver le bon bloc. C'est la raison pour laquelle les pas pour Jaune comptent toujours deux pas de plus vers la gauche ;)


Page Précédente : Ditto Trick
Page suivante : Duplicate Items Trick