
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, <a href="./1987-BHV-03 GDP64-auslesen/GDP64-auslesen.htm">man rüstet die Eigenschaft in Hardware nach</a>).

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

