ATR, DCM, XFD, PRO Files auf Diskette übertragen

ATR, DCM, XFD, PRO Files auf Diskette übertragen

Hi Leute,

bei einem meiner Besuche der ABBUC Webseite sah ich im Know-How-Index dieses Thema und ich dachte mir, schau mal was dazu geschrieben steht.

Die Beschreibung fand ich etwas knapp und aus diesem Grund und, weil das Thema immer mal wieder auftaucht gerade bei Leuten, die auf dem Gebiet der Virtualisierung beim Atari 8-Bit neu sind, wollte ich dies noch einmal vertiefen.

Hier das Original (Autor unbekannt):

„Um ein Diskettenimage mit Atari 8 Bit Software wieder auf Diskette zu übertragen wird ein SIO2PC Adapter und Software benötigt. Die PRO Files sind ein Spezialformat, das sich nur mit dem Programm APE lesen/schreiben lässt.

Wo das SIO2PC und das APE Interface, bzw. die Software zu erhalten sind, steht in der Linkliste, bzw. einfach mal eine Web-Suchmaschine verwenden.“

So, dann will ich mal schauen, was mir dazu einfällt.

Diskettenimage
==============

Das Abbild einer ganzen Diskette gespeichert in Form einer Datei. Eine solche Datei erhält oder hortet man gewöhnlich auf einem Medium eines leistungsfähigeren Rechners als dem Atari 8-Bit, zum Beispiel einem PC oder Mac. Dies bietet folgende Vorteile:

1) Man benötigt keine 5,25″ Disketten (und man muss sie auch nicht mit rumschleppen)
2) Man kann den Dateien aussagekräftige Namen geben
3) Man kann eine Suchfunktion benutzen
4) Man kann seine gesamte Softwaresammlung quasi auf einem Streichholz (z.B. Micro-SD-Karte) mitnehmen
5) Man kann mal eben eine Datensicherung machen
6) Man kann mal eben eine Arbeitskopie erstellen
7) „Hast Du mal eben eine leere Disk für mich“ fällt auch weg.

Wenn man jetzt ein solches Image bekommt, benötigt man etwas Hardware und Software, um daraus wieder eine echte Diskette zu erzeugen und natürlich eine echte Diskettenstation und echte Disketten. Vorzugsweise sollte die echte Floppy eine Erweiterung zum Beispiel in Form einer Speedy haben, weil sie dann schneller ist und weil dann nicht nur 90 bzw. 130 KB Daten sondern auch 180 KB auf eine Diskette passen. Dann braucht man noch einen Sektorkopierer für den Atari.

SIO2PC
==============

Ich nenne dies mal zu erst, weil es mit am längsten existiert und vermutlich auch die preiswerteste Lösung ist. Es besteht aus einem Adapter, der die serielle Schnittstelle des Atari mit der RS232-Schnittstelle des PC verbindet. Dazu gehört eine Software, die auf dem PC eine Diskettenstation für den Atari emuliert. Dieser virtuellen Diskettenstation weist man dann das Diskettenimage zu. Als Software gibt es hier beispielsweise:

– SIO2PC in der Version 4.21. Läuft unter DOS und W9x und kostet nichts

– APE läuft unter W9x, 2000 und XP und existiert als kostenfreie Testversion, die in den Möglichkeiten eingeschränkt ist und als kostenpflichtige Vollversion. APE wird von Steven Tucker unter www.atarimax.com vertrieben und sporadisch weiter entwickelt.

SIO2USB
==============

ist „Made in Germany“ und wird derzeit (2009) aktiv unterstützt und entwickelt. Es besteht aus einem Interface mit Gehäuse und Display. Auf der einen Seite steckt man einen USB-Stick mit den Diskettenabbildern ein und auf der anderen Seite wird es an der seriellen Schnittstelle des Atari eingesteckt. Weiteres unter www.abbuc-raf.de.

SIO2SD
==============

ist ein kleines Interface mit Display für SD-Karten. Es wird auch einfach an der seriellen Schnittstelle des Atari angeschlossen. Das Diskettenimage wird mit Menütasten ausgewählt, alternativ geht es über Software vom Atari aus. Weiteres unter sio2sd.gucio.pl/index_en.html.

S-Drive
==============

wie SIO2SD, nur ohne Display. Steuerung ausschließlich und vollständig über Software vom Atari aus. Kann somit leicht in den Atari eingebaut werden.

XXX
==============

es gibt sicherlich noch weitere ähnliche Lösungen …

Zurückumwandeln
===============

Schreiten wir nun zur Verwandlung „wie mache ich aus einem Image eine Floppy“.

1) Die echte Atari Floppy stellen wir auf D1:
2) Die emulierte Floppy mit dem Diskettenimage stellen wir auf D2:
3) Mit der echten Floppy laden wir am Atari einen Sektorkopierer.
4) Wir legen in D1: eine leere Diskette ein
5) Wir kopieren alles von D2: auf D1:

Das ist im Prinzip alles. Einige Punkte gibt es dennoch zu beachten:

*) Imagegröße
Das Image muss natürlich auf die echte Diskette passen können. Auf eine Diskette in einer Atari 1050 passen original 92.160 Bytes (Single Density) oder 133.120 Bytes (Medium Density). Auf eine 1050 mit Erweiterung passt dann auch 184.320 Bytes (Double Density).

Bei _XFD_ ist die Größe 1:1 ablesbar.

