Funkamateur 08/90

 

Der Srung zumPC - Floppy-Laufwerk und hochauflösende Grafik am Z1013 (2)

M. Kramer - Y23VO; K. Thielecke

Nachdem wir im ersten Teil damit begonnen haben, die Hardware des Floppy-Controllers zu beschreiben, drucken wir in dieser Ausgabe die Listings des Laders und des BIOS vollständig ab. Anschließend folgt die komplette Bauanleitung des Grafik-Display-Controllers inklusive Grundsoftware.

...

Grafik

In der Vergangenheit war der technische Aufwand für Grafikschaltungen beträchtlich. Die modernen Bauelemente erlauben jedoch den Aufbau leistungsfähiger und trotzdem einfacher Schaltungen, mit denen die älteren Geräte ganz wesentlich aufgewertet werden können. Besonders vorteilhaft ist der Einsatz der Grafikschaltung bei Rechnern, die nur einen "kleinen" Bildschirm mit 16 Zeilen zu 64 Spalten haben, weil sich aus dem o. a. Bildschirmformat bei alphanumerischer Ausgabe 25 Zeilen zu 80 Spalten ergeben. Die Schaltung nach Bild 5 arbeitet mit dem Grafik-Display-Controller (GDC) U82720. Sie ist auf einer Leiterplatte mit den Maßen 95 mm x 170 mm untergebracht und steckt im Gerät zusätzlich; der Bildschirmanschluß wird nur umgesteckt. So läßt sich mit wenigen Handgriffen der Originalzustand wiederherstellen. Schaltung und Leiterplatte wurden für einen Eigenbaucomputer [1] entwickelt und bereits veröffentlicht [4], sind aber wenig bekannt und werden deshalb hier nochmals vorgestellt. Der GDC-Schaltkreis liegt im Gerät zwischen Mikroprozessor und Bildschirm. über das Mikroprozessorinterface gelangen Daten und Steuersignale an den Controller, die es erlauben, die Bildschirmkennwerte in weiten Grenzen zu programmieren.
Die darzustellenden Daten werden in den Bildspeicher geschrieben und dieser dann zur Anzeige zyklisch ausgelesen. Er liegt nicht im Speicherbereich des Mikroprozessors, blockiert also keinen Hauptspeicherplatz bzw. muß nicht aus- und eingeschaltet werden. Das Bildschirmformat lehnt sich mit 640 x 200 Punkten an verbreitete Geräte an und nutzt einen Bildspeicher von 2 x 8 KByte.
Der Trend in der Entwicklung der Speicherschaltkreise erlaubt den weiteren Ausbau dieses Bildwiederholspeichers ohne neues Leiterplatten-Layout. Zur Vereinfachung des Nachbaus und aus Kostengründen ist die Leiterplatte einseitig ausgelegt, denn durchkontaktierte Leiterplatten sind relativ teuer, und einige Drahtbrücken auf der Bestückungsseite bleiben günstiger als eine zweiseitige Platine mit vielen handgelöteten "Durchkontaktierungen". Auch die Auswahl der Bauelemente folgte teilweise diesem Prinzip. So dienen als Zwischenspeicher für die Adressen Schieberegister, die für dieses Layout eine günstigere Anordnung der Ein- und Ausgänge aufweisen als die üblichen Adressenlatches. Die übrige Schaltung wurde so einfach wie möglich gehalten. Durch den Einsatz statischer RAMs ist sie leichter zu beherrschen, und Fehler sind eher zu finden.
Das Programm initialisiert die Schaltung für Grafikbetrieb und erlaubt die Ausgabe alphanumerischer Daten mit den beim Betriebssystem SCP üblichen Steuerzeichen. Die Ausgabe alphanumerischer Zeichen in der Betriebsart Grafik erfolgt, indem sie als Punktmuster in den Parameter-RAM des GDC geschrieben werden und von diesem als "Zeichnung" in den Bildspeicher gelangen. Das Punktmuster der ASCII-Zeichen entsteht mit Hilfe eines Unterprogramms, das in ähnlicher Weise wie die Hardware des ersetzten alphanumerischen Displays mit einer Tabelle als Zeichengenerator zur Umwandlung arbeitet. Sie befindet sich am Ende des GDC-Programms. Die Zeichenausgabe erfordert folgende Operationen:

Beim Bildschirmrollen ist es bei herkömmlichen Schaltungen notwendig, den Inhalt des Bildwiederholspeichers zurückzulesen, auf die nächste (obere) Zeile zu schreiben, und die unterste durch Löschen freizumachen. Bei Grafikbildschirmen mit größerem Speicher entsteht dabei merklicher Zeitaufwand. Der GDC U82720 erlaubt schnelles Rollen des Bildschirms, indem man die Anfangsadresse des Bildwiederholspeichers anders programmiert.
Das Assemblerlisting zeigt den Programmanfang mit einigen Einsprungadressen, die von Anwenderprogrammen direkt genutzt werden können. Die eigentliche Stärke des Controllers ist das Zeichnen von Figuren. Die Software unterstützt das nur bedingt. "Fertig" stehen nur die Funktionen Zeichenausgabe, Punkt setzen, Linie und Rechteck zeichnen sowie Schreiben und Zurücklesen eines Feldes mit acht Bildschirmzeilen (eine Zeichenzeile) zur Verfügung. Die im GDC enthaltene Funktion "Kreis zeichnen" wurde zwar zunächst implementiert, ist jedoch nicht so recht brauchbar, weil durch die ungleichmäßige Aufteilung der Bildpunkte horizontal und vertikal die Kurven nicht kreisförmig sind. Der Kreis muß deshalb berechnet werden. Mit den vorhandenen Funktionen kann man jedoch alle nur denkbaren Figuren zeichnen. Die Koordinaten müssen dann in einem übergeordneten Programm berechnet werden, wodurch die "Zeichenzeile rücklesen" und "Zeichenzeile schreiben" lassen sich Zeichnungen vom Bildschirm auf Diskette oder Drucker und zurück bringen.
Die Grafikroutine wurde auf die Adresse F600H gelegt, weil sie länger ist als die alphanumerische und auf diese Weise kaum zusätzlichen Speicherplatz, sondern den des stillgelegten Bildschirms belegt. Bei Änderungen am BIOS sollten die Einsprungtabelle und der RAM-Bereich ("GDC-RAM") beibehalten werden, damit man Grafikprogramme untereinander austauschen kann.

Literatur

[1] Kramer, M.: Praktische Mikrocomputertechnik,
Militärverlag der DDR, Berlin 1987
[4] Kramer, M.: Baugruppen für Eigenbaucomputer,
4.KDT-Computerfachtagung, Frankfurt(Oder), 1987

147 KByte 118 KByte
Rückseite Prototypen

180 KByte 183 KByte 181 KByte
Bild 5 Bild 6 Bild 7

512 KByte 84 KByte
Listing Disketteninhalt

82 KByte 86 KByte 70 KByte
  Grafikbeispiele