Einsteigertutorial 1: Das erste GBA Programm und allgemeine Grundlagen.
| Das erste GBA Programm und allgemeine Grundlagen. (V1) | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Inhaltsverzeichnis: | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Hallo, ich heiße euch Willkommen in meinem ersten größeren Tutorial. Da ich noch ziemlich neu bin im Tutorialschreiben, müsst ihr mir helfen. Wenn irgendwas ungenau ist oder was besser erklärt werden sollte, dann mailt mir (webmaster@hurik.de) oder stellt eure Fragen im Forum. Vielleicht gibt es schon auf PlanetGameBoy ein weiteres Tutorial (von Nasreddin oder mir) in dem eure Fragen beantwortet werden. Neuere Versionen dieses Tutorials findet auf der Site (siehe oben). Ach so checkt auch mal meine Private Homepage, (warte ich schreib dir im chat) (www.hurik.de)! | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Ich hoffe, dass euch dieses Tutorial einen leichten Einsteig in die GBA Programmierung bietet. Da es ja im Moment keine bzw. sehr wenig Deutsche Ressource gibt. Die GBA Programmierung ist relativ einfach. Wer einmal was für DOS programmiert hat wird sich hier sehr heimisch fühlen. Da beim GBA auch sehr viel mit Adressen gearbeitet wird. Einen Anfänger mag das erschrecken aber eigentlich ist es ganz einfach! Wenn ihr kein C/C++ könnt dann lest euch erstmal das Tutorial von Nasreddin durch falls er es mal fertig stellt :-) Also ich wünsch euch viel Spaß und hoffe es kann euch weiterhelfen! Und gibt mir Feedback!!! Sagt einfach alles, damit ich es besser machen kann!!! | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Bevor wir irgendwas machen können, müssen wir uns einen Compiler besorgen! Hier eine Anleitung zur Installation: Um ein GBA Programm zu compilieren, braucht man einen extra Compiler der extra für den Prozessor vom GBA ist. Als erstes muß man die ganzen Pakete von der Seite des Compilers runterladen. Wir benutzen das "Unofficial GameBoy Advance Software Development Kit". Hier der Link zu der Seite: http://www.io.com/~fenix/devkitadv/ Da das trozdem ziemlich umständlich ist rauszufinden was man braucht und was nicht, sind hier die Links zu den Files die ihr braucht also müst ihr die Seite nicht aufrufen. Einfach das hier downloaden: http://www.quickflix.com/devkitadv/agb-win-core-r5.zip (481k) http://www.quickflix.com/devkitadv/agb-win-binutils-r4.zip (2.3M) http://www.quickflix.com/devkitadv/agb-win-gcc-r4.zip (2.4M) http://www.quickflix.com/devkitadv/agb-win-newlib-r4.zip (3.8M) http://www.quickflix.com/devkitadv/agb-win-libstdcpp-r4.zip (3.9M) Wenn ihr WinMe oder abwärts besitzt dann braucht ihr dieses File: http://www.quickflix.com/devkitadv/agb-win-patch-r4.zip (2.0M) Insgesamt hat das ganze 12.9 M bzw. 14.9 M. Nachdem ihr das runtergeladen habt müst ihr es entpacken, alles in einen Ordner der sollte bevorzugt auf "C" sein und "devkitadv" heisen, also C:\devkitadv. Wenn ihr WinMe oder Abwärts besitzt müst ihr als LETZTES das agb-win-patch-r4.zip File entpacken und die ein paar davor entpackten Files überschreiben. | |||||||||||||||||||||||||||||||||||||||||||||||||||
Einen Emulator brauchen wir auch weil man ja seine Programme testen will! Man kann sie zwar auch auf dem GBA testen aber ich habe leider noch keinen Flashlinker. Trozdem würd ich für die ersten Test einen Emulator benutzen. Ich bevorzuge den VisualBoyAdvance, hier der Link zur Hauptseite, hollt euch da die neuste Version: VisualBoyAdvance. | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Jetzt kommen wir schon zu unserem ersten Programm. Es ist ganz simple. int main(void) | |||||||||||||||||||||||||||||||||||||||||||||||||||
| So jetzt haben wir einen installierten Compiler und das Programm aber wie compilieren wir das jetzt? Das ist aber auch ganz easy! Hier ne kurze Anleitung: Erstellt ihr in dem Ordner wo euer Quellcode ist eine Batchdatei (Rechtsklick -> Neu -> Textdatei -> Name sollte bevorzugt: make.bat sein.). Jetzt müst ihr dir Datei (Rechtsklick auf die Date i-> Bearbeiten) bearbeiten. In sie schreibt ihr: path=C:\devkitadv\bin gcc -o spiel.elf spiel.cpp -lm objcopy -O binary spiel.elf spiel.bin del *.elf Ich erkäre jetzt was die einzelnen Zeilen machen: path=C:\devkitadv\bin Setzt den Path auf den bin Ordner des Compilers. Wenn ihr den Compiler wo anders hineintpackt habt müst ihr es entsprechend ändern! gcc -o spiel.elf spiel.cpp -lm Compiliert die Datei spiel.cpp wenn eure Quell-Datei nicht spiel.cpp heist dann müst ihr das natürlich ändern! objcopy -O binary spiel.elf spiel.bin Das krustelt alles zusammen was der Compiler so zusammen getragen hat und macht daraus eine Rom! del *.elf Das löscht die Temporäre elf Datei die der Compiler erstellt! Ok das ganze Speichert ihr ab! Damit könnt ihr einfach und Kofortable mit einem Doppelklick euren Code compilieren! Das ist zwar nicht das A&O aber für den Anfang reicht es allemal! Demnächst Erweitere ich das Tutorial und Erkläre alles genauer. Ich habe die make datei extra nicht meinem Tut-Zip beigelegt da sonst die nicht jeder raffen würde wie sie funktioniert und ein paar dumme fragen vielleicht aufkommen würden! Ok, jetzt doppelklick auf die Datei und nach kurzen laden und rechnen, habt ihr in eurem Ordner die spiel.bin Datei. Startet sie mit eurem Emulator und bewundert euer erstes Programm! Aber es ist doch ein schönes Blau oder? Aber eigentlich habt ihr noch nix großes gemacht dafür dürft ihr euch jetzt die Erklärung anschauen. | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Hier ein Bild vom ersten Prog: ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Jetzt erkläre ich mal jede Zeile einzeln das sie auch wirklich | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Jetzt kommt eine kleine und kurze Beschreibung
Jetzt kann man sich schon das Was im Speicher ist besser Vorstellen! Ach so wo eine Bit steht also eine 1 dann ist dieser Wert bzw. Funktion angeschalten! Was die ganzen anderen Werte Bedeuten werde ich in den nächsten Tutorials erklären wenn wir die anderen Funktionen benutzten. Nur noch kurz warum wir hier Modus 3 genommen haben und BG2 enable: Modus 3 ist der einfachste Bild Modus. Er hat 240 x 160 Pixel die je eine 16 bit Wert haben für die Farbe! Und wir schreiben die einfach voll mit dem Wert für Blau. Der BG2 ist enable damit wir den Videospeicher einfach vollschreiben können. Dumme Erklärung! Ich weis aber Besser gehts einfach noch nicht! | |||||||||||||||||||||||||||||||||||||||||||||||||||
| Das wäre es schon für erstes Tutorial. War vielleicht viel für den Anfang aber ich hoffe ihr habt alles kapiert wenn nicht dann mailt mir und sagt was ich noch verbessern soll! Also checkt mein 2. Tutorial (Bin noch am schreiben!) da lernt ihr noch mehr! Also dann viel Erfolg und ich bin für alle Fragen offen also wenn ihr Probleme habt dann mailt mir oder stellt sie im Forum. Tschau! | |||||||||||||||||||||||||||||||||||||||||||||||||||
| (c) | |||||||||||||||||||||||||||||||||||||||||||||||||||
| < vorige Seite | Seite 1 | nächste Seite > |




Nintendo 3DS
NDS
PSP
iPhone / iPod
Game Boy Advance
N-Gage
PortableGaming (Forum)



Newsfeed