Bei _ATR_ gibt es einen Infoblock von 16 Bytes, den man abziehen muss. Dazu sind Diskettenabbilder von Disketten größer als 133.120 Bytes grundsätzlich 384 Bytes kleiner, weil die ersten 3 Sektoren auf dem Atari immer nur mit 128 Bytes genutzt werden und in einem ATR Image auch nur so viel gespeichert wird.

Bei _DCM_ handelt es sich um ein Format, welches von einem Atari-8-Bit Programm verwendet wird. Der Name fällt mir gerade nicht ein, aber leere Sektoren werden komprimiert gespeichert und deshalb kann man aus der Größe nicht zwingend etwas ablesen. Zum Zurückverwandeln kann man hier auch nicht einen Sektorkopierer nehmen sondern man benötigt eben das Programm.

*) Kopiergeschützte Disketten
Für die Zurückverwandlung von PRO-Images benötigt man die kostenpflichtige Version von APE

*) Gepackte Images
Es gibt einige Versionen von gepackten Diskettenimages, wo die leeren und ungenutzten Bereiche des Originals weggelassen wurden. Man kann auf solche Images natürlich keine zusätzlichen Daten schreiben. Lasst die Finger davon – das bereitet nur Probleme. Und bei dem Datenvolumen von Atari-Disketten gegenüber dem Platz auf PC-Medien ist der Speicherplatz dermaßen billig, also ehrlich. Aber bitte nicht verwechseln mit Packen in Form von ZIP oder ähnlich. Wenn man ein Diskettenimage mit ZIP oder RAR o.ä. packt bietet dies durchaus einen Schutz gegen Datenkorruption, denn beim Entpacken erkennen die Programme, ob das Archiv beschädigt wurde (Fehler beim Herunterladen oder ähnlich)!

*) Zu große Images
Es gibt Diskettenabbilder, die größer als 180 KB sind. Schließlich gibt es ja auch andere Diskettenlaufwerke als die Atari 1050, zum Beispiel die Floppy 2000 und die XF 551, die bis zu 360 KB können, das ATR-8000 mit bis zu 720 KB, mein HDI mit bis zu 1.44 MB und noch die Festplatteninterfaces wie die BlackBox, die Disketten bis zu 16 MB ( minus 256 Byte) können.

Zum Zurückverwandeln bräuchte man dann die Originalhardware, aber hineinschauen kann man in die Diskettenimages auch so. Man muss auf dem Atari nur ein passendes DOS laden. Hauptsächlich kommen hier MyDOS und SpartaDOS in Betracht, die ein Dateisystem bis 16 MB unterstützen. Für SpartaDOS gibt es als Alternative BeWeDOS aus der ABBUC PD.

*) 360 KB: 40*2*18*256 oder 80*18*256 oder 80*2*18*128
Wenn man nun ein Diskettenimage von der Größe 368.640 Bytes hat ergibt sich nicht nur theoretisch das Problem: Ist die Originaldiskette nun von einer XF 551 beidseitig in doppelter Dichte (DD) formatiert, stammt sie von einem 80-Track Laufwerk und ist einseitig in DD (was von den Daten her gegenüber der XF ja noch kompatibel wäre) oder stammt sie von einem 80-Track Laufwerk und wurde beidseitig in SD formatiert.

Solche Informationen über die physikalische Beschaffenheit der Originaldiskette befinden sich in dem 16-Byte Infoblock (Header) eines ATR-Images. Bei XFD gibt es so etwas nicht! Also bitte ATR verwenden, wenn ihr selber Diskettenabbilder erzeugt.

*) Dumme vs. intelligente Sektorkopierer
Gegenüber einem intelligenten Sektorkopierer überprüft ein dummer Sektorkopierer nicht, ob Quelle und Ziel das gleiche (oder ein sinngleiches) Format haben. Da kann man sich schon in die Gefahr begeben, von einem 130 KB Original nur 90 KB (die ersten 720 Sektoren) zu kopieren (womit man natürlich Daten verliert), oder ein 90 KB Original auf ein 130 KB Ziel u kopieren, womit man das Ziel aufbläht und kein Mensch mehr nachvollziehen kann, ob diese restlichen 40 KB nun wirklich benutzt werden oder nicht.

Die Sektorkopierer, die sich zum Beispiel im Atari-DOS befinden kopieren Disketten anhand des als belegt markierten Inhaltes der Diskette. Wenn man jetzt aber ein eigenständig bootendes Spiel hat, geht dies mit hoher Wahrscheinlichkeit schief.

Der Sektorkopierer im Lieferumfang einer Speedy 1050 unterstützt einseitige Disketten bis 180 KB. Er formatiert normalerweise das Ziel entsprechend der Quelle und ist somit recht sicher.

Als Sektorkopierer für Disketten größer als 180 KB existieren zum Beispiel der von Carsten Strotmann in Forth mit Menü oder der von mir in Maschinensprache geschriebene für Kommandozeileneingabe. Letzterer ist für die Verwendung unter SpartaDOS / BeWeDOS geschrieben, kopiert aber alles und genau wie der von Carsten bis 65.535 Sektoren (16 MB).

So, ich denke wir haben hiermit einen Überblick über Vor- und Nachteile, Kosten und Fallen, in die man hineintappsen kann.

Wer per eMail Kontakt zu mir aufnehmen möchte findet dazu eine Möglichkeit unter https://abbuc.de/ueber/whoiswho/ -> Floppyservice.

Mfg,
Erhard

2023-01-19