 |

|
 |
|
Eine Platte für den IBM
Erlebnisse bei der Festplattenkonfiguration an XT und AT
von Boris Jakubaschk
Mein Einstieg in die PC-Welt erfolgte mit einem 386er. Dort musste man beim Anschluss einer
Festplatte zwar noch deren Parameter von Hand eintragen, ansonsten war die Aufgabe aber
vergleichsweise einfach zu meistern. Wer bisher nur an modernen PCs herumkonfiguriert hat,
wird selbst dies als befremdlich empfinden. Nachdem die Hardware installiert ist, teilt man
dem BIOS mit, an welchen Interfaces Platten und optische Laufwerke angeschlossen sind, der
Rest wird automatisch erkannt und eingestellt. So war das aber nicht immer, wie ich anhand
der beiden PC-Verteranen meiner Sammlung lernen musste:
1. Lektion: Der IBM XT 5160
Der Vorvater aller heutigen PCs, der IBM PC kannte noch kein BIOS-Setup und kein CMOS-RAM,
ebenso sein direkter Nachfolger, der XT. Erschwerend kam hinzu, dass die damaligen Festplatten
noch keine Auskunft über ihre Geometrie geben konnten. Diese Information war jedoch notwendig,
da die Ansteuerung direkt mit Spuren, Köpfen und Sektoren erfolgte. Heute werden die Datenblöcke
linear über eine einzelne Nummer adressiert, den Rest übernimmt die Festplatte selbst.
Somit bestand die Notwendigkeit, die Geometriedaten einmalig einzugeben und daraufhin abzuspeichern.
Diesen Job übernimmt der Festplattencontroller. Er enthält ein ROM mit einer BIOS-Erweiterung, die
den Start des Rechners von der Festplatte ermöglicht. Zudem ist normalerweise ein einfaches
Einrichtungsprogramm für die Festplatte enthalten. Dieses fragt die Festplattendaten ab und
legt sie in einem auf dem Controller befindlichen Speicher ab.
Das damals übliche Festplatteninterface heißt "ST-506", manchmal auch "ST-412". Beide Bezeichnungen
stehen für Festplatten der Firma Seagate, in denen dieses Interface erstmalig implementiert war.
Die ST-412 wurde standardmäßig im IBM XT eingesetzt und hatte 10 MB. "Erfunden" hat diese
Schnittstelle Al Shugart, ein Mitbegründer von Seagate, dem auch der Shugart-Bus zu verdanken ist,
mit dem bis heute alle Diskettenlaufwerke angeschlossen werden. Auch die SCSI-Schnittstelle hat er
entwickelt. Das Interface ist für zwei Festplatten ausgelegt. Ein 34poliger Stecker übermittelt
die Steuersignale und ist als Bus ausgeführt, d.h. es gibt nur ein Kabel, an dem beide Festplatten
hintereinander angeschlossen sind. Über einen 20poligen Stecker werden die Daten übertragen. Hier
hat jede Platte ein eigenes Kabel, am Controller gibt es diesen Stecker also zweimal.
oben: ST-506-Controller für XT, unten: 16-Bit-Ausführung für AT
Sobald die Festplatte richtig angeschlossen ist, kann die Einrichtung beginnen. Nun stellt sich
aber die Frage, wie man an das auf dem Controller befindliche Einrichtungsprogramm herankommt.
Die Antwort ist einfach: Man muss den Maschinencode direkt von einem Monitorprogramm aus starten.
Freundlicherweise liefert Microsoft ein solches Programm mit dem schönen Namen "debug" bei MS-DOS
mit. Man startet den Rechner mit einer MS-DOS-Diskette und ruft anschließend "debug" auf. Es
meldet sich mit einem Minuszeichen als Eingabeaufforderung. Nun gibt man G=C800:5 ein und das
Einrichtungsprogramm startet. Wenn nicht, stimmt die Startadresse offenbar nicht. Es gibt auch
Controller, bei denen der Start über G=C800:6 oder G=C800:CCC erfolgt. Man folgt der
Bedienerführung, trägt die Geometriedaten ein, markiert die fehlerhaften Sektoren gemäß der oben
auf der Festplatte aufgedruckten Liste und lässt die Platte low-level-formatieren.
Dabei muss man noch einen Begriff erläutern: Das Programm fragt nach dem gewünschten "Interleave".
Dabei handelt es sich um die Art und Weise, wie die Sektoren innerhalb einer Spur organisiert
werden. Naheliegend wäre es, alle Daten einer Spur hintereinander weg in aufeinanderfolgende
Sektoren zu schreiben. Dies entspräche einem Interleave von eins und führt dazu, dass die
gesamten Daten einer Spur mit einer einzigen Umdrehung der Platte eingelesen werden können.
Leider sind dazu die meisten frühen PCs zu träge. Nachdem ein Datenblock gelesen ist, benötigt
der PC einen kleinen Moment, um diesen zu verarbeiten. In dieser Zeit dreht sich die Platte
natürlich weiter und wenn der PC wieder lesebereit ist, hat die Übertragung des nächsten Blockes
bereits begonnen. Nun muss der PC also eine volle Umdrehung warten, bis der gleiche Datenblock
wieder am Lesekopf vorbeikommt. Auf diese Art eine ganze Spur mit beispielsweise 17 Sektoren
einzulesen dauert folglich 17 volle Umdrehungen. Man kann dies lösen, indem man eben nicht alle
Blöcke hintereinanderschreibt, sondern zunächst nur jeden zweiten Block beschreibt und mit einer
weiteren Plattenumdrehung die entstandenen Lücken mit den übrigen Blöcken auffüllt. Umgekehrt
kann der PC dann die gesamte Spur in zwei Umdrehungen vollständig lesen. Man nennt dies einen
Interleave von zwei. Auch das ist oftmals noch zu schnell. Üblicherweise kann man den Interleave
auf Werte zwischen 1 und 5, manchmal auch 6 einstellen. Je geringer der Interleave, desto
schneller die Festplatte – bis zu dem Punkt, wo der PC nicht mehr mitkommt und die Performance
komplett einbricht.
Die Low-Level-Formatierung kann eine ganze Weile dauern. Irgendwann ist sie abgeschlossen und der
Rechner wird neu gestartet. Noch einmal muss von Diskette gebootet werden, da auf der Platte kein
Betriebssystem enthalten ist. Ab MS-DOS 5 geht der Rest der Installation interaktiv und ist kaum
erklärungsbedürftig. Bei früheren DOSen muss man die Installation von Hand erledigen: Zunächst
muss eine oder mehrere Partitionen erstellt werden. Dazu dient das Programm "fdisk", auf dessen
Bedienung hier nicht weiter eingegangen werden soll. Im Zweifel erstellt man eine einzige primäre
Partition und lässt diese auf maximale Größe einstellen. Den Rest macht fdisk dann automatisch.
Ein Reboot später kann die Platte dann formatiert und startfähig gemacht werden. Dazu dient der
Befehl "format c: /s". Nun sollte noch der übrige Disketteninhalt auf die Platte geschrieben
werden. Ein minimales Prozedere dazu wäre das folgende:
c:
md dos
cd dos
xcopy a:*.* .
Nun kann der Rechner ohne DOS-Diskette neu gestartet werden und sollte von der Festplatte booten.
Lektion 2: Der IBM AT 5170
Mit dem IBM AT führte IBM neben dem schnelleren 80286-Prozessor eine ganze Reihe weiterer
Neuerungen ein. Eine davon ist ein kleiner Speicher, CMOS-RAM genannt, der grundlegende
Systemeinstellungen aufnehmen kann und dessen Inhalt auch nach dem Ausschalten erhalten bleibt.
Dafür sorgt eine Batterie.
Durch dieses CMOS-RAM kann nun die Festplattenkonfiguration direkt gespeichert werden, der
Controller benötigt weder ROM noch eine eigene Speichermöglichkeit. Dies macht die Controller
einfacher und preiswerter im Aufbau.
Leider hat IBM dem AT noch kein Einstellprogramm im ROM spendiert. Es wurde auf Diskette
mitgelifert und kann heute noch vom FTP-Server der IBM heruntergeladen werden:
ftp://ftp.pc.ibm.com/pub/pccbbs/refdisks/atdg207.exe.
Andere Hersteller hatten teilweise bereits ein Einstellprogramm im ROM oder arbeiteten wie z.B.
Compaq ebenfalls mit Setup-Disketten.
Das CMOS-RAM ist leider sehr klein, weshalb sich IBM entschlossen hat, dort nicht die ganze
Laufwerksgeometrie abzuspeichern sondern nur einen Zeiger auf eine Tabelle mit den Angaben
verschiedener Laufwerke, welche wiederum fest im BIOS hinterlegt ist. Dies hat den Nachteil,
dass der Reschner nur Festplatten nutzen kann, die zu einer der hinterlegten Geometrien passen.
Kompatible PCs hatten noch lange im BIOS-Setup die Möglichkeit, aus den vorgefertigten Platten
zu wählen. Zusätzlich konnte aber auch die Geometrie direkt eingestellt werden. Diese Möglichkeit
fehlte dem IBM AT noch. Fast alle Hersteller hielten sich an die ersten 14 Einträge der einst
von IBM definierten Liste, die übrigen der insgesamt 47 Einträge wurden herstellerspezifisch
belegt. Hier deswegen nur die ersten 14:
| Typ-Nr. |
Spuren |
Köpfe |
WPC ab Spur |
Landezone |
Sektoren / Spur |
MB |
verwendbar für |
| 1 |
306 |
4 |
128 |
305 |
17 |
10.16 |
Seagate ST-412 |
| 2 |
615 |
4 |
300 |
615 |
17 |
20.42 |
Seagate ST-225, fast alle anderen 20MB-Platten |
| 3 |
615 |
6 |
300 |
615 |
17 |
30.63 |
|
| 4 |
940 |
8 |
512 |
940 |
17 |
62.42 |
|
| 5 |
940 |
6 |
512 |
940 |
17 |
46.82 |
|
| 6 |
615 |
4 |
aus |
615 |
17 |
20.42 |
|
| 7 |
462 |
8 |
256 |
511 |
17 |
30.68 |
|
| 8 |
733 |
5 |
aus |
733 |
17 |
30.42 |
|
| 9 |
900 |
15 |
aus |
901 |
17 |
112.06 |
|
| 10 |
820 |
3 |
aus |
820 |
17 |
20.42 |
|
| 11 |
855 |
5 |
aus |
855 |
17 |
35.49 |
|
| 12 |
855 |
7 |
aus |
855 |
17 |
49.68 |
|
| 13 |
306 |
8 |
128 |
319 |
17 |
20.32 |
|
| 14 |
733 |
7 |
aus |
733 |
17 |
42.59 |
|
Nach der Festlegung der Einstellungen muss die Platte zunächst low-level-formatiert werden.
Leider enthält die oben genannte Reference Disk kein solches Programm. Der Festplatten-Hersteller
Seagate hält aber ein sehr schönes Programm dieser Art auf dem firmeneigenen FTP-Server bereit.
Es ist unter ftp://ftp.seagate.com/techsuppt/seagate_utils/sgatfmt4.zip zu finden.
Es läuft angeblich auch mit Festplatten anderer Hersteller. Das übrige Prozedere ist gleich wie beim XT.
|
|