zjlink: Dateitransfer via Nullmodem

Ich habe ein kostenloses Programm gesucht, das Dateien über ein Nullmodem überträgt. Bedingung war, daß es auf einer Seite unter MS-DOS 5.0 und auf der anderen Seite unter Windows XP funktioniert. Leider konnte ich ein solches Programm nicht finden, weshalb ich selbst eins geschrieben habe. Das Anwendungs-Szenario ist übrigens ein PC-AT 80286 auf dem ich ein paar alte Programme laufen lassen möchte. Zwar verfügt er über ein 3,5"-Floppy-Laufwerk, doch dummerweise haben alle anderen bequem erreichbaren PCs kein solches Laufwerk mehr.

Das Programm kann in einem Server-Modus und in einem Client-Modus laufen, wobei die Dateien vom Client zum Server übebertragen werden. Während der Übebertragung wird ein Fortschrittsbalken angezeigt. Das DOS-Programm schreibt und liest direkt die Register des 8250(-kompatiblen) UARTs. Mehr zur Funktionsweise habe ich auf dieser Seite geschrieben. Auf der Windows-Seite werden die COM-Geräte wie erwartet mit CreateFile() geöffnet und verwendet. Es können beliebige Baudraten angegeben werden. Aus ihnen werden die Frequenzteiler für das UART berechnet, d.h. es müßen keine Werte aus der "Normreihe" sein. Auf der Windows-Seite kann es allerdings Hardware geben, die mit krummen Baudraten nicht klar kommt. Deshalb hier nochmal die garantiert zulässigen Werte: 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Wie hoch man mit der Baudrate gehen kann hängt davon ab, wie schnell auf der DOS-Seite die Daten aus dem UART abgeholt werden können. In meinen Versuchen kam ich auf bis zu 19200 Baud. Die Qualität der Verbindung kann auch eine Rolle spielen. Will man also in einem Endzeit-Szenario über zwei in der Wüste verlegte Drähte übertragen, kann man ggf. auf 600 Baud beschränkt sein. ;-)

Die DOS-Binaries sind mit Turbo C 2.01 compiliert. Dieses gibt es kostenlos im ehemaligen Borland Museum, das jetzt bei Embarcadero gehostet wird. Antique Software: Turbo C version 2.01.

Downloads

Version Datum Änderungen Datei Beschreibung
1.0 2008-10-28 Erstes Release zjlink-1.0.win32.zip Binaries für Win32
zjlink-1.0.dos.zip Binaries für DOS
zjlink-1.0.src.zip Quellcode