Kurs starten

**** POKE ****

POKE: direkt in den Speicher schreiben

POKE schreibt einen Wert direkt an eine Speicherstelle. So steuert man am C64 Farben, Grafik und Ton, denn eigene Befehle dafür gibt es in BASIC V2 nicht.

Schreibweise

FormBedeutung
POKE 53280,2Setzt die Rahmenfarbe auf Rot.
POKE 53281,0Setzt die Hintergrundfarbe auf Schwarz.
POKE adresse,wertAllgemein: Wert von 0 bis 255 an eine Adresse schreiben.

Warum es POKE überhaupt braucht

Der C64 hatte hervorragende Grafik- und Tonchips, aber sein BASIC kannte keine Befehle dafür. Wer Farben ändern, Sprites bewegen oder Töne erzeugen wollte, schrieb die Werte selbst an die richtige Speicherstelle. Genau das macht POKE.

Warum das so kam, ist eine eigene Geschichte, nachzulesen unter Der Commodore 64 und BASIC V2.

Die beiden wichtigsten Adressen

Für den Anfang genügen zwei Speicherstellen. Sie liegen direkt nebeneinander und zeigen ihre Wirkung sofort.

AdresseWirkungBeispiel
53280RahmenfarbePOKE 53280,2
53281HintergrundfarbePOKE 53281,0
646Farbe des nächsten ZeichensPOKE 646,1
Rahmen auf Rot POKE 53280,2

Im Direktmodus eintippen, der Rahmen wechselt sofort die Farbe.

Alle 16 Farben durchlaufen 10 FOR C=0 TO 15 20 POKE 53280,C 30 FOR D=1 TO 5 40 NEXT D 50 NEXT C 60 POKE 53280,14

Zeile 60 stellt am Ende wieder die Standardfarbe Hellblau ein.

Die 16 Farbwerte

Der C64 kennt genau 16 Farben, nummeriert von 0 bis 15. Die vollständige Tabelle mit Farbmustern steht auf der Seite C64-Farbcodes und Speicheradressen.

Der Wertebereich

Eine Speicherstelle fasst genau ein Byte, also einen Wert von 0 bis 255. Grössere Zahlen ergeben einen ?ILLEGAL QUANTITY ERROR. Bei den Farbadressen zählen ohnehin nur die Werte 0 bis 15.

Typische Stolperfallen

Auf echter Hardware ist POKE gefährlich

Am originalen C64 konnte ein POKE an die falsche Stelle das laufende Programm oder das ganze System zum Absturz bringen. Hier im Browser passiert nichts Schlimmes: Der Speicher ist nachgebildet, nur die Farbadressen wirken sichtbar.

Zahlendreher in der Adresse

53820 statt 53280 schreibt still an eine beliebige Stelle, und nichts passiert. Wenn ein POKE keine Wirkung zeigt, prüfe zuerst die Adresse.

Hintergrund und Schrift in derselben Farbe

Setzt du den Hintergrund auf dieselbe Farbe wie die Schrift, wird der Text unsichtbar. Mit POKE 53281,6 ist das gewohnte Blau wieder da.

Passt dazu

Im Kurs lernst du POKE in Lektion 20: POKE: die Rahmenfarbe ändern. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.

HAEUFIGE FRAGEN

Fragen zu POKE

Was bewirkt POKE 53280,0?

Die Rahmenfarbe wird schwarz. 53280 ist die Speicherstelle für den Rahmen, 0 der Farbwert für Schwarz.

Kann ich mit POKE meinen Computer beschädigen?

Nein. Auf echter Hardware konnte ein falscher POKE zum Absturz führen, mehr nicht. Ein Neustart half immer. Im Browser ist der Speicher ohnehin nur nachgebildet.

Wie mache ich die Farbänderung rückgängig?

Mit den Startwerten: POKE 53280,14 für den Rahmen und POKE 53281,6 für den Hintergrund.

Gleich selbst ausprobieren

Tippe die Beispiele in den freien Editor und sieh dir an, was passiert.

Freien Editor oeffnen →