MAXON Graphic Expansion - Grafik pur für den ST

Eins der spektakulärsten und beliebtesten Gebiete der Computertechnik ist zweifellos die Welt der Grafik. Animierte Grafik, die auf dem Bildschirm wie von einem Zauberstab geführt herumhetzt oder Raytrace-Bilder faszinieren immer noch Laien wie Computerspezialisten. Rechner, die in der Lage sind, aufwendige künstliche Bilder zu erzeugen, sind meist sehr sehr teuer und nur auf die Anwendung in Unis oder ähnlichen Anstalten beschränkt.

Leistungsstarke Rechner wie der ATARI ST waren von Anfang an Opfer ihres eigenen Preises. Es war (und mit Sicherheit ist es auch heute noch) nicht möglich, einen Rechner für diesen Preis mit einer höheren Grafikfähigkeit auszustatten. Der Wunsch der ATARI-Anwender nach einer qualitativ hochwertigen Grafik war immer da und ist auch heute noch aktuell.

Was ATARI nicht anbietet, haben fremde Hersteller schon lange verwirklicht. Seien es größere Festplatten, eine Erweiterung für den ROM-Port oder Coprozessoren, alles mögliche wurde von sehr erfinderischen Firmen für den ATARI ST angeboten. Die komplementäre Arbeit zwischen fremden Firmen und ATARIs eigener Entwicklung hat heute nach fast fünf Jahren Existenz des STs zu einem System geführt, das überall Einsatz finden kann. Nur im grafischen Bereich trägt der ST den Ballast seiner günstigen Entwicklungskosten. Für einen Computer mit solcher Rechenleistung läßt die Ausgabe auf dem Bildschirm einiges zu wünschen übrig. Die Anwendung des STs ist in einigen Bereichen durch seine mangelhaften grafischen Fähigkeiten zum Scheitern verurteilt.

Aber auch hier waren von Anfang an die fleißigen Hersteller am Werk. Das Ergebnis verschiedener Versuche, dem ATARI ST eine bessere Grafik zu verschaffen, haben wir mehrmals betrachten können.

Leider wurden solche Erweiterungen bis jetzt entweder zu teuer gestaffelt, oder sie wurden wegen irgendwelcher Mängel aus dem Verkehr gezogen.

Aus den Erfahrungen all dieser Versuche wurde die MAXON Graphic Expansion (MGE) entwickelt, die, einmal im MEGA ST eingebaut, diesem Rechner zu ungeahnten Grafikleistungen verhilft.

Die MGE ist eine handliche Steckkarte, die ihren Platz in dem internen Bus des MEGA STs findet. Ein Grafikprozessor vom Typ Intel 82786 verrichtet seinen Dienst unter Mitarbeit von maximal einem Megabyte Videospeicher und einem Farbtabellenbaustein. Das Ergebnis sind viele verschiedene Grafikmodi, von monochromen 1280960 Pixeln bis hin zu 640480 Pixeln in 256 Farben, auszuwählen aus einer Palette von 262144 (optional sogar 16,7 Millionen) Farbtönen. Um das Bild zu vervollständigen: Fast alle Versionen der Grafikkarte sind mit Hilfe eines sogenannten Genlock-Interfaces mit externen Bildsignalquellen zu synchronisieren, so daß auch der Bildmischung mit Fernseh- oder Videobildern keine Hindernisse im Wege stehen.

Natürlich geht es nicht ohne Software: Ein Treiber, der die direkte Programmierung des Grafikprozessors erlaubt, liegt bereits vor, ein VDI-Treiber ist in Arbeit. Doch auch jetzt schon kann man sauber geschriebene Standard-GEM-Programme über die Karte nutzen: Zusammen mit dem Protos-Utility von Application Systems und einem kleinen Hilfsprogramm läßt sich der Bildspeicher des ATARIs vergrößern und in den Videospeicher der MGE verlegen. Calamus auf Großbildschirm? Kein Problem!

