80-Bus Journal

  

April​/​Mai​/​Juni 1984 · Ausgabe 2

CMD Command Register

Ins Kommandoregister kann nur geschrieben werden. Jeder Befehl (siehe Tabelle) löst eine Aktion des GDP aus. Durch einige Befehle können auch Bits in anderen Registern geändert werden.

STATUS Register

Dieses Register kann nur gelesen werden. Es gibt folgende Zustände des GDP an:

Bit0  LOW = ein Lichtgriffel-Durchgang wird gerade ausgeführt
Bit1HIGH während des vertical blanking
Bit2LOW = es wird gerade ein Befehl ausgeführt
HIGH= Ready
Bit3HIGH=X-und Y-Register außerhalb des Bildschirmfensters
Bit4HIGH=Lichtgriffeldurchgang mit Int. beendet
Bit5HIGH=vertical blanking interr. erzeugt
Bit6HIGH=Interr. durch Beendigung eines Befehls ausgelöst
Bit7HIGH=ein Interrupt wurde ausgelöst

XLP und YLP Register

Diese Register enthalten die Bildschirmadresse, die durch die erste steigende Flanke am Lichtgriffelanschluß LPCK ermittelt wird.

Eine detaillierte Beschreibung des internen Aufbaus wollen wir hier nicht geben, ebensowenig den genauen Signalverlauf oder die elektrischen Grenzwerte. Diese Angaben müssen Sie einem Datenblatt der Firma Thomson entnehmen.

Diese Beschreibung soll aber die notwendigsten Informationen zum Test der Grafikkarte liefern (der hoffentlich nicht nötig ist) und vor allem bei der Programmierung des GDP behilflich sein.

Programmierung des GDP

Zur Ergänzung der etwas kurz gehaltenen Beschreibung empfehle ich das Studium der Listings in Heft 1/84 und in dieser Ausgabe.

Plotten von Vektoren

Die Ausgangskoordinaten einer Linie werden durch Register 98H bis 9BH (X und Y) festgelegt. Die Register 95H und 97H (DELTAX, DELTAY) bestimmen den Abstand auf den Koordinaten- Achsen. Das Vorzeichen von DELTAX und DELTAY wird durch Bit1 und Bit2 im Plotbefehl definiert (siehe Tabelle).

Die X- und Y-Register zeigen nach dem Zeichenvorgang auf das Ende der Linie, sodaß durch einfaches Ändern der DELTA- Werte kontinuierliche Linienzüge möglich sind.

Das Löschen einer Linie geschieht durch nochmaliges Plotten der Linie, wobei Bit1 in CNTRL1 rückgesetzt werden muß (eraser).

Durch Kombinationen von Bit0 und Bit1 in CNTRL2 kann beim Linienzeichnen zwischen 4 verschiedenen Linienarten unterschieden werden. (Tabelle)

In oben beschriebener Weise wird mit den „basic commands“ 11H bis 17H (nur die ungeraden Werte, also stets Bit0 gesetzt) gearbeitet, indem man sie jeweils ins Command-Register 90H schreibt.

Es gibt noch drei andere Arten von Plotbefehlen, die schnelle Richtungsänderungen bei kurzen Vektoren erlauben. Hier eine Zusammenfassung; die Tabellen sollten zur

Seite 13 von 52