Disketten lesen und beschreiben mit Arduino Floppy Disk Reader

Für das Kopieren von Disketten auf dem PC ist die Greaseweazle-Hardware die gängige Wahl. Sie ist relativ günstig und mit der richtigen grafischen Oberfläche einfach zu bedienen. Wer jedoch kein Greaseweazle kaufen möchte oder bereits einen Arduino besitzt, kann mit geringem Aufwand eine eigene Hardware bauen, die das Kopieren von Disketten mit wenigen Klicks auf dem PC ermöglicht. Diese Anleitung stellt den Arduino Floppy Disk Reader vor, der mit dem Greaseweazle vergleichbar ist. Er sichert Diskettendaten und generiert Images für Emulatoren.

Quellen dieser Anleitung: robsmithdev.co.uk und ArduinoFloppyDiskReader von Robert Smith (License)


Bevor es losgeht, noch einige Hinweise (Wichtig!)
  • Es sollten Sicherheitskopien von den Disketten erstellt werden, die nicht gelöscht werden sollen. Außerdem sollte der Schreibschutz aktiviert werden.
  • Beim Schreiben von Images auf Disketten sowie beim Formatieren werden die Daten unwiderruflich gelöscht.
  • Beim Bau der Hardware ist es wichtig, Kurzschlüsse zu vermeiden, da diese sowohl den Arduino als auch den FTDI-Adapter beschädigen können.
  • Arbeiten an der Hardware dürfen ausschließlich im spannungsfreien Zustand durchgeführt werden.
  • Um statische Aufladungen zu vermeiden, wird die Verwendung eines Antistatik-Armbandes empfohlen.
  • Es wird keine Haftung für Schäden übernommen, die direkt oder indirekt aus der Nutzung dieser Anleitung entstehen.

Was kann der Arduino Floppy Disk Reader?

Wie bereits erwähnt, ermöglicht diese Hardware den Transfer von Disketteninhalten auf einen PC. Die Funktionalität geht jedoch weit darüber hinaus. Neben dem Arduino Floppy Disk Reader bietet der Entwickler einige nützliche Programme zur optimalen Nutzung der Hardware. Zu den wichtigsten Funktionen gehören:
  • Liest und beschreibt SD- und HD-Disketten
  • Unterstützt Amiga-, PC-, Atari-Disketten und Flux (SCP)
  • Benutzerfreundliche GUI
  • Es besteht die Möglichkeit, Amiga-Disketten direkt mit WinUAE zu verwenden.
  • Disketten unter Windows lesen (DiskFlashback)
  • Schreiben von IPF-Images auf Disketten
  • Es werden mehrere Arduino-Varianten unterstützt
  • Und einiges mehr…

Was wird benötigt?

Der Aufbau ist unkompliziert und benötigt nur wenige Komponenten. In dieser Anleitung erfolgt die Erstellung des Arduino Floppy Disk Readers auf einem Prototypen-Steckbrett, kann aber natürlich auch in einem Gehäuse untergebracht werden. Für unser kleines Projekt benötigen wir folgende Komponenten:
Diese Anleitung beschreibt die Variante mit dem Arduino Pro Mini. Für die Spannungsversorgung des Diskettenlaufwerks wird ein PC-Netzteil oder eine andere externe Spannungsquelle mit 5V/12V benötigt. Nachdem alle Komponenten vorhanden sind, kann die Firmware geflasht werden.

Die Firmware flashen

Verbinde den FTDI-Converter mit dem Arduino, um ihn zu flashen. Achte dabei auf die korrekte Ausrichtung der Pins (5V, GND, DTR usw.). Der Pin CTS muss nach oben gebogen werden.


Für den Flashvorgang ist CTS (Datenflusskontrolle) nicht erforderlich. Die restlichen Pins des FTDI-Converters können nun an den Arduino angelötet werden.


Stelle sicher, dass der Jumper am FTDI-Converter auf 5V eingestellt ist.


Damit Windows den FTDI-Converter erkennen kann, muss ein Treiber installiert werden. Den für diese Anleitung benötigten FTDI-Converter-Treiber finden wir auf ftdichip.com. Suche dort nach dem Windows-Treiber und lade ihn herunter. Nach erfolgreicher Installation verbinden wir den FTDI-Converter mit dem PC über ein USB-Kabel. Der FTDI-Converter sollte nun erkannt werden. Um die korrekte Installation zu überprüfen, öffnen wir den Gerätemanager von Windows und suchen den entsprechenden Treiber. 


Im nächsten Schritt laden wir die Arduino IDE herunter und installieren sie. Anschließend laden wir die Firmware für den Arduino herunter: FloppyDriveController.sketch.ino. Diese Datei öffnen wir nun mit der Arduino IDE.


Um den Flashvorgang des Arduino Pro Mini zu ermöglichen, müssen wir in der Arduino IDE die folgenden Einstellungen vornehmen.
  • Board: Arduino Pro or Arduino Pro Mini
  • Prozessor: ATmega328P (5V,16 Mhz)
  • Die Port-Nummer wird im Geräte-Manager neben den Geräte-Namen angezeigt. In meinem Fall ist es COM11.

