Game Boy Advance Development – Advance Debugger

game_boy_advanceLetztes Jahr habe ich mich etwas in die Welt der Game Boy Advance bzw. der allgemeinen Game Boy Programmierung eingelesen. Das System ist sehr interessant aufgebaut und es gibt sehr viele Beispiele, Tools und Anleitungen im Internet. Bei dem Programm Advance Debugger handelt es sich um eine sehr schlichte IDE (Entwicklungsumgebung) für die Entwicklung von Game Boy Advance Programmen. Das besondere an dieser IDE, ist eindeutig der Debugger. Hiermit kann man sehr gut seinen Code debuggen, falls man einen Fehler nicht ohne Hilfe erkennt oder um Optimierungen durchzuführen. Weiterhin besitzt die IDE einen eigenen GBA Emulator (sehr praktisch). In diesem Artikel gibt es einen kleinen Einblick und die Einrichtung von Advance Debugger. Wer sich genauer mit der IDE beschäftigen möchte, sollte in die Dokumentation schauen, diese ist sehr gut aufgebaut und geschrieben.

Video

In diesem Video sieht man den ersten Test, den ich mit devkitPro durchgeführt habe. Hierbei handelt es sich um eine kleine Demo, die über eine EZ Flash IV auf echter Hardware läuft.

Grundeinstellungen und Oberfläche

Zunächst werden folgende Elemente benötigt:

devkitPro bietet einen Compiler und eine Library, um eigene GBA Programme oder Spiele zu schreiben. Dieser Compiler wird von Advance Debugger benutzt, die IDE besitzt also keinen eigenen Compiler. devkitPro beinhaltet auch schon einige Beispiel-Programme für den Game Boy Advance und einen Editor. Mit devkitPro können auch z.B. Nintendo DS Programme und Spiele erstellt werden und noch viel mehr, ist also ziemlich mächtig. Ein genauerer Blick in devkitPro ist empfehlenswert. In diesem Beispiel werden die Libs von devkitPro in Advance Debugger mit eingebunden, damit diese auch verwendet werden können.

Der devkitPro Installationsordner befindet sich in dem Verzeichnis E:\devkitPro

Dieses Verzeichnis muss beim ersten Start von Advance Debugger ausgewählt werden. Somit werden bzw. sollten die benötigten Verzeichnisse automatisch ausgewählt und in die IDE eingetragen werden.

Nach dem ersten Programmstart erscheint folgende Oberfläche:

advance_debugger_00

Um in die allgemeinen Einstellungen zu gelangen, wählt man “Tools -> Options". Hier sollten folgende Ordner eingetragn sein. Falls das nicht der Fall sein sollte, können diese über den Button “New” eingetragen werden:

advance_debugger_01advance_debugger_02advance_debugger_03

Unter dem Punkt “GBA Device” können verschiedene Einstellungen für die Emulation eingerichtet werden, wie z.B. Zoom-Faktor der Emulation und Input-Keys etc.

advance_debugger_04 advance_debugger_05 advance_debugger_06

Unter dem Punkt “General” können allgemeine Einstellungen für die Oberfläche vorgenommen werden. Hier kann z.B. die Sprache geändert werden, es können bestimmte Files mit der IDE verknüpft werden oder die Schriftgröße und Schriftart innerhalb des Editors kann geändert werden:

advance_debugger_07 advance_debugger_08 advance_debugger_09 advance_debugger_10 advance_debugger_11

Projekt erstellen und Projekt-Einstellungen

Ein Projekt kann über “File -> New -> Project” erstellt werden. Dazu wird der Projektname und das Verzeichnis, indem das Projekt gespeichert werden soll, eingetragen.

advance_debugger_12

Somit wird ein Projekt mit dem Namen “Test” erzeugt und in dem definierten Verzeichnis gespeichert. Darauf hin erscheint folgende Oberfläche:

advance_debugger_13

Auf der linken Seite erscheinen die beiden Ordner “Source Files” und “Header Files“. Per Rechtsklick auf den Source oder Header Files Ordner können vorhandene Files dem Projekt hinzugefügt werden. Eine neue Datei kann über “File -> New -> C-Source File” oder “File -> New -> Header File” erzeugt werden:

advance_debugger_14

In die Projekt-Einstellungen gelangt man unter “Project -> Settings“. In diesem Bereich können bzw. müssen viele wichtige Einstellungen vorgenommen werden. Die Optimierungsstufe für den Debugger kann eingestellt werden. Es kann zwischen ARM und Thumb Code gewechselt werden und vieles mehr. Wichtig ist der Punkt “Linker -> General -> Add Library“. Um die GBA-Library von devkitPro benutzen zu können, muss “gba fat mm” noch eingetragen werden (fat und mm sind nicht unbedingt notwendig).

advance_debugger_15 advance_debugger_16 advance_debugger_17 advance_debugger_18

Debugger

Um eine Debug-Session zu starten, wird zunächst ein Breakpoint an eine beliebige Zeile gesetzt. Dazu kann einfach per Cursor eine Zeile ausgewählt werden und per F9 ein Breakpoint gesetzt werden (ein roter Punkt erscheint links neben der Zeile). Oder einfach per Rechtsklick:

advance_debugger_21

Eine Debug-Session wird per “Debug -> Go” gestartet (oder per F5). Im folgenden Bild wird zum C-Code noch der erzeugte Assembler-Code eingeblendet:

advance_debugger_23

Die Debug-Ansicht kann beliebig angepasst werden. So kann man z.B. den Video-Speicher und Variablen beobachten (dazu unter “View -> Debug Windows” ein Fenster auswählen):

advance_debugger_24

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.