JOYCE-Disks auf dem PC lesen



JOY-DISK   Version 0.4

(c) 1998 Andreß Freystatzky




Aufgabe

Das MS-DOS-Programm Joy-Disk importiert komplette CF2DD- Disketten des 8-bit CP/M-plus Rechners Schneider/Amstrad PCW/JOYCE in das Dateisystem eines PC. Die Dateien werden in einer automatisch generierten Struktur von Unterverzeichnissen abgelegt.


Aufruf

Aufgerufen wird Joy-Disk mit dem Laufwerksbuchstaben des Lauf- werks in dem sich die CF2DD-Diskette befindet als Parameter.

JD <drive>

Optional kann als zweiter Parameter noch ein Zielpfad auf dem PC angegeben werden.

JD <drive> <pfadvorgabe>

Die CF2DD-Diskette muss sich zum Zeitpunkt des Aufrufs bereits im Laufwerk befinden.


Ablauf

Für jede eingelesene Diskette erstellt Joy-Disk ein eigenes Verzeichnis mit Unterverzeichnissen für die benutzten Usernummern auf der Diskette. Die Dateien werden nach dem folgenden Schema auf Platte abgelegt:

<pfadvorgabe>\<disklabel>\<usernummer>\<dateiname>


<pfadvorgabe>

Alle Disketten werden unterhalb eines vorgegebenen Verzeichnisses einsortiert. Das Programm gibt 'C:\CPM\DISK' vor. Diese Vorgabe kann aber über eine INI-Datei oder die Kommandozeile geändert werden.


<disklabel>

Unterhalb des vorgegebenen Pfades wird für jede Diskette ein eigenes Verzeichnis erstellt. Dieses erhält, sofern vorhanden, den Namen des Labels der Diskette.

Ist das Verzeichnis <disklabel> bereits vorhanden oder hat die Diskette kein Label, dann wird ein Verzeichnis mit dem Namen 'DISKxxxx' erstellt. Wobei 'xxxx' eine fortlaufende vierstellige Nummer ist.

Technische Randbemerkung: Sollten die theoretisch möglichen Verzeichnisse von 'DISK0000' bis 'DISK9999' bereits vorhanden sein, dann verfängt sich Joy-Disk in einer Endlosschleife. Ich habe darauf verzichtet diesen esotherischen Fehler abzufangen.


<usernummer>

Für jede auf der Diskette benutzte Usernummer wird unterhalb des Verzeichnisses für die Diskette ein Unterverzeichnis mit dem Namen 'USER_x' erstellt. 'x' ist dabei die jeweilige Usernummer.


<dateiname>

Der Name der Datei wird von der CP/M-Diskette übernommen. Enthält er irgendwelche für MS-DOS-Dateinamen verbotenen Zeichen, dann werden diese durch ein Underline '_' ersetzt. Namenskonflikte, die sich dadurch eventuell ergeben, werden aufgelöst.

Für Insider: Ich sage nur ' !**.**!.FID' ;-)

Hinzu kommt, daß MS-DOS alle Dateinamen verbietet die, egal mit welcher Extension, den Namen eines installierten Treibers tragen. Dateien beispielsweise mit den Namen 'CON.COM' oder 'COM1.TXT' sind damit leider nicht möglich. Joy-Disk benennt die Dateien gegebenenfalls um. Üblicherweise durch anhängen eines Underline an den Namen. Aus 'CON.COM' wird dann 'CON_.COM'.


Zusammengefasst

Eine Datei 'INFO.TXT' die auf einer CP/M-Diskette mit dem Label 'KAD49' unter User 0 gespeichert ist, finden sie auf dem PC nach der Konvertierung unter dem Namen

'C:\CPM\DISK\KAD49\USER_0\INFO.TXT'

wieder.


INI-Datei

Die INI-Datei ist eine reine Textdatei. Sie muss den gleichen Dateinamen wie Joy-Disk, allerdings mit der Extension INI tragen (Also JD.INI, falls das Programm nicht umbenannt wurde) und sich im selben Verzeichnis wie Joy-Disk selbst befinden.

In diese Datei kann eine Zeile der Form

ZielVerzeichnis=d:irgend\ein\pfad

eingetragen werden. Für 'd:\irgend\ein\pfad' setzen sie logischerweise den von ihnen gewählten Pfad ein. Zusätzliche Kommentarzeilen in der Datei sind erlaubt.