Anschluß gesucht

Die Grafikkarte benötigt, wie bereits erwähnt, den Expansion-Bus der MEGA ST-Serie. Leider, liebe Alt-ATARI Besitzer, wäre der Anschluß an eines der älteren Modelle zu aufwendig und damit teuer. Die zahlreichen erfolglosen ROM-Port-Expansions-Angebote der verschiedensten Hersteller zeigen, daß dieser Weg letztlich auch bei den Kunden recht unbeliebt ist, ganz abgesehen von der mangelnden Flexibilität und Geschwindigkeit.

Also, der Prozessor-Bus muß her. Die Video-Erweiterung nutzt den Adreß-raum. der beim MEGA ST für Erweiterungen vorgesehen ist und der bei Zugriffsversuchen im Gegensatz zu anderen Adreßbereichen nicht automatisch einen Adreßfehler produziert - vorausgesetzt, man verwendet die richtigen Tricks (Sesam, öffne Dich...). Im MEGA ST-Gehäuse ist die MGE auch sicher aufgehoben und mit allem Lebensnotwendigen versorgt:

Strom liefert das Mega-Netzteil zwar nicht gerade im Überfluß, aber eine kleine Erweiterung (damit ist selbstverständlich nur die Größe gemeint, nicht etwa der Leistungsumfang) im Stile der MGE läßt nicht einmal ATARI-Seriennetzteile zusammenbrechen.

Größere Leistung bei Farbe und Schwarzweiß

Der Moment der totalen Enthüllung ist gekommen. Was kann diese Grafikkarte? Nur. was oben schon erwähnt wurde? Ist sieden Aulhau auf den MEGA ST wert? Wir werden hier versuchen, soviele Daten wie nur möglich vorzustellen. Mit Sicherheit ist eine direkte Vorführung der Karte am besten geeignet, um die Leistung dieser Erweiterung zu beurteilen. Durch den Einsatz des INTEL-Grafikprozessors 82786, der frei programmierbar ist, kann man verschiedene Auflösungen erreichen sowie eine verschiedene Anzahl von Farben, die gleichzeitig darstellbar sind. Neben dem Grafik Prozessor und der Farb-Glue besitzt die Karte ein Megabyte Videospeicher, so daß der interne Speicher des STs nicht so sehr in Anspruch genommen wird.

Für die Anwendung im rein grafischen Bereich, in dem viele Farben nötig sind, kann man die MGE in verschiedenen Modi programmieren: Bei einer Auflösung von 800600 Pixeln kann man 256 Farben gleichzeitig darstellen (im Interlace-Modus, der für die Video-Anwendung sehr interessant ist) oder bei geringerer Auflösung, nämlich 640480 Pixeln bei der gleichen Menge an Farben (256), aber im Non-Interlace Modus. Die Auflösung läßt sich vergrößern, wenn die Menge an Farben, die gleichzeitig dargestellt wird, kleiner bleibt. Bei 16 Farben kann man eine Auflösung von 912684 Pixeln erreichen. Wendet man das Interlace-Verfahren an und ist im Besitz eines Monitors, der eine Punkttaktfrequenz von 55 MHz verkraftet, kann man sogar 12801024 Pixel bei maximal 16 Farben darstellen. Das alles aus einer Farbpalette von 262144 Farben.

Zur Erinnerung: Im Interlace-Modus wird jedes Bild aus zwei Halbbildern zusammengesetzt. Ein Halbbild enthält die geraden Zeilennummern (2., 4., 6. Zeile usw.), das andere die ungeraden (Nummer 1,3,5...). Erst wenn die beiden Teilbilder überlagert werden, entsteht ein Bild mit der vollen Auflösung. Diese Technik wird beim Fernsehen angewandt, um mit möglichst wenig Übertragungsaufwand eine brauchbare Bildqualität zu erreichen. Für die Synchronisierung und Mischung eines Videosignals mit anderen Standard-Videobildquellen ist der Interlace-Modus Voraussetzung. Im Gegensatz dazu werden heim Non-Interlace-Modus komplette Vollbilder geschrieben, wodurch ein sehr flimmerfreies Bild entsteht.

