Lektion 1: Einführung in die Retro-Programmierung auf dem C64
Willkommen in unserer C64 BASIC-Serie für 2025! Egal, ob Sie ein Neuling in der Codierung oder ein nostalgischer Enthusiast sind, diese erste Lektion führt Sie in die faszinierende Welt des Commodore 64 ein. Wir decken die Grundlagen ab, damit Sie Ihre ersten Schritte in der Retro-Programmierung machen können.
Was Sie zum Starten brauchen
C64 Emulator: Wir empfehlen CCS64 oder VICE (Versatile Commodore Emulator). VICE ist eine beliebte Wahl unter Retro-Computing-Enthusiasten in Deutschland, Österreich und der Schweiz.
.d64 virtuelle Diskette: Wir zeigen Ihnen, wie Sie eine leere .d64
-Datei erstellen, um Ihre Programme zu speichern.
C64 Emulatoren im Vergleich: VICE vs. CCS64
Die Wahl des richtigen Emulators ist entscheidend für Ihr Retro-Programmiererlebnis. VICE (Versatile Commodore Emulator) ist eine Open-Source-Lösung, die für ihre hohe Kompatibilität und umfangreiche Funktionen bekannt ist. Sie ist auf verschiedenen Plattformen verfügbar und wird von einer großen Community unterstützt. CCS64 hingegen ist ein kommerzieller Emulator, der oft für seine Benutzerfreundlichkeit und gute Performance gelobt wird, insbesondere auf Windows-Systemen. Beide bieten eine authentische C64-Erfahrung, aber VICE ist aufgrund seiner Flexibilität und des aktiven Supports oft die erste Wahl für fortgeschrittenere Nutzer und Entwickler.
Sind Emulatoren legal in Deutschland?
Die Legalität von Emulatoren und ROM-Dateien ist ein häufig diskutiertes Thema. In Deutschland gilt die Emulation von Software, die Sie legal besitzen, im Rahmen der Privatkopie als zulässig. Das bedeutet, wenn Sie noch Original-C64-Spiele oder -Software besitzen, können Sie diese in einem Emulator nutzen. Das Herunterladen und Verwenden von ROMs, für die Sie keine Lizenz besitzen, ist jedoch in der Regel illegal. In Österreich und der Schweiz gibt es ähnliche Regelungen, die die Nutzung von Emulatoren für Archivierungs- und Bildungszwecke unterstützen. Zahlreiche deutsche Retro-Communitys und Museen wie das Heinz Nixdorf MuseumsForum in Paderborn oder das Deutsche Museum in München widmen sich der Bewahrung dieser digitalen Geschichte und fördern den legalen Umgang mit Retro-Software.
Mit dem Programmieren beginnen
Begeben wir uns auf eine Reise durch die Retro-Gewässer (Direkt- und Programmiermodus sowie grundlegende Befehle wie PRINT
, LOAD
, SAVE
usw.).
Einführung in BASIC auf dem Commodore 64
BASIC, oder „Beginner’s All-purpose Symbolic Instruction Code“, war die primäre Programmiersprache auf dem C64 und vielen anderen Heimcomputern. Sie ermöglichte es Benutzern, einfache Programme mit englischähnlichen Befehlen zu schreiben.
Warum BASIC heute noch wichtig ist
Obwohl BASIC auf dem C64 eine Sprache aus einer vergangenen Ära ist, ist sie für das Verständnis grundlegender Programmierkonzepte immer noch von unschätzbarem Wert. Sie lehrt logisches Denken, Problemlösung und die direkte Interaktion mit der Hardware, was in modernen, abstrakteren Sprachen oft verborgen bleibt. Für Schüler und Lehrer bietet die C64 BASIC-Programmierung eine hervorragende Möglichkeit, spielerisch und visuell an die Informatik heranzuführen. Es ist eine einfache, aber mächtige Sprache, um die Grundlagen des Computings zu begreifen.
Direkte vs. programmatische Ausführung
Wenn Sie das Ergebnis eines Befehls sofort sehen möchten, tippen Sie ihn zusammen mit seinen Argumenten ein und drücken Sie dann die RETURN
-Taste (oder ENTER
im Emulator). Das Ergebnis wird sofort auf dem Bildschirm angezeigt. Nun kommt der Hauptteil. Um ein Programm in Standard-C64-BASIC (sowie in BASIC-Versionen auf den meisten anderen Computern) zu erstellen, das später ausgeführt wird, weisen wir denselben Befehlen Programmierzeilennummern zu (10, 20, 30…). Sie fragen sich vielleicht, warum wir nicht mit den Zeilennummern 1, 2, 3… beginnen. Die Antwort ist einfach. Wenn Sie Befehle zwischen zwei bereits eingegebene Programmzeilen einfügen möchten, können Sie eine Zahl dazwischen einfügen und die gewünschten Befehle eingeben. Zum Beispiel wird Zeile 15
natürlich zwischen den Zeilen 10
und 20
erscheinen, was äußerst nützlich ist und sehr oft bei der Programmerstellung angewendet wird. Achten Sie auch auf das blinkende Quadrat. Das ist der C64-Cursor, der anzeigt, wo das von Ihnen eingegebene Zeichen erscheinen wird.
Arbeiten mit Variablen
Bevor wir mit der C64 BASIC-Programmierung beginnen, müssen wir eine sehr wichtige Computerfunktion kennenlernen, die es den meisten unserer Programme ermöglicht, zu funktionieren. Was sind Variablen? Variablen kann man sich als Boxen im Computer vorstellen, die Zahlen oder Text enthalten. Mit diesen Boxen können wir dann weiterarbeiten: Bei numerischen Daten können wir verschiedene Berechnungen durchführen, gewünschte Funktionen auswerten usw.; und bei Textdaten können wir diese verketten, hinzufügen, subtrahieren, suchen und vieles mehr. Numerische Variablen werden durch Buchstaben oder Wörter bezeichnet, und ihr Wert wird über Befehle oder einfach durch das = Zeichen zugewiesen (z. B. R=5 oder ERGEBNIS=5). Textvariablen werden ebenfalls durch Buchstaben oder Wörter bezeichnet, aber sie erhalten ein =“Miki“).
Grundlegende BASIC-Befehle erklärt
PRINT – Der erste Befehl
- PRINT „Hallo C64!“ – Zeigt den Text „Hallo C64!“ auf dem Bildschirm ohne Anführungszeichen an.
- PRINT 5+7 – Zeigt das Ergebnis 12 auf dem Bildschirm an.
- PRINT R – Zeigt den numerischen Wert der Variablen R auf dem Bildschirm an (in unserem Beispiel 5).
- PRINT NAME$ – Zeigt den Textwert der Variablen NAME$ auf dem Bildschirm an (in unserem Beispiel „Miki“). Der PRINT-Befehl wird verwendet, um Text oder Variablenwerte anzuzeigen, sowie für direkte und programmatische Berechnungen. Dieser Befehl hat auch die Möglichkeit, die Ergebnisse verschiedener Funktionen anzuzeigen. Er wird mit geringfügigen Abweichungen auch bei der Arbeit mit Druckern, Disketten, Datenbanken usw. verwendet.
LIST – Ein Programm auflisten Dieser Befehl zeigt an, was wir als Programm eingegeben haben. Die Formate dieses Befehls sind:
- LIST – Listet das gesamte Programm im Speicher auf.
- LIST 10 – Listet nur die Programmzeile mit dieser Nummer auf (oder eine beliebige andere Nummer, die wir eingeben und die im Programm existiert).
- LIST -50 – Listet Programmzeilen vom Anfang des Programms bis zur Nummer 50 auf.
- LIST 30-70 – Listet Programmzeilen von Nummer 30 bis 70 auf.
- LIST 80- – Listet Programmzeilen von Nummer 80 bis zum Ende des Programms auf.
RUN – Ein Programm starten Dieser Befehl ist sehr wichtig, da er dazu dient, ein Programm aus dem Speicher zu starten. Die Programmausführung erfolgt natürlich sequenziell, es sei denn, ein Befehl leitet den Programmfluss auf eine andere Programmzeile um. Die Formate dieses Befehls sind:
- RUN – Startet das Programm ab der ersten in den Speicher eingegebenen Programmzeile.
- RUN 50 – Startet das Programm ab Programmzeile 50 (natürlich bestimmen Sie, welche Zeilennummer der Startpunkt sein soll).
GOTO – Gehe zur gewünschten Programmzeile Wir verwenden diesen Befehl, wenn wir möchten, dass das Programm, anstatt sequenziell ausgeführt zu werden, zu einer bestimmten Programmzeile springt. Das Format dieses Befehls ist:
- GOTO 10 – Gehe zu Programmzeile 10 (oder einer beliebigen anderen nach Wunsch).
SAVE – Ein Programm speichern Dieser Befehl speichert unser Programm auf einem Kassettenrekorder oder einer Diskette. Seine Grundform ist:
- SAVE „PROGRAMMNAME“,1 – für Kassettenrekorder (hier zeigt die ‚1‘ einen Kassettenrekorder an und ist impliziert, sodass es nicht notwendig ist, sie einzugeben).
- SAVE „PROGRAMMNAME“,8,1 – für Diskette (die ‚8‘ zeigt das primäre Diskettenlaufwerk an und muss eingegeben werden, und die ‚1‘ zeigt an, dass das Speichern genau gemäß der Speicherkarte erfolgt / beim Speichern von BASIC-Programmen kann sie weggelassen werden, aber ich empfehle, sie trotzdem einzugeben).
NEW – Ein Programm löschen Dieser Befehl löscht das Programm aus dem Speicher.
LOAD – Ein Programm laden Dieser Befehl lädt das gewünschte Programm von einem Kassettenrekorder oder einer Diskette. Sein Grundform ist:
- LOAD „PROGRAMMNAME“,1 – für Kassettenrekorder (wie beim SAVE-Befehl zeigt hier die ‚1‘ einen Kassettenrekorder an und ist impliziert, sodass es nicht notwendig ist, sie einzugeben).
- LOAD „PROGRAMMNAME“,8,1 – für Diskette (wie beim SAVE-Befehl zeigt die ‚8‘ das primäre Diskettenlaufwerk an und muss eingegeben werden, und die ‚1‘ zeigt an, dass das Laden genau gemäß der Speicherkarte erfolgt / beim Laden von BASIC-Programmen kann sie weggelassen werden, aber ich empfehle, sie trotzdem einzugeben).
VERIFY – Überprüfung der Programmschreibintegrität Dieser Befehl überprüft, ob das gewünschte Programm korrekt auf Kassette oder Diskette gespeichert wurde. Seine Form ist:
Beispielprogramme
Endlosschleife mit GOTO und PRINT
10 PRINT "Hallo C64!"
20 GOTO 10
Wenn wir den Befehl RUN eingeben und die RETURN-Taste (oder ENTER im Emulator) drücken, beginnt das Programm mit der Ausführung. In der ersten Programmzeile 10 wird der Text „Hallo C64!“ auf dem Bildschirm angezeigt, und der Cursor/Textausgabe wechselt in die nächste Bildschirmzeile. Die zweite Programmzeile setzt den Programmzähler wieder auf die erste Zeile zurück, sodass dieser Text erneut angezeigt wird, und so weiter unbegrenzt. Um die Ausführung dieses Programms zu stoppen, müssen wir die Taste „RUN/STOP“ drücken (im Emulator ist das die „ESC“-Taste).
Textausgabe ohne Zeilenumbruch und mit Abstand Wenn wir möchten, dass der Text ohne Zeilenumbruch auf dem Bildschirm angezeigt wird, fügen wir am Ende der ersten Programmzeile ein Semikolon (;) hinzu, sodass diese Zeile nun so aussieht: 10 PRINT „Hallo C64!“;. Wenn wir beim Ausgeben einen bestimmten Abstand wünschen, verwenden wir ein Komma (,) – 10 PRINT „Hallo C64!“,.
Programm speichern und laden Da wir bereits ein Programm von zuvor haben, speichern wir es wie folgt auf einer Diskette (oder in der Datei des Emulators):
SAVE "LEKTION-1",8,1
Im Emulator drücken wir danach F10, wählen 1541 device 8 und drücken erneut ENTER. (Übrigens zeigen die Zahlen neben 1541 device von 8 bis 11 die Diskettenlaufwerke an, die an den C64 angeschlossen werden konnten. Das primäre/Hauptdiskettenlaufwerk ist Nummer 8, und andere zusätzliche sind von 9-11). Der Computer fragt Sie, ob Sie die Änderungen auf der virtuellen Diskette speichern möchten, worauf Sie mit JA antworten. Sie können zuvor mehrere Speichervorgänge durchführen. Um das Programm wieder in den Speicher zu laden:
LOAD "LEKTION-1",8,1
Auch wenn dies das einzige Programm auf der Diskette ist, können wir Folgendes eingeben:
LOAD "*",8,1
wobei das erste Programm von der Diskette geladen wird. Dieses „„-Platzhalterzeichen kann auch kombiniert werden, wenn sich mehrere Programme auf der Diskette befinden. Dann ist es am einfachsten, den Befehl einzugeben, drei oder vier Anfangszeichen des Programmnamens einzugeben und „“ hinzuzufügen (z. B. LOAD „LEKT*“,8,1).
Programmverifizierung Um zu überprüfen, ob das gewünschte Programm korrekt auf Kassette oder Diskette gespeichert wurde, verwenden Sie:
VERIFY "LEKTION-1",8,1
Wenn alles in Ordnung ist, wird die Meldung „READY“ angezeigt. Andernfalls wird eine Meldung „VERIFY ERROR“ angezeigt.
Fehlerbehebung für Anfänger Syntaxfehler: Achten Sie genau auf die korrekte Schreibweise der Befehle und die Verwendung von Anführungszeichen für Texte. Ein einziger Tippfehler kann das Programm zum Absturz bringen. Zeilennummern: Stellen Sie sicher, dass Ihre Zeilennummern in aufsteigender Reihenfolge sind und genügend Platz für spätere Einfügungen lassen (z.B. 10, 20, 30 statt 1, 2, 3). Speicherprobleme: Wenn Ihr Programm nicht gespeichert oder geladen werden kann, überprüfen Sie, ob Ihre virtuelle Diskette korrekt gemountet ist und genügend Speicherplatz vorhanden ist. Endlosschleifen: Wenn ein Programm nicht mehr reagiert, drücken Sie RUN/STOP (ESC im Emulator), um die Ausführung zu beenden.
C64 Programmieren für Schüler und Lehrer Die C64 BASIC-Programmierung bietet eine fantastische Möglichkeit, grundlegende Konzepte der Informatik auf eine greifbare und motivierende Weise zu vermitteln. Für Schüler kann das direkte Feedback des C64 und die einfache Syntax von BASIC den Einstieg in die Programmierung erleichtern und ein Verständnis für die Funktionsweise von Computern auf einer tieferen Ebene fördern. Lehrer können den C64 als historisches und pädagogisches Werkzeug nutzen, um Themen wie Algorithmen, Variablen, Schleifen und bedingte Anweisungen anschaulich zu demonstrieren. Viele Schulen in Deutschland, insbesondere in den 80er und 90er Jahren, nutzten den C64 für den ersten Computerunterricht, und diese Tradition kann heute mit Emulatoren fortgesetzt werden.
Empfohlene Ressourcen VICE (Versatile Commodore Emulator) Offizielle Website CCS64 Emulator Offizielle Website C64-Wiki – BASIC (Deutsch) Commodore 64 Programmer’s Reference Guide (Archive.org – auf Englisch) Retro Computer Museum (HNF – Heinz Nixdorf MuseumsForum) Deutsches Museum (München – Informatik) RetroGames e.V. Karlsruhe
Was kommt als Nächstes? Bleiben Sie dran für Lektion 2: Ein-/Ausgabe und die Erstellung interaktiver Programme. Abonnieren Sie unseren Newsletter oder setzen Sie ein Lesezeichen für diese Seite!
Treten Sie der Retro-Coding-Community bei Möchten Sie Updates erhalten? Folgen Sie uns auf Twitter und Facebook, oder abonnieren Sie unseren Newsletter. Haben Sie jemals Ihr erstes ’10 PRINT‘ auf einem echten C64 eingegeben? Teilen Sie Ihr erstes BASIC-Programm in den Kommentaren!
Häufig gestellte Fragen (FAQ) Frage: Ist C64 BASIC schwer zu lernen? Antwort: Nein! Mit unserer Schritt-für-Schritt-Anleitung und Emulatoren wie VICE ist der Einstieg einfach – auch für absolute Anfänger. Frage: Kann ich C64 Programme auf Windows-PC schreiben? Antwort: Ja – mit Emulatoren wie VICE oder CCS64 können Sie direkt am PC programmieren, speichern und laden. Frage: Ist Emulation von C64-Software legal? Antwort: Ja, solange Sie die Originalsoftware besitzen oder lizenzfreie Programme nutzen – siehe Privatkopie-Gesetze.
d Emulatoren wie VICE & CCS64. Perfekt für Retro-Fans im DACH-Raum.