Letztes 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:
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:
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.
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:
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.
Somit wird ein Projekt mit dem Namen “Test
” erzeugt und in dem definierten Verzeichnis gespeichert. Darauf hin erscheint folgende Oberfläche:
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:
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).
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:
Eine Debug-Session wird per “Debug -> Go
” gestartet (oder per F5). Im folgenden Bild wird zum C-Code noch der erzeugte Assembler-Code eingeblendet:
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):