Erster Entwurf, vielleicht noch nicht vollständig.
Wir befassen uns mal mit einem komplexeren Thema…
Wie funktioniert eine Festplatte an der Atari ST Serie? – Teil 1
… und im zweiten Teil – wie bekomme ich einen Datenaustausch mit einem modernen Computer hin?
Dazu zunächst erstmal eine Reihe Begriffserklärungen, die man braucht, und aus denen sich schon vieles ergibt. Die Reihenfolge ist so, wie ich es didaktisch gerade für sinnvoll halte.
- Atari ST Serie, hiermit sind alle Computer von Atari ab 1985 bis ca. 1992 mit einem Motorola 68K-Prozessor gemeint, ST, STE, Mega, TT, Falcon, Stacy, ST-Book, außerdem plus diverse Clones wie Hades, Milan, Firebee, Suska, MiST, usw. Wenn hier stellvertretend von STs die Rede ist, dann sind all diese gemeint.
- PC, Personal-Computer, Computer-Klasse, welche von IBM 1983 mit dem 5150 auf Basis des Intel 8088 Prozessors vorgestellt wurde und bis heute in Form von „Clones“ von tausenden verschiedenen Herstellern die marktbeherrschende Computer-Klasse für den persönlichen Gebrauch darstellt. Im Grunde sind die heute alle noch zum 5150 kompatibel, wird nur schwierig ohne Diskettenlaufwerk noch ein MS-DOS zu booten… Statt dessen booten die heutigen PCs Windows, Linux, Mac-OS, usw. Von letzteren will man heute am ehesten Daten auf seinen ATARI ST herüberschieben.
- AMIGA-OS, die Freunde von der anderen Seite aus dem Commodore-Lager, eigentlich andere Baustelle, ganz anderes Dateisystem, es wird aber mit der Systemerweiterung „Crossdos“ interessant. Denn Crossdos kann mit FAT-Dateisystemen umgehen.
- Little Endian und Big Endian – Darstellungsweise für ein 16-Bit Wort (also 2 Bytes). Intel-Prozessoren (und kompatible wie AMD, etc.) verwenden die „Little Endian“ Darstellung, wo das Low-Byte vor dem High-Byte steht, die Zahl 255 sieht in 16 Bit Hexadezimal so aus: FF00h. Bei Motorola-CPUs werden 16-Bit Worte als „Big Endian“ dargestellt, bei dem die Zahl 255 in 16 Bit Hexadezimal so aussieht: 00FFh – irgendwie intuitiver.
- Byte-Swap – Tausch des Low-Byte gegen das High-Byte eines 16 Bit-Wortes um Little zu Big Endian oder umgekehrt zu konvertieren.
- MS-DOS – das ist auch hier das Maß aller Dinge. MS-DOS (bzw. PC-DOS, DR-DOS, usw.) ist das Betriebssystem der Personalcomputer von etwa 1983 bis 2000, wo es in erweiterter Form immer noch der Unterbau von Windows Millenium Edition war. Die Eingabeaufforderung von Windows NT bis 11 vorhanden erinnert immer noch an diese Anfänge.
- TOS – „The Operating System“ oder „Tramiel Operating System“, das Betriebssystem im ROM der Atari ST Serie Computer. Sein Aufbau, Systemaufrufe und so weiter ist weitestgehend gleich wie bei MS-DOS (insbesondere wenn da auch GEM installiert ist…). Zwischen 1985 und 1992 wurden mit den neu erschienenen ST-Serie Computern verschiedene TOS-Versionen veröffentlicht, welche sich auch in der Unterstützung der Partitionsgrößen unterscheiden! Letztlich macht TOS aus den ST-Computern so etwas wie einen PC mit 680×0 CPU.
- EmuTOS – eine Opensource-Implementierung von TOS, basierend auf jahrelanger Forschung, den GEM-Quellcode von DRI, und viel Gehirnschmalz der fleißigen Entwickler. Wird inzwischen auf alles portiert, was einen 68K Prozessor hat und nicht schnell genug wegrennen kann. Selbst der
„Feind“Amiga wurde schon gekapert und ist dank Vampire-Turbokarte inzwischen wohl der schnellste ST-Clone den man sich vorstellen kann. EmuTOS beinhaltet auch ein stark verbessertes GEMDOS, da ist BIGDOS nicht notwendig, - GEMDOS – das ist der Bestandteil von TOS, der sich um FAT Dateisysteme kümmert.
- METADOS / ExtenDOS – Dateisystemtreiber für CD-ROMs usw. ähnlch wie MSCDEX unter MS-DOS. METADOS ist das Original von ATARI, ExtenDOS ein kommerzieller besserer Nachbau, kann auch mit DVDs umgehen, inzwischen kostenlos.
- MiNT – „MiNT is now TOS“, sich selbst erklärendes Akronym, ursprünglich „MiNT is not TOS“ – TOS-kompatibles Betriebssystem, welches sich sehr stark an UNIX/LINUX anlehnt, Multitaksing-fähig, kann sauber programmierte TOS-Programme ausführen, ist auch POSIX-kompatibel, wodurch viele Sachen aus der GNU-Landschaft darauf portiert werden konnten, unter anderem bash,bourne-shell, die ganzen GNU-Tools, XWindow, ein TCP/IP-Stack und die Dateisysteme Ext2 und FAT32. Die erste Version von MiNT, welche erhältlich war, war das von Atari herausgegebene „MultiTOS“. Populär sind heute die EasyMiNT- und SpareMiNT-Distributionen und darauf aufbauende Projekte. Um MiNT sinnvoll zu nutzen braucht man einen ST mit mehr als 8 MHz und mehr als 4 MB RAM. Zum Betrieb eines modernen MiNT benötigt man einen XHDI-kompatiblen Plattentreiber, siehe unten.
- Sektor (1) – physische/native Sektoren, Festplatten sind in Köpfe, Spuren und physische/native Sektoren eingeteilt. Bei Festplatten bis zum Jahr 2011 gab es im Consumer-Bereich ausschließlich Festplatten mit 512 Bytes pro Sektor, seit dem tauchen immer mehr Platten (auch SSD) auf, welche 4 kB „nativ“ große Sektoren haben, meistens können die 512 Byte-Sektoren emulieren, in dem 8x 512e in einen 4kBn rein packen.
- Cluster – kleinste Verwaltungseinheit, die von MS-DOS zum Speichern von Dateien mit dem FAT-Dateisystem verwendet werden kann. Ein Cluster besteht je nach Speichermedium/Partition und dessen Größe aus 1 oder einem vielfachen davon (2, 4, 8, 16, 32) Sektoren. Jede Datei belegt immer nur ganze Cluster, so dass am Dateiende noch unbenutzte Teile eines Clusters mit reserviert werden, das nennt man „Verschnitt“. Je größer die Partitionen werden, um so größer werden auch die Cluster, weil davon immer nur eine maximale Anzahl adressiert werden kann.
- Sektor (2) – „logische Sektoren“ kleinste Verwaltungseinheit, die von TOS zum Speichern von Dateien verwendet werden kann. Im Prinzip das gleiche wie Cluster bei MS-DOS, nur dass die Zählweise/Adressierung mitunter anders ist, siehe später.
- Partitionen – Aufteilung einer Platte oder Wechselmendium in verschiedene logische Laufwerke. Je nach Partitionstyp und Dateisystem haben diese Partitionen verschiedene Kennungen, welche besagen, um welche Sorte Partition es sich handelt. Diese weichen zwischen MS-DOS und TOS teilweise ab, weil hier vor MS-DOS 3.31 schon verschiedene Wege eingeschlagen wurden, um die selben Probleme mit steigenden Festplattengrößen zu lösen.
- Primäre Partition, ein logisches Laufwerk auf einer Festplatte, in welchem direkt ein Dateisystem drin liegt.
- Sekundäre Partition, eine Partition, in der im Prinzip beliebig viele Erweiterte Partitionen drin liegen, in denen wiederum Dateisysteme drin liegen.
- Partitionsschema – Beschreibt, wie eine Festplatte in verschiedene logische Laufwerke aufgeteilt wird. Dieses Partitionsschema liegt auf der Festplatte gleich hinter dem Bootsektor. Hier gibt es aufgrund der Unterschiede zwischen MS-DOS Cluster und logischen Sektoren in TOS kleine Unterschiede zwischen TOS und MS-DOS. Aber erst jenseits von 32 MB Partitionen. Gemeinsam ist, dass auf einer Platte maximal 4 Primäre plus Sekundäre Partitionen liegen können. Will man mehr als 4 Partitionen haben, muss die letzte der 4 eine sekundäre Partition sein, in der die erweiterten Partitionen liegen. Das wird bei Partitionierern auf dem Atari automatisch richtig gemacht, bei MS-DOS muss man hier selber aufpassen.
- GPT – Das Partitionsschema der ATARI-Computer entspricht dem alten GPT von PCs. Mit HDDRIVER werden auch Medien mit UEFI-Partitionsschema von modernen PCs (ab Windows 7) unterstützt.
- FAT Dateisystem – „File Allocation Table“ – das ist das Format, in dem MS-DOS, TOS und andere Betriebssysteme belegte und leere Cluster/Sektoren und Verzeichnisstrukturen verwalten. Sowohl MS-DOS als auch TOS verwenden dieses Dateisystem in den Ausprägungen „FAT 12“ und „FAT 16“ Typisch für FAT-Dateisysteme ist der 8+3 Zeichen lange mögliche Dateiname. Nachfolgend verschiedene für uns relevante Varianten in stark vereinfachter Form, wer es genauer wissen will, schaut in Wikipedia.
- FAT 12 ist die ursprüngliche Implementierung in MS-DOS, die 12 gibt an, dass 12 Bit zur Nummerierung von Clustern verwendet werden, dementsprechend können nur maximal 4.096 Cluster angesprochen werden. FAT12 wird eigentlich nur noch für Disketten eingesetzt.
- FAT 16 verwendet 16 Bit zur Adressierung von Clustern, folglich können maximal 65.535 Cluster angesprochen werden. Und damit auch maximal nur 65535 Dateien und Verzeichnisse! FAT 16 Partitionen konnten ursprünglich nur 512 MB groß werden, weil Cluster bis einschl. MS-DOS 6.22 auf 16 Sektoren / Cluster beschränkt waren. Die Darstellung der 16 Bit Worte bei der Cluster-Adressierung erfolgt hier grundsätzlich im „Intel Format“, also Little-Endian, auch auf dem ATARI ST!
- BIGDOS (MS-DOS) – offiziell FAT16B genannt, ab MS-DOS 3.31, eine Erweiterung des FAT 16 Dateisystems, um Cluster auch mit 32 Bit zu adressieren, maximal 2 bzw. später 4 GB pro Partition.
- BIGDOS (TOS) – entwickelt von Rainer Seitel, ersetzt das GEMDOS durch eine verbesserte Version, versteht die Partitinstypen von MS-DOS bis einschließlich FAT16B. Je nach zugrunde liegender TOS-Version werden dadurch Partitionen bis 2 GB möglich, nur die Bootpartition darf nicht größer sein als das originale TOS unterstützt, denn sonst kann der ST nicht mit seinen ROM-Routinen davon booten. Bei BIGDOS empfiehlt es sich, einen XHDI-kompatiblen Plattentreiber zu verwenden, geht aber mit Einschränkungen auch ohne. Wichtig: Auf dem Falcon muss die dafür spezielle Version verwendet werden, und sie muss als letztes Programm in den AUTO-Ordner.
- FAT 32, dito 32 Bit, davon aber 4 Bit reserviert, also maximal 268.435.456 Cluster. Wurde mit Windows 95B eingeführt. TOS kann nicht auf solche Partitionen, auch nicht mit Hilfe von BIGDOS, zugreifen. In MiNT ist aber ein entsprechender Dateisystemtreiber intgegriert, der auch mit VFAT/LFN (Long File Name) Verzeichniseinträgen umgehen kann.
- EXT2, von Linux bekanntes Dateisystem, lässt sich unter MiNT und den 68K-Linuxen auf dem ATARI als zusätzliches Volume verwenden, maximal mögliche Laufwerksgröße liegt bei knapp unter 2 TB.
- NTFS, HPFS, EXT3, ReiserFS, … – unter neueren Windows, Macs, Linux gängige Dateisysteme, auf die der ATARI ST nicht direkt zugreifen kann.
- SCSI – ursprünglich „Shugartassociation Computer System Interface“, dann „Small Computer System Interface“, beschreibt eine ursprünglich 8 Bit breite Schnittstelle für die Kommunikation eines oder mehrerer Hosts mit Massenspeichern und anderen Geräten, also z.B. auch Drucker oder „Robot-Devices“. Bei PCs benötigt man dafür „Hostadapter“ z.B. von Adaptec. Man unterscheidet verschiedene Generationen wie SCSI-1, SCSI-2, Wide-SCSI, Ultrawide-SCSI, usw. die sich im Befehlssatz und Busbreite unterscheiden und zueinander abwärtskompatibel sind. Wenn man richtig terminiert, klappt es auch mit der Mischung von 8 und 16 Bit breiten Laufwerken, nur „Differential SCSI“ Geräte kann man mit den anderen nicht mischen, die brauchen spezielle Controller, die es für ATARI ST Computer nicht gibt. Bei ATARI haben der TT und der Falcon einen fast 100% SCSI-2-kompatiblen Anschluss und können davon auch booten. SCSI-1/2 unterstützen bis zu 8 Geräte auf dem Bus, wobei auch der/die Computer als Gerät(e) zählen. Dazu später mehr.
- ACSI – ATARI Computer System Interface – auch „DMA-Schnittstelle“ genannt, man sieht es schon am Namen, das hat was mit SCSI zu tun! Genauer, es ist ein abgespecktes SCSI-1, bei dem die Bus-Phasen der Kommunikation vereinfacht wurden, es fehlen Handshake-Signale, Geräte-ID des Computers, außerdem muss man hier nicht mit den Themen „Parity“, „Termpower“ und „Abschlussterminierung“ kämpfen. Dafür aber gelegentlich mit zu langen DMA-Kabeln oder zu vielen „Unbuffered“ DMA-Geräten, siehe später. Auch hier gibt es SCSI-Hostadapter, welche rein per logischer Schaltungen aus ACSI wieder ein fast vollwertiges SCSI machen, wenn der Hostadapter „ICD-Kompatibel“ ist, dann werden sogar SCSI-2-Befehle unterstützt, was auch die 1GB Plattengröße-Grenze von SCSI-1 aufhebt. Eine ACSI-Schnittstelle haben alle ST-Serie Computer außer der Falcon 030 und das ST-Book, bei letzterem aber per Adapter quasi als „Docking-Station“ nachrüstbar, aber das eher theortischer, denn die entsprechenden Adapter sind noch viel seltener als ST-Books.
- LUN – Logical Unit Number. Neben verschiedenen SCSI- bzw. ACSI-IDs für die Geräteadressierung unterstützten manche Geräte auch noch LUNs. Ein prominentes Beispiel dafür sind diverse SCSI-zu-MFM Controller wie die Adaptec ACB-4000, welche auch in den ATARI SH- und und Megafile MFM/RLL-Platten verbaut sind. Die mitgelieferte Platte ist LUN 0, und wenn man den Stecker für das zweite ST-506 Datenkabel einlötet und die ST-506-Verkabelung erneuert, können die auch noch LUN 1, also eine zweite MFM/RLL-Platte, ansprechen. Diverse Festplattentreiber wie CHBD/Scheibenkleister, ICD, HDDRIVER und PP können mit der zweiten LUN umgehen. AHDI aber nicht.
- MFM, RLL und ST-506, diese Bezeichnung findet man bei sehr alten, „strunzdummen“ Festplatten. Die sind nicht schlauer als ein Shugart-Floppy-Laufwerk, die haben auf ihrem ST-506 nur Signale für Laufwerksauswahl, Kopfbewegungen, Kopfauswahl, Lesen und Schreiben und benötigen einen MFM- oder RLL-Controller (dass hat was mit der Oberflächenqualität der magnetisierbaren Scheiben zu tun) und bringen so entweder 17 (MFM) oder 26 (RLL) pyhsische Sektoren in einer Spur unter. Diese phyische Formatierung, auch „Low Level Formant“ ist abhängig vom Controller, jeder Hersteller (Adaptec, Omti, Seagate, Western Digital (WD, WDC), …) kochte da sein eigenes Süppchen, so dass bei Controllerwechsel die Platte neu Low-Level-Formatiert werden muss. Typische Platten dieses Typs haben zwischen 10 und 80 MB Kapazität. PC-XT/AT-Computer benötigen für solche Platten einen Controller als ISA-Karte. ATARI hat solche Platten in den SH 204/205 und Megafile 20/30/60 Platten eingebaut, angeschlossen werden sie per ACSI. Die PC-Sichtweise kann man hier nachlesen.
- ESDI – Weiterentwicklung von ST-506, gab es nur für PCs, nicht für ATARI. Vorsicht, sieht genauso aus wie ST-506, aber nicht dazu kompatibel. Plattengrößen typischerweise zwischen 120 MB und 1.2 GB.
- IDE – „Integrated Drive Electronnics“, Weiterentwicklung von ESDI, 16 Bit breite Schnittstelle, wird bei PCs mit „Little Endian“ betrieben, am Atari aber meistens mit „Big Endian“. Hier wanderte die ganze Controller-Logik in die Platte, das IDE-Kabel ist quasi eine Verlängerung des ISA-Busses von PCs, daher auch öfters als „AT-BUS“ bezeichnet. Bei ATARI serienmäßig im Falcon 030 und ST-Book integriert, TOS 2.0x und 4.0x können direkt davon booten, für TOS 3.06 (TT) gibt es einen Patch, den man zusammen mit dem Thunder-IDE-Interface bekommt. Auch EmuTOS kann inzwischen von IDE booten. Für alle anderen ATARI ST Serie Computer gab / gibt es nachrüstbare IDE-Schnittstellen aus der Community, oft zusammen mit dem dafür ohnehin mindestens benötigten TOS 2.06 und anderen Funktionen.
- SATA – der serielle Nachfolger von IDE, über IDE-zu-SATA-Adapter lassen sich auch solche Platten betreiben, aber wegen deren großer Kapazität sollte man unbedingt HDDRIVER verwenden, ältere Festplattentreiber sind damit überfordert. Mit HDDRIVER lassen sich Platten bis 2 TB nutzen.
- Compact-Flash (CF) – ist ganz grob nur eine Variante von IDE, also eine rein mechanische Umsetzung auf einen anderen Stecker. Auf den Adaptern ist keinerlei aktive Elektronik. Theoretisch Hot-Swap-fähig, sollte man aber am ATARI niemals tun, immer erst den Computer ausschalten.
- Disc on Module (DOM) – Flash-Module mit IDE-Interface, lassen sich genauso wie IDE-Festplatten oder CF-Karten einbinden.
- SecureDigital (SD-Karten) – im Vergleich zum ATARI ST ein junges Speichermedium, welches per diverser aktiver Adapter an IDE, ACSI und SCSI angeschlossen werden kann. Bei dem Weg über IDE ggf. an Byte-Swap denken. Für den STE und Falcon gibt es eine einfache Bastelllösung, um eine SD-Karte am seitlichen Joystick-Port anzusprechen.
- Festplattentreiber – Das ist wieder was ATARI-Spezifisches. Während der PC im BIOS Laderoutinen für das Betriebssystem von Diskette oder Platte hat, muss der ATARI dies nicht tun, weil TOS üblicherweise (außer bei ganz frühen 260/520ST) schon im ROM ist. Dafür weiß aber TOS kaum etwas über Festplatten. Im TOS findet sich nur eine Routine, welche vom ACSI-Laufwerk mit der ID 0, später auch SCSI-ID 0 und IDE-Master, den ersten logischen Block, also den ersten Sektor mit 512 Bytes einlesen kann. Darin befindet sich dann der eigentliche Bootloader, der wiederum im Root-Verzeichnis der ersten Partition nach einer Datei mit einem bestimmten Namen sucht, diese lädt und ausführt, das ist dann der eigentliche Festplattentreiber, der dann die Partitionen als logische Laufwerke am TOS-Betriebssystem anmeldet. Der originale Festplattentreiber von ATARI heißt „AHDI“ und reicht bei kleinen Platten völlig aus, die zugehörige Treiber-Datei in C:\ ist SHDRIVER.SYS, und die sollte man nicht löschen, wenn man von der Platte booten möchte. Empfehlenswerter sind aber andere Plattentreiber wie CHBD (ex „Scheibenkleister“) und vor allem HDDRIVER. Die meisten alternativen Festplattentreiber sind AHDI-kompatibel, was bedeutet, dass sie ein AHDI kompatibles Partitionsschema verwenden. Einer fällt da raus: Der von Pera Putnik (PP), dessen Laufwerke können von AHDI-kompatiblen Plattentreibern nicht gelesen werden, der implementiert von vorneherein das Partitionsschema von DOS mit seiner Clusternummerierungen und Partitionstyp-Kennungen. Bei vielen neueren Plattentreibern ist es auch möglich, von einer anderen Partition zu booten, wenn man im richtigen Moment beim Start des Plattentreibers den gewünschten Laufwerkbuchstaben, z.B. „D“, auf der Tastatur anschlägt.
- XHDI – ein erweitertes Programmiermodell für Plattentreiber, welches von CHBD eingeführt und von HDDRIVER übernommen/ausbaut wurde. MiNT und diverse moderne Festplattentools setzen die XHDI-Schnittstelle vorraus.
- ICD-Kompatibel – Die Firma ICD setzte einst bei ihren ACSI-zu-SCSI-Hostadaptern diesen Maßstab, der es ermöglichte, über die ACSI-Schnittstelle auch SCSI-2-Befehle zu senden, womit auch die 1 GB Grenze für Festplattengrößen gefallen ist, so sind immerhin 2 GB ansprechbar, auch auf deutlich größeren Platten, wenn man keine so kleinen mehr auftreiben kann. Bei den Partitionsgrößen muss man sich aber trotzdem an dem orientieren, was TOS bzw. BIGDOS ermöglicht.
- AUTO-Ordner – Ein Verzeichnis auf der Boot-Platte oder -Diskette des ATARI ST, in den man TOS-Programme ablegen kann. Diese müssen die Endung PRG haben, dürfen aber keine GEM-Programme sein, weil bei Abarbeitung des AUTO-Ordners GEM noch nicht initialisiert ist. Die Reihenfolge der Abbarbeitung der Programme im AUTO-Ordner erfolgt so, wie sie im Verzeichnis eingetragen wird, was man mit der Desktop-Ansicht „Unsortiert“ nachvollziehen kann. Was man zuerst in den AUTO-Ordner rein legt, wird auch als erstes ausgeführt! In den AUTO-Ordner legt man Treiber, Patches, Systemerweiterungen aller Art. Teilweise ist hier eine strikte Reihenfolge der verschiedenen Programme einzuhalten, siehe z.B. BIGDOS.PRG bzw. BIGDOS_F.PRG (für den Falcon), siehe Dokus der einzelnen Sachen. Auch Betriebssystem-Erweiterungen wie Magic!, Geneva oder gar alternative Betriebssysteme wie MiNT, Debian 68K oder Net-BSD 68K werden mit einem Starter aus dem AUTO-Ordner gestartet.
- ACCs – „Accessories“, also kleine nützliche Helfer mit der Dateiendung ACC, die in der Menüleiste in dem Menü „Desk“ erreichbar sind, wenn sie aus dem Root des Bootlaufwerks geladen wurden.
- Bootmanager – das ist was ganz feines und ist auf dem ATARI die komfortable Alternative zum Bearbeiten von AUTOEXEC.BAT und CONFIG.SYS auf dem PC. Der Bootmanager benennt im AUTO-Ordner PRG Dateien und ACCs um, er macht daraus die Endungen PRX bzw ACX, wodurch sie beim nächsten Bootvorgang nicht geladen werden. So kann man sich für verschiedene Zwecke verschiedene „Sets“ an Autostart-Programmen machen und diese im Bootvorgang komfortabel umschalten. Der Bootmanager muss dafür selbst auch im AUTO-Ordner liegen, und zwar möglichst weit vorne . Ein besonders komfortables Exemplar ist hier „XBOOT„, sogar mit Mausbedienung, und das ganz ohne GEM…
- GDOS – auch das sollte man wissen. Das Betriebssystem TOS besteht aus ganz vielen Schichten, also schon richtig modern strukturiert, die unterschiedliche Sachen machen und alle sind beim Bootvorgang austauschbar:
– BIOS – Basic Input Output System, ja, wie beim PC, initailisiert die Hardware beim Booten, macht RAM-Test, checkt den Monitotyp, fragt die Tastatur ab, steuert serielle und parallele Schnittstellen, Midi, bootet vom ROM-Cardridge, Floppy oder Festplatte.
– XBIOS – eXtended BIOS, da ist z.B. der Maustreiber drin, und auch die VT52-Emulation
– GEMDOS – Dateisystemtreiber für FAT-Medien, können wir gegen BIGDOS austauschen, kann mit MetaDOS erweitert werden.
– VDI – Virtual Display Interface. Bei Windows nennt man sowas „Grafiktreiber“, also wer am Atari eine Grafikkarte betreiben will, lädt ein anderes (passendes) VDI und fertig. Auch mit der originalen Grafikhardware macht es Sinn, VDI auszutauschen, gegen NVDI, welches stark optimierte, beschleunigte Grafikfunktionen bereit stellt.
– AES – Application Environment Services – da stecken ganz viele GEM-Fuktionen drin, zum Beispiel die ganze Fensterverwaltung, aber wenigstens jetzt mal gehört…
– Desktop – darüber braucht man kein Wort zu verlieren, die Funktion ist klar, oder? Wie die anderen Bestandteile von TOS ist der Desktop durch Alternativen wie z.B. GEMINI austauschbar.
Aber wo ist jetzt GDOS? Das fehlt? GDOS heißt „Graphical Device Operating System“ und das verrät die Richtung, im TOS-ROM ist das ein winziger Teil vom VDI und ist gegen was „richtiges“ per Start aus dem AUTO-Ordner austauschbar, nämlich durch das von ATARI später auf Diskette nachgelieferte GDOS, was aber nicht so toll ist, das wurde erst mit den Alternativen AMCGDOIS, SPEEDOGDOS und vor allem NVDI besser. In einer gescheiten Festplatteninstallation gehört das in den AUTO-Ordner, weil das System-weite Druckertreiber und nachladbare Zeichensätze mitbringt. Nur, weil GDOS anfangs nicht nutzbar war, das von ATARI zunächst nicht wirklich was taugte außer dass es Sinn und Zweck der Übung zeigte und nicht jeder einen der Nachfolger installiert hat, gibt es leider ganz ganz viele Programme, die das nicht nutzen und ihre eigenen Zeichensätze und Druckertreiber mit bringen, typisches Beispiel: Signum! Das in 1991 erschienene ATARI-Works braucht es aber, viele mehr, und man lese und staune, Microsoft Write für den ST auch… - TOS-Patches… Ja, auch TOS ist nicht fehlerfrei, Alibaba und die 40 Ordner lassen grüßen, und desto oller, desto doller. So gibt es eine größere Anzal von Patches, welche bestimmte Betriebssystemroutinen durch verbesserte Versionen ersetzen, teils verleiden einem diese Fehler richtig den Spaß, gerade im Zusammenhang mit dem Festplattenbetrieb. Kommt alles in der richtigen Reihenfolge (!) und abhängig von der TOS-Version in den Auto-Ordner. Auch BIGDOS ist letztendlich ein TOS-Patch. Ich verweise für weitere Details auf diese Seite für die allernotwendigsten Patches. Gibt noch mehr…
- CONTROL – mit dieser Taste, im richtigen Moment beim Start des Plattentreibers gedrückt bewirkt, dass zwar der Plattentreiber startet, aber der weitere Bootvorgang mit Abbarbeiten des AUTO-Ordners und Laden der ACCs unterbunden wird, nichtmal Festplatten-Laufwerksbuchstaben sind auf dem Desktop, weil auch die Datei DESKTOP.INF bzw. NEWDESK.INF nicht eingelesen wird. Ab und zu braucht man diese Funktion, um eine fehlerhafte Boot-Konfiguration reparieren zu können.
- ALTERNATE – mit dieser Taste im richtigen Moment wird nicht mal der Plattentreiber gestartet. Ab und zu braucht man diese Funktion, um eine fehlerhafte Boot-Konfiguration reparieren zu können.
Damit hätten wir erstmal eine gemeinsamme Wissensbasis für das Folgende…
Wie der ATARI ST sich mit einer richtig eingerichteten Platte selbst aus dem Sumpf zieht, wurde oben schon umrissen. Auch das Abarbeiten des AUTO-Ordners und Laden der ACCs wurde schon beschrieben. Aber zuvor muss man eine Einschaltreihenfolge beachten. Platte zuerst, warten bis sie ordentlich rotiert und die Zugriffs-LED mal rythmisch geblinkt hat und wieder aus ist. Jetzt den ST anschalten, der schnüffelt sofort erstmal im Diskettenlaufwerk und dann findet er auf der angeschlossenen Platte einen ausführbaren Bootsektor und das Wunder ist vollbracht.
Würde man beide gleichzeitig einschalten, würde der ST sofort nach Diskette und Platte suchen, da die noch nicht bereit ist, wird sie aber nicht gefunden. Reset-Knopf drücken soll helfen, wenn man das verpennt hat.
Beim Mega STE, TT, Stacy, ST-Book und Falcon kann aber die Platte auch schon eingebaut sein, da lässt sich die Platte nicht vorher einschalten? Ja, dafür haben diese TOS-Versionen eine eingebaute Warteschleife, entweder ist das Monitorbild dann weiß und er wartet, oder man bekommt währenddessen ein ATARI-Logo und einen RAM-Test zu sehen, den man mit Tastendruck abbrechen kann, um den Bootvorgang zu beschleunigen.
Aber was ist, wenn das nicht klappt, hier gibt es 1001 Möglichkeiten…
Blinkt die SH/Megafile die ganze Zeit, dann ist was kaputt, meistens die Platte selbst, oder die interne Verkabelung hat sich gelöst. Evtl. hilft eine Elko-Kur an der Platte, mitunter auch beim integrierten Netzteil. Reparieren, austauschen und dann weiter unten bei der Platteneinrichtung weiter schauen.
ACSI-Kabel falsch gesteckt, an den Platten gibt es einen DMA-Eingang und einen DMA-Ausgang. Der Rechner muss an den Eingang, weitere Laufwerke an den Ausgang, und zwar mit deren Eingang. Außerdem könnte es sein, dass man zwei „unbuffered“ ACSI-Geräte hintereinander gesteckt hat, das sind Geräte wo die ACSI-Buchse nicht nach Ein- und Ausgang unterscheidet, hier ist es also egal an welchen Anschluss man mit dem DMA-Kabel geht, aber der DMA-Bus kann nur 2 und nicht 3 Empfängerbausteine treiben, da muss also erst wieder ein „gescheites“ DMA-Gerät zum Verstärken der Signale dazwischen. Der Supercharger und die SLM-Laserdrucker sind solche Kandidaten, die hier Probleme bereiten können, wenn sie direkt hintereinander angeschlossen werden. Manchen STs machen auch zu lange DMA-Kabel zu schaffen, mal ein kürzeres ausprobieren. Letztlich kann es auch am DMA-Port des Rechners liegen, vielleicht was kaputt, siehe dann Schaltpläne und Servicemanuals auf dev-docs. Auch möglich: Manche STEs sollen mit einem „falschen“ DMA-Chip, nämlich dem von gewöhnlichen STs ausgeliefert worden sein, aber hier streiten sich die Gelehrten noch, ob das tatsächlich relevant ist, Fakt ist aber, dass solche STEs evtl. nicht von Platte booten wollen/können und hier der Tausch des DMA-Chips tatsächlich helfen kann.
ACSI-ID der SH/Megafile nicht auf 0, der Jumper dafür befindet sich innen auf der Controller-Platine.
SCSI Terminierung fehlerhaft, Platte falsch konfiguriert: Parity eingeschaltet, Auto-Spin-Up der Platte ausgeschaltet, SCSI-ID nicht auf 0. Flachbandkabel verkehrt herum aufgesteckt? Festplatte inkompatibel. Festplatte inkompatibel? Ja, das gibts, weiter oben habe ich geschrieben, dass bei SCSI auch der Computer eine SCSI-ID hat, üblicherweise ist das die höher priorisierte ID 7, nur der Atari sendet keine eigene ID, manche Platte weiß da schlicht nicht, wer der Chef auf dem Bus ist und mag nicht antworten. Außerdem kommen einige Platten nicht mit den verkürzten oder ganz weg gelassenen SCSI-Bus-Arbitrierungspahsen von TOS bzw. Plattentreiber zurecht. In solchen Fällen hilft nur einen anderen Plattentyp auszuprobieren. Evtl. kann man solch eine Platte aber trotzdem als Zweitlaufwerk parallel zu einer Bootplatte betreiben, denn HDDRIVER, sobald nachgeladen, vervollständigt das SCSI-Protokoll am TT und Falcon wieder und startet auch Platten, die nicht von selbst „hoch fahren“. Bei ACSI-zu-SCSI-Hostadaptern am DMA-Port hat man da bei solchen Platten mitunter aber keine Chance.
IDE-Platte nicht auf Master, sondern auf Slave oder Cable-Select gejumpert? Flachbandkabel verkehrt herum aufgesteckt?
Ein Fehler, der im Zusammenhang mit „Byte Swap“ gelegentlich gemacht wird, ist SCSI- oder ACSI-Platten zu Byteswappen, dort macht das aber keinen Sinn, da diese Schnittstellen am ATARI ST nur 8 Bit breit sind. Byte-Swap ist nur notwendig, wenn ein IDE-Medium zwischen PC und ATARI hin und her getauscht werden soll.
Fesplatte nicht eingerichtet? Was bedeutet das überhaupt?
Bei MFM/RLL Platten kann zusätzlich zu dem Nachfolgenden sein, dass die Platte nicht passend zum Controller Low-Level-Formatiert ist. Bedeutet, der Controller kann auf der Platte keine Sektoren und Spuren lesen.
Es kann sein, dass auf der Platte keine ATARI-kompatiblen Partitionen sind, sondern irgendwas anderes.
Es kann auch sein, dass der Festplattentreiber nicht auf der Platte installiert ist.
Es kann sein, dass man den Festplattentreiber falsch konfiguriert hat. Manche Plattentreiber kann man nämlich tatsächlich dazu konfigureren, dass sie bestimmte Festplattenanschlüsse oder gar IDs nicht nach Laufwerken scannen. Da wird der Plattentreiber zwar mitunter erstmal geladen, aber wenn er so konfiguriert wurde, dass er ACSI ID 0 nicht scannen soll, die Bootplatte aber an ACSI hängt, dann geht es hier nicht weiter!
Warum macht man sowas? Um das Booten zu beschleunigen, denn jedes SCSI/ACSI/IDE-Gerät was erst gesucht wird, kostet Zeit. Manchmal will man auch einfach bestimmte Platten vor allzuneugierigen Mitbewohnern verstecken. Oder man möchte vermeiden, dass der ATARI-Laserdrucker oder der Supercharger, wo es ohnehin keinen Sinn macht, die als Platte anzusprechen, dass die sich durch ein SCSI-Kommando, was sie nicht verstehen, aufhängen und den ganzen Bus blockieren, die blendet man dann im Plattentreiber aus.
Wie kommt man aus der Nummer wieder raus? Festplattentreiber von Diskette starten, Plattentreiber mit dem Tool des Plattentreibers neu konfigurieren, oder mit Default-Einstellungen neu installieren.
Wie wird eine Platte frisch neu eingerichtet?
Im Prinzip ist das immer die gleiche Vorgehensweise, nur von Plattentreiber zu Plattentreiber heißen die Tools oder Menüeinträge dafür anders.
Hier eine Anleitung für AHDI von ATARI.
Weitere mögliche Plattentreiber: HDDRIVER (besonders empfehlenswert, da auch im Jahr 2022 noch immer aktiv weiter entwickelt), CHBD/Scheibenkleister, ICD, Hushi, SCSI-Tools, ICP-Vortex, HD-Plus, PP, Supra, …
Folgende Reihenfolge gillt grundsätzlich immer:
- Diskette mit dem Plattentreiber in Laufwerk A: (möglichst neue Version des Plattentreibers nehmen!)
- Platte einschalten, kurz warten
- Rechner einschalten, falls der sich separat einschalten lässt
- Rechner von Diskette booten lassen. Wenn sich der Plattentreiber in a:\auto befindet, wird der schon gestartet. Wenn nicht, am Desktop auf der Diskette nach dem Plattentreiber als PRG suchen und manuell starten. Evtl. zeigt er einem schon gefundene Platten und Partitionen an. Dann fehlt nur die Treiberinstallation, weiter bei Punkt 10.
- Formatierungsprogramm von der Diskette starten, Platte auswählen und erstmal gucken, ob damit Partitionen zu sehen sind.
- Wenn nicht, und das ist eine Platte mit einem ST-506-Laufwerk drin, also MFM/RLL, dann die Platte erstmal Low-Level-Formatieren, sprich da erstmal pyhsische Sektoren anlegen. Das kann z.B. bei den ATARI SH/Megafile-Platten notwendig sein. Je nach Treiber muss/kann man die Plattengeometrie (Spuren, Köpfe, usw.) manuell eingeben oder man muss zuvor eine Konfigurationsdatei mit den richtigen Werten der verbauten Platte ergänzen. Wenn doch, dann zu Punkt 8.
- Danach erstmal Reset und zurück zu Punkt 4.
- Platte partitionieren. Dabei auf die von den verschiedenen TOS-Versionen unterstützten maximalen Partitionsgrößen achten, lieber ein paar KB unterhalb dieser Grenze bleiben! Dabei werden die Partitionen auch gleich initialisiert/formatiert, so dass schonmal die FAT und das Rootverzeichnis angelegt sind.
- Danach nochmal Reset und weiter bei Punkt 4.
- Plattentreiber mit Hilfe des Tools auf der Diskette auf der Platte installieren und ggf. Einstellungen im Treiber verändern.
- Diskette raus, Reset.
- Der ST sollte von der Platte booten, ansonsten hat man was falsch gemacht, nochmal alle Schritte gegenchecken.
- Auf dem Desktop kein C:, D:, usw. da? Symbol von Laufwerk A: einmal anklicken, im Pulldownmenü „Extras“ auf „Laufwerke anmelden“ gehen. Je nach TOS-Version geht das jetzt automatisch, oder man muss das für jede Partition nochmal wiederholen.
- Desktopsymbole sind auf dem Desktop und lassen sich per Doppelklick öffnen.
- Wichtig: Menüpunkt „Extras“, dann „Arbeit sichern“. Darauf hin wird auf c:\ eine Datei „DESKTOP.INF“ oder „NEWDESK.INF“ (ab TOS 2.0x aufwärts) erzeugt, welche die Desktopeinstellungen, also auch die Laufwerkssymbole enthält. Die lädt der Desktop beim Neustart wieder ein. Gratuliere, die erste „eigene“ Datei ist auf der Platte. Tipp für Fortgeschrittene: Das ist eine Textdatei, deren Syntax ist bekannt, man kann da einige lustige Sachen machen…
- „Language-Disk“ des jeweiligen ST-Modells nehmen, und den Inhalt nach C: kopieren, damit hat man schonmal eine Grundausstattung mit dem Kontrollfeld als ACC, usw.
- Einen Ordner mit dem Namen des Plattentreibers erstellen, z.B. AHDI oder HDDRIVER, und den Inhalt der Plattentreiber-Diskette da rein kopieren, dann hat man diese Tools immer parat.
- Den AUTO-Ordner mit TOS-Patches, GDOS, NVDI, … befüllen.
- Nochmal resetten damit das Kontrollfeld und die ganzen Erweiterungen geladen werden.
- Spaß haben!
- Teil 2 abwarten, da geht es darum, wie man das ganze Zeugs auf die Platte bekommt, ohne mit Disketten rummachen zu müssen.
Welchen Festplattentreiber nehmen?
Das ist keine einfache Frage, man kann sie aber leicht beantworten und es wird immer passen: Den neuesten, und aktiv weiter entwickelt wird eigentlich nur noch HDDRIVER, evtl. auch PP.
Grundsätzlich tun alle Plattentreiber das was sie sollen, sofern man sie so verwendet, wie das mal gedacht war, sprich mit den passenden Festplattenlösungen, mit den damals üblichen Partitionsgrößen, möglicherweise ohne den Anspruch, PC-Medien lesen zu wollen.
Der originale AHDI von ATARI ist grundsätzlich eine gute Wahl, wenn man nur SH- und Megafile-Platten, auch das Welchselplattenlaufwerk Megafile 44 betreiben, will. Auch SCSI und IDE im TT, Falcon und ST-Book werden in neueren Versionen unterstützt, dafür ist es in der letzten Version schwierig, die alten Megafiles noch Low-Level zu formatieren, da sollte man einen Schritt zurück gehen.
Auch andere Plattenhersteller wie ICP-Vortex, Eickmann HD-Plus, Supra usw. lieferten ihre eigenen Plattentreiber mit, die sind aber entwicklungstechnisch stehen geblieben und sollten ausschließlich mit der passenden Platte betrieben werden.
Besonders erwähnenswert ist hier Hushi/SCSI-Tools von Hard&Soft und der Treiber von ICD, die relativ modern sind, der ICD 6.5 entfaltet seine volle Leistung (Read-Ahead-Cache, Write-Cache, interne Echtzeituhr) aber nur, wenn er seinen ICD-Hostadapter als „Dongle“ findet. Zusammen mit BIGDOS taugt der ICD bei Wechselmedien bis 512 MB an ACSI/SCSI auch
Diese beiden und CHBD/Scheibenkleister, PP und HDDRIVER können auch mit LUNs umgehen, womit einer Kapazitätssteigerung einer Megafile nichts im Wege steht.
Wer MiNT nutzen will, BIGDOS für den Datenaustausch mit PCs nutzen will, usw., der braucht einen XHDI-fähigen Treiber, und das bieten nur CHBD und HDDRIVER. Byteswap an IDE beherrscht nur HDDRIVER und PP.
Wer die neuesten Entwicklungen wie IDE im TT (Thunder) mit „Smart Swap“, Blitter-Unterstützung als Pseudo-DMA für IDE, mehrere IDE-Ports, Wechselmedien mit UEFI Partitionsschema usw. ausnutzen will, kommt aber eigentlich nicht an HDDRIVER vorbei.
Hallo!
Ich bin per Zufall über diese Seite gestolpert. Ein paar Anmerkungen bzw. Korrekturen:
– XHDI wurde nicht von CBHD eingeführt und von HDDRIVER übernommen. Der XHDI-Standard war eine gemeinsame Initiative mehrerer Entwickler und wurde halbwegs zeitgleich in mehrere Treiber integriert. Ich zitiere aus der Datei INTRO.TXT des XHDI-ZIP-Archivs:
“
An der Formulierung einiger Versionen des Standards waren beteiligt:
Stefan Baucke
Michael Bernards
Claus Brod
Stefan Eissing
Steffen Engel
Alexander Herzlinger
Johannes Hill
Karsten Isakovic
Hans-Dieter Jankowski
Laurenz Prüßner
Julian Reschke
Hansi Richstein
Uwe Seimet
Rainer Seitel
Eric Smith
Dirk Steins
“
– Nicht nur MiNT unterstützt FAT32-Partitionen, sondern auch MagiC.
– „Bei ATARI haben der TT und der Falcon einen fast 100% SCSI-2-kompatiblen Anschluss“. Wieso nur „fast“?
– LUNs kann es bis zu 32 geben, und die lassen sich auch am SCSI-Bus von TT and Falcon alle nutzen. LUNs > 1 machen auch für den ACSI Sinn, insbesondere den MegaSTE, s. https://www.hddriver.net/de/piscsi_icd.html.
– „Mit HDDRIVER lassen sich Platten bis 2 TB nutzen.“ Stimmt nicht ganz, denn es werden auch noch größere Platten unterstützt. Was mit SCSI bzw. IDE/SATA halt möglich ist. Bei IDE/SATA kommt man so theoretisch auf 128 PetaByte.
– Wo auf der Website von Bus-Arbitrierung die Rede ist geht es eigentlich um Initiator-Identifizierung. Bus-Arbitrierung braucht man nur, wenn mehrere Computer am selben SCSI-Bus ohne Konflikte auf andere Geräte zugreifen sollen.
Grüße
Uwe