Die Festplatte (Teil II)

“VERTRAUEN IST GUT, KONTROLLE IST BESSER“ - DIESES SPRICHWORT LÄSST SICH AUF DEN BETRIEB EINER FESTPLATTE SO LEIDER NICHT ANWENDEN. DER CONTROLLER IST HIER NÄMLICH EIN ABSOLUTES MUSS. IN DER ZWEITEN FOLGE DER FESTPLATTENSERIE WOLLEN WIR UNS DIESEN “SCHAFFNER IM DATENBUS” EINMAL NÄHER ANSEHEN.

Zuvor möchte ich aber noch einmal kurz auf den ersten Teil dieser Folge eingehen. Die Zeichnung am Anfang des Artikels “sollte' das Laufwerk TM-755 von Tandon darstellen, das gleiche Laufwerk habe ich auch für meinen Umbau verwendet. Es weist eine Bruttokapazität (d.h. unformatiert) von 51 MByte auf, besitzt drei 5 1/4"-Platten und 5 (!) Köpfe. In der obigen Zeichnung ist diesmal das Laufwerk TM-262 (ebenfalls von Tandon) dargestellt. Dieses Festplattenlaufwerk hat in der SH-204 das ST-225-Laufwerk von Seagate abgelöst und wird jetzt auch in der SH-205 verwendet. Es besitzt eine Bruttokapazität von 25 MByte, diese wird mit zwei 3,5"-Platten und vier Köpfen erreicht. Im Unterschied zum TM-755 wird zur Kopfpositionierung ein Schrittmotor verwendet.

Apropos Unterschied - diese Artikelserie beruhte ursprünglich auf Arbeiten um und in meiner SH-204. Um die Aktualität zu wahren, wurde kurzerhand in der Setzerei aus der “4“ eine “5“. Die SH-205 hatte ich jedoch bis dato nur “von weitem” auf der Messe gesehen. Um diesem Manko ein Ende zu bereiten, habe ich über die Feiertage kurzerhand die SH-205 von Herrn Uwe Bärtels, seines Zeichens Chefredakteur dieser Zeitung, “requiriert” und total zerlegt. Inzwischen hat er sie wieder und ich hoffe, der rechtzeitigen Auslieferung der Februar-Ausgabe der ST-Computer steht nichts im Wege (Wenn ich nur wüßte, wohin die zwei Schrauben gehören, die vom Zusammenbau noch übrig sind...).

Beethovens Neunte

Wie Sie in der ersten Folge bereits erfahren haben, besteht die Aufgabe eines Festplattenlaufwerks darin, Daten zu speichern und auf Abruf wieder zur Verfügung zu stellen. Die Speicherung erfolgt auf einem Magnetträger. Rein theoretisch könnten beliebige Informationen, also Daten, Musik oder Meßimpulse, aufgezeichnet werden. Auf jeden Fall sind es Informationen, die zeitlich nacheinander anstehen, d.h. in Serie (seriell) aufgezeichnet werden müssen - oder können Sie sich die 9. Sinfonie von Beethoven, komplett gespielt innerhalb einer Sekunde, vorstellen? Wahrscheinlich nicht, deshalb bestimmt ein Takt den zeitlichen Ablauf der nacheinander gespielten Töne, Um diese Töne - oder sagen wir besser wieder Daten, denn darum dreht sich dieser Artikel ja - nun auf der runden Scheibe aufzuzeichen, ohne daß bereits geschriebene Daten auf der P latte überschrieben und damit gelöscht werden, könnten wir wie bei der Schallplatte die Form einer Spirale für die serielle Aufzeichnung wählen. Die Kopfsteuerung wäre trotz fehlender “Rille” einfach zu bewerkstelligen, sobald der Anfang der Spirale gefunden wäre. Doch genausowenig, wie bei der Schallplatte die Musik ab einem bestimmten Ton auf der Schallplatte gestartet werden kann, wären die Daten wieder nur komplett verwendbar, da leine Information über den Ort eines bestimmten Datensatzes fehlt (Zwar wüßte man theoretisch, an welcher Stelle sich der Datensatz befindet - ähnlich wie bei einem Notenblatt - aber die Information über die Absolutposition auf der spiralförmigen Spur fehlt).

Ablage...

