next up previous contents index
Next: Index Up: L3 Referenzhandbuch Previous: Die Systemaufrufe

Anpassung von Terminals

Einf�hrung

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.

tabular13039

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.

Tastaturanpassung

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:

PC Terminals

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:

tabular13066

ASCII Terminals

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.

Hot Key

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.

tabular13085

Bildschirmanpassung

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.

tabular13104


next up previous contents index
Next: Index Up: L3 Referenzhandbuch Previous: Die Systemaufrufe

Michael Hohmuth
Sun Mar 31 04:49:53 MET DST 1996