1987-22-Club80 S.63-66 Das 80-Zeichen-Karten-Problem und seine Lösung Helmut Bernhardt Vor dem Untergang der offenen und entwicklungsfähigen Computertechnik durch Verdrängung durch den "Industrie-Standard" wurde von einer Aachener Firma für TRS-80 und GENIE ein 80-Zeichen-Karte angeboten. Wenn diese Karte auch in den meisten Fällen nur Probleme bereitete, war sie doch eine Option die durch entsprechende Verbesserung durchaus eine Erweiterung für unsere Computer hätte werden können. Diese Karte entsprach der TRS-80-Philosophie, daß der-Bildwiederholspeicher in den Adreßraum der CPU eingeb1endet ist und die CPU die Bildschirmverwaltung selbt erledigen muß, Wie das bei unseren Computern für den 64 X 16-Bildschirm ohnehin gemacht wird und Level II ROM und vom DOS auch unterstutzt wird. Die 80-Zeichen-Karte wird allerding nicht untertützt. Nur bei neueren TRS-80- und GENIE-Rechnern ist bei der dort schon eingebauten 80-Zeichen-Option ein manchmal funktionierender Treiber im DOS enthalten. Aber al die Programme für den TRS-80, die vom 80 X 24-Bildschirm nichts wissen und die Videoausgabe nicht über das DOS abwickeln, merken nichts davon, so daß bei Umschalten auf 80 Zeichen dann nur Zeichensalat entsteht. Glüclicherweise gibt es immer Leute, die aus Begeisterung für ein bestimmtes Programm in mühvoller Arbeit dort die Unterstützung solcher Hardware-Erweiterungen einbauen. Dadurch wird ein 80 x 24-Zeichen-Bildchirm aber immer noch nicht TRS-80-kompatibel. Es sollte noch erwähnt werden, daß im GENIE III und IIIs ausschließlich mit dem CRTC6845 der Bildschirm verwaltet wird. Durch Programmirgrung des 6845 kann dieser in 64 x 16- und im 80 x 24-Format arbeiten. Im GIII ist außerdem der Zeichengenerator ein RAM-Speicher in den beliebige Zeichensätze geladen werden können, wobei dann aber immer nur ein Zeichensatz zur Zeit benutzt werden kann. Außerdem verfügt der GIIIs noch über eine flexible HRG, die mit dem Textbildschirm XOR-verknüpft angezeigt werden kann. Trotzdem bleibt es aber Aufgabe der CPU, im Textmodus die Bldschirmadresen zu berechnen und im HRG-Modus beim Zeichnen einer Linie alle Punkte der Linie zu errechnen. Der eigentliche Sinn eines 80 x 24-Zeichen-Bildschirms ist auch nicht die Anpassung des NEWDOS/80 daran sondern die Nutzung unter CP/M. Für CP/M muß ohnehin das BIOS der Hardware angepaßt werden und da kommt es dann nicht mehr darauf an, ob ein 80 x 24-Bildschirm ähnlich unserem 64 x 16-Bildchirm bedient wird oder ob da völlig andere Verhältnise vorliegen. Wenn also eine noch so sehr an die TRS-80-Verhältnisse angenäherte 80-Zeichen-Karte dann doch nicht kompatibel ist, dann kann es auch eine bliebig angeschlossene Terminal-Karte sein. Solche Karten bedeuten zudem noch einen gegringeren Programmieraufwand, weil das Anwenderprogramm bei einacher Zeichenausgabe ohne absolute Cursor-Adresieryng sich kine Gedanken um Bildchirmposition, Zeilen- und Seitenende und Scrolling machen muß. Diese Leistungen erbringt se1bst das dümmste Terminal selbst. Grundsätzlich ist ein Terminal ein Interface zwichen Computer und Anwender und umfaßt daher zur Ausgabe an den Anwender die Bildschirausgabe (und manchmal zusätzlich auch die Druckerausgabe) und die Tastatureingabe. Die Eingabe erfolgt hauptsächlich über ASCII-Tastaturen, die mit einem Strobe-Signal dem Terminal ein ASCII-Zeichen übergeben. Das wird zum Teil parallel oder auch seriell gelöst. Das Terminal gibt das Zeichen unbesehen an den Computer weiter und dieser echot es nach Übernahme an das Terminal zurück. Erst dann wird das Zeichen vom Terminal auf den Bildschirm ausgegeben. In einigen Fällen werden dabei Ausnahmen gemacht. So verstehen Terminals meisten ein bestimmtes Steurzeichen als Befehl 'Local' und ein anderes (oder das gleiche ein zweites mal) als Befehl 'On line'. Damit kann man umschalten zwischen Ausgab nur der Zeichen vom Computer und sofortige Ausgabe der Zeichen von der Tastatur. ohne diese an den Computer weiterzureichen. Manche Terminals können auch mit einem Steuerzeichen in einen Setup-Modus versetzt werden, von wo aus gewisse Parameter des Terminals üuber die Tastatur geändert werden können. Dazu kann gehören; die Umschaltung dss Bildschirmfor- mates die Wahl nationaler Zeichensätze, die Änderung der Baudrate für die Kmmunikation mit dem Computer u.s.w. Die Verbindung mit dem Computer kann verschieden3 Formen annehmen. Die ver- breitetste Variante it ein über eine serielle Schnittstelle angeschlossenes Terminal. Damit ist es möglich, daß das Terminal mit Bildschirm und Tastatur ein eigenständiges Gerät ist und der Computer weiter entfernt stehen kann. Da bei den heutigen Tischgeräten dieser Gesichtspunkt nicht mehr ausschlaggebend ist, werden auch schon viele 'Video-Karten' für diverse Bussysteme als Steck- karten im Computer über den Systytembus angeschlossen. Einige Varianten vereini- gnn beide Gesichtspunkte und verfügen über z.B. einen ECB-Bus-Stecker, der nur der Zuführung der Versorgungsspannungen dient, und eine RS232C-Verbindung mit dem Computer. Prinipiell ist der Anschluß über den Systembus wegen des paral- lelen Datentransfers schneller. Bei Baudraten von 9600 oder 19200 ist aber auch der serille Anschluß schnell genug. Auf alle Fälle kann er mit der Ausgabe eines memory mappd Bildchirms, der unter CP/M für die Ausgabe jedes Zeichen ständig ein- und ausgeblendet werden muß, mithalten. Das hat alles Vor- und Nachteile: Ein Terminql verlangt eine ehr viel leitungsfähigere Tastatur, die schon selbst die Umwandlung von ausgelesenen gedrückten Tasten in ASCII-Codes leisten muß. Bei unseren Rechnern muß das DOS bzw. der Z80 diese Umwandlung erledigen, was entsprechend umfangreiche Einga- beroutinen und auch CPU-Rechenzeit kostet. Da ein Programm aber bei Eingaben ohnehin nur auf die Tastatur wartet, ist das ohne Belang. Anderseits ist es bei einer ASCII-Tastatur auch nicht möglich, Mehrtasten-Befehle einzubauen (123, JKL DFG). Ähnliches kann aber mit programmierbaren Funktiontasten oder iner Interrupt-getriebenen Terminaleingabe auch realisiert werden. Das wird abtr in den meisten Fälln aus Angst vor Interrupt-Programmierung unterlassen. Programmierbare Funktionstasten von ASCII-Tastaturen werden meistens durch Aus- gab von Codes > 7F beim Drüceen einer 'F'-Taste realisiert. Die Eingaberou- tine des Betriebssystems lügt sich dann bei einem solchen eingegebengn Zeichen einen diesem Zeichen zugeordneten String als eingegeben vor. Als reines Textausgabegerät kann also eine Terminal-Karte in TRS-80-kompatiblen Computern insbesondere unter CP/M als leistungsfähiger Ersatz für eine von der CPU selbst verwaltete, memory mapped 80-Zeichen-Karte gute Dienste leisten. Der Anchluß einer ASCII-Tastatur ist mög1ich aber nicht zwingend. Gegenüber der minimal-Tastatur des TRS-80 und des GENIE ist eine ASCII-Tastatur aber ein zu- sätzlicher Komfort, der die übliche Fingerakrobatik bei der Eingabe von Umlau- ten endlich durch dafür vorgesehene Tasten an der richtigen Stelle ersetzt. Bei Terminal-Karten existiert ein igener Prozessor, der den Bildwiederhol- speicher verwaltet und die von der CPU übergebnen Zeichen entgegennimmt. Außer den darstellbaren Zeichen (20H-7FH) versteht er die meisten Steuerzeichen (00h- 1FH) und setzt diese in entsprechendes Wohlverhalten um. Meistens reichen diese Befehle aber nicht für alle Wünsche der Bildchirmverwaltung aus, so daß außerdem noch ESC-Sequenzen weitere Steuerfunktionen bereitstellen. In der Festlegung solcher ESC-Sequenzen und in deren Menge unterscheiden sich die verchiedenen Terminals voneinander. Die Bedienung eines Terminal ähnelt also mehr der eines Druckers als der des herkömmlichen TRS-80-Bi1dschirms. Und genauso wie bei den Druckern gibt es mehr oder weniger leistungsfähige Termi- nals. So gibt es analog den Typenrad-Druckern auch reine Text-Terminals, die nur ASCII-Zeichen (natürlich auch deutsche Umlaute) darstellen können, und andere die wie ein Matrixdrucker auch graphikfähig sind. Eine solche graphikfähige Terminalkarte, die GRIP, hat uns Manfred Held im letzten Info schon vorgestellt und auch gezeigt, daß sowas bei uns durchaau gute Dienste leisten kann. Die neueste Version der GRIP (Vers.5.3) ist in der Lage, HR mit 768x567 Punkten darzustellen und Text in bis zu 96x35 Zeichen auszugeben. Durch den HD6345- CTRC, der aufwärtskompatibei zum MC6845 ist, wurde dort auch ein augenschonen- des Smooth-Scrolling (Hochschieben des Bildschirminhaltes nicht textzeilenwei- se sondern dotzei1enweise) erreicht. Gegenüber der etwas lahmen Urform GRIP1 ist die GR3P5.53 eine der schnellsten Terminal-Karten für CP/M-Computer überhaupt. Eine ähnlich leistungsfähige Karte ist die Video 1 von Janich & Claas, die ebenfalls HRG und Textdarstellung beherrscht. Weniger empfehlenswert ist die TERM 1 des mc-CP/M-Computers, die zwar wegen des EF9366 Video-Controllers in der Graphik einige interessante Aspekte bietet, die aber wegen der äuerst langsamen Textdarstellung überhaupt nicht zu gebrauchen ist. Die GDP des ND-Klein-Canputers ist eine stark abgemagerte TERM 1 ohne eigenen Terminal-Prozessor. Hier muß die CPU selbst den EF9366 programmieren. Das bringt zwar Geschwindigkeitsvorteile, macht die normale Textausgabe aber recht umtändlich. Diese Karte ist auch im eigentlichen Sinn kein Terminal, ihre Bedeutung ist auch einzig in der schnellen Vetorgraphif des Ef9366 zu sehen. Beiden Karten mit dem EF9366 ist gemeinsam, daß sie die vereinhahmten HRG- Inhalte nicht wieder hergeben (es sei denn, man rüstet die Eigenschaft in Hardware nach). In den meisten Fä11en genügt es aber, wenn man für die Implementation von CP/M eine reine 80x24-Text-Terinal-Karte benutzt. CP/M fordert zwar keine 80x24- Zeichen-Darste1lung und flexiblere Programme lassen sich auch für 64x16- Bild- schirme installieren; die meisten unter CP/M laufendn Programme gehen aber von dieser Bildschirmgröße aus, so daß man beim 64x16-Zeichen-Format einen großen Teil der Informationen nur vorbeihuschen siet und nicht lesen kann. Besanders ärgerlich ist dies bei den in vielen Utilities aus dem Programm heraus auruf- baren HELP-Texten. Eine sehr elegante Lösung besteht in der Verwendung des c't-Text-Terminals. Neben einer mit maximal 19200 Baud Übertragungsrate sehr schnellen Textausgabe überzeugt diese Karte besonders durch ihr günstiges Preis/Leistungs-Verhältnis, Die Karte läßt sich für ca. 300 DM aufbauen und bietet dabei eine Fülle von Op- tionen. So lassen sich Zeichen mit bis zu 8 gleichzeitig wirksamen Attributen darstellen und es können gleichzeitig verschiedene Zeichen oder Zeichengruppen auf dem Bildschirm mit verschiedenen Attributen dargetellt werden. Die Attri- bute umassen; Normaldarstellung, doppelt breit, doppelt hoch, halb hell, in- vers, blinkend und unsichtbar. Die Attribute werden durch entsprechende ESC-Se- quenen gesetzt und gelten dann für alle folgenden ausgegebenen Zeichen, bis andere Attribut-Befehle augegeben werden. Literatur Low-Cost: c't Text-Terminal; Tilman Reh; c't 9/86, 65 Das mc-Termimal; R. Jäger, H.J. Regge, G.Tobergtr; mc 9/83, 70 Das mc-Graphik-Terminal: R.-D. Klein; mc 8/83, 68 Graphik-Intrfsce-Prozessor GRIP 1; J.C.Lotter, c't 6/84, 52; c't 7/84, 92