home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
550b.lha
/
Term_v1.8a
/
Deutsch
/
term.dok.pp
/
term.dok
Wrap
Text File
|
1991-09-08
|
120KB
|
2,126 lines
================================== term ===================================
===========================================================================
Ein Gift-Ware Telekommunikationsprogramm von
Olaf Barthel, © Copyright 1990,91 by Olaf Barthel & MXM,
alle Rechte vorbehalten.
Es wird keinerlei Gewährleistungspflicht für die vollständige
Funktionsfähigkeit des (der) in diesem Dokument beschriebenen Programmes
(Programme) übernommen. Sie nutzen diese Software auf eigenes Risiko.
========= WICHTIG FÜR UMSTEIGER AUF DIE NEUE TERM-VERSION 1.8a ============
===========================================================================
Ich habe diese Zeilen an den Anfang des Dokuments gestellt, damit niemand
behaupten kann, er habe sie nicht gefunden. Die folgenden Anweisungen sind
nur für diejenigen interessant, die von einer älteren `term'-Version auf
die aktuelle umsteigen, alle anderen Personen können diesen Absatz
überspringen.
Telefonbuch- und Konfigurationsdateien, die von `term'-Versionen älter
als 1.1 erzeugt worden sind, werden nicht gelesen und MÜSSEN gelöscht
werden! Leider habe ich die Beschreibung der Dateiformate mittlerweile
schon überschrieben, deshalb müssen die Informationen manuell übertragen
werden.
Aufgrund eines Fehlers in den `term' 1.4 vorausgehenden Versionen wurden
die Farbeinstellungen zur Konfiguration und den Telefonbucheinträgen
_nicht_ mitgespeichert. Aus diesem Grund mögen die Bildschirmfarben
`etwas' seltsam aussehen, wenn die neue `term'-Version gestartet wird. Um
dem abzuhelfen habe ich ein kleines Programm geschrieben, das im
`C'-Verzeichnis der Hauptdiskette zu finden ist. Es heißt `ColourPatch'
und modifiziert alle Telefonbucheinträge dahingehend, daß bei den
Einträgen, deren Farbmodi als 8/16 Farben eingestellt sind, die
Standardfarben eingesetzt werden. Abschließend wird die Telefonbuchdatei
wieder gespeichert.
Aufruf des Programmes mit: `ColourPatch <Telefonbuchdatei>'
Beispiel: colourpatch envarc:term/Phonebook.term
Die Programmkonfiguration kann bisher nicht über ein Zusatzprogramm
verändert werden, was in meinen Augen nicht notwendig ist; Verfahrensweise:
1. Konfiguration laden (`Open Preferences...'), 2. Farbmodus ändern in
z.B. `Amiga' statt `Sixteen' (`Terminal'), 3. Konfiguration abspeichern
(`Save Preferences...'), 4. Programm verlassen (`Quit') und anschließend
wieder starten, 5. Konfiguration laden (s.o.), 6. Farbmodus auf den
ursprünglichen Wert zurücksetzen, 7. Konfiguration abspeichern -- fertig!
Aufgrund ausgiebiger Veränderungen im Format der Konfigurationsdateien
müssen Telefonbuch- und Konfigurationsdateien, die mit `term'-Versionen
älter 1.6 erzeugt wurden, mit Hilfe der Programme `UpdateConfig' und
`UpdatePhone' konvertiert werden.
Aufruf der Programme mit: `UpdateConfig <Konfigurationsdatei>'
`UpdatePhone <Telefonbuchdatei>'
Beispiel: updateconfig envarc:term/Preferences.term
updatephone envarc:term/Phonebook.term
`term' 1.8a konvertiert Tastaturmakrodateien automatisch und weigert
sich, Konfigurations- und Telefonbuchdateien von älteren Programmversionen
zu lesen. Dieser eingebaute Schutz existiert bei den
Konvertierungsprogrammen `ColourPatch', `UpdateConfig' und `UpdatePhone'
nicht!
=================== Hintergrund & Entstehungsgeschichte ===================
===========================================================================
Dieses Programm ist das Resultat meiner aufgestauten Wut und Enttäuschung
über die derzeitige Softwaresituation auf dem Amiga: keinerlei
Telekommunikationsprogramm - sowohl kommerziell, oder als Share-Ware, bzw.
Public-Domain vertrieben - war bisher in der Lage, meine Ansprüche
zufriedenzustellen.
Gewiß, viele Eigenschaften waren gut durchdacht, doch dann fehlte eine
deutsche Tastaturbelegung, das eine oder andere Transferprotokoll war nicht
absturzsicher implementiert oder die Terminalemulationen deckten nicht den
gesamten geforderten Befehlssatz ab.
Ich habe mich lange gescheut, Hand anzulegen und meine eigene
`Problemlösung' vorzulegen. Jetzt, da Kickstart 2.0 für den Amiga
verfügbar ist, scheint sich eine kleine Chance zu bieten, ein
Terminalprogramm einfach, schnell und komfortabel zu erstellen. In wieweit
mir diese Aufgabe geglückt ist, muß jedermann selbst herausfinden. Ich habe
versucht mein bestes zu geben - vielleicht war es noch nicht gut genug.
Dieses Programm wurde am 24. Dezember 1990 begonnen und weitestgehend
bis zum 25. Januar 1991 fertiggestellt. Bei der Entwicklung kamen der
SAS/C `C' Compiler 5.10a, WShell, CygnusEd Professional 2, KeyMacro & ARexx
zum Einsatz.
Mein Dank gilt Holger Lubitz, Peter Fischer, Christoph Teuber, Garry
Glendown, Oliver Wagner, Jürgen Otte, Germar Morgenthaler, Matthias Zepf,
Markus Stoll, Ralf Thanner, Veith Schörgenhummer, Michael Vaeth, Roby
Leemann & AUGS, Thorsten Seidel, Till `Dill-Prince' Prinzler, Volker Ulle &
dem Aquila Sysop Team, Marc-Christian Schröer, Udo Wolt, Michael Hohmann
und all denen, die mir Libraries und Steuercodetabellen zugeschickt haben.
Die xpr-Libraries stammen von Willy Langeveld (ascii), Kenneth Osterberg
und Markus Pietz (jmodem), Stephen Walton (kermit), Jack Rouse (quickb),
Marc Boucher (xmodem) und Rick Huebner (zmodem).
Der xpr-Standard wurde von Willy Langeveld entwickelt, der Res.asm
Quellcode stammt von Edward Carrol, eine Routine (ahtoi) habe ich mir von
Matthew Dillon ausgeborgt, von David Jones stammt die verbesserte
QuickSort-Routine (QuickSort.asm), die Routinen zur Tonwahl bauen auf dem
Artikel `DTMF - A Program for Generating Touch-Tone Signals' von Adam Levin
auf.
Udo Wolt war so freundlich, die Dokumentation dieses Programmes in TeX
zu setzen (sowohl dieser Text, als auch die Dokumentation zur
ARexx-Schnittstelle liegen jetzt in Form von TeX-Quellcode als auch als
TeX-DVI-Dateien vor). Wer Interesse an der wesentlich ansprechender als
dieser reinen ASCII-Dokumentation aufbereiteten Anleitung hegt, der kann
mir eine zweite 3.5" Diskette zusammen mit einem frankierten Rückumschlag
zusenden (auf die term-Hauptdiskette passen die Dateien beim besten Willen
nicht mehr!).
============================== Der Quellcode ==============================
===========================================================================
Ich habe mich dazu entschlossen, das Programm mitsamt vollständigem
Quellcode öffentlich zugänglich zu machen. Man möge mir die
englischsprachige Kommentierung verzeihen, aber ich bin nicht umsonst für
meine Faulheit bekannt, wenn es an das Übertragen von Dokumentationen und
Kommentaren geht.
Eine kommerzielle Nutzung des Quellcodes ist nicht geplant und bedarf
eine schriftlichen Genehmigung durch den Autor. Dennoch ist die Verwendung
einzelner Routinen und Verfahren in nicht-kommerziellen Public-Domain
Programmen gestattet. Der Name des Originalautors muß nicht
notwendigerweise erwähnt werden.
Ich hoffe, daß durch die Veröffentlichung des Quellcodes die Erstellung
von Programmen unter dem neuen Betriebssystem schneller in Gang kommen (ich
habe viele Probleme überwunden und hoffe so einiges an `Eis' gebrochen zu
haben) und leistungsfähigere Telekommunikationssoftware für den Amiga
entstehen wird.
============================== Der Vertrieb ===============================
===========================================================================
Der Verkauf von `term' zusammen mit anderen kommerziellen Programmen ist
gestattet, wenn `term' quasi als `Zugabe' gedacht ist und kein
Preisaufschlag inbegriffen ist.
Es darf keinerlei Geld am Vertrieb des Programmes `term' verdient
werden. Es ist gestattet, eine Kopiergebühr zur Deckung der Unkosten
(Diskette, Laufwerk, etc.) zu erheben, solange diese den Betrag von DM 5,-
nicht übersteigt! Eine Veröffentlichung des Programmes im Rahmen von
Zeitschriften muß mit mir abgestimmt werden und bedarf meiner
ausdrücklichen Erlaubnis, andernfalls sähe ich mich gezwungen eine
einstweilige Verfügung zu Einstellung und Rückruf der betreffenden
Magazinausgabe zu erwirken.
WER MEHR ALS DM 5,- FÜR EINE KOPIE DIESES PROGRAMMES BEZAHLT, DER IST
BETROGEN WORDEN UND SOLLTE SICH MIT IHRER/SEINER ÖRTLICHEN
VERBRAUCHERZENTRALE IN VERBINDUNG SETZEN!
========================== Nutzungsberechtigung ===========================
===========================================================================
Das Programm `term' und die mit ihm empfangenen/versandten Daten dürfen
weder mittelbar, noch unmittelbar eingesetzt werden:
1) Zur Konstruktion, Entwicklung, Herstellung und Erprobung von Waffen und
Waffensystemen aller Art.
2) Zur Konstruktion, Errichtung, Herstellung oder Betreiben folgender
Anlagen, deren Teilbereiche die chemische Verarbeitung von radioaktivem
Material oder Spaltmaterial, die Herstellung von schwerem Wasser, die
Spaltung von Isotopen bei spaltbarem und radioaktivem Material, oder die
Herstellung von Atomreaktorbetriebsstoff einschließen.
3) Zur Ausbildung von Personen für die vorstehenden Zwecke.
==================== Updates & neue Programmversionen =====================
===========================================================================
Nachdem sich `term' bereits weit verbreitet und auch etabliert hat, sind
mehrere Personen mit der Frage nach Updates an mich herangetreten.
Wird eine neue `term'-Version von mir angefordert, so sollte angegeben
werden, ob weitere Updates gewünscht sind, wie lange und wieviele neue
Versionen verschickt werden sollen. Die entsprechende Gebühr für eine
einzige Updateversion beträgt im Gebiet der Bundesrepublik Deutschland DM
1,70 (Porto) plus DM 2,50 (Diskette -- wenn ich preiswertere Qualität
entdecke, schicke ich die Differenzsumme mit).
Sobald eine neue Programmversion verfügbar ist, werde ich es im Z-Netz
(Rechner/Amiga/Allgemein) bekanntmachen (da mich meine Fido-Box `raus-
geworfen hat, müssen sich Fido-Nutzer jetzt anders informieren...).
Üblicherweise tauchen neue Versionen dieses Programmes in regelmäßigen
Abständen im FRAS-Netz (einem Verteilungsnetz für Public-Domain-Software,
das im Z-Netz integriert ist) auf.
======================== Bedienung des Programmes =========================
===========================================================================
Das gesamte Bedienungkonzept beruht auf Maussteuerung - die Tastatur wird
nur zum Eingeben von Nummern und Namen benötigt. Dennoch lassen sich mit
nur drei Ausnahmen alle Funktionen des Programmes auch über Tastatur
steuern.
Das Programm läßt sich sowohl von der Shell, als auch von der Workbench
starten. Kickstart 2.0 oder höher ist unverzichtbar - das Programm wird
sich weigern, unter Vorgängerversionen zu funktionieren. Im Interesse
eines reibungslosen Funktionierens wird empfohlen, Kickstart 2.04 (Version
37.74) und Workbench 2.04 (Version 37.33) oder deren Nachfolger zu
verwenden. Sollte sich `term' beklagen, daß die eine oder andere Library
nicht zu öffnen sei, obwohl man ganz genau weiß, daß man sie installiert
hat, so wird dies daran liegen, daß man eine bereits veraltete
Betriebssystemversion verwendet (ältere Developer-Kickstarts und auch die
auf den ersten A3000-Modellen installierten Betriebssystemversionen
meldeten die für `term' unverzichtbaren Libraries `iffparse.library' und
`asl.library' mit Versionsnummern < 37 an).
Wird das Programm von der Shell gestartet, so koppelt es sich sofort von
dieser ab, sodaß das Shell-Fenster nach dem Programmstart geschlossen
werden kann. Dieser Effekt kann verhindert werden, indem das Programm mit
dem Parameter `KEEPIO' aufgerufen wird (z.B. "term KEEPIO"). Das
Shell-Fenster kann nachfolgend erst nach Programmende geschlossen werden.
Üblicherweise laufen keine zwei `term'-Programme gleichzeitig, beim
Starten des zweiten Programmes wird automatisch der Bildschirm des zuerst
gestarteten Programmes nach vorne gebracht. Gibt man den Aufrufparameter
`DONTPOP' in der Shell ein (z.B. "term DONTPOP"), so wird der oben
geschilderte Effekt vermieden und ein zweites `term' gestartet.
============================= Der Bildschirm ==============================
===========================================================================
Der Bildschirm öffnet sich immer zur vollen Text-Overscan-Größe, die mit
dem Preferences-Programm `Overscan' eingestellt werden kann. So werden
zusätzliche Textzeilen in der Vertikalen zugänglich, mit denen das Programm
arbeiten kann.
Am unteren Rand des Bildschirms befindet sich eine Anzeige der
wichtigsten Programmparameter. Dies sind:
Status ........ Der Arbeitsmodus, in dem sich `term' derzeit befindet.
Dies sind `Ready' (das Programm ist arbeitsbereit),
`Holding' (die Taste Control-S wurde gedrückt, um die
Anzeige des Textes auf dem Bildschirm anzuhalten),
`Dialing' (es werden gerade Telefonnummern gewählt),
`Upload' (Daten werden gerade verschickt), `Download'
(Daten werden gerade empfangen), `Breaking' (es wird ein
Unterbrechungssignal verschickt) und `Hanging Up'
(die Verbindung wird abgebrochen).
Font .......... Der aktuell eingestellte Zeichensatz zur Darstellung des
Textes am Bildschirm.
Protocol ...... Das aktuell eingestellte Datenübertragungsprotokoll (dazu
später mehr).
Emulation ..... Die zur Darstellung der empfangenen Zeichen eingestellte
Steuersequenzanalyse.
Baud Rate ..... Die aktuell eingestellte Datenübertragungsgeschwindigkeit
in Bits/Sekunde.
Parameters .... Die Parameter der Datenübertragung (Anzahl der übertragenen
Datenbits, Parität und Anzahl der Stopbits).
Time .......... Die aktuelle Tageszeit.
Online ........ Die seit dem Aufbau einer Telefonverbindung verstrichene
Zeit. Dieser Zähler wird bei Unterbrechung der Verbindung
angehalten (z.B. durch Auflegen) und beim Aufbau einer
neuen Verbindung auf 00:00:00 zurückgesetzt.
Der Bildschirm selbst wird als öffentlich zugänglicher Bereich (Public
Screen) unter dem Namen `TERM' eingebunden und kann von Programmen, die
dazu in der Lage sind, für ihre Zwecke benutzt werden. Startet man mehrere
`term'-Programme, so wird der Name des Bildschirms der Nummer des
Programmes angepaßt (das erste gestartete Programm meldet den Bildschirm
unter dem Namen `TERM' an, das zweite bedient sich `TERM1', das dritte
nimmt `TERM2', etc.). Der Name des Bildschirms wird auch im
Bildschirmtitel angezeigt.
Am Hauptbildschirm lassen sich mit der Maus Zeichen markieren, die in
das `Klemmbrett' (Clipboard) gelegt werden sollen, um später abrufbereit in
den Eingabestrom eingespielt werden zu können. Hierzu sind die zu
markierenden Zeichen mit der Maus anzuklicken und ist der zu übernehmende
Text mit dem Mauszeiger zu überstreichen. Wird zusätzlich noch eine der
Umschalttasten für Groß-/Kleinschreibung gedrückt gehalten, so wird der
Inhalt des markierten Bereiches nach dem Markieren automatisch in den
Eingabestrom eingespielt und mit einem Zeilenrücklaufcode abgeschickt.
Auch einzelne Zeichen lassen sich einfach anklicken und abschicken: hierzu
ist die Control-Umschalttaste zu drücken und das zu verschickende Zeichen
mit dem Mauszeiger anzuklicken. Wird zusätzlich zur Control-Umschalttaste
auch noch einer der Umschalttasten für Groß-/Kleinschreibung gedrückt
gehalten, so das Zeichen mit einem Zeilenrücklaufcode verschickt.
In Standard-Zeicheneingabefeldern mußte ein Weg gefunden werden, um
sowohl Menüpunkte, als auch die Standardeditierfunktionen (Rechte
Amiga-Taste + X löscht die Eingabezeile, rechte Amiga-Taste + Q stellt den
ursprünglichen Inhalt der Eingabezeile wieder her) unterstützen zu können.
Wird keine Umschalttaste (`Shift') gedrückt, um eine der Tastenfunktionen
auszulösen, so wird die jeweilige Editierfunktion des Eingabefeldes
genutzt. Wird die Umschalttaste jedoch gedrückt, so wird der dazugehörige
Menüpunkt -- sofern vorhanden -- aufgerufen. Innerhalb der Eingabefelder
läßt sich wortweise springen, wenn zusammen mit den Tasten zur Bewegung der
Schreibmarke (`Cursortasten') die Control-Taste gedrückt gehalten wird.
================================ Die Menüs ================================
===========================================================================
Hier sollen kurz alle Pull-Down-Menüs und damit verbundene Funktionen des
Programmes vorgestellt werden.
1. Project
----------
Dieses Menü enthält Funktionen zum Laden und Speichern der
Programmeinstellungen und zum Verlassen des Programmes.
Open Preferences............... Lädt die Voreinstellungen aus einer
anzugebenden Datei.
Save Preferences............... Speichert die Voreinstellungen unter dem
zuletzt eingegebenen Namen.
Save Preferences As............ Speichert die Voreinstellungen unter einem
anzugebenden Namen.
Print Screen................... Gibt den Bildschirminhalt zeichenweise auf
dem Drucker aus (keinesfalls als Graphik).
Steuersequenzen werden nicht erzeugt.
About.......................... Gibt eine kurze Information über das
Programm aus.
Quit........................... Beendet das Programm nach einer
Sicherheitsabfrage.
Nachdem der Menüpunkt zum Beenden des Programmes angewählt wurde, kann
es einen Augenblick dauern, bis `term' wirklich verlassen wird. Dies hat
seinen Grund darin, daß vor Programmende alle angeforderten Puffer
freigegeben werden müssen, somit auch das `Logbuch'. Da zeilenweise
abgespeichert, kann das Freigeben der Logbuchinhaltes entsprechend lange
dauern.
2. Utilities
------------
In diesem Menü sind Funktionen zusammengefaßt, die dem Anwender das Leben
ein wenig erleichtern sollen. So lassen sich AmigaDOS-Befehle, aber auch
ARexx-Kommandodateien starten. Zusätzlich läßt sich der Inhalt des
Clipboards (`Klemmbrett') in den Eingabestrom einspeisen (gedacht für
Texteditoren oder auch das Programm `Snap').
Set Console Window............. Werden AmigaDOS/ARexx Befehle ausgeführt,
so wird ein Ausgabefenster geöffnet, in das
das betreffende Programm seine
Informationen ausgibt. Position und Größe
des Fensters lassen sich hier einstellen.
Das Format der Fensterdeklaration
entspricht der des NewShell-Befehles.
Sollen während der Abarbeitung von
AmigaDOS/ARexx Befehlen keine Ausgaben
erfolgen, so sollte man hier `NIL:'
eingeben.
Execute AmigaDOS Command....... Hier läßt sich ein AmigaDOS-Befehl (z.B.
Shell-Befehl) aufrufen. Befehlsname und
Aufrufargumente müssen hier eingetippt
werden.
Execute ARexx Command.......... Dieser Menüpunkt dient dem Aufruf von ARexx
Befehlsdateien. Name und Aufrufargumente
müssen hier eingegeben werden. Wird die
Eingabe in Anführungszeichen (" oder ')
eingeschlossen, so wird sie als
Mini-Programm in einer Zeile interpretiert
und ausgeführt.
Die von `term' unterstützten
ARexx-Befehle werden in der Datei
`termRexx.dok' beschrieben.
Edit File...................... Ruft den voreinstellten Text-Editor auf, um
eine Datei zu bearbeiten. Wurde bisher
kein Text-Editor ausgewählt, so wird
automatisch ein Fenster geöffnet, in dem
der Name des Editors eingegeben werden
kann.
Es muß darauf hingewiesen werden, daß
`term' solange wartet, bis der aufgerufene
Editor seine Arbeit beendet hat.
Paste Clipboard Contents....... Der aktuelle Inhalt des `Clipboards', einer
Ablage für temporäre Daten, die von
mehreren Programmen aus genutzt werden
kann, wird mit dieser Funktion in den
Eingabestrom eingespeist. Dies ist im
Zusammenhang mit dem `Logbuch' sinnvoll, in
dem Zeilen markiert werden können, die
anschließend im `Clipboard' abgelegt
werden.
Packet Window.................. Hier wird im unteren Bereich des
Bildschirmes ein kleines Fenster geöffnet,
in dem eine zu übertragene Zeile
eingegeben, editiert und abgeschickt werden
kann. Der Inhalt der Eingabezeile ist
unabhängig davon, ob die am anderen Ende
der Leitung aktive Mailbox sich um das
Bearbeiten der eingetippten Zeichen
kümmert. Eine genauere Beschreibung der
Funktionen dieses Fensters wird später
gegeben.
Bei den Funktionen dieses Menüs, die zum Aufrufen eines Programmes
dienen, wird ein Fenster geöffnet, in dem der Name des jeweiligen
Programmes eingegeben werden kann. Zusätzlich befindet sich am unteren
Rand dieses Fensters ein weiterer Knopf (`Load File'), der es erlaubt, das
jeweilige Programm mit Hilfe eines Datei-Requesters auszuwählen.
3. Capture & Buffer
-------------------
Die in diesem Menü zusammengefaßten Funktionen haben die Aufgabe, auf dem
Bildschirm bereits gezeigte Daten zwischenzuspeichern, bzw. auf Diskette
abzulegen oder zum Drucker zu schicken.
Clear Buffer................... Dieser Menüpunkt führt dazu, daß der
aktuelle Inhalt des `Logbuches' gelöscht
wird. Sämtlicher angeforderter Speicher
wird freigegeben.
Display Buffer................. Das `Logbuch' wird mit diesem Befehl
geöffnet und angezeigt.
Close Buffer................... Schließt den Bildschirm des `Logbuches',
läßt dessen Inhalt aber unverändert (den
Inhalt des `Logbuches', nicht des
Bildschirmes - für die Spitzfindigen unter
uns).
Load Buffer.................... Lädt den Inhalt des `Logbuches' aus einer
anzugebenden Datei. Falls das `Logbuch'
noch Textzeilen enthält, so lassen sich die
zu ladenden Zeilen auf Wunsch an den
bestehenden Inhalt anhängen.
Save Buffer.................... Sofern das `Logbuch' nicht bereits geleert
wurde, läßt sich unter diesem Menüpunkt der
komplette Logbuchinhalt auf Diskette
ablegen.
Capture To Disk................ Sollen alle eingehenden Daten
`mitgeschnitten' und auf Diskette
gespeichert werden, so sollte man diesen
Menüpunkt aufrufen. Einmal aktiviert
werden alle eingehenden Daten
zwischengespeichert und in regelmäßigen
Abständen auf Diskette abgelegt. Wird
dieser Menüpunkt ein zweites mal angewählt,
wird die betreffende Datei wieder
geschlossen und das Mitschneiden beendet.
Capture To Printer............. Ähnlich wie unter dem Menüpunkt `Capture To
Disk' wird hier die Protokollierung der
eingehenden Daten auf dem Drucker zu-, bzw.
wieder abgeschaltet.
Zur Funktion des `Logbuches' und dessen Bedienung werden später noch
detailiertere Informationen gegeben.
4. Transfer
-----------
Da Datenaustausch nicht allein über Tastatur und Konsole abgewickelt werden
kann, unterstützt `term' externe Datentransferprotokolle über
XPR-Bibliotheken. Dem Hauptprogramm beigefügt sind xprascii.library,
xprjmodem.library, xprkermit.library, xprquickb.library, xprxmodem.library
und xprzmodem.library.
Upload Text.................... Schickt Textdateien mit Hilfe des derzeit
eingestellten Transferprotokolles zum
Empfänger. Hinweis: es wird nicht
selbständig erkannt, ob es sich bei den zu
übertragenden Dateien um reinen ASCII-Text
handelt. Dem Transferprotokoll wird bei
Aufruf dieses Menüpunktes `empfohlen', die
zu übertragenden Dateien im `Textmodus' zu
verschicken. Ob ein solcher Modus
implementiert ist, hängt vom Protokoll ab,
näheres ist in dessen Dokumentation
nachzulesen. Im `schlechtesten' Falle ist
diese Funktion mit der
Standard-Upload-Funktion identisch.
Download Text.................. Fordert Textdateien mit Hilfe des derzeit
eingestellten Transferprotokolles an.
Hinweis: es wird nicht selbständig
erkannt, ob es sich bei den zu empfangenden
Dateien um reinen ASCII-Text handelt. Dem
Transferprotokoll wird bei Aufruf dieses
Menüpunktes `empfohlen', die zu
übertragenden Dateien im `Textmodus' zu
empfangen. Ob ein solcher Modus
implementiert ist, hängt vom Protokoll ab,
näheres ist in dessen Dokumentation
nachzulesen. Im `schlechtesten' Falle ist
diese Funktion mit der
Standard-Download-Funktion identisch.
Send ASCII..................... Ruft die `xprascii.library' auf, um
eine/mehrere ASCII-Datei(en) zu versenden.
Diese Funktion wurde implementiert, um
`term' das Zusammenleben mit Paragon
BBS-Systemen zu erleichtern.
Receive ASCII.................. Ruft die `xprascii.library' auf, um eine
ASCII-Datei zu empfangen.
Upload File(s)................. Schickt Dateien mit Hilfe des derzeit
eingestellten Transferprotokolles an den
Empfänger. Hier können auch mehrere
Dateien ausgewählt werden (die Shift-Taste
gedrückt halten, wenn die zu übertragenden
Dateien ausgewählt werden, bzw. ein
`Wildcardmuster' statt eines vollständigen
Dateinamens eingeben wie z.B. "#?.txt",
womit alle Dateien, deren Namen mit dem
Kürzel ".txt" enden, übertragen werden).
Ob das jeweilige Transferprotokoll die
Übertragung von mehreren Dateien
unterstützt, ist in dessen Dokumentation
nachzulesen. Wurden mehrere Dateien
ausgewählt und das jeweilige
Transferprotokolle unterstützt nur einen
einzelnen Dateinamen, so wird jeweils die
zuerst ausgewählte Datei übertragen.
Download File(s)............... Fordert mit Hilfe des derzeit eingestellten
Transferprotokolles Dateien an. Wenn
überhaupt, so kann hier nur der Name einer
einzigen Datei angegeben werden, die zu
empfangen ist. Dateien, die nach dem
Transfervorgang leer bleiben, werden
automatisch gelöscht.
Transfer Options............... Hier lassen sich alle Parameter des
Transferprotokolle einstellen, oder auch
Unterfunktionen aufrufen. Die Bedeutung
der jeweiligen Parameter ist der
Dokumentation des jeweiligen Protokolles zu
entnehmen. Alle eingestellten Optionen
werden auf Diskette gespeichert und können
mit den Befehlen GetEnv & SetEnv
ausgelesen, bzw. verändert werden.
Transfer Protocol.............. Hier kann das für Up-/Downloads zu
verwendende Transferprotokoll ausgewählt
werden. Diese Protokolle sind als System-
bibliotheken (xpr.library) implementiert,
als Konsequenz wird nur der Inhalt des
LIBS: Verzeichnisses angezeigt. Das hier
verwendete Auswahlfeld wird von allen
Funktionen dieses Menüs aufgerufen, wenn
noch kein Transferprotokoll ausgewählt
wurde, um die mit dem jeweiligen Menüpunkt
verknüpfte Funktion auszuführen.
Von den Transferfunktionen wird ein Fenster geöffnet, in dem
verschiedene Transferparameter angezeigt werden. Zusätzlich läßt sich die
Übertragung unter-, bzw. abbrechen (mit den Tasten `Abort Entire Transfer'
= Abbruch des Transfervorganges und `Skip Current File' = aktuelle Datei
überspringen). Hinweis: für die meisten Transferprotokolle haben die
Tasten zum Abbrechen des Transfervorganges und zum Überspringen der
aktuellen Datei dieselbe Funktion, ob eine getrennte Behandlung möglich ist
(die dem Sinn der Tastenfunktionen entspricht) ist der jeweiligen
Dokumentation zu entnehmen.
Im folgenden sollen die im Transferfenster ausgegebenen Informationen
kurz beschrieben werden:
Protocol............... Der Name des Transferprotokolles.
File................... Der Name der Datei, die gerade übertragen wird.
Size................... Sofern bekannt, die Größe der jeweiligen Datei.
Bytes Transferred...... Der bisher übertragene Dateiumfang.
Blocks Transferred..... Die Anzahl der bisher übertragenen Datenblöcke.
Block Check Type....... Das Verfahren, das zur Überprüfung der übertragenen
Daten verwendet wird (dies ist zumeist eine Form
der CRC-Prüfsummenfunktion).
Block Size............. Größe eines Datenblockes in Bytes.
Estimated Time......... Hier wird die Zeit ausgegeben, die das jeweilige
Transferprotokoll als die gesamte Übertragungs-
dauer berechnet.
Elapsed Time........... Die während der Übertragung verstrichene Zeit.
Message................ Eine Nachricht des Protokolles an den Benutzer
(z.B. den gegenwärtigen Zustand der
Datenübertragung betreffend).
Last Error............. Eine kurze Beschreibung des zuletzt während der
Übertragung aufgetretenen Fehlers.
Number Of Errors....... Die Anzahl der bei der Übertragung aufgetretenen
Fehler.
Number Of Timeouts..... Die Anzahl der bei der Übertragung aufgetretenen
Synchronisierungsfehler.
Packet Type............ Eine Beschreibung des zur Übertragung verwendeten
Datenblocktypes.
Packet Delay........... Die zeitliche Verzögerung zwischen der Übertragung
zwei aufeinanderfolgender Datenblöcke.
Characters/Second...... Die effektive Transfergeschwindigkeit des
Protokolles in Zeichen pro Sekunde.
Character Delay........ Die zeitliche Verzögerung zwischen der Übertragung
zwei aufeinanderfolgender Zeichen.
Ist das ZModem-Protokoll aktiv und geht von der Empfängerseite die
Aufforderung ein, eine Datei zu übertragen, so erscheint ein Auswahlfeld,
das es einem ermöglicht sofort einen Text-/Binär-Upload zu starten.
Jede empfangene Datei wird untersucht, um ihren Typ zu ermitteln. Wird
dieser eindeutig bestimmt, so wird in den Datei-Kommentar ein kleiner Text
geschrieben, der den Dateityp erklärt. Gegenwärtig werden 43 Dateitypen
erkannt.
5. Modem
--------
In diesem Menü finden sich alle Funktionen, die sich mit der Ansteuerung
des Modems und der seriellen Schnittstelle befassen.
Phonebook...................... Dieser Menüpunkt birgt eine der
komplexesten Funktionen des gesamten
Programmes und soll im Anschluß an die
Beschreibung der Menüs erklärt werden.
Dial........................... Zum Wählen einer einzelnen Telefonnummer
ist dieser Menüpunkt anzuwählen. Die
jeweilige Nummer wird angefordert und
anschließend an die Wählfunktion
weitergeleitet.
Redial......................... Alle Telefonbucheinträge, deren Nummern in
der Wählliste vermerkt sind und zu denen
beim letzten Wählvorgang keine Verbindung
hergestellt werden konnte, werden an die
Wählfunktion übergeben.
Play Number.................... Spielt eine Telefonnummer in Ton-Codierung
über die Amiga Audio-Hardware ab. Dies ist
allerdings nur dann sinnvoll, wenn das zu
verwendende Telefon an eine digitale
Vermittlungsstelle der Telekom ange-
schlossen ist. Zum Wählen ist die
Sprechmuschel an den Lautsprecher des
Monitors oder des `was-auch-immer-
zur-Tonausgabe-verwendet-wird' zu halten.
Send Break..................... Schickt ein Unterbrechungssignal über die
serielle Leitung, was üblicherweise zu
einer Resynchronisierung mit dem Empfänger
oder zum Abbruch einer Funktion des
Empfängers führt.
Hang Up........................ Schickt dem Modem den Befehl zum Auflegen,
d.h. zum Abbruch der Verbindung zu.
Release Serial Device.......... Gibt den derzeit eingestellten seriellen
Treiber kurzfristig frei, sodaß andere
Anwendungsprogramme ihn für ihre Zwecke
nutzen können.
Wieder in `term' kehrt man zurück, indem
man das Feld `Continue' anklickt. Zum
Verlassen des Programmes ist `Quit'
anzuklicken.
Wurde über das ARexx-Interface der serielle Treiber freigegeben, aber
nicht wieder eingebunden, oder ließ sich der Treiber nicht korrekt
initialisieren (man hat sich bei der Eingabe des Namens vertippt) so läßt
sich dies über den Menüpunkt `Release Serial Device' nachholen.
6. Display
----------
Die Unterpunkte dieses Menüs befassen sich mit der Handhabung des
Bildschirmes.
Reset Styles................... Sollte es einmal vorkommen, daß die Schrift
auf dem Bildschirm unleserlich wird, weil
Textattribute wie Blinken, Fettdruck,
Invers oder Unterstreichen eingeschaltet,
aber nicht wieder entfernt wurden, kann
hiermit der Urzustand der Anzeige
wiederhergestellt werden.
Clear Screen................... Hiermit wird der Bildschirm gelöscht und
die Schreibmarke (Cursor) in die linke
obere Ecke des Bildschirmes gesetzt.
Save Screen (IFF-ILBM)......... Speichert den aktuellen Bildschirminhalt
als IFF-ILBM-Bild ab. Die erzeugte Datei
kann von jedem Zeichenprogramm eingelesen
und bearbeitet werden.
Save Screen (ASCII)............ Speichert den Bildschirminhalt in
Zeichenform ab (keinesfalls als Graphik).
7. Preferences
--------------
Sämtliche Voreinstellungen des Programmes werden in diesem Menüs getroffen.
Es existiert eine Trennung zwischen lokalen und globalen Einstellungen.
Lokale Einstellungen können z.B. durch Anwählen einer Mailbox gesetzt
werden, globale Einstellungen bleiben auch noch nach der Anwahl eine
Mailbox erhalten und müssen explizit geändert werden.
Im folgenden sollen alle Menüpunkte und deren Funktionen kurz beleuchtet
werden:
a) Serial Preferences
---------------------
Hier sind alle Parameter der seriellen Datenübertragung einzustellen:
Baud Rate.............. Übertragungsgeschwindigkeit in Bits pro Sekunde.
Bits/Char.............. Anzahl der Bits pro übertragenem Zeichen (7 / 8).
Parity................. Übertragungsparität (keine, gerade, ungerade, Mark
= Paritätsbit ist immer 1, Space = Paritätsbit ist
immer 0).
Stop Bits.............. Zur Übertragung verwendete Stop-Bits (1 / 2).
Handshaking............ Zur Datenübermittlung verwendete Start/Stop-Kennug
(XON/XOFF, RTS/CTS, keine).
Duplex................. Datenübertragungsart (vollständig, halb bzw.
Darstellung der eingegebenen Zeichen auch auf dem
Hauptbildschirm).
High-Speed Mode........ Aktiviert einen speziellen Modus des seriellen
Treibers, der die Überprüfung der durchgehenden
Daten überspringt und schneller arbeitet (nur
sinnvoll bei der Verwendung des Programmes zum
Verbinden zweier Rechner über Nullmodem-Kabel).
Break Length........... Die Dauer des Unterbrechungssignales (über den
Menüpunkte `Send Break' auszulösen) in
Mikrosekunden.
Serial Device.......... Name des seriellen Treibers; üblicherweise ist dies
das `serial.device', Besitzer des internen
Supra-Modems sollten hier `modem?.device' (wobei ?
für die Nummer der Steckkarte steht), Anwender der
ASDG-IO-Karte `sxbios.device' eingeben.
Device Unit Number..... Nummer der seriellen Treibereinheit, üblicherweise
sollte dies 0 sein, zum Ansprechen getrennter
serieller Anschlüsse ist hier die Nummer des
Anschlusses einzusetzen.
Use.................... Verwende die aktuellen Einstellugen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Wird die serielle Übertragungsgeschwindigkeit modifiziert, so muß dies
den meisten Modems ausdrücklich bekanntgemacht werden (z.B. indem man die
Zeichenfolge `AT<RETURN>' eintippt).
b) Modem Preferences
--------------------
Hier finden sich verschiedene Einstellungen zur Ansteuerung des Modems,
aber auch für das Anwählen von Telefonbucheinträgen notwendige Parameter:
Modem Init String...... Eine Zeichenkette, die dem Modem beim Programmstart
zugeschickt werden soll. Dieser Befehl dient der
Initialisierung und muß nicht notwendigerweise
vorhanden sein.
Auch die Wählfunktion nutzt diesen Eintrag:
kurz bevor eine Telefonnummer angewählt wird, wird
das Modem mit der hier zu findenden Zeichenkette
initialisiert.
Modem Exit String...... Eine Zeichenkette, die dem Modem beim Programmende
zugeschickt werden soll. Dieser Befehl muß nicht
notwendigerweise vorhanden sein.
Auch die Wählfunktion nutzt diesen Eintrag:
kurz bevor die zu einem Telefonbucheintrag
gehörende Nummer gewählt wird, wird das Modem mit
dem Exit-String der Vorgängernummer bearbeitet.
Modem Hangup String.... Eine Zeichenkette, die dem Modem Abbrechen der
Verbindung zugesandt wird (`Hang up'). Dieser
Befehl ist zwingend erforderlich!
Dial Prefix............ Eine Zeichenkombination, die einer zu wählenden
Telefonnummer vorangestellt werden soll.
Üblicherweise ist dies `ATDP' oder `ATX3DP' für
automatische Erkennung einer besetzten
Telefonleitung.
Redial Delay........... Die zeitliche Verzögerung nach einem
fehlgeschlagenen Versuch, beim Wählen von
Telefonnumern eine Verbindung herzustellen. Die
Wählfunktion wartet die hier angegebene Zeit in
Minuten, bevor die Liste der zu wählenden
Telefonnummern ein weiteres mal durchlaufen wird.
Number Of Dial Retries. Die Anzahl der Versuche, die die Wählfunktion
unternimmt, eine Verbindung zu den in der Liste der
zu wählenden Telefonnummern herzustellen, bevor sie
abbricht.
Dial Timeout........... Die Anzahl Sekunden, die die Wählfunktion nach der
Anwahl einer Telefonnummer wartet, bis sie auflegt
und die nächste Nummer wählt.
Connect Auto-Capture... Beim erfolgreichen Aufbau einer Telefonverbindung
kann optional eine Mitschnitt-Datei geöffnet
werden, in der alle Ein-/Ausgaben der
angeschlossenen Mailbox abgespeichert werden. Ist
diese Funktion aktiviert, so wird eine vorher
geöffnete Mitschnitt-Datei geschlossen und eine
neue geöffnet, die den Namen der angeschlossenen
Mailbox und des Verbindungsdatums trägt.
Connect Auto-Baud...... Viele Modems geben beim erfolgreichen Aufbau einer
Verbindung die Übertragungsgeschwindigkeit aus,
deren Trägersignal erkannt wurde. Ist die hier
implementierte Funktion aktiviert, so wird diese
Zahl ausgewertet und die Übertragungs-
geschwindigkeit des seriellen Treibers entsprechend
angepaßt.
Log Actions............ Auf Wunsch werden alle vom Programm ausgeführten
Aktionen (Up-/Downloads, Anwahl von Mailboxen,
etc.) protokolliert und in einer Datei gespeichert.
Jede Aktion wird mit Datum und Uhrzeit versehen.
No Carrier String...... Die Zeichenkette, die das Modem beim Verlust des
Trägersignales an das Terminal sendet. Dies wird
benötigt, wenn ermittelt werden soll, die lange die
letzte Telefonverbindung bestand und berechnet
wird, wieviel für die Verbindung an Gebühren zu
bezahlen ist.
Connect String......... Die Zeichenkette, die das Modem beim erfolgreichen
Aufbau einer Verbindung an das Terminal
zurückschickt. Sie wird benötigt, nachdem die
Wählfunktion eine Telefonnummer angewählt hat und
auf eine Antwort des Modems wartet (Connect/No
Carrier).
Voice String........... Die Zeichenkette, die das Modem beim Erkennen eines
Anrufes an das Terminal zurückliefert, wenn es
erkennt, daß sich am anderen Ende der Leitung kein
anderes Modem meldet.
Ring String............ Die Zeichenkette, die das Modem beim Empfang eines
eingehenden Anrufes an das Terminal zurückliefert.
Busy String............ Die Zeichenkette, die das Modem zurückliefert, wenn
es erkennt, daß die angewählte Telefonnummer
gegenwärtig besetzt ist.
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
c) Screen Preferences
---------------------
Unter diesem Menüpunkt ist ein Einstellfeld zu finden, in dem alle
Parameter des Hauptbildschirmes gesetzt werden können.
Display Modes.......... Hier werden alle verfügbaren Graphikmodi angezeigt,
in denen der Hauptbildschirm geöffnet werden kann.
Zur Verwendung der Modi `Productivity' und der
A2024-Modi ist anzumerken, daß sie zwei
Einschränkungen mit sich bringen: es können nur
noch Bildschirme der Tiefe zwei (Amiga-Farbenmodus)
geöffnet werden und in den A2024-Modi können
verschiedene Bildschirmauflösungen nicht mehr
miteinander gemischt werden.
Hinweis: die A2024-Modi sollten wirklich nur
dann aufgerufen werden, wenn auch tatsächlich ein
A2024/Hedley-Monitor angeschlossen ist, da sonst
u.U. der Bildschirm regelrecht `zusammenbricht'
und das Arbeiten mit `term' unmöglich gemacht wird.
Edit Screen Palette.... Hier kann eine zu verändernde Farbe der
Bildschirmpalette angewählt werden.
Red/Green/Blue......... Mit diesen Schiebereglern werden die Anteile der zu
verändernden Bildschirmfarbe modifiziert.
Make Screen Public..... Wie schon oben angesprochen, wird der `term'
Hauptbildschirm als öffentlich zugänglich geöffnet.
Da der Bildschirm selbst nicht automatisch
öffentlich zugänglich geöffnet wird, kann mit
diesem Punkt bestimmt werden, ob auf dem Bildschirm
Fenster fremder Programme geöffnet werden sollen
können.
Es ist besonders in Hinsicht auf die von den
Befehlen `Execute AmigaDOS Command' und `Execute
ARexx Command' geöffneten Konsolenfenster sinnvoll,
den Bildschirm als öffentlich zugänglich öffnen zu
lassen. In diesem Fall werden die jeweiligen
Fenster auf dem `term'-Hauptbildschirm geöffnet.
`Shanghai' Windows..... Eng mit dem vorher genannten Punkt hängt diese
Funktion zusammen, die nur dann zugänglich wird,
wenn `Make Screen Public' aktiviert wurde. Ist der
Schalter `Shanghai Windows' aktiv, so wird
versucht, das Öffnen aller sonst auf dem
Workbench-Bildschirm erscheinenden Fenster auf den
Hauptbildschirm von `term' zu verlegen.
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Es muß darauf hingewiesen werden, daß die `neuen' Display-Modi
(Super-Hires, Productivity, etc.) die Farbenvielfalt eines Bildschirmes
stark einschränken. Statt 16-Bit Farbanteilen für Rot, Grün und Blau
werden nur noch 2 Bit unterstützt, was den Umfang der Palette, aus denen
Farben gewählt werden können, auf 64 Farben begrenzt (4 × 4 × 4). Dies ist
kein `Feature' von `term' sondern eine hardwarebedingte Einschränkung.
d) Terminal Preferences
-----------------------
Alle hier versammelten Einstellungen bestimmen das Verhalten des Terminals
selbst, d.h. wie welche Steuerbefehle interpretiert und in
Bildschirminformationen umgesetzt werden.
Capture Filter......... Bestimmt ob Steuersequenzen aus dem Datenstrom
herausgefiltert werden sollen, der an den
`Mitschnitt' der `Capture To Disk'-Funktion gesandt
wird.
Destructive BS......... Legt fest, ob das `Backspace'-Zeichen (dient zum
Löschen des Zeichens links neben der Schreibmarke)
lediglich die Schreibmarke bewegen, oder auch
Zeichen aus dem Bildschirm entfernen soll.
Audible Bell........... Ist diese Funktion eingeschaltet, so wird bei jedem
eingehenden `Bell'-Zeichen (Klingel) ein
akustisches Signal ausgelöst.
Visible Bell........... Ist diese Funktion eingeschaltet, so wird bei jedem
eingehenden `Bell'-Zeichen (Klingel) ein optisches
Signal ausgelöst (der Bildschirm blitzt kurz auf).
Force 80 × 24.......... Aufgrund einer größeren horizontalen Auflösung des
eingestellten Bildschirmmodus oder als Resultat der
aktuellen Overscan-Einstellungen wird am rechten
Bildschirmrand häufig zusätzlicher Platz verfügbar,
der von `term' automatisch für die Textdarstellung
genutzt wird. Leider sind viele bemitleidenswerte
Mailboxprogramme auf eine starre Bildschirmbreite
von 80 Zeichen und Bildschirmhöhe von 24 Zeilen
angewiesen, die, wenn sie nicht exakt eingehalten
wird, zu Störungen im Bildschirmaufbau führt. Hat
man Bekanntschaft mit einer solchen Mailbox
gemacht, läßt sich mit diesem Schalter eine
nominelle Breite von 80 Zeichen und Höhe von 24
Zeilen erzwingen (die Breite und Höhe des
Hauptbildschirmes bleiben erhalten, lediglich ein
Zeilenumbruch wird ab der 80. Horizontalposition
der Schreibmarke durchgeführt, ebenso wird der
untere Bildschirmrand neu gesetzt).
Stop Blinking.......... Für den Fall, daß eine Mailbox zu großzügig mit
blinkenden Zeichen umgeht, kann mit dieser Option
das Blinken generell abgeschaltet werden.
Send CR................ Dieser Schalter bestimmt, als welche Zeichenfolge
ein Carriage-Return (Zeilenrücklauf) an den
Empfänger übertragen werden soll. Ein
Zeilenrücklauf wird üblicherweise dann gesendet,
wenn die RETURN-Taste gedrückt wird (As CR = ohne
Veränderung, As CR+LF = gefolgt von einem
Zeilenvorschub, Ignore = Unterdrückung).
Send LF................ Dieser Schalter bestimmt, als welche Zeichenfolge
ein Line-Feed (Zeilenvorschub) an den Empfänger
übertragen werden soll. Ein Zeilenvorschub wird
üblicherweise dann gesendet, wenn die RETURN-Taste
zusammen mit der Control-Taste gedrückt wird (As LF
= ohne Veränderung, As LF+CR = gefolgt von einem
Zeilenrücklauf, Ignore = Unterdrückung).
Colour................. Hier wird der Farbmodus bestimmt, in dem die
Terminalemulation arbeiten soll. Bisher sind drei
Modi implementiert:
- Amiga
Vier Farben, inklusive Blinkfunktionen.
- 8 Colours (Blink)
Acht Farben, inklusive Blinkfunktionen.
- 16 Colours
Sechtzehn Farben, entsprechend der EGA
Farbpalette.
- Mono
Monochrom, nur zwei Farben.
Emulation.............. Dies ist schließlich und endlich der Punkt, an dem
man sich entscheiden kann, mit welcher
Terminalemulation man arbeiten möchte. Einerseits
existiert eine solide VT100/VT220/ANSI Emulation,
die alle bekannten Steuersequenzen unterstützt,
andererseits gibt es die sogenannte `Atomic'-
`Emulation', die lediglich die unverzichtbaren
Steuerfunktionen (in TTY-Manier CR, LF, Backspace,
etc.) unterstützt, alle VT100- und ANSI-
Steuersequenzen überspringt, dafür aber sehr
schnell arbeitet und eine `TTY'-Emulation, die
nicht wie `Atomic' alle Steuersequenzen
unterschlägt, sondern auf dem Bildschirm ausgibt.
Font................... `term' verwendet zwei Zeichensätze zur Darstellung
von Text und Graphik. `Topaz' ist der im
Betriebssystem integrierte Standardzeichensatz,
`IBM' ist ein dem Standard-IBM-PC® ähnlicher
Zeichensatz, der auch Graphikzeichen enthält. Ist
der `IBM'-Zeichensatz gewählt, so werden alle über
die Tastatur eingegebenen Zeichen automatisch in
die entsprechenden `IBM'-Zeichen umgewandelt.
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Die eingebaut VT100-Emulation unterstützt alle Befehle, die für die
Anwendung von `term' von Nutzen sind. Nicht übernommen wurden
Steuersequenzen, die sich mit der Kontrolle des Druckers befassen (dies
sollte besser dem Anwender selbst überlassen bleiben), interne
Terminaltests durchführen sollen, die LED's umschalten oder nur mit großem
Aufwand zu implementieren gewesen wären.
Vielleicht werden es nur eingefleischte VT100-Benutzer bemerken: die
Belegung der Backspace- und der Delete-Taste wurde im Gegensatz zum
Original nicht vertauscht, auch werden alle Zeichen, deren ASCII-Code > 127
ist, korrekt dargestellt und nicht brutal zurechtgeschnitten (echte 8 Bit
statt 7 Bit-Modus).
Die VT100-Emulation unterstützt alle Befehlssequenzen des
VT220-Terminals (herzlichen Dank an Germar Morgenthaler, der in der Lage
war, die Originaldokumentation zur DEC VT220 Konsole aufzutreiben!), wenn
es auch herzlich wenige waren, die ich neu zu implementieren hatte -- in
der Tat hatte ich einen Großteil bereits eingebaut ohne zu wissen, daß sie
erst unter VT200 unterstützt wurden. Nicht berücksichtigt werden die
Befehle zum Umschalten der nationalen Zeichensätze (es wird _immer_ auf das
DEC Multinational Character Set zurückgegriffen) und zur Ansteuerung des
Druckers. Alle hiermit verbundenen Steuersequenzen werden ausgefiltert.
e) Startup Macro
----------------
Bei jedem Start des Programmes `term' und auch beim Aufbau einer
Telefonverbindung durch die Wählfunktion wird eine Befehlssequenz
ausgeführt, die z.B. Befehlsdateien aufrufen oder ein vollautomatisches
`Login' durchführen kann. Unter diesem Menüpunkt ist die beim
Programmstart auszuführende Befehlssequenz einzugeben.
f) Paths
--------
In diesem Einstellfeld können alle Pfade, die das Programm `term' zum Lesen
und Abspeichern von Daten verwendet, angegeben werden.
Config. Storage Dir.... Das Verzeichnis, in dem alle Konfigurationsdateien
abgelegt werden (Telefonbuchdateien, Tastatur-
makros, etc.). Die Hauptkonfigurationsdatei
`Preferences.term' wird an Hand der Systemvariable
`TERMPATH' gefunden, die am Ende dieses Dokumentes
unter `Systemvariablen' erklärt ist.
××× Up/Downloadpath.... Die Pfade, unter denen die im Menü `Transfer'
zusammengefaßten Funktionen Dateien zur Übertragung
suchen und anlegen.
Capture Path........... Der Pfad unter dem Mitschnitt-Dateien angelegt
werden, wenn die Funktion `Connect Auto-Capture' im
Menü Preferences/Modem aktiviert wurde.
Log File............... Der Name der Datei, in die Informationen zu den vom
Programm ausgeführten Aktionen gespeichert werden
sollen, falls die Funktion `Log Actions' im Menü
Preferences/Modem aktiviert wurde.
Text Editor............ Der Name des Text-Editors, der von der Funktion
`Edit File' im Menü Utilities benutzt werden soll.
Terminal `Beep' Sound.. Der Name einer IFF-Sound-Datei, die gespielt werden
soll, wenn am Terminal ein BEL-Signal eingeht.
Lautstärke und Abspieldauer werden der jeweiligen
Datei entnommen. Wichtig: aus technischen Gründen
kann die Sound-Datei nicht länger als 102400 Bytes
sein!
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Wird einer der Schalter mit der Aufschrift `Select' gedrückt, so kann
der nebenstehende Pfad, bzw. die nebenstehende zu konfigurierende Datei
mit Hilfe eines Datei-Requesters ausgewählt werden.
g) Emulation
------------
Hier befinden sich Schalter, mit denen sich interne Parameter der
eingestellten Emulation verändern lassen. Da die jeweiligen Veränderungen
quasi `in vivo' gemacht werden, lassen sie sich nicht abspeichern und
beeinflussen lediglich die gerade aktive Terminal-Emulation.
Smooth Scrolling....... Falls aktiviert, schaltet diese Funktion das
Bildschirm-Scrolling (vertikale Verschiebung) von
zeilenweiser Verschiebung in viertelzeilige
Verschiebung.
Wrap Characters........ Diese Funktion aktiviert den automatischen
Zeilenumbruch am rechten Bildschirmrand. Um
unangenehme Nebeneffekte zu vermeiden (ist der
Zeilenumbruch deaktiviert, kann es vorkommen, daß
Zeichen am rechten Rand hängenbleiben), sollte
dieser Schalter immer aktiviert sein.
Wrap Cursor............ Nach der VT-100-Spezifikation haben
Cursor-Bewegungen an den Bildschirmgrenzen zu
stoppen. Dennoch gibt es speziell im Bereich der
ANSI-Emulationen die Möglichkeit, diese Grenzen
quasi zu verlassen: verläßt der Cursor die eine
Bildschirmhälfte, so taucht er auf der anderen
Bildschirmseite wieder auf. Dieser Schalter
aktiviert den etwas `toleranteren' Cursor-Modus.
Insert Mode............ Üblicherweise befindet sich `term' im
Überschreibe-Modus (eingegebene Zeichen
überschreiben den bisherigen Bildschirminhalt).
Ist dieser Schalter aktiviert, so wird für Zeichen
beim Eintippen in der Zeile Platz gemacht und der
Zeileninhalt nach rechts aus dem Bildschirm
geschoben.
Wichtig: der Einfügemodus arbeitet nur
zeilenweise, aus dem Bildschirm herausgeschobene
Zeichen können nicht wiedergeholt werden!
New Line Mode.......... Dieser Schalter aktiviert einen speziellen Modus
des VT-100-Treibers, in dem auf eine Handvoll
Steuerzeichen mit einem Zeilensprung reagiert wird,
anstatt z.B. den Bildschirm zu löschen oder andere
drastische Veränderungen des Bildschirminhaltes
vorzunehmen. Ich nehme an, daß dieser Modus zur
Unterstützung eines angeschlossenen Druckers
gedacht war, in dieser Implementierung hat er
jedoch nur beschränkten Nutzen.
Numeric Keypad......... Die Tasten des Zehnerblockes, als auch die
Cursor Keys............ Cursortasten können in einen speziellen Modus
geschaltet werden, in dem jede Taste statt einer
Ziffer eine Steuersequenz überträgt. Sollte der
Rechner am anderen Ende der Leitung dies benötigen,
so läßt sich dieser Modus, `applications mode'
genannt, hier zuschalten.
Font Scale............. VT-100 verfügt über vier verschiedene
Schriftgrößen, die hier individuell eingeschaltet
werden können:
- Normal
Die übliche Schriftgröße.
- Double Height (Top)
Doppelte Schrifthöhe, nur der obere Teil des
jeweiligen Zeichens wird ausgegeben.
- Double Height (Bottom)
Doppelte Schrifthöhe, nur der untere Teil des
jeweiligen Zeichens wird ausgegeben.
- Double Width
Doppelte Schriftbreite.
- Half Width
Halbe Schriftbreite.
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Nun zu den globalen Voreinstellungen:
a) Macro Preferences
--------------------
Dieses Menü dient zum Belegen der zehn Funktionstasten mit
benutzerdefinierten Sequenzen, die auf Tastendruck ausgeführt werden. Es
handelt sich hierbei um Befehlssequenzen, die später genauer beschrieben
werden sollen.
Modifier............... Es können insgesamt 40 Tasten mit Funktionen belegt
werden. Da die Amiga-Tastatur aber nur über 10
Funktionstasten verfügt, läßt sich mit diesem
Schalter bestimmen, in Zusammenhang mit welcher
Umschalt-Taste die entsprechende Befehlssequenz
abgeschickt werden soll.
Hier gibt es 4 Einstellungen:
- None
Nur die Funktionstaste muß gedrückt werden.
- Shift
Zusätzlich zur Funktionstaste muß eine der
Umschalttasten für Groß-/Kleinschrift (`Shift')
gedrückt gehalten werden.
- Alternate
Zusätzlich zur Funktionstaste muß eine der
Umschalttasten für den alternativen Zeichensatz
(`Alt') gedrückt gehalten werden.
- Control
Zusätzlich zur Funktionstaste muß eine der
Umschalttasten für normale/Steuerzeichen (`Ctrl')
gedrückt gehalten werden.
Load................... Lade die Funktionstastenbelegung aus einer Datei.
Save................... Speichere die Funktionstastenbelegung in einer
Datei.
Use.................... Verwende die aktuellen Einstellungen.
Cancel................. Erhalte die ursprünglichen Einstellungen.
Da die Belegung der Funktionstasten mit Befehlssequenzen der
standardmäßigen Belegung der 4 Funktionstasten der VT-100-Konsole
widerspricht, werden beim Anlegen der Makrotabellen die Befehlssequenzen
der Tasten F1-F4, die mit der Shift-Taste zu erreichen sind, mit den vier
Standardsequenzen für Funktionstasten belegt. Diese Belegung kann vom
Benutzer selbstverständlich geändert werden.
b) Hotkeys
----------
Hier lassen sich die vom Programm zum Arrangieren der Bildschirme und
Sonderfunktionen verwendeten Tastatursequenzen konfigurieren.
term Screen To Front.....
Buffer Screen To Front... Die Tastenkombination, die durch Drücken den
Bildschirm des Logbuches nach vorne bringt und
aktiviert.
Skip Dial Entry.......... Alternativ kann in der Wählfunktion eine
Tastenkombination gedrückt werden, die dieselbe
Funktion wie der `Skip'-Knopf hat (Überspringen
einer Telefonnummer, Abbrechen eines
Anwahlversuches, etc.). Die jeweilige
Tastensequenz wird hier eingegeben.
Commodity Priority....... Die Priorität, die term als Commodity-Programm
einnimmt. Mit diesem Wert kann das
`Zusammenleben' einzelner Commodity-Programme
gesteuert werden, die dieselben Tasten mit
verschiedenen Funktionen belegen wollen. Das
Programm mit der höheren Priorität bekommt den
Zuschlag.
Hotkeys enabled.......... Die Hotkeys können sowohl extern mit dem Programm
`Exchange' aus- und wieder eingeschaltet werden,
als auch mit diesem Knopf.
Load..................... Lädt die Hotkey-Einstellungen aus einer Datei.
Save..................... Speichert die Hotkey-Einstellungen in einer
Datei.
Use...................... Verwende die aktuellen Einstellungen.
Cancel................... Erhalte die ursprünglichen Einstellungen.
Sollten in diesem Einstellfeld gemachte Veränderungen nicht sofort aktiv
werden, hat man sich wahrscheinlich bei der Eingabe einer der
Tastensequenzen vertippt (woraus folgt, daß die komplette
Hotkey-Initialisierung fehlschlägt). Ich habe im Moment keinerlei
Möglichkeiten, derartige Fehler einfach abzufangen, da die Initialisierung
asynchron erfolgt und von einem Task erledigt wird, der das Ergebnis der
Initialisierung nicht zurückmeldet.
c) Speech
---------
Auf Wunsch läßt sich in diesem Menü der Sprachsynthesizer des Amiga
aktivieren. Bei besonderen Aktionen und Vorkommnissen wird vom Rechner
kurz eine Nachricht gesprochen, die über den jeweiligen Vorgang informiert.
Dies kann sinnvoll sein, wenn man `term' in den Hintergrund gelegt hat und
auf einem anderen virtuellen Bildschirm arbeitet, trotzdem aber über das
Geschehen am `term'-Bildschirm informiert sein möchte.
Rate..................... Die Sprechgeschwindigkeit des Sprachsynthesizers
in Worten pro Minute.
Pitch.................... Dieser Parameter wird am besten mit `Ausdruck'
umschrieben. Je größer, desto höher wirkt die
Stimme, mit der gesprochen wird und dies
unabhängig davon, wie hoch die Stimmfrequenz ist.
Frequency................ Die Höhe der Stimmfrequenz in Hertz.
Volume................... Die Lautstärke der Stimme.
Sex...................... Bestimmt ob die Stimme männlich oder weiblich
ist.
Speech enabled........... Schaltet den Sprachsynthesizer ein oder aus.
Speak!................... Spricht zur Probe einen kurzen Text (der
Sprachsynthesizer muß hierzu allerdings erst
eingeschaltet werden).
Load..................... Lädt die Sprach-Einstellungen aus einer Datei.
Save..................... Speichert die Sprach-Einstellungen in einer
Datei.
Use...................... Verwendet die aktuellen Einstellungen.
Cancel................... Erhält die ursprünglichen Einstellungen.
Ich kann mir nicht vorstellen, daß sehr viele Leute diese Funktion
nutzen werden, dennoch erschien es mir sinnvoll sie einzubauen. Es erwarte
aber bitte niemand, daß über kurz oder lang eine Funktion zum Aussprechen
der über das Terminal eingehenden Texte hinzukommen wird. Ich halte dies
für nicht mehr als Spielerei und ansonsten nicht sonderlich sinnvoll.
======================= Telefonbuch & Wählfunktion ========================
===========================================================================
Die nachfolgend beschriebenen Funktionen sind im Menü `Modem' zu finden und
hängen mit den Menüpunkten `Phonebook', `Dial' und `Redial' zusammen.
`term' verfügt über eine komfortable Verwaltung von Telefonnummern, das
`Telefonbuch', dessen Bedienung über ein Kontrollfeld geschieht, welches im
folgenden beschrieben werden soll.
Name List.............. Die Liste aller namentlich (Name der jeweiligen
Mailbox) eingetragenen Telefonnummern. Wird ein
Doppelklick auf einen dieser Einträge ausgeführt,
so wird dieser an das Ende der Wählliste gehängt
(dazu später mehr).
Name................... Name des zuletzt ausgewählten Telefonbucheintrages.
Phone Number........... Telefonnummer des zuletzt ausgewählten
Telefonbucheintrages.
Password............... Zugangskennwort der mit dem zuletzt ausgewählten
Telefonbucheintrag zusammenhängenden Mailbox.
Macro File............. Name der Datei, die die für den zuletzt
eingetragenen Telefonbucheintrag zu verwendenden
Funktionstastenbelegungen enthält.
Pay/Unit 1/2........... Kosten einer Gebühreneinheit.
Minutes/Unit 1/2....... Länge einer Gebühreneinheit in Minuten. Zusammen
mit dem Feld `Pay/Unit' werden aus diesen Werten
die Kosten für einen Telefonanruf berechnet.
Start Time 1/2......... Über diese beiden Schieberegler wird festgelegt,
welche der beiden einzustellenden Gebührenzähler-
einstellungen bei welcher Tageszeit aktiv ist. In
der Bundesrepublik Deutschland beginnt der
6-Minuten-Takt um 8:00 Uhr (DM 0,23 pro Einheit)
und endet um 18:00 Uhr. Der 12-Minuten-Takt
beginnt um 18:00 und endet am darauffolgenden
Morgen um 8:00.
Serial,Modem,Screen, Diese Funktionen korrespondieren mit den
Terminal,Startup, entsprechenden Funktionen des `Preferences'-Menüs
Paths,Transfer und legen die Einstellungen fest, die übernommen
werden, sobald zu einer der im Telefonbuch
eingetragenen Telefonnummern erfolgreich eine
Verbindung aufgebaut wurde.
Play Number............ Spielt die Nummer des ausgewählten Eintrages in
Ton-Codierung über die Amiga Audio-Hardware ab.
Man kann sich also ein komplettes Telefonregister
anlegen und anzurufende Nummern von `term' wählen
lassen. Dies ist allerdings nur dann sinnvoll,
wenn das zu verwendende Telefon an eine digitale
Vermittlungsstelle der Telekom angeschlossen ist.
Zum Wählen ist die Sprechmuschel an den
Lautsprecher des Monitors oder des `was-auch-
immer-zur-Tonausgabe-verwendet-wird' zu halten.
Dial................... Trägt den zuletzt ausgewählten Telefonbucheintrag
in die Wählliste ein und springt sofort in die
Wählfunktion.
Get Settings........... Überträgt die aktuellen Terminaleinstellungen in
den gerade ausgewählten Telefonbucheintrag.
New Entry.............. Erzeugt einen neuen Telefonbucheintrag mit
Standardwerten und hängt ihn am Ende des
Telefonbuches an.
Remove Entry........... Entfernt den zuletzt ausgewählten
Telefonbucheintrag aus dem Telefonbuch und gibt den
angeforderten Speicher frei.
Load................... Lädt den Inhalt eines Telefonbuches aus einer
Datei.
Sort................... Sortiert den Inhalt des Telefonbuches alphabetisch
in aufsteigender Reihenfolge.
Save................... Speichert den Inhalt eines Telefonbuches in einer
Datei.
Da ich mehrfach danach gefragt wurde: zur Anwahl einer Telefonnummer
wird jeweils das für die Telefonnummer eingestellte Dial-Prefix verwendet.
Muß man MNP-Fehlerkorrektur erst ausdrücklich über den Anwahl-String für
eine bestimmte Mailbox zuschalten, so hat dies in den Modem-Einstellungen
der anzuwählenden Mailbox zu geschehen und nicht in den globalen
Einstellungen von `term'! Als zusätzliche Initialisierungsmöglichkeit
können die `Modem Init-String'- und `Modem Exit-String'-Einträge des
Telefonbucheintrages verwendet werden.
Ein weiteres Eingabefeld wird geöffnet, sobald Telefonbucheinträge in
die Wählliste eingetragen werden. Hier wird jeweils der Name des
Telefonbucheintrages angezeigt, oder - wenn es sich um eine einzelne
Telefonnummer handelt, die über die `Dial'-Funktion eingegeben wurde - nur
die Telefonnummer.
Die folgenden Eingabeelemente finden sich im Eingabefeld der Wählliste:
Dial................... Springt in die Wählfunktion und versucht
nacheinander alle Einträg der Wählliste anzuwählen.
Delete Call............ Entfernt einen Eintrag aus der Wählliste. Wurden
alle Einträge entfernt, so wird das Eingabefeld
geschlossen.
Cancel................. Löscht alle Einträge aus der Wählliste und schließt
das Eingabefeld.
Wird schließlich die Wählfunktion angesprochen, so werden alle bisher
aktiven Eingabefelder geschlossen und ein neues Eingabefeld geöffnet. Hier
wird der Anwahlvorgang durchgeführt.
Die folgenden Informationen über den Vorgang werden ausgegeben:
Calling................ Der Name des Telefonbucheintrages, dessen
Telefonnummer gerade angewählt wird. Handelt es
sich im eine einfache Telefonnummer, so steht an
dieser Stelle `-- Unknown --', was bezeichnet, daß
der Name der angewählten Mailbox nicht bekannt ist.
Number................. Die Telefonnummer, die gerade gewählt wird, bzw.
wurde.
Next................... Der Name des Telefonbucheintrages, der als nächstes
angewählt werden soll, falls keine Verbindung
zustandekommt. Existiert kein Nachfolger, so steht
an dieser Stelle `-- None --'.
Timeout................ Ein Zähler, der jede Sekunde erniedrigt wird und
angibt, wie lange noch bis zum Aufbau einer
Telefonverbindung, bzw. nächsten Durchlauf der
Wählliste gewartet wird.
Attempt................ Hier wird angezeigt, wie oft die Wählliste bereits
erfolglos durchlaufen wurde, um eine Verbindung
herzustellen.
Message................ Eine Nachricht an den Benutzer. Dies kann sein:
- Dialing...
Es wird gerade ein Anwahlversuch unternommen.
- Line Is Busy.
Die angewählte Nummer ist besetzt.
- Incoming Call!
Das Modem wurde von einem anderen Modem an-
gerufen.
- Incoming Voice Call!
Das Modem hat einen Anruf empfangen, der nicht
von einem anderen Modem stammt.
- Connection Established.
Eine Verbindung wurde aufgebaut.
- Maximum Number Of Dial Retries Reached!
Die maximale Anzahl von Anwahlversuchen wurde
erreicht.
- Dial Attempt Timeout.
Die zum Aufbau einer Verbindung zur Verfügung
stehende Zeit ist verstrichen.
- Redial Delay...
Bis zum nächsten Durchlauf der Wählliste wird
gewartet.
Zusätzlich befinden sich im Eingabefeld drei Knöpfe, mit denen die
folgenden Funktionen ausgelöst werden können.
Skip................... Hiermit wird der aktuelle Anwahlversuch abgebrochen
und zum nächsten übergeleitet. Existiert keine
nachfolgende Telefonnummer, so wird in eine
Zeitschleife verzweigt, die bis zum nächsten
Durchlauf der Wählliste oder dem Anklicken des
`Skip'-Knopfes wartet.
Diese Funktion läßt sich auch durch Drücken der
unter `Hotkeys...' einzustellenden Tasten auslösen,
näheres ist dort nachzuschlagen.
Go To Online........... Sollte eine Leitung extrem verrauscht sein, die
Verbindung zu einer Mailbox hergestellt, aber das
`CONNECT' Signal verlorengegangen sein, so kann man
durch Anwahl dieses Knopfes direkt in den
`Online'-Modus gehen, in dem der Gebührenzähler
gestartet und die Wählliste verlassen wird.
Abort Dialing.......... Durch Betätigen dieses Knopfes wird die Wählliste
verlassen (ihr Inhalt bleibt allerdings erhalten)
und der Wählvorgang abgebrochen.
Wird eine Verbindung erfolgreich hergestellt, so wird der dazugehörige
Eintrag aus der Wählliste entfernt.
=============================== Das Logbuch ===============================
===========================================================================
Das `Logbuch' ist eine Programmfunktion, die ständig alle über den
Hauptbildschirm ausgegebenen Texte zwischenspeichert, sodaß sich der
Benutzer jederzeit über den eingegangenen Text informieren kann.
1. Generelle Eigenschaften
--------------------------
Der Umfang des `Logbuches' wird dynamisch verwaltet, sodaß für jede neue
Zeile, die gelesen wird, neuer Speicher beschafft werden muß. Die Größe
des `Logbuches' ist demnach nur durch den verfügbaren Speicher
eingeschränkt. Es wird empfohlen, das `Logbuch' periodisch zu entleeren,
um nicht den gesamten verfügbaren Speicher verlorengehen zu lassen.
Reicht einmal der Speicher nicht aus, um eine neue Zeile in das
`Logbuch' zu schreiben, so wird die erste Zeile entfernt, um Platz für die
neu hinzukommende zu machen.
2. Bedienung
------------
Mit den Tasten zur Bewegung der Schreibmarke (`Cursortasten') läßt sich der
Logbuchinhalt vor- und zurückblättern (Cursortasten + Shift-Taste blättert
seitenweise, Cursortasten + Control-Taste springt zu Anfang oder Ende des
Logbuches). Zusätzlich sind die Tasten des Ziffernblockes mit Sprung- und
Blätterbefehlen belegt (entsprechend der Beschriftung auf der Vorderseite
der Tasten).
Mit Hilfe der Maus können in der Anzeige des `Logbuches' Zeichen
markiert werden, die in das `Clipboard' übernommen werden sollen und später
mit der Funktion `Paste Clipboard Contents' in den Eingabestrom eingespeist
werden können.
Zusätzlich existiert noch ein Menü, dessen Funktionen kurz erklärt
werden sollen:
Search................. Eine Suchfunktion wird aufgerufen, die von der
aktuellen ersten Bildschirmzeile abwärts nach einer
einzugebenden Buchstabenkombination sucht. Groß-
und Kleinschreibung werden beim Suchvorgang
ignoriert.
Ist die gesuchte Buchstabenkombination gefunden,
so wird sie auf den Bildschirm gebracht und
markiert.
Repeat Search.......... Fährt mit dem Suchvorgang fort, der mit `Search'
eingeleitet wurde. Die zuvor eingegebene
Buchstabenkombination wird übernommen.
Go To Main Screen...... Schaltet auf den `term' Hauptbildschirm um.
Clear Buffer........... Löscht den Inhalt des `Logbuches'.
Close Buffer, Quit..... Schließt den Bildschirm des `Logbuches', läßt den
Inhalt des `Logbuches' aber unverändert.
============================ Befehlssequenzen =============================
===========================================================================
Jede Zeichenfolge, die direkt an das Modem gesendet wird, ist eine
Befehlssequenz. Darunter fallen Telefonnummern, Modeminitialisierung,
Funktionstastenbelegungen, etc. Zusätzlich zu den normalen Zeichenfolgen
des ASCII-Zeichensatzes werden verschiedene Zusatzbefehle unterstützt, die
im folgenden beschrieben werden sollen.
a) Der `Backslash' (gespiegelter Schrägstrich) \
------------------------------------------------
Die folgenden Sequenzen werden durch das Zeichen '\' eingeleitet:
\\..... Erzeugt den `Backslash'.
\b..... Erzeugt ein `Backspace' (lösche das Zeichen links neben der
Schreibmarke).
\e..... Erzeugt das Escape-Zeichen (ASCII Code 27).
\f..... Erzeugt ein `Form-Feed' (Seitenvorschub oder Bildschirmlöschen).
\g..... Legt eine Zeichenkette im `Clipboard' ab.
\n..... Erzeugt ein `Line-Feed' (Zeilenvorschub).
\p..... Speist das Password des Telefonbucheintrages in den Eingabestrom
ein, zu dem zuletzt eine Verbindung hergestellt wurde. Hinweis:
das Password wird aus Sicherheitsgründen beim Abbruch der
Verbindung automatisch gelöscht.
\r..... Erzeugt ein `Carriage-Return' (Zeilenrücklauf).
\t..... Erzeugt einen Tabulatorsprung.
\x..... Erzeugt ein Break-Signal (wie der `Send Break' Menüpunkt).
\d..... Führt einen AmigaDOS-Befehl aus.
\a..... Führt einen ARexx-Befehl aus.
\i..... Speist den Inhalt des `Clipboards' in den Eingabestrom ein.
\^..... Erzeugt das `Caret' (auch Dach genannt).
Wird keines dieser Zeichen erkannt, so wird der dem `\' folgende
Buchstabe ohne Veränderung in den Eingabestrom eingespeist.
b) Das `Caret' (auch Dach genannt) ^
------------------------------------
Dieses Zeichen dient dazu, aus dem nachfolgenden Zeichen ein
`Kontrollzeichen' zu machen. So wird aus der Sequenz `^J' ein
Zeilenvorschub, aus `^H' ein Tabulatorsprung. Das dem `^' folgende Zeichen
muß zwischen den Zeichen `@' und `[' liegen, ansonsten wird es ohne
Veränderung in den Eingabestrom eingespeist.
c) Die Tilde ~
--------------
Dieses Zeichen läßt das Programm genau eine halbe Sekunde warten, bevor es
mit der Abarbeitung der nachfolgenden Befehle fortfährt.
=========================== Das `Packet Window' ===========================
===========================================================================
In diesem Fenster kann eine zu verschickende Eingabezeile bearbeitet
werden. Alle üblichen Editiermöglichkeiten in Standard-Eingabefeldern
stehen zur Verfügung (Umschalttaste + Links/Rechts springt zu Anfang/Ende
der Zeile).
Zusätzlich existieren folgende Erweiterungsfunktionen, die durch Drücken
der Tasten zur Bewegung der Schreibmarke (`Cursortasten') zusammen mit
einer Umschalttaste (`Shift' = Umschaltung für Groß-/Kleinschrift,
`Control' = Umschaltung für normale/Steuerzeichen):
Links + Control........ Springt zum nächsten Wort.
Rechts + Control....... Springt zum vorhergehenden Wort.
Oben................... Zeigt den zuletzt eingegebenen Befehl in der
Eingabezeile an.
Oben + Shift........... Springt zum ersten Befehl, der bisher eingegeben
wurde.
Unten.................. Springt zum nächsten eingegebenen Befehl.
Unten + Shift.......... Springt zum letzten bisher eingegebenen Befehl.
Die Eingabezeile verwaltet einen Puffer, in dem alle bisher eingegebenen
Befehle zwischengespeichert werden (`Command History'). Dieser Puffer läßt
sich durchblättern, laden, abspeichern und einzelne Zeilen lassen sich
wieder aufrufen. Wie beim `Logbuch', so wird dieser Puffer dynamisch
verwaltet. Es gelten dieselben Speicherrestriktionen wie bereits für das
`Logbuch' gesagt wurde.
Der Eingabezeile ist auch ein Menü zugeordnet, das die folgenden
Funktionen bietet:
Load History........... Lädt den Inhalt des Eingabezeilenpuffers aus einer
Datei. Jede hier gespeicherte Zeile kann
aufgerufen und verschickt werden.
Save History........... Speichert den Inhalt des Eingabezeilenpuffers in
einer Datei.
Clear History.......... Gibt den Inhalt des Eingabenpuffers wieder frei.
Other Window........... Wechselt zum Hauptbildschirm von `term'.
Quit................... Schließt das Fenster (entspricht dem Anklicken des
Fenster-Schließsymboles).
Es muß darauf hingewiesen werden, daß in diesem Fenster eingegebenen
Zeichen sofort angezeigt werden, sodaß Dinge, die besser nicht auf dem
Bildschirm erscheinen sollten, wie z.B. das persönliche Zugangskennwort
einer Mailbox, besser nicht in diesem Fenster eingegeben werden.
Der Inhalt jeder Eingabezeile wird als Befehlssequenz angesehen und kann
also auch Steuerzeichen (à la `\p', `\i', etc.) enthalten.
Wird eine aus dem Eingabepuffer entnommene Zeile ohne Veränderungen
abgeschickt, so wird diese nicht noch einmal in den Eingabepuffer
übernommen (`true history' wie man sie z.B. von `ConMan' kennt).
Der Inhalt des Eingabepuffers wird nach dem Schließen des Fensters
automatisch gelöscht. Der Inhalt bleibt _keinesfalls_ bis zum nächsten
Aufruf erhalten!
============================= Systemvariablen =============================
===========================================================================
`term' legt Informationen, die beim nächsten Aufruf des Programmes zur
Verfügung stehen sollen, als AmigaDOS-Variablen in den Verzeichnissen
`ENV:' und `ENVARC:'ab.
Die von `term' verwendeten Variablen können transparent von dritten
Programmen verwendet und verändert werden. Im Einzelnen sind dies:
TERMPATH............... Der Name des Verzeichnisses, unter dem alle von
`term' verwendeten Systemdaten (Standard-
konfiguration, Telefonbuch, etc.) abgelegt werden
sollen. Standardmäßig wird hier `ENVARC:term'
eingetragen.
TERMWINDOW............. Die Fensterdefinition, die auch im Programm durch
den Menüpunkt `Set Console Window' einzustellen
ist.
xpr... ................ Die für das jeweilige Transferprotokoll (xprzmodem,
xprkermit, etc.) zu verwendenden Standardoptionen.
================== Bitte des Autors & Gift-Ware-Gebühr ====================
===========================================================================
Die Entwicklung von `term' war mit hohem Aufwand verbunden. Schon alleine
die Anstrengungen, die zu unternehmen waren, um im
Trial-And-Error-Verfahren und unter Zuhilfenahme der DevCon-Disketten sowie
Includes & Autodocs die Funktionsweise bestimmter Routinen zu ermitteln,
wäre es Wert, dem Autor eine Entschädigung für seine Mühe zukommen zu
lassen (es ist eben Pech, wenn die Atlanta-DevCon-Unterlagen erst mit
reichlicher Verspätung eintrudeln).
Der Autor ist sehr empfänglich für alle Arten von materiellen Gaben und
Geschenken, solange gesichert ist, daß er sie auch verwenden kann (diese
niedlichen Säcke mit Elefantenfutter schickt man doch besser an den
hannoverschen Zoo). Deshalb möchte ich jedermann bitten, dem `term'
gefällt oder der den Quellcode bearbeitet, mich für meinen
Programmieraufwand so zu entschädigen, wie er/sie denkt, daß es meinen
Anstrengungen entspricht (wer noch keine Idee hat: ich suche nach dem GNU
C++ objective `C' compiler in einer auf dem Amiga lauffähigen Version, dem
Quellcode für einen Modula-2 Compiler oder LhArc. Wer mir eine besondere
Freude machen möchte, der kann mir ein älteres Infofom-Adventure schenken
-- ausgenommen Zork 0-3, `Journey', `Hollywood Hijinx' und `Lurking
Horror', die ich selber besitze) - vielen Dank!
Meine Anschrift:
Olaf Barthel, MXM (ETG030)
Brabeckstrasse 35
D-3000 Hannover 71
Bundesrepublik Deutschland
Z-Net: O.BARTHEL@A-Link-H
UUCP: o.barthel@a-link-h.zer.sub.org
Wer sich den Quellcode ansieht, um hier und da Änderungen oder
Erweiterungen zu machen, der nehme doch vor einer Veröffentlichung bitte
Kontakt mit mir auf, sodaß ich unsere gemeinsamen Anstrengungen
koordinieren kann.
Sollte jemandem eine brilliante Idee kommen, den Aufbau oder Inhalt
dieser Anleitung zu verbessern oder zu erweitern, so möge sie/er es mit
meinem hiermit erteilten Segen tun.
========================= Entwicklungsgeschichte ==========================
===========================================================================
V1.8a Neben einem bißchen Kosmetik ist eine Funktion zur Umsetzung von
Telefonnummern in Ton-Codes zur Verwendung mit Telefon-
vermittlungsstellen, die das Tonwahlverfahren beherrschen,
hinzugekommen; es gibt auch einen zu dieser Funktion korre-
spondierenden ARexx-Befehl.
Das Telefonbuch wird jetzt in einem Format abgespeichert, das
die zukünftige Erweiterung der Konfigurationseinträge erleichtert.
Dieses Format ist (leider?) 100% inkompatibel zum Vorgängerformat,
aber keine Panik: `term' lädt gegebenenfalls das ältere Format und
speichert das Telefonbuch im neuen Format.
Es hat einigen Ärger mit überlangen und überbreiten Menüs
gegeben, die nur noch bei mit einer ganzen Portion Overscan
versehenen Auflösungen sichtbar waren. Ich hoffe, daß mit dieser
Programmversion alle derartigen Probleme beseitigt sind.
Wie gut, daß ich noch einmal nachgeschaut habe: zwei Paritäts-
einstellungen (Mark/Space) des seriellen Treibers funktionierten
überhaupt nicht (da hierzulande Paritätsüberprüfung bei privat
genutzten Mailboxsystemen total aus der Mode gekommen zu sein
scheint, hat diesen Fehler bisher wohl niemand bemerkt).
Ich habe einen Teil der Logbuchfunktionen umgeschrieben. Nach
meinen Spekulationen dürfte die Textanzeige jetzt schneller
arbeiten. Auch ein neuer Such-Algorithmus ist implementiert, der
angeblich schneller sein soll, als der bisherige (vielleicht ist er
es auch nicht und ich habe es wegen meines A3000 nur noch nicht
gemerkt). Wer genaueres herausbekommt, der teile es mir bitte mit.
Mit allen guten Dingen ist es einmal vorbei; hierunter fällt
daß das blinkende Cursor-Sprite entfernt wurde. In der aktuellen
Version wird ein `echter' Cursor in die BitMap des Bildschirmes
gezeichnet (jetzt gibt es auch in den Modi Productivity und den
A2024-Modi einen sichtbaren Cursor). Die Arbeit daran hat mich
mehrere Stunden gekostet, sollten Probleme in der Benutzung des
Cursors auftauchen, so teile man sie mir bitte mit!
In allen Routinen, die sich mit der Bearbeitung des Bildschirmes
(Cursorpositionierung, Zeichenausgabe, etc.) beschäftigten, wurde
auf Breite und Höhe des Bildschirmes auf vorzeichenbehaftete
8-Bit-Variablen zugegriffen. Besonders bei hohen Bildschirm-
auflösungen (A2024, SuperHires-Interlaced) kam es wegen Überläufen
zu Rechenfehlern und Abstürzen.
Die auf dem A3000 bei aktiviertem ZModem-Auto-Download
auftretenden `Hänger' und Abstürze gehören jetzt der Vergangenheit
an. Leider dauert es immer noch ein Weilchen, bis auf der Maschine
der Downloadvorgang beginnt, der gesamte Downloadprozeß wird davon
allerdings nicht berührt. `term' sollte damit komplett Enforcer-
Hit-frei sein.
Ich glaube einen besonders mysteriösen Fehler gefunden und
beseitigt zu haben: klickte man den Bildschirm von `term' in den
Hintergrund, so konnte es vorkommen, daß der Rechner abstürzte
(weshalb???). Mittlerweile ist der Interrupt-Server entfernt und
seine Funktionen in den Status-Task integriert. Jetzt scheint der
Fehler beseitigt zu sein, ich bin gespannt zu hören, ob dies
wirklich der Fall ist.
XPR-Transfers konnten durch bloßes Öffnen des Pull-Down-Menüs
abgebrochen werden, in der neuen Version wird jetzt wirklich
nachgeprüft, ob abgebrochen werden soll.
Die Position des Packet-Fensters wird jetzt gespeichert und das
Fenster beim nächsten Öffnen - soweit möglich - an der vorherigen
Stelle geöffnet.
Unterstützung für mehrere gleichzeitig laufende `term'-Prozesse
hat bisher gefehlt, es bestand sogar die Möglichkeit, daß sich zwei
Prozesse gegenseitig zum Absturz bringen konnten. Derartige
Inkonsistenzen sollten jetzt beseitigt sein. Allerdings hat die
notwendig gewordene Erweiterung zwei wichtige Änderungen mit sich
gebracht, die sich auf den Namen des von `term' geöffneten
Bildschirms und des ARexx-Host-Ports beziehen.
In einer der 1.8a-Versionen, die ich leichtsinnigerweise immer
als die `endgültige' Version verteile, war die Routine, die den
globalen Ursprungspunkt der Koordination mehrerer laufender
`term'-Prozesse verrutscht, so daß es zu Abstürzen kam, wenn vom
Programm aus der Bildschirm mehr als zweimal neu geöffnet und
wieder geschlossen wurde.
Eine nicht abgeschlossene Schleife wurde auch dem Abbruch-Code
der XPR-Transfer-Routinen zum Verhängnis. Dieses Problem ist jetzt
behoben.
Nachdem ich Mike Sinz' Artikel über Kompatibilitätsprobleme mit
dem MC68040 gelesen hatte, habe ich noch -- nur für den Fall, daß
es notwendig werden sollte -- im Startup-Code eine für den MC68040
wichtige Veränderung vorgenommen. Wer über eine 040'er Karte in
seinem Rechner verfügt und `term' darauf laufen läßt, der möge mich
darüber informieren, ob die Veränderung ihren Sinn erfüllt hat.
V1.8 Die beharrliche und widerstandsfähige Wählfunktion springt nach dem
letzten Anwahlversuch jetzt endlich (do you hear me???) ins
Hauptprogramm zurück.
Die Routinen zum Aufrufen von AmigaDOS-Programmen und des
Editors funktionieren wieder (`never trust a bug-free amiga.lib!').
Auf Anregung von Garry Glendown existieren zu den ARexx-Befehlen
in britischer Schreibweise (`colour') jetzt auch Synonyme in
amerikanischer Schreibweise (`color').
Der Rollbalken des Logbuches wird bei neuen eingehenden Zeilen
korrekt auf den neuesten Stand (Höhe/Position) gebracht.
Der `Auto-Upload' funktionierte in der vorhergehenden Version
plötzlich nicht mehr, jetzt ist der Fehler behoben. Zusätzlich
wird der Benutzer beim Eintreffen der Modem-Meldungen `RING' und
`VOICE' noch einmal besonders rabiat aufgeschreckt.
Auf Wunsch gibt `term' jetzt bei wichtigen Vorgängen und
Aktionen auch sprachlich eine Hinweismeldung aus. Die meisten
Leute werden diese Funktion nicht benötigen, deshalb ist sie
standardmäßig abgeschaltet.
Ich habe das Menü `Preferences' in zwei Menüs aufgeteilt. Menü
1 befaßt sich mit der lokalen Programmkonfiguration (all die Dinge,
die auch in einem Telefonbucheintrag mitgespeichert werden), Menü 2
enthält alle Konfigurationsmöglichkeiten, die nur einmal global
vorgenommen werden können (Makros, Hotkeys, Sprache).
Wurde term von der Shell mit dem Parameter `KeepIO' gestartet,
so wurde beim Beenden des Programmes die dos.library geschlossen,
bevor die letzten Aufrufe zum Freigeben des von der dos.library
angeforderten Speichers getätigt waren.
Auf Wunsch eines einzelnen Herrn werden die Positionen einzelner
Fenster gespeichert, sodaß sie beim nächsten Öffnen an der vorher
gesetzten Position erscheinen.
Zusätzlich werden jetzt in der Tastaturbelegungsdatei
(DEVS:keymaps/#?) als Strings abgelegte Belegungen korrekt erkannt
und ausgegeben (Beispiel: ein Benutzer hatte die Tasten ä, ö, ü
und ß mit den Sequenzen ae, oe, ue und ss belegt und wunderte sich,
daß term beim Tippen immer nur den jeweils ersten Buchstaben der
Sequenz annahm. In dieser Version werden jetzt alle Buchstaben
ausgegeben, bis zu 256 Zeichen werden korrekt behandelt). Leider
unterstützen die `normalen' Zeicheneingabefelder keine mit
Sequenzen belegten Tasten, also bitte nicht wundern, wenn im
Packet-Fenster die Tasten nicht ansprechen, die sich mit dem
Hauptfenster wunderbar vertragen.
Ich habe einige Funktionen, die sich mit in Arrays abgelegten
Zeichenketten oder Strukturen beschäftigten, auf Exec-Listen
umgestellt. Diese Implementierung ist wesentlich robuster, weniger
aufwendig und hoffentlich Enforcer-Hit-frei (vielleicht läuft der
Kram aber auch überhaupt nicht und ich hab's nur noch nicht
gemerkt!).
Das Packet-Window habe ich etwas aufpoliert, jetzt sollte die
Command-History endlich vernünftig funktionieren. Auch das Fenster
selbst wird im Monochrom-Modus wieder korrekt geöffnet (dieser
Fehler muß schon eine ganze Weile im Programm gewesen sein -- warum
hat ihn niemand gemeldet?). An dieser Stelle verbarg sich noch ein
wirklich fataler Fehler (die History-Liste wurde nicht
initialisiert), der jetzt glücklicherweise auch behoben ist.
Werden über das AmigaDOS Konsolenfenster geöffnet, so wird der
Bildschirm, auf dem sie geöffnet werden, automatisch in den
Vordergrund gebracht (dies ist der Fall bei `Execute AmigaDOS
command' und `Execute ARexx Command'). Im Interesse eines
reibungslosen Zusammenarbeiten empfehle ich, den `term'-Bildschirm
öffentlich zugänglich zu machen und die drei Wörter
`/AUTO/CLOSE/SCREENterm' an den Namen des zu öffnenden
Konsolen-Fensters anzuhängen (natürlich nur, wenn dies noch nicht
geschehen ist).
Die Routine zum Laden von Sound-Dateien hatte einen subtilen
Fehler: das audio.device konnte zweimal geschlossen werden.
Das Bell-Signal wird jetzt asynchron abgespielt; bei drei
`Pieps'-Signalen werden jetzt nur dann auch wirklich drei Signale
gegeben, wenn das audio.device nicht schon mit dem Abspielen eines
vorhergehenden Signales beschäftigt ist.
Als besondere Neuigkeit können die Hotkeys des Programmes jetzt
komplett konfiguriert werden. Über die commodities.library lassen
sich die jeweils für die einzelnen Funktionen Tastensequenzen
vereinbaren, die genauen Komponenten der Sequenzen sind in der
Dokumentation der Commodities-Programme nachzulesen.
Der Dateipfad, unter dem die term-Konfigurationsdateien gesucht
werden, liegt jetzt nicht mehr bei ENVARC:sys, sondern bei
ENVARC:term (genaueres Studium der DevCon-Unterlagen hat bei mir
diese späte Einsicht bewirkt). Diese Änderung hat keine
Auswirkungen auf schon erstellte Konfigurationen, nur wer mit term
komplett neu beginnt, der wird den entsprechenden `neuen' Pfad
verwenden.
Ich habe es dummerweise verschwitzt, die Systemroutinen zum
Setzen von globalen Systemvariablen für meine Zwecke einzuspannen.
Deshalb greife ich immer noch auf die Routinen SetEnvDOS/GetEnvDOS
zurück. Als kleine Neuerung werden die Variablen beim Speichern
jetzt neben ENV: auch im Verzeichnis ENVARC: abgelegt.
V1.7 Ich habe das Programm an die Annehmlichkeiten von Kickstart 2.04
angepaßt. Für ein komplettes Funktionieren des Programmes unter
vorausgehenden Kickstartversionen kann ich nicht mehr garantieren,
da ich mich insbesondere bei der Aktivierung der
Zeicheneingabefelder auf Intuition 37.220 verlasse. Als
Nebeneffekt läßt sich mit der Tab-Taste durch die einzelnen
Eingabefelder wandern. Wo es möglich war, wird zu jedem
Anklickfeld auch die Taste angegeben, die zusammen mit der linken
Amiga-Taste zu drücken ist, um die damit verbundene Funktion per
Tastatur auszulösen. Zusätzlich habe ich David Jones'
QuickSort-Routine eingebaut, um eventuellen Problemen aus dem Wege
zu gehen. In einem Einstellfeld hatte ich einen Tastaturbefehl
vergessen.
Ein paar kapitale Fehler sind entfernt worden, vornehmlich die
String-Gadgets betreffend. In Version 1.6[a,b] ließ sich das
Programm nicht von der Workbench starten (behoben). Auch kam es zu
Abstürzen, wenn das Programm `aus Versehen' unter Kickstart 1.2/1.3
gestartet wurde (behoben). Modem-Init/Exit-String werden jetzt
auch im Telefonbuch verwendet. Die Wählfunktion führt beim letzten
Anwahlversuch nicht noch einmal ein Redial-Delay durch, sondern
kehrt ins Hauptprogramm zurück. Da diese Funktion besonders übel
zusammenprogrammiert aussieht, ist sie ein wahrscheinlicher
Kandidat für eine komplette Überarbeitung in einer zukünftigen
Programmversion. Das Layout der Texte in den Gadgets des
Telefonbuchs wurde auf besonderen Wunsch eines einzelnen Herrn
leicht geändert.
Es werden bei empfangenen Dateien immer noch keine Icons
erzeugt, das von mir geschriebene Utility `Icon' bewerkstelligt
dies viel effizienter und verbraucht dabei auch noch wesentlich
weniger Speicherplatz auf Diskette/Festplatte. Stattdessen werden
die ersten 400 Bytes einer jeden empfangenen Datei untersucht und
in den Dateikommentar eingetragen, für welche Dateiart die
Identifizierungsroutine die jeweilige Datei hält. Bei aktiviertem
ZModem-Download wird eine weitere Funktion aktiv, die beim Erkennen
der Init-Sequenz des Empfängers einen Requester öffnet, in der
Text- oder Binary-Upload als Funktion ausgewählt werden können.
Man könnte diese Funktion quasi als `Auto-Upload' bezeichnen.
V1.6b Keine zu spektakulären Änderungen, sonst stände hier nicht `1.6b'
sondern `1.7'. Ein paar Fehler wurden beseitigt (das
Smooth-Scrolling schob statt einer Zeile gleich deren zwei durch
die Gegend, das zuletzt angeklickte String-Gadget wird endlich
korrekt erkannt), das Logbuch läßt sich jetzt auch mittels der Maus
durchblättern. Es gibt schon wieder einen neuen ARexx-Befehl.
Als ich einmal genügend Zeit für diesen Vorgang zur Verfügung
hatte, habe ich das gesamte Programm noch einmal mit aktiviertem
`Global Optimizer' durch den Compiler geschickt (Schwerpunkt
Timing-Optimierung). Zusätzlich ließen sich mit einem kleinen
Trick mehr als 34 KBytes Diskettenplatz sparen (`term' und die
dazugehörigen Programme sind kürzer geworden). Das Löschen des
`executable'-Flags bei empfangenen Daten, die keine ausführbaren
Dateien darstellen, funktioniert jetzt zufriedenstellend.
Ich habe die Funktion `atol' ersetzt und den `Rattenschwanz',
der an der Funktion `tolower' hing, entfernt.
V1.6a In den vorausgehenden `term'-Versionen hatte das ARexx-Interface
einen verhängnisvollen Fehler: wurden ARexx-Programme vom
`term'-Hauptmenü aus gestartet, so wurde der `BatchMode' aktiviert,
d.h. alle synchronen Befehle wurden vom ARexx-Server direkt
ausgeführt. Probleme konnten beim Aufruf von Funktionen entstehen,
die das timer.device nutzten, oder sich mit dem aktuellen seriellen
Treiber beschäftigten, da die entsprechenden ReplyPorts und
Signalbits nur für den Haupt-Prozess eingerichtet waren. Eine so
aufgerufene Funktion kehrte nach dem Aufruf nie zurück.
Mittlerweile habe ich dieses Problem gelöst, indem ein weiterer
Prozess asynchron gestartet wird, um den ARexx-Befehl auszuführen,
während sich das Hauptprogramm um das Abarbeiten eingehender
Befehle kümmert. Nebenbei habe ich noch zwei weitere ARexx-Befehle
implementiert: `waitstring' wartet auf das Eingehen von
Zeichenketten und `quietexit' beschleunigt das Beenden eines
ARexx-Programmes. Zusätzlich werden neu erstellte
Telefonbucheinträge mit Default-Werten für die Gebührenberechnung
gefüttert. Aufgrund meiner eigenen Schusseligkeit funktionierten
die Form-Feeds in Version 1.6 nicht (vielleicht lerne ich doch noch
eines Tages programmieren ;-)
V1.6 Ich habe mich endlich zu größeren Änderungen durchringen können.
Nachdem die bisherigen Versionen mehr Fehler in älteren Versionen
behoben haben, anstatt neue Funktionen einzuführen, hat sich jetzt
eine ganze Menge getan. Es ist dermaßen viel geworden, daß ich
nicht noch einmal die Änderungen, die bereits in der Dokumentation
aufgeführt sind, wiederholen möchte. Vieles wird man auch im
täglichen Einsatz bemerken.
Ich empfehle Jedermann, sich die Anleitung noch einmal genau
durchzulesen und auch einen Blick auf die Dokumentation des
ARexx-Interfaces zu werfen!
V1.5 Was viele vermißt hatten: jetzt läßt sich endlich der Inhalt des
Haupbildschirms wie auch im Logbuch `ausschneiden' und ins
Clipboard verfrachten. Zusätzlich ist es auch möglich, den
Bildschirminhalt auszudrucken oder auch als Einzeldatei
abzuspeichern (als ASCII). Die Emulation `Atomic' impliziert nicht
mehr den Monochrommodus. Hinzugekommen ist die Emulation `TTY',
die sich nur insofern von `Atomic' unterscheidet, als daß
Steuersequenzen nicht ausgefiltert werden (statt dem einleitenden
`Escape' wird ein Caret ^ ausgegeben). Der Monochrommodus kann
jetzt für jede Emulation zugeschaltet werden (Farben werden nach
ihrer Helligkeit in Schwarz/Weiß umgerechnet und immer so, daß
Kontrast vorhanden ist). Weitere Neuerungen merkt man als normal
aufmerksamer Anwender nicht unbedingt, dennoch hat sich im Detail
eine ganze Menge getan.
V1.4a Die Unverträglichkeiten mit dem A3000 sollten dank Garry Glendown
jetzt behoben sein (eine Signalmaske wurde über einen Fensterzeiger
gebildet, auch wenn das betreffende Fenster nicht geöffnet war --
es erfolgte ein Speicherzugriff auf den unteren Adressbereich, was
die MMU des 68030 auf den Plan rief). Nach Up-/Downloads,
Anwahlversuchen, etc. wird der Hauptbildschirm nach vorne gebracht
und dreimal `gepiept', was den Benutzer auf den soeben
abgeschlossenen Vorgang aufmerksam machen sollte. Nebenbei wurde
noch eine etwas `abgedrehte' Idee implementiert: statt des
`normalen' Piepsens kann jetzt auch ein IFF-Sound verwendet werden,
solange dieser nicht komprimiert ist und die magische Länge von
102400 Bytes nicht überschreitet (Abspielgeschwindigkeit und
Lautstärke werden aus der jeweiligen Datei ermittelt).
V1.4 Das wortweise Springen in Zeicheneingabefeldern funktioniert
endlich vernünftig. Das Aussehen von Bildschirm und Fenstern im
8/16-Farbenmodus wurde aufpoliert. Fenster werden korrekt
behandelt, wenn der `term'-Bildschirm nach vorne gebracht wird.
Die Eingabe in Zeicheneingabefeldern konnte `zufällig' beendet
werden (dieses Problem wurde beseitigt). Der Abbruch von
Up-/Download geschieht jetzt fast `augenblicklich'. Endlich werden
beim Programmstart auch die Bildschirmfarben korrekt gesetzt. Beim
Abarbeiten von Steuersequenzen werden jetzt auch die Codes zum
Abbrechen einer Sequenz erkannt und genutzt (die Online-Datenbank
des Magazins `Börse Online', deren Pseudo-VT100-Emulation einen
blinkenden Cursor simulierte, indem der Inverse-Video-Modus in
schneller Folge an- und wieder abgeschaltet wurde, provozierte
diese Änderung). Das Laden und Setzen der Bildschirmfarben
funktioniert jetzt endlich wie in der Dokumentation beschrieben
ist. Die `Logbuch'-Funktion wird jetzt statt als Task als Process
ins System eingebunden, da es vorkommen konnte, daß das
clipboard.device geöffnet werden mußte: eine Funktion die einem
Task nicht gestattet ist (Bumm!). Das `Logbuch' konnte das
Hauptprogramm beim Verlassen zum endlosen Warten zwingen (behoben),
der Rexx-Server konnte ebenfalls beim Bearbeiten einer Nachricht an
das `Logbuch' zusammenbrechen (behoben). Zeicheneingabefelder
werden bei der Aktivierung besonders gekennzeichnet. Zwei kleinere
Fehler im Einstellfeld für die Modem-Konfiguration sind behoben.
V1.3 Sehr viele kleinere Veränderungen, die im Einzelnen gar nicht alle
aufgezählt werden können. Generelle Resultate sind: die
Wählfunktion stürzt nicht mehr unkontrolliert ab (für die
Spitzfindigen unter uns: sie stürzt auch nicht kontrolliert ab),
der Bildschirm läßt sich endlich mit Hilfe der iffparse.library
abspeichern, der Bildschirm des `Logbuches' wird mit einer festen
Breite geöffnet, die Position und die Größe des ASL-Requesters wird
bis zum nächsten Aufruf gespeichert, es gibt einen echten ASCII
Up-/Download und drei neue ARexx-Query-Befehle. Das Programm ist
jetzt auch wesentlich toleranter beim Öffnen des seriellen Treibers
(Vorversionen versuchten den Treiber solange zu öffnen, bis es
klappte -- fatal wenn man sich beim Eingeben des Namens vertippt
hatte!). Auf besonderen Wunsch eines einzelnen Herrn wurde die
Anordnung der Anzeigefelder im Wählfenster geändert (eine
Telefonnummer mit bis zu 40 Ziffern wird jetzt komplett angezeigt).
Beim Aktivieren/Deaktivieren eines Eingabefensters wird das zuletzt
angewählte Zeicheneingabefeld wieder aktiviert. Vier
Bildschirmmodi wurden klammheimlich wieder aus dem Programm
genommen (PAL/NTSC Productivity, denn es gibt nur einen
Productivity mode, der vom Videosystem unabhängig ist).
V1.2 ARexx-Interface leicht überarbeitet (asynchrone und synchrone
Befehle werden im Notfall vom RexxServer abgearbeitet),
VT220-Sequenzen in das Befehlsparsing eingearbeitet, Unterstützung
für Dead-/Double-Dead-Keys hinzugefügt. String-Gadgets und Menüs
blockieren sich nicht mehr gegenseitig, es gibt das `Packet
Window'. Kleinere Änderungen (meist kosmetischer Natur) hier und
da und dort.
V1.1 Neue Funktionen sind hinzugekommen, das ARexx-Interface ist soweit
komplett, einige Fehler wurden beseitigt.
V1.0 Erste Veröffentlichung im kleinen Kreise.
*
"...you can't get what you want till you know what you want..."
-Joe Jackson