Die Firmware kann jetzt geflasht werden. Wir können dies entweder über die „Hochladen“-Buttons oder durch gleichzeitiges Drücken der Tasten STRG und U erledigen.

Die Verdrahtung

Die Verdrahtung ist unkompliziert und erfordert nur wenige Drahtbrücken.

Original Verdrahtung von Robrt Smith (amiga.robsmithdev.co.uk)

Auf der Experimentierplatine sollte das dann wie in den folgenden Bilder dargestellt aussehen.

Die Software

Die für die Datenübertragung erforderliche Software steht hier zum Download bereit. Starte das Programm „DrawBridgeWin.exe“. Der Port sollte automatisch erkannt werden. Sollte dies nicht der Fall sein, können wir ihn manuell eingeben.


Klicke auf „Diagnostics“, um das Diagnoseprogramm zu starten. Folge den Anweisungen des Programms. Für den Test benötigen wir eine fehlerfreie Amiga-Diskette, die überschrieben werden kann.


Nach erfolgreichem Abschluss aller Tests können wir mit der Option „Read from Disk” eine Amiga-Diskette als ADF-Image auf der Festplatte des PCs sichern. Gib einfach den gewünschten Speicherort an und klicke auf „Start…”. Obwohl die Diskette nur gelesen wird, empfehle ich, den Schreibschutz zu aktivieren, um ein versehentliches Überschreiben zu verhindern.


Mit der Option „Write to Disk“ lässt sich das ADF-Image auf eine Diskette schreiben. Wähle zunächst die gewünschte ADF-Datei aus und klicke dann auf „Start“, um den Schreibvorgang zu starten.

Upgrade auf DrawBridge Plus (Optional)

DrawBridge Plus ist eine kleine Modifikation der Verdrahtung und eine Softwareoption, die die Lesegenauigkeit verbessert. Für das Lesen von DD- oder den meisten HD-Disketten ist dies zwar nicht notwendig, kann aber bei schlecht beschriebenen HD-Disketten hilfreich sein. Die Modifikation besteht darin, die Pins 4 und 8 am Arduino zu vertauschen. Zusätzlich muss die Firmware V1.9.17 oder eine neuere Version installiert sein. Um den Plus-Modus zu aktivieren, stehen zwei Methoden zur Verfügung:
  • Die Diagnose-Option wird gestartet. Dadurch wird der Plus-Modus automatisch erkannt.
  • Oder schalte den Plus-Modus manuell in den Optionen ein.

Disketten können weiterhin wie gewohnt gelesen und beschrieben werden, wobei HD-Disketten nun mit erhöhter Lesegenauigkeit eingelesen werden.

Disketten mit WinUAE verwenden

FloppyBridge ist ein Plug-in für WinUAE, mit dem Disketten über DrawBridge-, Greaseweazle- oder Supercard-PRO-Hardware in Echtzeit verwendet werden können.  Stelle sicher, dass die Installer-Version von WinUAE verwendet wird (nicht die Standalone-Version). Öffne anschließend den Installationsordner von WinUAE und erstelle den Ordner „Plugin“.


Als Nächstes laden wir das Plug-in von der Website amiga.robsmithdev.co.uk herunter. Im Archiv finden wir die Dateien „FloppyBridge.dll” für die 32-Bit-Version und „FloppyBridge_x64.dll” für die 64-Bit-Version. Die passende Version kopieren wir in den zuvor erstellten Ordner „Plugin”. Anschließend starten wir WinUAE und wechseln zum Reiter „Floppy-Drives”. Dort wählen wir im Dropdown-Menü die Option „Configure FloppyBridge”.


Öffne die Einstellungen und erstelle ein neues Profil mit "Create". Gib einfach einen beliebigen Profilnamen ein und belasse alle anderen Einstellungen bei den Standardwerten. Starte nun die Emulation. Es wird nach einer Diskette im PC-Diskettenlaufwerk gesucht. Ist diese bootfähig, bootet der virtuelle Amiga von ihr.

Disketten unter Windows bearbeiten

Mit dem Programm „DiskFlashback“ wollte der Entwickler der DrawBridge eine Möglichkeit schaffen, auf Amiga-Disketten (und anderen Systemen) wie ADF oder IMG ohne Emulator zuzugreifen. Auch Festplatten-Images können damit gelesen werden. Nach der Installation des Programms werden zahlreiche Funktionen freigeschaltet, darunter:
  • Mounten von ADF, DMS, IMG, IMA, ST, MSA, HDA, HDF, DSK (MSX) und SCP Images als virtuelles Laufwerk.
  • Mounten von DrawBridge, Greaseweazle oder SupercardPro als echtes Laufwerk unter Windows.
  • Erstellen von leeren Images.
  • Images auf Disketten schreiben.
  • Bootblock von Amiga-Disketten installieren.
  • Formatieren von Disketten in verschiedenen Formaten.