Die Anpassung von Terminals wird notwendig, wenn Terminals an ein L3 Multiuser- System angeschlossen werden sollen, f�r die keine Anpassungen in der Task configurator vorhanden sind. Um die Erfordernisse einer Anpassung zu verstehen, lohnt ein kurzer Blick auf das Ziel einer solchen Anpassung und die verschlungenen Pfade zwischen Tastatur, Task und Bildschirm.
Ziel ist, da� Tastaturen und Bildschirme stets ein Verhalten zeigen sollen, das einem PC m�glichst �hnlich ist. Da ggf. auch DOS Programme ausgef�hrt werden, wird erwartet, da� sich eine Tastatur wie eine PC Tastatur mit 101/102 Tasten verh�lt und ein Bildschirm wie ein PC Bildschirm im Textmodus aussieht. Er habe 25 Zeilen zu 160 Byte in denen 80 Zeichen/Attributpaare gespeichert sind.
Handels�blich sind zwei Typen von Terminals: PC Term und ASCII Terminals. Die Klasse PC Term umfa�t neben echten PC's, f�r die eine Terminalemulation im L3 Diskettensatz beiliegt, auch viele neuere Terminals, deren Firmware neben diversen Emulationen auch den PC Term Modus anbietet. Dieser Modus bewirkt, da� Tastatureingaben als �Make- Breakcode� an das L3 System gesendet werden und f�r Ausgaben der vollst�ndige PC Zeichensatz zur Verf�gung steht.
Exkurs: Scancode und Zeichencode
Der Scancode ist die Tastennummer der gedr�ckten Taste. Die ESC Taste hat die Nummer 1, anschlie�end folgt die obere Ziffernreihe ab Taste Nummer 2 usw. Diese Tastennummer wird vom Tastaturprozessor im Zusammenhang mit den Umschalttasten SHIFT, CNTR und ALT zu einem Zeichencode ausgewertet. Zum Beispiel liefert ein Druck auf die Taste Nummer 30 den Zeichencode 97, das a, ein Druck auf die Taste Nummer 30, w�hrend die Taste Nummer 42 (SHIFT) gedr�ckt ist, 65, das A und so weiter.
Vorsicht Falle: Terminals, die im PC Term Modus angeschlossen sind, k�nnen nicht mit dem Softwareprotokoll XON/XOFF betrieben werden, da die f�r XON/XOFF benutzten Codes 17 und 19 die Scancodes von w und r sind. Falls ein Softwareprotokoll ben�tigt wird, kann PC Handshake benutzt werden.
Ende Exkurs
Ein ASCII Terminal ist ein Terminal, das f�r jedes Zeichen einen Code oder eventuell eine Escape-Sequenz sendet oder erwartet. Diese Terminals stammen aus dem UNIX- oder Gro�rechnerbereich. Sehr weite Verbreitung haben z.B. VT 200 Terminals und kompatible. F�r diesen Typ sind Umsetztabellen in L3 vorhanden. Da grunds�tzlich gesehen ASCII Terminals nicht die n�tigen Eigenschaften f�r L3 besitzen (nur 24 Zeilen, evtl. keine Blockgrafik etc.) ist ihre Verwendung nicht empfehlenswert.
Beteiligte Komponenten und Typ der Botschaften zwischen den Komponenten lassen sich folgender Skizze entnehmen:
GDP Bytestream Tastatur ---> Treiber SIxx ---> Keyb Manager/Tabelle GDP Scan,Taste \ RTS oder direkt / GDP Alpha8 Bildschirm <--- Treiber SOxx <--- Dsp Manager/Tabelle GDP Bytestream
Die Einstellung eines bestimmten Terminaltyps erfolgt interaktiv in der Task configurator. Nach Festsetzung aller Einstellung werden mit den Standarddatenr�umen display.com.bin und keyboard.xx.bin und den eingestellten Tabellen Keyboard- und Displaymanager erzeugt.
Um ein Terminal anzupassen, f�r das es noch keine Umsetztabellen gibt, ist bei den Funktionen 7 und 8 der Typ <neue tabelle> auszuw�hlen. Als Vorbild kann h�ufig ein Typ gew�hlt werden, aus dessen Tabellen viele Umsetzungen bestehen bleiben k�nnen.
Eine Tastaturanpassung wird durch die Zusammenstellung einer Umsetztabelle bewerkstelligt. Diese Tabelle gibt an, wie Codes, die beim Dr�cken einer Taste gesendet werden im Keyboardmanager zu Paaren scancode, zeichencode umgesetzt werden sollen. Diese Paare (scan, zeichen) werden dann dem ELAN Laufzeitsystem der Task oder dem direkten Partner des Keyboardmanagers zugestellt.
Im configurator (Option 7) sind Umsetztabellen f�r PC Terminals und f�r ASCII Terminals enthalten:
Die Tabellen haben f�r jede Taste eine Angabe der Art:
Modus System-Code scan ascii .... 8 8 : 255, 255 7 8 : 8, ""123"" 5 8 : 126, 0 2 8 : 8, "/" 1 8 : 8, "7" ....
Der Modus beschreibt die Umschalttasten:
Die Tabellen enthalten Angaben der Art:
ascii scan Tastatursequenz .... 24, 45; ""24"" 25, 44; ""25"" 26, 21; ""26"" 253, 255; ""27"[34"126"" 0, 134; ""27"[33"126"" 0, 133; ""27"[32"126"" 0, 68; ""27"[31"126"" 255, 255; ""27"[29"126"" ....
Hier wird f�r jede vom Terminal gesendete Sequenz angegeben, in welchen scancode, asciicode sie umgesetzt werden soll.
Auf der Diskette mit Beispielprogramm findet sich ein einfaches ELAN Programm namens tasttest. Mit die Programm an der CONSOLE kann man sich einfach die Codes, die beim Dr�cken von Tasten(kombinationen) erzeugt werden, ansehen.
F�r jedes Terminal m�ssen insbesondere auch HotKeys definiert werden. Diese Tasten(kombinationen) sind f�r forced link, Anhalten und Wiederanlauf der Bildschirmausgabe etc. erforderlich.
forced link bewirkt das Ankoppeln der Terminaltask.
Der Hotkey stop bewirkt das der Displaymanager die laufende Ausgabe pausiert. Das Anhalten der Bildschirmausgabe wird durch Dr�cken irgendeiner Taste beendet.
In den Zeichentabellen des configurators werden n�tige Zeichenumsetzungen, eine angemessene und m�gliche Darstellung der Farbattribute und die Codierung von Aktionen wie �Rest der Zeile l�schen� eingetragen.
Zeichenumsetzungen sind z.B. f�r die Zeichen n�tig, die nicht dargestellt werden sollen. In diesem Falle ist eine Umsetzung von code(char) => " " einzutragen.
Folgende Leistungen k�nnen als STEUERUNG <no> in die Tabelle aufgenommen werden. Es handelt sich um Aktionen, die eventuell von der Terminalfirmware unterst�tzt werden. Aus Gr�nden der Lesbarkeit sind die Aktionen teilweise nicht als Streuerung xy, sondern �im Klartext� in die vorhandenen Tabellen eingetragen.