Per Anhalter durch die Amiga-Disk-Galaxie

Wie man Amiga-Disketten vor dem Untergang bewahrt, diese weiter verarbeitet und anschließend seinen Amiga wieder damit füttert!

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 12 Min.
Von
  • Michael Schröder
  • Thomas Ronzon
Inhaltsverzeichnis

Neulich fand ich (Michael) in einem meiner Schränke alte Amiga-Disketten. Die sind inzwischen mehrere Male mit umgezogen und sicherlich schon 35 Jahre alt. Ob die wohl noch funktionieren? Also holte ich meinen Amiga 1200 aus dem Bettkasten, in dem er lange geschlafen hatte. Er war schnell am Fernseher angeschlossen, einen SCART-Anschluss gibt es ja zum Glück weiterhin. Hey, der Rechner läuft noch. Auch die Disketten scheinen – bis auf ein paar Ausnahmen – noch lesbar zu sein. Das erzählte ich meinem Freund Thomas (der andere Autor dieses Artikels), mit dem ich mich damals oft getroffen habe, um auf dem Amiga gegeneinander Stunt Car Racer oder Ports of Call zu spielen. Er berichtete, dass er auch noch einige alte Datenschätze zu Hause hätte, die er gerne mal wieder sichten würde. Also überlegten wir, wie wir das am besten anstellen könnten.

...

Make 5/22

Mehr zum Thema gibt es in Ausgabe 5/22 der Make.

Den kompletten Artikel lesen Sie in der Make 5/22 auf Seite 28. Die passenden Links finden Sie über den Link in der Kurzinfo zum Artikel. Hier nun das Extramaterial das aus Platzgründen den Weg in den gedruckten Artikel nicht gefunden hat:

Thomas: Nachdem mir Michael erzählt hatte, dass er eine einfach Möglichkeit gefunden hatte um ADF-Images zu erzeugen ging es weiter. Schließlich wollte ich meine selbst geschriebenen Programme und andere Dateien wieder auf dem PC lesbar machen.

Möchte man die Disketten als Ganzes verwenden, um zum Beispiel ein Spiel zu starten, kann man dies natürlich direkt in einem Emulator wie z.B. UAE mounten.

Mein Ansatz war aber ein anderer. Ich wollte die einzelnen Amiga-Dateien von Diskette lesen und dann auf dem PC weiter verarbeiten.

Dabei sind Linux-User besonders im Vorteil, da es Kernel-Module gibt, die es erlauben dieses Image direkt zu mounten. Alles was man machen muss ist zunächst das Kernel-Modul zu laden:

modprobe -v affs

Nun kann das Image an einen beliebigen Mountpoint z.B. /amiga gemountet werden

mkdir /amiga
mount  -t affs -o loop Extras.adf  /amiga

Da es ja User ohne Linux geben soll, gibt es natürlich auch andere Wege auf die Dateien zuzugreifen. Hier bietet es sich das Tool ADFOpus an, welches hier [ADF] heruntergeladen werden kann. Auch wenn die letzte Änderung bereits aus dem Jahr 2003 ist, so kann es trotzdem unter Windows 11 verwendet werden. Selbst unter Wine versieht es seinen Dienst ohne Probleme.

So ist es möglich auf die einzelnen Dateien zuzugreifen. Windows User werden sich zunächst wahrscheinlich schwer zurechtfinden, da diese oft noch glauben, dass die Dateiendung bestimmt, um welches Format es sich handelt. Dies war aber auf dem Amiga (genauso wie auch unter Windows!) nie der Fall.

Die einzige übliche Dateiendung war *.info. Dies bedeutet, dass diese Datei Metainformationen (z.B. das Icons) zur eigentlichen Datei enthält. Ebenso verhält es sich oft mit Sourcecodes wie z.B. *.c für C-Programme (also der Sourcecode als einfache Textdatei).

