
"Le ROM Hacking, c'est un art." @ Sainior
Si vous êtes ici, cela signifie que je peux au moins assumer que vous avez les capacités mentales nécessaires pour comprendre que l'on ne s'improvise pas hacker en claquant des doigts. Si c'est le cas, vous avez déjà accompli un grand pas en avant, et je dois vous féliciter. Serrons-nous la main.
Ceci étant fait, plongeons-nous plus précisément dans les arcanes de cet art qu'est le ROM Hacking. Si vous êtes un parfait novice, vous allez sans doute devoir assimiler beaucoup de choses en une seule fois : malheureusement, je n'écrirai rien ici dont je ne sois pas sûr que vous en auriez besoin plus tard.
Qu'est-ce que le ROM Hacking ?
Autant commencer par là. Le hack, par définition, est l'action d'intervenir sur quelque chose pour le détourner de son usage ou d'en transformer les données. Une ROM (acronyme de "Read Online Memory") est un fichier contenant des données sur un jeu vidéo vous permettant de jouer à ce jeu via un émulateur (si vous êtes sur un ordinateur, ou tout au moins un support qui habituellement ne permet pas de jouer au jeu) ou un linker (si vous désirez jouer sur la console).Par extension, on en déduit que le ROM Hacking est l'art de modifier le fichier ROM d'un jeu pour en faire un jeu différent, que les différences soient minces ou complètement énormes. Mais maintenant, comment on s'y prend ?
Le principe de l'Hexadécimal et des Offsets
Un fichier ROM n'est pas écrit dans un langage aisément reconnaissable à l'œil humain, contrairement à certains fichiers constituant un jeu sur ordinateur. Si vous avez eu la curiosité d'ouvrir le fichier ROM avec un éditeur de texte comme Word, vous avez peut-être été surpris de voir une énorme suite de caractères arbitraires. Qu'est-ce que ça représente ?Pour parfaitement comprendre ça, expliquons d'abord le principe de l'hexadécimal. L'hexadécimal, aussi appelée la base 16, consiste à écrire les nombres non pas avec 10 symboles différents, mais 16 symboles différents.
Exemple : Le chiffre A1 donne 1610 + 1, soit 161. Le chiffre F30, lui, donne 1516²+3*16+0, soit 3888.
Les symboles utilisés sont dans l'ordre : 0 1 2 3 4 5 6 7 8 9 A B C D E F.
Très souvent, pour montrer qu'un nombre est en hexadécimal, on le fait précéder de la mention . Ce qui permet de comprendre que ne veut pas dire 11 mais 17.




