Philips 14-Zoll Festplatte

  • Nachdem sie ja schon auf dem Kölner Retrotreff vor drei Wochen den einen oder anderen interessierten Blick auf sich gezogen hat möchte ich meine 14"-Festplatte und den aktuellen Stand der Dinge hier auch einmal vorstellen.



    Die Platte stammt aus dem Jahr 1981 und wurde von mir in den späten 80ern aus einem Philips-Rechner ausgebaut, der verschrottet werden sollte. Nachdem ich die Stromversorgung analysiert und ein geeignetes Netzteil angeschlossen hatte hing sie bei mir im Keller an der Wand, wurde gelegentlich gestartet und Besuchern vorgeführt.




    Vor kurzem musste ich dann den Antriebsriemen sanieren, dessen Gummianteil sich verflüssigt hatte. Dabei wuchs in mir der Wunsch, noch etwas mehr mit dem hübschen Teil zu machen, und ich programmierte einen Arduino, der seit dem den Schreib-/Lesekopf nach zufälligem Muster über die Oberfläche bewegen kann.


    Auf dem Retrotreff wurde ich häufig nach den technischen Details gefragt. Hier die Daten, die ich mittlerweile gemessen habe:


    Drehzahl: ca. 710 U/min

    Köpfe: 2

    Anzahl Zylinder: > 200

    Sektoren pro Spur: ca. 60

    Sektorgröße: 256 Byte (brutto ca. 350)

    Kapazität demnach 2x200x60x0,256: ca. 6MB


    Die Drehzahl sowie die Anzahl der Sektoren habe ich durch Messung mit dem Oszilloskop bestimmt. Der Indexpuls hat eine Frequenz von 11,8Hz, und ein Sektor etwa eine Länge von 1,412ms. Daraus ergeben sich die genannten Zahlen.


    Natürlich wurde ich auch gefragt, ob man von der Platte noch etwas lesen oder auf sie schreiben könnte. Seit ein paar Tagen kann ich zumindest die Lesesignale abgreifen - allerdings ist ein Bit nur ca. 500ns lang, da braucht es etwas mehr Rechenleistung oder explizite Hardware, um das auszulesen. Die Schnittstelle hat übrigens viel Ähnlichkeit mit dem alten Shugart-Bus für Disketten, ist aber völlig anders belegt.


    Und dann müsste natürlich auch noch das Aufzeichnungsformat dekodiert werden ...


                            

    Ich weiß noch nicht, ob und wann es in dieser Richtung weiter geht - momentan hängt sie jedenfalls wieder an der Wand, weil andere Projekte dringender sind ...

  • Wow,

    ist es möglich das ganze mal "live" zu sehen, sprich einen kurzen Videoclip?

    Habe ich jetzt mal auf die Schnelle gemacht - Entschuldigung für die mäßige Qualität. Wegen der begrenzten Dateigrößen und -Typen nur kurz, klein und die mp4-Dateien als Zip verpackt. Ich hoffe, die kurzen Clips vermitteln dennoch ein wenig einen Eindruck von dem Teil.


    Die Plexiglashaube ist übrigens original - das macht meiner Meinung nach das Ganze so reizvoll, weil man fast alles sehen kann.


    Hochfahren der Platte: Start.zip

    Ansicht des Schreib-/Lesekopfes: Kopf.zip

    Antrieb des Kopfes: Kopfantrieb.zip

    Runterfahren: Ende.zip

    Rückseite: Rueckseite.zip

  • Moin Georg,

    interessante Details.

    allerdings ist ein Bit nur ca. 500ns lang

    Hast du das auf der analogen oder digitalen Seite gemessen?

    Wenn du da weiter forschen willst, helf ich dir gerne.


    Viel Erfolg

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Auf der digitalen. Das analoge Signal sieht für mich einfach nur wie Rauschen aus :shock:


    Ich habe mir ein längeres Stück des Signals auf dem Oszilloskop gespeichert - an den Sektorgrenzen gibt es dann Stellen, die im Gegensatz zu dem normalen Durcheinander sehr regelmäßig aussehen. Afaik wird bei der MFM-Kodierung bei aufeinanderfolgenden, gleichen Bits (was ja in den Füllbytes am Anfang und Ende eines Sektors üblicherweise der Fall ist) nur der Takt gespeichert - das ergibt dann ein regelmäßiges Muster, und das habe ich ausgemessen.


    Ansonsten passt das auch ganz gut zu den anderen Daten. 500ns x 8 Bit/Byte x 350 Byte/Sektor macht 1.400.000 ns = 1,4ms - das passt mit der gemessenen Sektorlänge von 1,412ms überein. Selbst wenn es statt 350 nur 300 Byte pro Sektor wären, wäre das Bit dann 580ns lang - immer noch ziemlich kurz ...


    Was mich an der ganzen Sache etwas stört: Ich triggere auf das Indexsignal, das die Platte mir liefert, und hätte dann erwartet, dass das Datensignal in dieser Situation ziemlich stabil ist, da wir ja immer zum gleichen Zeitpunkt drausehen, bezogen auf die Drehung.

    Tatsächlich schwankt das Signal aber heftig hin und her - wobei wir hier über Größenordnungen von vielleicht 1 bis 2 us reden. Das ist nicht viel, sorgt aber dafür, dass man kein stabiles Bild bekommt.

    Vermutlich erwarte ich zuviel von der zeitlichen Genauigkeit des Indexsignals, dass ja irgendwie per Magnetsensor oder Photozelle generiert wird.


    Danke auch für Dein Angebot, aber auf Dich möchte ich lieber zunächst für den ITT-3030 HD-Adapter zurückgreifen. Das ist mir momentan wichtiger 8-)

  • Das analoge Signal sieht für mich einfach nur wie Rauschen aus

    Was anderes habe ich nicht erwartet.


    Ich triggere auf das Indexsignal, das die Platte mir liefert, und hätte dann erwartet, dass das Datensignal in dieser Situation ziemlich stabil ist

    Triggerst du auf der steigenden oder fallenden Flanke?

    Bei OpenCollector Signalen (wie auf dem Shugart Bus) kann die steigende Flanke sehr flach sein, das fuehrt dann auch gerne zu einem Jitter.

    Aber die zeitliche Praezision eines Magnetsensors oder der Photozelle kann es auch sein.


    Bis die Tage

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Das analoge Signal sieht für mich einfach nur wie Rauschen aus

    Was anderes habe ich nicht erwartet.

    :P

    Es ist wirklich erstaunlich, dass die Elektronik aus diesem Durcheinander sinnvolle Signale rauslesen kann. Auf den Skizzen in den Beschreibungen sieht das immer viel einfacher und eindeutiger aus.

    Ich hatte im Vorfeld sogar den Verdacht, dass da überhaupt keine vernünftigen Daten anliegen. Wenn ich den Stecker von den Köpfen abziehe und die Leseverstärker damit einen offenen Eingang hatten, sahen die Ergebnisse hinten für mich nämlich durchaus ähnlich aus.:grübel:


    Ich bin dann hingegangen und habe die entsprechenden Signale einer ST506 verglichen, da diese in den ersten Stufen nahezu die gleiche Schaltung nutzt. Dass es dort dann genauso aussah hat mich erst dazu gebracht, die Signale als "echt" zu akzeptieren.

    Triggerst du auf der steigenden oder fallenden Flanke?

    Bei OpenCollector Signalen (wie auf dem Shugart Bus) kann die steigende Flanke sehr flach sein, das fuehrt dann auch gerne zu einem Jitter.

    Ich meine, ich hätte bereits beides probiert. Außerdem greife ich nicht direkt am Interface ab (genau wegen des offenen Kollektors, da sieht man ohne Pullup ja gar nichts) sondern eine Stufe davor, d.h. am Eingang des 7438.

    Ich schätze, es ist tatsächlich die "mechanische" Kopplung zwischen dem Index- und den Datensignalen - wir sind von den rein logischen Zusammenhängen in Digitalschaltungen verwöhnt. Nach meinem Kenntnisstand wird selbst bei den ältesten MFM-Festplatten in jedem Sektorvorspann die ID von Track und Sektor mitgeführt - von daher spielt das Indexsignal für die Synchronisierung wohl auch keine große Rolle.


    Bei Disketten mag das anders sein - da ist die Drehzahl geringer, die Spuren enthalten deutlich weniger Daten, macht insgesamt eine wesentlich niedrigere Datenrate. Das Problem dürfte dort in Relation deutlich weniger schwer wiegen.

    (Kurz überschlagen: Bei einer Datenrate von 250kBit/s (DD Diskette) sind das 4us pro Bit. Somit liegt der o.g. Fehler von 1-2 us deutlich innerhalb eines Bits - und ich bekomme glatt Lust, das dort auch mal auszuprobieren)

    Wobei nach meinem Kenntnisstand zumindest die Commodore-Laufwerke das Indexsignal auch ignoriert haben - Stichwort Wendefloppy.

  • Bei den Commodore-Laufwerken wird das Index-Signal nicht wirklich ignoriert, es ist erst garnicht angeschlossen. :)

    Es ist auch garkein I/O Port dafür vorhanden, und dementsprechend wurden sehr oft Laufwerke verbaut, bei denen die Index-Lichtschranke nicht vorhanden ist.

    Ausnahmen gibt's natürlich auch, nämlich die Laufwerke, die neben dem Commodore-eigenen GCR-Format auch MFM-Formate unterstützen, wie z.B. die 1570/1571 Laufwerke.

  • Bei den Commodore-Laufwerken wird das Index-Signal nicht wirklich ignoriert, es ist erst garnicht angeschlossen. :)

    Mensch Christian, so spitzfindig kenne ich Dich gar nicht 8)

    Eine Leitung nicht anzuschließen ist doch die krasseste Form, ein Signal zu ignorieren! Gut, wenn das Laufwerk überhaupt keine Lichtschranke für das Indexloch hat wird halt nicht das elektrische Signal ignoriert, sondern das optische. Aber es wird ignoriert ...



    Soviel zum Thema Spitzfindigkeit :P


    Aber zurück zum eigentlichen Thema: Speziell der Hinweis auf die 1570/1571er Laufwerke legt doch die Vermutung nahe, dass es evtl. auch eine Frage des Formats (GCR vs. MFM) ist, ob das Indexsignal nötig ist oder nicht? Kann das jemand bestätigen?

    Andererseits wird das Indexsignal wohl auch zur Drehzahlkontrolle genztzt. Wie geht das denn dann bei Familie Commodore?

  • Ah, Du kannst ja noch besser Haare spalten als ich dachte. ^^


    In Ermangelung des Indexsignals ist natürlich nicht festgelegt, an welche Stelle der erste Sektor einer Spur geschrieben wird.

    Die Angaben über Spur und Sektor sind in jedem Sektor enthalten.

    Übrigens arbeiten die Floppys auch anstandlos mit 'verschobenen' Spuren, solange die Reihenfolge der Spuren richtig ist.

    Steht in den gelesenen Daten eine andere Spurnummer als erwartet, wird einfach die Position entsprechend korrigiert.

    Das funktioniert deswegen, weil das Inhaltsverzeichnis nicht auf der äußersten Spur, sondern auf der mittleren liegt.

    Dieses 'Feature' wurde auch als Kopierschutz benutzt, da mit der normalen Formatierroutine sowas natürlich nicht erzeugt werden kann.


    Die Drehzahl wird über einen Trimmer eingestellt. Als Hilfe dazu gibt es Software, die die Drehzahl misst.

    Die läuft in der Floppy (die ja bei Commodore bekanntlich eine eigene CPU hat).

    Ich gehe davon aus, daß die Software einfach die Zeit misst, die zwischen dem wiederkehrenden Lesen der selben Sektormarkierung vergeht.

    Weicht die Drehzahl zu stark ab, gibt es natürlich Probleme. Die machen sich am ehesten beim Formatieren bemerkbar.

    Teilweise kennen die Floppys dafür auch eine eigene Fehlermeldung: FORMAT SPEED ERROR.

  • Guten Morgen Georg, Vielen Dank für die Videos ... heute erst "gefunden" ;)

    Matthias

    Mein Schwerpunkt sind Taschenrechner und Pockets. Aktuell suche ich zB. nach: Privileg PR55NC, Commodore N-60, NSC 4640, Casio pro fx-1

    Gern im Tausch gegen "Kollegen" oder andere Oldies...