Wie oben schon erwähnt, ist der Monochrombetrieb keinesfalls vergessen, so daß die MGE im Monochrombetrieb eine Auflösung von 1280*960 Pixeln bietet, und das auch im Non-Interlace-Verfahren. Eine Genlock-Erweiterung ist hier nicht möglich (diese ist auch nur im Interlace-Farbmodus sinnvoll).

Intel 82786...

... heißt der moderne Grafikprozessor, der auf der Karte seinen Dienst verrichtet; ein sehr interessanter und im Vergleich zur Konkurrenz auch sehr ungewöhnlicher Baustein. Eigentlich besteht der 82786 aus zwei Prozessoren: einem Display-Prozessor und dem eigentlichen Zeichenchip, dem Grafikprozessor.

Der Display-Prozessor dient dazu, Bilder, also Bitmaps, die der Grafik Prozessor im Grafikspeicher erzeugt hat, auf den Bildschirm zu befördern. Dabei werden auch noch sämtliche notwendigen Synchronisationssignale erzeugt; auch zwei Hardwarecursor stehen zur Verfügung: Ein normaler Bitmapcursor und ein Fadenkreuz. Der Trick bei der Sache ist, daß der Display-Prozessor nicht einfach nur eine Bitmap in der Größe der Bildschirmauflösung auf den Bildschirm bringen kann. Insgesamt kann man acht per Hardware kontrollierte Bildschirmfenster benutzen. Jedes kann eine beliebige Bitmap aus dem Speicher der Grafikkarte enthalten. Der Begriff 'Bitmap' stimmt natürlich nur im monochromen Modus. Nur hier entspricht jedes Pixel auf dem Bildschirm einem Bit im Grafikspeicher. Da der Prozessor bis zu 8 Bits für jedes Pixel unterstützt (entsprechend 256 Farben), muß man hier eigentlich von 'Pixelmaps' oder kurz ‘Pixmaps' sprechen.

Der Grafikspeicher ist also nicht wie bei den meisten anderen Grafik Prozessoren nur einem Bild vorbehalten. Beliebig viele Pixmaps können im Speicher aufgebaut werden, solange eben Speicherplatz da ist. Maximal acht dieser Bitmaps können gleichzeitig in Bildschirmfenstern dargestellt werden, die nicht einmal rechteckig sein müssen; ein Fenster kann beinahe jede beliebige Form annehmen. Die Bitmaps können sogar in x- oder y-Richtung bis zu 64fach vergrößert werden. Auch schnelles Scrolling ist in beiden Richtungen möglich.

Außer den Pixmaps und den Fensterbeschreibungen werden im Speicher noch ein paar andere Daten aufgehoben, und zwar in Form von verketteten Listen: die Befehle für den Grafikprozessor. Dies sind im wesentlichen die Zeichenfunktionen wie Linien, Rechtecke, Kreise oder Text. Funktionen zum Verschieben von rechteckigen Bildschirmblöcken und auch besondere Funktionen, die die Implementierung von Picking-Routinen (Routinen zur Auswahl von Bildschirmobjekten per Maus oder Grafiktablett) erleichtern.

Bei der MGE kann nicht nur der 82786-Prozessor auf den Videospeicher zugreifen, auch der ATARI darf diesen Speicherbereich benutzen. Das ist auch notwendig; wie sonst sollten die nötigen Kommandos für den Grafikprozessor in den Videospeicher kommen? Auch muß der Display-Prozessor zuerst einmal in einem Video-Mode initialisiert werden, damit überhaupt etwas mit der Grafikkarte anzufangen ist. Schließlich kann man aber auch den ATARI direkt in eine Bitmap schreiben lassen, obwohl sicherlich die meisten Zeichenfunktionen erheblich schneller durch den Grafikprozessor erledigt werden können.