Damit die Informationen, also die einzelnen Daten, geordnet auf die Platte kommen und von dort auch wieder abrufbar sind, werden diese vor dem ersten Speichern in definierte Bereiche eingeteilt - die Platte wird formatiert. Dies ist eine der Aufgaben des Controllers. Er legt sich quasi für diese Festplatte einen Karteikasten an (paradox, ich weiß...), in dem er (fast) jeder Stelle auf der Platte eine Nummer gibt. Bei einer Spirale würde aber ein gewaltiger Zahlenberg entstehen, denn eine fortlaufende Numerierung bei einer Kapazität von über 20 MByte würde zur Verwaltung bald ein zweites Laufwerk brauchen. Statt in eine Spirale wird die Platte in Kreise eingeteilt und die Kreise selber in einzelne Sektoren. Jetzt brauchen wir nur noch zwei kurze Nummernangaben, um eine Position auf der Platte zu beschreiben. Bei mehreren Plattenseiten kommt dazu noch die Seitennummer. Damit wäre jede Position auf einer Festplatte definierbar und, was das Wichtigste ist, auch einzeln ansprechbar. Dieser “Karteikasten” wird nun auf der Festplatte “montiert”. Liegen Daten am Datenbus an, dann sieht der Controller dort buch, an welcher nächsten (!) Stelle diese Datenmenge komplett speicherbar ist. Er trägt diese Information zusammen mit dem Namen der Datenmenge in eine “Karteikarte” ein und speichert die Daten an der so beschriebenen Stelle ab. Umgekehrt braucht der Benutzer nur noch den Namen seiner Daten zum Abruf zu nennen, den Rest erledigt der Controller (Darum auch immer die Qual der Wahl des Namens für eine neue Datei, bei zwei gleichen Bezeichnungen würde der Controller auch nicht mehr weiter wissen...).

Anschluß...

Die bisher beschrieben Aufgaben eines Controllers verdeutlichen schon den massiven Eingriff in den Funktionsablauf eines Festplattenlaufwerkes. Damit die Kontroll-möglichkeit aber universell bleibt - sonst könnte man ja auf jedem Laufwerk gleich einen (teuren) Controller integrieren - muß die Steuerung über wenige und definierte Leitungen erfolgen. Diese Verbindung, die auch als floppylike bezeichnet wird (warum das so ist, werden wir gleich sehen), wollen wir einmal näher betrachten.

Prinzip der symmetrischen Leitungsführung

Das obige Schaubild soll erklären, worum es bei der ganzen Sache geht. Im linken Teil des Bildes entsteht ein Signal, welches über ein Verbindungskabel an den rechts zu erkennenden Empfänger geschickt werden soll. Bei sehr kleinem Signalpegel besteht die große Gefahr einer Störeinstreuung, wie sie durch hochfrequente Sender (z.B. Taktquarz im Computer !) oder durch Brummeinstreuungen (z.B. Netzteil) entstehen können. Um diese so weit wie möglich zu eliminieren, bedient man sich der symmetrischen LeitungsfUhrung. Dazu wird vom Signalgeber das Signal auf einer Leitung im Original, auf einer zweiten Leitung aber invertiert, d.h. gegenphasig, abgeschickt. Eine von außen kommende Störspannung trifft jetzt auf beide Leitungen gleichzeitig und überlagert sich auf das Originalsignal und das invertierte Signal. Im Empfänger wird jetzt eine Leitung im Original übernommen, die zweite Leitung aber wieder invertiert. Zweimalige Invertierung ergibt aber logischerweise wieder das Originalsignal. Damit steht jetzt zweimal das Original in gleicher Phase zur Verfügung, das Störsignal einmal original und einmal invertiert. Jetzt brauchen beide Signale nur addiert zu werden, dann ist das Original sogar verstärkt (!) vorhanden, während sich die Störspannung gegenseitig auslöscht. Und das war ja der Sinn des Ganzen...

ST 506/412