Um nun also herauszufinden, um was für ein File es sich handelt, können Unix User dies mit dem Utility file bestimmen:

linux-xldt:/amiga/c # file DiskDoctor   DiskDoctor: AmigaOS loadseg()ble executable/binary

Doch spätestens nachdem man ein wenig herumgesucht hat stellt man fest, dass man nun zwar die Dateien hat, allerdings keine echte Möglichkeit diese zu bearbeiten. Woran liegt das? Nun – die Software auf dem Amiga kannte eine Menge Dateiformate, die heute nicht mehr verwendet werden. Hinzukommt, dass es auch noch keine echten Standards gab, so das viele Entwickler sich selbst Formate ausdachten.

Aber keine Angst – auch auf dem Amiga haben sich ein paar Formate durchgesetzt. Wie man diese Formate in heute übliche Formate konvertiert, davon handelt der folgende Abschnitt.

Gerade bei den sehr beliebten Public Domain Disketten (wie z.B. die Fish-Disk Serie) war es üblich mehrere Programme auf einer Diskette unterzubringen. Dabei wurden die Dateien, die zu einem Programm gehörten in ein Archiv gepackt.

Sehr weit verbreitet waren lha und zoo, die es auch Kommandozeilentools für Linux verfügbar sind. Zur Erinnerung:

lha x Archivname
zoo -extract Archivname

Zu zoo gehört noch ein kleines weiteres Utility: fiz. Dieses hilft Ihnen defekte Archive wieder zu reparieren. User, die sich nicht gerne mit der Shell auseinandersetzen können natürlich auch grafische Tools wie File Roller unter Linux oder 7zip unter Windows verwenden.

Unter Amiga Dos wird ebenso wie bei den verschiedenen Unix-Derivaten der Zeilenumbruch durch ein einzelnes LineFeed (LF) markiert. Somit ist das Lesen und schreiben von Textdateien unter Linux kein Problem. Windows User können entweder diese mit den üblichen Tools konvertieren, oder einen Editor einsetzen der diese Konvertierung vornimmt. Sehr gut eignet sich hier GVIM (Alle Links in Kurzinfo zum Artikel), da dieser die Zeilenumbrüche richtig erkennt und noch ein paar andere Spezialitäten unterstützt auf die ich später zurückkommen möchte.

Der Amiga war für seine Grafikfähigkeiten bekannt. Welcher andere Computer seiner Zeit konnte schon 4096 Farben? Als Grafikformat war IFF (Interchange File Format) der quasi Standard. Zwar kann ein IFF-File nicht nur Grafiken, sondern auch z.B. Musikstück speichern, doch wurde es in der Regel nur für Grafiken verwendet. Moderne Grafikprogramme unterstützen dieses Format in der Regel nicht mehr. Hinzukommt, dass die Grafiken auf modernen Computern eher klein wirken, da die Auflösung verglichen mit heutigen Maßstäben sehr gering war. Trotzdem ist es reizvoll diese Bilder noch einmal zu betrachten. Am einfachsten geschieht die, wenn man die Bilder mittels des Utilities convert in ein anderes Format konvertiert.

Warum gerade convert? Nun es erkennt selbstständig das Ursprungsformat und konvertiert dies in das Zielformat indem es die Dateiendung des Ziels als Definition des Zielformats interpretiert. Convert gehört übrigens zu dem Programmpaket ImageMagic das auch für Windows verfügbar ist bzw. zu Umfang vieler Linux-Distributionen gehört. Beispiel:

convert RedPorsche RedPorsche.gif

Der Red Porsche von Jim Sachs – ein Bild das damals (fast) jeder kannte

Die Zeit des Amigas war gleichzeitig die große Zeit der Musiktracker – also von Programmen in denen die Musik nicht durch Noten komponiert, sondern durch hexadezimale Werte programmiert wurden. Der Quasi-Standard hier war der Soundtracker [ST]. Gespeichert wurden diese Stücke in sogenannten MOD-Files (Modul-Files). Möchten Sie diese nun z.B. als mp3 konvertieren, um sie z.B. im Auto zu hören, so genügt es das File mittels des Online-Converters von ZAMZAR unter [MC] zu konvertieren.

