** Dokumentation zum Z-Modem DFUE-Programmm"ZMP" ** 1. Einf}hrung. ZMP ist ein Kommunikations-/Dateitransfer Programmm f}r CP/M, das Xmodem, Xmodem-1k (irrt}mlicherweise oft als Ymodem gef}hrt), echtes Ymodem- und Zmodem-Dateitransfer Protokoll kennt. Trotzdem es unter Z80DOS, ZRDOS und CP/M 2.2 getestet wurde, gibt es keinen Grund, warum es nicht auch unter CP/M 3 laufen sollte (Wurde bereits erfolgreich getestet!). Alles was man braucht ist ein Z80 Prozessor (sorry!), einen Computer mit CP/M in irgendeiner Form, mit einem Minimum von 45k TPA (je mehr, desto besser!), und ein Modem (Anmerkung f}r CPC und JOYCE Besitzer: ... und eine serielle Schnittstelle!). Wenn man versucht, so viele Features in ein einziges Programmm zu packen versucht, erh{lt man eine ziemlich gro~e Datei. Das gro~e Problem tritt aber auf, wenn man Dateitransfer versucht: wenn man nicht mindestens 4-8k an Puffer hat, kann man genauso gut das Xmodem-Protokoll verwenden. Bei ZMP wurden deswegen Overlays f}r die verschiedenen Funktionen verwendet, womit man die Ladezeiten von Diskette in Kauf nimmt. Daher wird die Geschwindigkeit zum Teil vom Disk-Setup abh{ngen: hat man zum Beispiel eine Hard-Disk und einen schnellen Prozessor, wird man fast keine Nachteile bemerken. Wenn Sie andererseits einen Commodore 128 mit CP/M auf dem 1571 Laufwerk betreiben, gibt es keinen physikalischen Grund, warum ZMP nicht laufen sollte, aber vielleicht sollte man in ein gutes Buch investieren, das man lesen kann, w{hrend die Overlays laden. (Eine Empfehlung am Rande w{re etwa ein Computer-Katalog!). Die Neugierigen unter Euch bemerken vielleicht am Beginn von ZMPX.COM den magischen 'Z3ENV'-String, aber la~t Euch nicht t{uschen! Ihr braucht trotzdem eine Terminal-Anpassung im Overlay, wenn Ihr ein ZCPR3-System habt. Es ist schon gelungen, diesen C-Compiler zu }berreden, den ZCPR3 Environment-Deskriptor zu benutzen, aber bei ZMP hat das nicht geklappt. Bis jetzt nicht. Vielleicht sp{ter. In der Zwischenzeit, ist der Startup Code dort, um daran zu erinnern. Um ein Programmm zu erzeugen, das mit den meisten CP/M Systemen funktioniert, ist das von ZMP verwendete Zmodem-Protokoll relativ simpel. Die sendende Abteilung verwendet 'Full Streaming with Reverse Interrupt', wie Chuck Forsberg es in seiner Beschreibung des Zmodem-Protokolls bezeichnet (ZMODEM8.DZC). Die empfangende Sektion verwendet 'Segmented Streaming'. Das bedeutet, da~ wenn das System seriellen I/O und Disk I/O gleichzeitig bew{ltigt, ZMP nicht von diesen F{higkeiten Gebrauch macht. Da ich jedoch nicht gleichzeitig schreiben und zuh|ren kann, mein Computer schon gar nicht, sowie auch die }bwerw{ltigende Mehrzahl der CP/M-Computer, war es f}r mich der gangbarste Weg. Segmented Streaming bedeutet, da~ das empfangende Programm dem teilt dem }bertragenden Programm mit, wie gro~ sein Puffer ist. Das }bertrage Programm schickt dann genau so viel Daten, wartet dann auf ein Acknowledge vom Empf{nger. Es gab schon Zmodem-Programme, die zuviele Daten in diesem Fall geschickt haben: wenn das geschieht, treten Fehler auf, aber das Protokoll sollte sich erholen und die Datei intakt }bertragen werden (hoffentlich!). Der String, den ZMP dem empfangenden Programm }bergibt, um im Fehlerfall zu unterbrechen, ist genauso simpel. Im Grunde veranla~t es das empfangende Programm, ein Control-C zu schicken und dann eine Sekunde zu warten. Der Empf{nger sendet dann seinen ZRPOS String, w{hrend der Zeit ZMP, als Sender, bereit sein sollte. 2. Anpassung. ZMP mu~ angepa~t werden, um auf einem bestimmten System laufen zu k|nnen. Damit verbunden ist das ]berlagern der uninstallierten Version von ZMP.COM (in der Library als ZMPX.COM enthalten) mit einem selbstgeschriebenen User-Overlay. Einige Hinweise, wie man so etwas schreibt, finden sich weiter unten; es gibt eine Blanko Overlay-Datei in dieser Library, oder Du kannst eins f}r Deinen Computer von daher kriegen, wo Du diese Library herhast. Dieser Wert wird bei 0145 HEX eingetragen, und sollte dort permanent bleiben. Siehe auch die Anmerkungen in diesem Dokument und im ZMP-OVL.UPD File f}r mehr Details, wie Du Dein Overlay erstellen kannst. Ist das Installations-Overlay geschrieben, wird es mit M80 (oder SLR oder was auch immer Du benutzt) assembliert, mit RELHEX eine .HEX-Datei erzeugt, und mit MLOAD dem ZMPX.COM }berlagert, um Dein ureigenstes ZMP.COM zu erzeugen. 3. Betrieb . Folgende Programmme m}ssen sich auf demselben Laufwerk und Userbereich befinden, die im Overlay spezifiert wurden: ZMCONFIG.OVR --- die Konfigurierungsdatei ZMINIT.OVR --- die Initialisierungsdatei ZMTERM.OVR --- die Terminaldatei ZMXFER.OVR --- die Daten]bertragungsdatei ZMP.HLP --- die Hilfedatei (dringend empfohlen) Starten Sie das Programmm mit "ZMP". Der Bildschirm sollte gel|scht werden und eine eine ]berschrift, erscheint, dann befindet sich ZMP im Terminalmodus. Mit ESC-H k|nnen Sie an dieser Stelle Hilfe erfragen. Wenn Sie das Programmm zum erstenmal starten, m}ssen Sie zun{chst mit Hilfe der Konfigurationsdatei (dr}cken Sie ESC- C) Ihr System konfigurieren. Wenn Sie nicht sicher sind, ob Werte ge{ndert werden m}ssen, ist es besser, die vorgegebenen Werte zu }bernehmen. Wenn Sie das KonfigurationsProgrammm verlassen, beantworten Sie die Frage: "make changes permanent" mit "Y". ZMP.FON und ZMPCFP werden damit auf Ihrer Diskette erstellt. Die Handhabung des Programms ZMP wird von ESCAPE-SEQUENZEN gesteuert, die im Terminalmode eingegeben werden. ESC-H gibt eine Liste der Optionen aus, die hier erkl{rt werden sollen. ESC-B = Unterbrechungsanforderung an das Modem senden. (Wenn Ihr System daf}r konfiguriert ist, k|nnen Sie so eine ZMODEM-]bertragung unterbrechen). ESC-C = System konfigurieren. Mit dieser Funktion k|nnen Sie Voreinstellungen des Systems festlegen, Telefonnummern speichern, etc. Um Baudraten etc. f}r eine bestimmte Anwahl zu {ndern benutzt man besser die ESC-L = Option. ESC-D = Auflisten des Directorys des angemeldeten Laufwerks und Users. User- oder Laufwerkswechsel mit dem unten beschriebenen ESC-F Befehl. Das Inhaltsverzeichnis wird sortiert und beinhaltet die Dateigr|~e, es sei denn, es gibt so viele Dateien, da~ der Puffer zum Sortieren nicht reicht. In diesem Fall wird ein unsortiertes Directory ohne Dateigr|~en angezeigt. ESC-F = Disketten-/Datei-Operationen. Dieser Befehl wird benutzt, um Laufwerk oder User zu wechseln, die Diskette im aktuellen Laufwerk neu anzumelden, Dateien anzuschauen und zu l|schen, sowie umzubenennen oder auszudrucken. Es gibt auch Optionen, um das Laufwerk oder den Userbereich anzugeben, sowie den Namen des Protokoll-Files zu {ndern. Dieser Dateiname kann einen anderen Userbereich und ein anderes als das gegenw{rtige Laufwerk enthalten. Wenn "capture mode" an ist, wird beim Eintritt in den Terminal-Modus der Name der Protokoll-Datei angezeigt. ESC-H = Hilfefunktion. Zeigt die Datei ZMP.HLP an. Sie k|nnen dann mit ENTER (CR=Carriage Return) zum Terminal-Modus zur}ckkehren oder die betreffende Funktionstaste benutzen. ESC-I = Ininitialisierung einer Telefon-Anwahl. Liest das ZMP.FON-File, falls vorhanden, und zeigt es an. Nach dem dr}cken von ESC-I haben Sie 4 sec Zeit, um eine Telefon Nr. einzugeben, die dann angew{hlt wird. Andernfalls wird die komplette Telefonliste angezeigt (ausgedruckt ?) und Sie werden aufgefordert, die entsprechende Nummer auszuw{hlen. Sie k|nnen aber auch Telefonnummern eingeben, die nicht in der Liste stehen. Mehrere Nummern werden duch Kommata getrennt, und dann wird angew{hlt. Der Prozess l{uft, bis sich unter einer der angew{hlten Nummern jemand meldet, oder Sie mit ESC unterbrechen. Vergewissern Sie sich, da~ die Baudrate f}r diese Nummer, der aus dem .FON-File entspricht, oder die gegenw{rtig eingestellte, wenn eine neue Nummer eingegeben wird. Diese Funktion arbeitet am besten, wenn die Strings im .CFG-File f}r Ihr Modem angepa~t sind, und der Initialisierungsstring das Modem auf Wortmeldung (V1) gesetzt hat. (Beispiel CONNECT 1200) ESC-K = Anzeigen von Tastatur-Macros. Die Konfigurationsoption erlaubt die Definition von bis zu zehn Funktionstasten. Diese werden abgerufen durch dr}cken von ESC- zusammen mit einer Zahl von 0 - 9. ESC-K listet die gegenw{rtigen Einstellungen auf. ESC-L = [ndern von Zeichen. Diese Funktion erlaubt die zeitweise [nderung von Baudrate, Stop-Bits und Data-Bits. Sie k|nnen auch den Terminalbetrieb auf "Full Duplex" umstellen (vom Benutzer lokal eingegebene Zeichen werden }bertragen, aber nicht auf dem Bildschirm angezeigt), "Half Duplex" (eingebene Zeichen werden }bertragen und auf dem Bildschirm angezeigt), "echo mode", (wie Full Duplex, aber empfangene Zeichen werden sowohl zum anderen System geechot als auch angezeigt). Kommunizieren Sie mit anderen Computern nicht }ber den "echo-mode", es sei denn, Sie haben Langeweile. Es gibt auch Optionen, Steuerzeichen oberhalb von CR (Zeichen 13) im Terminalmodus anzuzeigen oder zu unterdr}cken, das Parity-Bit im Terminalmode auszumaskieren und die gegenw{rtig selektierte Schnittstelle und MODEMs mit der gegenw{rtigen Baud-Rate zu reinitialisieren. Wie IMP, benutzt auch ZMP die Adresse 003C HEX, um dort einen der Baudrate entsprechende Wert abzulegen. Wenn Sie ZMP verlassen und sp{ter wieder aufrufen, pr}ft es diese Adresse 003C HEX. Wenn ein g}ltiger Wert eingetragen ist, wird diese Baudrate f}r Sie gesetzt, andererseits wird der Standardwert aus ZMP .CFG }bernommen. Sie finden in diesem Menue auch eine Option, die im Terminalmodus Wort-Umbruch (WORD-WRAP) gestattet und die M|glichkeit, auf eine andere Schnittstelle umzuschalten. Die Wort-Umbruchfunktion ist sehr vereinfacht, aber sie funktioniert. Sie funktioniert nur mit Zeichen, die }ber die Tastatur eingegeben werden und bricht nach dem 80. Zeichen einer Zeile um. Wenn Sie mit einer Mailbox kommunizieren, die auch "word-wrap" eingeschaltet hat, ist es besser, Sie lassen ihn ausgeschaltet, sonst k|nnen doppelte Zeilenabst{nde auftreten. Aber wenn Sie mit einem menschlichen Operator sprechen oder ein Packet-Radio Funkmodem benutzen, schalten Sie es besser ein. Der "Alternate-Port Switch" erlaubt die Benutzung zweier (Schnittstellen) unter ZMP. Die Statuszeile (bei Beginn) zeigt an, welcher Port in Ben}tzung ist. Das Konfigurationsmen} erlaubt die Definition einer Schnittstelle als Standard-Port, die dann automatisch ausgew{hlt wird. ESC-M = Mitschreiben im Memory-Puffer ein-/ausschalten (Protokoll-Modus f}r die Sitzung). Empfange Zeichen werden in einem Puffer gespeichert und in eine Datei mit Namen ZMP.LOG gespeichert, wenn der Puffer voll ist, oder wenn der Befehl noch einmal eingegeben wurde. Eine CTRL-S bzw. CTRL-Q Sequenz wird zum entfernten Computer gesendet, w{hrend der Puffer gespeichert wird, um in der Zwischenzeit die Daten}bertragung zu unterbrechen. ESC-P = Toggle Printer Entspricht dem ESC-M Befehl, nur dass die ankommenden Zeichen auf den Drucker gesandt werden. ESC-Q = Verlassen des Programms. Alles au~er N f}hrt ins CP/M zur}ck. ESC-R = Receive File (Datenempfang) Sie werden gefragt, welches Protokoll Sie benutzen wollen, Default ist ZMODEM. Die XMODEM-Option erlaubt sowohl 128-byte-Bl|cke, als auch 1K-Bl|cke, da dies auf der }bertragenden Seite entschieden wird. Wird ein Versuch unternommen, eine Datei gleichen Namens downzuloaden, wie eine auf diesem Laufwerk/User bereits bestehende, wird die bereits vorhandene Datei in eine .BAK-Datei umbenannt, die neue normal }bertragen (Weiter unten ist ein Hinweis auf den Wieder-Aufnahme-Modus ab ZMP Version 1.5). Beachten Sie bitte, da~ der Byte-Z{hler auf dem Bildschirm w{hrend des Empfangs nicht immer aktuell ist. Das r}hrt daher, da~ die Daten laufend ankommen und keine Zeit bleibt, sie bei Computern ohne Interrupt-Betrieb fortw{hrend auf dem Bildschirm zu aktualisieren. Ein Update erfolgt dann, wenn Fehler auftreten, oder wenn der Computer pausiert, um auf Diskette zu schreiben. Beginnend mit Version 1.4, m}ssen Sie, beim Sender den Transfer ausl|sen, das Laufwerk und den User-Bereich ausw{hlen und warten. Das Anlegen der Datei geschieht dann automatisch nach Erhalt des ZRQINIT-Strings vom Sender. Die Version 1.5 hat die F{higkeit, unterbrochene ]bertragungen wieder aufzunehmen. Wenn eine ]bertragung scheitert, werden Sie gefragt, ob die bereits empfangenen Daten gespeichert werden sollen. Falls nicht, werden sie gel|scht. Wenn JA, werden Sie, sobald Daten mit einem gleichnamigen Dateinamen }bertragen werden, gefragt, ob die Daten zusammengef}hrt werden sollen. In diesem Fall wird am Ende der bestehenden Datei angeh{ngt. Andernfalls wird, wie zuvor, die Datei in eine .BAK-Datei umbenannt. Da diese Entscheidung empf{ngerseitig getroffen wird, sollte sie mit jeder ZMODEM Implementierung funktionieren, die Chuck Forsbergs Standard entspricht. Es wurde getestet mit ZMP und RZMP, und ich h{tte gerne eine R}ckmeldung, wenn es mit irgendeinem Programm nicht laufen sollte. In ZMP ist die CRC-Pr}fsumme noch nicht implementiert, die bei dieser "Crash-Recovery" die gem{~ ZMODEM Protokoll die Datei-Identit{t eindeutig bestimmen kann. ESC-S = Senden von Daten. Entspricht der ESC-R Funktion. Zus{tzlich k|nnen Sie w{hlen, ob Sie ASCII }bertragen wollen, und Sie k|nnen w{hlen zwischen XMODEM und XMODEM-1K. Im Y-MODEM und Z-MODEM Modus sind Wildcards gestattet (*.* etc.) Mehrere einzelne Dateinamen werden durch ein Leerzeichen getrennt eingegeben. In allen F{llen k|nnen Dateinamen mit unterschiedlichen Laufwerks-und Usernamen wie unter ZCPR3 (z.B. C7:NETTPROG.HEY) verwendet werden. Im Z-Modem Modus wird eine BYTE-Count Information angezeigt. Das erzeugt merkbare Breaks zwischen den Packets, aber ich glaube, die Vorteile }berwiegen hier. Der Z-Modem Modus von ZMP kennt 32-Bit CRC Pr}fsummen (CRC-32), es wird aber auf 16-Bit heruntergeschaltet, wenn der Empf{nger das nicht kann. Einige andere Terminalprogramme jedoch, machen seltsame Sachen, wenn sie auf ein Empf{ngerprogramm treffen, das vorgibt, CRC-32 zu k|nnen (auf dem AMIGA ist uns sowas schon mal begegnet). Wenn das geschieht, kann man mit der ESC-L Option und dem Konfigurations-Overlay dieses Feature "disablen" - abschalten. ESC-U Userdefiniertes Overlay ausf}hren Hier hat der User noch freie Hand f}r eigene Funktionen und andere Protokolle, die nicht ins Standard-Overlay passen. Diese m}ssen ZMxxxxxx.OVR benannt werden und gelinkt werden, um an eine bestimmte Adresse geladen zu werden, die vermutlich bei diversen Versionen variiert. F}r die Version 1.5 ist dies Adresse 3ABA HEX. Wenn gen}gend Interesse besteht, kann ich ein Liste der in ZMP.COM verf}gbarer Funktionen erstellen, um sie in solche Overlays einzubinden. Nach dem Eingeben von ESC-U wird man nach dem Namen des Overlay-Files gefragt. Dieses wird dann ganz normal ausgef}hrt. EIn Beispiel daf}r ist ZMYAPP.OVR, das weiter unten beschrieben wird. Andere M|glichkeiten beinhalten ein Kermit-Protokoll, aber das w{re ein gr|~eres St}ck Arbeit. Wenn Interesse bestehen sollte, oder irgendwelche anderen Vorschl{ge existieren sollten, geben Sie mir bitte Bescheid. ESC-X = Hangup (Beenden) (schickt ATH zum Modem) Mit dieser Funktion unterbrechen Sie die momentane Telefonverbindung. ESC-Y = print screen (Bildschirmausdruck) Im Standard-Overlay nicht m|glich, aber machbar. ESC-Z = Claer screen (Bildschirm l|schen) 4. Tips f}r Overlay-Schreiber. Der meiste Code ist recht geradlinig und wird kein Problem darstellen. Die Abteilung, die wahrscheinlich Kopfzerbrechen bereitet ist der Teil, der das Setzen der Baudrate betrifft und (speziell) der Code zum Einstellen der korrekten Parit{t, Anzahl der Stop Bit(s) und der Data Bits. Wir empfehlen, erst den Hauptteil des Codes zum Laufen zu bringen, indem man ein RETurn einf}gt, wo es hei~t:"put your code here". Damit ist der Rest des Codes }berpr}fbar. Wenn der Eingangsbildschirm 'sauber und gepflegt' aussieht, wissen Sie da~ 1) der Code an der richtigen Stelle sitzt und 2) die Cursorroutinen stimmen. Jetzt das I/O testen durch direkte Eingabe ans Modem und danach durch AUstausch einer Datei mit einem anderen Z-User oder -board, nachdem Sie den Ein-/Ausgabe-Baustein mit einem anderen Programm (etwa IMP) eingestellt haben. Jetzt machen Sie sich an die Baudraten-Einstellroutinen und schlie~lich ans Eingemachte: Parit{t etc. 5. Weitere Information. a) ZMP bei h|heren Baudraten. Als ich ZMP zuerst gemacht habe, lag mein Interesse in der Herstellung eines universellen Zmodem-Programms, vor allem anderen. Urspr}nglich (einige C Compiler zur}ck!) hatte ich Schwierigkeiten um }berhaupt mit 300 Baud arbeiten zu k|nnen, und daher verschwendete ich wenige Gedanken auf die Verwenbarkeit h|herer ]bertragungsraten. Es gibt besonders einen eingebauten "Designfehler", der ZMP wahrscheinlich behindert bei Transferraten oberhalb von 4800 Baud. Das Problem liegt im User-Overlay in der mrd: Routine. Hier w{re eine Routine erforderlich, die beim Anliegen eines Zeichens am Modem TRUE abliefert oder bei einem TIMEOUT von 100ms ein FALSE. Der Fallstrick ist, da~ ich 100 x 1mS WAITs benutze, wobei in der Zwischenzeit auf ein Zeichen getestet wird. Ein wenig Nachrechnen zeigt, da~ ein 9600 Baud Zeichen etwas mehr als 1 mS braucht, bis es }bertragen ist, 19200 Baud Zeichen entsprechend die H{lfte. Auf diese Art und Weise haben wir quasi die Garantie, bei 19200 Zeichen zu verlieren und sogar bei 9600 Baud haben wir f}r das Bearbeiten der Zeichen wenig Prozessor-Zeit zur Verf}gung. Es gibt zwei L|sungen, das Problem zu umgehen; i) Die Wartezyklen verk}rzen, etwa 1000 x 100 uS Perioden statt dessen. Dadurch jedoch wird die tats{chliche Zykluszeit noch unvorhersehbarer, da die Subroutine call/return -Zeiten vergleibar mit Wartezeiten sind. Es verhindert also h|chstens das Schlimmste. ii) Die Verwendung eines Hardware-Timers, um zu entscheiden, ob 100 mS verstrichen sind. Diesem Weg ist der Vorzug zu geben. Dadurch wird die mrd: Routine in einer Endlos-Schleife laufen, die immer anspricht, wenn entweder ein Zeichen anliegt oder wenn der Hardware Timer abgelaufen ist. Ein embryonales CP/M-68K-ZMP, das diesen Weg benutzt, hat verl{~liche ]bertragungen von 19200 Baud ergeben (obwohl man zugeben mu~, da~ das bedeutet, einen 68010 bei 10 MHz zu betreiben!). Ich freue mich }ber jeden, der mir vom Erfolg mit dem einen oder anderen Weg berichtet. b) Das ZMYAPP Overlay. Diese dient f}r das Amateur Packet Radio YAPP Protokoll, und wird angesprochen }ber die ESC-U Funktion. Die Bedienung ist ziemlich klar ersichtlich, aber es gibt ein paar Probleme damit, abh{ngig von den Harwaref{higkeiten des jeweiligen Rechners. Der haupts{chliche Grund ist der, da~ wenn die zu empfangende Datei gr|~er als der Puffer im ZMP ist, der Rechner mit dem ZMP unbedingt einen Hardware-Handshake (CTS/RTS) aufweisen mu~. Offenbar gibt es keinen anderen Weg, eine Funk}bertragung zu unterbrechen (TNC im Transparent-Modus), w{hrend der Puffer auf Diskette geschrieben wird. Dasselbe passiert, wenn der TNC-Puffer }berl{uft: wenn der TNC das ZMP Programmm nicht mit CTS (DTR???) stoppen kann, wird der Puffer zerst|rt. Das ZMYAPP Overlay arbeitet gut mit kleinen Dateien. Wiederum w}rde ich mich bei einem Erfolg bei gr|~eren Dateien auf unterschiedlichen Maschinen freuen, was von Ihnen zu h|ren. 6. W}rdigungen. ZMP wurde entwickelt aus Hal Maney's Heath-Programm HMODEM II. Ich m|chte mich bei Hal f}r das Schreiben von HMODEM bedanken: CP/M Usern war das ZMODEM-Protokoll schon viel zu lange vorenthalten. Wie im Quellcode gefordert, erscheint die entsprechende W}rdigung auch darin. Anerkenung ergeht auch an die Autoren des Hi-Tech C-Compilers, der sich bew{hrte beim Herstellen schnellen und kompakten Codes f}r Z80 machines. ZMP in seinen verschiedenen Inkarnationen wird veredelt durch die Anregungen von Ihnen, den Usern. Im besonderen m|cte ich Mike Allen, Richard Kopplin und Fred Haines danken f}r ihre unsch{tzbaren Vorschl{ge. Manchmal mag ich ein bi~chen kangsam beim Implementieren sein, aber irgendwie komme ich dann schon hin! Fred Haines hat sich auch freundlicherweise angeboten als U.S.-Sammler f}r Bug-Reports, Vorschl{ge etc. Seine Adresse erscheint am unteren Ende dieses Dokuments und er wird sie an mich weitergeben }ber das, was er 'U.S. Schneckenpost' nennt. Ich werde mich bem}hen, auf dem Weg zu antworten, was ich als 'Australische Pest' bezeichne. Ein Dankesch|n auch an Lindsay Allen, Sysop des Z-Node 62. Auf seinen eigenen Wunsch wurde sein Name aus dem Original ZMP11 Titel-Bildschirm entfernt, da ich die meiste Arbeit geleistet habe, das Hmodem an andere Maschinen anzupassen. Ohne Lindsay's Ermutigungen in schwierigen Zeiten w{re ZMP nicht entstanden, etwa ohne seine Vorschl{ge }ber das Vorgehen bei widerspenstigen Prozeduren und seine Experimente mit Datei}bertragungen. Vielen Dank. 7. Schlie~lich... Die Dateien in dieser Library werden hiermit in die Public Domain }bergeben. Also nicht verkaufen, nicht behaupten, es w{re von Ihnen, oder irgendwas anderes tun, was mich grantig machen w}rde. Und vor allem, macht mich ja nicht haftbar, wenn es nicht funktioniert, oder wenn SIe }ber die Diskette gestolpert sein sollten oder dergleichen. Ich habe die Quelltexte teils nicht verteilt aufgrund der immensen Gr|~e, teils wegen des Umstandes, da~ die Compilierung schlampig ist (ich mu~te einige "Standard" Library Funktionen {ndern!), und teils weil es immer noch was zu tun gibt daran. ]brigens habe ich so etwas wie Vatergef}hle f}r ZMP, da ich die meiste Zeit meiner letzten 4 Monate damit verbracht habe, daran zu arbeiten. Also hier ist die Vereinbarung: Ich werde weiter ZMP (und RZMP) unterst}tzen, bis ich es nicht mehr sehen kann. Wer wei~, wie lange das dauern kann! Zu diesem Zeitpunkt werde ich den Quellcode an die Mailbox-Gemeinde verteilen und Sie k|nnen dann daraus machen, was Sie wollen. ZMP hat einen Verwandten f}r "Remote Systems", also Mailboxen und dergleichen, n{mlich RZMP. Dies gestattet Zmodem-Transfer zum und vom Fremden System. Is sollte aus der selben Quelle erh{ltlich sein, aus der Sie ZMP bezogen haben. Ich habe auch eine Schrumpfversion von ZMP f}r CP/M-68K gemacht, das momentan ganz gut l{uft als einzelnes .68K-File (ohne Overlays!) auf einem System mit 128KB Speicher. Sollte seitens der CP/M-68k User (gibt es welche??) Interesse bestehen, k|nnte ich mich }berreden lassen, das Ding soweit aufzur}sten, da~ man's vert|ffentlichen kann. Kommentare und Vorschl{ge wilkommen. Fehler-Reports nicht so, aber trotzdem- her damit! Beides senden an: Z-Node 62 Perth, Western Australia (061+) 09-450-0200 (Bald }ber FidoNet erreichbar) U.S. User k|nnen ihre Reports/Kommentare schicken an: Fred Haines, 733 North King's Road, Apt. 356 Los Angeles, California 90069 -- Ron Murray 26th March, 1989 ----------****** Deutsche ]bersetzung: *******------------ --- Andreas Uebele , 10. August 1991 --- Helmut Jungkunz, 13, August 1991 --------------------- DATEI-ENDE ----------------------------