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