Im nebenstehenden Bild ist die Rückseite eines TM-362-Laufwerks dargestellt (Das TM-262 ist nur ein TM-362 in einem 5 l/4"-Rahmen). Das erste, was dabei auffällt, sind die zwei verschiedenen Steckverbindungen (für eine Schnittstelle!). Wie Sie im ersten Teil dieser Serie erfahren haben, liegt die Datenübertragungsrate zum Festplattenlaufwerk bei 5.000.000 Bit pro Sekunde. Wenn dabei auch nur ein Bit verlorengeht, erhalten Sie “Datensalat”. Darum wird der Datenübertragungsteil der Schnittstelle räumlich von den Kontrollsignalen getrennt und auf einen zweiten Anschluß gelegt.

Pinverteilung des Steckers

Aber der Aufwand für eine sichere Datenübertragung geht noch weiter. In Tabelle 1 habe ich Ihnen die verwendete Pinbelegung der beiden Steckleisten aufgelistet. Wenn wir uns einmal J2 betrachten. fällt als erstes die geringe Belegung auf. Die einzige Steuerleitung (Pin 2 -Drive Select) auf diesem Stecker liegt möglichst weit von den Datenleitungen entfernt. Bei dem Stecker selbst handelt es sich um einem 20-poligen Platinenstecker, der jeweils 10 Pole von beiden Seiten der Platine abgreift. Normalerweise liegen bei beiden Steckern die ungeraden Pinkontakte auf Masse. Ich habe Ihnen eine solche Steckverbindung in Bild 3 einmal aufgezeichnet. Wie Sie sehen, werden die | Adern des Flachbandkabels abwechselnd an Pins mit geraden und ungeraden Nummern gelegt. Dadurch läuft zwischen jeder Signalleitung jetzt eine Masseleitung, damit ein Übersprechen verhindert wird. Lediglich die Datenübertragungsleitungen liegen nebeneinander - die Schreibdaten auf Pin 13 und 14, die Lesedaten auf Pin 17 und 18. “Eingerahmt” werden diese beiden Leitungen wieder durch Masseleitungen. Warum werden jetzt gerade diese empfindlichen Leitungen nebeneinander gelegt? Zum einen erreicht man dadurch eine schwache, kapazitive Kopplung und kann dadurch extrem hochfrequente Störsignale eliminieren. Zum anderen soll eine eventuelle Störstrahlung beide Leitungswege möglichst zur gleichen Zeit und mit gleicher Intensität erreichen. Unlogisch? -Mitnichten, denn sowohl das Schreib- als auch das Lesesignal werden über symmetrische Leitungswege geschickt (erkennbar an dem + und - ). Warum und was damit bewirkt werden soll, können Sie im nebenstehenden Kasten nachlesen.

Die Steuerung der Hydra

Im großen und ganzen entspricht von der Art der verwendeten Signale die ST-506-Schnittstelle der eines Floppylaufwerkes, wenn auch die Belegung eine andere ist. Auffallend ist die große Zahl von Head-Select-Leitungen. Wie ich Ihnen im ersten Teil der Serie schon gezeigt hatte, gibt es heute Festplattenlaufwerke mit mehr als acht Platten. Pro Platte wollen zwei Köpfe adrdressiert sein, und dies geschieht leitungssparend über Head-Select. Die Anwahl des Kopfes für das TM-262-Laufwerk finden Sie als Beispiel in der nebenstehenden Tabelle. Die Aufgaben der anderen Kontrolleitungen sind im nebenstehenden Kasten kurz erklärt.

Rückseite eines TM-362-Laufwerks

Spezialisierung...

Im bisherigen Verlauf der Artikelserie konnten die Angaben zu Laufwerk und Controller recht allgemein gehalten werden. Theoretisch könnte ich jetzt so fortfahren. denn im Prinzip machen die Controller und Host-Adapter (Adapter zum Computer) in der Regel alle das gleiche. Mit der zunehmenden Miniaturisierung sind aber die Hersteller dazu übergegangen, die Controller mit ein paar wenigen Spezial-ICs zu bestücken (Das Paradebeispiel ist ein IBM-Festplatten-Controller von Seagate, der mit 2 - in Worten: zwei - ICs auskommt, einem EPROM und eben einem Spezial-IC von Texas Instruments). Da ich aber die Funktion innerhalb eines solches Controllers etwas näher beschreiben möchte, suchen wir uns einen möglichst diskret, also mit vielen, vielen Teilen, aufgebauten Controller heraus, und was läge da näher, als den der SH-204 bzw. SH-205 zu beschreiben? Da sich die Geräte aber nicht nur äußerlich unterscheiden, will ich die Unterschiede kurz erläutern.

ST 506/412 Stecker J1

Write Gate (Pin 6)
Mit diesem Signal wird der Schreibverstärker des Festplattenlaufwerks nur für den Schreibvorgang freigegeben, um eini versehentliches Löschen der Daten zu verhindern.
Seek Complete (Pin 8)
Dieses Signal verhindert ein Schreiben oder Lesen auf der Platte, wenn
  1. die Rekalibrierung nach dem Einschalten noch nicht abgeschlossen ist,
  2. die Wartezeit nach jeder Kopfbewegung noch nicht beendet ist
  3. nach einer kurzen Unterbrechung der Stromversorgung die Rekalibrierung noch nicht aktiviert wurde.
Track 0 (Pin 10)
Dieses Signal ist aktiv, wenn sich die Köpfe über Spur 0 befinden.
Write Fault (Pin 12)
Dieses Signal zeigt einen Schreibfehler an und verhindert jeden weiteren Zugriff auf die Festplatte, bis einer der folgenden Fehler behoben ist:
Head Select
Auswahlleitung für die Köpfe (Pin 2, 4, 14, 18)
Index (Pin 20)
Impuls, der pro Umdrehung (nominal alle 16,82 Millisekunden) den Anfang der Spur kennzeichnet.
Ready (Pin 22)
Signal zur Anzeige der Betriebsbereitschaft des Laufwerkes, ist nach dem Einschalten nach 15 - 20 Sekunden vorhanden.
Step (Pin 24)
Bewegt den Kopfschlitten um eine Position weiter in der Richtung, die durch 'Direction In' festgelegt wird.
Drive Select
Jeder Controller kann ein oder mehrere (Pin 26, 28, 30, 32) Laufwerke steuern, die Auswahl selbst wird über Jumper am Laufwerk festgelegt.
Direction In (Pin 34)
Legt die Bewegungsrichtung des Kopfschlittens fest.

Stecker J2

Drive Selected (Pin 2)
Hier bestätigt das Laufwerk die Anwahl und gibt damit gleichzeitig zu erkennen, daß es vorhanden ist.
Write Data (Pin 13, 14)
Über diese Leitungen werden die Schreibdaten vom Controller zur Festplatte geschickt.
Read Data (Pin 17, 18)
... und das Ganze retour, die Lesedaten werden von der Festplatte zum Controller geschickt.

Der Schuhkarton

Die SH-204 ist ein in ATARI-grau gehaltener Blechkasten im Format von 180 x 85 x 380 mm. In diesem “formschönen” Gehäuse (es soll meines Wissens nur ganz knapp an einem Preis für gelungenes Design vorbeigeschlittert sein) findet man das Festplattenlaufwerk (in älteren Geräten ein ST-225 von Seagate, dann das TM-262 von Tandon), die Controllerplatine (ACB-4000 von Adaptec), die Platine mit dem Hostadapter (von Atari), ein Schaltnetzteil und den Lüfter.

Der Monitorständer

Die SH-205 wird im gleichen Gehäuse wie die Mega-ST-Computer geliefert (Der Deckel für das Batteriefach wird zugeklebt!). Das Laufwerk ist wiederum ein TM-262 von Tandon. Im Sinne der Preissparpolitik von ATARI wurden Controller und Hostadapter jetzt auf einer Platine vereinigt. Dadurch konnten ein paar ICs eingespart werden, obwohl jetzt ein durchgeschleifter und gepufferter (!) DMA-Bus dazugekommen ist. Leider fielen der Abmagerungskur auch der SCSI-Bus und der Pfostenstecker für eine zweite Festplatte zum Opfer. Das Schaltnetzteil ist das gleiche, das auch im 1040-ST und in der Mega-ST-Serie zur Verwendung kommt.

Auch in der SH-205 wurde nicht auf einen Lüfter verzichtet. (Die Lüfter sind in beiden Geräten leider notwendig - warum das so ist, und wie Sie dem Lüfter und Ihnen mehr Ruhe zukommen lassen können, davon in einem der nächsten Hefte mehr).

ACSI zu SCSI

Bevor ich jetzt mit der Beschreibung des Controllers (ich beziehe mich dabei auf den Orginal-Controller ACB-4000 von Adaptec, nicht auf die “abgemagerte” Version in der SH-205) anfange, muß ich erst noch den zweiten Anschluß beschreiben, denn schließlich muß “das Futter” für das Festplattenlaufwerk ja auch von irgendwo herkommen. Die Festplatte wird über den DMA-Port an den ATARI-Computer angeschlossen. Diese, von ATARI selbst als ACSI (ATARI Computer System Interface) bezeichnet, ist leider nicht ganz mit der SCSI-Schnittstelle kompatibel. Deswegen liegt dazwischen der Host-Adapter, dessen Beschreibung aber erst in der nächsten Ausgabe erfolgt. Im Moment ist nur wichtig, daß er aus dem ACSI-Port eine SCSI-Schnittstelle macht.

SCSI

Der SCSI-Bus (Small Computer System Interface) ist eine bidirektionale, parallele Schnittstelle, über die bis zu acht “intelligente” Peripheriegeräte miteinander kommunizieren können. Intelligent deswegen, weil die Abwicklung des Datenaustauschs sowohl vom Sender als auch vom Empfänger aktiv gesteuert wird. Dazu besitzt das Peripheriegerät - wie in unserem Fall - entweder einen eigenen Mikroprozessor oder aber einen speziellen SCSI-Controlchip. Die Schnittstellen werden in der Regel über ein 50-pol. Flachbandkabel verbunden. Die Belegung finden Sie in Tabelle 3 auf gelistet, die Bedeutung der Signalleitungen ist im folgenden Kasten kurz erläutert.

SCSI

Data Bit (Pin 2, 4, 6, Paralleler 8-Bit Datenbus 
8, 10, 12, 14, 16)

Attention (Pin 32)    Der Signalgeber will eine Nachricht
                      an das Peripheriegerät senden, fragt also 
                      quasi die Betriebsbereitschaft ab.

Busy (Pin 36)         Dieses Signal ist aktiv, wenn der Bus
                      durch eine Übertragung belegt ist.

Acknowledge (Pin 38)  Bestätigung seitens des Host für eine
                      empfangene Nachricht

Reset (Pin 40)        Wird vom Host auf den Bus gegeben und
                      setzt alle angeschlossenen Geräte zurück.

Message (Pin 42)      Diese Signalleitung zeigt dem Host an,
                      daß die gerade übertragenen Daten eine 
                      Nachricht, z.B. eine Fehlermeldung, sind.

Select (Pin 44)       Mit Aktivieren dieser Leitung wird die
                      gerade am Bus anliegende Teilnehmernummer 
                      als "Gesprächspartner" bestätigt und der 
                      Bus nun für diese Teilnehmer reserviert.

Control/Data (Pin 46) Mit diesem Signal wird unterschieden,
                      ob die Informationen auf dem Bus Daten 
                      oder Kommandos sind.

Request (Pin 48)         Hiermit wird abgefragt, ob die Daten
                      empfangen worden sind, was der Host 
                      mit einem Acknowledge quittiert.

Input/Output (Pin 50) Bestimmt die Datenrichtung auf dem
                      Datenbus

en bloc...

Der Controller ACB-4000 ist auf einer 197 x; 146 mm großen Platine untergebracht. Im nebenstehenden Blockschaltbild erkennen Sie den prinzipiellen Aufbau (Wer sich für die kompletten Schaltungsunterlagen zur SH-204 oder SH-205 interessiert, kann diese beim Schaltungsdienst Lange in Berlin. Tel. 030/7036060, beziehen; das Ser-tice-Manual mit Schaltplänen des Controllers. des Hostadapters und des Netzteiles »wie Bestückungsplänen und -listen kostet iir die SH-204 bei Vorkasse DM 30,-, sonst zuzüglich Versand- und Nachnahmekos-en. dort sind auch fast alle anderen Schalt-mgsunterlagen zu ATARl-Geräten zu bekommen). Links in dem Bild sehen Sie die SCSI-Schnittstelle, auf derrechten Seite die Anschlüsse für die Festplatte. Dazwischen passiert jetzt einiges. Unser Computer schickt ja “einfach” die Daten an den DMA-Fort und erwartet, daß die Festplatte sie verarbeitet. Diese Aufgabe übernimmt, wie weiter oben schon gesehen, der Controller. Er muß

  1. die Daten vom Parallelport in serielle Daten für die Schreib-/Lese-Köpfe wandeln (das Ganze natürlich auch umgekehrt),
  2. die komplette Verwaltung der Festplatte steuern.

Für Schreibdaten bedeutet das im einzelnen:

Beim Lesen von der Festplatte läuft der oben beschriebene Vorgang in umgekehrter Reihenfolge ab. Zur Erklärung der Begriffe NRZ und MFM möchte ich an dieser Stelle noch einmal auf die Artikelserie "Floppyspielereien” von Claus Brod verweisen, der in Heft 11/87 diese Begriffe näher erläutert hat. Deswegen will ich hier nur noch kurz darauf eingehen. NRZ (Non-Return to Zero) ist eine serielle Impulsfolge, bei der aufeinanderfolgende Impulse gleichen Pegels (also "0” oder “ 1 ”) ununterbrochen geschrieben werden, da der Bezug zur Unterscheidung durch einen externen Takt erfolgen kann, was in unserem Fall im Controller einfach der Systemtakt sein kann. Wollten wir jetzt diese seriellen Daten unverändert auf die Festplatte schreiben, müßten wir gleichzeitig diesen Systemtakt aufzeichnen. Sonst wäre beim Lesen nicht klar, ob z.B. die gelesene” 1" aus einer oder mehreren “F’en besteht. Deswegen wird über einen speziellen Kodier- bzw. Dekodierschaltkreis das NRZ-Format in das von der Floppy her bekannte MFM (Modified Frequency Modulation) gewandelt, das den Takt in kodierter Form enthält.

