Hallo Besucher, der Thread wurde 8,2k mal aufgerufen und enthält 49 Antworten

letzter Beitrag von axorp am

Spur 0 lesen/schreiben per 1541(II), 1541C, 1570, 1571 möglich?

  • Ich habe mich etwas mit der Spur 0 bei 5,25 Zoll Disketten beschäftigt. Dabei ist mir die Frage gekommen, kann eines der Commodore Laufwerke die Spur 0 zum Schreiben bzw. Lesen verwenden?


    1541/1541 II
    Das Diskettenlaufwerk 1541 (bzw. 1541 II) besitzt ja keine „Spur-0“ Erkennung in Form einer Lichtschranke. Deshalb führt die 1541 einen sogenannten „BUMP“ aus, um die Position der äußersten Spur zu bestimmen, dabei wird der Kopf zur Justierung (recht unsanft) an den Anschlag zurückgefahren.


    Die Frage die ich mir stelle ist, befindet sich der Kopf nach dem Anschlag an der Spur 0 oder an der Spur 1?
    Kann der Kopf also mechanisch auf die Spur 0 fahren?
    Oder was verhindert, dass auf Spur 0 zugegriffen werden kann (der Anschlag auf mechanischem Wege oder das Commodore DOS per Software)?


    1541C
    Das Diskettenlaufwerk 1541C besitzt eine „Spur-0“ Erkennung in Form einer Lichtschranke.


    Aber steht der Schreib- Lesekopf nach der Erkennung per Lichtschranke wirklich auf Spur 0 oder auf Spur 1?


    1570/1571
    Die Diskettenlaufwerke 1570 und 1571 besitzen auch eine „Spur-0“ Erkennung in Form einer Lichtschranke.


    Aber steht der Schreib- Lesekopf nach der Erkennung per Lichtschranke wirklich auf Spur 0 oder auf Spur 1?


    Die 1570 und auch die 1571 kann ja MFM Formatierte CP/M bzw. MS-DOS Disketten lesen. Dazu ist es meines achtens notwendig auf die Spur 0 zuzugreifen, da das CP/M bzw. MS-DOS Disketten Format die Spur 0 benutzt. Also müsste sich der Schreib-Lesekopf eigentlich auf die Spur 0 Positionieren lassen.


    Ist es mit einer 1570/1571 auch möglich Daten mittels GCR-Aufzeichnungsverfahren auf Spur 0 zu schreiben und zu lesen?

  • Deshalb führt die 1541 einen sogenannten „BUMP“ aus, um die Position der äußersten Spur zu bestimmen, dabei wird der Kopf zur Justierung (recht unsanft) an den Anschlag zurückgefahren.

    Solche eine Routine verwende ich in meinem Lader auch. Danach befindet sich der Lesekopf auf Spur 1. Ich würde mal sagen, daß die Zählung einfach bei 1 beginnt und nicht bei 0. Zum Vergleich: Beim AppleII werden die Spuren von 0 bis 34 gezählt. Liest man diese Spuren mit der 1541, so befindet sich Spur 0 (AppleII) bei Spur 1 (C64) usw.

  • Der Grund dafür ist die Blockverkettung. GCR Format nutzt die ersten 2 Byte auf jedem Block für die Blockverkettung, dabei gibt Byte 1 die Spur an und Byte 2 den Track. Beim letzten Block ist das anders, da ist Byte 1 immer 00 und sagt dem Laufwerk damit das ist der letzte Block, Byte 2 gibt dann an wieviel Byte in dem Block noch benutzt werden. Wenn dann in der Blockverkettung, Spur 00 stehen würde, würde das als der letzte Block erkannt und beendet damit das Einlesen.

  • Vielen Dank für eure Antworten.


    Wenn ich das richtig sehe, benutzen alle Commodore Laufwerke wirklich die "echte" Spur 0. Das Commodore DOS "nennt" diese Spur (also Spur 0) aber Spur 1.
    Oder andersherum, das was das Commodore DOS mit Spur 1 bezeichnet ist eigentlich die Spur 0.
    Und laut dem Dokument ECMA-70 (Seite 12) müsste die Spur 0 (von Seite 0, also der Oberseite) die Spur sein, welche einen Radius von 57,150 mm (57,150 mm - 0/48 * 25,4mm = 57,150 mm) besitzt.
    Leider kann man dies sehr schlecht nachmessen. Oder gibt es hier noch andere Vergleichsmöglichkeiten?




    Mich haben glaube ich, folgende Aussagen aus dem Buch "Die Floppy 1570/1571" (Markt & Technik Verlag AG ISBN 3-89090-185-9) verwirrt:
    Zitat Seite 46:
    "Commodore verwendet in seinem Format nur die Spuren 1 bis 35; andere Hersteller nutzen alle
    möglichen Spuren von 0 bis 39 für ihr Format aus und beschreiben jede Spur mit Sektoren der
    Größe von 512 Byte."


    Zitat Seite 47/48:
    "An dieser Stelle sei auf die Zählweise eingegangen, wie sie beim Computer üblich ist. Ein
    Computer zählt nicht von 1 an, sondern er benutzt die 0 als erste Zahl. Wenn wir also 21
    Sektoren auf einer Spur haben, so sind das die Sektoren von 0 bis 20. Auch die erste Seite einer
    Diskette (Vorderseite) ist grundsätzlich Seite 0, die andere Seite demnach Seite 1 (Rückseite).
    Bei den Spuren im Commodore-Format verhält es sich genauso, obwohl wir von Spur 1 bis 35
    zählen. In Wirklichkeit besteht das Commodore-Format
    nämlich aus 36 Spuren (0 bis 35). Die Spur 0 wird lediglich nicht beschrieben, da sie als
    Anschlagpunkt für den Schreib-jLesekopf definiert ist."



  • Der Grund dafür ist die Blockverkettung.

    Man hätte 'Letzter Block' auch locker mit Spur=255 anzeigen können. Im Übrigen ist die äußerste Spur natürlich in Wirklichkeit Spur -5. Die eigentliche Definition der 5-1/4-Zoll-Disk sah nur 35 Spuren vor; später hat man das Zugriffsloch verlängert und 40 Spuren untergebracht. Deswegen ist der Steg der Hülle an der Stelle auch so dünn...

  • Ich hab mir mal diese Disketten für 35 Spuren angesehen. Die hatten ja wirklich eine kleinere Öffnung für den Schreib-/Lesekopf. Siehe Link
    Aber die Öffnung wurde an der innen Seite vergrößert. Die Position der Spur 0, sollte sich durch diese Erweiterung nicht verändert haben.
    Eines der „Ur-Laufwerke“ die Shugart SA400 (siehe Manual) sollte genau solche 35 Spur Disketten mit kleiner Öffnung verarbeiten. Die Diskette SA-104 sollte eigentlich genau eine 35 Spur Diskette mit kleiner Öffnung sein. In der Spezifikation (auf Seite 2 im Manual) ist genau der Radius 5,715 cm (57,150 mm) für die äußerste Spur angeben.
    Also das mit Spur -5 verwirrt mich etwas.

  • @mc71, also Spur -5 hab ich auch noch nicht gehört.


    Der letzte Block mit 255 ginge nicht da nicht immer in Basic geladen wird, könnten die übrigen Bytes einen anderen genutzten Bereich Überschreiben.
    Etwas anderes würde gehen, nämlich der 1. zu lesende Block auf Spur 00, der zweite Block dann nicht mehr.


    @ZAK256, Diskettenseite 0 ist unten und Seite 1 ist oben. Wenn du mal eine 1541 aufmachst, dann wirst du sehen, daß der S/L-Kopf unten ist.

  • Stell dir mal vor, du nutzt den Cassettenpuffer. Dann schreibst du die Daten auch über den Puffer hinaus.

    Häh?! Wenn das DOS den letzten Block anders markiert, ist das dem Rechner doch total wumpe, der merkt davon nichts.

  • It depends how you count, but keep in mind the 1541 is a wide (40-track) RW head in an 80-track capable mechanism, hence you can seek to "half tracks". Because of this, the first available "slot" the 1541 can write data on is the second track available if it were a thinner 80-track RW head.

  • Ihr redet aneinander vorbei. Ursprünglich gesagt wurde Track=255 als Endmarker, Gikauf redet von Sector=255 als Endmarker, was natürlich in die Hose ginge, aber eben auch nicht gemeint war.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Eine 1541 kann die Spur 0 nicht vollständig erreichen, da sich der Anschlag bzw. die Lichtschranke zwischen Spur 0 und 1 befindet.
    Der Steppermotor versucht beim Anschlag noch einen Step von 1 auf 0 zu machen, schlägt aber gegen den Anschlag, und bleibt damit auf seiner vorigen Step-Position stehen, nämlich auf Spur 1.


    ZAK256:
    Die Spuren werden von aussen nach innen gezählt, d.h. Spur 1 ist ganz aussen (und somit auch länger, also mit mehre Sektoren als z.b. Spur 35), während Spur 35 bzw. 40 ganz innen sind.
    Deshalb wurde für die 40 Spuren das Fenster nach innen erweitert.

  • @ZAK256, Diskettenseite 0 ist unten und Seite 1 ist oben. Wenn du mal eine 1541 aufmachst, dann wirst du sehen, daß der S/L-Kopf unten ist.


    Ja, da hab ich mich verschrieben, es geht um die Unterseite (Seite 0) der Diskette.


    It depends how you count, but keep in mind the 1541 is a wide (40-track) RW head in an 80-track capable mechanism, hence you can seek to "half tracks". Because of this, the first available "slot" the 1541 can write data on is the second track available if it were a thinner 80-track RW head.


    That would mean a 1541 can access track 1 of a 96 TPI (80 tracks) drive. Or another view on track 0.5 (semi-track) of a 48 TPI (40 tracks) drive. And that track is what the Commodore Dos calls track 1? Is that what you mean?
    But what about a 1571 in MFM mode that wants to access an MS-DOS or CP/M floppy disk? This access must have access to track 0. Track 0 (usually called track 00) is exactly the same for a 96 TPI (80 tracks) drive and a 48 TPI (40 tracks) drive. In both types of drives I only ever found the radius 2.25 in (57.15 mm) for track 00 in all specifications.
    In German:
    Das würde bedeuten, eine 1541 kann auf der Spur 1 eines 96 TPI (80 Spuren) Laufwerks zugreifen. Oder anderes betrachtet auf Spur 0.5 (halb-spur) eines 48 TPI (40 Spuren) Laufwerks. Und diese Spur nennt das Commodore Dos dann Spur 1? Ist das, was du meinst?
    Aber was ist mit einer 1571 im MFM Modus, welche auf einen MS-DOS oder CP/M Diskette zugreifen will? Dieser Zugriff muss doch auf die Spur 0 zugreifen. Die Spur 0 (meist mit Spur 00 bezeichnet) ist bei einem 96 TPI (80 Spuren) Laufwerk und einem 48 TPI (40 Spuren) Laufwerk genau dieselbe. Bei beiden Laufwerksarten habe ich in allen Spezifikationen immer nur den Radius 2.25 in (57.15 mm) für die Spur 00 gefunden.

    ..., schlägt aber gegen den Anschlag, und bleibt damit auf seiner vorigen Step-Position stehen, nämlich auf Spur 1.


    Die Frage ist nur ist das die Spur 1 eines 96 TPI (80 Spuren) Laufwerks oder eines 48 TPI (40 Spuren) Laufwerks?

    ZAK256:
    Die Spuren werden von aussen nach innen gezählt, d.h. Spur 1 ist ganz aussen (und somit auch länger, also mit mehre Sektoren als z.b. Spur 35), während Spur 35 bzw. 40 ganz innen sind.
    Deshalb wurde für die 40 Spuren das Fenster nach innen erweitert.


    Ja, dies Spuren werden von außen nach innen gezählt. Das ist mir bekannt. Es geht hier um die äußerste Spur, also um die Spur mit dem größten Radius. Und das auf der Unterseite (Seite 0) der Diskette. Die Fenstererweiterung ist interessant, spielt aber für die Position äußerste Spur wirklich keine Rolle.





    Um meine eigentliche Frage etwas anschaulicher zu gestellten habe ich mal folgende Tabelle erstellt. Die Tabelle zeigt Erst einmal für ein 96 TPI (80 Spuren) Laufwerk und für ein 48 TPI (40 Spuren) Laufwerk die Radius Werte der einzelnen Spuren. Diese Laufwerke sollten MS-DOS bzw. CP/M Disketten verarbeiten können. Den maximalen Radius und auch den minimalen Radius der Spuren habe ich in mehreren Spezifikationen gefunden. Diese Radius –Werte und dessen Spuren nehme ich als Grundlage für die weitre Betrachtung. Die Commodore Laufwerke sind nun weder 96 TPI (80 Spuren) Laufwerke noch 48 TPI (40 Spuren) Laufwerke. Die Commodore Laufwerke haben einen 48 TPI (40 Spuren) Schreibkopf aber eine 96 TPI (80 Spuren) Mechanik (wie es r.cade so treffend formuliert hat). Da die 1570 und die 1571 über einen MFM Modus verfügen, können diese MS-DOS bzw. CP/M Disketten verarbeiten. Dazu ist es aber notwendig auf genau die richtigen Spuren zugreifen zu können. Das ist die Parallele zu den 96 TPI (80 Spuren) Laufwerken und 48 TPI (40 Spuren) Laufwerke und deren Spur-Radien. Aber welche Spuren (mit welchen Radien) verwendet das Commodore DOS und wie werden diese dabei Benannt (Nummeriert)? Und auf welche Spuren können die einzelnen Laufwerke überhaupt zugreifen?


  • Also nach meinem Verständnis verhält sich die 1541 wie ein 48TPI/40 Spuren Laufwerk.
    Und das Commodore DOS verwendet davon nur die Spuren 1-35.


    Ich hätte aber eher gedacht daß Spur 1 eines 96TPI Laufwerkes auf Spur 1 eines 48TPI Laufwerkes zu liegen kommt, bzw. Spur 79 des 96 TPI Laufwerkes auf Spur 40 des 48TPI Laufwerkes.
    Beim 96 TPI Laufwerk wird aber bereits einen Halftrack vorher (bei 0,5) begonnen, und dieser als Track 0 gezählt. Track 79 ist dann der letzte und entspricht Track 40.


    Ob man jetzt den Halftrack 0,5 zwischen Spur 0 und 1 noch anfahren kann, wird von 1541 Laufwerk zu Laufwerk unterschiedlich sein, und hängt von der Einstellung des Spur-0 Anschlages ab, würde ich meinen.
    Meistens ist der Anschlag sehr nache an Spur 0 eingestellt, somit geht es sich noch aus, liegt er aber näher an Spur 1, dann eben nicht mehr.

  • Ob man jetzt den Halftrack 0,5 zwischen Spur 0 und 1 noch anfahren kann, wird von 1541 Laufwerk zu Laufwerk unterschiedlich sein, und hängt von der Einstellung des Spur-0 Anschlages ab, würde ich meinen.

    Das kann ich mir nicht vorstellen. Der Spur-0 Anschlag ist ja die Referenz, nach der beim Formatieren die Position aller Spuren bestimmt wird. Wäre der Anschlag signifikant unterschiedlich bei verschiedenen Laufwerken, wären die doch gar nicht schreib/lesekompatibel, oder täusche ich mich?