Neues Projekt: Der Gameboy

Mein neuer alter Gameboy Classic

Bild eines Gameboy Classic
Mein sehr schlecht freigestellter und unscharfer GameBoy Classic

Letzte Woche habe ich mich auf eBay einmal nach alten klassischen Gameboy umgeschaut und wurde tatsächlich fündig. Zu meiner Überraschung fand ich wie sich später herausstellte ein sehr gut erhaltenes Exemplar, welches ich auch direkt kaufte. Nur wenige Tage später, erreichte mich das gute Stück. Der Lieferumfang enthielt natürlich keinen Satz Batterien und leider auch kein Cartridge. Das störte mich aber nur peripher.

Um zu testen, ob der Gameboy wirklich funktionierte, nahm ich also keine Batterien, sondern ein rumliegendes und zerschnittenes USB-Kabel. Davon legte ich die beiden Kontakte für Grund und +4.5V an den Gameboy an, und steckte die andere Seite des Kabels in meinen PC. Nachdem Betätigen des Power-Switches erleuchtete das rote Lämpchen an der linken Seite und der Schriftzug „Nintendo“ fuhr von oben in die Mitte des Bildes. Das typische Gameboy-Geräusch ertönte und ich wusste, dass die wichtigsten Teile des Gerätes funktionierten. Ich fand es dabei sehr praktisch, dass man nicht unbedingt auf genau 6V angewiesen ist, sondern allem Anschein nach auch mit 4,5V keine Probleme hat.

Coding

Farblose Szene des Spiels zeigt die Spielfigur auf Plattformen
Bildschirmfoto meines ersten Spieles für den Gameboy

Auslöser für den Kauf dieser Antiquität war ein Wochenende, an dem ich im Internet auf Anleitungen zur Programmierung vom z80-Prozessor (welcher übrigens auch in meinem TI-Taschenrechner eingebaut ist) stieß. Ich las mir zuerst durch, wie der Prozessor mit Assembler programmiert wird. Allerdings kam ich relativ schnell zu dem Entschluss eine bereits vorhandene C-Library zu nutzen, da meine Ideen für mögliche Anwendungen etwas zu groß waren, um in reinem Assembler geschrieben zu werden. Das schließt allerdings nicht aus, dass ich es in Zukunft einmal probieren werde. Genutzt habe ich das „GameBoy Developers Kit (GBDK)„. Da es schon fast zwanzig Jahre alt ist, dachte ich mir, dass es ziemlich ausgereift sein müsste. Nach einem Blick in die Header-Files und diverse Dokumentationen im Internet bemerkte ich recht schnell durch fehlende Kommentare, Beschriftungen oder Kapitel, dass dies leider nicht der Fall ist. Dennoch ist es sehr nützlich, wenn man sich ein wenig einarbeitet und hinter die Sache setzt.

Es hat mich nahezu den gesamten Karfreitag gekostet, aber nun habe ich eine Vorstellung davon, wie Tiles, Maps, Sprites und andere Grundlagen auf einem Gameboy funktionieren. Im Bild sieht man das Resultat des Tages. Der Smiley stellt die Spielfigur dar, mit der man das Ziel in der Ecke oben rechts erreichen muss. Weil meine „physics“ noch nicht ganz rund laufen, ist es auch gar nicht so einfach das zu schaffen. Dennoch war es mir möglich, meinen Code mit dem lcc-Compiler zu kompilieren und mit der „GB USB Smart Card 64M“ in einem virtuellen Windows xp auf meinem realen Gameboy zum Laufen zu bekommen.

Ich kann also nun von mir behaupten, dass ich GameBoy-Spiele schreiben kann – Theoretisch. Wie gut diese Spiele dann sind, steht wieder auf einem anderen Blatt. In den kommenden Tagen werde ich mich noch etwas mehr damit beschäftigen. Sollte ich dabei irgendetwas interessantes produzieren, lasse ich es euch an dieser Stelle wissen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Vervollständige folgendes CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.