Daten zwischen PC und Amiga austauschen mit APCComm

Datenübertragungen zwischen Amiga und PC sind auf verschiedene Weise möglich. Die serielle Kabelverbindung ist zwar relativ langsam, jedoch ist die benötigte Schnittstelle an fast jedem Amiga vorhanden. Für die Verbindung zwischen PC und Amiga ist auf beiden Seiten spezielle Software erforderlich. Diese Anleitung behandelt das Tool APCComm, eine Software, die sowohl für Amiga als auch für Linux-PCs entwickelt wurde.

Quelle dieser Anleitung: www.boomerangsworld.de von Ralf Hoffmann


Bevor es losgeht, noch ein paar Hinweise (Wichtig!)
  • Stecke das serielle/parallele Kabel nur in die Schnittstelle, wenn beide Rechner ausgeschaltet sind.
  • Aktiviere den Schreibschutz der Disketten, die nicht überschrieben werden sollen.
  • Arbeite an der Hardware nur im spannungsfreien Zustand.
  • Um statische Aufladungen zu vermeiden, wird das Tragen eines antistatischen Armbands empfohlen.
  • Für Schäden, die direkt oder indirekt durch die Nutzung dieser Anleitung entstehen, wird keine Haftung übernommen.

Was wird benötigt?

Für unser Vorhaben wird eines der folgenden Kabel benötigt:

Das NullModem-Kabel:
Für die Verbindung benötigen wir ein serielles Kabel, einen Nullmodem-Adapter und gegebenenfalls einen Adapter von 9 auf 25-poligem seriellen Stecker. Diese Komponenten sollten leicht zu finden sein. Mit diesem Kabel können wir eine einfache Verbindung zur USB-Schnittstelle des Computers herstellen. Es ist keine zusätzliche Hardware erforderlich.

Das Laplink-Kabel:
Für die Übertragung über die parallele Schnittstelle benötigen wir ein Laplink-Kabel. Dieses modifizierte parallele Kabel ermöglicht eine schnellere Datenübertragung. Allerdings gibt es auch einen Nachteil: Die meisten parallelen Adapter, die an die USB-Schnittstelle des PCs angeschlossen werden können, sind nur für Drucker geeignet und daher für unsere Zwecke nicht brauchbar. Für diese Übertragungsmethode ist eine parallele Schnittstelle im PC erforderlich. Die Verdrahtung des Laplink-Kabels finden wir unter wikipedia.org.

Die Amiga-Software

Für die Datenübertragung ist die Installation der entsprechenden Software auf beiden Systemen erforderlich. Im weiteren Verlauf dieser Anleitung wird zwischen der grafischen Benutzeroberfläche (GUI) und der Kommandozeilen-Version (nogui) unterschieden. Der Unterschied besteht ausschließlich auf der Amiga-Seite. Für den Amiga gibt es zwei Programme: Die Version mit grafischer Benutzeroberfläche ist nur mit AmigaOS 2.0 oder neuer kompatibel. Darüber hinaus wird die „nogui“-Version erläutert, die ohne grafische Benutzeroberfläche entwickelt wurde und für Amiga-Varianten mit Amiga OS 1.2 oder 1.3 geeignet ist.

Wir laden APCComm von boomerangsworld.de herunter. Das Archiv enthält die Software für Linux und Amiga. Der Ordner „Amiga“ muss auf den Amiga übertragen werden. Für die grafische Oberfläche auf dem Amiga (nur Amiga OS 2.0 oder neuer) wird zusätzlich die ReqToolsLib Library benötigt (nur die Datei „reqtools.library“). Hierbei stellt sich das klassische Henne-Ei-Problem: Um die Installationsdateien auf den Amiga zu übertragen, muss bereits Software installiert sein. Daher ist für die Erstinstallation eine alternative Übertragungsmethode erforderlich, z. B. CrossDOS.

Die Linux-Software

Die Linux-Version des Tools APCComm erfordert im Gegensatz zur Amiga-Version eine Kompilierung. Dieser Vorgang ist relativ einfach und wird mit wenigen Befehlen ausgeführt. Öffne das Terminal, wechsle in den APCComm-Ordner und gib die folgenden Befehle ein.

make
sudo make install


Sobald alle Vorbereitungen abgeschlossen sind, ist es Zeit für den ersten Test. Zuerst müssen beide Rechner ausgeschaltet und mit den seriellen oder parallelen Kabel verbunden werden. Anschließend werden beide Rechner wieder eingeschaltet. Bevor die erste Übertragung beginnen kann, muss die „reqtools.library” in den „LIBS”-Ordner von AmigaOS kopiert werden (nur für die grafische Oberfläche).


