CODINGCRTC ★ MIT DEM BILDRÖHRENBAUSTEIN ZAUBERN|Schneider Aktiv) ★

Mit dem bildröhrenbaustein zaubern
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Kennen Sie den HD6845S CRTC? Noch nicht? Keine Bange - in diesem Artikel werden Sie ihn kennenlernen und somit eine wesentliche Bildungslücke füllen können.

CRTC bedeutet „Catho-de Ray Tube Controller“, zu deutsch also „Bildröh-ren-Steuerung“. HD6845S ist die Typbezeichnung des Bausteins, der in unserem Schneider CPC ebendiese Aufgabe übernimmt. Das Firmware-Handbuch gibt auch Auskunft darüber, wie man diesen Chip direkt ansteuert, und zwar über die Z80-Ein-/Ausgabekanäle. An &BC00 muß die Adresse angelegt werden, über &BC00 versieht man die Adresse des CRTC mit Daten. Das Handbuch hält bei diesen Kanälen nur den Hinweis bereit: „nicht verwenden“. Da stellt sich doch die Frage, warum eigentlich nicht. Kaputtmachen können Sie nichts, höchstens ein paar neue Möglichkeiten Ihres CPC nutzen. Und dafür lohnt es sich schon, ein bißchen zu experimentieren.

EIN EXTREMER FALL, ABER ...

Blättern wir weiter im F irmware-Handbuch. Gleich auf der nächsten Seite finden sich die Adressen des CRTC, von denen im Folgenden einige herausgepickt und näher besprochen werden sollen.

Beginnen wir gleich mit Adresse 0. Sie enthält die horizontal insgesamt darstellbaren Spalten.

Standardwert dafür ist 63. Mit OUT &BC00, OiOUT &BD00, x können Sie eine hübsche Bildstörung fabrizieren: Das Bild läuft horizontal durch bzw. ist total „verschneit“. Der Wert von x sollte dabei +/- 13 um den Standardwert variieren. Die „hübscheste“ Störung erzeugt nach Ansicht des Autors der Wert 50; doch Sie können das ruhig selbst ausprobieren. Die Eingabe des Standardwertes bringt alles wieder in Ordnung. Leider müssen Sie dabei blind tippen, da auf dem Monitor nicht mehr zu erkennen ist. Im äußersten Notfall hilft aber CTRL-SHIFT-ESC.

Register 1 des CRTC enthält die horizontal insgesamt dargestellten Spalten. Der Standardwert beträgt hier 40 — übrigens unabhängig vom Bildschirmmodus!

OUT &BC00, 1:OUT &BD00,x

mit x-Werten unter 40 schränkt den Bereich für die Bildschirmausgabe von rechts her ein. Aber Vorsicht: Der Scroll-Zäh-ler funktioniert dabei nicht mehr richtig, so daß diese Befehlsfolge nicht als Ersatz für WINDOW verwendet werden sollte. Lassen Sie aber in einer Schleife x von 40 bis 0 zurücklaufen, können Sie ein Bild elegant verschwinden lassen.

Ebenso ist es möglich, eine Grafik auf den Bildschirm zu schieben:

FOR i=1 TO 40:OUT &BC00,1:OUT &BD00,i: FOR j=1 TO 100: NEXT j,i

Diese Methode ist wirklich nicht die schlechteste. Doch gleich das nächste CRTC-Register bietet noch mehr.

An Adresse 2 liegen nämlich die Daten für die horizontale Synchronisations-Position. Standardwert ist 46. Die Synchro-Position bestimmt, in welcher Spalte die Bildschirmdarstellung beginnt. Damit können Sie die „rechte“ Spalte z.B. in die Schirmmitte verschieben. Alles, was dadurch rechts „herausragen“ würde, erscheint nun auf der linken Seite. Sie können damit beispielsweise eine Grafik um den Bildschirm „rotieren“ lassen:

