C64 Programmierung

Bild: https://www.reddit.com/r/battlestations/comments…


Nach diesem großartigen Textadventure-Musikvideo 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 Assembler wurde mit einer Scriptsprache kombiniert, was viele externen Tools überflüssig macht und die Arbeit sehr erleichtert. Ebenfalls großartig: Die sehr ausführliche und mit vielen Beispielprogrammen ausgestattete HTML-Anleitung (hier als PDF)

Eine extrem komfortable Umgebung ist der C64 Prog Gen (neuer Name: CBM Program Studio) 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!

c64-2

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: Multipaint (läuft unter JAVA). Hiermit lassen sich Bilder für C64, Commodore Plus/4, ZX Spectrum, MSX 1 und Amstrad CPC erstellen; PNGs (und obwohl es da nicht steht) JPGs konvertieren, die dann direkt in den Programm-Code übernommen werden können. Alternative: Timanthes 3.0 (Anleitung) oder, besonders klein und unkompliziert: Pixcen. Und in diesem Forum gibt es viele weitere Programm-Tipps.
  • 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 WinVICE 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 aber erstmal wieder in Stimmung kommen will, kann sogar online 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 Rottensteiner (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).

* Naja, FAST nicht 😉 Da die 100 Schritte 100 Webseiten sind, ist der Konsum etwas unkomfortabel. Deshalb habe ich die ersten 58 Schritte mal zusammengetragen und – selbstverständlich mit Georgs Erlaubnis – bei Scribd.com als PDF reingestellt.

Georg hat zudem 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.

c64-sdk

Weitere Beiträge zu ähnlichen Themen findet ihr oben im Menü (die drei Striche) unter dem Stichwort Retro Computing.

Update: Ebenfalls sehr empfehlenswert ist dieser (deutsche) Kurs von Jörn Kierstein aus Hamburg, 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.

Update: Richtig klasse ist auch dieses Video, in dem Morphcat Games erklärt, mit welchen Tricks man ein Spiel in wenige Kilobyte quetscht. Es geht es zwar um das NES und das Kickstarter-Game „Micro Mages„, aber das ist dank der allgemeinen Erklärungen vollkommen egal.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s