Hallo,
ich befasse mich mit der Konvertierung von CP/M-Programm-Disketten. Dazu teste ich gerade die Programme 22DISK (Vers. 1.44) und SCopy (Supercopy Vers. 3.40) unter einer DOS-Umgebung (DOS 98 von Windows 98) auf einem Pentium II (500MHz) mit einem 5.25“ / 1.2MB HD Diskettenlaufwerk
Andere Programme, wie Xenocopy oder PC Alien funktionieren bei mir überhaupt nicht. Xenocopy braucht meines Wissens nach einen PC/XT und läuft nicht auf AT-Maschinen. PC Alien lässt sich zwar starten und zeigt das Auswahlmenü, sobald ich aber eine Diskette lesen oder formatieren will, kommt eine Fehlermeldung. Vermutlich ist der Kontroller oder das HD-Laufwerk nicht mit dem Programm kompatibel.
Mit 22DISK habe ich bisher gute Erfahrungen gemacht, da es auch selbst erstellte Formate möglich macht. Auch mit SCopy konnte ich einige Disketten formatieren und beschreiben. Hier gibt es aber nur die vorgefertigten Formate.
Da ich aber über fast keine Originaldisketten (ausgenommen Philips P2xxx) bzw. Images verfüge, erstelle ich selbst mit den beiden Programmen Disketten im gewünschten Format, und vergleiche diese anschließend.
Es gibt einige Formate, die sowohl in 22DISK, als auch in SCopy, definiert sind.
Z.B. zwei Formate von Bondwell
Definitionen in 22DISK:
BEGIN BON1 Bondwell 12 - SSDD 48 tpi 5.25"
DENSITY MFM ,LOW
CYLINDERS 40
SIDES 1
SECTORS 18,256
SKEW 2
SIDE1 0 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
BSH 4 BLM 15 EXM 1 DSM 84 DRM 127 AL0 0C0H AL1 0 OFS 2
END
BEGIN BON2 Bondwell 14 - DSDD 48 tpi 5.25"
DENSITY MFM ,LOW
CYLINDERS 40
SIDES 2
SECTORS 18,256
SKEW 2
SIDE1 0 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
SIDE2 1 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
ORDER CYLINDERS
BSH 4 BLM 15 EXM 1 DSM 174 DRM 127 AL0 0C0H AL1 0 OFS 2
END
Bezeichnung in SCopy:
BONDW-12 Bondwell – 12 48tpi DD SS 18 x 256
BONDW-14 Bondwell – 14 48tpi DD DS 18 x 256
Erwartung: Es sollten die Disketten gleichen Typs vom jeweils anderen Programm fehlerfrei gelesen werden können.
Bei meinen Versuchen habe ich vier Disketten erstellt (formatiert und dann mit jeweils einer großen, durchnummerierten Textdatei, welche ca. zwei Drittel der Diskettenkapazität umfasst, sowie mit einigen, kleinen Basicprogrammen im Textformat beschrieben). Je zwei Disketten mit 22DISK und zwei mit SCopy. Danach habe ich diese mit dem jeweils anderen Programm eingelesen. (Einlesen mit dem gleichen Programm funktionierte, wie erwartet, sowieso.)
Ergebnis meines Tests:
Die Single Side Disketten von Bondwell-12 waren einwandfrei von beiden Programmen gegenseitig lesbar!
Bei den Double Side Disketten von Bondwell-14 sah es anfangs auch so aus. Es hab keinerlei Hinweise, dass etwas nicht stimmen könnte. Bei näherem Vergleich der 250KB großen Testdatei stellte ich fest, dass nur der erste Teil des Textes lesbar war. Der Rest der Datei war mit irgendwelchen nicht druckbaren Zeichen gefüllt. Das galt sowohl für 22DISK als auch für SCopy. Nach näherer Analyse stellt sich heraus, dass SCopy einen Füllmodus ORDER = EAGLE verwendet und nicht wie 22DISK ORDER = CYLINDERS. Das heißt, dass die Reihenfolge beim Beschreiben der Rückseite der Diskette unterschiedlich ist. Bei beiden Modi wird zuerst die Vorderseite befüllt und danach wird bei EAGLE beim ersten Track auf der Rückseite begonnen, wohingegen bei CYLINDERS beim letzten Track auf der Rückseite begonnen wird. Dadurch ist der Datenverlust bedingt.
Stellt sich nun die Frage, welche Definition die richtige ist: CYLINDERS oder EAGLE?
(Hinweis: Diese und andere Begriffe werden in der Dokumentation von 22DISK gut erklärt.)
Hat wer ein Image von einer doppelseitigen Bondwell-Original-Diskette (oder hat einen Link zum Downloaden), welche auch über die Hälfte gefüllt ist? (Images von Teledisk, ImageDisk oder SAMdisk wären hilfreich.)
Weiters ist mir aufgefallen, dass SCopy das Format ELTRON2 wohl formatieren, aber die selbst erstellte Diskette nicht beschreiben kann!!! Sehr seltsam!
Noch ein Wort zum SKEW (Sektorenversatz, damit die Zugriffe schneller erfolgen können). Bei 22DISK wird in den Parametern darauf Rücksicht genommen. SCopy scheint diesen Parameter überhaupt nicht zu kennen. Alle Sektoren werden der Reihe nach raus geschrieben. Das sieht man schön in einer Imagedatei oder in den Analysetools. Bei SKEW = 1 (kein Skew) sind die Sektoren 1,2,3,4,… Bei höherem SKEW sind die Sektoren nicht lückenlos aneinander gereiht, sodass genügend Zeit bleibt um den nächsten Sektor lesen zu können, ohne eine ganze Umdrehung abzuwarten zu müssen. (SKEW ist nicht mit dem CP/M-mäßigen Interleave zu verwechseln, welcher natürlich in beiden Programmen funktioniert und die gleiche Funktion erfüllt. Es gibt sogar Formate die beides verwenden, warum auch immer.) Die Auswirkungen sind bei vielen mit SCopy erstellten Disketten, dass das Lesen und Schreiben solcher Formate extrem langsam wird, egal ob mit SCopy oder 22DISK darauf zugegriffen wird (meist ein Vielfaches der „normalen“ Zeit). Wurde die Diskette hingegen mit 22DISK (richtiger SKEW) erstellt, lässt sie sich von beiden Programmen flott beschreiben.
Grüße
PAW