PC - C64 Datenübertragung mit Warpcopy (PC/Mac)



Wer heutzutage seinen C64 mit Software füttern möchte, den stehen mehrere Möglichkeiten zur Verfügung die Daten von einem PC zu übertragen. Die SD2IEC-Lösungen sind komfortabel und relativ günstig. Für die meisten Anwender sollte dies genügen. Wer allerdings eine Hardware mit Netzwerk-Schnittstelle besitzt, wie die Retro Replay oder die 1541U, der bekommt mit Warpcopy noch mehr Komfort geboten.
Vorteile
Was für Vorteile bietet Warpcopy im Zusammenhang mit einer C64-Netzwerkverbindung?
•Die Daten können über das Netzwerkkabel (oder Wlan) direkt an den C64 gesendet werden
•Einzelne Dateien oder ganze Diskette können übertragen werden
•Ein Abbild der eingelegten Diskette wird direkt auf den PC abgelegt
•Auch auf zusätzliche Laufwerke (Device 9,10...) kann direkt zugegriffen werden
•Warpcopy bietet außerdem die Möglichkeit die Disketten zu löschen, formatieren oder zu validieren.
Und das alles ohne die SD-Karte einmal aus den C64 zu entfernen. Natürlich, wäre diese Art der Datenübertragung am sinnvollsten mit einem C64 der nur eine Netzwerkschnittstelle aber keinen SD-Karten-Slot besitzt, also so etwas wie die RR-Net MK3
Voraussetzungen
Die Netzwerk-Hardware muss RR-Net kompatibel sein, beispielsweise wie die Retro Replay (mit RR-Net), RR-Net MK3 (Codenet: Siehe hier) oder die 1541U. Das C64-Laufwerk auf den zugegriffen wird bzw. auf dessen Diskette die Daten geschrieben werden, muss laut Dokumentation 1541- oder 1581-kompatibel sein. Optional wird ein evtl. vorhandenes Jiffy-DOS unterstützt, was die Übertragungszeit verkürzt.

Klicke auf das Bild zum Vergrößern
Die Vorbereitung
Tipp: Wer kein Netzwerkkabel quer durch die Wohnung legen möchte, sollte sich diesen Netzwerkadapter ansehen. Damit lassen sich Daten über WLAN übertragen werden, auch wenn die 1541U oder RR-Net nur eine RJ45 Buchse zur Verfügung stellt. Als Stromversorgung kann auch ein USB-Port verwendet werden.

Klicke auf das Bild zum Vergrößern
Auf den C64 muss eine Server-Software übertragen werden, die die Daten entgegennimmt. Diese ist im Warpcopy-Paket bereits dabei (WARPCOPY06.PRG). Diese Server-Software kopieren wir jetzt aber noch nicht auf die Karte des C64. Den Grund erfahren wir weiter unten. Wie man Daten mit der RR-Net Mk3 überträgt, erfahren wir hier: Codenet.
Auf den PC hingegen brauchen wir das ausführbare WarpCopy-Programm für Windows (warpcopy.exe).
Damit die Netzwerkschnittstelle verwendet werden kann, muss ein Treiber geladen und eine IP-Adresse zugewiesen werden. Alles was wir benötigen liegt auf der aktuellen Version von Contiki. Lade hier das Archiv contiki-c64.zip runter. In der Zip-Datei befinden sich mehrere Images. Die erste Datei (contiki-c64-1.d64) ist die die wir brauchen.
Am PC: Jetzt kopieren wir die die Datei WARPCOPY06.PRG auf das Image "contiki-c64-1.d64". Diese Aufgabe lösen wir am besten mit "Dirmaster". Einfach zuerst das Image "contiki-c64-1.d64" damit öffnen und anschließend per Drag & Drop die Datei "WARPCOPY06.PRG" in das Fenster ziehen.

Klicke auf das Bild zum Vergrößern
Hinweis: Falls der Name der Datei WARPCOPY06.PRG auf einmal durch unlesbare Zeichen ersetzt wird, dann einfach den Dateinamen mit Dirmaster umbenennen. Das passiert, wenn die Dateinamen auf der D64-Diskette in Kleinbuchstaben geschrieben sind, die hinzugefügte Datei aber ein in Großbuchstaben geschriebenen Namen hat.
Jetzt speichern wir das Image ab und kopieren dieses auf den C64. Würden wir die WARPCOPY06.PRG separat auf der SD-Karte legen, würde diese nachher die Informationen von Contiki nicht finden.
Die erste Konfiguration
Am C64: Zuerst schließen wir das Netzwerkkabel an den C64. Anschließend laden wir das Programm "ETHCONFIG" das sich auf der Contiki-Diskette befindet. Dort wählen wir die Netzwerkkarte RR-Net und speichern das Ganze ab.

