Kurs starten

**** 16 FARBEN, ZWEI ADRESSEN ****

C64-Farbcodes und Speicheradressen

Der Commodore 64 kennt genau 16 Farben, durchnummeriert von 0 bis 15. Weil BASIC V2 keine Grafikbefehle hat, schreibt man die Nummer mit POKE direkt in die zuständige Speicherstelle.

Die 16 Farben

Nr.FarbeMusterRahmen setzen
0SchwarzPOKE 53280,0
1WeissPOKE 53280,1
2RotPOKE 53280,2
3CyanPOKE 53280,3
4ViolettPOKE 53280,4
5GrünPOKE 53280,5
6BlauPOKE 53280,6
7GelbPOKE 53280,7
8OrangePOKE 53280,8
9BraunPOKE 53280,9
10HellrotPOKE 53280,10
11DunkelgrauPOKE 53280,11
12GrauPOKE 53280,12
13HellgrünPOKE 53280,13
14HellblauPOKE 53280,14
15HellgrauPOKE 53280,15

Die Farbmuster zeigen eine gebräuchliche Umrechnung der C64-Palette. Auf echter Hardware hängt der genaue Ton von Chipversion und Fernseher ab, eine verbindliche Referenz gibt es nicht.

Die wichtigsten Speicheradressen

AdresseBedeutungWerteWirkt hier
53280Rahmenfarbe0 bis 15ja, sichtbar
53281Hintergrundfarbe0 bis 15ja, sichtbar
646Farbe der nächsten Zeichen0 bis 15nein
1024 bis 2023Bildschirmspeicher, 40 mal 25 ZeichenZeichencodesnein
55296 bis 56295Farbspeicher, eine Stelle je Zeichen0 bis 15nein
54272 bis 54300SID-Soundchipverschiedennein

Die Spalte ganz rechts ist wichtig für die Erwartungshaltung: Dieser Browser-Nachbau bildet den Speicher vollständig als Zahlenfeld nach, du kannst also überall schreiben und mit PEEK wieder lesen. Sichtbar wirken aber nur die beiden Farbadressen. Bildschirmspeicher und Soundchip bleiben stumm, dafür bräuchte es eine vollständige Hardware-Emulation.

Farben im Einsatz

Rahmen und Hintergrund setzen 10 POKE 53280,0 20 POKE 53281,11 30 PRINT "DUNKLES THEMA"

Schwarzer Rahmen, dunkelgrauer Hintergrund.

Alle Farben durchlaufen 10 FOR C=0 TO 15 20 POKE 53280,C 30 PRINT "FARBE";C 40 FOR D=1 TO 5 50 NEXT D 60 NEXT C 70 POKE 53280,14

Die innere Schleife in Zeile 40 bremst kurz, damit jede Farbe sichtbar bleibt. Zeile 70 stellt den Startzustand wieder her.

Zurueck zum Auslieferungszustand POKE 53280,14 POKE 53281,6

Hellblauer Rahmen, blauer Hintergrund: genau so sah der C64 nach dem Einschalten aus.

Warum ausgerechnet 53280?

Die Zahl wirkt willkürlich, hat aber einen Grund: Der Grafikchip VIC-II ist im Speicher ab Adresse 53248 eingeblendet. Die Farbregister liegen an Position 32 und 33 dahinter, macht 53280 und 53281. Wer das einmal weiss, vergisst die beiden Zahlen nie wieder, und genau das war bei C64-Besitzern Allgemeinwissen.

Dass man Farben überhaupt so umständlich setzen musste, lag an BASIC V2, das ohne Grafikbefehle ausgeliefert wurde. Die Hintergründe dazu stehen in der Geschichte des C64.

HAEUFIGE FRAGEN

Fragen zu Farben und Adressen

Welche Farbe hat der C64 beim Einschalten?

Der Rahmen ist hellblau (Farbe 14), der Hintergrund blau (Farbe 6) und die Schrift ebenfalls hellblau. Mit POKE 53280,14 und POKE 53281,6 stellst du diesen Zustand wieder her.

Warum sehen die C64-Farben auf jedem Bild anders aus?

Der Grafikchip erzeugte ein Fernsehsignal, keine festen Farbwerte. Je nach Chipversion, Gerät und Aufnahme sahen die Farben unterschiedlich aus. Die Werte hier folgen einer gebräuchlichen Umrechnung, eine einzig richtige gibt es nicht.

Wie ändere ich die Schriftfarbe?

Mit POKE 646,farbe. Der Wert gilt für alles, was danach ausgegeben wird. In diesem Browser-Nachbau wirkt allerdings nur Rahmen und Hintergrund sichtbar.

Farben selbst setzen

In Block 6 des Kurses steuerst du Rahmen und Hintergrund Schritt für Schritt selbst.

Zu Lektion 20 →