Schön ist, dass die Seite für Entwickler auch eine API anbietet [MCA] anbietet, die genutzt werden kann wenn mal mehr als ein paar Stücke konvertiert werden sollen. Achja – für User die bestimmte MOD-Files suchen bietet das MOD-Archiv eine Riesensammlung von Mod-Files für den Amiga an [MA].

Viele, die auf dem Amiga ihre ersten Programmierversuche gemacht haben nutzten AmigaBasic, dass auf der Extras-Diskette mitgeliefert wurde. Das einzige von Microsoft für den Amiga veröffentlichte Programm, erlaubte sogar den Einsatz von Labels anstelle von Zeilennummern.

Da Diskettenplatz teuer war (im Angebot bekam man schon mal 10 Disketten für 30 Mark), wurde der Sourcecode nicht als Textdatei sondern binär gespeichert. Das Konvertieren in reinen ASCII-Text ist zwar vorgesehen, indem man in der AmigaBasic-IDE den Befehl: SAVE "MyProgramm.bas",A verwendet, doch setzt dies natürlich eine lauffähige AmigaBasic-Version voraus (Tipp: AmigaBasic verlangt eine Kickstartversion < 37).

Möchte man nun aber die Programme auf dem PC lesen hat man zunächst einmal schlechte Karten, da ich keinen Konverter finden konnte. Abhilfe schafft es bei solchen Problemen nicht die Lösung für sein Betriebssystem zu suchen, sondern für den Amiga. Warum? Nun, auf dem Amiga war zum Beispiel C eine sehr populäre Programmiersprache. C-Compiler gibt es aber auch für andere Betriebssysteme.

Im Aminet (einer der größten Sammlung mit freier Software für den Amiga wurde ich fündig. Unter [AB2] kann findet Ihr das Programm ab2ascii das unter AmigaDos genau diese Umwandlung vornimmt. Unter meiner OpenSuse-Linux Installation reichte es im Makefile die Variable CC auf gcc zu setzten.

Danach können Sie das Programm gewohnt mittels make -f Makefile übersetzen.

Um die nun erscheinen Warnings zu unterdrücken können Sie natürlich die entsprechenden Codeteile umschreiben, oder einfach die Compileroption -Wall löschen. Dies ist sicherlich nicht der eleganteste Weg – aber er tut! :-)

Möchten Sie nun ein AmigaBasic-Programm konvertieren, so reicht der Aufruf:

ab2ascii MeinPrg.bas > MeinPrg.txt

Dies erzählte ich natürlich Michael. Da er aber eher Windows nutzt haben wir das Programm so modifiziert, dass es sowohl unter Linux, als auch Windows übersetzt werden kann. Das Ergebnis findet ihr hier auf github [ab2ascii2].

Fazit: Will man direkt an die Daten kommen hilft es zu verstehen wie die Dinge aufgebaut sind. Dies verlangt mitunter tieferes Wissen. Allerdings hat man dann auch wirklich Zugriff auf seine Daten. Dabei gilt aber immer Disk-Image mounten, Datei extrahieren, Datei analysieren!

Wo wir einmal wieder dabei waren, kam die Idee auf, ob man nicht die Images auch ändern kann und wieder mit einem Original-Amiga ablaufen lassen könnte. Das Ganze dann bitte mit etwas mehr Komfort als mit Hilfe von alten Disketten.

Bei GitHub stießen wir auf ein interessantes Projekt namens FlashFloppy [FF]. FlashFloppy ist eine alternative Firmware für einen Floppy Disk Emulator des Herstellers GoTek. Die Firma GoTek baut Floppy Disk Emulatoren, die man wie ein normales Diskettenlaufwerk in den PC oder andere Geräte einbauen kann.