Blockschaltbild des Controllers ACB-40000

Kodierung

Diese Aufgabe übernimmt in unserem Controller ein Spezialchip von Adaptec, der AIC-250. Er ist gleichzeitig zuständig für das Anlegen von ID- und Datenfeldern (wie bei der Floppy müssen die einzelnen Sektoren “erkennbar” gemacht werden, dies geschieht durch einen ähnlichen ID-Sektorheader wie bei der Diskette) und übernimmt eine eventuell notwendige Vorkompensation beim Schreibvorgang. Diese Vorkompensation ist notwendig, da beim Lesen zweier nebeneinanderliegender (und gleich magnetisierter) Felder diese aufgrund der magnetischen Wechselwirkung scheinbar auseinandergerückt werden. Dadurch kann es zu einer Fehlinterpretation beim Lesevorgang kommen, zumal gerade auf den innersten Spuren die Schreibdichte zunimmt. Durch die Vorkompensation werden Flanken beim Schreiben einfach näher zusammengerückt, so daß solche Felder später beim Lesevorgang in der richtigen Länge erkannt werden.

Puffer

An weiteren Adaptec-Spezial-ICs gibt es da den AIC-300, der die Kontrolle über den RAM-Puffer übernimmt und gleichzeitig den Datentransfer vom und zum Puffer steuert. Er ist theoretisch in der Lage, einen Datenaustausch über die SCSI-Schnitt-stelle mit 1,3 MBytes pro Sekunde abzuwickeln.