Zeichenfunktionen

Die ‘Programme’ für den Grafikprozessor werden in Form eines sogenannten Kommandoblockes im Grafikspeicher abgelegt. Ein Kommandoblock ist eine verkettete Liste von Anweisungen für den Grafikprozessor. Es können sich durchaus verschiedene Blöcke im Videospeicher befinden, jedoch wird immer nur einer davon ausgeführt. Es gibt auch Sprungbefehle, die erlauben, zwischen verschiedenen Kommandoblöcken zu wechseln oder diese als Unterprogramme aufzurufen.

Die eigentlichen Grafikprimitiven sind nicht ungewöhnlich: Punkte, Kreise, Kreisbögen, Linien, Polylinien, Rechtecke und Text. Zusätzlich gibt es noch die Funktion ‘IncrementalPoints’, mit der Folgen von nebeneinanderliegenden Punkten gezeichnet werden können. Dabei werden in einem Array die Richtungen angegeben, in die sich der Grafikprozessor zum Setzen des jeweils nächsten Punktes ‘bewegen’ soll. Da jedes Pixel neun Nachbar-Pixel hat, stehen neun Richtungen zur Verfügung. Das Ganze ähnelt grob der ‘Turtle Grafik', die man zum Beispiel von Logo kennt.

Eine weitere nützliche Erweiterung ist das ‘Scan Line'-Kommando: Man kann es benutzen, um horizontale Linien mit Mustern zu zeichnen oder um Bereiche zu füllen. Das Kommando ist eine sehr allgemeine und schnelle Methode, horizontale Linien mit beliebigen Pixel-Folgen zu füllen.

Natürlich gibt es auch Funktionen, um Zeichenparameter zu setzen, wie z.B. Farben, Füllmuster, logische Hintergrundverknüpfung, Bitmap Parameter, Clipping-Rechteck, Textfont usw..

Ein paar Anmerkungen zum Thema Text: Der 82786-Prozessor verwendet Text-Fonts, die in geeigneten Datenstrukturen im Videospeicher abgelegt werden. Die maximale Größe für einen Buchstaben ist eine 16*16 Matrix. Proportionalschrift ist selbstverständlich möglich. Parameter für Textrichtung, Buchstabenabstand und Font-Auswahl bestimmen das Aussehen.

Mit Hilfe der Funktionen zur Kopie von rechteckigen Blöcken kann man natürlich auch größere Schrift aus Teilbuchstaben zusammensetzen. Überhaupt sind die Blockkopierfunktionen schnelle und leistungsfähige Instrumente, sowohl inner halb einer als auch zwischen verschiedenen Bitmaps. 24 Millionen Pixel pro Sekunde ist die maximale Transferrate.

Besondere Beachtung verdient der sogenannte Picking-Modus' des Grafikprozessors. In diesem Modus werden keine Pixel gezeichnet, sondern nur ihre Positionen mit dem aktuellen Clipping-Rechteck verglichen. Wenn irgendein Pixel, das durch die Zeichenfunktion gesetzt wurde, innerhalb des Rechtecks liegt, wird ein spezielles Flag gesetzt. Sinn der Sache: Man kann extrem komfortabel eine Maus/Icon-Überwachung programmieren oder auch Routinen, die feststellen, auf welches Objekt einer Zeichnung der Mauszeiger zeigt. Man setzt einfach das Clipping-Rechteck auf die Größe und Position des Mauszeigers und zeichnet jedes Objekt im Picking-Modus neu. Überschneidet sich das Objekt mit dem Clipping-Rechteck, macht sich der Grafikprozessor lautstark bemerkbar. Auch objektorientierte Zeichenprogramme profitieren von dieser Fähigkeit des Prozessors. Einziger Nachteil des Picking-Modus: Er arbeitet nicht mit allen Zeichenprimitiven zusammen. Die Kreisprimitiven können zum Beispiel nicht im Picking-Modus verwendet werden.

