c't Retro 2018
S. 88
Homecomputer & Spiele
C64: Assembler-Kurs
Aufmacherbild

Der eigene Katakis-Klon

Spiele coden in der Maschinensprache des C64

36 Jahre nach Erscheinen des C64 ist seine Spieleentwicklerszene immer noch aktiv. Mischen Sie mit! Am Beispiel eines Weltraum-Sidescrollers im Stil von R-Type oder Katakis zeigen wir, wie man Scrolling, Sprites und Joystick-Abfragen erstaunlich einfach programmiert.

Ein Grundgerüst für einen Weltraum-Sidescroller in nur rund 200 Zeilen Assembler? Auf einem modernen PC quasi unmöglich, auf dem C64 kein Problem – wenn man sich ein bisschen mit 6502-Maschinencode, der Videoschnittstelle und I/O beschäftigt hat. Die nötigen Kenntnisse vermittelt dieser Artikel.

Für das Raumschiff verwenden wir eines der acht möglichen, pixelgenau positionierbaren Sprites, die der Videochip VIC (Video Interface Controller) verwalten kann. Die Joystick-Eingabe wird in eine Positionsänderung des Sprites übersetzt. Die Hindernisse, denen das Raumschiff ausweichen muss, sind Zeichen auf einem Teil des 25 Zeilen à 40 Zeichen großen Textbildschirms. Durch das Umkopieren des Bildschirminhalts um ein Zeichen verschieben sich die Zeichen um 8 Pixel nach links – das feinere Scrolling übernimmt ein Hardware-Feature des VIC. Da der Spielstand im unteren Teil des Bildschirms von diesem „Soft Scrolling“ nicht betroffen sein soll, setzt das Spiel ein Screen-Splitting mithilfe von Interrupts um.