Parallel und Seriell

Der dritte unbekannte IC ist der AIC-010. er macht die eigentliche Parallel/Seriell-Wandlung, generiert den ECC und steuert die schnelle Datensuche auf der Festplatte ECC (Error Correction Code) ist eine spezielle Korrektur-Routine, welche in der Lage ist, Fehler bis zu einer Tiefe von 8 Bits zu korrigieren (also nicht nur Fehlererkennung wie beim CRC-(Cyclic Redundancy Check (-Verfahren, das bei Disketten benutzt wird).

CPU

Der 8085-Mikroprozessor übernimmt die generelle Steuerung des Controllers, interpretiert und generiert die speziellen SCSI-Kommandos und kontrolliert das Festplattenlaufwerk. Es ist ein kompletter Computer mit Betriebssystem im 2764-Eprom und Peripheriechip (8156).

Zum Schluß...

...noch eine kurze Vorschau auf den 3.Teil der Serie. Ich werde mich dann dem Hostadapter und der DMA-Schnittstelle widmen und kurz auf die mitgelieferte Systemdiskette zur SH-204/205 eingehen. um dann in den Umbau in ein 40-MByte-Laufwerk einzusteigen. Bis dahin sollten Sie schon mal ein Backup von Ihrer Festplatte gemacht haben, denn ich möchte Ihnen ein paar Tips zur Formatierung der Festplatte geben, frei nach dem Motto: "Darf s denn etwas mehr sein...?”

hp


Links

Copyright-Bestimmungen: siehe Über diese Seite
Classic Computer Magazines
[ Join Now | Ring Hub | Random | << Prev | Next >> ]