In Dateinamen verboten sind unter MS-DOS meines Wissens folgende Zeichen

" * + , . / : ; < = > ? [ \ ] |

Dazu kommen noch alle Steuerzeichen (00h..1Fh) sowie das Leerzeichen. Es kann aber sein, daß ich da das eine oder andere Zeichen übersehen habe. Darum bietet Joy-Disk die Möglichkeit weitere Zeichen in Dateinamen zu verbieten. Dazu ist eine Zeile der Form

Invalid = !$%&()#-

in die JD.INI aufzunehmen. Rechts von Gleicheitszeichen stehen natürlich nur die Zeichen die zusätzlich zu den oben genannten verboten werden sollen.

Die Benutzung von Buchstaben, Ziffern und Underline in Datei- namen kann Joy-Disk auf diesem Wege nicht verboten werden.


Probleme

Bei 3,5"-Disketten funktioniert das Verfahren (jedenfalls auf meinem Rechner) einwandfrei. Ein Problem gibt es mit 5,25"-Disketten. Hier kennt der PC von Haus aus nur 40-Spur-DD (genaugenommen ist das SD) und 80-Spur-HD Disketten.

Aber mit Hilfe eines kleinen Treibers ist der PC auch bereit 720k-Disketten in 5,25"-Laufwerken zu akzeptieren. Der Treiber heisst 720K.EXE. Er kann sowohl als normales Programm in der Kommandozeile aufgerufen, als auch per DEVICE-Befehl in der CONFIG.SYS eingebunden werden.

Wollen sie also 5,25"-CF2DD-Disketten einlesen, dann führen sie vor dem ersten Start von JoyDisk einfach einmal das Programm 720K aus. Das Programm installiert übrigens bei jedem Aufruf eine Kopie im Speicher. Mir ist keine Möglichkeit zur Deinstallation bekannt. Es ist bei regelmäßiger Nutzung vielleicht doch ganz sinnvoll die Zeile

DEVICE=720K.EXE

in die CONFIG.SYS aufzunehmen. Zumal der kleine Treiber nur 160 Byte Speicher belegt. Der Treiber ist übrigens nicht auf meinem Mist gewachsen. Und leider habe ich nur die nackte EXE-Datei ohne irgendwelche Doku dazu.


Umbenennung von Dateien

Wie bereits angesprochen muss Joy-Disk manche CP/M-Dateien beim Import in das Dateisystem von MS-DOS umbenennen. Dabei kann es natürlich zu Namenskonflikten mit anderen Dateien kommen.

Zuerst versucht Joy-Disk den Konflikt (meist erfolgreich) durch anhängen von Underlines an den Dateinamen zu lösen. Ist das einmal nicht möglich, dann wird der Konflikt durch eine Numerierung der Dateien aufgelöst.


Dateiliste

Im Verzeichnis der Diskette (<pfadvorgabe>\<disklabel>) legt Joy-Disk eine Liste aller importierten Dateien an. In dieser Liste wird auch der Original-Dateiname vermerkt falls sie umbenannt werden musste.

Diese Liste enthältfür jede Datei eine Prüfsumme (CRC). Diese Prüfsumme ist dieselbe die auch das CP/M-Programm CHEK (In den Versionen 1.0 und 1.5 getestet) erzeugt. Damit ist es möglich, nach dem Reimport auf ein CP/M-System eine Prüfung der Datei auf Korrektheit vorzunehmen.

Beim Layout der Dateiliste habe ich mich, um einen möglichst einfachen Vergleich zu ermöglichen, eng an das von CHEK erzeugte Format gehalten.


Schlussbemerkung

Joy-Disk habe ich (auf die Schnelle) für meinen eigenen Bedarf geschrieben. Da <wnb> Interesse bekundet hat, habe ich noch ein paar Verbesserungen vorgenommen und mir einige Zeilen Kurzdoku abgerungen. Joy-Disk wird aber sicherlich noch eine ganze Reihe Macken haben. Ich bitte um reichlich Rückmeldungen von allen die dieses Programm benutzen.

Motivationshilfen in Form von kleineren Geschenken und Dankschreiben werden natürlich gerne angenommen, sind aber keine Voraussetzungen für die Benutzung von Joy-Disk.


Andreß Freystatzky
Programm downloaden ...     KLICK = download