FOR i=1 TO 46:OUT &BC00, 2:OUT &BD00, i:FOR j=1 TO 100:NEXT j,i

Wenn Ihnen die Richtung nicht gefällt, lassen Sie die i-Schleife eben rückwärts laufen. Oder hin und her. Ganz wie's beliebt.

Nochmal zum Thema Bildstörung. Die Anzahl der vertikal darstellbaren Zeilen bietet sich hier geradezu an. Der Standardwert für Adresse 4 ist 38. Wenn Sie ihn durch

OUT &BC00, 4:OUT &BD00,x

verändern, läuft das Bild nach oben durch. Je kleiner dabei x ist, desto langsamer geht das Ganze. Sie können aber auch durch langsames Erhöhen von x aufs Gas drücken. Der Effekt ist überwältigend.

NOTFALLS BLIND TIPPEN

Wenn Sie schwarze Balken beim Durchlaufen bevorzugen, verwenden Sie Register 5. Standardwert dafür ist 0. Es enthält die Vertikal-Einstel-iung, was ungefähr dem Bildfang-Knöpfchen an älteren Fernsehgeräten entspricht. Bei Werten zwischen 15 und 255 läuft das Bild mehr oder weniger schnell.

Die vertikal dargestellten Zeilen, die in Register 6 normalerweise als 25 gespeichert sind, bieten wieder eine nützlichere Anwendung. Damit können Sie nämlich von unten her Bildschirmzeilen verschwinden lassen. Oder von oben her auftauchen. Beispielsweise können Sie mit

OUT &BC00, 6:OUT &BD00,0

die Bildschirmausgabe unterdrücken. Gezeichnet wird aber trotzdem! Mit

OUT &BC00, 6:OUT &BD00,25

erscheint Ihre Grafik sofort. Sie können aber das Gemälde auch langsam enthüllen:

FOR i=0 TO 25:OUT &BC00, 6:OUT &BD00,i:FOR j=l TO 100: NEXT j,i

Wenn Sie ein Bild horizontal rotieren lassen können, geht das natürlich auch vertikal. Sie müssen nur . die entsprechende Synchro-Position verwenden, die sich als 30 in Register 7 des CRTC befindet. Beim Durchlaufen in einer Schleife von 0 bis 03 wackelt das Ding aber ziemlich.

Register 8 enthält eine 0 für Interlace und Skew. Was das ist, wissen Fernsehtechniker; der Autor dieses. Artikels muß zugeben, keine blasse Ahnung zu haben. Trotzdem: Wenn Sie statt der 0 eine 5 ins Register schreiben, erzielen Sie ein leichtes

ÜBERWÄLTIGENDER EFFEKT

Vibrieren des Bildes. Das kann, von einem Explosionsgeräusch untermalt, in einem Ballerspielchen durchaus nützlich sein, um z.B. den Aufschlag einer Bombe darzustellen. Vergessen Sie aber nicht, das Wackeln nach der Explosion wieder abzustellen!

Die Register 9 bis 15 sind für den Anwender ziemlich uninteressant. Aber lassen Sie sich nicht davon abhalten, mit den hier vorgestellten CRTC-Adressen zu experimentieren. Die Vielzahl der
Effekte läßt Ihnen einigen Spielraum. Sie müssen lediglich aufpassen, daß Sie nach stundenlangem Starren auf den Monitor nicht am berühmten Hacker-Syndrom leiden. Was das ist? Quadratische Pupillen!

Alwin Ertl , Schneider Aktiv

★ YEAR: 1986
★ AUTHOR: Alwin Ertl
 

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Wacci CRTC (2/2)
» Coding » Graphic - 30 - Etude du Crtc (SOS Programmeurs)
» Coding » AMSLIVE n°18 - Crtc Detection
» Coding » Menu - CRTC
» Coding » The mighty CRTC 6845
» Coding » AMSLIVE n°19 - Crtc Detection - Retour Au Source
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 502 millisecondes et consultée 562 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.