-------------------- Public Domain Zmodem -------------------- Version 1.24 von Peter Mandrella, 1994-96 HINWEIS: Ich habe mir gr”áte Mhe gegeben, Fehler in PD-Zmodem zu beseitigen, und werde dies auch weiterhin tun. Trotzdem garantiere ich in keiner Weise fr die Funktionstchtigkeit dieses Programms. PD-Zmodem ist Public Domain und wird ohne jede Garantie und ohne Anspruch auf Support freigegeben, mit einer Ausnahme: Falls Sie registrierter Anwender der Pointsoftware "CrossPoint" sind, erhal- ten Sie fr PD-Zmodem den gleichen Support wie fr CrossPoint. Was ist Zmodem? --------------- Zmodem ist ein schnelles, zuverl„ssiges und sehr beliebtes "Datei- šbertragungsprotokoll" - ein Verfahren, um Dateien von einem Rech- ner ber eine serielle Schnittstelle auf einen anderen zu bertra- gen. Wegen seiner hohen Geschwindigkeit und Robustheit und der relativ komfortablen Anwendung hat es die frher blichen Proto- kolle "Xmodem" und "Kermit" weitgehend verdr„ngt. Neben dem Original-Zmodem fr Unix und dessen DOS-Portierungen DSZ und GSZ existieren inzwischen Implementationen fr fast jeden Rechnertyp und jedes Betriebssystem. Fr DOS gibt es ungef„hr ein halbes Dutzend weitverbreiteter Zmodems - DSZ, GSZ, Texas Zmodem, CE-XYZ u.a. Der Grund, das Rad trotzdem noch einmal neu zu erfin- den und PD-Zmodem zu schreiben, war, daá keines dieser Programme ALLE der unten aufgefhrten Features in sich vereinigt. Was ist PD-Zmodem? ------------------ PD-Zmodem ist ein neues Zmodem-Programm fr DOS mit den folgenden Eigenschaften und Funktionen: + 100% Public Domain, auch fr kommerziellen Einsatz + serielle Schnittstellenuntersttzung fr beliebige Adressen und IRQ 1-15 + FOSSIL-Untersttzung + optimiert fr hohen Datendurchsatz, auch unter ISDN; optimaler Durchsatz auf schlechten Leitungen durch Berechnung der gnstigsten Blockgr”áe + alle blichen Zmodem-Funktionen + ZedZap-Untersttzung (8k-Bl”cke) + wahlweises šbertragen ganzer Verzeichnisb„ume + Chat-Funktion + automatische šberwachung von cps-Rate und šbertragungsdauer + Uhrzeit-Synchronisation + minimale Systembelastung unter OS/2 oder DesqView + wahlweise deutsche oder englische Oberfl„che Es gibt zwei oder drei Dinge (je nachdem, wie man z„hlt), die PD- Zmodem nicht kann, und deren Einbau auch nicht geplant ist: - X- und Ymodem - XON/XOFF-Handshake PD-Zmodem ben”tigt folgende Hard- und Softwareumgebung: o beliebiger DOS-kompatibler Rechner oder DOS-Emulator o DOS Version 3.0 oder h”her o ca. 130 KB freier DOS-Hauptspeicher o IBM-kompatible serielle Schnittstelle oder FOSSIL-Treiber Syntax ------ Empfangen von Dateien: ZM [Optionen] rz [Verzeichnis][Dateiname] Wenn Sie ein Verzeichnis angeben, werden alle empfangenen Dateien dort abgelegt. Wenn Sie einen Dateinamen mit oder ohne Verzeichnis angeben, werden empfangene Dateien unter genau diesem Dateinamen abgelegt. Dies ist natrlich nur sinnvoll, wenn nur eine Datei bertragen wird. Wenn Sie weder Verzeichnis noch Dateiname ange- ben, landen alle Dateien im aktuellen Verzeichnis. Senden von Dateien: ZM [Optionen] sz kann ein einzelner Dateiname, eine "Wildcard" (z.B. "*.*") oder eine mit Leerzeichen getrennte Liste von mehreren Dateinamen und/oder Wildcards sein. Alle Dateiangaben k”nnen eine Verzeichnisangabe enthalten. Statt Parameter direkt in die Kommandozeile zu schreiben, k”nnen Sie sie auch in einer Datei ablegen - je ein Parameter pro Zeile - und den Namen dieser Datei mit vorangestellten "@" angeben, z.B. ZM sz @FILELIST ZM liest dann die einzelnen Zeilen aus der Datei FILELIST und interpretiert sie so, als w„ren sie direkt angegeben worden. Dieses Feature ist vor allem dazu gedacht, um beim Senden eine lange Liste von Dateinamen zu erm”glichen - die L„nge der DOS- Befehlszeile ist bekanntlich beschr„nkt. Die Parameter "rz" und "sz" k”nnen auch als "r" und "s" abgekrzt werden. Optionen -------- Alle Optionen beginnen mit einem "-" oder einem "/" und sind von weiteren Optionen oder Parametern durch mindestens ein Leerzeichen zu trennen. Optionen k”nnen an jeder beliebigen Stelle und in beliebiger Reihenfolge eingefgt werden - ZM -c1 -b19200 -d sz FILE1.ZIP FILE2.ZIP ist also identisch mit ZM -d sz FILE.ZIP /b19200 -c1 FILE2.ZIP *Alle* Optionen sind, wie schon der Name sagt, optional, k”nnen also weggelassen werden; fr jede Option gibt es eine Standard- Einstellung. Serielle Schnittstellen-Einstellungen: -cN Legt die serielle Schnittstelle fest. Es kann -cXXX,YY entweder die COM-Nummer (N) - z.B. "-c1" fr COM1 - oder eine Kombination aus Adresse und IRQ (XXX,YY) - z.B. "-c2e8,5" - angegeben werden. Wenn Sie eine COM-Nummer angeben, verwendet ZM die folgenden Adressen und IRQs: -c1 = -c3f8,4 -c3 = -c3e8,4 -c2 = -c2f8,3 -c4 = -c2e8,3 Voreinstellung ist "-c2". Bei Verwendung eines FOSSIL-Treibers sind COM-Nummern von 1 bis 50 m”glich, sonst Nummern von 1 bis 4. -f FOSSIL-Treiber verwenden. Wenn Sie diesen Schalter angeben, muá die Schnittstelle - falls angegeben - das Format "-cN" haben. -bN Legt die DTE-Rate, d.h. die Geschwindigkeit (bps- Rate, "Baudrate") zwischen Modem und Rechner fest, z.B. "-b38400" fr 38400 bps. Wenn Sie -bN weglas- sen, verwendet ZM die aktuell eingestellte Geschwindigkeit. -d Carrier Detect (CD) ignorieren. Normalerweise sollte Ihr Modem ein CD-Signal liefern, wenn eine Verbindung besteht. Ist Ihr Modem falsch eingestellt, oder verwenden Sie ein Nullmodem (Kabel zwischen zwei Rechnern) ohne CD-Leitung, dann k”nnen Sie mit "-d" die CD-šberprfung von ZM abschalten. Achtung! Bei Verwendung von "-d" erkennt ZM nicht mehr, wenn eine Modemverbindung abbricht! -h CTS ignorieren. Normalerweise meldet das Modem mit dem CTS-Signal, daá es empfangsbereit ist. Bei falsch konfiguriertem Modem oder bei Nullmodem- Kabel ohne CTS-Leitung kann dieses Signal fehlen. Achtung! Verwenden Sie "-h" nicht beim Senden von Dateien ber Modemverbindungen mit Datenkompres- sion! Dies fhrt unweigerlich zu šbertragungsfeh- lern. Tip: Falls Sie mit PD-Zmodem Dateien von einem sehr langsamen Rechner per Nullmodem-Kabel auf einen anderen Rechner bertragen, so kann der Schalter -h die Geschwindigkeit um bis zu 10% erh”hen. -rts (1) PD-Zmodem verwendet RTS-Handshake und verhin- dert dadurch bei hoher šbertragungsgeschwindigkeit auf einem langsamen Rechner regelm„áiges šberlaufen des Empfangspuffers (was zu regelm„áigen šbertra- gungsfehlern fhren wrde). (2) Falls beim Empfangen von Daten w„hrend der Festplattenzugriffe šbertragungsfehler auftreten, sollten Sie "-rts" verwenden. Dadurch wird die šbertragung w„hrend des Plattenzugriffs durch Abschalten des RTS-Signals angehalten. Bei ZyXEL- Modems mit sehr alten ROM-Versionen (4.X) kann die Verwendung von RTS zum Absturz des Modems fhren. -n schaltet den FIFO-Speicher einer seriellen Schnitt- stelle mit 16550A-Chip ab. Dieser Schalter ist zu Testzwecken gedacht. Der FIFO-Speicher wird ben”- tigt, um bei hohen Geschwindigkeiten (ab ca. 38.400 bps) eine sichere šbertragung zu erm”glichen. -tlX setzt den FIFO-Triggerlevel auf 2, 4, 8 (Vorein- stellung) oder 14. Diese Einstellung ist nur von Bedeutung, wenn ein 16550A-Chip vorhanden ist und kein FOSSIL-Treiber verwendet wird. Unter DOS l„át sich durch Žnderung des Triggerlevels die šbertra- gungsstabilit„t beeinflussen. Welcher Triggerlevel optimal ist, h„ngt von der verwendeten Hardware ab und l„át sich nur durch Ausprobieren herausfinden. Auf relativ schnellen Rechnern (386DX oder h”her) erh”ht ein geringerer Triggerlevel normalerweise die šbertragungsstabilit„t. PD-Zmodem bis Version 1.1 beta arbeitete mit einem Triggerlevel von 14. -dtr l”scht bei Beenden von PD-Zmodem das DTR-Signal. Falls Ihr Modem entsprechend eingestellt ist, wird dadurch die Verbindung beendet. Auf diese Weise k”nnen Sie nach einer unbeaufsichtigten Zmodem- šbertragung die Verbindung automatisch beenden lassen. Der -dtr-Schalter funktioniert u.U. nicht unter OS/2. Zmodem-Einstellungen: (rz) = Einstellung gilt fr das Empfangen von Dateien (sz) = Einstellung gilt fr das Senden von Dateien -r (rz/sz) "Crash recovery" abschalten. Crash Recovery bedeu- tet, daá eine abgebrochene šbertragung an der Stelle fortgesetzt werden kann, wo sie unterbrochen wurde. Dadurch muá nach einem Verbindungsabbruch nicht die gesamte Datei neu bertragen werden. Wenn eine Datei schon vollst„ndig vorhanden ist, wird sie bersprungen. Beim Empfangen funktioniert "-r" immer. Ob es auch beim Senden funktioniert, h„ngt von der Gegenseite ab. Wenn Sie "-r" angeben und die šbertragung unterbrochen wird, wird die unvollst„ndige Datei gel”scht. -oX (rz) legt fest, was geschehen soll, wenn beim Empfangen bereits eine Datei mit gleichem Name vorhanden ist und keine Crash Recovery angewandt wird: -o0 = neue Datei abweisen -o1 = alte Datei durch neue berschreiben -o2 = neue Datei umbenennen (Voreinstellung) -o3 = alte Datei umbenennen Der Schalter -o von „lteren PD-Zmodem-Versionen wird weiterhin untersttzt und entspricht der Einstellung -o1. -16 (rz/sz) 16-Bit- statt 32-Bit-Prfsumme verwenden. Dieser Schalter ist nur aus Kompatibilit„tsgrnden zum Zmodem-Standard vorhanden. In der Praxis arbeitet jedes Zmodem-Programm mit den wesentlich sichereren 32-Bit-Prfsummen. -8 (sz) maximale Blockgr”áe auf 8k = 8192 Bytes vergr”áern ("ZedZap"). Erh”ht den Datendurchsatz um 0.5% und macht nur dann Sinn, wenn die Verbindung fehler- sicher ist. Wenn Sie "-8" angeben, beginnt ZM mit normalen 1k-Bl”cken und erh”ht die Blockgr”áe dann allm„hlich bis auf 8k, falls die šbertragung feh- lerfrei bleibt. Beim Empfangen erkennt ZM auto- matisch alle Blockgr”áen, ohne daá "-8" angegeben werden muá. Achtung! "ZedZap" ist kein Zmodem-, sondern ein FidoNet-Standard. Es funktioniert nur, wenn das Zmodem auf der Gegenseite dieses spezielle Fido- Feature untersttzt. -8N (sz) Wie "-8", nur daá die šbertragung mit einer Block- gr”áe von N KB beginnt. M”gliche Werte fr N sind 1, 2, 4 und 8. Die Verwendung einer Start-Block- gr”áe von 4k oder 8k macht nur Sinn, wenn die Verbindung sehr stabil ist und im Durchschnitt h”chstens ein bis zwei Fehler - dazu z„hlen auch Verbindungsabbrche - pro MB bertragener Daten auftreten. -p (sz) Volle Verzeichnisnamen bertragen. Normalerweise bertr„gt ZM nur die Dateinamen. Wenn Sie "-p" angeben, und die Gegenseite entsprechend konfigu- riert ist, k”nnen Sie damit Dateien in beliebigen Verzeichnissen ablegen. Der bertragene Name stimmt mit dem berein, den Sie als Parameter angegeben haben. Wenn Sie nur Dateinamen ohne Verzeichnis angeben, ist "-p" ohne Wirkung, es sei denn, es werden mit "-s" weitere Unterverzeichnisse bertra- gen. -s (sz) Sendet auch alle passenden Dateien in Unterver- zeichnissen. Zusammen mit "-p" und "*.*" als Dateiname k”nnen Sie damit einen kompletten Verzeichnisbaum bertragen lassen. -s (rz) L„át das Schreiben in beliebige Verzeichnisse zu und legt diese ggf. neu an. Wenn "-s" nicht angege- ben ist, landen alle eingehenden Dateien im aktuel- len oder im als Parameter angegebenen Verzeichnis. N„heres dazu: siehe unten. Achtung! Bei Angabe von "-s" ohne einen zus„tzli- chen Empfangs-Verzeichnisnamen kann der Sender Dateien in beliebigen Verzeichnisse auf Ihrer Fest- platte ablegen! Wenn zus„tzlich "-o1" angegeben ist, kann er auáerdem beliebige Dateien berschrei- ben, sofern sie nicht mit "Read Only" schreibge- schtzt sind. VERWENDEN SIE DEN SCHALTER "-s" AUF GAR KEINEN FALL BEIM EMPFANGEN INNERHALB EINER MAILBOX! -e (sz) Alle Steuerzeichen codieren. Dieser Schalter wird ben”tigt, wenn die Verbindung zur Gegenstelle nicht "8-Bit-clean" ist, d.h. wenn bestimmte Steuerzei- chen nicht bertragen werden k”nnen. Das ist insbe- sondere dann der Fall, wenn es sich um eine Unix- Terminalanbindung handelt. "-e" verringert den Datendurchsatz um rund 22%. -ts (sz/rz) Synchronisiert die Systemuhr des empfangenden Rechners mit der Systemuhr des Senders. Dies funktioniert nur, wenn auf beiden Seiten PD-Zmodem oder ein Zmodem-Protokoll mit dazu kompatibler Uhrzeit-Synchronisationsfunktion eingesetzt wird (siehe auch TIMESYNC.DOC), und wenn auf BEIDEN Seiten der Schalter -ts angegeben wurde. Wenn Sie ein PD-Zmodem-Logfile (s. Schalter -lz) erzeugen lassen, k”nnen Sie anhand des letzten Logfile- Eintrages erkennen, um wieviele Sekunden und auf welche Zeit die Systemuhr verstellt wurde. Die Genauigkeit liegt bei +/- 4 Sekunden. Achtung: Falls Sie PD-Zmodem als externes Protokoll in ein Programm eingebunden haben, das das PD- Zmodem-Logfile nicht auswertet, kann die Uhrzeit- Synchronisation zur Berechnung einer falschen šbertragungsdauer fhren. Einstellungen zur Begrenzung der šbertragungsdauer: -zN legt eine minimale šbertragungsgeschwindigkeit von N cps fest. Falls die cps-Rate fr l„nger als zwei Minuten kleiner als N ist, wird die šbertragung abgebrochen; ZM liefert dabei den Errorlevel 4. -tN legt eine maximale šbertragungsdauer von N Minuten -thh:mm oder einen Endzeitpunkt (z.B. -t20:15 fr 20 Uhr 15) fest. Wenn die angegebene Zeitspanne ber- schritten wurde oder der Endzeitpunkt erreicht ist, frhestens jedoch nach zwei Minuten, bricht ZM die šbertragung mit Errorlevel 5 ab. -xtN Wie -t, allerdings wird hier nicht die tats„chliche -xthh:mm Uhrzeit, sondern der berechnete, voraussichtliche Endzeitpunkt der šbertragung zugrunde gelegt. Die šbertragung wird also pr„ventiv abgebrochen, wenn PD-Zmodem erkannt hat, daá sie nicht innerhalb der angegebenen Zeitspanne beendet werden kann. -t und -xt k”nnen nicht gleichzeitig verwendet werden. -tiN legt die Timeout-Dauer in Sekunden fest. Wenn die Gegenseite fr l„nger als ungef„hr N Sekunden nicht reagiert, wird die šbertragung abgebrochen. N wird auf volle 10 Sekunden aufgerundet und kann im Bereich von 30 bis 600 liegen. Voreinstellung sind 80 Sekunden. Sonstige Einstellungen: -ld erzeugt ein Logfile im DSZ-Format (s.u.). Fr ist der Dateiname, ggf. incl. Pfad, einzu- setzen. Dieser Schalter hat Vorrang vor dem Envi- ronment-Eintrag DSZLOG= oder ZMLOG=. -\ bewirkt, daá bei Pfadnamen im Logfile zur Trennung DOS-bliche "\"-Zeichen statt der Zmodem-blichen "/"-Zeichen verwendet werden. -lz erzeugt ein Logfile im PD-Zmodem-eigenen Format (s.u.). Dieser Schalter hat Vorrang vor dem Envi- ronment-Eintrag DSZLOG= oder ZMLOG= und vor dem Schalter -ld. -m monochrome Bildschirmanzeige, z.B. fr VGA-Mono- Monitore oder fr Laptop-LCD-Bildschirme. -nochat schaltet die Chat-Funktion von ZM ab. N„heres dazu: siehe unten. -nologo deaktiviert alle Bildschirmausgaben vor und nach der Anzeige des Zmodem-Fensters. -nowin deaktiviert die Anzeige des Zmodem-Fensters. -beep erzeugt ein Tonsignal bei Programmende. -q deaktiviert die Pause von 1-2 Sekunden bei Program- mende. Die Pause ist dazu gedacht, um die letzte Zmodem-Meldung vor dem Schlieáen des Fensters noch lesen zu k”nnen. Wenn Sie ohne FOSSIL-Treiber arbeiten, gehen allerdings w„hrend der Pause emp- fangene Zeichen verloren, was z.B. bei Benutzung von ZM als externem Protokoll in einem Terminalpro- gramm st”rend sein kann. -os2x reduziert die Systembelastung unter OS/2. Fr "x" ist ein Buchstabe von a bis d einzusetzen, wobei jeweils unterschiedliche Methoden zur Freigabe von nicht ben”tigter Rechenzeit verwendet werden: -os2a Freigabe ber Int 15h/86h (BIOS) -os2b Freigabe ber Int 28h (DOS) -os2c Freigabe ber sti-hlt-35h/CAh (OS/2) -os2d Freigabe ber Int 2fh/1680h (DPMI) Welche der Methoden bei Ihnen ab besten funktio- niert, mssen Sie ausprobieren. Alle vier Methoden basieren auf undokumentierten OS/2-Funktionen, und zumindest -os2a und -os2d werden nicht in jeder OS/2-Version untersttzt. Die Verwendung nicht untersttzter Funktionen kann zu Fehlfunktionen des Betriebssystems bis hin zu einem Totalabsturz (Trap) fhren. Ob und wie die -os2-Schalter funktionieren, h„ngt auch von den OS/2-Eistellungen IDLE_SECONDS und IDLE_SENSITIVITY ab. -dv reduziert die Systembelastung beim Empfangen von Daten unter DesqView. -w unterdrckt Warnungen bei Programmstart, z.B. bei einem Sendevorgang ohne Dateien. šbertragen von Unterverzeichnissen ---------------------------------- Wenn Sie auf beiden Seiten einer Verbindung PD-Zmodem einsetzen, k”nnen Sie damit bequem vollst„ndige Verzeichnisb„ume bertragen. Ein Beispiel: Sender: ZM -b38400 -s -p sz C:\TEXT\*.* Empf„nger: ZM -b38400 -s rz Hier wird der komplette Verzeichnisbaum C:\TEXT\... mit 38.400 bps auf COM2 zum zweiten Rechner bertragen. Beachten Sie, daá die Laufwerksbezeichnung NICHT mitgesendet wird. Wenn das aktuelle Laufwerk auf dem Zielrechner z.B. D: ist, werden die Dateien in D:\TEXT\... abgelegt. Wenn der Empf„nger zus„tzlich einen Verzeichnisnamen angibt, z.B. ZM -b38400 -s rz C:\COPY dann wird dieser dem bertragenen Namen vorangestellt; die Dateien landen also in C:\COPY\TEXT\... Hat der Sender nur einen relativen Pfadnamen, also ohne fhrenden "\", und der Empf„nger kein Ziel- verzeichnis angegeben, dann werden die Dateien beim Empf„nger unterhalb des aktuellen Verzeichnisses abgelegt. Beispiel: Sender: C:\> ZM -b38400 -s -p sz TEXT\*.* Empf„nger D:\DOWNLOAD> ZM -b38400 -s rz Hier landen die Dateien also in D:\DOWNLOAD\TEXT\... Dateien berspringen -------------------- Mit der Ctrl-S (Strg+S) kann beim Empfangen der Rest der laufenden Datei bersprungen werden. Diese Funktion geh”rt nicht zum Zmodem- Standard. Je nachdem, welches Zmodem auf der anderen Seite verwen- det wird, ist das Ergebnis unterschiedlich: PD-Zmodem, CeXYZ, Terminate, diverse Fido-Mailer: Die Rest der laufenden Datei wird bersprungen. Der Sender betrachtet die Datei als "korrekt bertragen", aber sie ist natrlich unvollst„ndig. Telemate: Die Rest der laufenden Datei wird bersprungen. Die Datei ist unvollst„ndig, und der Sender betrachtet sie als fehlerhaft. GSZ: Der Befehl zum šberspringen wird nicht akzeptiert, aber der Sender reagiert korrekt. PD-Zmodem zeigt "šberspringen nicht m”glich" an und f„hrt mit dem Empfang fort. Die Datei wird vollst„ndig und korrekt bertragen. Bisher nicht aufgetreten, aber denkbar: Der Befehl zum šberspringen fhrt nicht zum Erfolg, und der Sender reagiert nicht korrekt. Die šbertragung wird entweder bis zum Dateiende fortgesetzt, wird automatisch abgebrochen oder muá manuell abgebrochen werden. Die empfangene Datei ist unbrauchbar. Chat ---- PD-Zmodem verfgt ber eine eingebaute Chat-Funktion. Wenn auf beiden Seiten der Verbindung ZM verwendet wird, erscheint automa- tisch ein zus„tzliches Fenster, in dem Sie sich w„hrend der Datei- bertragung mit der GegenberIn "unterhalten" k”nnen. Beachten Sie, daá das Drcken von Tasten w„hren der šbertragung zum Verlust einzelner Zeichen an der seriellen Schnittstelle und damit zu šbertragungsst”rungen fhren kann, falls Sie ohne 16550A- FIFO-Chip bei hohen Geschwindigkeiten (ab 38.400 bps) arbeiten. Die entstehenden Fehler werden zwar von Zmodem korrigiert, aber dies geht zu Lasten der šbertragungsgeschwindigkeit. Wenn innerhalb der letzten 10 Sekunden der šbertragung Chat- Zeichen bermittelt wurden, verl„ngert ZM die Chat-Zeit automa- tisch solange, bis fr mindestens 15 Sekunden kein Zeichen ber- mittelt oder bis gedrckt wurde. Mit Ctrl-L k”nnen Sie jederzeit den Inhalt des Chat-Fensters l”schen. Die Chat-Funktion von ZM ist NICHT kompatibel zu Chat-Funktionen anderer Zmodem-Varianten wie z.B. Super-Zmodem. Sie ist nicht Bestandteil des Zmodem-Standards, sondern eine propriet„re Erwei- terung. In dem „uáerst unwahrscheinlichen Fall, daá die Chat- Erweiterung von ZM bei Verbindungen zu einem anderen Programm Probleme verursachen sollte, k”nnen Sie sie mit "-nochat" abschal- ten. Bei eingeschaltetem Chat aktiviert ZM gleichzeitig einen Turbo- Modus, der die šbertragungsrate um ca. 1% erh”ht. Der Turbo-Mode ist ebenfalls kein Bestandteil des Zmodem-Standards und ist in verschiedenen Programmen (GSZ, Super-Zmodem) unterschiedlich implementiert. Er funktioniert nur, wenn auf beiden Seiten das gleiche Programm arbeitet. Beispiele --------- ZM sz FILE.ZIP sendet die Datei FILE.ZIP ber COM2 mit der aktuellen Baudrate. ZM -c3e8,5 -d sz @FILELIST sendet alle Dateien, die in der Datei FILELIST aufgelistet sind (ein Datei- name pro Zeile) ber COM3 (Adresse 3e8) / IRQ5, wobei das CD-Signal ignoriert wird. ZM -c1 -b38400 -f rz empf„ngt Dateien auf COM1 bei 38.400 bps ber einen FOSSIL-Treiber. ZM -o rz D:\DOWN\FILE.ZIP empf„ngt Dateien auf COM2 und legt sie im Verzeichnis D:\DOWN ab, wobei bereits vorhandene Dateien ber- schrieben werden. ZM -c1 -b9600 -e sz *.* sendet alle Dateien aus dem aktuellen Verzeichnis ber COM1 mit 9600 bps ber eine Terminalanbindung zu einer Unix-Gurke ZM -c3 -z1400 rz D: empf„ngt Dateien mit der aktuellen Baudrate ber COM3 (IRQ 4), legt sie im aktuellen Verzeichnis auf Laufwerk D: ab und bricht die šbertragung ab, falls die cps-Rate unter 1400 f„llt. ZCONFIG ------- Mit dem Programm ZCONFIG k”nnen die Farbeinstellungen von ZM ge„n- dert werden. Auáerdem l„át sich die Sprache fr alle Bildschir- mausgaben zwischen Deutsch und Englisch umschalten. Žnderungen in ZCONFIG werden nur wirksam, wenn Sie sie mit dem Menpunkt "Sichern" abspeichern. Falls Ihnen das Programm ZCONFIG fehlt, ist Ihr PD-ZM-Paket unvollst„ndig. Umbenennen von ZM ----------------- Sie k”nnen ZM.EXE in RZ.EXE und SZ.EXE umbenennen bzw. umkopieren. Wenn Sie RZ oder SZ starten, erspart Ihnen dies die Angabe des Parameters "rz" bzw. "sz". So k”nnen Sie z.B. durch einfaches Ein- geben von "RZ" Dateien auf COM2 mit aktueller Baudrate empfangen. PD-Zmodem und CrossPoint ------------------------ PD-Zmodem kann mit CrossPoint fr alle Netztypen auáer UUCP verwendet werden. Bei Verwendung fr Fido gengt es, den Fido- Mailer ab Version 3.07 zu verwenden und PD-Zmodem ins CrossPoint- Verzeichnis zu kopieren. Fr die brigen Netztypen mssen Sie bei Edit/Boxen/Edit/Point Folgendes eintragen: Uploader: ZM.EXE -c$ADDRESS,$IRQ sz $UPFILE Downloader: ZM.EXE -c$ADDRESS,$IRQ rz $DOWNFILE Falls Sie bei /Config/Modem "CD ignorieren" oder "CTS ignorieren" eingeschaltet haben, mssen Sie zus„tzlich den Schalter -d bzw. -h angeben. Auáerdem k”nnten die folgenden zus„tzlichen Schalter beim Download ntzlich sein: -rts falls w„hrend des Downloads regelm„áig šbertragungsfehler auftreten. Unter Umst„nden hilft auch der Schalter -tl4 oder -tl2. -beep falls Sie ein Tonsignal nach beendeter šbertragung wnschen. Bei Verwendung mit FOSSIL-Treiber, z.B. dem ISDN-Treiber cFos, sieht die Einstellung so aus: Uploader: ZM.EXE -c$PORT -f sz $UPFILE Downloader: ZM.EXE -c$PORT -f rz $DOWNFILE Logfiles -------- Wenn die Environment-Variable DSZLOG= einen gltigen Dateinamen enth„lt, oder wenn mit dem Schalter -ld ein Dateiname angegeben wurde, h„ngt ZM an diese Datei ein Logfile aller bertragenen Dateien an bzw. erzeugt eine neue Logfile-Datei. Der Schalter -ld hat Vorrang vor DSZLOG=. Die Eintr„ge haben das bliche DSZLOG- Format. Die von DSZ/GSZ gelegentlich erzeugten fehlerhaften Log- Eintr„ge wurden dabei allerdings nicht nachgebildet. Beispiel: Z 1201 19200 bps 1286 cps 0 errors 0 1024 turbo.pck -1 z 1226 19200 bps 1313 cps 0 errors 0 1024 turbo.tp -1 z 25811 19200 bps 1753 cps 0 errors 0 1024 zm-recv.inc -1 e 17408 19200 bps 1864 cps 1 errors 0 1024 test.bak -1 Die Kennung in der ersten Spalte bedeutet: Z = Datei erfolgreich empfangen z = Datei erfolgreich gesendet E = Empfangsvorgang wurde abgebrochen e = Sendevorgang wurde abgebrochen L = Carrierverlust w„hrend Empfangsvorgang l = Carrierverlust w„hrend Sendevorgang Achtung: GSZ ignoriert an dieser Stelle den Schalter zum Ignorie- ren des Carrier-Signals und erzeugt bei fehlendem Carrier ein "L" oder "l" statt "E" bzw. "e". ZM erzeugt dagegen niemals ein "L" oder "l", wenn der Schalter "-d" angegeben ist. Die brigen Spalten bedeuten (von links nach rechts): - Anzahl der bertragenen Bytes, incl. durch Crash Recovery bersprungener Bytes - DTE-Baudrate - cps-Rate (Zeichen pro Sekunde). ZM gibt hier nach M”glichkeit die korrekte Geschwindigkeit an, w„hrend das GSZ bei Crash Recovery eine falsche Geschwindigkeit errechnet. - Anzahl der aufgetretenen Fehler. ZM gibt hier immer die tats„ch- liche Anzahl von Fehlern an, w„hrend GSZ bei manuellem Abbruch 99 Fehler angibt. - Die Anzahl der "CTS-lows", d.h. eine Angabe, wie oft das CTS- Handshake zugeschlagen hat (so oft ist die CTS-LED an Ihrem Modem aus- und wieder angegangen). - Die Gr”áe des vorletzten Datenblocks oder ein Phantasiewert, falls die Datei aus nur einem Block besteht (entgegen den Anga- ben in der GSZ-Doku handelt es sich *nicht* um die Gr”áe des letzten Datenblocks). - Der Dateiname, ggf. incl. Pfad. Statt des unter DOS blichen "\" wird dabei gem„á Zmodem-Standard ein "/" verwendet - es sei denn, Sie verwenden den Schalter "-\". - Die Seriennummer des anderen Programms. ZM zeigt hier immer die tats„chlich bei jeder Datei mitgeschickte Seriennummer an, w„hrend GSZ bei jeder Datei die Seriennummer angibt, die mit der ersten Datei des laufenden Batches bermittelt wurde. Beachten Sie, daá die einzelnen Spalten keine feste Breite haben. Wenn die Dateigr”áe, die Anzahl der Fehler etc. die Breite der betreffenden Spalte bersteigt, verschiebt sich der Rest der Zeile nach rechts. Beim automatischen Auswerten eines DSZLOG-Files mssen Sie die Zeilen also als eine Liste von durch beliebig viele Leerzeichen getrennten Feldern interpretieren. Wenn die Environment-Variable ZMLOG= einen gltigen Dateinamen enth„lt, oder wenn mit dem Schalter -lz ein Dateiname angegeben wurde, h„ngt ZM an diese Datei ein Logfile aller bertragenen Dateien an bzw. erzeugt eine neue Logfile-Datei. Der Schalter -lz hat Vorrang vor ZMLOG=. Das PD-Zmodem-eigene Logfile hat Vorrang vor einem DSZ-Logfile; es wird immer nur ein Logfile erzeugt. Beispiel: Z 03-05-95 21:28:05 c:\test\turbo.pck, 1201 bytes, 1 s, 1286 cps z 03-05-95 21:28:06 e:\turbo.tp, 1226 bytes, 0 s, 1313 cps z 03-05-95 21:28:06 e:\zm-recv.inc, 25811 bytes,16 s, 1753 cps e 03-05-95 21:28:32 e:\test.bak, 17408 bytes, 9 s, 1864 cps, 1 errors T 03-05-95 21:28:52 +10s Die Position der einzelnen Spalten mit Ausnahme der ersten ist nicht festgelegt. Die erste vier Spalten sind durch ein oder mehrere Leerzeichen getrennt. Die Bedeutung dieser Spalten ist (von links nach rechts): - Kennung wie beim DSZ-Logfile, oder T fr Zeit-Synchronisation S wenn eine empfangene Datei mit Ctrl-S bersprungen wurde - Startdatum der šbertragung (mm-tt-jj) - Startuhrzeit der šbertragung (hh:mm:ss) - bei T-Zeilen: die Zeitdifferenz in Sekunden; sonst: Name der bertragenen Datei ohne Pfadangabe Nach der vierten Spalte k”nnen beliebig viele weitere, durch "," getrennt Spalten folgen. Jede dieser Spalte besteht aus einem Wert, einem oder mehreren Leerzeichen und einer Bezeichnung. Die Reihenfolge dieser Spalten ist nicht festgelegt. Vor und nach jedem Komma k”nnen Leerzeichen stehen. Die Bedeutung der einzelnen Spalten ist: - bytes: Anzahl der bertragenen Bytes. Bei Crash Recovery werden zwei durch "/" getrennte Zahlen angegeben. "1024/10000" bedeutet z.B., das 1024 Bytes bertragen wurden, daá die Datei aber insgesamt 10000 Bytes groá ist. - s: šbertragungsdauer, mathematisch auf volle Sekunden gerundet, incl. Wartezeiten vor oder nach der eigentlichen Dateibertra- gung. - cps: cps-Rate (Zeichen pro Sekunde), berechnet mit einer Genau- igkeit von 1/18 Sekunde, *ohne* Bercksichtigung von Wartezeiten vor oder nach der eigentlichen Dateibertragung. - errors: Anzahl der šbertragungsfehler. Kann entfallen, falls keine Fehler aufgetreten sind. In zuknftigen Versionen k”nnen weitere Spalten und neue Kennungen in der ersten Spalte dazukommen. Abbruch ------- ZM bricht die šbertragung ab, wenn eine der folgenden Bedingungen erfllt ist: - Sie haben gedrckt. (*) - Das Zmodem der Gegenseite verlangt einen Verbindungsabbruch. - Auf der anderen Seite hat jemand mehrmals Ctrl-X gedrckt. - Es sind mehr als 25 unmittelbar aufeinanderfolgende šbertra- gungsfehler aufgetreten. - Es ist seit ber 80 Sekunden bzw. seit der mit Schalter -ti eingestellten Zeitdauer nichts mehr passiert (Timeout). - Ihre Festplatte ist voll (nur beim Empfangen). - Sie haben den Schalter -o0 angegeben, und eine Datei wurde abgewiesen. - Die mit -z eingestellte cps-Rate wurde mindestens zwei Minuten lang unterschritten. - Die mit -t oder -xt eingestellte šbertragungsdauer wurde berschritten. - Durch Drcken von Ctrl-S (Strg+S) wird die šbertragung der lau- fenden Datei beendet und bei der n„chsten Datei fortgefahren. (*) Falls die Gegenstelle nicht reagiert, kann der Abbruch bis zu 10 Sekunden dauern. Mit nochmaligem erzwingen Sie einen sofortigen Abbruch. Errorlevel ---------- ZM liefert folgende Errorlevel zurck: 0 = šbertragung war erfolgreich 1 = šbertragung wurde abgebrochen 4 = minimale cps-Rate (Option -z) wurde unterschritten 5 = max. šbertragungszeit (Option -t/-xt) wurde berschritten 9 = fehlerhafte(r) oder fehlende(r) Parameter Beachten Sie, daá die Errorlevel 4 und 5 normalerweise nur auf der Seite erzeugt werden, die den Abbruch verursacht hat - auch dann, wenn auf beiden Seiten PD-ZM l„uft und die gleichen Abbruchbedin- gungen angegeben wurden. Die beiden Zmodem-Programme arbeiten nie vollst„ndig synchron. Auf der anderen Seite liefert PD-ZM den Errorlevel 1. Bekannte Probleme ----------------- - Die Konfiguration wird in ZM.EXE gespeichert; dadurch mssen nach jedem Update die Farben neu eingestellt werden. - PD-Zmodem untersttzt nicht den Zmodem-"Windowing Mode". Dies kann zu schlechteren šbertragungen auf paketvermittelten Verbindungen fhren (z.B. Datex-P). Fr normale Punkt-zu-Punkt- Verbindungen ist diese Einschr„nkung dagegen ohne Bedeutung. Glossar ------- 16550A Serieller Schnittstellen-Chip, der mittels eines Zwischenspeichers (FIFO) die Belastung der CPU senkt und dadurch die Stabilit„t bei h”heren šbertragungsgeschwindigkeiten erh”ht. Ein Muá bei ber 38.400 bps, bei langsamen Rechnern oder bei Verwendung von Windows oder OS/2. Leider sind die meisten Schnittstellen werksm„áig nur mit dem einfachen 16450 ausgestattet. Batch w”rtlich: "Stapel". Bei Zmodem die šbertragung mehrerer Dateien in einem Durchgang. baud Schritte pro Sekunde; nicht zu verwechseln mit bps. Ein 14400-bps-Modem arbeitet mit 2400 baud und bertr„gt bei jedem Schritt 6 bit. Ausnahme: Bei seriellen Schnittstellen ist 1 baud = 1 bps, weil mit jedem Schritt nur ein Bit bertragen wird. Baudrate šbertragungsgeschwindigkeit, gemessen in baud bps Bits (Informationseinheiten) pro Sekunde bps-Rate šbertragungsgeschwindigkeit, gemessen in bps Carrier Tr„gersignal. Wenn ein Carrier vorhanden ist, besteht eine Verbindung zwischen zwei Modems. Carrier Detect Signal, mit dem das Modem dem Rechner mitteilt, daá eine Verbindung besteht cps Characters per Second - Zeichen pro Sekunde cps-Rate šbertragungsgeschwindigkeit, gemessen in cps Crash Recovery Zmodem-Verfahren zum Fortsetzen einer unterbro- chenen šbertragung CRC Cyclic Redundancy Check - Prfsummenverfahren zur Integrit„tssicherung von Daten. Wird von Zmodem und von Modems verwendet, um zu erkennen, ob ber- tragene Datenbl”cke fehlerhaft sind und wiederholt werden mssen. CTS Clear to Send - Steuersignal, mit dem das Modem dem Rechner mitteilt, daá es empfangsbereit ist DSZ / GSZ Weit verbreitete Zmodem-Implementationen von Omen Technologies. DSZ und GSZ haben zwar einige kleine Bugs, arbeiten aber trotzdem sehr zuverl„ssig. FidoNet gr”átes privat betriebenes Mailbox-Netz FIFO siehe 16550A Fluákontrolle (flow control) - Verfahren zur Steuerung des Datenflusses, z.B. auf einer seriellen Schnitt- stelle. Man unterscheidet zwischen Hardware- (RTS/CTS)- und Software-(XON/XOFF)-Fluákontrolle. PD-ZM untersttzt nur die Hardware-Variante. Handshake siehe Fluákontrolle Interrupt Unterbrechnung - hier: eine Mitteilung der seriel- len Schnittstelle an das Programm, daá Daten ange- kommen sind. IRQ Interrupt Request (Unterbrechungsanforderung) - damit teilt u.a. die serielle Schnittstelle dem Programm mit, daá Daten empfangen oder gesendet wurden. Jede Schnittstelle ben”tigt einen eigenen IRQ. XTs haben IRQs von 0 bis 7, ATs zus„tzlich von 8 bis 15. Kermit relativ sicheres, extrem langsames und unprakti- sches Datei-šbertragungsverfahren Logfile Protokolldatei Overhead die Menge der bei der šbertragung oder Speicherung von Daten hinzugefgten "Steuerinformationen". Wenn z.B. zur šbertragung von 1000 Datenbytes zus„tzlich 20 Steuerbytes ben”tigt werden, betr„gt der Overhead 2%. RTS Ready to Send - Steuersignal, mit dem der Rechner dem Modem anzeigt, daá er empfangsbereit ist. Timeout Ein Timeout w„hrend einer Datenbertragung liegt dann vor, wenn die Verbindung fr eine bestimmte Zeit lang "festh„ngt", d.h. wenn die Gegenstelle nicht mehr reagiert. Triggerlevel beim 16550A-Chip die Anzahl von Bytes, die im FIFO-Puffer vorhanden sein mssen, um einen sofortigen Interrupt auszul”sen. Windows graphische Betriebssystemerweiterung, die DFš wieder zu einem Abenteuer macht Xmodem unsicheres, langsames und unflexibles Datei- šbertragungsverfahren, erfunden 1974 von Ward Christiansen Ymodem einigermaáen sicheres, einigermaáen schnelles, aber relativ unflexibles Datei-šbertragungsver- fahren. ZedZap im FidoNet bliche Zmodem-Variante mit 8k-Bl”cken. Einziger Vorteil gegenber Standard-Zmodem: Der Datendurchsatz ist auf fehlerfreien Verbindungen um 0,5% h”her. Zmodem sicheres, schnelles und flexibles Datei-šbertra- gungsverfahren, erfunden 1986 von Chuck Forsberg. Copyrights, Danksagungen etc. ----------------------------- Die in ZM verwendeten CRC-Routinen stammen - mit freundlicher allgemeiner Genehmigung - von Stephen Satchell. Die Zmodem- Implementation beruht auf einer Portierung des Public-Domain- Quelltextes "rz/sz" von Chuck Forsberg alias Omen Technology von Anfang 1988 (sp„tere Versionen dieses C-Quelltextes sind nicht mehr Public Domain, sondern Shareware). Mein ganz besonderer Dank geht an Anders Hejlsberg fr den besten Pascal-Compiler der Welt. Bei allen in diesem Text erw„hnten Produktbezeichnungen k”nnte es sich vorbehaltlich anh„ngiger Rechtsstreitigkeiten um eingetragene Warenzeichen handeln. PD-Zmodem selbst unterliegt keinem Copyright oder -left, ist nirgendwo eingetragen und darf fr alles verwendet werden, was Ihnen Spaá macht (sofern es sinnvoll ist, dabei ein Zmodem zu verwenden). Sie drfen auch darin herumdebuggen und reverse- engineeren, bis Ihnen schlecht wird. Bugreports und sonstige Hinweise zu PD-Zmodem sind jederzeit willkommen. Schreiben Sie an Internet: pm@daisy.de Fidonet: Peter Mandrella @ 2:2454/97.80 Fragen zu Zmodem oder zur Anwendung von PD-ZM stellen Sie bitte, sofern sie sich nicht durch Lesen dieses Textes beantworten lassen, in einem/einer passenden Netzbrett/-gruppe. Die jeweils aktuelle Version von PD-Zmodem finden Sie im Dateibe- reich "DFš-Tools" der CrossPoint-Supportbox (02672-910152, ISDN: 02672-910156) oder in der Klystron BBS (Fido 2:2454/97, Magic Name PDZM). In eigener Sache ---------------- Bevor ich dieses Programm geschrieben habe, dachte ich, es g„be so etwas wie einen Zmodem-Standard. Heute wundere ich mich ber meine Naivit„t. Mit Zmodem ist es wie mit vielen anderen DFš-Proto- kollen: Es gibt eine knappe Beschreibung, einen Ur-Quelltext in C und viele Implementationen, die versuchen, aus diesen beiden Dingen das Beste zu machen. Die Zmodem-Dokumentation hat die gleiche Krankheit wie viele andere DFš-Dokumentationen: Sie beinhaltet nur wenig Informationen zu einer sinnvollen Fehlerbehandlung. Man muá sich die Daten also aus dem Quelltext zusammensuchen und trifft dabei auf einige Inkonsistenzen. So meint die Doku zum Beispiel, daá eine Batch- šbertragung abzubrechen ist, wenn die Gegenseite einen Datei- Schreibfehler meldet; die Implementation dagegen erwartet in diesem Fall, daá der Sender mit der n„chsten Datei fortf„hrt. Auch dem "Originalprogramm" DSZ/GSZ merkt man an, daá die Fehler- behandlung teilweise auf Experimenten statt auf klaren Grundlagen beruht. Ein Beispiel ist die "Echoerkennung": Wenn ein Zmodem mit dem Echo seiner eigenen Ausgaben konfrontiert wird, sollte es die šbertragung beenden, weil auf der anderen Seite entweder kein Zmodem l„uft, oder weil z.B. auf beiden Seiten ein Zmodem-Empfang gestartet wurde. Beim Empfangen erkennt GSZ dieses Echo auch und bricht die šbertragung sauber ab. Beim Senden unterh„lt sich GSZ dagegen einfach nur mit sich selbst. Beispiel: Angenommen, Ihr Modem-Port ist COM2, dann starten Sie einmal "GSZ port 2 d sz *.*" und drcken Sie Ctrl-Break. GSZ ist dann so sehr mit seinem eigenen Echo besch„ftigt, daá es gar nicht mehr damit aufh”ren will (Not-Abbruch-Taste: Alt-N). Ein anderer Schwachpunkt vieler Zmodem-Implementationen ist ihr Umgang mit der Blockgr”áe. Zmodem erlaubt das Verwenden beliebiger Datenbl”cke zwischen 0 und 1024 Bytes L„nge. Je h”her die H„ufig- keit der šbertragungsfehler, desto kleiner sollten die Bl”cke sein, um den Performance-Verlust durch das Neubertragen von Bl”cken zu begrenzen. Schaut man aber einmal nach, wie g„ngige Zmodems ihre Blockgr”áe berechnen, dann st”át man auf haarstr„u- bende "Pi-mal-Daumen"-Formeln. Wer auch schon vor V.42 und MNP mit Zmodem gearbeitet hat, wird sich noch daran erinnern, wie manchmal bei wenigen šbertragungsfehlern die Blockgr”áe pl”tzlich auf 32 Bytes abstrzte und dort blieb, oder wie die Blockgr”áe sich immer wieder schnell nach oben arbeitete, nur um beim n„chsten Fehler wieder bei 128 Bytes zu landen. PD-Zmodem geht hier einen anderen Weg. Anhand der Fehlerh„ufigkeit und des Zmodem-Overheads (also des zus„tzlichen "Verwaltungsauf- wandes" pro Block) wird die jeweils optimale Blockgr”áe berechnet. Apropos Overhead: Was mich ein wenig berrascht hat, ist, daá der Mindestoverhead von Zmodem bei knapp 4% liegt. Anders ausgedrckt: Wenn Zmodem 1700 cps Datendurchsatz anzeigt, arbeitet Ihr Modem in Wirklichkeit mit ca. 1760 cps; die fehlenden 60 friát Zmodem. Dieser Verlust ist ein Tribut an die Universalit„t von Zmodem - es nutzt die volle šbertragungskapazit„t von 8-Bit-Datenleitungen nicht aus, weil es einzelne Systemumgebungen gibt, in denen bestimmte Zeichen nicht bertragen werden k”nnen. Daher bieten viele Zmodem-Implementation einen "Turbo-Mode", der die Bandbreite einer sauberen 8-Bit-Verbindung besser ausnutzt und zumindest 1-2% des Verlustes kompensiert. Nun, was will ich mit diesem Kapitel sagen? Daá Zmodem schlecht ist? Auf keinen Fall. Zmodem ist nach wie vor eines der schnell- sten, stabilsten und weitverbreitetsten šbertragungsprotokolle. Man sollte nur nicht glauben, daá alles Gold ist, was gl„nzt oder ein (TM) hinter dem Namen hat. Der Unterschied zwischen Zmodem und Zmodem liegt darin, wieviel Gehirnschmalz der Programmierer in die Fehlerbehandlung investiert hat. Und wenn ein Zmodem sich hier oder da ein wenig merkwrdig verh„lt, liegt das daran, daá es mit einer Situation konfrontiert wurde, die im Zmodem-"Standard" nicht vorgesehen war. Dies gilt ganz besonders fr Zmodem-Implementatio- nen in Fido-Mailern. Literatur fr Programmierer --------------------------- Chuck Forsberg, 1986-88: "The ZMODEM Inter Application File Transfer Protocol". Als Datei (ZMODEM.DOC) in den Netzen verfgbar. (*) Chuck Forsberg, 1986-88: C-Quelltext "RZ/SZ" (Public Domain). In den Netzen (insbes. Internet) verfgbar. J.R.Louvau, Philip R. Burn, Stefan Graf: TPZ 2.22 beta - Pascal- Quelltext fr Zmodem. Extrem buggy; nur zu Demonstrations- zwecken geeignet. Als TPZ222.* in den Netzen verfgbar. Rick Moore, 1988: "Fundamentals of FOSSIL implementation and use". Als Datei (FSC-0015.*) in den Netzen verfgbar. (*) Arne Sch„pers: "Turbo Pascal 4.0/5.0, Band 2", Addison Wesley, ISBN 3-89319-191-7. In diesem Buch finden Sie u.a. eine sehr gute Grundlagenbetrachtung zur Programmierung der seriellen Schnittstelle in Turbo Pascal. Wolfgang Hartung, Michael Felsmann, Andreas Stiller: Programmierung des UART 8250. c't 5/88, S. 204ff Martin Ernst, Andreas Stiller: PC-Interrupt-Programmierung (Interrupt-Controller). c't 8/88, S. 174ff Markus Maeder: Programmierung des 16550-FIFO. c't 2/92, S. 170f (*) Diese Dateien finden Sie u.a. in der CrossPoint-Supportbox; Telefonnummern: siehe oben. Versionsgeschichte ------------------ + = neu * = ge„ndert ! = korrigiert - = entfernt 0.95 21.09.94 erste freigegebene Betaversion 0.96 28.09.94 + Konfigurationsprogramm ZCONFIG + Sprache umschaltbar zwischen Deutsch und Englisch ! Abbruchverhalten wesentlich verbessert + DSZLOG + Schalter -q deaktiviert Pause bei Programmende * Schalter -r funktioniert jetzt umgekehrt + automatische Chatzeit-Verl„ngerung ! sz: es wird jetzt die korrekte CRC verwendet ! diverse kleinere Bugfixes 0.97 10.10.94 * sz: genauere cps-Berechnung ! rz -s: Fehler beim Anlegen von Unterverzeichnissen behoben 1.0 05.11.94 * DSZ-Logfile wird nur bei Bedarf ge”ffnet, um Netzwerk- Zugriffe anderer Programme zu erm”glichen + sz: Schalter -88 + Schalter -beep * Online-Zeit-Anzeige bis zum Ende des Chats 1.1á 12.12.94 ! sz: interne Timeouts korrigiert ! Restzeitberechnung bei bersprungenen Dateien korrigiert + Schalter -z, -t und -xt zur Beschr„nkung der šbertragungs- dauer + Schalter -os2 verringert OS/2-Systemauslastung 1.1 10.03.95 + Schalter -nologo und -nowin deaktivieren Bildschirmausgaben + COM-Schnittstellennummern bis 255 bei Verwendung von FOSSIL ! Schalter -os2 funktioniert jetzt auch unter OS/2 2.x + Schalter -tl setzt FIFO-Triggerlevel + Schalter -dv minimiert DesqView-Systemauslastung ! CTS-Timeout korrigiert 1.15á 18.03.95 + Schalter -ld fr DSZ-Logfile + ZMLOG= und Schalter -lz fr PD-Zmodem-Logfile + Schalter -w unterdrckt Warnungen + zus„tzliche Optionen bei Schalter -o ! Fehler bei Chat-Zeilenumbruch behoben * Fehlertoleranz bei der Dateinamenauswertung erh”ht ! korrekte "L"-Kennzeichnung im Logfile bei Carrierverlust * Sendegeschwindigkeit optimiert * h”chste Schnittstellennummer von 255 auf 50 verringert * FOSSIL von Byte- auf Blocktransfer umgestellt ! Timeout-Fehler beim Datumswechsel (23:59->00:00) korrigiert + Schalter -ti fr Timeout-Dauer + Schalter -82 und -84 fr Startblockgr”áe 2k bzw. 4k + Schalter -ts fr Uhrzeit-Synchronisation 1.2 02.06.95 + Schalter -os2a bis -os2d * OS/2-Schalter werden ignoriert, falls kein OS/2 vorhanden + Schalter -\ fr Backslashes im DSZ-Logfile 1.21 07.08.95 ! Fehler bei -os2a korrigiert ! Zeitsynchronisation funktioniert jetzt auch ohne Logfile + Ctrl-S berspringt den Rest der laufenden, empfangenen Datei + Schalter -dtr * RTS-Handshake verbessert 1.22 19.09.95 ! sz: seltenes Problem beim šberspringen vorhandener Dateien behoben 1.23 03.11.95 * Schnittstellenbug von SMC-Chipsatz wird abgefangen | 1.24 06.04.06 | ! Fehler in Chatzeitverl„ngerung behoben | * FOSSIL-Sendepuffer vergr”áert