Schlagwort-Archiv: ST506

ST506 HowTo

Inhalt:

  1. Einleitung
  2. Geschichte
  3. Das mechanische Interface
  4. Das elektrische Interface
  5. MFM/RLL/ESDI
  6. IDE
  7. BIOS
  8. Low-Level-Formatierung
  9. Endeinrichtung
  10. Schlusswort


Einleitung

Ein jeder Sammler und oder Liebhaber klassischer Computer wird zwangsläufig einmal über eine Festplatte gestolpert sein, die statt mit dem von SCSI oder IDE gewohnten einzelnen Flachbandkabel mit gleich zweien dieser Datengürtel ihren Anschluss an den Rest des Rechners findet.
Dieser Artikel soll sich nun mit diesen Dinosauriern der Festspeicher beschäftigen.

Geschichte

Wir schreiben das Jahr 1980. Das noch junge Unternehmen Seagate Technology, gegründet von Alan Shugart und Finis Conner bringt die weltweit erste Festplatte im superkleinen 5¼“-Format auf den Markt: Die Seagate ST506 speichert auf voller Bauhöhe (in heutigen Maßstäben zwei 5¼“-Schächte) sage und schreibe 5 Megabytes. Wenig später erscheint ihre große Schwester, die ST412 mit 10 Megabytes Kapazität, welche vor allem im IBM PC/XT Modell 5160 große Verbreitung fand.
Und nach eben diesen beiden Festplatten wurde die ST506/ST412-Schnittstelle benannt, die sich über die 1980er-Jahre zum de-facto-Standard entwickelte.

Das mechanische Interface

Wie der aufmerksame Leser bereits bemerkt hat, besitzen ST506-kompatible Festplatten zwei Edge-Connector, einen schmalen und einen breiten. Der schmale 20-polige ist für die Datenleitung, welche jeweils einzeln vom Controller zur Festplatte geführt wird. Auf dieser Datenleitung werden im übrigen die Signale von und zu den Köpfen der Festplatte analog(!) übertragen.
Der breite 34-polige ist für die Steuerleitung. Im Normalfall werden bei einem System mit mehreren Festplatten diese hintereinanderge“daisy-chaint“, sprich wie beim Diskettenlaufwerk werden die Festplatten hintereinander an die einzelnen Verbinder des Steuerkabels angeschlossen. Es gibt zwar auch noch die Möglichkeit die Festplatten „radial“ anzuschließen, da mir dies jedoch in freier Wildbahn noch nie begegnet ist werde ich hier nicht weiter darauf eingehen.

Das elektrische Interface

Wie schafft es der Controller nun die einzelnen Festplatten anzusprechen wenn diese doch an ein und dem selben Steuerkabel hängen?
Ganz einfach. Genauso wie später bei SCSI gibt es auch beim ST506-Interface Laufwerksnummern. Im Normalfall werden diese per Jumper oder DIP-Schaltern eingestellt. Prinzipiell unterstützt das ST506-Interface bis zu 4 Festplatten, in der Praxis haben 99,9% der Controller jedoch nur Anschlüsse für zwei Festplatten. Die erste Festplatte wird als Drive 0 gejumpert und mit ihrem Datenkabel mit dem Controlleranschluss für die erste Festplatte verbunden. Die eventuell vorhandene zweite Festplatte wird als Drive 1 gejumpert und mit ihrem Datenkabel mit dem Controlleranschluss für die zweite Festplatte verbunden.
Klingt einfach, oder?
Eins haben wir aber bisher vergessen zu beachten: Das Steuerkabel stellt einen Bus dar. Und zwar für damalige Verhältnisse einen Hochgeschwindigkeitsbus. Und wie wir es von solchen Bussen kennen, müssen diese korrekt terminiert werden. Eigentlich so wie bei SCSI. Ohne korrekte Terminierung kann das Platten/Kabel/Karten-Konstrukt funktionieren… wird es aber meist nicht.
Also schauen wir uns die Platte(n) noch einmal genau an und überprüfen den korrekten Sitz der Abschlusswiderstände: Die Platte die in der Mitte zwischen Controller und anderer Platte hängt bekommt keinen, die Platte am Ende bekommt einen. Nun muss man also entweder die Terminierung der mittleren Platte(n) deaktivieren/entfernen, die der letzten Platte aktivieren/einstecken, oder, falls beides zutrifft, man tauscht die Platten einfach durch.

MFM/RLL/ESDI

Wer nun denkt: Perfekt, Ich hab ’ne Festplatte mit ST506-Interface und ich hab ’ne Controllerkarte mit ST506-Interface, kein Problem, ich klemm das aneinander und ab geht die wilde Luzie…
… der irrt zumeist. Der Standard legt nämlich nur das elektrische Interface fest. Es gibt nun weitere Standards die auf der ST506-Schnittstelle aufbauen. Diese legen die Aufzeichnungsmethode fest, mit der die Daten auf die rotierenden Aluscheiben gebannt werden:

MFM
Der Klassiker. 17 Sektoren pro Track. Modifizierte Frequenzmodulation, eine Weiterentwicklung der klassischen FM-Codierung. Wird auch bei den meisten Systemen für Disketten verwendet.

RLL
Die Weiterentwicklung. 26 Sektoren pro Track. Packt auf die gleiche Spur rund 50% mehr Daten. Wurde wiederum zu ARLL weiterentwickelt.

ESDI
Das Enhanced Small Disk Interface. Sieht nach ST506-Interface aus. Ist es aber nicht. Der Einfachheit halber wurden die schon bekannten Flachbandkabel weiterverwendet, elektrisch ist ESDI jedoch nicht kompatibel zu den ST506-Standards. Bei ESDI, einer Entwicklung von Maxtor, wurden einige Bestandteile die traditionell auf dem Controller beheimatet waren auf die Laufwerkselektronik verlegt, beispielsweise der Data Separator. Das Datenkabel überträgt nun Digitaldaten zum Controller. ESDI stellt eine Übergangstechnologie zu IDE und SCSI dar und unterstützt bis zu 8 Geräte am Bus, die nicht zwingend nur Festplatten sein müssen, auch Streamer et cetera gab es mit ESDI-Interface. Viele der frühen SCSI- oder IDE-Festplatten waren eigentlich ESDI-Festplatten mit einem SCSI-ESDI-Controller auf der Laufwerkselektronik.
34 oder mehr Sektoren pro Track.

Controller-Mischmasch
Viele werden nun denken, he, super, ich schließe meine MFM-Festplatte einfach an einen RLL-Controller an und mache so aus meiner 20MB eine 30MB, oder aus einer 40MB eine 60MB-Festplatte. Prinzipiell geht das auch. Eigentlich sind RLL- und MFM-Festplatten baugleich.
Eigentlich.
Der kleine aber feine Unterschied ist, dass die Beschichtung der Plattenoberfläche auf die höhere Datendichte optimiert ist. Eine RLL-Festplatte hat eine deutlich hochwertigere Beschichtung als eine MFM-Festplatte. Von daher kann es funktionieren eine MFM-Festplatte an einem RLL-Controller überzuformatieren. Ob das ganze stabil läuft, vor allem auf längere Zeit gesehen, steht auf einem anderen Blatt.
Ist eigentlich wie bei 3½“-Disketten. Die qualitativ hochwertigeren wurden als 1,44MB-HD-Disketten verkauft, die nicht ganz so tollen als 720kB-DD-Disketten. Genau so wurde bei der Festplattenproduktion mit MFM- und RLL-Platten verfahren.

IDE

IDE? Was macht denn bitte IDE in einem Artikel über ST506-Festplatten?
Ganz einfach. IDE (Integrated Drive Electronics) ist ein direkter Abkömmling von eben diesem. Viele kennen auch noch den Begriff AT-Bus-Festplatte. Und genau dort liegt der Hund in der Pfanne begraben. Das „IDE-Interface“ ist eigentlich nur eine direkte Anbindung des Laufwerks an den Systembus. Der eigentliche Festplattencontroller befindet sich auf der Laufwerkselektronik. Und eben die meisten dieser frühen IDE-Festplatten, egal ob XT-IDE oder AT-IDE, sind eigentlich stinknormale MFM-/RLL-Festplatten. Es ist also kein Zufall, dass viele IDE-Festplatten 17 bzw. 26 Sektoren pro Track verwenden. Und eben genau diese frühen Festplatten lassen sich eigentlich im folgenden genauso behandeln wie ihre Urväter.

BIOS