Natürlich ist ein Grafikprozessor vom Schlage eines 82786 nicht nur vielseitig und flexibel, sondern auch noch extrem schnell. Die spezielle Zeichen-Hardware schlägt selbst extrem effiziente Assembler Implementierungen auf dem 68000 um Längen; nicht nur im Blocktransfermodus, sondern auch beim Linienzeichnen, Flächenfüllen und vor allem bei der Fensterverwaltung.

TECHNISCHE DATEN

Auflösungen:

  1. 13,75 MHz, 800*600 Bildpunkte, maximal 256 Farben interlace 50 Hz Halbbildfrequenz (für Video- und Genlock-Anwendungen):
  2. 27,5 MHz, 640*480 Bildpunkte, maximal 256 Farben aus 262144 non-interlace, 66 Hz Bildfrequenz;
  3. 27,5 MHz, 800*600 Bildpunkte, maximal 256 Farben aus 262144 interlace. 80 Hz Halbbildfrequenz;
  4. 55 MHz, 896*684 Bildpunkte, maximal 16 Farben aus 262144 non-interlace, 67 Hz Bildfrequenz;
  5. 55 MHz, 1280*1024 Bildpunkte, maximal 16 Farben aus 262144 interlace, 65 Hz Halbbildfrequenz;
  6. 110 MHz, 1280*960 Bildpunkte, monochrom non-interlace, 60 Hz Bildfrequenz.

Grafikprozessor Intel 82786

Software-Support

Die direkte Programmierung des 82786 ist nicht ganz einfach. Deshalb gibt es einen Treiber, der aus einem Auto-Ordner gebootet werden kann und dann resident im Speicher bleibt. Mit diesem Treiber läßt sich der Grafikprozessor auf der MGE komfortabel aus einer Hochsprache heraus programmieren. Eine entsprechende Include-Datei steht im Moment für Turbo C zur Verfügung, aber es dürfte kein Problem sein, diese auch an andere Sprachen anzupassen, soweit diese über einen Mechanismus für den direkten Zugriff auf Speicheradressen verfügen (kein Problem in BASIC, ST-Pascal, Prospero-Pascal, SPC Modula etc.).

Nicht nur die Kommandos des Zeichenteils des 82786 sind mit dem Treiber komfortabel zu programmieren, auch bei der Fensterverwaltung, die Teil des Display-Prozessors ist, gibt es große Hilfen: Fenster können mit einfachen Befehlen erzeugt, gelöscht, geöffnet, geschlossen oder verändert werden. Bei direkter Programmierung ist man zwar sicherlich vielseitiger, hat aber auch mit einigen Problemen mehr zu kämpfen.

Schließlich ist auch die Farbtabelle, die ja nicht Teil des Grafik-Coprozessors ist, mit dem Hardware-Treiber programmierbar. Für jeden der 256 Werte, die in der Pixmap im Farbmodus eingetragen werden können, gibt es hier einen zugeordneten Farbwert, der aus der sehr viel größeren Palette ausgewählt werden kann. Man kann die Palette zum Beispiel mit Grautönen oder einer Reihe von Rot-, Blau- und Grüntönen füllen oder eben mit jeder beliebigen Farbzuordnung, die für die Anwendung notwendig erscheint.

Der Hardware-Treiber ist natürlich nur für Programmierer interessant. Wirklich universell brauchbar wird die MGE erst mit einem VDI-Treiber, der es jedem Programm, das nicht direkt oder über die Line-A-Routinen auf den Bildschirm zugreift, also jedem sauber und portabel geschriebenen GEM-Programm, erlaubt, sofort mit der Grafikkarte zusammenzuarbeiten. Wordplus und Calamus sind gute Beispiele für derartige Programme. Signum oder Tempus entsprechende Gegenbeispiele.