Leider funktioniert der unmodifizierte GoTek Emulator nur am PC. Und hier kommt jetzt das FlashFloppy Projekt ins Spiel. FlashFloppy ersetzt die originale Firmware und unterstützt eine große Anzahl von verschiedenen Computersystemen. Diese Emulatoren lesen Diskettenabbilder von einem USB Stick und stellen diese über die 34-polige Diskettenschnittstelle zur Verfügung. Man kann sogar mittels zweier Knöpfe am Emulator zwischen mehreren Diskettenabbildern wählen, wobei das aktuelle über ein 3-stelliges 7-Sementdisplay angezeigt wird. Und das Beste an diesem Emulator ist, dass er gar nicht teuer ist.

Folgendes wird benötigt:

  • GoTek Flopy Drive Emulator SFR1M44-U100 (eBay, Suche nach SFR1M44-U100)
  • FTDI/RS232/CH340 USB Seriell Konverter
  • Lötkolben
  • Pinleiste 4 Pin
  • 4 x Verbindungskabel (Draht-Brücken, Jumper Wire) Buchse Buchse
  • USB Speicherstick FAT32 formatiert
  • STMicroelectonics Flash loader software [STMF]
  • Neues Firmware HEX File [FFDL]

Nachdem wir das Projekt-Wiki bei GitHub durchgelesen hatten, wollten wir natürlich sofort loslegen. Aber zuerst musste mal ein GoTek-Floppy Emulator besorgt werden. Bei eBay fanden wir durch die Suche nach der Modellbezeichnung SFR1M44-U100 zahlreiche, meist chinesische Anbieter und bestellten bei einem vertrauenerweckenden Händler ein Gerät aus China.

Es gibt verschiedene Modelle, aber SFR1M44-U100 scheint die gebräuchlichste Version zu sein. Ein SFRM72-U100 sollte ebenfalls funktionieren. Andere sind definitiv nicht geeignet.

Das Modell UFA1M44 hat keinen 34-Pin Diskettenlaufwerksanschluß, sondern einen USB-Anschluß, da es ein USB Diskettenlaufwerke emuliert. Weitere Varianten haben 26-polige Anschlüsse für Laptops (SFR1M44-DU26) oder unterschiedliche Platinenlayouts und können nicht nach dieser Anleitung programmiert werden (FDD-UDD U144K).

Nach einigermaßen erträglicher Wartezeit kam das gute Stück dann auch unversehrt an.

GoTek Laufwerksemulator. Diskettenabbilder werden von einem USB-Stick gelesen.

Normaler 34-Pin Diskettenanschluss

GoTek Innenansicht mit nachgerüsteter Pinleiste

GoTek eingebaut in externes Laufwerksgehäuse. Auf dem Gehäuse befindet sich die Original Unterschrift von Jay M. Miner, die er uns auf der Amiga’89 persönlich gab!

GoTek mit OLED-Anzeige und 3D-gedrucktem Einbaurahmen in einem Amiga 2000

Eine genaue Beschreibung zum Flashen findet man unter [FW]. Angeschlossen an den Amiga hat man nun eine komfortable Möglichkeit auf die Amiga-Diskettensammlung zuzugreifen und hat nebenbei den Vorteil, dass Read-Write-Errors der Vergangenheit angehören sollten (Lazarus lässt grüßen).

Für ganz besondere Retrofans gibt es sogar die Möglichkeit die Laufwerksgeräusche zu emulieren. Wenn es also wirklich jemanden gibt, der dies vermisst hat, sollte hier einmal nachsehen [FFEMU].

Fazit: Es muss nicht immer eine A1010 (Externes Amiga Laufwerk) sein – manchmal ist es auch schön moderne Technik mit Retro-Technik zu kombinieren.

Arduino: Mikrocontroller für Quereinsteiger

(caw)