In den folgenden Abschnitten werden Daten zwischen PC und Amiga ausgetauscht, sowohl über die serielle als auch über die parallele Schnittstelle. Das Programm verarbeitet Befehle nach folgender Logik: Wird ein Pfad als Parameter angegeben, wechselt das Programm in den Sendemodus. Ist kein Pfad angegeben, wird der Empfangsmodus aktiviert. Ein ähnliches Prinzip gilt für die serielle Datenübertragung. Wird die serielle Verbindung als Parameter angegeben, werden die Daten über diese übertragen. Ist keine Schnittstelle angegeben, wird standardmäßig die parallele Schnittstelle verwendet.

Eine Datei auf dem Amiga übertragen (GUI)

Im ersten Test wird eine Datei vom Linux-Rechner auf den Amiga übertragen.

Am Amiga: Öffne das Tool „apccomm“ mit einem Doppelklick auf das Icon und konfiguriere es wie folgt:
  • Port: Serial oder Parallel, je nachdem, welches Kabel verwendet wird.
  • Serial Speed: 19200 (nur bei Verwendung eines seriellen Kabels).
  • Receive dir: Der Ordner wird angegeben, in den die zu übertragende Datei abgelegt werden soll.

Durch Klicken auf den Button „Receive“ wird der Amiga in den Empfangsmodus versetzt.

Am Linux Rechner:
Öffne das Terminal und gib einen der folgenden Befehle ein:

Für die serielle Verbindung:
sudo apccomm [Pfad zur Datei] -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm [Pfad zur Datei]


Es können mehrere Dateien gleichzeitig übertragen werden, indem die Dateinamen einfach hintereinander als Parameter angegeben werden. Alternativ kann der gesamte Inhalt eines Ordners inklusive Unterverzeichnissen übertragen werden, indem anstelle des Pfads das Asterisk-Symbol verwendet wird.

Für die serielle Verbindung:
sudo apccomm * -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm *

Eine Datei auf dem Linux-Rechner übertragen (GUI)

Daten vom Amiga auf den Linux-Rechner zu übertragen, ist ebenfalls sehr einfach. Wähle auf dem Amiga die gewünschte Datei oder die Dateien aus und klicke auf den Button „Send“. Bei seriellem Transfer muss die Geschwindigkeit angegeben werden. Stelle sicher, dass die Geschwindigkeit auf beiden Rechnern übereinstimmt.


Am Linux Rechner:
Um die Daten auf dem Linux-Rechner entgegenzunehmen, wird APCComm gestartet und bei Bedarf eine serielle Schnittstelle angegeben. Der entsprechende Befehl lautet wie folgt.

Für die serielle Verbindung:
sudo apccomm -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm

Ein ADF-Image auf eine Diskette kopieren (GUI)

APCComm ermöglicht die Übertragung von Disketten-Images. Das Image kann dabei nicht nur von einem Rechner auf den anderen übertragen, sondern auch direkt auf die Diskette geschrieben werden. Besonders für Rechner mit begrenztem Speicherplatz ist dies vorteilhaft, da das Image nicht zwischengespeichert werden muss. Für unseren Test übertragen wir ein Amiga-Disketten-Image vom Linux-Rechner auf den Amiga.

Am Amiga: 
Klicke zunächst auf die entsprechende Schaltfläche, um die grafische Oberfläche von APCComm auf dem Amiga zu laden. Setze anschließend einen Haken neben „read write ADF from to disk“, falls gewünscht auch „Verify ADF when writing“. Klicke abschließend auf den Button „Receive“. Beachte, dass der gesamte Inhalt des gewählten Datenträgers überschrieben wird. Der Amiga wartet nun auf die eingehenden Daten. Bei serieller Übertragung geben wir die Geschwindigkeit an. Stelle sicher, dass die Geschwindigkeit auf dem Amiga und dem Linux-Rechner übereinstimmt.


Am Linux Rechner:
Abgesehen vom Befehl "APCComm" ist auf dem Linux-Rechner das ADF-Image anzugeben. Bei Bedarf ist auch die serielle Schnittstelle zu spezifizieren.

Für die serielle Verbindung:
sudo apccomm Image.adf -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm Image.adf


Am Amiga: 
Im nächsten Schritt wird festgelegt, auf welche Diskette das Image geschrieben werden soll. Im Anschluss wird die Datenübertragung gestartet und das Image direkt auf die Diskette geschrieben.

Ein ADF Image von einer Diskette erstellen (GUI)

Um ein Abbild einer Amiga-Diskette zu erstellen und es direkt auf dem Linux-Rechner zu übertragen, müssen wir auf der grafischen Oberfläche von APCComm das Laufwerk angeben, in dem sich die Diskette befindet. Bei Wahl der seriellen Datenübertragung müssen wir außerdem deren Geschwindigkeit angeben. Nach dem Klicken auf den Button „Send“ werden wir aufgefordert, einen Namen für das erzeugte Image zu vergeben. Anschließend wartet der Amiga auf die Gegenstelle.


Am Linux Rechner:
Wie bei der Übertragung einzelner Dateien ist auf der Linux-Seite lediglich der APCComm-Befehl einzugeben. Bei Bedarf ist auch der serielle Port zu definieren.

Für die serielle Verbindung:
sudo apccomm -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm

Im nächsten Schritt wird das Image erstellt und auf den Linux-Rechner übertragen. Das erstellte ADF-Image wird im aktuellen Verzeichnis gespeichert und kann nun mit jedem Amiga-Emulator verwendet werden.

Die Übertragung ohne GUI

Dieser Teil der Anleitung beschreibt die Datenübertragung ohne grafische Oberfläche von APCComm für Amiga-Rechner mit AmigaOS 1.2 oder 1.3. Für diese Funktion benötigen wir keine reqtools.library. Die Befehle auf der Linux-Seite bleiben gleich. Auf der Amiga-Seite verwenden wir ausschließlich die Kommandozeile (CLI oder Shell) anstelle der grafischen Oberfläche.

Eine Datei auf dem Amiga übertragen (no GUI)

Schalte beide Rechner aus und verbinde sie mit einem seriellen oder parallelen Kabel. Schalte anschließend beide Rechner wieder ein. Um die Verbindung zu testen, übertragen wir eine Datei vom Linux-Rechner auf den Amiga.

Am Amiga:
Wir öffnen die Shell und anschließend wechseln wir in das Verzeichnis von APCComm. Nun geben wir folgenden Befehl ein. Mit diesem Befehl wechselt der Amiga auf Empfangsmodus.

Für die serielle Verbindung:
sudo apccomm-nogui --speed=19200

Für die parallele Verbindung:
sudo apccomm-nogui


Am Linux Rechner:
Der Amiga ist nun bereit, Daten entgegenzunehmen. Vom Linux-Rechner wird eine beliebige Datei an den Amiga gesendet. In diesem Fall muss der folgende Befehl eingegeben werden.

Für die serielle Verbindung:
sudo apccomm [Pfad zur Datei] -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm [Pfad zur Datei]

Die Datei wird nun auf den Amiga übertragen und in den Ordner abgelegt, in dem wir uns aktuell befinden. Falls ein Ordner samt Inhalt kopiert werden soll, muss lediglich der Pfad zum Ordner angegeben werden.

Für die serielle Verbindung:
sudo apccomm [Pfad zum Ordner] -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm [Pfad zum Ordner]

Eine Datei auf dem Linux-Rechner übertragen (no GUI)

Die Übertragung von Dateien auf den Linux-Rechner ist ebenso unkompliziert. Wenn im Befehl kein Pfad angegeben wird, wird auf Empfangsmodus geschaltet.

Am Linux Rechner:
Auf dem Linux Rechner geben wir folgenden Befehl ein.

Für die serielle Verbindung:
sudo apccomm -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm

Am Amiga:
Der Befehl zum Senden der Datei lautet wie folgt:

Für die serielle Verbindung:
apccomm-nogui [Pfad zur Datei] –speed=19200

Für die parallele Verbindung:
apccomm-nogui [Pfad zur Datei]


Ebenso ist die Übertragung ganzer Ordner möglich.

Für die serielle Verbindung:
apccomm-nogui [Pfad zum Ordner] –speed=19200

Für die parallele Verbindung:
apccomm-nogui [Pfad zum Ordner]

Ein ADF-Image auf eine Diskette kopieren (no GUI)

Der Befehl zur Übertragung des Abbildes ähnelt stark den zuvor gezeigten Befehlen, mit einer einzigen Ausnahme: einem zusätzlichen Parameter. Ohne diesen Parameter wird die ADF-Datei lediglich übertragen, ohne auf die Diskette kopiert zu werden. Um das ADF-Image vom Linux-Rechner zum Amiga zu kopieren, verwenden wir den folgenden Befehl.

Am Amiga:
Für die serielle Verbindung:
apccomm-nogui -d –speed=19200

Für die parallele Verbindung::
apccomm-nogui -d

Mit dem optionalen Parameter „—verify“ werden die auf die Diskette geschriebenen Daten auf Fehler überprüft. Der Amiga wartet nun auf die eingehende ADF-Datei und fragt nach dem Ziel-Laufwerk. Denke daran, dass der gesamte Inhalt des gewählten Datenträgers überschrieben wird. Am Linux-Rechner müssen wir noch den Befehl zum Senden des Images eingeben. Dieser lautet wie folgt:

Am Linux Rechner:
Für die serielle Verbindung:
sudo apccomm [Pfad zur ADF-Datei] -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm [Pfad zur ADF-Datei]

Im Anschluss sollte die Datei übertragen und gleichzeitig auf die Diskette kopiert werden.

Ein ADF Image von einer Diskette erstellen (no GUI)

Im nächsten Schritt wird am Amiga ein ADF-Image von einer Diskette erstellt und anschließend an den PC übertragen. Am Amiga muss lediglich die Diskette angegeben werden, von der das Image erstellt werden soll. Der folgende Befehl dient dazu:

Am Amiga:
Für die serielle Verbindung:
apccomm-nogui -d --speed=19200 df0:

Für die parallele Verbindung:
apccomm-nogui -d df0:

Wir werden nun gefragt, wie sich das zu erstellende Image nennen soll. Gib hier einen beliebigen Dateinamen ein. Am Linux-Rechner hingegen wird folgender Befehl eingegeben:

Für die serielle Verbindung:
sudo apccomm -s /dev/ttyUSB0 --speed=19200

Für die parallele Verbindung:
sudo apccomm


Die erzeugte ADF-Datei kann am PC mit einem Emulator verwendet werden.

Weitere Parameter

Wir haben bereits gesehen, wie Dateien und Abbilder von Disketten übertragen werden. Bisher haben wir jedoch noch nicht alle verfügbaren Parameter genutzt. Die folgende Liste bietet einen Überblick über die Parameter, die für die Linux- und Amiga-Version von APCComm-nogui verfügbar sind.

-v, --version Zeigt die Version von APCComm an
-h, --help Zeigt einen Hilfetext an
-V, --verbose apccomm veranlassen, mehr Informationen auszugeben
--license Zeigt die Licenz für APCComm an
-q, --quiet Keine Ausgabe von APCComm, auch keine Fehlermeldungen
-i Protection bits (Dateiberechtigungen) beim Empfang ignorieren
--save-settings Speichern der aktuell eingestellten Port- und Geschwindigkeitsoptionen in der Konfigurationsdatei. Die Einstellungen werden beim nächsten Mal automatisch geladen

Die Übertragungsgeschwindigkeit der seriellen Schnittstelle

Bei der parallelen Schnittstelle spielt die Geschwindigkeit keine Rolle. Bei der seriellen Schnittstelle ist dies jedoch anders. In den oben genannten Beispielen wurde bewusst eine relativ langsame Übertragungsgeschwindigkeit von 19200 Baud gewählt, um die Fehlerquote zu minimieren. Es ist möglich, die Geschwindigkeit schrittweise zu erhöhen. Wichtig ist dabei, dass die gewählte Geschwindigkeit immer auf beiden Seiten angegeben wird und es sich ausschließlich um genormte serielle Baudraten handelt. Die verfügbaren Geschwindigkeiten sind 9600, 19200, 38400, 57600 und 115200.

Meine Tests haben ergeben, dass Datenübertragungen zwischen einem Linux-Rechner und einem Amiga 1200 mit einer Geschwindigkeit von bis zu 57600 Baud möglich sind. Übertragungen mit höheren Geschwindigkeiten schlagen fehl. Die erreichbare Geschwindigkeit hängt von der Rechenleistung des Amiga und seiner seriellen Schnittstelle ab.

Dateirechte

Dateien, die vom Amiga auf den Linux-Rechner übertragen werden, werden standardmäßig dem Benutzer „Root” zugewiesen, da APCComm mit diesem Benutzer ausgeführt wird. Der unter Linux angemeldete Benutzer kann diese Dateien jedoch nicht bearbeiten. Um den Benutzer zu wechseln, muss der Befehl „chown” verwendet werden.