Klicke auf das Bild zum Vergrößern
Dann laden wir das Program "IPCONFIG" das sich ebenfalls auf der Contiki-Diskette befindet. Der IP-Adressen-Client sollte nun geladen werden, das kann etwas Ladezeit in Anspruch nehmen. Hier haben wir die Wahl, ob wir eine statische oder eine dynamische Adresse eingeben wollen.
Als Internetzugang wird vermutlich fast jeder einen Router verwenden. Mit den Konfigurations-Programm von Contiki können wir statische, sowie dynamische IP-Adressen verwenden. In meinen Beispiel weist der Router die IP-Adresse automatisch zu (❏ DHCP), was die Konfiguration etwas beschleunigt.

Statische Adresse:
Einfach mit den Funktionstasten F5 und F7 zum entsprechenden Feld navigieren und die Netzwerk-Informationen eingeben.
Dynamische Adresse (❏ DHCP):
Drücke die Taste F5 oder F7 bis das Feld "Request IP address" markiert wird und bestätige mit "Enter". Wenn alles korrekt funktioniert, sollten die Netzwerk-Informationen direkt vom Router übertragen werden.
Hinweis für die 1541U (1.Version): Was etwas sonderbar erscheint, ist die Tatsache, dass der ❏ DHCP-Client bei meinen Tests nur funktionierte wenn dieser mit einen Fastloader (Retro Replay V3.8 PAL) gestartet wurde. Andernfalls wird das Programm abgebrochen. Ebenfalls will der ❏ DHCP-Client nicht laufen, wenn auf der 1541Ultimate eine Firmware neuer als 1.7ß installiert ist. Den Grund dieser seltsamen Umstände habe ich nie gefunden. Ob dieser Fehler bei der zweiten Version der 1541U auch auftretet ist mir nicht bekannt. Da die neueren Firmware-Versionen der 1541U (erste Version) aus Speichergründen nicht mehr geflasht werden konnten, wurden diese in eine BIN-Datei ausgelagert die einfach auf der SD-Karte liegt. Entfernt man diese Datei temporär, läuft die 1541U mit einer alten Firmware, in meinen Fall die Version 1.7ß. Diese eignet sich hervorragend für unser Experiment.
Ist alles gelungen starten wir auf den C64 die Serversoftware "WARPCOPY06.PRG".
Standardmäßig ist hier die Adresse 192.168.0.64 eingestellt. Mit der Taste "N" wechseln wir die IP-Adresse. Hier geben wir die IP-Adresse ein die uns zuvor das Programm "IPCONFIG" gegeben hat. Der Server ist nun betriebsbereit.

Die erste Verbindung
C64-seitig haben wir alles erledigt, nun geht es am PC weiter. Hier starten wir das Programm "warpcopy.exe". Im Fenster das sich öffnet, sehen wir unten rechts ein kleines Feld wo wir die IP-Adresse des C64-Servers eingeben, und dann klicken wir auf den Button "Directory" um die Verbindung zu testen. Wenn alles klappt, sollte nun der Inhalt der im C64 eingelegten Diskette angezeigt werden.

