Das Wombat Terminal Program (WTP) Amiga Version 3.01, November 1986 Dokumentationsdatei "Wtp.doc" Delphi: DAVEWARKER Compuserve: 70406,626 DAS PROGRAMM "DAS WOMBAT TERMINAL PROGRAMM" (WTP) UND DIE DAZUGEHÖRIGE ANLEITUNG SIND GRATIS KOPIERBAR. DER AUTOR ALS EIGENTÜMER DES COPY- RIGHTS ERLAUBT ES JEDERMANN, KOPIEN ANZUFERTIGEN, SOLANGE DAS OHNE PROFIT GESCHIEHT UND DER WEITERVERBREITUNG KEINERLEI SCHRANKEN AUFER- LEGT WERDEN. 1. Was ist "Wtp", und warum gibt es "Wtp" ? a. Allgemeine Merkmale b. Mitgelieferte Dateien c. Minimalkonfiguration d. Optimalkonfiguration e. Der Aufruf von Wtp 2. Einstellung der Schnittstelle a. Baudrate b. Zeichenformat (Länge & Parität) c. Stoppbits d. XON/XOFF Handshake 3. Benutzereinstellung a. Cursorform b. Warnton 4. Benutzerdefinierbare Funktionstasten a. Vorgehensweise bei der Belegung b. Die Benutzung einer belegten Funktionstaste 5. VT-102 Terminal Emulation a. Unterstützte Merkmale b. Nicht unterstützte VT102-Merkmale c. Ergänzungen und Unterschiede 6. Dateiübertragung a. Text-Capture b. XMODEM-Übertragung 7. Wählautomatik 8. Mit Wtp abgespeicherte Einstellungen a. Abspeichern von Einstellungen b. Wiederladen von Einstellungen 9. Verschiedene Eigenschaften A. Überarbeitungsgeschichte a. Änderungen der Version 3 zu Version 2 B. Dinge, die Du vielleicht nicht wissen willst a. Format der abgespeicherten Einstellungsdateien 1. Was ist "Wtp", und warum gibt es "Wtp" ? --- --- ------ --- ----- ---- -- ----- - "Wtp" ist eine Terminalemulation, die (im Moment) nur auf dem Commodore Amiga (tm) PC läuft. Der Grund, daß das Programm geschrieben wurde, liegt darin, daß der Autor die vielen seltsamen und wunderbaren Mög- lichkeiten des Amiga kennenlernen wollte, und er hatte schon ziemliche Erfahrung im Programmieren von Terminalprogrammen. Auch gab es zu der Zeit, als die Arbeit an Wtp begonnen wurde, nur sehr wenige Terminal- programme für den Amiga (während es mittlerweile ja Terminals wie Sand am Meer gibt). a. Allgemeine Merkmale ---------- -------- - DEC VT-102 Terminalemulation. "Wtp" sorgt für vollständige Emulation einschließlich: Alle Editorfunktionen, Zehnerblock und Funktions- tastenbelegung, Zeichensätze für Grafik und Linienziehen, VT-52 Emu- lation, Bildschirmeinstellungen, Tabulatoren und andere Funktionen. Eine komplette Liste enthält der Abschnitt über die VT-102-Kompati- bilität. Die VT-102 Emulation wurde mit EDT, Emacs und einem spezi- ellen Kompatibilitätstest ausprobiert. - XMODEM- und Textdateiübertragung. Eine schnelle XModem-Empfangs- routine ist ebenfalls enthalten. - Programmierbare Funktionstasten. - Baudraten bis 19.200 und verschiedene Zeichenformate einstellbar. - Glockensignal visuell, audiell oder per Sprachausgabe einstellbar. Der Inhalt der Sprachausgabe ist vom Benutzer definierbar. Verschie- dene Cursorformen werden unterstützt. - Selbstwählen. - Einstellungen abspeicherbar und ladbar; einschließlich Funktions- tastenbelegung, Übertragungsparameter, Benutzereinstellungen und eine Selbstwählnummer. Selbstwählen durch Laden einer Einstell- datei möglich. b. Mitgelieferte Dateien ------------- ------- ANMERKUNG: Wtp wird GRATIS vertrieben! Zu Version 3 von "Wtp" werden folgende Dateien mitgeliefert: "Wtp" das Programm selbst "Wtp.info" das Icon von Wombat "Wtp.doc" diese Anleitung "sgTopaz.fnt" ein modifizierter Zeichensatz mit speziellen Grafikzeichen. "sgTopaz.8" zusätzliche Daten des Topaz-Zeichensatzes "InstalSg" Mit EXECUTE gestartet, installiert diese Datei den modifizierten Zeichnensatz ins FONT: - Ver- zeichnis. Der veränderte Zeichensatz wird nur bei Benutzung des besonderen VT-102- Zeichensatzes benötigt. c. Mindestkonfiguration: --------------------- Die Grundfunktionen von Wtp benötigen folgende Systemdateien: "DEVS:serial.device" Serieller Treiber d. Optimalkonfiguration: --------------------- Einige Programmfunktionen benötigen zusätzlich folgende Systemdateien: Bei Gebrauch des speziellen Grafikzeichensatzes bei VT-102-Emulation: "FONTS:sg_Topaz.font" Veränderter Zeichensatz "FONTS:sg_Topaz/8" (beide Dateien wurden mitgeliefert!) Benutzung der Sprachausgabe: "DEVS:narrator.device" Sprachausgabetreiber e. Der Aufruf von Wtp --- ------ --- --- Wtp kann von CLI oder Workbench gestartet werden, wenngleich der CLI- Start der einzige Weg ist, beim Start eine Einstellungsdatei mit an- zugeben. Bei großer Nachfrage wird das Programm noch dahingehend ge- ändert, daß auch im Info-Menü die Datei angegeben werden kann. Aufruf von der Workbench: Klicke zweimal auf das Icon. Aufruf vom CLI: gib ein: "wtp ", wobei anstelle der (optional) angebbaren Einstellungsdatei steht, die beim Start mitgeladen werden soll. Wurde keine Datei angegeben, dann sucht Wtp zunächst im aktuellen Ver- zeichnis; anschließend im Verzeichnis "SYS:Wtp" nach einer Datei namens "default.wtp". Nach Auffinden der Datei werden die dort angege- benen Einstellungen geladen, ansonsten werden die von mir vorgegebenen Einstellungen benutzt. Nach dem Laden erscheint zunächst ein leerer Bildschirm, in der linken oberen Ecke der Cursor und die momentane sowie die Zeit seit Laden des Programmes in der Statuszeile am unteren Bildschirmrand. Falls Du stattdessen eine Alarmmeldung siehst, dann fehlte Wtp etwas zum Start. Es gibt folgende Alarmmeldungen: "Can't open window" Wtp konnte kein Ausgabefenster unter Intuition öffnen. Möglicherweise fehlte es an Speicherplatz. "Can't get cursor sprite" Der von Wtp benutzte Cursor ist in Wirklichkeit ein Hardware-Sprite. Wenn ein anderes Programm alle verfügbaren Sprites belegt hat, erhältst Du diese Fehlermeldung. "Can't open timer" "Can't open serial Port" Entweder hatte Wtp nicht genügend Speicherplatz zur Verfügung, um die MsgPorts oder IORequests zu installieren, oder die Datei "serial.device" ist nicht verfügbar. Wenn keine Alarmmeldung erscheint, läuft das Programm, und Du kannst damit beginnen, die notwendigen Einstellungen vorzunehmen. In der rechten unteren Bildschirmecke wird die Sitzungszeit angegeben. Dabei handelt es sich um die Zeit in Stunden und Minuten, seit die momentane Verbindung hergestellt wurde oder seit die Zeit per "RESET SESSION TIME"-Menüpunkt auf 0 gestezt wurde. Die momentane Zeit wird im normalen 24-Stunden-Format des Amiga angezeigt. 2. Einstellung der Schnittstelle ----------- --- ------------- Wtp benutzt die eingebaute serielle Schnittstelle zum Datenaustausch. Die benutzten Parameter sind im PORT-Menü einstellbar. Alle hier getroffenen Einstellungen werden in der Einstellungsdatei abgespeichert. Wenn die Preferences auf der Diskette enthalten sind, werden dessen Parameter in jedem Falle bei Programmstart genommen. a. Baudrate: --------- Dieser Menüpunkt stellt die Sende- und Empfangsgeschwindigkeit ein. Erlaub- te Geschwindigkeiten sind: 300, 600, 1.200, 2.400, 4.800, 9.600 und 19.200 Baud. Bedenke aber, daß Wtp, auch wenn es alle diese Geschwindigkeiten benutzen kann, in der Bildschirmausgabe nicht schneller als 4.800 Baud ist! Das bedeutet, Du mußt die Daten bei 9.600 und 19.200 Baud entweder zwischen- puffern oder XON/XOFF benutzen. Voreingestellt sind 1.200 Baud. b. Zeichenformat (Länge & Parität) ------------- ------ - -------- Das Zeichenformat bezieht sich auf die Länge der empfangenen und gesendeten Zeichen, 7 oder 8 Bit, und auf das optionale Paritätsbit am Ende des Zeichens. Mögliche Paritäten: "no parity" Kein Paritätsbit. "even parity" Paritätsbit wird gesetzt, wenn Anzahl der gesetzten Datenbits ungerade ist. "odd parity" Paritätsbit wird gesetzt, wenn Anzahl der gesetzten Datenbits gerade ist. "space parity" Paritätsbit ist auf 0 gesetzt. "mark parity" Paritätsbit ist auf 1 gesetzt. Die meisten Systeme benutzen entweder "7 Bit/space parity" oder "8 Bit/ no parity". Voreingestelltes Format ist "7 Bit/space parity." c. Stoppbits: ---------- Die Stoppbits sind ans Ende des gesendeten Zeichnes gesetzte Bits, die nachfolgende Zeichen abtrennen. Die Hardware des Empfängers benötigt die Stoppbits, um das Ende des gerade gesendeten Zeichens zu erkennen. Die meisten Systeme erwarten 1 Stoppbit, obwohl es meist auch mit 2 Stoppbits klappen wird. Dabei verringert sich allerdings die Übertragungsgeschwindig- keit, denn das zusätzliche Bit frißt auch zusätzlich Zeit. Normalerweise besteht absolut kein Grund, 2 Stoppbits zu verwenden, außer, ein System verlangt extra danach. Aufgrund der Hardwareeigenschaften der seriellen Amigaschnittstelle kann bei einer Einstellung von 8 Datenbits und mindestens einem Paritätsbit nur ein Stoppbit eingestellt werden. Wtp läßt zwar diese Einstellung zu, aber tatsächlich wird nur 1 Stoppbit übertragen. Voreingestellt ist 1 Stoppbit. d. XON/XOFF Handshake: -------- ---------- Einige Terminalfunktionen benötigen zur Ausführung länger als die Übertra- gungsdauer eines Zeichens. Deshalb besteht die Gefahr, daß eine Mailbox Daten so schnell sendet, daß der interne Puffer von 512 Zeichen überläuft und Datenverlust verursacht. Auch verlieren einige Systeme vom Terminal gesendete Daten, wenn zu schnell gesendet wird (besonders bei den Funk- tionstasten). Um datenverluste zu vermeiden, sprechen die meisten Systeme auf XON/XOFF-Handshake an und benutzen ihn auch zur Übertragung. Wenn entweder Sender oder Empfänger in Überlaufgefahr geraten, wird ein XOFF-Zeichen (Comntrol-S) gesendet, worauf die Gegenstation das Senden einstellt. Kommt das System wieder klar, dann sendet es XON (Control-Q), und die Daten werden wieder gesendet. Wtp sendet und empfängt im XON/XOFF-Handshake, wenn dieser Punkt im PORT- Menü eingestellt ist. Die XModem-Übertragung benötigt keinen XON/XOFF-Handshake. Dehalb wird dieser Handshake während einer XModem-Operation zeitweilig ausgeschaltet. Voreingestellt ist XON/XOFF-Handshake EIN. 3. Benutzereinstellung ------------------- Wtp ermöglicht viele Einstellung, die dem Benutzer die Möglichkeit geben, eigene Vorlieben einzubringen. Diese Einstellungen werden alle in abge- speicherten Einstellungsdateien aufbewahrt. a. Cursorform: ----------- Die im SCREEN-Menü möglichen Cursorarten: "solid underline" Eine zwei Pixel hohe Linie am unteren Zeichen- rand. "solid box" Zeichenumrandung. "blink underline" Blinkende Version von "solid underline". "blink box" Blinkende Version von "solid box". Die Blinkrate ist fest eingestellt. Sie kann mit keinem Menüpunkt geändert werden, ist aber in der Einstellungsdatei untergebracht und kann mit einem Diskettenmonitor geändert werden. Unter Abschnitt "B" findest Du nähere Angaben über die Position der Blinkrate. b. Warnton: -------- Das SCREEN-Menü läßt mehrere Warnton-Arten zu: "visual" Der Bildschirm blitzt auf. "beep" Ein Rechteckton von 1 khz wird für eine halbe Sekunde erzeugt. "speech" Die eingebaute Sprachausgabe spricht einen Text. Sowohl "speech" als auch "beep" benötigen einen angeschlossenen Lautspre- cher. Auch muß bei Sprachausgabe die Datei "narrator.device" im DEVS: - Verzeichnis enthalten sein. Der Warnton wird zu unterschiedlichen Gelegenheiten ausgegeben. Dabei sind Aufblitzen und Piepsen immer gleich, während die Sprachausgabe bei verschiedenen Ereignissen verschiedene Warnungen liefert: 1. Das Terminal empfängt den Ascii-Code für "Warnton" (Control-G): Voreingestellt ist hier das Wort "ATTENTION", aber was der Amiga sagt, kann durch den Menüpunkt "edit speech bell" im SCREEN-Menü auch geändert werden. Wenn Du allerdings ein unzulässiges Phonem benutzt, spricht der Amiga gar nichts. Die erlaubten Phoneme sind u.a. im Amiga-Basic-Handbuch aufgeführt. 2. Eine Dateiübertragung per XModem wurde beendet: "upload complete." 3. Ein Dateiempfang per XModem wurde beendet: "download complete." 4. Beim ersten und anschließend bei jedem zehnten Übertragungsfehler per XModem: "error." 5. Bei Benutzerabbruch der XMOdem-Übertragung oder bei Abbruch aufgrund zu vieler Übertragungsfehler: "transfer aborted." 6. Eine neue Einstellungsdatei wurde geladen, die die Sprachausgabe einschaltet: "ok." 7. Eine XModem-Übertragung im Schnellverfahren wurde beendet, bei der ein Fehler aufgetreten ist: "file is not complete." 8. Bei der VT-102-Emulation wurde trotz Tastenblockierung eine Taste gedrückt: "keyboard is locked." 4. Benutzerdefinierbare Funktionstasten: -------------------- ---------------- Bei Wtp können allen zehn Funktionstasten, sowohl mit als auch ohne Betäti- gung der SHIFT-Taste, Zeichenketten zugewiesen werden. Jede Zeichenkette darf bis zu 256 Zeichen enthalten. Alle Belegungen werden durch "Save Settings" in einer Einstellungsdatei abgespeichert. Mit "Load Settings" werden diese Belegungen wieder aktiv. a. Vorgehensweise bei der Belegung: -------------- --- --- --------- Jede unbelegte Funktionstaste (als Voreinstellung sind alle zehn nicht belegt) übermitteln ein VT-102-kompatibles Funktionstasten-Identifizierungs- zeichen (weitere Einzelheiten in Abschnitt 5). Um eine Funktionstaste zu belegen, drüchkst Du einfach eine der beiden Amigatasten zusammen mit der gewünschten Funktionstaste. Wird gleichzeitig auch die SHIFT-taste gedrückt, dann belegt Wtp die Funktionstaste im "geshifteten" Zustand. Nun erscheint ein Eingabefenster auf dem Bildschirm. In dem Fenster wird die aktuelle Belegung dieser Funktionstaste angezeigt. Jetzt klickst Du zunächst die Eingabezeile an, um sie zu aktivieren, und gibst anschlies- send den gewünschten Text ein oder änderst den bestehenden Text. Folgende Sonderzeichen werden erkannt: '^ch' (Aufwärtspfeil, gefolgt von 'ch'): Ein Control-Zeichen wird in den Text eingefügt. 'ch' sollte ein Ascii-Code zwischen 65 ('A') und 95 ('_') sein. Zum Beispiel: '^M' verursacht ein RETURN (CONTROL-M), '^[' verursacht ein ESCAPE. '\^' (Backslash Aufwärtspfeil): Ein Aufwärtspfeil wird in den Text eingefügt. '\\' (Backslash Backslash): Ein Backslash wird in den Text eingefügt. Durch Betätigung der RETURN-Taste oder Anklicken des OK-Knopfes im Eingabe- fenster wird die neue Definition übernommen. CANCEL verläßt die Definition ohne Übernahme der neuen Zeichenkette. Alle hinter dem 256. Zeichen eingegebenen Zeichen werden ignoriert. Um wieder eine unbelegte Funktionstaste zu erhalten, gibst Du lediglich eine Leerdefinition an. b. Die Benutzung einer belegten Funktionstaste: ------------- ----- -------- --------------- Drücke einfach die Funktionstaste oder SHIFT zusammen mit der Funktions- taste, und die zugeordnete Zeichenkette wird abgeschickt. Ist lokales ECHO eingeschaltet, erscheint die Zeichenkette auch auf dem Bildschirm. 5. VT-102 Terminal Emulation: ------ -------- --------- Wtp emuliert zu viele Eigenschaften des DEC VT-102-Terminals, um sie in allen Einzelheiten durchzugehen. Alle benutzbaren Control- und Escape- Sequenzen werden nachfolgend aufgeführt, aber eine ausführliche Infor- mation über die Wirkungsweise jedes Befehls gibt Dir nur ein VT-102-Hand- buch. In den Bereichen, in denen sich Wtp vom VT-102 unterscheidet, gebe ich aber eine vollständige Erläuterung. a. Unterstützte Merkmale: ------------ --------- Tastaturfunktionen: ------------------- Funktionstasten: Die Funktionstasten PF1 bis PF4 des VT-102 werden durch die Amigatasten F1 bis F4 dargestellt, und zwar in allen Betriebsarten einschließlich Anwendung und VT-52. Zusätzlich erzeugen die Amigatasten F5 bis F10 Zeichenfolgen, die den vier Standardtasten ähneln und deren Erweite- rungen darstellen. F1 bis F4 erzeugen Schlußzeichen von 'P' bis 'S', während F5 bis F10 'T' bis 'Y' erzeugen. Cursortastenfeld: In allen VT-102-Betriebsarten voll nutzbar. Separater Zehnerblock: In allen VT-102-Betriebsarten voll nutzbar. Das fehlende Komma am Zehnerblock kann durch ALT-. am Zehnerblock erzeugt werden. Erzeugung kurzer und langer Unterbrechungen (BREAK): Dazu dient die HELP-Taste des Amiga. 'ALT HELP' = Kurze Unterbrechung 'SHIFT ALT HELP' = lange Unterbrechung Tastaturbezogene Control-Codes: (* = auch im SCREEN-Menü abrufbar) ESC [ 2 h/l Tastatur blockieren/freigeben ESC [ 12 h/l *Lokales Tastaturecho EIN/AUS ESC [ 20 h/l *LINEFEED NEWLINE Zulassen/blockieren ESC [ ? 1 h/l Cursortastenfeld blockieren/freigeben ESC [ ? 2 l *VT52-Betriebsart einschalten (ändert Zehnerblock) ESC [ ? 8 h/l *Tastaturwiederholung EIN/AUS ESC = Zehnerblockbelegung setzen (VT102- & VT52-Betrieb) ESC > Numerische Zehnerblockbelegung (VT102- & VT52-Betrieb) ZEICHENSÄTZE: ------------- Zeichensätze können angezeigt und ausgewählt werden. Wenn der Zeichensatz "sg_Topaz" im FONTS: - Verzeichnis zu finden ist, dann wird der spezielle Grafikzeichensatz geladen. Voreingestellt sind: G0 = Amerikanischer ASCII-Zeichensatz, G1 = spezieller Grafikzeichensatz. Befehlsfolgen zur Zeichensatzwahl: SO (CONTROL-N) G1 als aktueller Zeichensatz. SI (CONTROL-O) G0 als aktueller Zeichensatz. ESC ( x Zeichensatz 'x' wird als aktueller G0 eingestellt. ESC ) x Zeichensatz 'x' wird als aktueller G1 eingestellt. 'x' = 'A' für Englischen Zeichensatz = 'B' für Amerikanischen Zeichensatz = '0' für speziellen Grafikzeichensatz = '1' für alternativen ROM-Zeichnesatz = '2' for alternative ROM-Sonderzeichen (wie 0) ESC F im VT52-Betrieb spezieller Grafikzeichensatz ESC G im VT52-Betrieb Amerikanischer Zeichensatz ANZEIGEARTEN: ------------- Vollständig vom Benutzer abhängig, obwohl das Blinken durch Farbwechsel erzeugt wird, da echtes Blinken mehr als zwei Bitplanes erfordert. Der übliche Farbgebrauch ist: Vordergrundfarbe = Farbe 1 Hintergrundfarbe = Farbe 0 Anzeigeänderungen: ESC [merkmal;merkmal;...m Stellt Anzeigemerkmale ein. "merkmal" steht für: 0 = Alle Merkmale auf Normalwerte 1 = Fettschrift (Farbregister 2) 4 = Unterstreichen 5 = Blinken (Farbregister 3) 7 = Inversdarstellung Beispiel: 'ESC[0;1;7m' Inverse Fettschrift CURSORBEWEGUNG: --------------- Zeichencodes zur Cursorsteuerung: (* = auch im SCREEN-Menü einstellbar) BS (CONTROL-H) Backspace (ein Schritt zurück) HT (CONTROL-I) Horizontaler Tabulatorsprung zum nächsten Tab LF (CONTROL-J) Linefeed (nächste Zeile) VT (CONTROL-K) Vertikaler Tabulatorsprung zum nächsten Tab FF (CONTROL-L) Form form (nächste Seite) CR (CONTROL-M) Wagenrücklauf; Cursor in Spalte 1 ESC [ ? 6 h/l Bildschirmrollen ermöglichen ESC [ ? 7 h/l *Übernahme des Wortrestes am rechten Rand in die nächste Zeile ermöglichen/unterbinden ESC [ 'top' ; 'bot' r Grenzen der Zone für Bildschirmrollen, z.B.: 'ESC[1;12r' ESC [ 'Anzahl' A Cursor um 'Anzahl' Zeilen hoch ESC [ 'Anzahl' B Cursor um 'Anzahl' Zeilen runter ESC [ 'Anzahl' C Cursor um 'Anzahl' Spalten rechts ESC [ 'Anzahl' D Cursor um 'Anzahl' Spalten links ESC [ 'Zei' ; 'Sp' H Cursor wird an Position 'Zei', 'Sp', gesetzt, z.B.: ESC[H Cursor in linke obere Ecke ESC [ 'Zei' ; 'Sp' f wie oben, Cursor positionieren ESC D Linefeed (nächste Zeile) ESC M Umgekehrtes Linefeed (vorherige Zeile) ESC E Neue Zeile, wie Linefeed + Return ESC 7 Cursorposition, -form und Zeichensatz wird im Speicher festgehalten ESC 8 Festgehaltene Cursormerkmale wiederherstellen ESC H Tabulator an Cursorposition setzen ESC [ g or ESC [ 0 g Tabulator an Cursorposition löschen ESC [ 3 g Alle Tabulatoren löschen EDITIERFUNKTIONEN: ------------------ Editierbefehle: (* = auch im SCREEN-Menü möglich) ESC [ K or ESC [ 0 K löschen bis Zeilenende ESC [ 1 K Zeilenanfang bis Cursor löschen ESC [ 2 K Ganze Zeile löschen ESC [ J or ESC [ 0 J Cursorposition bis Bildschirmende löschen ESC [ 1 J Bildschirmanfang bis Cursorposition löschen ESC [ 2 J *Bildschirm löschen ESC [ 4 h/l Einfügemodus EIN/AUS ESC [ 'Anzahl' P 'Anzahl' Zeichen ab Cursorposition löschen ESC [ 'Anzahl' L 'Anzahl' Zeilen über Cursorzeile einfügen ESC [ 'Anzahl' M 'Anzahl' Zeilen ab Cursorzeile löschen SYSTEMMELDUNGEN: ---------------- Es werden alle Systemmeldungen unterstützt, obwohl einige in jedem Falle die selben Anworten geben. Systemmeldungen anzeigen: ESC [ 5 n Terminalstatus (zeigt immer OK an!) ESC [ ? 15 n Druckerstatus (zeigt immer "no printer" an!) ESC [ 6 n Momentane Cursorposition ESC [ c or ESC [ 0 c Gerätekennung (berichtet: Ich bin eine VT102) ESC Z Wie Gerätekennung. VERSCHIEDENE BEFEHLSFOLGEN: ------------ -------------- Verschiedene Befehle: (* = auch im SCREEN-Menü möglich) NUL (CONTROL-@) Leerzeichen; wird ignoriert ENQ (CONTROL-E) Überträgt Rückantwort (Answerback; definiert im SCREEN-Menü) BEL (CONTROL-G) Alarmzeichen des Terminals anzeigen CAN (CONTROL-X) Aktuelle Befehlsfolge wird abgebrochen SUB (CONTROL-Z) Wie CAN ESC c *Terminal wird in Grundeinstellung versetzt ESC # 8 Der Bildschirm wird mit 'E' gefüllt ESC [ ? 2 l Einstieg zur VT52-Betriebsart BEFEHLSFOLGEN BEI VT52-BETRIEB: ------------- --- ------------- Die folgenden Befehlssequenzen ersetzen in der VT52-Betriebsart die nor- malen VT102-Befehle. Der VT52-Modus kann mit dem SCREEN-Menü ein- und aus- geschaltet werden. Von der Gegenstation kann dazu auch der ANSI-Code 'ESC [ ? 2 l' gesendet werden. Die andere VT52-Befehle: ESC < Zurück zum ANSI-Betrieb ESC A Cursor eine Zeile höher ESC B Cursor eine Zeile tiefer ESC C Cursor ein Zeichen nach rechts ESC D Cursor ein Zeichen nach links ESC H Cursor in linke obere Bildschirmecke ESC Y 'Zeile' 'Spalte' Cursorposition setzen; dazu bei jeder Position 32 (bei Zeile & Spalte) addieren!!! ESC I Umgekehrtes LINEFEED (eine Zeile höher) ESC K Löschen ab Cursor bis Zeilenende ESC J Löschen ab Cursor bis Bildschirmende ESC Z Terminalkennung (Antwort: 'ESC / Z') b. Nicht unterstützte VT102-Merkmale: ----- ------------ --------------- Die folgenden VT102-Befehlsfolgen wurden hauptsächlich aufgrund des Ver- hältnisses von Nutzen zu Aufwand nicht einprogrammiert. Vielleicht später, Jungs! Obwohl Wtp diese Befehle nicht ausführt, werden sie aber als Befehle er- kannt und ignoriert. Nicht benutzbare VT102-Befehle: ESC [ ? 3 h/l 132 Zeilen; Bildschirmauflösung dazu zu gering ESC [ ? 4 h/l Langsames Scrollen. Ach was, wer braucht das schon? ESC [ ? 5 h/l Bildschirmausgabe invertieren. Schwer, all die Farben umzukehren... ESC N, ESC O Einzelzeichen aus den G2 & G3-Zeichensätzen auswählen; wer hat das je getan? ESC # 3, 4, 5, 6 Doppelt breite und hohe Zeichen; höllisch schwer zu programmieren. ESC [ 'tests' y Selbsttest. ESC [ 'led' q LED EIN/AUS. ESC [ ? 18 h/l Keine dieser Druckfunktionen wurde einprogram- ESC [ ? 19 h/l miert: ESC [ ? 0, 1, 5, 4 i ESC ^, ESC - ESC W, ESC X ESC ] ESC V c. Ergänzungen und Unterschiede: ----------- --- ------------- Der Menüpunkt 'mouse cursor keys' im SCREEN-Menü läßt es zu, die Maus als Alternativcursor zu verwenden. Bei Anklicken des Bildschirms mit der linken Maustaste überträgt Wtp die korrekten Befehle, so daß die Gegenstation den Cursor ebenfalls an die gewünschte Stelle setzt. 6. Dateiübertragung: ----------------- Wtp ermöglicht zwei Übertragungsmethoden: Einfache Textübertragung und Über- tragung im XModem-Protokoll. XModem-Übertragungen können sowohl reine Texte als auch Binärdateien (Programmcode) übertragen, während einfache Textüber- tragungen eben immer nur Textdateien übertragen können. Binäre Protokolle übertragen alle 8 Bit ohne jede Änderung. Das ist bei Übertragung von Programmcode und Libraries unbedingt nötig. Für die Dauer der Übertragung wird das Datenformat des Terminals auf "8 Bit, keine Parität" gesetzt. Textübertragungen setzen voraus, daß lediglich 7 Bit lange Daten übertragen werden und wandeln automatisch die Datenformate (z.B. LINEFEED --> RETURN) des Amiga in die international festgelegten Formate um. Alle Zeichen, die keinen Text darstellen, werden also nicht mit übertragen bzw. umgewandelt. Die Parameter der reinen Textübertragung können durch den Menüpunkt "Text transfer options" im FILE-Menü angesehen und geändert werden. Die Angabe, wie LINEFEEDs umgewandelt werden sollen, gibt gleichzeitig an, welche hereinkommenden Signale wieder in Amiga-spezifische LINEFEEDs umgewandelt werden. TEXTDATEI CAPTURE: --------- -------- "Capture" dient dazu, die empfangenen, auf dem Bildschirm angezeigten Zeichen in einer bestimmten Datei zum späteren Gebrauch abzuspeichern. Bei Auswahl des Punktes "capture text to a file" im FILE-Menü erscheint ein Abfragefenster auf dem Bildschirm, in das Du den Namen der Datei eintippst, in der der Text gespeichert werden soll. Mit Drücken der RETURN-Taste oder Anklicken des OK-Knopfes im Fenster beginnt Wtp, den erscheinenden Text in der Datei abzuspeichern, während das Anklicken von CANCEL zum Abbruch der Operation führt. Übrigens mußt Du vor Eingabe des Dateinamens einmal das Eingabefeld anklicken. Während des Capture zeigt die linke Hälfte der Statuszeile am unteren Bild- schirmrand den Namen der Datei, in die der Text gespeichert wird. Alle Einstellungen im Menüpunkt "text transfer options" werden auf die empfangenen Daten angewandt. Mit "STOP CAPTURING TEXT" im FILE-Menü läßt sich Capture beenden und die Datei schließen. ABSENDEN EINER TEXTDATEI: -------- ----- ---------- Du wählst "send a text file" aus dem FILE-Menü aus und wirst sofort nach dem Namen der zu übertragenden Datei gefragt. Nach Eingabe des Namens und Abschluß durch RETURN-Taste oder Anklicken des OK-Knopfes öffnet Wtp die angegebene Datei und sendet den Dateiinhalt so an die Gegenstation, als würdest Du alles auf der Tastatur einhacken. Zeichen, die keine Textzeichen sind, und LINEFEEDs werden entsprechend den Einstellungen im "Text file options"-Untermenü umgewandelt. Die rechte Hälfte der Statuszeile gibt während der Übertragung den Namen der zu übertragenden Datei an. Mit "STOP TEXT FILE SEND" aus dem FILE-Menü kann die Übertragung abge- brochen werden. Nach Abschluß der Übertragung wird die Datei geschlossen, und die Status- zeile zeigt wieder die aktuelle und Gesamtzeit seit Programmaufruf an. DATEIÜBERTRAGUNG PER XMODEM: ---------------- --- ------- Das XModem-Protokoll ist eine Übertragungsart zwischen Computern, die von Ward Christiansen für den Gebrauch auf CP/M-Systemen geschaffen wurde. Das Protokoll ist einfach zu programmieren und gleichzeitig sehr zuver- lässig, so daß es sich auf den meisten PCs etabliert hat.Wtp bietet das ursprüngliche XModem-Protokoll und einige Erweiterungen. Während der Übertragung beläßt Wtp die Menüpunkte "send to back" und "bring to front" im STUFF-Menü im aktiven Zustand, so daß Du während der Übertra- gung andere Arbeiten erledigen kannst. Wenn Wtp als Hintergrundprogramm ablaufen soll, dann mußt Du es mit "run Wtp" vom CLI aus starten. "CRC CHECKSUMMEN" XModem erhält dadurch seine Zuverlässigkeit, daß die Datei in kleine Stücke (records) zerlegt und anschließend mit einer Checksumme übertragen wird, die es dem Empfänger ermöglicht, festzustellen, ob die Daten intakt sind. Die einfache XModem-Checksumme entsteht durch Addition aller Ascii-Werte der Zeichen eines Datensatzes, was zwar sehr einfach zu realisieren ist, aber auch einige potentielle Fehlerquellen birgt. Die CRC-Checksummen- berechnung geht einen anderen Weg, der es ermöglicht, weitaus mehr Fehler zu entdecken. Die Auswahl der Checksummenberechnungsart geschieht folgendermaßen: Der Empfaänger kann dem sender mitteilen, welche Checksummenberechnung benutzt werden soll. Der Punkt "use CRC checksums" im Untermenü "XMODEM transfer options" des FILE-Menüs (kurze Pause zum Luftholen) gibt an, ob Wtp die Übertragung oder den Empfang per CRC-Berechnung anfordert bzw. zuläßt. Im Normalfall sollte die CRC-Übertragung eingestellt sein, solange die Gegenstation CRC-Berechnung zuläßt. Läßt die Gegenseite kein CRC zu, merkt Wtp das zwar, und die Übertragung geht in gewohnter Art vonstatten. Bis Wtp das merkt, vergeht allerdings etwas Zeit, die Du einsparen kannst, indem Du CRC vorher auf AUS stellst. Wtp's zweite Ergänzung zum XModem-Protokoll ist allerdings nicht standar- disiert. Wird eine Datei von einem der größeren Systeme wie Delphi oder Compuserve empfangen, können merkbare Wartezeiten zwischen der Übertragung der einzelnen Datensätze entstehen. Das bedeutet, Du verschwendest wert- volle Übertragungszeit durch das Warten darauf, daß die Gegenseite endlich sendet. Es gibt nun eine einfache, aber unsichere Methode, die Übertragungs- geschwindigkeit grundlegend zu erhöhen. Der Trick besteht darin, das System dazu zu bringen, schon während der Über- tragung eines Datensatzes den nächsten zu suchen. Die Gefahr besteht nun darin, daß eventuell auftretende Übertragungsfehler nicht mehr richtig ge- handhabt werden und die empfangene Datei unter Umständen fehlerhafte Daten enthält. Wtp zeigt Dir dann zwar einen Fehler an, aber die Übertragung ist dann unwiderruflich schiefgelaufen. Wenn Du eine klare Verbindung zum System hast und es riskieren möchtest, dann erhöht sich die Übertragungs- geschwindigkeit durch Auswahl des Menüpunktes "fast/unforgiving receive" drastisch. Ich selbst benutze diese Übertragungsart bis jetzt fehlerfrei beim Delphi-Netzwerk. DATEIEMPFANG PER XMODEM: ------------ --- ------- Tue irgendetwas, was die Gegenstation dazu veranlaßt, Dir eine Datei per XModem zu übertragen. Nun wählst Du entweder "XMODEM (text) receive" oder "XMODEM (binary) receive" aus dem FILE-Menü und gibst den Namen der zu empfangenen Datei im Abfrage- fenster ein. Solange ich WORKBENCH 1.2 nicht zum richtigen Arbeiten bewegen kann, mußt Du vorher einmal das Eingabefeld anklicken, bevor Du den Datei- namen eingeben kannst. Bei Textempfang werden die Texte automatisch in das mittels der "Text transfer options" festgelegte Amiga-spezifische Format umgewandelt, während Binärübertragungen nichts ändern. In der Statuszeile werden Übertragungsart, Name der Datei und einige Zusatzinformationen, wie die Anzahl der bereits ampfangenen 128-Byte-Datensätze, die schon auf Diskette geschriebenen Bytes und die Nummer des Datensatzes, der wegen eines Fehlers noch einmal übertragen werden mußte, angezeigt. Wenn alles klappt, sollte sich nach 5 bis zehn Sekunden die Anzahl der empfangenen Datensätze erhöhen. Wird zur Übertragung CRC-Berechnung ver- wendet, dann erscheint rechts vom Dateinamen ein "CRC". Mit 1.200 Baud sollte sich die Anzahl der empfangenen Datensätze alle ein oder zwei Sekunden erhöhen (solange die Gegenstelle nicht anderweitig beschäftigt ist). Der Punkt "ABORT XMODEM TRANSFER" des FILE-Menüs dient zum Abbruch der XModem-Übertragung. Nach Empfang des letzten Datensatzes zeigt die Statuszeile wieder die aktuelle und die Zeit seit Programmstart an. Die Datei wird geschlossen. Der zuletzt angezeigte Inhalt der Statuszeile wird dagegen in die Zeile kopiert, in der sich der Cursor befindet. Dadurch fällt es leichter, zu sehen, ob die Übertragung erfolgreich verlaufen ist oder nicht. Denke daran, daß alle mit der Funktion "fast/unforgiving" empfangenen Dateien, bei denen ein Fehler aufgetreten ist, absolut unbrauchbar sind. Versuche es in diesem Falle noch einmal mit normaler Übertragungsgeschwindigkeit. Denke daran, komprimierte (squeezed; xxx.xQx) und Archivdateien (archived; xxx.ARC) vor Gebrauch mit einem geeigneten Programm umzuwandeln. Beide genannten Dateiarten MÜSSEN im Binärmodus übertragen werden! DATEIVERSENDEN PER XMODEM: -------------- --- ------- Tue irgendwas, was die Gegenstelle dazu bringt, eine Datei per XModem zu empfangen. Nun wählst Du entweder "XMODEM (text) send" oder "XMODEM (binary) send" aus dem FILE-Menü und gibst den Namen einer existierenden Datei im Abfrage- fenster ein. Ist alles in Ordnung, dann zeigt die Statuszeile jetzt die Übertragungsart, den Dateinamen und die selben anderen Informationen wie beim XModem-Empfang an. Wie beim XModem-Empfang sollte sich nach 5 bis zehn Sekunden die Anzahl der gesendeten Datensätze erhöhen. Mit "ABORT XMODEM TRANSFER" im FILE-Menü läßt sich die Übertragung ab- brechen. Nach Empfang des letzten Datensatzes zeigt die Statuszeile wieder die aktuelle und die Zeit seit Programmstart an. Die Datei wird geschlossen. DATEIAUSTAUSCH ZWISCHEN ZWEI TERMINALS: -------------- -------- ---- ---------- Um Dateeien zwischen zwei Terminals zu übertragen, sollte stets der Sender zuerst eingestellt werden. Wurde der Empfänger zuerst eingeschaltet, kann sich der Beginn der Übertragung um 10 bis 20 Sekunden verzögern. Es kann auch passieren, daß die Anforderung einer CRC-Übertragung übergangen wird, so daß die fehleranfällige additive Checksummenmethode angewendet werden muß. 7. Wählautomatik: -------------- Das "Dialing"-Menü enthält die Menüpunkte, mit denen die Wählautomatik von Wtp angesprochen werden kann. In diesem Menü kann eingestellt werden: Ein Identifizierungsmerkmal, das der Gegenstelle zugesendet wird, die zu wählende Telefonnummer (die mit einer Ziffer beginnen muß!), und ob die Nummer automatisch bei Laden der entsprechenden Einstellungsdatei gewählt werden soll. Die Benutzung der Wählautomatik setzt den Gebrauch eines Modems voraus, das den Hayes-Befehlssatz versteht. WÄHLEN: ------- Die Auswahl des Punktes "dial number now" bringt Wtp dazu, die aktuelle Verbindung zu beenden und anschließend die im DIALING-Menü angegebene Nummer zu wählen. Folgendes sollte jetzt erscheinen: Dialing at +++ ATH ATDT Innerhalb von 10 bis 20 Sekunden nach Wählen der Nummer erhältst Du eine Mitteilung vom Modem, daß die Verbindung hergestellt ist. Wurde keine Telefonnummer angegeben, ist die Wählautomatik ausgestellt. AUFLEGEN: --------- Der Punkt "hang up the phone" bringt Wtp dazu, den Hayes-Befehl zum Auflegen zu geben (** Besser nicht verwenden! Die meisten Mailboxen in Deutschland reagieren ziemlich "komisch" darauf, und die Betreiber reagieren noch ko- mischer: sie werden sauer!!! Eigene Erfahrung... -Der Übersetzer- **). 8. Mit Wtp abgespeicherte Einstellungen --- --- -------------- ------------- Eigentlich alle Eigenschaften von Wtp (außer einiger VT102-Betriebsarten) die per Menü eingestellt werden, einschließlich der Funktionstastenbelegung, Benutzerparameter, Wählmöglichkeiten und Übertragungsparameter, können in einer Einstellungsdatei auf Diskette abgespeichert werden. Durch Auswahl des Menüpunktes "save settings" im STUFF-Menü erscheint ein Abfragefenster, in das Du den Namen der Einstellungsdatei eingeben kannst. Mit der RETURN- Taste oder durch Anklicken von "OK" werden die momentanen Einstellungen anschließend abgespeichert. Die abgespeicherten Einstellungen werden mit Hilfe von "load settings" im STUFF-Menü wieder geladen. Dazu gibst Du den selben Namen ein, unter dem Du die Datei auch abgespeichert hast. Wenn alles geklappt hat, gibt die Glock einmal einen Warnton aus, und Deine Einstellungen wurden wiederhergestellt. Hast Du im DIAL-Menü den Befehl "auto-dial when loaded" eingestellt, dann beginnt Wtp jetzt damit, die angegebene Nummer zu wählen. Ist die angegebene Einstellungsdatei defekt oder keine Einstellungsdatei, dann bleiben die bisherigen Einstellungen erhalten. Mit der Möglichkeit, Einstellungen abzuspeichern, kannst Du Dir eine ganze Bibliothek von Einstellungen für verschiedene Anwendungsfälle anlegen; jede davon auf eine bestimmte Gegenstation abgestimmt... 9. Verschiedene Eigenschaften: ------------ -------------- Fenstermanipulationen mit Wtp: Die Punkte "send to back" und "bring to front" im STUFF-Menü dienen dazu, das Wtp-Fenster hinter das Workbenchfenster zu schalten. Hast Du Wtp als eigenen Task gestartet, kannst Du nun im CLI arbeiten oder andere Anwen- dungen benutzen, während Wtp im Hintergrund arbeitet. Hast Du den Punkt "mouse cursor keys" im SCREEN-Menü ausgewählt, kannst Du jetzt beliebige Stellen mit der linken Maustaste anklicken. Der Cursor wird dorthin plaziert, und ein entsprechender Befehl, den Cursor an die selbe Stelle zu setzen, ergeht an die Gegenstation. Der ebenfalls im SCREEN-Menü zu findende Punkt "reset session time" dient dazu, die im Statusfenster angezeigte Zeit seit Laden von Wtp auf Null zu setzen. Auch das Wählen einer Nummer mittels DIAL-Menü führt dazu, daß diese Anzeige auf Null gesetzt wird. A. Überarbeitungsgeschichte: ------------------------- a. Änderungen der Version 3 zu Version 2: - ÄUßERSTE VT102-Komatibilität. - Programmierbare Funktionstasten. - XModem-Schnell-Protokoll hinzugefügt. - Sprachphoneme der Sprachausgabe änderbar. - Erzeugung eines BREAK-Codes (Unterbrechung) hinzugefügt. - Cursorbewegungsroutine so korrigiert, daß sie auch mit Speichererweite- rung läuft. - Die Punkte "send to back/bring to front" in zwei Punkte aufgeteilt. - Fehler in der XModem-Routine behoben, der bei EVEN oder MARK-Parität zum Aufhängen des Programmes führte. Unendlichen Dank an Steve Plegge (aka Opus) für seine Hilfe dabei. B. Dinge, die Du vielleicht nicht wissen willst ------ --- -- ---------- ----- ------ ------ a. Format der abgespeicherten Einstellungsdateien: ------ --- --------------- -------------------- Die folgenden Informationen werden mitgeliefert, damit geschäftige Leute die Felder in der Einstellungsdatei ändern können, die nicht den Bedürfnissen der Benutzer entsprechen. Die untenstehenden OFFSET- und LÄNGE-Felder geben die Position in Bytes ab Dateianfang an. Alle Zahlen sind hexadezimal. VOREINSTELLUNG OFFSET LÄNGE INHALT WIRKUNG 0000 4 'tWtp' Kennzeichen einer Einstellungsdatei. 0004 2 3 Version des erzeugenden Wtp-Programmes. 0006 2 0E2 Länge der folgenden Parameter in Bytes. 0008 2 0 Länge der folgenden Funktionstasten in Bytes 000A 4 0 - Reservebytes für spätere Zwecke - 000E 2 0 Auto-wrap-Status, 1=EIN, 0=AUS. 0010 2 0 Status des Tastaturechos. 0012 2 0 Status des LINEFEED/NEWLINE. 0014 1 1 Cursortyp (0..3) 0015 1 2D Cursorblinkgeschwindigkeit (in 16,6 mSeK). 0016 1 0 Warntonart (0..2) 0017 1 0 - nicht benutzt - 0018 2 2 Baudrate (0..6) 001A 2 4 Zeichenformat (0..5) 001C 2 1 Anzahl der Stoppbits 001E 2 1 XON/XOFF Handshake EIN/AUS. 0020 2 1 LINEFEED-Umwandlung bei Textübertragung (0..2) 0022 2 1 Ablaufsteuerung bei Textübertr. (strip control) 0024 2 1 CRC bei XModem EIN/AUS. 0026 4 40 Anzahl Puffer bevor Diskettenzugriff b. XMODEM 002A 2 0 Wählen beim Laden EIN/AUS. 002C 20 "(.." Kennwort bei Wählen (0=Abbruch). 004C 20 "(.." Rufnummer. 006C 2 0 Schnellübertragung bei XModem EIN/AUS. 006E 2 1 VT102-auto-repeat EIN/AUS. 0070 2 0 - für internen Gebrauch - 0072 2 0 Maus statt Cursortasten EIN/AUS. 0074 2 0 - für internen Gebrauch - 0076 2 0 VT102 im VT52-Betrieb EIN/AUS. 0078 2 0 VT102 sanftes Bildrollen (noch nicht benötigt). 007A 2 0 VT102 reverser Bildschirm (nicht benötigt) 007C 2 0 - für internen Gebrauch - 007E 0A 8080... VT102-Tabulatoren, 1 Bit pro Spalte. 0088 20 "" VT102-Rückantwortzeichen. 00A8 4 275000 Dauer einer kurzen Unterbrechung (in Mikrosek.) 00AC 4 2000000 Dauer einer langen Unterbrechung (in Mikrosek.) 00B0 20 0 - für späteren Gebrauch - 00D0 20 "AXTT..." Phonemkette der sprechenden Glocke. Funktionstastenbelegungen: 00F0 ?? Die Texte der Funktionstastenbelegungen, vorangestellt ein Identifizierungsbyte der Funktionstaste, Ende der Zeichenkette wird durch ein Nullbyte angezeigt. Zusätzliche Nullbytes zeigen Listenende an.