18.10.09

C64 Programmierung


Nach diesem großartigen Video vom noch großartigeren Nerdcore-Begründer MC Frontalot brach eine alte Wunde auf: Retrocomputing. Habe inzwischen (fast) alle meine Rechner verkauft (NeXT Cube, SX-64, Sinclair mit Opus Drive, CDTV, Amiga 1000 mit Sidecar, Apple IIe mit Duodrive und Koala Pad, usw... *seufz*). Doch nun muss ich wieder ran. Bei der Gelegenheit gleich mal im Web gestöbert was es so Neues an der Retrocomputing-Front gibt. Und siehe da: Crossdevelopment wird immer komfortabler. Was Crossdevelopment ist? Nun, man entwickelt auf dem PC ein C64 Programm, zum Beispiel. Und das natürlich vorzugsweise in Assembler.

Zur Tat schreitet man dann zB mit dem KickAssembler aus Dänemark, einem relativ neuen Paket. Der 6502-Assembler wurde mit einer Scriptsprache kombiniert, was viele externen Tools überflüssig macht und die Arbeit sehr erleichtert.

Eine extrem komfortable Umgebung ist der C64PrgGen (neuer Name: CBMprgStudio) des Engländers Arthur Jordison: Als komplettes Entwicklungssystem bietet es Sprite- und Font-Editor, Tutorials, Beispielcode und diverse andere Module (die Beta enthält zB einen Tile & Map Edi). Es läuft unter Windows und spuckt .d64-Files (also eine C64-Diskette) aus. Sehr professionell, sehr komfortabel, sehr empfehlenswert!

Der Klassiker: Relaunch64, ein Windows-Editor aus Deutschland, speziell für die C64-Assembler-Entwicklung. Er macht nur Sinn mit einem Cross-Assembler – hier kommt meistens der ebenfalls aus deutschen Landen stammende ACME zum Einsatz (KickAssembler funktioniert inzwischen auch). Heutzutage spricht man ja eher C++, doch auch so etwas grobes gibt es als CrossDev-Version für den 6502: cc65. Was braucht man sonst noch?
  • Wie wär’s mit einem Disassembler.
  • Oder einem Ripper, um die Sprites aus alten Spielen zu extrahieren?!
  • Wer nur mal schnell ein Sprite zeichnen will, kann das inzwischen sehr komfortabel (!) bei spritemate.com erledigen.
  • Für große Pixel-Bilder perfekt: Multipaint (läuft unter JAVA). Hiermit lassen sich Bilder für C64, Commodore Plus/4, ZX Spectrum, MSX 1 und Amstrad CPC erstellen (oder PNGs konvertieren), die dann direkt in den Programm-Code übernommen werden können. Alternative: Timanthes 3.0 (Anleitung).
  • JPGs und PNGs einen C64-Look verpassen (just 4 fun): c64.superdefault.com.
  • JPG & Co in „echte“ C64-Bilder verwandeln: C64 Converter (online, Koala/FLI-Format) und  GangED 2 (diverse Formate).
  • Eine Sammlung von C64-Anwendungen haben Stefan Haddewig aus Bielefeld und diese Franzosen im Angebot (nur für Leute interessant, die auf einem C64 entwickeln wollen).
  • Wer dem 6502-Chip bei der Arbeit zugucken will, kann das mit Visual 6502
  • Dank des genialen C64 Debugger (eine aufgepumpte Version von ICU64) der polnischen Samar Productions können wir direkt in ein laufendes C64-Spiel „reingucken“ und es live manipulieren:

Die so erstellten Programme können mit dem Emulator VICE oder CCS64 auf dem PC getestet oder mit Tools von der Fairlight-Seite sogar auf reale C64-Floppies überspielt werden. Und auf dieser Seite erklärt ein Herr namens Mladen Janković en detail wie man einen Emulator in C# programmiert – für alle, die RICHTIG tief einsteigen wollen.

Wer erstmal wieder in Stimmung kommen will, kann über die Java-Emulation unter c64s.com eine Proberunde drehen. Oder die zahllosen "Speedruns" bzw "Longplays" (zum Beispiel von DerSchmu oder Cubex55 (Amiga)) - auf YouTube gucken.

Update: Habe soeben ein tolles, absolut narrensicheres, megaumfangreiches Einsteiger-Tutorial zur Assembler-Programmierung von C64-Spielen gefunden. Von einem Deutschen, aber auf englisch. Bei gamedev.net erklärt Georg Rottenstein (hier seine Homepage) den Ablauf in 100 Schritten und gibt viele Hintergrundinfos, ohne Noobs zu überfordern. Im Grunde ist das Spiel nach 45 Schritten fertig, den Rest widmet Georg dann dem Feintuning. Das ist DAS Tut schlechthin, extrem übersichtlich und erstklassig kommentiert und mit dem jeweiligen Code als ZIP-Datei. Besser geht definitiv nicht. Am Ende hat man ein fertiges Jump 'n Run mit Ghostbusters-Einschlag: Guns 'n' Ghosts! (Hier noch ein Video).

Und er hat eine IDE wie das erwähnte C64PrgGen programmiert: Das C64 Studio. Ebenfalls ein Pflichtdownload. Ein paar Details von seiner Webseite: "Das Programm ermöglicht projektbasierte Bearbeitung von C64 assembler oder Basic V2. Der interne Assembler baut auf der ACME-Syntax auf. In Verbindung mit Vice kann über die IDE durch den eigenen Assembler-Code debuggt werden." Mit dabei: Ein Zeichensatz-, Sprite- und Medieneditor sowie eine ausführliche HTML-Dokumentation.

Update: Ebenfalls sehr empfehlenswert ist dieser (deutsche) Kurs von Jörn, der in die C64-Assembler-Programmierung eingestiegen ist und seine laufenden Erfahrungen aufs allerbeste weitergibt. Am Ende soll dann ein Spiel mit sechs Spielebenen entstehen.

Update: Beim Retrogames-Collector gibt es eine sehr schöne Theorie-Einheit – es wird also der Ablauf zur Programmierung eines Plattformers genau beschrieben, jedoch kein Code veröffentlicht. Der Autor (Graham Axten) ist ein Profi, er hat unter anderem das Spiel RockMaze veröffentlicht. Diesen mehrteiligen Kurs solltet ihr euch vielleicht sogar als erstes ansehen, dann fällt der Einstieg in das eigentliche Coden deutlich leichter.

Findste gut, was ich hier mache? Vielleicht hast Du ja noch etwas Kleingeld übrig - ich freue mich über jeden Betrag!
.

Keine Kommentare: