Rasterstrahl

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Kathodenstrahlröhrenmonitor. Der Rasterstrahl wird ganz hinten im Monitor erzeugt. Deswegen benötigt das Gerät auch eine so große Tiefe.

Unter einem Rasterstrahl versteht man den Elektronenstrahl, mit dem das Bild auf einem (in den 80er-Jahren gebräuchlichen) Kathodenstrahlröhrenmonitor erzeugt wird. Der Name »Rasterstrahl« leitet sich dabei von der Art und Weise ab, wie dieser vom Computer gesteuert wird: Das Bild wird zeilenweise als Raster aufgebaut. Siehe Steuerung des Rasterstrahls beim C64 für weitere Details.

Eine besondere Bedeutung kommt dem Rasterstrahl beim C64 (wie auch etlichen anderen Computern) zu. Es ist dort nämlich möglich, die Position des Rasterstrahls abzufragen. Damit ist es möglich, die Grafikfähigkeiten des Computers deutlich über das hinaus zu erweitern, was von den Erfindern des Computers vorgesehen war.

Funktionsprinzip[Bearbeiten | Quelltext bearbeiten]

Das Prinzip eines Rasterstrahls: Die Kathode emitiert einen Strahl an Elektronen in Richtung Bildschirm. Von den Spulen wird dieser Strahl vertikal und horizontal abgelenkt.

Der Elektronenstrahl wird am hinteren Ende des Monitors in einer Kathode erzeugt. Durch elektrischen Strom entsteht in der Kathode ein Elektronenüberschuss. Wird die Kathode erhitzt, lösen sich die Elektronen von der Kathode. Diese losgelösten Elektronen werden in Richtung Bildschirmrückseite beschleunigt und bringen die dort angebrachte Leuchtstoff-Schicht zum Leuchten, was man beim Blick auf den Bildschirm als hellen Punkt wahrnimmt.

Um ein ganzes Bild auf den Bildschirm zu bekommen, wird der Elektronenstrahl beeinflusst: Zum einen ist es möglich, die Intensität des Elektronenstrahls zu regeln, um die Helligkeit des Leuchtpunktes zu variieren. Zum anderen kann der Elektronenstrahl über durch Spulen erzeugte elektromagnetische Felder in horizontaler und vertikaler Richtung abgelenkt werden. Dadurch ist es möglich, jeden Punkt des Monitorbilds anzusteuern. Im Monitor befindet sich Elektronik, die dafür sorgt, dass der Elektronenstrahl den kompletten Bildschirm in Form eines Rasters überstreicht. Die Helligkeit des Elektronenstrahls wird dabei entsprechend des Eingangssignals (meist (F)BAS) des Monitors moduliert.

Farbe[Bearbeiten | Quelltext bearbeiten]

Bei einem Farbmonitor wird ein einzelner Farbpunkt aus drei Punkten in den Farben Rot, Grün und Blau aufgebaut.

Um auf einem Monitor Farbe darstellen zu können, ist die Leuchtstoff-Schicht nicht einheitlich, wie bei einem Schwarz-Weiß-Monitor, sondern ein regelmäßiges Muster aus Stoffen, die rot, grün und blau leuchten, wenn sie mit Elektronen beschossen werden. Diese farbigen Punkte liegen so nahe beieinander, dass das menschliche Auge diese nicht mehr auseinanderhalten kann. Dadurch sieht es so aus, als handle es sich um einen einzelnen Punkt. Je nach dem, welche der drei Farben wie intensiv zum Leuchten gebracht werden, entsteht der Eindruck einer bestimmten Farbe. Wenn beispielsweise rot und grün leuchten, blau jedoch nicht, so nimmt man dies als gelb wahr. Siehe (Additive Farbmischung) für weitere Details.

Um die drei Punkte synchron ansteuern zu können, besteht bei einem Farbmonitor der Rasterstrahl nicht aus einem einzigen Elektronenstrahl, sondern aus dreien, die so angeordnet sind, dass sie immer die benachbarten Punkte mit den drei Farben anregen. Da die Intensität der drei Strahlen dabei individuell gesteuert werden kann, kann so jeder Punkt mit jeder beliebigen Farbe ausgegeben werden.

Der Rasterstrahl beim C64[Bearbeiten | Quelltext bearbeiten]

Steuerung[Bearbeiten | Quelltext bearbeiten]

Bildaufbau durch den Rasterstrahl: Durchgängige Linie: Rasterzeile. Gepunktete Linie: Horizontaler Rücklauf. Gestrichelte Linie: Vertikaler Rücklauf.

Beim C64 erzeugt der Video-Chip (VIC) das Video-Ausgangssignal, das die Modulation der Helligkeit des Elektronenstrahls des Monitors regelt. Der Bildaufbau im Monitor verläuft zeilenweise: Der Rasterstrahl beginnt oben links (aus Sicht des Betrachters) auf dem Bildschirm, wandert von dort nach ganz rechts (Rasterzeile). Dann wird er abgeschaltet, während er wieder zurück an den linken Rand und gleichzeitig eine Zeile nach unten bewegt wird (horizontaler Rücklauf). Von dort ausgehend wird die zweite Zeile ausgegeben und so fort, bis der Rasterstrahl am unteren rechten Ende des Bildschirms angekommen ist. Zuletzt wird er wieder (in ausgeschaltetem Zustand) nach oben links geführt (vertikaler Rücklauf) und alles beginnt von Neuem.

