Spiele-Glossar

Bildschirmspeicher: So kommt das Bild aus dem Speicher

Jede Speicherzelle ein Feld auf dem Bildschirm: Wie der Bildschirmspeicher funktioniert, wo er beim Robotron Z9001 liegt und wie Spiele darin ihr Bild bauen.

7–11 Minuten

Kurz erklärt · Retro & DDR-Heimcomputer

Der Bildschirmspeicher ist der Bereich im Speicher, dessen Inhalt die Bildschaltung fortlaufend ausliest und als Bild anzeigt. Wer dort ein Byte ändert, ändert sofort das Bild – im Textmodus ein Zeichen, im Grafikmodus Bildpunkte.

Auch: Bildwiederholspeicher, BWS, Video-RAM, Videospeicher, Framebuffer, Bildspeicher, Screen memory

Bildschirmspeicher: jede Speicherzelle ist ein Feld auf dem Bildschirm Links ein Ausschnitt des Bildschirmspeichers ab Adresse EC00h als Raster aus Zahlencodes, rechts derselbe Ausschnitt auf dem Bildschirm. Die Codes 50 55 4E 4B 54 45 erscheinen dort als Wort PUNKTE, die Codes 3D als Boden aus Gleichheitszeichen. Ein Lesebalken fährt fortlaufend über beide Raster. Der Prozessor schreibt den Code 2A für einen Stern nacheinander in die Zellen EC29h, EC2Ah, EC2Bh und EC2Ch und setzt die alte Zelle auf 20, das Leerzeichen – auf dem Bildschirm wandert der Stern nach rechts. Bildschirmspeicher (RAM) Adresse EC00hEC28hEC50hEC78h 50554E4B544520372020202020202020202020203D3D3D3D3D3D3D3D Bildschirm PUNKTE7======== liest fortlaufend 2A20*Prozessor schreibt 2Ah nach EC29h2A20*Prozessor schreibt 2Ah nach EC2Ah2A20*Prozessor schreibt 2Ah nach EC2Bh2A20*Prozessor schreibt 2Ah nach EC2Ch Ausschnitt: Zeilen 0–3, Spalten 0–7 Adresse = EC00h + 40 × Zeile + Spalte · 20h = Leerzeichen
So funktioniert’s: Links der Bildschirmspeicher ab EC00h mit Zeichencodes, rechts das Bild daraus: 50 55 4E 4B 54 45 ergibt PUNKTE, 3D den Boden. Der Prozessor schreibt 2A in die nächste Zelle und 20 in die alte – der Stern wandert nach rechts.

Was ist ein Bildschirmspeicher?

Ein Bildschirm zeigt nie etwas „von selbst“. Irgendwo muss stehen, was zu sehen sein soll – im Bildschirmspeicher. Eine Bildschaltung liest ihn immer wieder von vorn bis hinten aus und macht daraus das Signal für den Fernseher oder Monitor, Bild für Bild.

Für den Prozessor ist der Bildschirmspeicher meist ganz normaler Arbeitsspeicher: Er schreibt Bytes hinein wie an jede andere Adresse. Der Unterschied ist nur, dass die Bildschaltung diesen Bereich gleichzeitig liest. Deshalb gilt: Byte ändern heißt Bild ändern.

In der DDR-Literatur heißt er oft Bildwiederholspeicher, kurz BWS, weil das Bild daraus ständig wiederholt wird. Bei Pixelgrafik spricht man auch vom Framebuffer.

Wie funktioniert der Bildschirmspeicher beim Z9001?

Der Robotron Z9001 arbeitet im Textmodus. Sein Bildschirmspeicher liegt im Adressbereich EC00h bis EFFFh, ist also 1 KB groß. Davon werden 960 Byte gebraucht: ein Byte für jedes der 40 × 24 Zeichenfelder, Zeile für Zeile hintereinander.

Darum lässt sich die Adresse jedes Feldes ausrechnen: EC00h + 40 × Zeile + Spalte, gezählt ab 0. Das Feld in Zeile 1, Spalte 2 liegt bei EC00h + 40 + 2 = EC2Ah. Schreibt ein Programm dort 2Ah hinein, den Code für „*“, erscheint ein Sternchen. Die Animation oben zeigt, wie ein Stern so Feld für Feld nach rechts wandert.

Geräte mit Farbzusatz haben direkt darunter, ab E800h, einen zweiten Bereich gleicher Größe: den Farbspeicher. Dort steht für jedes Feld ein Byte mit Vordergrundfarbe, Hintergrundfarbe und einem Bit fürs Blinken.