Was bringt die schönste Platte im Rechner, wenn selbiger keinen blassen Schimmer davon hat ein solches Prachtexemplar in seinem Gehäuse zu beherbergen? Richtig. Man muss dem Bios Bescheid geben.
ATs
Rechner der AT-Klasse sind da im Normalfall relativ pflegeleicht. Man entert das CMOS-Setup beziehungsweise startet von der Einrichtungsdiskette (bei IBM/Compaq-Rechnern) und wählt den entsprechenden Festplatentyp aus.
Typ 1 beispielsweise ist durch die Bank weg normiert und steht für die erste Festplatte die Einzug in die PC-Landschaft fand: die ST412 mit ihren 306 Zylindern, 4 Köpfen und 17 Sektoren pro Track.
Typ 2 ist die ST225, die Festplatte mit halber Bauhöhe die weite Verbreitung in den späteren IBM PC/XTs und vielen XT-Klonen fand. Und eben durch diese weite Verbreitung haben die meisten 20-Megabyte-Festplatten anderer Hersteller ebenfalls 615 Zylinder, 4 Köpfe und 17 Sektoren pro Track.
XTs
Da die wenigsten Rechner der XT-Klasse ein CMOS-Setup ihr eigen nennen, fällt obiges aus wegen ist nicht. Daher bringen die meisten 8-Bit-Controllerkarten ein eigenes BIOS im EPROM mit um ein paar Vektoren zu verbiegen und dem Betriebssystem somit die schnelle Scheibe unterzujubeln. Ganz rudimentäre Vertreter dieser Gattung unterstützen entweder nur einen einzigen Plattentyp oder müssen mit Jumpern auf die Spezifikationen der angeschlossenen Platte(n) konfiguriert werden. Diese Jumperbelegung ist wiederum abhängig vom verwendeten EPROM, so dass man auch den Versionsstand des Controller-BIOS beachten muss. Die komfortabelsten XT-Controller legen die Plattenkonfiguration auf Spur 0 der Festplatte ab, so dass diese prinzipiell mit jeder Festplatte funktionieren. Nachteil: Man hat einen Zylinder weniger für seine Daten. Um einen solchen halbintelligenten Controller zu konfigurieren, ruft man die Einrichtungsroutine auf, die sich im Normalfall an Offset 5 der Basisadresse des Controller-BIOS befindet. Da die meisten Controller standardmäßig ihr BIOS auf Adresse C8000 einblenden rufe man von seiner DOS-Bootdiskette das gute alte DEBUG auf und springe mit G=C800:5 in die Einrichtung. Dort muss man nun die Plattenparameter angeben und kommt im Normalfall automatisch zur Low-Level-Formatierung.

Low-Level-Formatierung

Heutige Festplatten sind grundsätzlich ab Werk schon in ihre einzelnen logischen Blöcke eingeteilt. Festplatten mit ST506-Interface sind dies grundsätzlich nicht. Da die komplette Auswertelektronik auf der Controllerplatine sitzt wäre dies auch nicht möglich. Mit der Low-Level-Formatierung bindet man quasi den Scheibling mit all seinen Fertigungstoleranzen fest an die Elektronik der Controllerkarte mit all ihren Fertigungstoleranzen. Deswegen lassen sich die Daten einer ST506-Festplatte auch nur in den seltensten Fällen an einem anderen Controller auslesen. Um nun diese Hochzeit aus Mechanik und Logik vorzunehmen benötigt man einen Low-level-Formatter. Entweder greift man einfach auf ein entsprechendes Tool von Diskette, beispielsweise den Ontrack Disk Manager oder SpeedStor zurück, oder, wenn man ein solches nicht zur Hand hat und wenn der Controllerhersteller so freundlich war eine ensprechende Routine im Controller-BIOS zu integrieren nutzt man eben diese. Die meisten OMTI-, Western Digital- oder Seagate-Controller haben diese. Wie bereits oben erklärt lässt sich diese per DEBUG starten.
Um die XT-IDE-Festplatte in einem Commodore PC10-III/PC20-III zu formatieren muss man übrigens die Routine an Adresse FA00:5 aufrufen.
Der originale XEBEC-Controller den IBM den PC/XTs spendiert hat hat im übrigen keine Formatierroutine im BIOS. IBM war der Meinung, dass Hochzeiten nur von Firmeneigenen Standesbeamten, will meinen, Technikern vollzogen werden dürfen. Also behelfen wir uns nolens, volens mit folgendem kleinen „Assembler-Programm“:


A>DEBUG
-
-I 322
-I 321
-O 322 0
-I 321
-O 320 04
-O 320 00 ### 00 = Laufwerk C, für Laufwerk D bitte 20 einsetzen!
-O 320 00
-O 320 00
-O 320 05
-O 320 07 ### Nochmal sicherstellen dass das richtige Laufwerk gewählt ist!!!

Nun sollte die Festplatte losrattern und seeeeehr gemächlich losformatieren. Kann durchaus mehrere Stunden dauern, der XEBEC-Controller ist katastrophal lahm. Wenn der Formatiervorgang abgeschlossen ist, sollte die Platten-LED ausgehen und Debug uns wieder mit seinem Prompt begrüßen.


-I 321
-I 320
-Q

