Alle Teile dieses Tutorials werden auf memoryresources.de, board.romresources.net und bisaboard.de veröffentlicht. Spreche ich das Forum an, so meine ich damit board.romresources.net und bisaboard.de, da ich auf meiner Homepage zZ keines habe. Feedback und Fragen könnt ihr aber auf jeder der drei Seiten nach dem Tutorial/dem Teil des Tutorials posten. Ggf werde ich dann die Fragen auch als FAQ ans Ende des entsprechenden Kapitels/Teils anhängen.
Auch wird sich das Tutorial zu Beginn auf das Hacken der Pokemonspiele der GBA-Generation beschränken und erst im späteren Verlauf Wissen vermitteln, um andere Games und ggf auch Games anderer Konsolen zu hacken.
Und allgemein, für alle Teile des Tutorials, gilt: das Copyright liegt bei mir. Das Copyright der Bilder, die aus anderen Quellen bezogen wurden, sowie das der verwendeten Tools, liegt bei den Erstellern bzw Rechteinhabern. Das Kopieren, in jeglicher Form ist ohne zuvorige Absprache untersagt, Verlinken geht in Ordnung.
Dieses Tutorial/Teile bzw Kapitel dieses Tutorials sind für memoryresources.de, board.romresources.net und bisaboard.de gedacht.
0 [Vorwort] Und so erschuf Arceus das Universum...
0.1 Inhaltsangabe
ZitatAlles anzeigen0 [Vorwort] Und so erschuf Arceus das Universum...
0.1 Inhaltsangabe
0.2 Einleitung
1 [Grundkenntnisse] Von 0en und 1en
1.1 Zahlensysteme
1.2 Little und Big Endian
1.3 Offsets & Pointer
1.4 Freier Platz
1.5 Patchen
2 Mapping
3 Texthacking
4 Scripting
5 Grafikhacking 1
6 Researching 1
7 Grafikhacking 2
8 ASM 1
9 Researching 2 & ASM 2
10 Schlusswort oder so...
0.2 Einleitung
Bevor wir zum eigentlichen Tutorial kommen, muss ich noch ein paar Dinge loswerden, die sich auch jeder durchlesen sollte, der vorhat, dieses Tutorial oder einen Teil davon zu lesen. Das Wichtigste wohl zuerst: ROM Hacking ist nicht immer einfach, ein guter Hack mit neuer Story, neuen Maps, Grafiken usw. dauert meist Jahre, es gibt oft Rückschläge, da etwas nicht so funktioniert wie es soll, und die ROMs können crashen.
Ok, jetzt habe ich wohl viele verschreckt, die bisher noch nichts mit dem ROM Hacking zu tun hatten, aber dies musste sein, damit ihr nicht mit falschen Erwartungen an die Sache herangeht. Wer glaubt in einer Woche ein ganzes Spiel auf die Beine zu stellen, ist hier fehl am Platz, ebenso wie die Leute, die 20 User suchen, die ihnen den Hack/ein Spiel nach ihren Wünschen erstellen.
Nach dem ich nun nochmals einige Leser verloren habe, können wir mit den wirklich motivierten Hackern zu einigen Tipps kommen, die euch helfen können, den Weltuntergang zu überleben. Natürlich nicht den echten Weltuntergang, aber einen ROM Crash, was je nach Fortschritt des Hacks einem Weltuntergang gleich kommen kann.
Da ich alles auch für User ohne jegliche Vorkenntnisse im ROM Hacken erklären möchte, klären wir zunächst den Begriff des ROM Crashes. Was ist also ein "ROM Crash"? Wie ein Auto nach einem Crash nicht mehr richtig funktioniert, so funktioniert auch eine ROM nach einem Crash nicht mehr richtig. Es gibt dabei verschiedene Arten des ROM Crashes, einmal kann die ROM einfach nicht mehr starten, dies kann durch das Überschreiben (eines Teils) des ROM Headers (in etwa die ersten 256 Bytes einer ROM) geschehen, aber auch durch das Überschreiben einer anderen Routine, die für den Start der ROM zuständig ist, das Fehlen von Ressourcen, sprich Grafiken, Sounds, usw., oder fehlerhafte Ressourcen. Dann gibt es die weniger auffälligen Crashes, dass z.B. plötzlich das Pokemon keine EP mehr erhält und die Crashes, die man meist erst sehr spät bemerkt, z.B. wenn eine selten genutzte Routine davon betroffen ist und somit ein Script nicht mehr so funktioniert wie es sollte, da eine Variable vom System nicht mehr gesetzt wird.
Nach dem nun also die drei Arten der Crashes bekannt sind, stellt sich nun die Frage, wie man etwas dagegen unternehmen kann. Einfachste Lösung: Macht Backups. Startet die ROM nicht mehr oder gibt es sonstige Freezes nach einer Änderung, nehmt das letzte Backup. Dies setzt zwar Tests nach Änderungen in der ROM voraus, aber es ist immer noch besser, als dass ein halbfertiger Hack nicht mehr funktioniert und man wieder alles neu einfügen darf. Solltet ihr eine Fehlfunktion in der ROM bemerken, so könnt ihr natürlich auch hier ein Backup verwenden, ggf kann man auch aber auch im Forum weiterhelfen.
Solltet ihr den Crash erst sehr spät bemerken, die Backups haben nichts genützt und im Forum konnte euch auch nicht geholfen werden, so gibt es wohl nur noch die Möglichkeit, alles in eine clear ROM (nicht modifizierte/gehackte ROM) zu übertragen.
Damit hätten wir nun eigentlich auch schon die/den wichtigen Tipp(s) für den Anfang. Um jedoch nun überhaupt hacken zu können braucht man ein paar Tools und eine ROM.
Es gibt mehrere Wege an eine ROM zu kommen. Einmal kann man sie sich downloaden. Das ist jedoch illegal und Links zu entsprechenden Seiten sind verboten, googlet einfach danach, wenn ihr so an eine ROM kommen wollt. Eine andere Möglichkeit wäre dann noch, dass man selbst von seinem Spielmodul eine Sicherungskopie (= ROM) erstellt. Dies ist je nach Spielmodul in der Grauzone oder legal, wie genau das geht werde ich hier nicht erklären, da es nicht wirklich etwas mit dem ROM Hacking zu tun hat, Google ist aber auch hier euer Freund.
Nach dem wir nun also eine Sicherungskopie unseres Spielmoduls erstellt haben, benötigen wir eigentlich nur noch zwei Tools:
- Der VBA (Link im BB aufgrund der Regeln nicht verfügbar -> Google), ein Emulator für GBA, GBC und GB ROMs.
- Einen Hexeditor. Der Hexeditor kann euch die ROM anzeigen und war früher das wichtigste und auch einzige Tool zu hacken. Ihr könnt natürlich auch einen anderen Hexeditor nehmen, aber ich verwende den HexeditMX und habe somit auch auf ihn verlinkt.
Es gibt natürlich noch eine ganze Palette an anderen Tools, jedoch braucht man die meisten davon nicht und wenn doch, so werde ich auf die entsprechenden Tools in den entsprechenden Kapiteln des Tutorials hinweisen.
Damit könnten wir nun eigentlich auch schon gleich mit dem Tutorial beginnen, jedoch möchte ich zuvor noch anmerken, dass ich einige Grundlagen voraussetze, so also das Wissen, was ein Bit, ein Byte, ein Prozessor/CPU und die RAM ist. ROM werde ich selbst kurz erklären, da der ausgeschriebene Name "Read Only Memory" eigentlich schon sagt, um was es sich handelt: einen Speicher, von dem nur gelesen werden kann. (mit Ausnahmen, die aber erst später angesprochen werden)
Und bevor ich es vergesse: Ich erwarte von niemandem, das ihm jedes Gebiet, das ich in diesem Tutorial durchnehme, liegt. Jedoch solltet ihr euch dennoch alles durchlesen, da die einzelnen Bereiche aufeinander aufbauen. Sollte etwas nicht wichtig für ein anderes Gebiete sein, so werde ich das ggf in dem entsprechenden Teil erwähnen, aber etwas mehr zu wissen kann eigentlich nicht schaden.
FAQ zu Kapitel 0
---