Tipp: Weil die Zeilen lückenlos hintereinander liegen, beginnt jede Zeile 40 Byte nach der vorigen: Zeile 1 bei EC28h, Zeile 2 bei EC50h, Zeile 3 bei EC78h.

Wie nutzen Spiele den Bildschirmspeicher?

Ein Programm kann Zeichen über das Betriebssystem ausgeben lassen, das sich um Cursor, Zeilenumbruch und Scrollen kümmert. Das ist bequem, aber langsam. Spiele schreiben deshalb meist direkt in den Bildschirmspeicher: Figur an der alten Stelle löschen, an der neuen Stelle setzen – zwei Bytes, fertig.

Damit kein halb fertiges Bild zu sehen ist, bauen viele Spiele das nächste Bild erst in einem Puffer im Arbeitsspeicher auf und kopieren es dann in einem Rutsch in den Bildschirmspeicher. Der Z80 hat dafür sogar einen Blockbefehl, der ganze Speicherbereiche kopiert.

Rollt die Welt seitlich weiter, wird der Inhalt um eine Spalte verschoben und der neue Rand nachgeschrieben. Bei 960 Byte ist das selbst für einen 8-Bit-Rechner machbar – bei Pixelgrafik wäre es ein Vielfaches.

Bildschirmspeicher heute und im Vergleich

BildSpeicher pro Bild
Z9001-Textbildschirm, 40 × 24 Zeichen960 Byte (plus 960 Byte Farbe)
Schwarzweiß-Pixelbild, 320 × 192 Punkte7680 Byte
Full-HD-Bild, 1920 × 1080 Pixel, 4 Byte je Pixelrund 8 Millionen Byte

Heute liegt der Bildschirmspeicher meist im Grafikspeicher der Grafikkarte, und Bilder werden doppelt oder dreifach gepuffert. Im Browser zeichnen Spiele in ein Canvas, dessen Pixel am Ende ebenfalls in einem solchen Speicher landen.

Unterschied: Bildschirmspeicher, Zeichengenerator und Spielfeld

  • Bildschirmspeicher: enthält, was gerade angezeigt wird – im Textmodus die Zeichencodes.
  • Zeichengenerator: ein Festwertspeicher, der festlegt, wie jedes Zeichen aussieht, als Muster aus Bildpunkten.
  • Spielfeld im Arbeitsspeicher: die Daten des Spiels, oft größer als der Bildschirm. Nur der sichtbare Ausschnitt wird in den Bildschirmspeicher übertragen.

Bildschirmspeicher in Spielen auf Player 0o5

So berechnest du die Adresse eines Bildschirmfelds beim Z9001

  1. Zähl Zeile und Spalte ab 0: Die oberste Zeile ist 0, die linke Spalte ist 0.
  2. Multipliziere die Zeilennummer mit 40, der Zahl der Zeichen pro Zeile.
  3. Addiere die Spaltennummer. Für Zeile 1, Spalte 2 ergibt das 42.
  4. Rechne das Ergebnis in Hexadezimal um: 42 ist 2Ah.
  5. Addiere die Startadresse EC00h: Das Feld liegt bei EC2Ah, dezimal 60458.

Häufige Fragen zu Bildschirmspeicher

Was ist ein Bildwiederholspeicher?

So heißt der Bildschirmspeicher vor allem in der DDR-Fachliteratur, kurz BWS. Die Bildschaltung liest ihn fortlaufend aus und wiederholt so ständig das Bild auf dem Bildschirm.

Wo liegt der Bildschirmspeicher beim Robotron Z9001?

Im Adressbereich EC00h bis EFFFh. Davon nutzt der Rechner 960 Byte für die 40 × 24 Zeichen; der Farbspeicher folgt bei Geräten mit Farbzusatz ab E800h.

Ist der Bildschirmspeicher Teil des Arbeitsspeichers?

Bei Heimcomputern meist ja: Er ist RAM, den der Prozessor wie jeden anderen Speicher beschreibt. Heutige PCs haben dafür meist eigenen Grafikspeicher auf der Grafikkarte.

Warum schreiben Spiele direkt in den Bildschirmspeicher?

Weil es viel schneller ist als die Ausgabe über das Betriebssystem. Eine Figur zu bewegen kostet dann nur wenige Speicherzugriffe.

Verwandte Begriffe

← Alle 199 Begriffe im Spiele-GlossarZu den Spielen