atari-home.de - Foren

Software => Software (16-/32-Bit) => Thema gestartet von: guest2349 am Sa 15.11.2014, 11:40:52

Titel: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: guest2349 am Sa 15.11.2014, 11:40:52
Hallo Leute,

ich habe ein kleines Programm geschrieben um Dateien über die serielle Schnittstelle zu übertragen. Vergleichbar ist es mit GhostLink. Das Programm läuft auf Linux, MacOS X und Windows. Voraussetzung für den Betrieb ist natürlich eine Verbindung zwischen PC und Atari via Null-Modem-Kabel (z.B. per USB-Adapter).

Leider ist es noch nicht so Benutzerfreundlich wie ich es mir wünsche, aber vielleicht dennoch recht nützlich für den einen oder anderen Anwender. Getestet wurde es von mir bisher nur auf einem Atari Falcon030 mit 115200 Baud.

Der Aufruf des PC-Programms sieht wie folgt aus:
SerialDisk.exe --port=<serial_port_name> [Options] [<virtual_disk_path>]

Options (default):
--disk-size=<disk_size_in_mb> (128)
--baud-rate=<baud_rate> (115200)
--parity=[N|O|E|M|S] (N)
--stop-bits=[N|1|1.5|2] (1)
--data-bits=<data_bits> (8)
--handshake=[None|RTS|RTS_Xon_Xoff|Xon_Xoff] (RTS)
--verbosity=[0|1|2] (0)

Das TOS-Programm benötigt keine weiteren Parameter und legt ein Laufwerk "M:" an. Dieses muss noch als Icon auf dem Desktop angelegt werden.

Die Programme für den PC und Atari als Archiv:
http://www.atomic-skulls.de/temp/AtariSerialDisk.zip

Die Quellen beider Programm sind hier zu finden:
https://bitbucket.org/AnimaInCorpore/stserialdisk
https://bitbucket.org/AnimaInCorpore/monoserialdisk

Wenn beide Programme gestartet wurden und natürlich eine serielle Verbindung besteht, kann man den Inhalt des geteilten Ordner des PCs auf dem Atari über das Laufwerk "M:" ansprechen.

Eine etwas ausführlichere Anleitung in Englisch:
https://bitbucket.org/AnimaInCorpore/monoserialdisk/src/730112ab48988edf173f3227379bbc2e12294219/README.md?at=master

Viele Grüße
Sascha
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: 1ST1 am Sa 15.11.2014, 11:52:18
Geniale Sache, kommt das Teil auf PC-Seite auch mit UNC-Pfaden ( \\server\freigabe\pfad ) klar?
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: guest2349 am Sa 15.11.2014, 13:28:04
Geniale Sache, kommt das Teil auf PC-Seite auch mit UNC-Pfaden ( \\server\freigabe\pfad ) klar?
Es gibt bezüglich des Pfades soweit keine Besonderheiten zu berücksichtigen, bzw. in Kurzform: ja, es sollte gehen. Getestet habe ich es allerdings noch nicht. ;)

Das Programm auf PC-Seite erstellt aus dem Inhalt des Verzeichnisses eine virtuelle FAT, die dann dem Atari-Programm als Laufwerk zur Verfügung gestellt wird. D.h. es wird kein Platz für die eigentlichen Datei-Daten im Speicher benötigt, sondern nur eine entsprechende FAT-Struktur inklusive einer sequenziellen Liste mit Cluster->Datei/Index Zuordnungen.
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: 1ST1 am Sa 15.11.2014, 17:37:21
Wow, du simulierst also ein Laufwerk auf Blockebene! Ganz schön aufwändig! Wäre es nicht einfacher gewesen, das auf Dateisystemebene (GEMDOS) zu machen, wie es Midicom auch macht?
Ansonsten mein erster Test damit war erfolgfreich, allerdings sehr langsam (das war klar) und bleibt bei größeren Dateien hängen, was am USB-Adapter liegen kann, der 64-Bit.Treiber für den Adapter ist etwas holprig.
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: guest2349 am Sa 15.11.2014, 17:59:18
Wow, du simulierst also ein Laufwerk auf Blockebene! Ganz schön aufwändig! Wäre es nicht einfacher gewesen, das auf Dateisystemebene (GEMDOS) zu machen, wie es Midicom auch macht?
Ansonsten mein erster Test damit war erfolgfreich, allerdings sehr langsam (das war klar) und bleibt bei größeren Dateien hängen, was am USB-Adapter liegen kann, der 64-Bit.Treiber für den Adapter ist etwas holprig.
Wenn es da eine andere Möglichkeit gibt die einfacher ist, wäre das sicher eine Alternative. Ich kannte bisher keine und hatte nur die Assembler-Quellen einer RAM-Disk. Danke für den Hinweis, ich schaue mir das mal an.

Darf ich fragen mit welcher Hardware und Einstellungen der Test durchgeführt wurde? Interessant wäre dazu auch die Ausgabe vom PC-Programm mit der Einstellung "--verbosity=2". Im Moment gibt es noch kleinere Probleme mit verschluckten Daten, z.B. bei einer 115200 Baud-Verbindung und Mausbewegungen beim Falcon.
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: 1ST1 am Sa 15.11.2014, 18:13:29
War am TT, also auch mit 115.000 Baud und einem Windows 8.1 Notebook und Billig-USB-zu-Seriell-Adapter. Das mit dem Verbosity probiere ich das nächste Mal.
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: guest2349 am Sa 15.11.2014, 18:18:57
Ok, danke. Ich nehme mal an, dass der HSMODEM-Treiber (o.ä.) auf dem TT installiert sind?
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: 1ST1 am Sa 15.11.2014, 20:50:53
Stimmt, HS-Modem ist installiert.
Titel: Re: Tool zum seriellen Datenaustausch auf Dateiebene
Beitrag von: Börr am Sa 15.11.2014, 23:25:39
Oh, iss ja in c#. Muss ich mal anschauen :D