home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
hamradio
/
tfpcx200.zip
/
TFPCX.DOC
< prev
next >
Wrap
Text File
|
1992-08-17
|
75KB
|
1,783 lines
████████ ███████ ██████ ████ ██ ██
██▒██▒██▒ ██▒▒██▒ ██▒▒██ ██▒▒██ ██▒ ██▒
█▒▒██▒ █▒ ██▒ █▒ ██▒ ██▒ ██▒▒ █▒ ██ ██▒▒
▒ ██▒ ▒ ██▒█ ▒ ██▒ ██▒ ██▒ ▒ ████▒▒
██▒ ████▒ █████▒▒ ██▒ ██▒▒
██▒ ██▒█▒ ██▒▒▒▒ ██▒ ████
██▒ ██▒ ▒ ██▒ ██▒ █ ██▒▒██
██▒ ██▒ ██▒ ██ ██▒ ██▒▒ ██
████ ████ ████ ████▒▒ ██▒ ██▒
▒▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒▒▒ ▒▒ ▒▒
The Firmware PC Extended
Version 2.00 (17. August 1992)
Residenter AX.25-Controller für PC
und BayCom-Modem/-USCC-Karte
mit WA8DED-Hostmode-Interface
von René Stange, DG0FT @DB0KG.DEU.EU
Frei für Funkamateure, keine kommerzielle Nutzung
Inhaltsverzeichnis
1. Vorwort
2. Hinweise zur Dokumentation
3. Neuerungen seit Version 1.11
4. Schnellstart
5. Einführung
6. Aufruf und Konfiguration
6.1. Allgemeine Optionen
6.2. Optionen zum residenten Laden
6.2.1. Port- und Baudraten-Konfiguration
6.2.2. TFPC- und DRSI-Interface
6.2.3. Sonstige Optionen
6.3. TFPCX aus dem Speicher entfernen
6.4. Terminalmode
7. Installation
7.1. SP (DL1MEN)
7.2. GP (DH1DAE)
7.3. THP (DL1BHO)
7.4. TERM (DL5FBD)
7.5. CT (K1EA)
7.6. DIEBOX (DF3AV)
7.7. MS-Windows, OS/2 u.a.
8. Betrieb
8.1. Multiport-Erweiterungen
8.2. Besonderheiten von Befehlen
8.3. DAMA
ANHANG
1. Befehlsübersicht
2. Fehlerbehebung (Modembetrieb)
2.1. Sende- und Empfangsprobleme
2.2. Probleme mit anderen Programmen
2.3. Hardwareprobleme
3. Hardwareanschluß
3.1. Serielle Modems
3.2. BayCom-USCC-Karte
4. Informationen für Softwareentwickler
4.1. Programm-Interface
4.1.1. TFPC-Interface
4.1.2. DRSI-Interface
4.1.3. Spezielle Funktionen
4.2. Format von Meldungen
4.3. Bisherige Versionen
5. Urheberrechte und Nutzungsbedingungen
6. Bezugshinweise
1. Vorwort
Nach etwa einem halben Jahr ist nun das neue TFPCX v2.00 verfügbar.
Dies wird vor allem Besitzer der BayCom-USCC-Karte (DG3RBU)
interessieren, die diese zusammen mit den Programmen SP (DL1MEN), GP
(DH1DAE), THP (DL1BHO), TERM (DL5FBD), CT (K1EA), DIEBOX (DF3AV)
o.a. verwenden wollen. Dies ist nun möglich. Aber auch für die
Benutzer eines seriellen Modems (z.B. BayCom-Modem (DG3RBU)) bietet
diese Version neue Möglichkeiten. So kann man nun, entsprechende
Rechenleistung vorausgesetzt, auch zwei Modems parallel betreiben.
Für Modems mit dem AM7911 gibt es einen einstellbaren TXTAIL-
Parameter. Ich empfehle allen TFPCX-Usern, zur neuen Version zu
wechseln, da die bisherigen zwei Bugs enthalten. Die Neuerungen sind
in Abschnitt 3. aufgeführt.
Ich konnte leider nicht alle Möglichkeiten des TFPCX bis ins Letzte
testen. Die USCC-Karte wurde bisher nur mit 1200 Baud-AFSK-Modems im
realen Betrieb verwendet, 9600 Baud mit DF9IC-Modem habe ich nur im
Loopback-Modus getestet. Den Parallelbetrieb zweier serieller Modems
sollte man als zusätzliche Beigabe ohne Garantie verstehen. Auf
einem AT-286/16 funktioniert er seit einiger Zeit aber recht gut.
Ich muß darauf hinweisen, daß ich nicht garantieren kann, daß das
TFPCX auf allen PCs problemlos mit seriellen Modems funktioniert,
bei der USCC-Karte ist dies weniger kritisch. Besonders auf
langsamen Rechnern gibt es teilweise Empfangsprobleme. XTs mit
Taktfrequenzen unter 8 MHz sind nicht oder nur mit Einschränkungen
verwendbar. Oftmals verursachen auch bestimmte residente Programme
derartige Probleme (siehe Anhang 2.1.). Da es sich hier um kein
kommerzielles Produkt handelt, nehme ich das in Kauf. Das TFPCX
stellt jedoch geringere Anforderungen an die Kompatibilität der
verwendeten Schnittstelle als BayCom, so daß es teilweise auch auf
Rechnern läuft, die nicht BayCom-tauglich sind. Mit gewissen
Kompromissen müßten die meisten Nutzer zu einem brauchbaren Betrieb
kommen.
Mein Dank gilt diesmal vor allem dem BayCom-Team (Johannes (DG3RBU),
Flori (DL8MBT), Rudi (DK5RQ) und Christian (DL5RL)) für die zur
Verfügung gestellte USCC-Karte, die interessanten Gespräche und die
aufgebrachte Geduld, weiterhin Asko (DG2BRS) für die Hilfe beim
Testen, außerdem Sigi (DL1MEN) für die Unterstützung und nicht
zuletzt allen Usern, die mir mit Hinweisen und Vorschlägen geholfen
haben, insbesondere Michael (DG5YAL). Besonders bedanke ich mich
auch bei DB7KG, DG3BAF, DH2GAV, DJ9CS, DK6PX und DL1ROM, die für die
Version 1.1x eine Anerkennung übrig hatten.
73s von René, DG0FT Strausberg, 17. August 1992
2. Hinweise zur Dokumentation
Ich gehe in dieser Dokumentation davon aus, daß bereits ein
funktionsfähiges Modem oder eine USCC-Karte und ein passendes
Terminalprogramm zur Verfügung stehen und Kenntisse über die TNC-
Software The Firmware (NORD><LINK) oder die WA8DED-Firmware
vorhanden sind. Zu dieser Beschreibung gehört deshalb eine
Dokumentation der The Firmware 2.1c, die man bei Bedarf zu Rate
ziehen sollte. Hier werden nur die Unterschiede im Vergleich zur
TNC-Firmware behandelt.
Wer auch ohne längeres Studium dieser Dokumentation mit dem TFPCX
zurechtkommt, hat Zeit gespart, aber vielleicht auch ein paar Tricks
übersehen. Falls man jedoch Fragen oder Probleme hat, dann bitte ich
darum, daß man zunächst hier nach einer Lösung sucht. Die Erfahrung
zeigt, daß immer wieder die gleichen Fragen gestellt werden und ich
habe das hier berücksichtigt ohne Anspruch auf Vollständigkeit.
Allerdings kann diese Dokumentation auch kein Grundkurs für MS-DOS
und Packet Radio sein. Man kann übrigens sehr gut die Suchfunktion
eines Texteditors nutzen, um ein bestimmtes Stichwort zu finden.
In dieser Dokumentation wird einige Hard- und Software erwähnt, die
von anderen Funkamateuren entwickelt wurde, meist steht das
Rufzeichen des Urhebers in Klammern dahinter.
Begriffe und Abkürzungen:
Port ein Packet Radio Interface bestehend aus Schnittstelle
(COM, LPT oder USCC-Port), Modem und Funkgerät, bei
mehreren Ports wird hier von Multiport-Betrieb gesprochen
Kanal einer der maximal 20 gleichzeitig möglichen Connects
(Verbindungen), beim BayCom ist die Bedeutung von Port
und Kanal genau entgegengesetzt
Frame eine über Packet Radio übertragene Dateneinheit (Paket),
bestehend aus Adreßfeld, Steuerfeld, Daten und Prüfsumme
Interrupt Unterbrechung des gerade laufenden Programms durch Hard-
ware-Ereignisse (z.B. gedrückte Taste, bestimmtes Zeit-
intervall vorbei), Software-Interrupts werden nicht durch
die Hardware sondern durch einen bestimmten Programm-
befehl ausgelöst
0x Prefix von Hexadezimalzahlen (z.B. 0x300 = 300H)
3. Neuerungen seit Version 1.11
- Unterstützung der BayCom-USCC-Karte mit maximal 4 Ports (Option
-PUSCC)
- Parallelbetrieb von 2 seriellen Modems möglich (-PCOM/LPT kann
dazu mehrfach verwendet werden)
- intern 8 Ports (z.Z. maximal 6 benutzt), 20 Kanäle (TFPCX belegt
jetzt ca. 59K im Speicher)
- zusätzliche Unterstützung des DRSI-Software-Interfaces (wird von
SP und CT verwendet, Option -DR)
- Sende-/Empfangsanzeige nun mit wählbaren Hintergrundattribut
(Option -C, dafür entfällt -NC)
- verschiedene Erweiterungen für Multiport-Betrieb (Ausgabe von
Portnummern und Eingabemöglichkeit bei Befehlen)
- zusätzliche Befehle zur DRSI-kompatiblen Parameterabfrage
(Befehl P) und für Statistik-Framezähler (Befehl @ST)
- frei wählbarer TXTAIL-Wert für AM7911-Modem (Befehl @TA)
- eingeschränktes Crossband-Digipeating TFPCX-intern möglich durch
eine Linkliste (Befehl @L)
- neue Funktionen für Terminalprogramme (z.B. Pufferkontrolle für
TERM und DCD-Abfrage/Anzeige), dafür Befehl Z wieder entfallen
- 'dynamisches' MAXFRAME der TF 2.3b entfernt (zu unflexibel)
- Versuch des Modembetriebs unter Microsoft Windows wird mit Fehler-
meldung quittiert (zwecklos), die USCC-Karte kann verwendet werden
- Bug behoben, der in allen bisherigen Versionen, zum Pufferüberlauf
führte wenn kein Terminalprogramm lief und damit Hintergrund-
connects einschränkte
- Bug behoben, der von v1.01 bis v1.11 unter bestimmten Bedingungen
zu überflüssigen Aussendungen führte
4. Schnellstart
Auf Grund verschiedener Konfigurationsmöglichkeiten und Terminal-
programme läßt sich kein allgemeines Kochrezept angeben. Meist
reicht es aus, wenn man sich zunächst die Abschnitte 6.2.1. und 7.
(entsprechend verwendeten Programm) anschaut. Gibt es Probleme
sollte man Anhang 2. lesen. Für den Betrieb mit mehreren Ports sind
Abschnitt 8.1. und 8.2. wichtig.
Wer bereits mit früheren Versionen gearbeitet hat und auch weiterhin
nur ein Modem verwenden will, braucht lediglich die Option '-C' beim
Laden von TFPCX angeben, wenn die Sende-/Empfangsanzeige gewünscht
wird, da sie nun nicht mehr automatisch eingeschaltet wird. Wenn man
bisher die Option '-NC' angegeben hatte, ist diese zu streichen.
Mit 'TFPCX -H' lassen sich alle Optionen in Kurzform abrufen und
'TFPCX -U' entfernt das TFPCX wieder aus dem Speicher.
5. Einführung
Packet Radio wurde und wird vor allem mit sogenannten Terminal-Node-
Controllern (TNC) betrieben, die die gesamte PR-spezifische Proto-
kollabwicklung (AX.25) übernehmen und den benutzten Computer zum
komfortablen Datensichtgerät machen. Dabei sind TNCs auch nichts
anderes als (nicht mal besonders leistungsfähige) Rechner mit
serieller Schnittstelle und Modem. Auf Grund der weiten Verbreitung
einer speziellen vor allem auf dem TNC2 laufenden TNC-Software
(WA8DED-Firmware oder die kompatible The Firmware von NORD><LINK)
existieren mittlerweile einige leistungsfähige und weit verbreitete
Programme, die das spezielle Software-Interface dieser Firmware
(WA8DED-Hostmode) verwenden.
Da heutzutage auch leistungsfähige PCs nicht mehr sehr teuer sind,
bietet es sich an, ihnen die Arbeit des TNCs zu übertragen und damit
die Investition für den TNC einzusparen. Außerdem ist ein Portabel-
betrieb mit Laptop oder Notebook auch viel eleganter, wenn man nicht
einen 'grauen Kasten' zusätzlich mit sich herumschleppen muß. Für
diesen Zweck bietet seit einiger Zeit das BayCom-System (Terminal,
Modem oder USCC-Karte) eine schnelle, billige und leicht ver-
ständliche Lösung. Allerdings ist BayCom ein abgeschlossenes System,
das den Betrieb der TNC-Terminalprogramme nicht unterstützt.
An dieser Stelle setzt das TFPCX an, da es die Verbindung zwischen
der vorhandenen Hardware (serielles Modem oder USCC-Karte) und den
Terminalprogrammen für TNCs schafft. Das TFPCX ist eine Art
speicheresidenter TNC der einmal in den PC geladen wird, es sich im
Speicher bequem macht und dann ständig von den Interrupts des PC
angetrieben im Hintergrund seine Arbeit verrichtet, also Daten
sendet und empfängt und auf Befehle des Nutzers reagiert. Die
Daten- und Befehlsschnittstelle zum Terminalprogramm (Software-
Interrupt) ist dabei sehr ähnlich zu der bei TNCs verwendeten und
außerdem (was wichtig ist) gut dokumentiert. Es bereitet deshalb
kaum Schwierigkeiten ein existierendes Programm mit dem TFPCX lauf-
fähig zu machen und für die wichtigsten Programme ist dies bereits
geschehen.
Wenn das TFPCX geladen ist, verhält sich das System so, als wenn ein
TNC angeschlossen wäre, kann also von außen connectet werden und
speichert alle ankommenden Nachrichten. Da das TFPCX im Hintergrund
läuft, können nebenbei auch andere Programme verwendet werden (Aus-
nahmen siehe Anhang 2.2.). Auf ungelesene Informationen macht ein
blinkendes Rechteck in der rechten oberen Bildschirmecke aufmerksam.
Sobald das Terminalprogramm gestartet wird, erscheint der empfangene
Text auf den Bildschirm. TFPCX ist vergleichbar mit dem Programm L2
(DL8MBT) des BayCom-Systems.
Das TFPCX dient nicht zum Betrieb mit TNCs im KISS-Mode (z.B. PK232)
oder TCP/IP-Software und läuft nur auf IBM-kompatiblen PCs. Im
ersten Fall kann das TFPCR (DL1MEN) verwendet werden, im zweiten
Fall hilft der Packet Driver AX25DRV für BayCom-kompatible Modems
von Pawel Jalocha. Für die BayCom-USCC-Karte kann ich eine Anpassung
des PE1CHL-SCC-Treibers für KA9Q-NOS (Version 920611) anbieten
(kompletter Quellkode ohne EXE-File), allerdings nur kurz getestet.
6. Aufruf und Konfiguration
TFPCX wird durch folgende Befehlszeile aktiviert:
TFPCX [ -N ] [ <load options> | -T | -U ]
Alle Optionen werden durch '-' eingeleitet und durch Leerzeichen
voneinander getrennt. Innerhalb einer Option sind keine Leerzeichen
zulässig. Groß-/Kleinschreibung wird nicht unterschieden. Bestimmte
Optionen (z.B. '-P') haben mehrere Parameter, die durch ein ':'
getrennt werden. Für ausgelassene Angaben werden Standartwerte
eingesetzt.
Beispiel:
Für '-PUSCC::5' wird '-PUSCC:300:5:1103' verwendet, indem für die
fehlenden Werte 300 und 1103 eingesetzt wird.
Es ist sinnvoll, das TFPCX aus einem Batch-File zu starten, damit
man nicht immer die gleichen Optionen schreiben muß. Zunächst werden
alle Optionen kurz in der Form aufgelistet, wie sie auch im Hilfe-
Text mit 'TFPCX -H' abrufbar sind und dann einzeln erläutert.
<load options> sind nur beim residenten Laden des TFPCX relevant und
gelten bis zum Entladen.
<general options>
-N no messages
-T terminal mode
-U unload
<load options>
-P<port> attach packet port -D debug mode
-B<baud> baud rate -DM use DRSI messages
-F[file] read init file -DR emulate DRSI driver
-C[xx] show DCD [color] -NB no blinking rectangle
-Ixx TFPCX interrupt -ND no disk access if DCD
<port> COMn[:xxx] | LPTn[:xxx] | USCC[:xxx:n:nnnn]
1-4^ ^addr 1-4^ ^addr addr^IRQ^ ^<clock>
<clock> 0 = disable 2 = hardclock (1 digit/
1 = softclock 3 = DF9IC modem channel)
<baud> nnnn[:nnnn ...] (1 number/port)
[] Angabe ist optional
| alternative Angabe
x Hexadezimalziffer
n Dezimalziffer
6.1. Allgemeine Optionen
Diese Optionen können zusammen mit jeder anderen Option verwendet
werden. Es gibt im Augenblick nur eine:
-N Nachrichten unterdrücken
Falls die Nachrichten des Programms stören (z.B. in Batch-Files),
können sie hiermit unterdrückt werden. Fehlermeldungen erscheinen
aber weiterhin.
6.2. Optionen zum residenten Laden
Das TFPCX wird immer dann resident in den Speicher geladen, wenn
keine der Optionen '-T' oder '-U' angegeben ist und es nicht selbst
oder der TFPCR- oder DRSI-TNCTSR-Treiber bereits aktiviert wurde.
Wenn man also mehrere Treiber zusammen verwenden will, muß das TFPCX
immer als erstes aufgerufen werden. Ich kann jedoch nicht
garantieren, daß man auf diese Weise auch problemlos arbeiten kann.
Das TFPCX kann auch mit LOADHIGH in den oberen Speicherbereich (UMB)
geladen werden, wenn dort genug Speicher frei ist. Allerdings gibt
es teilweise Probleme mit den dazu notwendigen EMM386-Treibern
(siehe Anhang 2.1.).
Um das TFPCX an verschiedene Packet-Hardware, Übertragungsge-
schwindigkeiten, Terminalprogramme und Nutzerwünsche anpassen zu
können, existieren die hier behandelten Optionen.
Nach dem Laden erscheint z.B. die Meldung
┌─────────────────────────────────────┐
│ TFPCX v2.00 (Aug 17 1992) by DG0FT │
│ TF v2.3b DAMA by NORD><LINK │
│ Free for non-commercial usage │
├─────────────────────────────────────┤
│ 4 Port(s), 20 Channels, TFPC-Int FD │
├─────────────────────────────────────┤
│ 0: COM1 (3F8/-), 1200 Bd, MODEM │
│ 1: SCC0 (300/7), 1200 Bd, SOFTCLK │
│ 2: SCC1 (301/7), 1200 Bd, SOFTCLK │
│ 3: SCC3 (303/7), 9600 Bd, DF9IC │
└─────────────────────────────────────┘
und das DOS-Prompt. TFPCX ist jetzt installiert und belegt ca. 59
KByte des Hauptspeichers. Im unteren Kästchen wird für jeden Port
die Nummer, die Schnittstelle, die Adresse und evtl. der IRQ, die
Baudrate und die Art des angeschlossenden Modems ausgegeben.
6.2.1. Port- und Baudraten-Konfiguration
-P Angabe der benutzten Ports
Diese Option kann mehrfach verwendet werden und zwar 2 mal für
serielle Modems und 1 mal für die BayCom-USCC-Karte. Damit sind
maximal 6 Ports möglich. Besonders bei seriellen Modems ist die
Belastung des Rechners durch mehrere Ports nicht zu unterschätzen.
Die Vergabe der Portnummern, erfolgt in der Reihenfolge in der die
Ports auf der Kommandozeile angegeben werden, wobei die Reihenfolge
der USCC-Ports fest ist. Die obige Meldung erscheint z.B. beim
Aufruf:
TFPCX -PCOM1 -PUSCC
Wird die Option '-P' überhaupt nicht angegeben, wird wie bisher ein
serielles Modem an COM1 benutzt.
-PCOMn oder -PLPTn Modem an COMn bzw. LPTn (n = 1-4)
Die Basisadresse des Portes wird dem BIOS-Datenbereich entnommen und
muß dort eingetragen sein. Manche BIOS-Versionen vergessen das bei
COM3 und COM4. In diesem Fall läßt sich die Adresse in der Form
'-P<Port>:xxx' auch explizit setzen.
Beispiel:
TFPCX -PCOM3:338
Mit diesem Aufruf wird ein Modem an COM3 verwendet, wobei als
Basisadresse die 0x338 verwendet wird. Diese Adresse muß man der
Schnittstellenbeschreibung entnehmen. Die Nummer der Schnittstelle
(hier also die 3) wird ignoriert, wenn eine Adresse angegeben wird,
muß aber trotzdem zwischen 1 und 4 liegen. Als Basisadresse ist der
Bereich 0x100 bis 0x3F8 zugelassen. Der IRQ der Schnittstelle ist
für TFPCX uninteressant und wird nicht benutzt.
Werden 2 Modems verwendet sollte man zuerst den Port angeben, den
man am häufigsten benutzt, da dieser evtl. etwas bevorzugt wird. Es
versteht sich von selbst, daß andere Programme nicht auf
Schnittstellen zugreifen dürfen, die vom TFPCX verwendet werden.
-PUSCC:<Base>:<IRQ>:<Modems> BayCom-USCC-Karte verwenden
Als Parameter wird die Basisadresse der USCC (0x210-0x340, letzte
Ziffer 0), der IRQ (3-7) und eine maximal 4 stellige Ziffernfolge
angegeben, die über die Art der an den 4 USCC-Ports angeschlossenden
Modems Auskunft gibt. Folgende Angaben sind möglich (siehe auch
Anhang 3.2.):
0 Disable Kanal wird nicht benutzt (abgeschaltet)
1 Softclock Takt für Senden und Empfang wird intern erzeugt für
AFSK-Modems (kein Duplex möglich)
2 Hardclock Sendetakt wird vom Modem geliefert, Empfangstakt
wird intern erzeugt (z.B. G3RUH)
3 DF9IC-Modem Takt für Senden und Empfang wird vom Modem
geliefert, NRZ-Mode
Beispiele:
TFPCX -PUSCC:300:7:1103
Basisadresse 0x300, IRQ 7, USCC-Ports 0 und 1 mit Softclock für
normale AFSK-Modems (Ziffer 1), Port 2 ist abgeschaltet (Ziffer 0)
und Port 3 mit DF9IC-Modem (Ziffer 3). Das ist die Standart-
einstellung, wenn nur '-PUSCC' angegeben wird.
TFPCX -PUSCC::5:11
Basisadresse 0x300, IRQ 5, USCC-Ports 0 und 1 mit Softclock, Ports 2
und 3 abgeschaltet. Wird gar kein Modem-Takt angegeben gilt '1103'
(wie oben), erfolgt jedoch eine Angabe mit weniger als 4 Ziffern
gilt für den Rest '0'.
-Bnnnn[:nnnn ...] Baudrate je Port einstellen
Bei mehreren Ports werden durch ':' getrennte Werte angegeben in der
Reihenfolge steigender Portnummern. Folgende Werte sind möglich:
Standart
serielles Modem 300, 1200, 2400 oder 4800 Baud 1200
USCC Softclock 38-38400 Baud 1200
Hardclock 1-38400 Baud 9600
DF9IC-Modem 1-65535 Baud (ohne Bedeutung) 9600
Beim seriellen Modem sind nur die genannten Werte möglich, bei der
USCC auch Zwischenwerte. Bei Hardclock muß der vom Modem gelieferte
Sendetakt mit dem angegebenen übereinstimmen, beim DF9IC-Modem ist
der Wert bedeutungslos, da der Takt extern erzeugt wird, man sollte
aber trotzdem den richtigen Wert angeben, weil er z.B. beim Befehl
'P' angezeigt wird.
Beispiel:
TFPCX -PCOM1 -PUSCC:::1003 -B300::19200
Modem an COM1 mit 300 Baud, USCC-Port 0 mit Softclock und 1200 Baud
(Standart, da '::') und USCC-Port 3 mit DF9IC-Modem und 19200 Baud.
Welche Baudrate auf einem PC möglich ist, hängt von seiner
Rechenleistung ab (siehe Tabelle im Anhang 2.1.). Bei Betrieb eines
seriellen Modems mit 300 Baud weicht die Systemuhr in der Stunde um
eine halbe Minute ab.
6.2.2. TFPC- und DRSI-Interface
Das TFPCX bietet zur Kommunikation mit dem Terminalprogramm drei
verschiedene Varianten, von denen je nach verwendeten Programm eine
ausgewählt werden muß. Für Programmierer ist der Aufruf und die
Parameterübergabe im Anhang 4.1. genau beschrieben.
Das TFPC-Interface wurde von Sigi (DL1MEN) für seinen KISS-Treiber
TFPCR entwickelt und wird inzwischen von einer Reihe von Programmen
unterstützt (z.B. SP, GP, THP, TERM, DIEBOX). Dies ist deshalb auch
das Standart-Interface des TFPCX. Der Nachteil dieser Variante ist
die eingeschränkte Multiport-Fähigkeit, da die Übergabe von
Portnummern (z.B. des Ports auf dem man connectet wurde) nicht
möglich ist. Damit erscheinen Connects und Monitor-Frames so, als ob
alles auf einer Frequenz abliefe. Bisher war das kein Problem, da
das TFPCR (und auch TFPCX) sowieso nur einen Port ansteuern konnten.
Für alle, die nur einen Port benutzen ist diese Variante auch
weiterhin zu empfehlen.
-DR DRSI-Interface benutzen
Dieses Interface verwendet der zum DRSI-PCPA-Adapter gehörende
TNCTSR-Treiber. Nachdem das TFPCX nun den Multiport-Betrieb
unterstützt mußte eine Möglichkeit gefunden werden, um eine
Unterscheidung der benutzten Ports durch das Terminalprogramm zu
ermöglichen. Dafür bot sich diese Variante an, da sie bereits von SP
voll unterstützt wird. Der Unterschied zum TFPC-Interface besteht
vor allem in der Übergabe von Portnummern bei Link-Status-Meldungen
und Monitor-Informationen.
-DM Modifiziertes TFPC-Interface benutzen
Diese Variante ist für den Multiport-Betrieb mit Programmen gedacht,
die bisher nur das TFPC-Interface verwenden können. Es liefert die
gleichen Meldungen, wie das DRSI-Interface (also mit Portnummern)
benutzt aber den 'herkömmlichen' TFPC-Interrupt. Die Nutzung dieser
Variante ist ein Kompromiß. Bei manchen Programmen (z.B. TERM) gibt
es damit keine Probleme, andere Terminals (z.B. GP) zeigen die
Portnummern zwar meist richtig an, es gibt aber 'Nebeneffekte' und
einige Programme (z.B. THP) kommen mit den Portnummern gar nicht
klar. Am besten mal mit und mal ohne Option '-DM' probieren und
darauf hoffen, daß die Entwickler der entsprechenden Programme
vielleicht eine Multiport-Unterstützung realisieren.
ACHTUNG!
Bitte nicht die Entwickler der Terminalprogramme (oder mich) mit
Nachrichten überhäufen, wenn bei Nutzung von '-DM' irgend etwas
durcheinander kommt. Diese Option ist ein Kompromiß und bewirkt bei
einigen Programmen evtl. eigenartige Effekte.
6.2.3. Sonstige Optionen
-C[xx] Sende-/Empfangsanzeige einschalten
Bewirkt im Hostmode die Anzeige des Sende-/Empfangsstatus in der
rechten oberen Bildschirmecke ('S' für Senden, 'R' für Empfang).
Wenn mehrere Ports benutzt werden, erfolgt die Anzeige für jeden
Port getrennt, wobei der Port 0 ganz links steht. Die Anzeige
funktioniert nur im Textmode und kann mit einem bestimmten
Farbattribut erfolgen, das dann hexadezimal anzugeben ist.
Beispiel:
TFPCX -C17
^ Schrift (hier Weiß)
^ Hintergrund (hier Blau)
Nummern der Farbattribute:
0 Schwarz 4 Rot 8 Dunkelgrau C Hellrot Monochrom:
1 Blau 5 Magenta 9 Hellblau D Hell-Magenta
2 Grün 6 Braun A Hellgrün E Gelb 07 Normal
3 Zyan 7 Weiß B Hell-Zyan F Hellweiß 70 Invers
^ ^
nur als Schriftfarbe
-F<File> Datei zur Parametereinstellung (ohne <File> gilt TFPCX.INI)
Diese Datei wird bei der Initialisierung gelesen und im Terminalmode
zeichenweise an die Firmware gesendet, um eine Voreinstellung der
Parameter zu ermöglichen. Normalerweise kann diese Option entfallen,
weil Terminalprogramme selbst eine Initialisierung vornehmen. Die
Datei wird im aktuellen Verzeichnis gesucht, wenn kein Pfadname
angegeben wird. Das Zeichen '^' wird in ein Escape umgesetzt, mit
dem die Befehle eingeleitet werden. Die Datei kann mit einem
normalen Editor erstellt werden. Eine Beispiel-Datei ist im Archiv
enthalten.
-Ixx Software-Interrupt für TFPCX-Interface (40-FF)
Über den hier angegebenen Software-Interrupt findet die
Kommunikation zwischen TFPCX und dem Terminalprogramm statt.
Standartmäßig wird der Interrupt 0xFD verwendet. Eine Änderung ist
nur nötig, wenn dieser Vektor von anderen Programmen verwendet wird
oder ein Programm nur mit einer bestimmten Einstellung funktioniert
(z.B. '-IFF' bei CT (K1EA)).
-NB Statusblinken ausschalten
Wenn TFPCX ungelesene Informationen oder Statusmeldungen gespeichert
hat und nicht im Hostmode ist (also im Hintergrund läuft) blinkt in
der rechten oberen Bildschirmecke ein Rechteck, das z.B. auf einen
neuen Connect aufmerksam macht. Man kann nun das Terminalprogramm
starten und auf den Connect reagieren. Dies funktioniert allerdings
nicht, wenn man aus dem Terminal eine DOS-Shell aufruft und das
TFPCX dabei (wie z.B. bei SP) im Hostmode bleibt. Das Blinken kann
mit dieser Option unterdrückt werden.
-ND Disk-Zugriffe bei Senden/Empfang verzögern (Notbehelf)
Falls man Empfangsprobleme bei Disk-Zugriffen hat (Packete werden
nicht einwandfrei dekodiert) kann man mit dieser Option verhindern,
daß ein Diskzugriff durchgeführt wird während ein Signal anliegt
(auch bei USCC, nur im Hostmode). Das führt jedoch zu einem etwas
'ungewohnten' Verhalten, weil der Rechner dann so lange zu hängen
scheint, bis die QRG wieder frei ist. Man sollte diese Option
deshalb nur im Notfall verwenden. Wenn mit Soft-DCD gearbeitet wird
muß der Befehl '@C' bereits beim Laden des TFPCX mit der Option '-F'
aus einem Init-File ausgeführt werden.
-D Test Modus (Debug)
Diese Option dient vor allem zur Ursachenforschung bei Sende- und
Empfangsproblemen beim Modembetrieb (siehe Anhang 2.1.). Sie bewirkt
bei jedem Timer-Interrupt einen Flankenwechsel am Eingang des
Lautsprechers. Damit muß bei 1200 Baud ein 1800 Hz-Ton zu hören sein
(Baudrate * 1.5). Der Ton sollte 'halbwegs' sauber und ohne
Unterbrechungen sein. Geprassel entsteht, wenn der Interrupt
verzögert wird. Ertönt ein einziges Prasseln oder gibt es
Unterbrechungen ist der Rechner überfordert. Die Grenze ist hier
allerdings schwer zu ziehen, ein 'gewisses Grundrauschen' muß die
Funktion noch nicht beeinträchtigen.
Wird nur die USCC-Karte verwendet, dann knackt es immer dann im
Lautsprecher, wenn durch die SCC-Controller ein Interrupt ausgelößt
wird. Wie häufig das passiert ist davon abhängig, ob und mit welcher
Geschwindigkeit gerade etwas gesendet/empfangen wird. Im Normalfall
sind es genau 75 Unterbrechungen je Sekunde, was als Zeitnormal
verwendet wird. Hört man überhaupt nichts stimmt entweder der IRQ
nicht oder die USCC funktioniert nicht richtig.
6.3. TFPCX aus dem Speicher entfernen
Mit dem Befehl 'TFPCX -U' läßt sich TFPCX wieder aus dem Speicher
entfernen.
6.4. Terminalmode
Mit 'TFPCX -T' wird ein einfaches Terminalprogramm gestartet, mit
dem man auch ohne zusätzliche Terminal-Software arbeiten kann.
Vorher ist das TFPCX resident zu laden (wie oben beschrieben). Man
muß das Programm also zweimal mit verschiedenen Parametern aufrufen,
um in den Terminalmode zu gelangen. '-T' funktioniert auch zusammen
mit TFPCR oder dem DRSI-TNCTSR-Treiber.
Mit ALT-X wird das Terminalprogramm verlassen. Vorher sollte man mit
ESC 'MN' den Monitor abschalten, wenn er aktiviert war, weil sonst
unnötiger Pufferspeicher verbraucht wird, und beim eventuellen Start
eines Hostmode-Programms Probleme entstehen.
7. Installation
Dieser Abschnitt gibt Hinweise zur Installation einiger Programme
für den Betrieb mit TFPCX. Grundsätzlich muß das TFPCX aktiviert
werden bevor das Terminalprogramm gestartet wird. Außerdem sind
meist noch bestimmte Einstellungen in Konfigurationsdateien oder
-Menüs notwendig. Dagegen sind z.B. Baudraten-Einstellungen in
diesen Dateien/Menüs für den TFPCX-Betrieb meist belanglos, dafür
ist die Option '-B' beim Aufruf des TFPCX verantwortlich.
Bei einigen Programmen gibt es Probleme beim Multiport-Betrieb
(Option '-DM'). In diesem Fall muß diese Option und damit die
Anzeige von Portnummern entfallen. Bei Befehlen ist aber die
Portangabe und damit der Multiport-Betrieb trotzdem möglich. Man
sieht bloß nicht, von wo man connectet wird oder auf welchem Port
ein Monitor-Frame empfangen wurde.
Man sollte beachten, daß das TFPCX einen Teil des Speichers belegt,
der dem Terminalprogramm dann nicht zur Verfügung steht. Deshalb
müssen bestimmte Puffergrößen und die Anzahl der Connect-Kanäle
unter Umständen verringert werden.
7.1. SP (DL1MEN)
Je nach Portanzahl ergeben sich 2 Varianten:
Will man nur einen Port benutzen bietet sich das TFPC-Interface an,
das ab SP v5.00 unterstützt wird. SP wird in diesem Fall
entsprechend SP-Manual oder mit dem INSTALL-Programm für TFPCX (oder
TFPCR)-Betrieb installiert. Die Datei CONFIG.SP (früher SP.CFG) muß
die Zeile 'CFG=PORT0:5H' enthalten. Im Betrieb gibt es hier kaum
Unterschiede zwischen TFPCX und TFPCR.
Für Multiport-Betrieb (2 Modems oder USCC) sollte man das DRSI-
Interface verwenden. Die Datei CONFIG.SP muß dafür die Zeile
'CFG=PORT0:DH' enthalten und TFPCX wird mit der Option '-DR'
gestartet. Ansonsten braucht man sich sich nur daran orientieren,
was im SP-Manual zur Installation und zum Betrieb mit dem DRSI-PCPA-
Adapter gesagt wird, es trifft in diesem Fall zum großen Teil auch
auf das TFPCX zu, mit folgenden Besonderheiten:
- SP-Befehle 'DR' und 'HB' funktionieren nicht, die Parameter werden
mit den normalen TNC-Befehlen eingestellt mit zusätzlichen Port-
angaben (siehe Abschnitt 8.1.)
- Die im Abschnitt 8.1. beschriebene Portauswahl bei fehlender
Portangabe klappt leider bei einigen Befehlen nicht, da sie SP an
den Monitor-Kanal 0 und nicht an den aktuell eingestellten
Connect-Kanal sendet, im Zweifelsfall deshalb immer die Portnummer
angeben
- Befehle 'TP' und '//par' zeigen die richtige Baudrate (keine
Nummer) an
Beim DRSI-Betrieb verwaltet SP für jeden der maximal 8 Ports eine
extra QRG, außer auf dem Monitor-Kanal. Die Port-Umschaltung
erfolgt z.B. durch ESC 'C 1:', auf dem Monitor-Kanal wird damit der
Unproto-Port gewählt. Der eingestellte Default-Port wird bei einem
Connect-Befehl automatisch ergänzt, kann aber auch direkt angegeben
werden.
Das TFPCX kann auch parallel mit anderen TNCs oder dem TFPCR
verwendet werden. Im letzten Fall muß für das TFPCX das DRSI-
Interface verwendet werden, um das TFPC-Interface fürs TFPCR
freizuhalten und TFPCX muß zuerst geladen werden. Wie gut das ganze
funktioniert ist vor allem vom benutzen Rechner abhängig.
Bei SP v6.00 oder früher flankert die QRG-Anzeige evtl. etwas und
der Connect-Gong klingt anders als beim TNC-Betrieb. Das ist normal
und kein Grund zur Sorge.
Bei einigen frühen Versionen von SP v7.00 gibt es durch einen Bug
evtl. Probleme beim Modembetrieb.
7.2. GP (DH1DAE)
Bei GP ist für das TFPCX keine extra Konfiguration nötig. Einfach
das TFPCX laden (ohne '-DR') und danach GP starten.
GP unterstützt bisher keinen Multiport-Betrieb. Es gibt aber die
Möglichkeit das TFPCX mit der Option '-DM' zu starten, was
wenigstens zu Anzeige von Portnummern im Monitor und bei Rufzeichen
und Link-Status-Meldungen führt. Allerdings ist diese Variante
gewöhnungsbedürftig da z.B. durch zu lange Rufzeichen der
Bildschirmaufbau in Mitleidenschaft gezogen wird. Bei ALT-C
(Connect) muß zwischen Portangabe und Call ein Leerzeichen sein
(z.B. '1: Y51O').
7.3. THP (DL1BHO)
THP unterstützt das TFPC-Interface (getestet mit v3.03). In der
Datei CONFIG.PR muß im Abschnitt 'TNC-Konfiguration' für das TFPCX
die Schnittstellennummer '5' angegeben werden. Im File CMD.PR werden
standartmäßig einige Befehle aufgerufen, die beim TFPCX zu einer
Fehlermeldung führen (z.B. 'A' und 'Z'). Am besten ein '#' davor
setzen (Kommentar).
Multiport-Betrieb mit der Option '-DM' bringt keine Vorteile, da die
Portnummern nicht richtig angezeigt werden.
7.4. TERM (DL5FBD)
Diese TFPCX-Version arbeitet mit TERM ab v9.71 am besten zusammen.
Frühere TERM-Versionen benutzen ein anderes Verfahren zum
Sendehandshake, das vom TFPCX nicht mehr unterstützt wird.
Wenn man mehrere Ports verwendet sollte TFPCX mit der Option '-DM'
geladen werden, sonst ohne. Da TERM die TFPCX-Meldungen nicht selbst
verarbeitet, gibt es keine Probleme mit den Portnummern.
Nach dem Start von TERM gelangt man mit ALT-P ins Parameter-Menü.
Dort wird eingestellt:
V24-COMx: 5
Handshake: S
Schutzzeiten: 0
Bei dieser Version ist noch keine Binärübertragung mit TERM möglich,
bei der nächsten wird dies aber vermutlich wenigstens empfangsweise
funktionieren.
7.5. CT (K1EA)
Das Contest-Programm von K1EA kann nun auch mit dem TFPCX benutzt
werden (getestet mit CT v6.26). Bei CW-Contesten geht das bisher
allerdings nur mit der USCC-Karte, da CT sich bei der Erzeugung von
Morsezeichen sonst nicht mit dem TFPCX verträgt. Beim TFPCX v2.10
ist aber Abhilfe in Sicht.
Der Start des TFPCX muß mit den Optionen '-DR' und '-IFF' erfolgen.
Sinnvoll ist auch die Parametereinstellung über die Option '-F'.
In der ersten Dialogbox wird im Punkt 'TNC' der Wert 'Local'
eingestellt und bei Modembetrieb muß für 'Mode' 'SSB' ausgewählt
sein. Im Communications Setup wird keine Einstellung vorgenommen (CT
darf nicht auf den Modem-Port zugreifen). Auf dem QSO-Bildschirm
wird dann zuerst der Befehl 'DRSI' eingegeben, mit ALT-T der TALK-
Mode gewählt und einmal ENTER gedrückt. Dann kann man den DX-Cluster
connecten und im mit ALT-A geöffneten ANNOUNCE-Window die DX-Infos
beobachten. Den Rest muß man selbst ausprobieren, dabei am besten
Single Unlimited einstellen, da man als Single Operator
Einschränkungen unterliegt.
7.6. DIEBOX (DF3AV)
DIEBOX unterstützt (nach Aussagen anderer OMs) auch das TFPC-
Interface, was ich selbst nicht testen konnte. Ich weiß auch nicht
welche Einstellungen dazu notwendig sind, hier muß man sich bei
Bedarf selbst schlau machen. Mit einem einfachen Modem wird man eine
Box sicher kaum betreiben, aber die Nutzung einer USCC-Karte ist ja
durchaus denkbar.
TFPCX muß hier ohne '-DR' gestartet werden, ob '-DM' klappt muß
selbst getestet werden. Evtl. sind die 20 vorhandenen Kanäle und 600
Puffer etwas knapp bemessen, demnächst wird beides frei einstellbar
sein.
7.7. MS-Windows, OS/2 u.a.
Das TFPCX stellt beim Modembetrieb hohe Anforderungen an die
Reaktionszeiten des Systems auf Interrupts (siehe Anhang 2.), welche
zumindest von Microsoft Windows und vermutlich auch von OS/2 nicht
erfüllt werden. Ich habe verschiedene Programme für das BayCom-Modem
unter Windows ohne jeden Erfolg ausprobiert. Aus diesem Grund
reagiert das TFPCX jetzt mit einer Fehlermeldung, wenn man es im
Windows 386 Enhanced Mode für Modembetrieb starten will. Unter OS/2
gibt es noch keine Sperre, aber die Changen sind auch hier sehr
gering. Mir wurde allerdings mitgeteilt, daß ein OM das TFPCX v1.10
auf einem AT-486/33 erfolgreich unter DESQview verwendet hat.
Mit der USCC-Karte müßte ein Betrieb möglich sein, was bisher nur
mit Windows und SP getestet wurde. Man sollte das TFPCX dafür aus
dem Windows heraus am besten über ein Batch-File aufrufen, in dem
auch gleich das Terminalprogramm gestartet wird. Allerdings kann es
bei höheren Baudraten auch mit der USCC-Karte Probleme geben.
8. Betrieb
In diesem Abschnitt werden wichtige Unterschiede und Erweiterungen
des TFPCX im Vergleich zur TNC-Firmware TF 2.3b erläutert.
8.1. Multiport-Erweiterungen
Die bedeutendste Erweiterung ist sicher die Fähigkeit, mehrere Ports
und damit Modems und Funkgeräte anzusteuern. Wer nur einen Port
verwendet braucht sich darum nicht kümmern und kann zum nächsten
Abschnitt übergehen.
Die TFPCX-Firmware verwaltet intern insgesamt 8 Ports, von denen bei
dieser Version maximal 6 mit seriellen Modems und USCC-Ports belegt
werden können. Auf den nicht benutzten Ports können aber trotzdem
interne Connects laufen. So kann man z.B. nebenbei seinen CTEXT
begutachten ohne damit andere auf dem Digi-Einstieg zu nerven
(verbreiteter Zeitvertreib).
Jedem Port ist eine Nummer zugewiesen (0-7), wobei die Reihenfolge
von der Nutzung der Option '-P' beim Start von TFPCX abhängt. Diese
Portnummer wird vom TFPCX bei Link-Status-Meldungen, im Monitor und
bei bestimmten Befehlen ('C', 'L' und 'S') angezeigt, so daß eine
eindeutige Zuordnung möglich ist. Die Anzeige erfolgt nur, wenn beim
Start von TFPCX die Option '-DR' oder '-DM' angegeben wird.
Beispiel:
1:fm DG0FT to Y51O ctl SABM+
1:fm Y51O to DG0FT ctl UA-
CONNECTED to 1:Y51O
Das genaue Format der Meldungen findet man im Anhang 4.2. An welcher
Stelle die Portnummer auf dem Bildschirm erscheint hängt von der Art
der Meldung und vom Terminalprogramm ab.
Bei einigen Firmware-Befehlen (siehe Abschnitt 8.2. und Anhang 1.)
besteht die Möglichkeit durch Angabe der Portnummer Port-
spezifische Parameter einzustellen oder eine Station auf einem
bestimmten Port zu connecten.
Befehlsformat:
<Befehl> <Port>:[Parameter]
<Port> ist eine Ziffer zwischen 0 und 7, vor dem ':' darf kein
Leerzeichen stehen.
Beispiele:
C 1:Y51O
T 2:15
Wenn kein Port angegeben wird, der Befehl aber diese Angabe benötigt
wird entweder der Port verwendet, auf dem der gerade aktive Kanal
connectet ist oder der auf dem Monitor-Kanal eingestellte Unproto-
Port. Es gibt jedoch Hostmode-Terminalprogramme, die manche Befehle
nicht an den Kanal schicken auf dem sie eingegeben wurden und damit
diese Portzuordnung unterlaufen, im Zweifelsfall deshalb immer die
Portnummer angeben.
Die Parametereinstellung erfolgt meist in den Konfigurationsdateien
der Terminalprogramme und muß dort für jeden Port einzeln geschehen.
Die Datei TFPCX.INI ist ein Beispiel dafür und kann, nachdem man
seine persönlichen Daten eingetragen hat, auch direkt zur
Initialisierung verwendet werden (Option '-F', Abschnitt 6.2.3.).
Eingehende Connects werden unabhängig vom Port immer dem nächsten
freien Kanal zugewiesen, auf dem das passende MYCALL eingestellt
ist.
8.2. Besonderheiten von Befehlen
Es gibt eine Reihe von Befehlen, die mit der ESC-Taste eingeleitet
und bei ENTER ausgeführt werden (siehe Anhang 1.). Die Befehle 'A',
'E', 'H', 'K', 'Z', '@F', '@K' und '@M' der TF 2.3b existieren
nicht.
Die Parameter 'B', 'O', 'P', 'T', 'W', 'X', '@C', '@D', '@T2', '@T4'
und '@TA' werden für jeden Port extra eingestellt.
Die internen Timer arbeiten nur mit einer Genauigkeit von +/- 20ms,
was bei der Einstellung einiger Parameter wichtig ist. TXTAIL=20ms
(@TA=2) ist z.B. zu kurz, da TXTAIL in diesem Fall eventuell gegen 0
geht und gesendete Frames nicht dekodiert werden können.
Nun zu den einzelnen Befehlen:
C Connect
Bei mehreren Connects mit der selben Station wird der eigene SSID
automatisch bis maximal 15 erhöht, wenn der eingestellte schon
verwendet wird. Allerdings bleibt das dem Terminalprogramm evtl.
verborgen und es zeigt den falschen SSID an.
Der C-Befehl kann eine zusätzliche Portangabe enthalten, fehlt diese
wird sie der Link-Liste (siehe @L) entnommen oder der Unproto-Port
verwendet, falls kein passender Eintrag existiert. Auf dem Monitor-
Kanal wird mit der Portangabe der Unproto-Port ausgewählt, auf dem
die UI-Frames gesendet werden (Default 0).
Beispiele:
C 1:Y51O Y51O auf Port 1 connecten
C 2:TEST \ Monitor-Kanal Unproto-Port 2 und Unproto-ID setzen
C 2: / nur Unproto-Port 2 setzen
F Frack
Der Frack-Parameter kann alternativ in Sekunden- oder 10ms-Einheiten
eingegeben werden. Werte kleiner 16 werden in die neue Einheit
(10ms) umgerechnet.
O MAXFRAME
MAXFRAME wird je Port und je Verbindung einzeln verwaltet. Beim
Connect wird der Wert des jeweiligen Ports der Verbindung zugewiesen
und kann dann für diesen Connect unabhängig (von anderen Connects
auf dem gleichen Port) eingestellt werden.
Das 'dynamische' MAXFRAME der TF 2.3b wurde entfernt.
P P-Persistance
Hier wird auch bei DAMA-Betrieb der non-DAMA-Wert angezeigt aber
P=255 benutzt.
Wenn der angegebene Parameter zwischen 0 und 7 liegt (Portnummer)
wird nun nicht mehr der P-Wert neu gesetzt sondern einige Parameter
dieses Ports in der Form
<Port> R P W F O N @T2 @T3 T <Baud> @D
angezeigt. Diese Parameterabfrage mußte aus Kompatiblitätsgründen
zum DRSI-TNCTSR-Treiber eingebaut werden, da sie von SP verwendet
wird. <Baud> ist die eingestellte Baudrate im 'Klartext', nicht wie
beim TNCTSR nur eine zugeordnete Ziffer.
Der DRSI-Treiber verwendet diesen Befehl auch zum setzen der
Parameter, was aber hier nicht funktioniert. Werden hinter der
Portnummer weitere Werte angegeben, ignoriert das TFPCX den gesamten
Befehl.
QRES Reset
QRES setzt das TFPCX lediglich in den Terminalmode zurück (wie
'JHOST0') und führt keinen RESET des Rechners durch. Dieser Befehl
war notwendig, da SP ihn beim DRSI-Befehl 'HB' generiert.
U Unattended Mode (CTEXT)
Der Unattended Mode kann auch eingeschaltet werden, wenn kein CTEXT
definiert ist (Default).
@C DCD-Bearbeitung
TFPCX hat eine Soft-DCD (programmierte Rauschsperre). Bei langsamen
Funkgeräten kann man den Squelch des Empfängers völlig offen lassen
und TFPCX entscheidet selbst, ob gerade ein PR-Signal empfangen
wird.
Die Soft-DCD wird durch den Befehl '@C' gesteuert, mit dem man die
Ansprechschwelle einstellt. Als Parameter wird eine Zahl von 0 bis
63 angegeben. Bei '@C0' ist die Soft-DCD ausgeschaltet (Default) bei
allen anderen Werten ist sie aktiviert. Je größer der Parameter ist,
je stärker ist die Soft-DCD angezogen. Zur Erleichterung des
Abgleichs dient die DCD-Anzeige (siehe Option '-C'). Bei zu kleinen
Werten flackert die DCD-Anzeige, bei zu großen Werten werden Signale
nicht mehr richtig und zu langsam erkannt. Am besten den Parameter
so lange erhöhen und nebenbei QRG abhören, bis die Anzeige stimmt.
Dabei muß man eventuell einen Kompromiß finden. Ein Richtwert ist
'@C25'.
Bei USCC-Ports ist ein Abgleich nicht unbedingt erforderlich, alle
Werte größer 0 aktivieren die Soft-DCD und sind für den Betrieb
gleichbedeutend. Mich hat allerdings das ständige Flackern der
Anzeige gestört und so gibt es die Möglichkeit auch hier einen
Abgleich vorzunehmen, der sich aber nur auf die Anzeige auswirkt.
WICHTIG!
Die Soft-DCD erkennt nur PR-Signale der gleichen Baudrate. Auf Digi-
Einstiegen mit mehreren Geschwindigkeiten darf sie deshalb nicht
benutzt werden.
@L Linkliste
Mit diesem Befehl wird die interne Linkliste verwaltet, mit der man
maximal 8 Rufzeichen (mit SSID) einen best. Port zuordnen kann. Die
Liste wird beim Digipeating (Befehl 'R') verwendet, um den Port zu
ermitteln, auf dem der zu digipeatende Frame gesendet werden soll,
ist dort kein passender Eintrag vorhanden wird der Frame auf dem
gleichen Port ausgesendet, auf dem er empfangen wurde.
Syntax:
@L <Port>:<Call> <Port>:<Call> ...
Beispiel:
@L 0:DB0BLN 1:Y51O
Mit '@L-' wird die Linkliste gelöscht und '@L' ohne Parameter zeigt
die Einträge an.
Beim Crossband-Digipeating muß sowohl das Zielcall als auch das Call
des Absenders in der Linkliste eingetragen sein, da die Verbindung
sonst nur in einer Richtung funktioniert.
@ST Statistik
Mit '@ST <Port>:' werden für den angegebenen Port einige Statistik-
Werte ausgegeben. Die Werte gelten für alle Connects auf diesem
Port. Bitte beachten, daß die Zähler nach dem Wert 65535 wieder auf
0 zurückgesetzt werden.
Beispiel:
0 SCC0 TX 87 11 10 RX 547 201 201 ERR 1
^ ^ ^ ^ ^ ^ ^ ^ ^
1)2) 3) 4) 5) 6) 7) 8) 9)
1) Portnummer
2) Schnittstelle ('NULL', wenn interner Port)
3) insgesamt gesendete Frames
4) gesendete I-Frames
5) bestätigte I-Frames (4)-5) ist verloren gegangen)
6) insgesamt empfangene Frames
7) empfangene I-Frames
8) effektiv empfangene I-Frames (7)-8) REJects)
9) Over-/Underruns des SCC-Controllers (wird nur bei USCC angezeigt
und nur wenn nicht 0)
Mit diesen Werten sind einfache statistische Aussagen möglich. Wert
9) sollte möglichst 0 sein, wenn er mal auf 1 steht ist das auch
kein Beinbruch, wenn der Wert aber schnell größer wird ist der
Rechner zu langsam für die verwendete Baudrate.
Mit '@ST <Port>:-' werden die Werte (außer 9)) gelöscht.
@T4 T2 bei DAMA
Dieser Befehl gibt den T2-Startwert für DAMA-Betrieb an und
bestimmt die Zeit, die gewartet wird bis ein empfangener Frame
bestätigt wird.
@TA TXTAIL
TFPCX hat jetzt einen frei wählbaren TXTAIL-Parameter, der mit '@TA'
in 10ms-Einheiten gesetzt wird (0-65535).
@U Unproto-Poll
Hiermit wird festgelegt, ob Unproto-Frames mit gesetztem Poll-Bit
ausgesendet werden (Default) oder ohne.
8.3. DAMA
Sobald eine Verbindung zu einem DAMA-Master besteht sendet das TFPCX
nur noch dann, wenn es einen Frame vom Master empfängt, dann aller-
dings alle anstehenden Frames auf allen Kanälen. Der DAMA-Slave wird
jeweils nur für den Port aktiviert, auf dem die Verbindung zum
Master besteht, die Connects, die über die anderen Ports laufen
arbeiten ganz normal ohne DAMA.
Es ist nicht notwendig, für DAMA spezielle Parameter einzustellen.
Damit ist alternativer Betrieb problemlos möglich. Mit dem 'B'-
Befehl kann man ermitteln, ob DAMA eingeschaltet (Wert in Klammern
größer 0). Die vom DAMA-Master empfangenen Frames (nicht die selbst
gesendeten) erhalten im Monitor den Zusatz '[DAMA]'.
Bei Tests hat sich gezeigt, daß die DAMA-Implementierung in der
TF 2.3b noch nicht optimal ist. Es kommt z.B. vor, daß man von
TheNetNode-Digis vor allem bei Multiconnect wegen zu kurzem Frack
angemeckert wird, was eigentlich nicht im Sinne des DAMA-Erfinders
sein kann. Es ist aber auf jeden Fall besser einen nicht optimalen
DAMA-Slave zu benutzen als gar keinen.
ANHANG
1. Befehlsübersicht
Befehl Parameter Beschreibung
------ --------- ------------
* B (120) 0 DAMA-Einschaltung blockiert
1-600 DAMA-Timeout-Zeit (Sekunden)
* C Call ... Connect-Weg (Kanal 0: unproto)
D Disconnect
F (300) 1-15 Startwert für T1 (Sekunden)
16-65535 Startwert für SRTT (10ms)
G [0] Information im Hostmode holen
[1] Status im Hostmode holen
I Call eigenes Rufzeichen
JHOST (0) 0 Terminalmode eingeschalten
1 Hostmode eingeschalten
L [0-20] Statusanzeige für die Kanäle
M (N) NIUSC+- Monitor-Betriebsart
N (10) 0-127 Anzahl der Versuche (0 = unendlich)
* O (2) 1-7 Anzahl der unbestätigten Pakete
* P (64) 0-7 Parameterabfrage für angegebenen Port
8-255 P-Persistenz Wert für non-DAMA
QRES Rücksetzen in Terminalmode
R (0) 0 Digipeater ausgeschaltet
1 Digipeater eingeschaltet
S (0) 0-20 Kanal-Nummer (0 = unproto)
* T (30) 0-127 Wartezeit von PTT ein bis Daten (10ms)
U (1) 0 [Text] Connecttext unterdrücken
1 [Text] Text bei Connect senden
V (2) 1 Protokoll Version 1
2 Protokoll Version 2
* W (10) 0-127 Zeitschlitz für P-Persistenz (10ms)
* X (1) 0 PTT für Sender unterdrückt
1 PTT für Sender freigegeben
Y (20) 0-20 Maximale Anzahl von Verbindungen
@A1 (7) 0-65535 SRTT-Glättung, wenn RTT steigt
(SRTT'=(A1*SRTT+RTT)/(A1+1))
@A2 (15) 0-65535 SRTT-Glättung, wenn RTT fällt
(SRTT'=(A2*SRTT+RTT)/(A2+1))
@A3 (2) 2-16 Faktor für T1 (T1=A3*SRTT)
@B Zeigt Anzahl der freien Puffer
* @C (0) 0 Software-DCD aus
1-63 Schwellwert für Software-DCD
* @D (0) 0 Full duplex ausgeschaltet
1 Full duplex eingeschaltet
@I (60) 0 IPOLL aus
1-256 maximale Länge eines IPOLL-Frames
@L Port:Call ... Linkliste eingeben (max. 8 Einträge)
'-' Linkliste löschen
@S Momentaner Link-Status
* @ST Statusanzeige je Port
'-' Statuszähler rücksetzen
* @T2 (100) 0-65535 Timer T2 (10ms)
@T3 (18000) 0-65535 Timer T3 (10ms)
* @T4 (10) 0-65535 Timer T2 bei DAMA (10ms)
* @TA (3) 0-65535 Zeit von Frameende bis PTT aus (10ms)
@U (1) 0 Unproto-Frames ohne Poll
1 Unproto-Frames mit Poll
@V (0) 0 Rufzeichencheck abgeschaltet
1 Rufzeichencheck eingeschaltet
* Parameter <Port>: möglich
[] optionale Parameter
() Standarteinstellungen
... mehrere Parameter möglich
2. Fehlerbehebung (Modembetrieb)
Bei Problemen sollte man zunächst mal überlegen, woran es liegen
könnte. Neben dem TFPCX kommen dafür auch das Terminalprogramm, das
Modem, die USCC-Karte oder die HF-Technik in Frage.
Dieser Abschnitt gilt vor allem für den Modembetrieb.
Das TFPCX stellt an den verwendeten Rechner höherere Anforderungen,
als ein normaler TNC. Werden diese nicht erfüllt, kommt es zu
Problemen. Zum Verständnis möchte ich erläutern, wie das TFPCX beim
Empfangen und Senden arbeitet.
Beim Packet Radio werden die Daten seriell und synchron übertragen.
Die serielle Schnittstelle kann normalerweise nur asynchrone Daten
mit Start- und Stopbits verarbeiten, beim Packet Radio gibt diese
nicht. Damit ist die Schnittstelle auch nicht im herkömmlichen Sinne
verwendbar. Das TFPCX muß sich deshalb um jedes einzelne Bit
kümmern, die serielle Schnittstelle wird nur als simples Latch
benutzt, um jeweils ein Bit zu puffern.
Damit das TFPCX die Daten im vorgegebenen Zeitraster von z.B. 1200
Bit/s verarbeiten kann, benötigt es ein genaues Zeitnormal. Beim
Senden reichen dafür 1200 Takte/s, für den Empfang sind beim
verwendeten Verfahren aber 3600 Takte/s erforderlich, damit eine
ständige Synchronisierung zum empfangenen Signal möglich ist. Das
TFPCX benutzt dazu eine programmierte PLL. Die Modem-RX-Datenleitung
wird in jeder Bitzeit 3 mal abgetastet, ob eine Flanke im
empfangenen Signal auftrat. Im Idealfall dürfte eine Flanke nur bei
jedem 3. Abtasten auftreten, durch Schwankungen im Signal
'verrutscht' aber dieses Raster von Zeit zu Zeit. Die Richtung in
der das Signal aus dem Raster läuft kann durch den dreimaligen Test
erkannt und ausgeglichen werden.
Ich habe als Zeitgeber den in jedem PC enthaltenen Timer-IC benutzt,
der auch für die Uhrzeit zuständig ist. Der Timer löst 3600 mal/s
einen Interrupt (Unterrechung des laufenden Programms) aus, was dann
zum Aufruf einer bestimmten Routine führt, die für Empfang und
Senden zuständig ist. Es ist klar, daß diese Routine nur dann
richtig arbeiten kann, wenn sie auch im vorgegebenen Raster ständig
ohne größere Verzögerungen aufgerufen wird.
Wenn man das TFPCX mit einem angeschlossenen TNC vergleicht, ergibt
sich bei der gleichen Baudrate etwa eine 24-fache Belastung, macht
bei 1200 Baud Modembetrieb eine Baudrate von 28800 zwischen TNC und
Rechner, womit viele PCs schon Probleme haben. Es ist deshalb ein
großer Unterschied, ob man einen TNC oder das TFPCX benutzt.
2.1. Sende- und Empfangsprobleme
Der verwendete Rechner muß zuerst überhaupt in der Lage sein, die
angesprochene Zahl von Interrupts zu verkraften. Bei Überlastung
verlangsamt sich das System extrem oder stürzt sogar ab. Aus
Erfahrungen kann man etwa folgende Tabelle angeben (ohne Gewähr):
PC XT XT 286 386
MHz 5 8 12 20
Baud
300 * * * *
1200 ? * * *
2400 - ? * *
4800 - - ? *
* Betrieb möglich
? Betrieb eventuell möglich (mit Einschränkungen)
- Betrieb unmöglich
Es gibt aber auch immer wieder Probleme mit Rechnern, die eigentlich
schnell genug sind. Es handelt sich dabei vor allem um unsicheren
Empfang, der häufige REJects zur Folge hat, was dann zur ständigen
Wiederholung von Frames führt. Die Ursache dafür sind meist
bestimmte residente Programme, Treiber und Hardwareerweiterungen,
die längere Zeit verhindern, daß Interrupts auftreten können. Wenn
dies, während ein Frame empfangen wird, nur einmal fuer ca. 200µs
passiert, wird dieses Packet verloren gehen. Falls man derartige
Probleme hat, sollte man das TFPCX mal mit der Option '-D' starten.
Treten während des Betriebes Unterbrechungen des hörbaren Tones auf,
deutet dies auf den genannten Aspekt hin.
Häufige Problemquellen:
- Verwenden des Extended (XMS) oder Expanded Memory (EMS) als
Pufferspeicher für Terminalprogramme (z.B. SP, GP) und Disk-Caches
(vor allem auf 286ern)
Als Abhilfe muß man verhindern, daß auf diesen Speicher zuge-
griffen wird, solange mit dem TFPCX gearbeitet wird. Bei SP darf
man dazu nicht die SPO.EXE und das XMS-Swapping ('SWP=1' in
CONFIG.SP) verwenden. GP sollte mit der Option '/NOXMS' gestartet
werden. Den Disk-Cache kann man evtl. trotzdem verwenden, wenn die
Option '-ND' angegeben wird (siehe Abschnitt 6.2.3.).
- Treiber, die das Hochladen von residenten Programmen ermöglichen
(z.B. EMM386)
Reicht es nicht aus, wenn man die Maßnahmen aus dem vorigen Absatz
berücksichtigt, muß auf den EMM386-Treiber evtl. völlig verzichtet
werden, solange man mit dem TFPCX arbeitet.
- langsame Tastatur-Treiber (KEYB)
Wenn immer dann Frames verloren gehen, wenn man eine Taste drückt,
sollte man mal einen anderen Tastaturtreiber ausprobieren (z.B.
CKEYGR.COM von der SP-Disk)
- VGA-Karten und HD-Controller
Manche VGA-Karten sperren vor allem im Grafikmodus (GP) längere
Zeit den Interrupt. Mir wurde auch berichtet, daß es HD-Controller
gibt, die Probleme verursachen, wenn man den Controller entfernte,
lief alles einwandfrei. Hier fällt es schwer, ein praktikables
Rezept anzugeben. Man sollte es vielleicht mal mit einem
Terminalprogramm versuchen, daß keine Grafik verwendet bzw. bei
Problemen mit Diskzugriffen die Option '-ND' verwenden, die
allerdings gewöhnungsbedürftig ist (siehe Abschnitt 6.2.3.).
Manchmal sind doch gewisse Kompromisse nötig, um mit dem TFPCX
arbeiten zu können, wer diese nicht eingehen will, muß halt auf's
TFPCX verzichten. Wer sich wundert, warum das TFPCX plötzlich nicht
mehr geht, sollte mal nachdenken, ob er vielleicht einen neuen
Treiber geladen oder etwas anderes verändert hat. Was ich auf alle
Fälle nicht will ist, daß jemand mit dem TFPCX unnötig Digi-
Einstiege belastet, weil er jeden Frame erst beim 3. mal hört.
2.2. Probleme mit anderen Programmen
Während das TFPCX aktiv ist, dürfen keine Programme aufgerufen
werden, die sich am vom TFPCX benutzten Timer vergreifen. Wird dies
doch getan kann das System abstürzen, sich extrem verlangsamen oder
die Systemuhr geht falsch. Zu diesen Programmen zählen z.B.:
- MS-Word 5.0 und 5.5
- EDIT von MS-DOS 5.0
- MS-Windows
- manche Mousetreiber
2.3. Hardwareprobleme
Es gibt einige PCs (vor allem Laptops), die keine voll kompatible
serielle Schnittstelle haben. Obwohl die Anforderungen hier nicht so
hoch sind, wie beim BayCom, kann es bei größeren Abweichungen auch
mit dem TFPCX auf solchen Rechnern Probleme geben. Oftmals geht zwar
der Empfang, nur das Senden klappt nicht. Bisher habe ich derartiges
von folgenden Rechnern gehört:
- Toshiba 1000XE
- NEC Multispeed
- Olivetti M24
Beim TFPCX gibt es die Möglichkeit, das Modem über die LPT-
Schnittstelle anzuschließen, was als Ausweg denkbar ist.
3. Hardwareanschluß
3.1. Serielle Modems
BayCom-kompatible Modems können ohne Änderung verwendet werden. In
seltenen Fällen gibt es Probleme durch die stabilere Stromversorgung
beim TFPCX im Vergleich zum BayCom. Hier liegt die TXD-Leitung
statisch auf etwa +12V während BayCom ein Taktsignal auf dieser
Leitung liefert. Dadurch liegt die Versorgungsspannung des Modems
etwas höher und der Spannungteiler an Pin 7 des TCM3105 liefert eine
vom Idealwert abweichende Spannung. In diesem Fall ist ein
Neuabgleich des Spannungsteilers erforderlich (siehe Modem-
Dokumentation).
Zusätzlich besteht noch die Möglichkeit ein Modem (z.B. vom DigiCom)
über eine LPT-Schnittstelle anzuschließen. Dabei werden 6
Datenleitungen statisch auf 5V geschaltet, was eventuell zur
Stromversorgung des Modems verwendet werden kann (über Dioden
ähnlich wie beim BayCom-Modem zusammenschalten, Benutzung auf eigene
Gefahr, da bisher nicht getestet).
Hier die Anschlußbelegung der Modem-Schnittstellen:
COM-Port
Signal 25pol. 9pol. Bedeutung
DTR 20 4 Sendedaten +/- 12V
RTS 4 7 PTT, High aktiv, -12V=RX, +12V=TX
CTS 5 8 Empfangsdaten
GND 7 5 Masse
TXD 2 3 +12V für BayCom-Modem
LPT-Port
Signal 25pol. Bedeutung
DATA1-6 2-7 statisch 5V für Modem
DATA7 8 Sendedaten, TTL-Pegel
DATA8 9 PTT, High aktiv, 0V=RX, 5V=TX
BUSY 11 Empfangdaten
GND 18-25 Masse
Auch Modems mit dem AM7911 können verwendet werden. Dafür muß
eventuell der TXTAIL-Parameter (Befehl @TA) etwas vergrößert werden.
Ich will hier noch darauf hinweisen, daß man für andere Baudraten
auch andere Modems braucht. Eventuell sind auch nur kleine
Änderungen erforderlich.
3.2. BayCom-USCC-Karte
Die Anschlußbelegung der USCC-Karte muß der zugehörigen
Dokumentation entnommen werden. Hier wird nur die Nummerierung der
Ports und die Standarteinstellungen für Modem-Taktversorgung und
Baudrate aufgeführt:
Port SCC Modem-Takt Baud Modem
SCC0 1A Softclock 1200 AFSK (TCM3105)
SCC1 1B Softclock 1200 AFSK (AM7911)
SCC2 2A Disable 9600 Extern
SCC3 2B DF9IC-Modem 9600 FSK (DF9IC)
Der zweite SCC-Controller (Z8530) muß nicht unbedingt vorhanden
sein, wenn die entsprechenden Kanäle nicht benutzt werden, der erste
Controller wird jedoch auch dann als Zeitgeber verwendet, wenn die
Ports SCC0 und SCC1 abgeschaltet sind, außer es wird ein
zusätzlicher serieller Modem-Port aktiviert.
Die nächste Tabelle gibt nochmal die genauen Taktquellen für Empfang
(RxC) und Senden (TxC) und den Kodierungsmode an. Die erste Spalte
enthält die bei der Option -PUSCC anzugebende Ziffer, die letzten
geben die äquvivalenten Werte für die Parameter CARRIER und HENNING
beim BayCom an. Soft-DCD und Duplex-Betrieb wird mit den Befehlen @C
und @D eingeschaltet.
-P RxC TxC Mode CARRIER HENNING
1 Softclock DPLL BRG NRZI 0/1 0
2 Hardclock DPLL RTxC NRZI 2-4 0
3 DF9IC-Modem TRxC RTxC NRZ 1-4 1
BRG Baudratengenerator \ im SCC-Controller
DPLL Digitale PLL / enthalten
RTxC \ Anschlüsse des
TRxC / SCC-Controllers
4. Informationen für Softwareentwickler
4.1. Programm-Interface
Die Kommunikation zum TFPCX erfolgt über einen Software-Interrupt.
Es existieren verschiedene Unterfunktionen, die über den Wert im
Register AH beim Aufruf selektiert werden. Eventuelle Parameter
werden in AL übergeben. AX enthält bei Rückkehr das Ergebnis oder
0xFFFF, wenn eine nicht existierende Funktion ausgewählt wurde. Alle
zur Eingabe bereitstehenden Zeichen sollten eingelesen werden, bevor
die nächste Ausgabe gemacht wird. Das TFPCX unterstützt 2
verschiedene Interfaces, die sich nur wenig unterscheiden.
4.1.1. TFPC-Interface
Unterfunktionen:
AH = 1 Abfrage, ob ein Zeichen zur Eingabe bereit steht
Rückgabe: AX = 0 kein Zeichen bereit
AX = 1 Zeichen zur Eingabe bereit
AH = 2 Zeicheneingabe (nur aufrufen, wenn Funktion 1 mitgeteilt
hat, daß ein Zeichen zur Verfügung steht)
Rückgabe: AL Zeichenkode
AH = 3 Ausgabe eines Zeichens
Parameter: AL auszugebendes Zeichen
Drei Bytes nach dem Einsprung in die TFPCX-Interrupt-Routine steht
der Kennungsstring 'N5NX', anhand dessen der benutzte Interrupt
ermittelt kann.
4.1.2. DRSI-Interface
Die Implementierung im TFPCX erfolgte anhand von SP, da mir weder
eine Beschreibung noch der TNCTSR-Treiber selbst zur Verfügung
stand. Ich konnte mich deshalb nur an der Funktionsfähigkeit im
Zusammenhang von SP orientieren, Abweichungen vom Original sind
möglich.
Unterfunktionen:
AH = 0 Eingabe eines Zeichens
Rückgabe: AH = 0 kein Zeichen zur Eingabe bereit
AH = 1 Zeichen zur Eingabe bereit
AL Zeichenkode (nur wenn AH = 1)
AH = 1 Ausgabe eines Zeichens
Parameter: AL auszugebendes Zeichen
Die Interrupt-Routine beginnt mit folgenden Bytes:
0x53 0x1E 0xBB 0x?? 0x?? 0x8E 0xDB 0x84 0xE4 0x74 0x20
Der benutzte Interrupt kann ermittelt werden, indem der Anfang aller
Routinen der Interrupt-Vektoren 0x40 bis 0xFF mit dieser Bytefolge
verglichen wird, dabei können die Positionen 0x?? beliebige Werte
annehmen. Dieses Verfahren funktioniert auch mit dem DRSI-TNCTSR-
Treiber und wird ebenfalls von SP benutzt.
4.1.3. Spezielle Funktionen
Die folgenden Unterfunktionen sind Erweiterungen, die nur beim TFPCX
existieren. Sie sind bei beiden Interface-Varianten vorhanden.
AH = 0xFB Abfrage von Port- und Kanalanzahl (ab v2.00)
Rückgabe: AL Anzahl der benutzten Ports (0 bis 8)
AH = 20 Anzahl der vorhandenen Kanäle
Die Kanalanzahl ist bei dieser Version noch fest, kann
aber später über eine Option einstellbar sein.
AH = 0xFC Abfrage des Sende-/Empfangsstatus (ab v2.00)
Rückgabe: AL Empfangsstatus (Bit-Nr. = Port)
AH Sendestatus
Mit dieser Funktion kann eine Sende-/Empfangsanzeige
durch das Terminalprogramm realisiert werden, da die
Option -C nur im Textmode funktioniert und für den
Bildschirmaufbau auch nicht optimal ist. Jedem Port ist
je ein Bit von AL und AH zugeordnet. Bit 0 (LSB) gehört
zu Port 0, Bit 1 zu Port 1 usw.. Wenn das jeweilige Bit
gesetzt ist, wird auf diesem Port gerade empfangen (DCD)
bzw. gesendet. Bei Duplex-Betrieb können auch beide Bits
zugleich gesetzt sein. Die Funktion 0xFB gibt in AL die
Anzahl Ports zurück, die angezeigt werden sollten.
AH = 0xFD Abfrage des TFPCX-Busy-Status (ab v1.11b)
Rückgabe: AX = 0 Busy (freie Puffer < 176)
AX = 1 nicht Busy
Hiermit ist ein Sendehandshake im Terminalmode möglich.
AH = 0xFE Abfrage der TFPCX-Version (ab v1.01)
Rückgabe: AH = 2 Hauptversionsnummer
AL = 0 Unterversionsnummer (kein BCD)
Diese Funktion ermöglicht die Unterscheidung des TFPCX
vom TFPCR (liefert AX = 0xFFFF) und DRSI-TNCTSR (lieferte
bei einem Test AX = 0). Man sollte prüfen, ob 1<=AH<=20
gilt und nur in diesem Fall auf das TFPCX schließen.
Außerdem kann mit dieser Funktion ermittelt werden, ob
noch eine alte Version verwendet wird, die bestimmte
Funktionen noch nicht unterstützt.
4.2. Format von Meldungen
Im folgenden werden die Meldungen des TFPCX aufgeführt, die eine
Portnummer enthalten und damit von der TNC-Firmware abweichen.
<Port> ist eine Ziffer zwischen 0 und 7. Die Anzeige von <Port>:
erfolgt nur, wenn das TFPCX mit den Optionen -DR oder -DM gestartet
wird.
Link-Status
BUSY fm <Port>:<Call> via <Digis>
CONNECTED to <Port>:<Call> via <Digis>
LINK RESET fm <Port>:<Call> via <Digis>
LINK RESET to <Port>:<Call> via <Digis>
DISCONNECTED fm <Port>:<Call> via <Digis>
LINK FAILURE with <Port>:<Call> via <Digis>
FRAME REJECT fm <Port>:<Call> via <Digis> (x y z)
FRAME REJECT to <Port>:<Call> via <Digis> (x y z)
Monitor
<Port>:CONNECT REQUEST fm <Call> via <Digis>
<Port>:fm <Call> to <Call> via <Digis> ctl <Name> pid <Hex>
Rückgabe des Befehls 'C' ohne Parameter
<Port>:<Call> via <Digis>
4.3. Bisherige Versionen
Seit der v1.00 wurden folgende Veränderungen vorgenommen:
v1.01
- Hinweis auf ungelesenen Informationen durch blinkendes Rechteck
wenn kein Hostmode (abschaltbar durch -NB)
- Basisadresse des Modem-Ports läßt sich explizit setzen
- TxD-Leitung am Modem-Port für Stromversorgung statisch auf +12V
geschaltet, Betriebsspannung des Modems beim Entladen ausschalten
- Standart-TFPCX-Interrupt jetzt 0xFD (vorher 0xFE)
- Versionsabfrage über TFPCX-Interrupt (AH = 0xFE)
v1.10
- Übergang zur The Firmware v2.3b DAMA (vorher TF v2.1c)
- Soft-DCD (Abgleich mit Befehl @C)
- Sende-/Empfangs-Anzeige im Hostmode (abschaltbar durch -NC)
- Verzögerung von Disk-Zugriffen bei Senden/Empfang als Notlösung
bei Problemen möglich (-ND)
- automatisches erhöhen des SSID beim Connect, wenn die gleiche
Station bereits connectet ist
- interne Connects möglich
- setzen von Frack in 1s- oder 10ms-Einheiten (Befehl F)
- Unattended Mode kann auch ohne CTEXT eingeschaltet werden,
Fehlermeldung 'NO MESSAGE AVAILABLE' entfernt (Befehl U)
- 600 Puffer (vorher 400)
- Bug behoben, der auf 486ern das Entladen unmöglich machte
v1.11
- Befehl Z wieder vorhanden (XON/XOFF für TERM)
- LPT-Pins DATA1-6 auf 5V geschaltet für Modem-Stromversorgung
v1.11b (inoffiziell)
- Funktion für Sende-Handshake im Terminalmode über TFPCX-Interrupt
für TERM (AH = 0xFD)
v2.00
- Unterstützung für BayCom-USCC-Karte und maximal 2 Modems (maximal
6 Ports, intern 8 Ports)
- Optionen -PUSCC und -B für mehrere USCC-Karte und mehrere Ports
erweitert
- Option -NC entfernt, DCD-Anzeige wird jetzt über -C[xx]
eingeschaltet (optionales Bildschirmattribut xx)
- jetzt 20 Kanäle (vorher 10)
- Emulation des DRSI-TNCTSR-Treibers möglich, zusätzliches Software-
Interface (-DR)
- bei Option -DM DRSI-kompatible Meldungen, aber altes Software-
Interface
- Ausgabe von Portnummern in Meldungen
- Parameter B, O, P, T, W, X, @C, @D, @T2, @T4 und @TA werden für
jeden Port extra verwaltet (Angabe <Port>:)
- Befehl QRES setzt zurück in Terminalmode
- Linkliste für Crossband-Digipeating (Befehl @L)
- Statistik-Framezähler (Befehl @ST)
- einstellbarer TXTAIL-Parameter (Befehl @TA)
- Befehl P mit Parameter 0-7 zur DRSI-kompatiblen Parameterabfrage
(keine Parametereinstellung)
- Befehl Z wieder entfernt
- 'dynamisches' MAXFRAME entfernt (Befehl O)
- Fehlermeldung bei Modem-Betrieb unter Microsoft-Windows (386
Enhanced Mode)
- Funktionen zur Abfrage der Port-/Kanalanzahl (AH = 0xFB) und des
Sende-/Empfangsstatus (AH = 0xFC) über Software-Interrupt
- Bugs behoben, die zum Pufferüberlauf beim Hintergrundbetrieb und
zeitweise zu überflüssigen Aussendungen führte
5. Urheberrechte und Nutzungsbedingungen
TFPCX darf zur Verwendung im Amateurfunk als Kopie an Dritte weiter-
gegeben werden, soweit keine Gebühren erhoben werden. Insbesondere
ist die Beigabe des TFPCX zu anderer Hard- und Software nur dann
erlaubt, wenn für das jeweilige Produkt ebenfalls keine Gebühren
berechnet werden oder mein Einverständnis vorliegt. Es ist nicht
gestattet, das Programm kommerziell zu nutzen oder zu vertreiben.
Die Weitergabe muß stets in Form des kompletten Archivs mit allen
Dateien erfolgen.
Eine Garantie für eine ordnungsgemäße Funktion wird nicht gegeben.
Der Autor kann nicht für eventuelle Schäden, die durch die Ver-
wendung von TFPCX entstehen, haftbar gemacht werden (Haftungs-
ausschluß).
Der Autor des Programms TFPCX ist René Stange (DG0FT). Im TFPCX sind
Teile der The Firmware 2.3b von NORD><LINK (Urversion von DC4OX,
DAMA von DL8ZAW, Änderungen von DB2OS, DF2AU, DF7ZE, DK6PX, DL1BHO,
DL1MEN, DL4YBG, DL9HCJ u.a.) enthalten. Die Entwicklung erfolgte
anhand des Programms TFPCR v1.60 von DL1MEN.
6. Bezugshinweise
Wer Interesse am Programm TFPCX hat, schickt eine leere Diskette mit
adressierten und ausreichend frankierten Rückumschlag an:
René Stange
O.-Grotewohl-Ring 34
O-1260 Strausberg
mögliche Disk-Formate: 3½" 720K oder 1.44M (bevorzugt)
5¼" 360K oder 1.2M
Wiederverwendbare Umschläge mit Adreßaufkleber sind auch möglich,
Hauptsache ich muß das Porto nicht selbst bezahlen. Bitte keine
'überdimensionalen' Umschläge verwenden, sonst gibt es hier Probleme
mit dem Briefkasten.
Ich kann weder Software (z.B. Terminalprogramme) noch Hardware
(BayCom-Modem) mitliefern, die nicht von mir entwickelt wurde. Man
muß sich in diesem Fall an die entsprechenden Urheber wenden.
Die Entscheidung, ob man die Weiterentwicklung des TFPCX mit einer
kleinen Anerkennung unterstützen will, muß jeder selbst treffen. Ich
will das aus prinzipiellen Gründen nicht zur Pflicht machen, was
manchmal nicht leicht fällt, da andere Produkte, die weniger günstig
zu haben sind, vom TFPCX indirekt profitieren.