menu > Kleiner Einstieg in die Game Boy Advance Programmierung
Ich wollte schon seit längerem wieder einen Post schreiben und eigentlich wollte ich ja mal öfter was posten.
Aber dadurch das der Blog hier noch halbfertig ist, schiebe ich das ständig vor mich hin. Ich hab den Source-Code aber auf Github veröffentlich. Also wer Bugs findet, muss die nicht für sich behalten :)

In den letzten Tagen hab ich mich ein Bisschen mit C beschaftig. Genauer genommen mit TONCebtenzzvat.
Ich wollte mich schon seit Ewigkeiten damit beschäftigen aber der Einstieg sah für mich immer so kompliziert aus, weswegen ich nie damit angefangen hab.
Vor über 10 Jahren hab ich mich schon in der Pokémon ROM-Hacking-Szene bewegt und hatte immer Lust was eigenes zu machen - damals konnte ich aber noch nicht wirklich programmieren.

In meiner Ausbildung hab ich mich zuletzt viel mit Docker auseinandergesetzt also kam mir die Idee das ich doch die ganze GBA Entwicklungsumgebung, also DevkitARM/libgba/libtonc, ja gar nicht auf meiner lokalen Maschine installieren muss, sondern ganz einfach containisieren kann! Dann hätte ich weniger Probleme mit den ganzen Dependencies und dann könnte ich doch auf meinem Linux System und auf dem Windows Rechner daran arbeiten oder?
Am Ende war es auch wirklich so einfach! Ab da war ich ein bisschen gehyped um ehrlich zu sein. Am Ende hab ich sogar statt dem offiziellem Docker-Image für Devkitpro, lieber einen eigenen Multi-Stage-Build geschrieben und mir damit über einen Gigabyte Speicherplatz gespart. Ich wollte schnell ein Pong für GBA schreiben, aber ich hab relativ schnell gemerkt das ich ja gar kein C kann... und keine Ahnung hab wie Spiele programmiert werden

Nur weil ich mit C# Windows-Anwendungen und mit PHP und TypeScripts kleinere Webseiten geschrieben hab heißt es anscheinend noch lange nicht das man mit C, auf eingeschränkter Hardware, Spiele schreiben kann ¯\_(ツ)_/¯

Schade eigentlich. Am Ende heißt es aber einfach nur das es mehr Zeit in Ansruch nehmen wird als erwartet und das ich viel lernen müssen werde. Ich hab auf jeden Fall Bock. Das coolste was ich bisher gelernt hab ist das a[i] eigentlich nur Shorthand für *(a+i) ist. Also auf einen Pointer von a plus i. Dadurch das man bei einer Addition die Summanden vertauschen kann, kann man auch *(i+a) schreiben, oder i[a] als Shorthand. Ist logisch soweit, aber dann heißt es das ich anstatt meinArray[0] auch 0[meinArray] schreiben kann. Ich hoffe mein nächster Blog-Eintrag kommt bald und hat mehr schicke Bilder als langweiligen Text.
TAGS: gba
Comments