Hinweis: Warpcopy läuft zwar auf Windows XP und neuer, auch unter Windows 10, aber in manchen Fällen scheint das Programm gar nicht oder nur teilweise funktionieren zu wollen. In meinem Fall wird unter Windows 10 eine Fehlermeldung angezeigt sobald Warpcopy gestartet wird. Es können Daten übertragen werden aber das Inhaltsverzeichnis der Disketten wird nicht angezeigt. Unter Windows XP hingegen konnte ich bei meinen Tests keine Probleme feststellen.
In Warpcopy sind jede Menge Buttons zu finden. Was für eine Funktion sich hinter diesen befindet wird hier aufgelistet:
Directory: Zeigt den Inhalt der eingelegten Diskette an
Export: Exportiert die markierte Datei auf den Windows-Rechner
Delete: Löscht die markierte Datei. Achtung! Die Daten werden unwiderruflich gelöscht!
Validate: Die Diskette wird validiert bzw. sie wird auf Konsistenz geprüft
Format: Formatiert/löscht die aktuell eingelegte Diskette. Achtung! Die Daten werden unwiderruflich gelöscht!
Send Server: Sendet die Server-Software an den C64. Diese Funktion ist für C64-Hardware wie die RR-Net hilfreich, die keinen SD-Slot besitzt.
Write Image: Schreibt ein C64 Disketten-Image von den Windows-Rechner auf die C64-Diskette. Achtung! Die Daten auf der Diskette werden überschrieben!
Read Image: Erstellt ein Image der eingelegten Diskette und überträgt diese zum Windows-Rechner.
Next Image: Das selbe wie "Read Image", vergibt aber automatisch einen neuen Dateinamen
Abort: Bricht die aktuelle Operation ab
Drive: Bestimmt die Device-Nummer des angeschlossenen Diskettenlaufwerkes
Warpcopy auf den MAC
Für den Mac gibt es sogar zwei Möglichkeiten sich mit den C64 Warpcopy-Server zu verbinden:
• Mit DiskImagery64 (Mit GUI)
• Mit MWC (ohne GUI)
DiskImagery64 (Mit GUI)
DiskImagery64 kann hier heruntergeladen werden. Das Programm besteht aus einem File-Browser mit voller Warpcopy-Unterstützung und einer einfachen GUI.
Der Warpcopy-Server auf den C64 muss, wie weiter oben bereits beschrieben, laufen und im Netz erreichbar sein. Das einzige was noch konfiguriert werden muss, ist die IP-Adresse in DiskImagery64. Dazu öffnen wir die Einstellungen und geben im Reiter "Networks" die IP-Adresse des Macs und darunter die des Warpcopy-Servers ein. Das war's!

Jetzt testen wir, ob die Verbindung zum Server aufgebaut werden kann. Das können wir beispielsweise mit den Befehl "Read Disk" machen. Dabei wird die im C64 eingelegt Diskette übertragen.

DiskImagery64 zeigt anhand einer Grafik an wie die Diskette übertragen wird.

Anschließend sollten wir in zwei weiteren Fenster den Inhalt der Diskette sowie das Protokoll der Übertragung sehen.


Die soeben übertragene Diskette muss abgespeichert werden bevor DiskImagery64 geschlossen wird.
Tipp: In den kleinen Fenster, in den der Inhalt der Diskette angezeigt wird, können Dateien bei Bedarf hinzugefügt, entfernt oder umbenannt werden.
Mit MWC (ohne GUI)
Zwar lässt DiskImagery64 keine Wünsche mehr offen, aber der Vollständigkeit halber sollte auch das Kommandotool MWC erwähnt werden das von dieser Webseite runtergeladen werden kann.
MWC ist im Vergleich funktional stark eingeschränkt und dazu kommt, dass es zuerst kompiliert werden muss. Leider bricht die Kompilierung mit einer Fehlermeldung ab, weil einige Teile veraltet sind. Deshalb ist eine Kleinigkeit vorzubereiten:
Zuerst öffnen wir die Datei "DiskReader.cpp" mit einem Editor (z.B. Nano) und ändern ganz oben den Text <iostream.h> in <iostream>.

Das gleiche machen wir mit der Datei mwc.cpp

Jetzt wechseln wir mit den Terminal in das Verzeichnis in den sich die Dateien befinden und starten den Kompiliervorgang mit den Befehl "make".

Im Verzeichnis sollte jetzt eine neue Datei erstellt werden die den Namen "mwc" trägt.
Das Programm ist jetzt einsatzbereit. In der Kommandozeile geben wir den Befehl "./mwc". Daraufhin werden die verfügbaren Funktionen angezeigt.

Und zu guter Letzt testen wir ob die Daten übertragen werden. In der Kommandozeile geben wir folgenden Befehl ein:
./mwc -i [C64 IP-Adresse] [Image-Dateiname].d64
Im selben Ordner in den sich auch mwc befindet, sollte sich nach abgeschlossener Übertragung die D64-Datei befinden die jetzt mit einen beliebigen Emulator ausgeführt werden kann.