Leider war der VDI-Treiber bei Entstehen dieses Berichtes noch nicht fertig, so daß der Autor keinerlei Aussagen über seine Fähigkeiten und besonders seine Zuverlässigkeit zu machen imstande ist. Die bisherigen groben Vorversionen lassen eine Geschwindigkeitssteigerung gegenüber der Original-GEM-Version um mindestens den Faktor 10 erwarten. Auf der ATARI-Messe in Düsseldorf werden wir mehr erfahren...

Großbildschirme, die den 1280*960 Pixel-Modus, der besonders für DTP- und CAD-Anwendungen interessant ist, verkraften können, sind nach wie vor sehr teuer. Es ist auch nicht zu erwarten, daß sich diese Situation in der nächsten Zeit ändert. Daran ändert auch der ATARI-Großbildschirm nichts. Der VDI-Treiber der MGE bietet eine interessante Lösung:

Die höchste Auflösungsstufe kann in jedem Grafikmodus emuliert werden. Die extreme Scrolling-Geschwindigkeit des Grafikprozessors sorgt dafür, daß auch auf einem kleineren Monitor (z.B. einem Multisync II) effizient mit Programmen für Großbildschirme gearbeitet werden kann. Dies besonders deshalb, weil der entsprechende Mechanismus nicht dem jeweiligen Programm überlassen, sondern fest in den Treiber integriert ist.

Für den Test in dieser Ausgabe haben wir einen kleinen Trick angewendet, mit dem man bereits jetzt und fast ohne spezielle Software GEM-Programme auf der MGE benutzen kann: Das Utility Protos. Protos beinhaltet eine Art VDI-Emulator, der es ermöglicht, einen virtuellen Bildschirm von nahezu beliebiger Größe auf dem ST zu benutzen, nur durch den maximalen Speicher des STs begrenzt. Normalerweise liegt die Bildschirmadresse dann natürlich im normalen Hauptspeicher des STs, was natürlich noch gar nichts nützt. Deswegen benötigt man ein weiteres Hilfsprogramm. das die Speicheradresse für den Bildschirm in den Videospeicher der MGE umlegt und natürlich auch die Grafikkarte in geeigneter Weise initialisiert. Eine entsprechende Lösung ist zwar nur ein Provisorium, da die eigentliche Zeichenarbeit immer noch vom ST statt durch den erheblich schnelleren Grafikprozessor erledigt werden muß. aber immerhin, man kann die Grafikkarte auf diese Art und Weise bereits benutzen.

Fazit

Die MAXON Graphic Expansion ist bei einem Anschaffungspreis von DM 1798,- eine preisgünstige Möglichkeit, dem ST endlich zu wahrhaft modernen Grafikleistungen zu verhelfen. Mit einem VDI-Treiber und der besonderen Zeichenleistung des 82786-Grafikprozessors erreicht man auch bei Standard-GEM-Programmen eine wirklich beeindruckende Darstellungsgeschwindigkeit auf dem Bildschirm.

Programmierer, die spezielle Applikationen im Videobereich anbieten wollen, werden auch ihre Freude an der Karte haben: Die Möglichkeiten bei direkter Programmierung lassen die üblichen Beschränkungen von PCs vergessen.

Für Grafikfans, die in großer Farbvielfalt arbeiten wollen, und für ernsthafte Anwendungen mit Großbildschirmen - die MAXON Graphic Expansion ist tatsächlich ‘eine für alle’.

PS: Die Farbbilder sind gescannt und dann vom Bildschirm abfotografiert worden.

CS/MM

Bezugsadresse:

MAXON Computer GmbH Industriestr. 26 6236 Eschhorn



Aus: ST-Computer 09 / 1989, Seite 16

Links

Copyright-Bestimmungen: siehe Über diese Seite