home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
hamradio
/
gp123.zip
/
#TFPCX.EXE
/
TFPCX.DOC
next >
Wrap
Text File
|
1991-12-26
|
36KB
|
834 lines
TFPCX v1.10 - Residenter AX.25-Controller für PC ohne TNC
(Frei für Funkamateure, keine kommerzielle Nutzung)
René Stange, DG0FT (ex Y51GE)
EINFÜHRUNG
TFPCX ((T)he (F)irmware (PC) E(x)tended) ist ein zur
TheFirmware von NORD><LINK kompatibler und als residentes
Programm auf IBM-kompatiblen PC's (nicht auf ATARI ST) im
Hintergrund laufender AX.25-L2-Controller, der HF-seitig
direkt ein einfaches Modem (z.B. BayCom-Modem von DL8MBT
und DG3RBU) ansteuern kann und über einen Software-Inter-
rupt (im Anhang beschrieben) mit bekannten Terminalpro-
grammen wie SP von DL1MEN und THP von DL1BHO im WA8DED-
Hostmode kommuniziert, die auf diese Weise auch ohne TNC
verwendet werden können. In dieser Beschreibung wird der
Betrieb mit SP erläutert. TFPCX ist aus dem KISS-Treiber
TFPCR hervorgegangen, der zum Lieferumfang von SP gehört
und wird ähnlich wie dieser verwendet. Das KISS-Interface
des TFPCR wurde durch HDLC-Sende- und Empfangsroutinen
ersetzt, so daß mit dem TFPCX (noch!) keine KISS-TNC's
und -Controller (z.B. PK232) betrieben werden können. Als
Modem-Schnittstellen sind alle gängigen COM- und LPT-
Ports (z.B. für DigiCom-Modems) verwendbar. Im Augenblick
kann nur ein Modem angesteuert werden. Das Programm ist
auch im Terminal-Modus (stand-alone) benutzbar und ent-
hält dazu eine einfache Terminal-Routine.
Vorwort
~~~~~~~
Nach den meist positiven Reaktionen auf das Erscheinen des TFPCX
v1.01 und dem weiteren Vordringen von DAMA-Digipeatern sah ich
mich genötigt, das TFPCX auf den 'neusten' Stand zu bringen und
kompatibel zur TF 2.3b zu machen. An der grundsätzliches Funktion
hat sich dabei nichts geändert. Als weitere Neuerung hat TFPCX
jetzt eine Soft-DCD (programmierte Rauschsperre) und ermöglicht
für Testzwecke internes Selbstconnecten. Auch für nicht-DAMA-
Betrieb bietet diese Version Vorteile.
Ich muß darauf hinweisen, daß ich nicht garantieren kann, daß das
TFPCX auf allen PC's problemlos funktioniert. Besonders auf lang-
samen Rechnern gibt es teilweise Empfangs- und Sendeprobleme.
XT's mit Taktfrequenzen unter 8 MHz sind nicht oder nur mit Ein-
schränkungen verwendbar. Da es sich hier aber um kein kommerziel-
les Produkt handelt, nehme ich das in Kauf. Bei der Mehrheit der
TFPCX-User scheint es aber keine Probleme zu geben. Endgültigen
Aufschluß über die Funktion kann nur ein Test auf dem eigenen PC
geben. 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.
Bei Unklarheiten bei der Verwendung von TFPCX im Zusammenhang mit
SP wird auf [1] verwiesen (unter TFPCR nachlesen). Ich gehe in
dieser Beschreibung davon aus, daß bereits ein funktionstüchtiges
Modem vorhanden ist. Wer ein BayCom-Modem verwendet, erhält in
[2] Hinweise zur Inbetriebnahme.
Ich bedanke mich bei allen YL's und OM's, die mit Hinweisen zur
Weiterentwicklung des TFPCX beigetragen haben und beitragen, auch
wenn eine Reihe ihrer Ideen noch nicht verwirklicht sind und eine
Menge Zeit für die Beantwortung nötig ist. Ich bitte deshalb
alle, bei auftretenden Problemen zunächst in dieser Dokumentation
nachzuschauen, denn für viele Fragen gibt es hier sicher eine
Antwort. Ein besonderer Dank gilt allen Spendern! Ich habe mich
auch sehr über die positiven Reaktionen und die Unterstützung der
Funkamateure gefreut, deren Entwicklungen ins TFPCX eingeflossen
sind bzw. die dem TFPCX erst zu dieser Resonanz verholfen haben
(Sigi (DL1MEN), NORD><LINK, das BayCom-Team u.a.).
73's von René, DG0FT @ DB0KG Strausberg, 26. Dezember 1991
Neuerungen seit der v1.01
~~~~~~~~~~~~~~~~~~~~~~~~~
- kompatibel zur TheFirmware 2.3b DAMA von NORD><LINK
- Soft-DCD (programmierte Rauschsperre) mit abschaltbarer Sende-/
Empfangsanzeige (Option '-NC', Kommando '@C' zum Abgleich)
- interne Selbstconnects möglich, alle gesendeten Frames werden
auch als empfangen betrachtet (Selbstconnectern wird diese
Funktion dringend empfohlen)
- automatische SSID-Wahl bei Mehrfachconnect einer Station, wenn
eingestellter SSID bereits vergeben
- 600 statt 400 freie Buffer, TFPCX belegt jetzt 54K im Speicher
- Option '-ND' zur Verzögerung von Diskzugriffen während des
Senden und Empfangs (Notlösung bei Problemen)
- Bug behoben, der auf 486ern das Entladen unmöglich machte
- Option '-B9600' existiert nicht mehr (auch für 486er zuviel)
Urheberrechte
~~~~~~~~~~~~~
TFPCX ist Public Domain und darf zur Verwendung im Amateurfunk
jederzeit an Dritte weitergegeben werden. Es ist nicht gestattet,
das Programm kommerziell zu nutzen oder zu vertreiben.
Eine Garantie für eine ordnungsgemäße Funktion wird nicht gege-
ben. Der Benutzer verzichtet auf Regreßansprüche, die auf eine
Fehlfunktion von TFPCX zurückzuführen sind.
Das Programm TFPCX wurde von DG0FT unter Verwendung des Source-
codes des PD-Programms TFPCR v1.60 von DL1MEN und der PD-Sources
der TheFirmware 2.3b von NORD><LINK (Urversion von DC4OX, DAMA
von DL8ZAW, Änderungen von DB2OS, DF2AU, DF7ZE, DK6PX, DL1BHO,
DL1MEN, DL4YBG, DL9HCJ u.a.) entwickelt.
Entwicklungsgeschichte
~~~~~~~~~~~~~~~~~~~~~~
Als bei mir im März 1990 Interesse an der Betriebsart Packet
Radio aufkam, stand der Kauf einer herkömmlichen PR-Ausrüstung
nicht zur Debatte. Ich hatte vom Programm DigiCom gehört und war
mir sicher, daß eine ähnliche Lösung auch für IBM-kompatible PC's
möglich sein müßte. Ich begann, Informationen über das AX.25-
Protokoll zu beschaffen und versuchte mit Hilfe des PC einen
Tonbandmitschnitt von einer Berliner PR-QRG zu entschlüsseln. So
entstand zunächst eine Empfangsroutine, wobei die Berechnung der
CRC-Prüfsequenz die größten Probleme bereitete und später die
Senderoutine. Die ersten Tests übernahm mein Bruder Mike (Y42LK),
da ich zu diesem Zeitpunkt noch keine Lizenz besaß. Er hat mich
auch die ganze Zeit über mit Modems versorgt und die UKW-Technik
in Gang gebracht. Der Nachweis, das ein PC sehr wohl in der Lage
ist, direkt ein Modem anzusteuern war erbracht.
Eine Anfrage in den Boxen im Oktober 1990 ergab großes Interesse
an meinem Programm und den Hinweis, daß das DigiCom-Team schon an
einer ähnlichen Lösung arbeitete. Eine Rückfrage bei Johannes
(DG3RBU) machte klar, daß BayCom kurz vor der Vollendung war. Zu
diesem Zeitpunkt kam ich zum ersten Mal mit schon existierenden
Terminal-Programmen für TNC's in Berührung und hatte die Idee,
diese einfach um eine HDLC-Routine zu erweitern. Hier kam mir der
KISS-Mode sehr gelegen, weil er einfach zu realisieren war. Ich
begann mit SuperKiss 3.0 und schrieb dazu einen Treiber, der die
KISS-Daten für den TNC auf meine HDLC-Routine umleitete. Als
nächstes folgte SP 5.02 mit TFPCR und zuletzt das TCP/IP-Package
von KA9Q. Diese Lösung war zwar voll funktionsfähig, hatte aber
den Nachteil, das in den Terminalprogrammen dynamische Patches
gemacht werden mußten, was natürlich absolut nicht portabel ist,
und jeweils nur mit einer ganz bestimmten Version funktioniert.
Deshalb schrieb ich an Sigi (DL1MEN), der mir sofort die TFPCR-
Sources zur Verfügung stellte (nochmals besten Dank an ihn!).
Schnellstart
~~~~~~~~~~~~
Für alle, die lieber selbst probieren, ein BayCom-Modem besitzen
und normalen UKW-Betrieb mit 1200 Baud machen wollen, sind
folgende Hinweise:
- wer einen XT verwendet, sollte doch weiterlesen, weil erst
getestet werden muß, ob der Rechner schnell genug ist
- SP (ab v5.02) so installieren, als ob man TFPCR verwendet
- TFPCR.COM durch TFPCX.EXE ersetzen
- BayCom-Modem an eine COM-Schnittstelle stecken
- 'TFPCX -PCOMn' aufrufen (n ist die Nummer der Schnittstelle)
- SP starten
- falls es Probleme gibt, sollte man weiterlesen
- mit 'TFPCX -U' kann TFPCX wieder entladen werden
Funktionsprinzip
~~~~~~~~~~~~~~~~
TFPCX ist ein TSR-Programm, das vor der Aktivierung von SP aufge-
rufen werden muß und sich resident im Speicher installiert. Ist
dieser Vorgang abgeschlossen, wird wieder auf die DOS-Kommando-
ebene zurückgekehrt und das nächste Programm kann gestartet
werden. Das System verhält sich nun so, als ob ein TNC ange-
schlossen wäre, kann also von außen connectet werden und
speichert alle ankommenden Nachrichten. Auf ungelesene Informa-
tionen macht ein blinkendes Rechteck in der rechten oberen Bild-
schirmecke aufmerksam. Sobald das Terminal-Programm gestartet
wird, erscheint der empfangene Text auf den Bildschirm. Die Kom-
munikation mit SP erfolgt über einen Software-Interrupt. Da hier
im Prinzip keine Unterschiede zur Verwendung von TFPCR bestehen,
soll an dieser Stelle nicht weiter darauf eingegangen werden.
TFPCX ist vergleichbar mit dem Programm L2 des BayCom-Systems von
Flori (DL8MBT) und Johannes (DG3RBU). SP übernimmt hier die Rolle
des dort verwendeten Terminalprogramms SCC.
Das eigentlich Neue im Vergleich zum TFPCR ist, daß das TFPCX
direkt ein Modem ansteuern kann und in der Lage ist, AX.25-Frames
zu empfangen und zu senden ohne dazu einen TNC zu bemühen. Hier
wird ein anderes Verfahren verwendet als im BayCom, welches so-
wohl Vor- als auch Nachteile hat. Das notwendige Zeitnormal er-
zeugt der System-Timer (8253 Kanal 0), der 3600 mal je Sekunde
den Interrupt 8 aktiviert (bei 1200 Baud), was schon einen ge-
wissen Anspruch an die Rechenleistung des PC's stellt. Deshalb
ist das TFPCX auf normalen IBM-XT's mit 4,77 MHz Takt kaum zu-
sammen mit SP verwendbar. Das größte Problem ist, daß die Inter-
rupts des Timers nicht zu lange verzögert werden dürfen, damit
ein ordungsgemäßer Empfang von Packeten möglich ist und die aus-
gesendeten Frames nicht verstümmelt werden. Das kann z.B. bei
Disk-Zugriffen passieren. Einen groben Überblick, was man von
seinem PC erwarten kann, gibt die folgende Tabelle (ohne Gewähr):
PC XT XT 286 386
MHz 5 8 12 20
Baud
300 * * * *
1200 ? * * *
2400 / ? * *
4800 / / ? *
* Betrieb möglich
? Betrieb eventuell mit Einschränkungen möglich
/ Betrieb unmöglich
Ein anderes Problem in diesem Zusammenhang sind Programme, die
sich ebenfalls am Timer-Schaltkreis zu schaffen machen (z.B. MS-
Windows und andere Multi-Tasking-Umgebungen, MS-Word, manche
Mousetreiber oder auch MS-QuickC 2.51, das ich benutzt habe).
Diese Programme dürfen nicht verwendet werden, solange das TFPCX
aktiv ist. Zuwiderhandlungen werden mit falsch gehender System-
uhr, extremer Verlangsamung des Rechners oder Systemabsturz be-
straft.
Bisher war ja nur von Nachteilen die Rede. Nun mal was Positives:
Davon abgesehen, daß SP durch seine längere Entwicklungsge-
schichte zur Zeit mehr Features bietet als BayCom braucht das
TFPCX auch keinen voll kompatiblen COM-Port, weil der serielle
Controller nur als simples Ein-/Ausgabe-Latch verwendet wird. Der
Port muß auch nicht interruptfähig sein und man kann auch alle
LPT-Schnittstellen als Interface verwenden (z.B. für DigiCom-
Modems, die 5V-Pegel liefern). Also wieder neue Hoffnung für
Leute, die beim BayCom Pech hatten!?
Modemanschluß
~~~~~~~~~~~~~
Es war mir nicht möglich, auch noch ein neues Modem zu kreieren,
das können andere wirklich besser. So habe ich mich an den Quasi-
standart BayCom-Modem gehalten, das ja sicher schon viele YL's
und OM's besitzen. Zusätzlich besteht noch die Möglichkeit ein
anderes Modem (z.B. vom DigiCom) über eine Centronics-Schnitt-
stelle anzuschließen (bei mir die ursprüngliche Variante). Hier
die Anschlußbelegung der Schnittstellen:
COM-Port [2]
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
DATA7 8 Sendedaten, TTL-Pegel
DATA8 9 PTT, High aktiv, 0V=RX, 5V=TX
BUSY 11 Empfangdaten
GND 18-25 Masse
TheFirmware 2.3b
~~~~~~~~~~~~~~~~
Hier soll etwas zur Realisierung der TF 2.3b im TFPCX gesagt
werden. Die Firmware kann in zwei Betriebsarten verwendet werden
(Terminal- und Hostmode), wie es auch bei jedem TNC2 möglich ist.
Der Unterschied zu einem normalen TNC ist nur, daß der Datenaus-
tausch nicht über die serielle Schnittstelle sondern über einen
Softwareinterrupt mit verschiedenen Unterfunktionen erfolgt. Im
Anhang ist dieses Softwareinterface beschrieben.
Die Firmware bietet eine Reihe von Kommandos an, die mit der
Escape-Taste eingeleitet werden und bei Enter ausgeführt werden.
Im Anhang findet man eine kurze Zusammenstellung der realisierten
Befehle. In [3] ist die Firmware dokumentiert. Die Kommandos 'A',
'E', 'H', 'K', 'QRES', 'Z', '@F', '@K' und '@M' existieren nicht.
Es folgen Erläuterungen zu Besonderheiten einzelner Kommandos:
Kommando Bemerkung
C Es ist nicht mehr nötig, den eigenen SSID bei Mehrfach-
connect einer Station (z.B. Digi-Einstieg) manuell ver-
schieden einzustellen. TFPCX erhöht den SSID automa-
tisch bis maximal 15, wenn der eingestellte schon ver-
wendet wird. Diese Funktion bleibt SP allerdings ver-
borgen. In der Statuszeile und an anderen Stellen steht
eventuell der falsche SSID. Wenn das stört muß man den
SSID selbst einstellen. TFPCX kann gleichzeitig 10 Ver-
bindungen unterhalten. Interne Connects sind möglich.
F Der Frack-Parameter kann alternativ in Sekunden- oder
10 ms-Einheiten eingegeben werden. Werte kleiner 16
werden nicht ignoriert, wie bei der 'normalen' TF 2.3b,
sondern in die neue Einheit umgerechnet. Damit muessen
alte Config-Files nicht unbedingt geändert werden.
P Hier wird auch bei DAMA-Betrieb der non-DAMA-Wert ange-
zeigt aber P=255 benutzt.
U Der Unattended Mode kann auch eingeschaltet werden,
wenn kein CTEXT definiert ist (Standarteinstellung).
Die Meldung 'NO MESSAGE AVAILABLE' gibt es nicht mehr.
@C Mit diesem Kommando wird die Soft-DCD abgeglichen.
(siehe dazu Abschnitt weiter unten)
@T4 Dieses Kommando ist nur aus Kompatibilitätsgründen vor-
handen, gibt den T2-Startwert für DAMA-Betrieb an und
bestimmt die Zeit, die gewartet wird bis ein empfan-
gener Frame bestätigt wird. Es ist aus der Original-
Firmware inzwischen wieder entfernt wurden.
@U Hiermit wird festgelegt, ob Unproto-Frames mit gesetz-
tem Poll-Bit ausgesendet werden (Standart) oder ohne.
Einige Worte zu DAMA: Sobald auf einem Port eine Verbindung zu
einem DAMA-Master (Digi-Einstieg) besteht wird TFPCX automatisch
in den DAMA-Slave-Modus geschaltet und sendet nun nur noch dann,
wenn es einen Frame vom Master empfängt, dann allerdings alle
anstehenden Frames auf allen Ports. Es ist nicht notwendig, für
DAMA spezielle Parameter einzustellen. Damit ist alternativer
Betrieb problemlos möglich. Mit dem 'B'-Kommando kann man ermit-
teln, ob DAMA eingeschaltet (Wert in Klammern größer 0). Die vom
DAMA-Master empfangenen Frames (und nur diese, nicht die eigenen)
erhalten im Monitor den Zusatz '[DAMA]'.
Bei Tests hat sich gezeigt, daß die DAMA-Implementierung in der
TheFirmware 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.
Aufruf von TFPCX
~~~~~~~~~~~~~~~~
TFPCX wird durch folgende Befehlszeile aktiviert:
TFPCX [ -N ] [ Load options | -T | -U ]
Alle Parameter sind optional, werden durch '-' eingeleitet und
durch Leerzeichen voneinander getrennt. Innerhalb einer Option
sind keine Leerzeichen zulässig. Groß-/Kleinschreibung ist nicht
signifikant. Zunächst werden alle Optionen kurz in der Form auf-
gelistet, wie sie auch im Helptext mit 'TFPCX -H' abrufbar sind.
Load options sind nur beim residenten Laden des TFPCX relevant
und gelten bis zum Entladen.
-N No messages
-T Terminal mode
-U Unload
Load options: Default
-Pport[:xxx] Modem port (address) COM1
-Bnnnn Baud rate 1200
-Ixx TFPCX interrupt FD
-F[file] Send file to TFPCX TFPCX.INI
-D Debug mode Off
-NB No blinking rectangle Off
-NC No carrier display Off
-ND No disk access if DCD Off
[] Angabe ist optional
| alternative Angabe
n Dezimalziffer
x Hexadezimalziffer
Nach dem Start sollte die Meldung
┌──────────────────────────────────────┐
│ TFPCX v1.10 (Dec 08 1991) by DG0FT │
│ TF v2.3b DAMA by NORD><LINK │
│ Free for non-commercial usage │
├──────────────────────────────────────┤
│ COM1, 1200 Baud, Int FD, 10 Channels │
└──────────────────────────────────────┘
und das DOS-Prompt erscheinen. TFPCX ist jetzt installiert und
belegt ca. 54 KByte des Hauptspeichers. Hier nun die genaue Be-
deutung der Optionen:
-PCOMn (BayCom-) Modem an COMn (möglich sind COM1 bis COM4)
-PLPTn Modem an LPTn (möglich sind LPT1 bis LPT4)
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 kann die Adresse in der
Form '-Pport[:xxx]' auch explizit gesetzt werden.
Beispiel:
TFPCX -PCOM3:338
Mit diesem Aufruf wird ein BayCom-Modem an COM3 verwendet, wobei
als Basisadresse die 338H verwendet wird. Diese Adresse muß man
der Schnittstellenbeschreibung entnehmen. Die Nummer der Schnitt-
stelle (hier also die 3) wird ignoriert, wenn eine Adresse ange-
geben wird, muß aber trotzdem zwischen 1 und 4 liegen. Als Basis-
adresse ist der Bereich 100H bis 3F8H zugelassen. Der IRQ der
Schnittstelle ist für TFPCX uninteressant und wird nicht benutzt.
-Bnnnn Baudrate am Modem (300, 1200, 2400, 4800)
Welche Baudrate auf einem PC möglich ist, hängt von seiner
Rechenleistung ab (siehe Tabelle weiter oben). Wenn nicht mit
1200 gearbeitet wird, ist natürlich auch nicht das normale
BayCom-Modem verwendbar. Bei Betrieb mit 300 Baud weicht die
Systemuhr in der Stunde um eine halbe Minute ab.
-Ixx Software-Interrupt zur Kommunikation mit SP (40-FF)
Als Interrupt wird standartmäßig FD verwendet. Eine Änderung ist
nur nötig, wenn dieser Vektor von anderen Programmen verwendet
wird.
-N Nachrichten des Programms unterdrücken
Wenn die Messages des TFPCX bei der Initialisierung nicht den
ästhetischen Ansprüchen genügen, kann man sie hiermit unter-
drücken. Fehlermeldungen erscheinen aber weiterhin.
-NB Statusblinken ausschalten
Wenn TFPCX ungelesene Informationen oder Statusmeldungen gepuf-
fert hat und nicht im Hostmode ist (also wenn SP nicht läuft),
blinkt in der rechten oberen Bildschirmecke ein Rechteck, daß
z.B. auf einen neuen Connect aufmerksam macht. SP darf zu diesem
Zweck allerdings nicht mit ESC 'DOS' oder ESC '!' verlassen
werden, weil TFPCX in diesem Fall im Hostmode bleibt. Man kann
nun SP starten und auf den Connect reagieren. Das Blinken kann
mit dieser Option unterdrückt werden, falls es stört.
-NC Anzeige des Kanalstatus unterdrücken
Während TFPCX im Hostmode ist (also SP läuft) wird in der rechten
obereren Bildschirmecke ein 'R' dargestellt, wenn gerade ein PR-
Signal empfangen wird und ein 'S' angezeigt, wenn selbst gesendet
wird. Diese Anzeige dient vor allem zum Abgleich der Soft-DCD.
Mit dieser Option kann die Anzeige abgeschaltet werden.
-ND Disk-Zugriffe verzögern, wenn gerade empfangen oder
gesendet wird (Notbehelf)
Falls man Empfangsprobleme bei Disk-Zugriffen hat (Packete werden
nicht einwandfrei dekodiert) kann man mit der dieser Option ver-
hindern, daß ein Diskzugriff durchgeführt wird, während ein
Signal anliegt. Das führt allerdings 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 TFPCX nicht im Hostmode ist werden
alle Diskzugriffe immer sofort ausgeführt.
-D Test Modus (Debug)
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 sein.
Geprassel entsteht, wenn der Interrupt verzögert wird. Ertönt ein
einziges Prasseln, ist der Rechner überfordert. Die Grenze ist
hier allerdings schwer zu ziehen, ein 'gewisses Grundrauschen'
muß die Funktion noch nicht beeinträchtigen.
-Ffile File zur Parametereinstellung (wird normalerweise
nicht verwendet, fehlt der Dateiname gilt TFPCX.INI)
Wenn gewünscht, wird dieses File wird bei der Initialisierung
gelesen und im Terminal-Mode zeichenweise an die Firmware ge-
sendet, um eine Voreinstellung der Parameter zu ermöglichen. Das
dürfte besonders interessant sein, wenn man das Programm ständig
im Hintergrund laufen lassen möchte ohne SP zu starten oder für
den Betrieb im Terminal-Mode. Normalerweise kann diese Option
entfallen, weil SP selbst eine Initialisierung vornimmt. Die
Datei wird im aktuellen Verzeichnis gesucht, wenn kein voller
Pfadname angegeben wird. Das Zeichen '^' wird in ein Escape um-
gesetzt, mit dem im Terminal-Mode Kommandos eingeleitet werden.
Linefeeds werden herausgefiltert, so daß 'file' mit einem
normalen Editor erstellt werden kann. Ein Beispiel wäre:
TFPCX.INI:
^F 300
^I MYCALL
^N 16
^O 2
^P 64
^R 1
^T 25
^U 1 Willkommen in ???? - TFPCX v1.10 - SP offline
^W 25
Ruft man TFPCX völlig ohne Parameter auf, so wird angenommen, man
hätte 'TFPCX -PCOM1 -B1200 -IFD' verwendet.
Installierung von TFPCX
~~~~~~~~~~~~~~~~~~~~~~~
(1) SP so installieren, als ob man mit TFPCR arbeiten möchte
(siehe [1]). Inbesondere müssen folgende Zeilen in der SP.CFG
(bei SP6 CONFIG.SP) vorhanden sein:
CFG=TNCS:1
CFG=PORT0:5
CFG=CHANS0:10
SP-Versionen vor 5.02 sollten nicht benutzt werden, weil das
TFPCR-Interface dort eventuell noch nicht in der jetzigen Form
existierte. Wer TFPCX in den oberen Speicherbereich (UMB) laden
möchte muß 'CFG=PORT0:5H' verwenden.
Diese Variante geht davon aus, daß neben dem TFPCX kein weiterer
TNC benutzt wird. Multi-TNC-Betrieb unter Verwendung von TFPCX
funktioniert jedoch. Dabei kann TFPCX aber nur für einen HF-Port
verwendet werden und TFPCR ist nicht gleichzeitig ladbar. Man muß
sich darüber im Klaren sein, daß es die Interrupts der seriellen
Schnittstellen an denen TNC's hängen unmöglich machen können, daß
noch einwandfreie AX.25-Frames empfangen und gesendet werden.
Deshalb ist schon ein schneller Rechner erforderlich.
Alles was zum TFPCR gehört (TFPCR.COM, UNTFPC.EXE, AUTOKISS.CFG)
kann gelöscht werden (die SP-Originaldiskette natürlich auf-
heben). Dafür wird die Datei TFPCX.EXE in das gleiche Directory
kopiert, in dem auch die SP.EXE steht.
(2) Nun wird das Modem an COM1-4 oder LPT1-4 angeschlossen und
TFPCX aufgerufen. Wenn nicht die COM1 verwendet wird, muß die
Schnittstelle als Parameter übergeben werden (siehe oben). Sollte
sich das System nach dem Laden extrem verlangsamen (vor allem bei
Diskzugriffen) ist der PC mit der verwendeten Baudrate über-
lastet.
(3) Als Nächstes wird SP gestartet. Falls nicht die Meldung
TNC#0 - (TFPCR / FD) in Hostmode
erscheint, ist bei der SP-Installierung etwas schiefgegangen oder
TFPCX wurde nicht geladen. Neuere SP-Versionen können TFPCR und
TFPCX unterscheiden und zeigen eventuell eine etwas abweichende
Meldung. Nun sucht man sich eine QRG auf der PR-Betrieb ist und
schaltet den Monitor mit <ESC> 'MISUC' ein. Wenn trotz an-
liegender Signale keine Frames angezeigt werden, verläßt man SP
wieder, entfernt TFPCX mit 'TFPCX -U' aus dem Speicher und
startet es neu, wobei die Option '-D' zusätzlich angegeben wird.
Nun sollte ein 1800 Hz Ton über den internen Lautsprecher des
PC's zu hören sein (bei 1200 Baud). Wenn alles still ist, hat der
PC entweder einen inkompatiblen Timer (dann ist alles Weitere
zwecklos) oder der Pieper funktioniert einfach nicht (das hatte
ich auch schon mal). Nun wird SP wieder aufgerufen und genau
hingehört. Wenn ein einziges Prasselkonzert erklingt, ist der
Rechner nicht in der Lage, schnell genug auf die Interrupts des
Timers zu reagieren (während des Ladens ist ein Prasseln nicht
schädlich). Wenn der Ton relativ sauber ist, könnte der Fehler am
Modem oder an der HF-Technik liegen.
(4) Wenn der Monitor arbeitet, kann man mal einen Connect ver-
suchen. Dabei sollte die PTT des Senders überwacht werden.
Eigentlich müßte jetzt alles funktionieren. Es ist aber auch
denkbar, daß der Empfang zwar klappt, aber verstümmelte Packete
gesendet werden.
Wer SP mit TNC2 gewohnt ist wird sich vielleicht über das etwas
andere Zeitverhalten wundern. So flackert die QRG-Anzeige auf dem
Monitorschirm und der Connect-Gong klingt anders. Dieses Ver-
halten ist völlig normal, könnte nur im SP behoben werden und
kann wohl in Kauf genommen werden.
TFPCX aus dem Speicher entfernen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mit dem Befehl 'TFPCX -U' läßt sich TFPCX wieder aus dem Speicher
entfernen. Hier ist also kein extra Programm zum Entladen not-
wendig. Der Kommunikations-Interrupt wird automatisch gefunden
und braucht nicht angegeben werden.
Terminal-Mode
~~~~~~~~~~~~~
Mit 'TFPCX -T' wird ein einfaches Terminalprogramm gestartet, mit
dem man auch ohne SP arbeiten kann. Vorher ist das TFPCX resident
zu laden (wie oben beschrieben). Man muß das Programm also zwei-
mal mit verschiedenen Parametern aufrufen, um in den Terminal-
Mode zu gelangen. Mit ALT-X wird das Terminal-Programm 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 von SP Probleme entstehen. Wer
nur im Terminal-Mode arbeiten will (z.B. auf langsamen Rechnern)
kann vorteilhaft die Option '-F' zur Einstellung von Standart-
parametern verwenden. Folgendes Batchfile hilft dabei:
TERM.BAT:
@echo off
cls
tfpcx -n -f
tfpcx -t
tfpcx -n -u
Soft-DCD
~~~~~~~~
TFPCX hat jetzt eine programmierte Rauschsperre. Man kann also
den Squelch des Empfängers völlig offen lassen und TFPCX ent-
scheidet selbst, ob grad ein PR-Signal empfangen wird oder nur
Rauschen. Die Soft-DCD wird durch das neue Kommando '@C' ge-
steuert, mit dem man die Ansprechschwelle einstellt. Als Para-
meter wird eine Zahl von 0 bis 63 angegeben. Bei '@C0' ist die
Soft-DCD ausgeschaltet und TFPCX verhält sich wie bisher. Dieses
ist der Standartfall. Bei allen anderen Werten ist die Rausch-
sperre an. Je größer der Wert ist, je stärker ist die Soft-DCD
angezogen. Zur Erleichterung der Einstellung wird in der rechten
oberen Ecke des Bildschirms ein 'R' angezeigt, wenn ein Signal
erkannt wird und ein 'S' wenn selbst gesendet wird (nur wenn SP
läuft). 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'.
WICHTIG!
Die Soft-DCD sollte man nur verwenden, wenn man keinen ordent-
lichen Hardware-Squelch hat, weil die Erkennung eventuell nicht
ganz problemlos ist. Das Verhalten bei anderen Baudraten als 1200
Baud wurde nicht getestet. Am Besten mal ausprobieren und selbst
entscheiden!
Fehlerbehebung
~~~~~~~~~~~~~~
Falls man Probleme mit schlechtem Empfang hat oder eigene Aus-
sendungen von anderen Stationen nicht dekodiert werden können
liegt das eventuell daran, daß die für das TFPCX 'lebenswichtige'
Timer-Interruptroutine nicht immer rechtzeitig aufgerufen wird,
weil der Interrupt zu lange gesperrt war. Dieses Problem tritt
vor allem bei Diskzugriffen, Zugriffen auf den Extended Memory
(z.B. RAM-Disk), Umschalten in den Protected Mode (z.B. EMM386)
und langsamen Tastaturtreibern auf. Im letzten Fall hilft
eventuell der Treiber CKEYGR.COM von der SP-Diskette. Auch manche
TSR-Programme bringen Probleme. Man kann nur versuchen, auf alle
diese Problemquellen zu verzichten, was aber nicht immer möglich
ist. Notfalls hilft auch die Option '-ND', wenn Diskzugriffe
schuld sind.
Beim BayCom-Modem gibt es eventuell Probleme durch die stabilere
Stromversorgung beim TFPCX im Vergleich zum BayCom. Hier liegt
die TXD-Leitung statisch auf etwa +12V während BayCom ein Takt-
signal auf dieser Leitung liefert. Dadurch liegt die Versorgungs-
spannung des Modems etwas höher und der Spannungteiler an Pin 7
des TCM 3105 liefert eine vom Idealwert abweichende Spannung. In
diesem Fall ist ein Neuabgleich des Spannungsteilers erforderlich
(siehe [2]).
* * *
Wer Interesse am Programm TFPCX hat, schickt eine leere Diskette
und einen an sich selbst addressierten und ausreichend
frankierten Rückumschlag an:
René Stange
O.-Grotewohl-Ring 34
Strausberg
O-1260
mögliche FD-Formate: 3 1/2" 720K oder 1,44M
5 1/4" 360K oder 1,2M
Bitte obigen Text genau beachten! Da ich keinen finanziellen
Gewinn mache ist es mir nicht möglich, Porto aus eigener Tasche
zu bezahlen oder mehr Aufwand zu treiben als eine Diskette zu
kopieren, in den fertigen Umschlag zu stecken und zur Post zu
bringen.
SP wird von mir nicht mitgeliefert, die Rechte dazu hat Sigi
(DL1MEN). Entweder man hat schon SP v5.02 oder eine neuere Ver-
sion oder liest in der Rubrik SP nach, wie man SP bekommt. Ich
muß allerdings sagen, dass für völlige Neueinsteiger BayCom eher
zu empfehlen ist, da die TFPCX- und SP-Installierung nicht so
einfach ist. Ich kann auch kein BayCom-Modem liefern und keine
Bausätze dazu. Die Rechte dafür hat das BayCom-Team (erreichbar
über Rudi DK5RQ @ DB0RGB).
ANHANG
Funktionen des TFPCX-Interrupts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Es existieren vier Unterfunktionen, die über den Wert im Register
AH beim Aufruf selektiert werden. Eventuelle Parameter werden in
AL übergeben. AX enthält bei Rückehr das Ergebnis oder FFFF, wenn
eine nicht existierende Funktion ausgewählt wurde. Alle zur
Eingabe bereitstehenden Zeichen sollten eingelesen werden, bevor
die nächste Ausgabe gemacht wird.
AH = 1 Abfrage, ob ein Zeichen zur Eingabe bereit steht
Returns: AX = 0 kein Zeichen bereit
AX = 1 Zeichen zur Eingabe bereit
AH = 2 Zeicheneingabe, nur aufrufen, wenn Funktion 1 mit-
geteilt hat, daß ein Zeichen zur Verfügung steht
Returns: AL Zeichencode
AH = 3 Ausgabe eines Zeichens an die Firmware
Parameter: AL auszugebendes Zeichen
AH = FE Abfrage der TFPCX-Versionsnummer
Returns: AH = 1 Hauptversionsnummer
AL = 0AH Subversionsnummer
Drei Bytes nach dem Einsprung in die TFPCX-Interruptroutine steht
der Kennungsstring 'N5NX', anhand dessen das Terminalprogramm den
benutzten Interrupt selbst ermitteln kann.
Befehle des TFPCX
~~~~~~~~~~~~~~~~~
BEFEHL PARAMETER BESCHREIBUNG
------ --------- ------------
B (120) 1...600 DAMA-Timeout-Zeit (Sekunden)
0 DAMA-Einschaltung blockiert
C Rufz1 [Rufz2 ... Rufz9] Connect-Weg (in Kanal 0: unproto)
D Verbindung auflösen
F (300) 16...65535 Startwert für SRTT (10 ms)
1...15 Startwert für T1 (Sekunden)
G [0] Information im Host-Modus holen
[1] Status im Host-Modus holen
I Rufzeichen eigenes Rufzeichen
JHOST (0) 0 Terminal-Modus eingeschaltet
1 Host-Modus eingeschaltet
L [0...10] Statusanzeige für die Kanäle
M (N) NIUSC+- Monitor-Betriebsart
N (10) 0...127 Anzahl der Versuche (0 = unendlich oft)
O (2) 1...7 Anzahl der unbestätigten Pakete
P (64) 0...255 P-Persistenz Wert für non-DAMA
R (0) 0 Digipeater ausgeschaltet
1 Digipeater eingeschaltet
S (0) 0...10 Kanal-Nummer (0 = unproto)
T (30) 0...127 Wartezeit von PTT ein bis Daten (10 ms)
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 (10) 0...10 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 max. Länge eines IPOLL-Frames
@S Momentaner Link-Status
@T2 (150) 0...65535 Timer T2 (10ms)
@T3 (18000) 0...65535 Timer T3 (10ms)
@T4 (10) 0...65535 Timer T2 bei DAMA (10ms)
@U (1) 0 Unproto-Frames ohne Poll
1 Unproto-Frames mit Poll
@V (0) 0 Rufzeichencheck abgeschaltet
1 Rufzeichencheck eingeschaltet
[] optionale Parameter
() Standarteinstellungen
Literatur
~~~~~~~~~
[1] DL1MEN: Manual zu Eskay Packet (SP) ab v5.02
[2] DL8MBT, DG3RBU: BayCom - Dokumentation zum Modem
[3] NORD><LINK: Dokumentation zu TheFirmware 2.3b
(im Mailbox-Netz verbreitet)