Interleave
Worüber man bei Festplatten dieser Ära öfters stolpert, gerade beim Low-Level-Formatieren, ist der Begriff des Interleave. Interleaving bezeichnet eine Technik bei der die Sektoren absichtlich ausgelassen werden. Hintergrund des ganzen ist, dass die Daten vom Rechner nicht so schnell verarbeitet werden können wie sie von der Platte geliefert werden können. Optimal wäre ein 1:1-Interleave, das heißt die Sektoren wären direkt hintereinander auf der Platte: 1,2,3,4,5,6,7,8,9,10,… Ein Interleave von 2:1 sähe folgendermaßen aus: 1,10,2,11,3,12,4,13,… Folglich hat der Rechner die doppelte Zeit um die Daten von der Platte zu verarbeiten. Praktisch arbeiten die meisten XTs mit einem Interleave von 3:1 bis 4:1, der XEBEC-Controller im IBM XT mit 6:1. Wenn der Interleave zu gering gewählt ist muss der Rechner erst warten bis die Spur sich wieder unter dem Kopf vorbeigedreht hat, was einem Interleavefaktor von 17:1 entsprechen würde. „Fortschrittliche“ Controller haben einen kleinen Cache, der eine komplette Spur puffern kann. Diese arbeiten dann tatsächlich mit einem Interleave von 1:1.
Falls man beim Interleave mal gehörig danebengegriffen hat gibt es Programme wie beispielsweise Spinrite II die den Interleave nachträglich noch ändern können. Low-Level-Utilities wie der Disk Manager können den optimalen Interleave vor der Formatierung auch durch Ausprobieren feststellen.

Wenn die Festplatte nun ordnungsgemäß Low-Level-formatiert ist, sollte auch der lästige 1701-Fehler verschwunden sein. Und weiter gehts im Sauseschritt:

Endeinrichtung

Partitionierung
Die Festplatte ist nun zwar verheiratet aber noch gänzlich leer. Damit nun ein Betriebssystem installiert werden kann, muss diesem erst ein wenig Platz auf der Platte geschaffen werden. Dazu starte man FDISK, erstelle eine primäre Partition und markiere diese als aktiv. Wer nun möchte kann eine erweiterte Partition erstellen und in dieser logische Laufwerke anlegen. Wer MS-DOS vor Version 4 einsetzt wird bei Platten größer als 30MB wahrscheinlich kaum drumrum kommen wenn kein wertvoller Plattenplatz vergeudet werden soll.

Nach erfolgter Partitionierung beende man FDISK und starte den Rechner neu. So kommt das von der Stiefelscheibe frisch geladene DOS in den Genuss der neuen Partitionstabelle.
Benutzer von MSDOS 5 oder neuer können den nächsten Schritt getrost überspringen, da die Setuproutine einem die ganze Arbeit abnimmt. Wer dennoch so richtig retro sein möchte und seinem alten Schätzchen ein zeitgenössisches DOS verpassen möchte geht folgendermaßen vor:

High-Level-Formatierung
Die neue Wohnung für unser Betriebssystem ist somit errichtet, die Zimmer sind eingeteilt. Fehlt noch die Inneneinrichtung. Man starte FORMAT C: /S und erstelle somit ein Dateisystem auf der neuen Systempartition. Durch den Parameter /S werden gleichzeitig die DOS-Kerndateien (IO.SYS/MSDOS.SYS, bei IBM PC-DOS IBMBIO.COM/IBMDOS.COM) übertragen. Neuere DOS-Versionen ab 3.30 übertragen hierbei sogar auch den Befehlsinterpreter COMMAND.COM, womit schon ein rudimentäres DOS-System eingerichtet wäre.
Betriebssysteminstallation

  • MSDOS vor Version 3
    Nach erfolgter Formatierung kopiere man den Inhalt der Systemdiskette(n) auf die Festplatte: COPY A:*.* C: Diskette raus, Neustart, fertig.

  • MSDOS 3.xx, 4.xx
    Nach erfolgter Formatierung startet man die Installationsroutine wie folgt: SELECT Also um beispielsweise deutsche Einstellungen zu verwenden: SELECT A: C: 049 GR Bei MSDOS 3.xx muss nun noch von Hand der Inhalt einer etwaigen zweiten Diskette auf die Festplatte kopiert werden, dies erfolgt wie oben bei den Vorversionen.

  • MSDOS ab Version 5
    Von Diskette 1 starten, die Installation ist relativ selbsterklärend.

Schlusswort

Nun haben wir uns mit allen Eigen- und Einzelheiten der ST506-Festplatten beschäftigt. Vieles davon ist zwar auch allgemeiner gültig, Ziel dieses Dokuments sollte es jedoch sein mit einer ST506-Festplatte einen lauffähigen Rechner zu bekommen.
Ich hoffe, damit ein paar Leute mit der Materie angefixt zu haben. Und selbst wenn nur ein alter PC dank dieser HowTo wieder zum Leben erweckt wird oder eine ST506-kompatible Festplatte weniger auf dem Schrott landet hat sich die Mühe gelohnt 😉 Die wenigsten „defekten“ MFM/RLL-Platten sind nämlich wirklich defekt. Zumeist reicht eine neue Low-Level-Formatierung und das Ding läuft wieder wie ’ne eins 😉 –Kpanic 23:10, 26. Mär. 2012 (CEST)