This is an old revision of the document!
Afin de comprendre et modifier plus en profondeur le bootcode du lapin, j'ai developpé un désassembleur, et un assembleur. (Basé sur le travail de nombreuses personnes, dont Sache).
Ces deux utilitaires fonctionnent en ligne de commande, et sont disponibles sous forme de source à compiler.
Assembleur (nabAsm) https://github.com/Pixel166/nabAsm
Désassembleur (nabDasm) https://github.com/Pixel166/nabDasm
Leur utilisation est très simple :
./nabDasm <fichier bootcode> <fichier source à créer> ./nabAsm <fichier source> <fichier bootcode à créer>
Lors de la modification des sources, il faut veiller à garder la même structure que celle créée par le désassembleur. De plus, il ne s'agit que d'un assembleur, et pas d'un compilateur. Donc si vous devez insérer des nouvelles variables globales, il faut soit décaller toutes les références aux variables suivantes dans le code, soit insérer les nouvelles variables à la fin de la liste.
Je n'ai pas encore testé, mais étant donné que certaines variables globales sont identiques (notamment des entiers ou des “false”), il est peut-être possible d'utiliser dans le code toujours la même variable globale, afin de réutiliser toutes les autres pour une autre utilisation.
Compilation des utilitaires
Il faut avoir un environnement de développement avec Qt. ensuite, lancer la commande
qmake -r
puis lancer la compilation
make
Et voilà !