Sunday, 12 September 2010, 12:07 - Starcat

Dreamcast Experiment #1

Willkommen zurück!

Ich habe ein paar gute Neuigkeiten für alle Dreamcast Fans dort draußen. So langsam mache ich Fortschritte beim Einstieg in die Programmierung.

Lasst mich zuerst kurz in die Vergangenheit eintauchen.
2005 hatte ich bereits einmal eine quick ‘n’ dirty Umsetzung meiner Eerievale game engine fürs Dreamcast gemacht. Leider war sie nicht sehr stabil und auch sehr langsam, da die SDL lib fürs Dreamcast damals noch in einem so frühen Zustand war.

Ich kam also damals nicht besonders weit und entschloss mich lieber vorerst mit den Systemen weiter zu machen, die mir vertraut waren und später zum Dreamcast zurück zu kehren wenn die libs weiter entwickelt sein würden.

In letzter Zeit habe ich mich dann wieder ans Dreamcast gesetzt. Ich habe die Homebrew Entwicklungsumgebung installiert, die Serielle Kabelverbindung zur Konsole vorbereitet und war schließlich bereit zum Programmieren. Maturion half mir alles richtig einzurichten. 🙂

Offenbar ist die DC SDL libary mittlerweile viel besser geworden, dank Dreamcast Programmierer Chui. Danke fürs Möglichmachen. 🙂

Jedoch kam ich wieder nicht so weit, wie ich gehofft hatte. Ich konnte zwar Beispele compilieren, jedoch nicht meinen eigenen Code und ich bin auch noch nicht sonderlich an GCC gewöhnt. Ich war also nicht sicher wo das Problem wirklich lag.

Ich entfernte soviel Code wie möglich, bis ich nur noch das grundlegendste Beispiel hatte, dass ich mir vorstellen konnte und es compilierte. 🙂
Der nächste Schritt für mich war dann, eine eigene Grafik darzustellen. Jedoch nutzten die meisten Beispiele hardcoded Grafiken in den Headerdateien des Programms. Nicht sehr Komfortabel wenn man ein Spiel damit entwickeln möchte.
Also stolperte ich über den Begriff Romdisk und obwohl es einfach war sich auszumalen wozu es dar war (ein binary image eines Ordners zu erstellen, der dann in die Ausführbare Datei gelinkt wird), konnte ich es nicht zum Laufen bringen.
Ich hatte zwar die richtigen Befehle in die Makefile geschrieben, und die Daten wurden auch korrekt angehängt, jedoch stürzte das Programm immer mit schwarzem Bildschirm ab.

Eine Sache, die mir seltsam vorkam war, dass man scheinbar auf Seiten der Dreamcast nichts initialisieren musste. Konnte die Dreamcast wirklich direkt mit den Daten arbeiten, selbst wenn ich nur den /rd/ Pfad in einem Array of Char beim Laden von Daten übergebe? Natürlich NICHT!
Aber das musste ich selbst herausfinden. 😉

Wenn man es weiß, macht es vollkommen Sinn, aber auf einem System, was noch ungewohnt ist, wer weiß da schon was die Libs tun. 😉

Auf jedenfall kann ich nun Grafiken anzeigen und auch den Controller auslesen.
Der nächste große Schritt für mich ist herauszufinden, ob ich irgendwie Strings nutzen kann wie in Visual Studio in C++ auf dem PC, oder ob ich doch bei Arrays of Char bleiben und mir meinen eigenen Code schreiben muss um damit zu arbeiten.

Ich plane außerdem meine Dreamcast Konsole bald zu modifizieren, um einen VGA Port und Reset Schalter hinzuzufügen. Wenn ich nicht schon ein (teures) Coding Cable hätte, würde ich ebenfalls einen RS232 Anschluss hinzufügen um direkt eine Verbindung zum PC zu haben.
Vielleicht werde ich aber trotzdem ein Tutorial dazu schreiben.

Beste Grüße, Starcat.

No Comments »

No comments yet.

Leave a comment