Breite und Höhe des Rasters hängen vom verwendeten Video-Chip ab - die Daten wurden aus dem Artikel von Christian Bauer übernommen, siehe Weblinks:

Video-Chip Breite Höhe Fernsehnorm Anmerkung
6569 504 312 PAL der im deutschsprachigen Raum übliche Chip
6567R56A 512 262 NTSC
6567R8 512 263 NTSC

Abfrage[Bearbeiten | Quelltext bearbeiten]

Durch Computerprogramme kann nicht in den Aufbau des Bildes durch den Rasterstrahl eingegriffen werden. Aber man kann die Y-Koordinate der gerade ausgegebenen Rasterzeile auslesen (Register 17 und 18 des VIC) oder beim Erreichen einer vorher eingestellten Zeile einen Rasterzeilen-Interrupt auslösen lassen. Durch taktzyklen genaues Timing ist es (mit einigen Einschränkungen) sogar möglich die genaue X-Koordinate herauszufinden. Dies setzt allerdings sehr gute Programmierkenntnisse und auch ein ebenso gutes Verständnis des VIC voraus.

Weiterhin wird der Rasterstrahl genutzt, um die Position eines Lichtgriffels auf dem Bildschirm zu bestimmen. Die Koordinaten des Lichtgriffels finden sich dann in den Registern 19 und 20 des VIC, wobei die X-Koordinate nur mit halber Genauigkeit vorliegt.

Grafikeffekte[Bearbeiten | Quelltext bearbeiten]

Ändert man in einer festgelegten Rasterzeile immer auf die gleiche Weise eines der VIC-Register, und setzt es in einer späteren, ebenfalls festgelegten, Rasterzeile wieder zurück, erhält man einen vertikalen Bereich des Bildschirms, der unterschiedlich dargestellt wird.

BASIC-Programm zum Splitten der Rahmenfarbe

Das nachfolgende BASIC-Programm zeigt dies mit der Rahmenfarbe:

10 A=53265:B=127:C=53280:D=0:E=1
15 POKE56334,0: REM IRQ ABSCHALTEN
20 FORI=0TO999:WAITA,B::POKEC,D
25 :::::::::::::::::::::
30 POKEC,E:NEXT
35 POKE56335,1: REM IRQ ANSCHALTEN

In Zeile 20 wird mit dem Befehl POKE53280,0 die Rahmenfarbe auf Schwarz gesetzt, in Zeile 30 mit POKE53280,1 auf weiß. Im Programm werden statt der Zahlen Variablen benutzt, da diese vom BASIC-Interpreter schneller ausgelesen werden können und es hier auf genaues Timing ankommt. Der erste dieser beiden POKEs passiert während des vertikalen Rücklaufs, der zweite etwas unterhalb der ersten Textzeile.

Zeile 25, sowie der zusätzliche Doppelpunkt in Zeile 20, sorgen für das genaue Timing. Fügt man in Zeile 25 weitere Doppelpunkte hinzu, wird der schwarze Bereich größer.

Meist benutzt man allerdings Programme in Maschinensprache für derlei Anwendungen, da diese deutlich schneller sind und somit exakter auf den Rasterstrahl reagiert werden kann.


Die folgenden Grafikeffekte basieren auf dem Rasterstrahl:

Beschleunigte Grafikausgabe[Bearbeiten | Quelltext bearbeiten]

Bei vielen Anwendungen wird das Bild auf dem Bildschirm regelmäßig erneuert. Passiert dies sehr oft, wird dadurch die Rechenzeit für die eigentliche Anwendung unter Umständen erheblich reduziert, da ein Großteil der zur Verfügung stehenden Rechenzeit für die Bildschirmausgabe genutzt wird.

Wenn der Bildschirmaufbau öfter stattfindet, als der vertikale Rücklauf des Rasterstrahls, kann man dem mit einem Trick entgegenwirken: Statt jedesmal den ganzen Bildschirm neu aufzubauen, wird immer nur der Bereich kurz vor dem Rasterstrahl neu aufgebaut (nächste Zeile im Textmodus, beziehungsweise die nächsten 8 Zeilen im Grafikmodus). Für den Betrachter macht dies keinen Unterschied, denn das, was auf dem Bildschirm ausgegeben wird, ist in beiden Fällen das gleiche. Die Geschwindigkeit der Ausgabe kann damit aber im Extremfall bis auf etwa das 20fache gesteigert werden.

Alternativ dazu kann man allerdings auch die Häufigkeit des Bildschirmaufbaus so weit reduzieren, dass dieser etwa genauso oft stattfindet, wie der vertikale Rücklauf. Dann sieht der Betrachter immer ein minimal veraltetes, aber möglicherweise konsistenteres, Bild. Welche der beiden Techniken man verwendet, hängt stark von der Anwendung ab.

Weblinks[Bearbeiten | Quelltext bearbeiten]