Für eine optimale Darstellung aktivieren Sie bitte JavaScript.

Atari-DOS - Verwendung und Geschichte

 ·  ☕ 27 Min. Lesezeit  ·  ✍️ ikoch

Teaser-Bild

Bild von MasterTux auf Pixabay

Einleitung

“Retro” ist zwar modern, aber ist das wirklich nötig? Ein Artikel über mehr als 40 Jahre alte Technik? Wer soll das lesen?

Dieser Artikel richtet sich zum Einen an alle, die diese Zeit miterlebt haben und sich zurückerinnern wollen. Zum Zweiten an die, die damals ihren Computer, ihr Diskettenlaufwerk nur benutzen konnten und jetzt endlich verstehen wollen wie es funktioniert hat.

Er richtet sich aber auch an die, für die das Geschichten aus einer Zeit lange vor ihrer Geburt sind. Möglicherweise weil sie an Technikgeschichte interessiert sind. Es macht durchaus Sinn von Zeit zu Zeit mal zuückzuschauen um zu sehen wie die Technik damals war. Was hat sich verändert und was ist im Grunde gleich geblieben?

Die Technik damals war im Vergleich zu heute deutlich überschaubarer. Man musste sich nur ein (!) Buch kaufen und konnte daraus alles über die Technik seines Heimcomputers lernen. Die Computer der 8-bit-Generation waren m. E. die letzten Rechner, die man auch als Amateur noch vollständig verstehen konnte. Das macht sie auch heute noch für alle interessant, die die Grundlagen der Computertechnik verstehen wollen.

Letzten Endes ist die Diskette der “kleine Bruder” der Festplatte. Auch wenn heutige Festplatten um etliches komplexer sind, als die Disketten der späten 70er und frühen 80er, das Prinzip ist immer noch gleich - eine sich drehende Scheibe wir magnetisiert. Mittlerweile werden die (klassischen) Festplatten durch SSD-Laufwerke verdrängt, trotzdem bleibt es faszinierend, wie sich einige grundsätzliche technische Lösungen über so viele Jahrzehnte gehalten haben.

Im Grunde genommen richtet sich dieser Artikel damit an jeden!

Anlässlich der Tatsache, dass ATARI in diesem Jahr 50 wird, denke ich, ist es eine gute Gelegenheit sich diesem Aspekt der Technik- und Firmengeschichte zu widmen.

Floppy - Die Hardware

Disketten

Auch wenn es in diesem Artikel um das Atari-DOS, also um Software gehen soll, bin ich mir nicht sicher, ob ich bei allen heutigen Lesern die Kenntnis der Hardware voraussetzen kann.

Disketten waren über Jahrzehnte der tägliche Begleiter eines jeden Computernutzers. Anfang der 80er waren Disketten im “5 1/4”-Zoll-Format der Standard. Diese Disketten wurden üblicherweise “Floppy” genannt. Dabei konnte sich der Begriff wohl auf die Diskette selbst, als auch auf das Diskettenlaufwerk beziehen.

Die Floppies waren quadratisch mit einem größeren Loch in der Mitte. Doppelseitige Floppies hatten eine Schreibschutzkerbe links und rechts, Einseitige nur rechts. Unten war der “Schreib-/ Lesebereich” - ein Ausschnitt durch den der eigentliche Datenträger sichtbar wurde. Der Datenträger war eine runde Scheibe aus Kunststofffolie, der mit Eisenoxid beschichtet war. Das Eisenoxid lies sich magnetisieren.

Die Größenangabe “5 1/4”-Zoll bezieht sich auf den Durchmesser der Kunststoff-Scheibe. Wenn man die Schreibschutzkerbe mit Tesafilm, etc. überklebte, dann waren die Floppies schreibgeschützt. Das war ein Schutz gegen versehentliches Löschen - analog der Vorgehensweise bei Audiokassetten.

Die gesamte Floppy war leicht biegbar und insbesondere die Kunststoff-Scheibe allein war ausgesprochen labberig. Was der Floppy auch ihren Namen einbrachte.

Schema: Spuren und Sektoren

Diese Disketten wurden in ein Diskettenlaufwerk eingeschoben und mit einem Hebel verschlossen. Diskettenlaufwerke verfügten über einen eigenen Prozessor, der dem Prozessor im Computer leistungsmäßig nicht viel nachstand. So verwendete das ATARI 1050-Diskettenlaufwerk einen 6507-Prozessor im Vergleich zum 6502 im ATARI 800XL. Es verwundert daher nicht, dass Diskettenlaufwerke annähernd so teuer waren wie der eigentliche Computer.

Im Laufwerk greift in das Mittelloch eine Antriebsachse ein, die die Diskette in Drehung versetzt. Eine Diskette drehte mit ca. 300 Umdrehungen pro Minute. Da Disketten flexibel sind, muss man die Diskettenoberfläche leicht auf den Schreib-/Lesekopf drücken. Es handelte sich also nicht um ein berührungsloses Verfahren.

Dieser Schreib-/Lesekopf ist im Prinzip nichts anderes als ein kleiner Elektromagnet. Fließt Strom, dann werden die Eisenoxid-Teilchen auf der Kunststofffolie entsprechend magnetisch ausgerichtet. Ändert man die Polarität des Stromes werden die Eisenoxid-Teilchen genau gegenläufig ausgerichtet. Es ergibt sich quasi die 0 und die 1.

Das einzelnen Magnetfelder kann der Schreib-/Lesekopf später auch wieder auslesen.

Damit man die Daten auf der Diskette auch wiederfindet, müssen sie organisiert abgelegt werden. Dazu muss die Diskette in einem bestimmten Format eingerichtet werden. Sie muss “formatiert” werden.

Grundsätzlich bestand dieses Format aus Spuren und Sektoren. Dabei sind die Spuren konzentrische Kreise um das Mittelloch herum. Zwischen den Spüren war ein neutraler Bereich, der dünner als ein menschliches Haar war. Die Spuren waren wiederum in Teilbereiche, die Sektoren, eingeteilt. Auch zwischen den Sektoren war ein kleiner neutraler Bereich. Die Abbildung oben verdeutlicht das Schema.

Wenn wir unsere Diskette mit Atari-DOS 2.0 formatieren, dann richtet das Laufwerk 40 Spuren mit je 18 Sektoren ein. Jeder Sektor hatte eine Länge von 128 Byte. Nun ist es so, dass die Spuren immer kürzer werden je dichter sie an den Mittelpunkt der Scheibe kommen. Man könnte daher annehmen, dass auf den äußeren Spuren mehr Daten gespeichert werden können als auf den Inneren. Das ist aber nicht so! Jede Spur hatte 18 Sektoren mit je 128 Byte. Die Datenmenge, die auf der innersten Spur gerade noch gespeichert werden kann, bestimmte auch die Datenmenge für alle anderen Spuren.1

Wie hoch war nun die Speicherkapazität einer Diskette? Eine einfache Rechnung bringt uns zu 40 Spuren * 18 Sektoren * 128 Byte = 92.160 Byte oder 90 Kilobyte (KB).2 Aber dieser rechnerischen Wert stand uns so nicht zur Verfügung. Es gingen einige Byte “verloren”, die für die Verwaltung der Daten nötig waren. Aber gerade diese “verlorenen” Byte sind interessant, daher schauen wir sie uns gleich mal genauer an.

Von den 720 Sektoren (40 Spuren * 18 Sektoren) stehen nur 707 Sektoren dem Nutzer zur Verfügung. Acht Sektoren werden für das Inhaltsverzeichnis, drei für die Boot-Sektoren und ein Sektor für die Bit-Map benötigt. Ein Sektor kann überhaupt nicht angesprochen werden.

Im Inhaltsverzeichnis befand sich ein Eintrag für jede Datei, die auf der Diskette gespeichert war. Für den Namen waren acht Byte vorgesehen plus eine Erweiterung von drei Byte. Der Name konnte damit acht plus drei Buchstaben lang sein. Die Erweiterung wurde vom eigentlichen Namen durch einen Punkt getrennt. Eine Datei konnte beispielsweise PROGRAMM.BAS heißen. Es war üblich die Erweiterung zu verwenden um anzugeben um welche Art von Datei es sich handelt. In meinen Beispiel ein BASIC-Programm. Verpflichtend war dieses aber nicht. Die Erweiterung konnte beliebig verwendet werden.

Floppy mit Etikett für DOS 3
Ubcule, CC0, via Wikimedia Commons

Das erste Byte im Eintrag enthielt die Statusinformationen der Datei. Mögliche Status waren $203 - “Datei schreibgeschützt” (gesperrt nannte man das damals), $003 - “Eintrag ist leer” oder §803 - “Eintrag ist gelöscht”. Wie auch heute wurden Dateien wenn man sie “löschte” nicht physikalisch von der Diskette entfernt, sondern nur im Inhaltsverzeichnis als “gelöscht” markiert. Es was damit möglich ein “Löschen” mit entsprechender Software rückgängig zu machen. In den nächsten beiden Byte wurde festgehalten wie viele Sektoren die Datei auf der Diskette belegt. Nochmal zwei Byte enthielten dann die Information in welchem Sektor der Anfang der Datei abgelegt war.

Rechnen wir das zusammen dann belegte ein Eintrag im Inhaltsverzeichnis 16 Byte (1+2+2+8+3). Für das Inhaltsverzeichnis waren 8 Sektoren mit je 128 Byte reserviert. Das ergab 1024 Byte für das Inhaltsverzeichnis oder Platz für 64 Einträge. Das war für die damalige Größe der Disketten ausreichend dimensioniert.

Bei einem Neustart des Computers mit eingeschaltetem Diskettenlaufwerk versucht der Atari zuerst vom Sektor 1 zu lesen. Hier (und in den beiden folgenden Bytes) stehen weitere Informationen für den Boot-Vorgang.

Der Computer muss nun aber auch immer wissen welche Sektoren bereits belegt und welche noch frei sind. Hierfür legt er in einem weiteren Sektor eine Bit-Map an. Hier wird jeder Sektor durch ein Bit repräsentiert. Ist ein Bit gesetzt, dann ist der entsprechende Sektor frei. Enthält ein Bit eine 0, dann wird der zugeordnete Sektor bereits verwendet.

Auch in den verbleibenden 707 Sektoren konnten nicht alle 128 Byte vom Nutzer verwendet werden. Jeweils drei Byte wurden zur Steuerung verwendet. Es handelt sich dabei jeweils um die letzten drei Byte des Sektors. Ein Byte enthält die Information darüber wie viele Bytes im Sektor überhaupt belegt sind. Das nächste Byte informiert darüber zu welcher Datei der Sektor gehört und das letzte Byte gibt die Nummer des Sektors an indem die Datei fortgesetzt wird. Steht hier eine Null dann handelt es sich um den letzten Sektor der zu lesenden Datei.

Von den theoretischen 92.160 Byte standen also für Daten 88.375 Byte (oder 86 KB) zur Verfügung.

Diskettenlaufwerke

Es gab von Atari drei Generationen von Diskettenlaufwerken. Die erste Generation war die 1980 erschienende ATARI 810 (engl.), die zweite Generation war die 1983 erschienende ATARI 1050 (engl.) und die dritte Generation die 1987 erschienende ATARI XF551 (engl.).

Die ATARI 810 wurde im wesentlichen zusammen mit Atari-DOS 2.0 verkauft. Es erlaubte es, eine Diskette mit den oben beschriebenen 90 KB pro Seite zu formatieren. Die Disketten konnten umgedreht werden und die Rückseite konnte ebenfalls mit 90 KB formatiert. werden. Das war für damalige Verhältnisse durchaus ein Massenspeicher.

Allerdings erschien schon 1982 von der Firma Percom (engl.) ein Diskettenlaufwerk für den Atari, dass es schaffte bei ansonsten gleicher Einteilung 256 Byte pro Sektor unterzubringen. Damit hatte man die Speicherkapazität von 90 KB auf 180 KB pro Diskettenseite verdoppelt. Man sprach von "doppelter Dichte" (DD), das alte Format mit 90 KB wurde daraufhin als "einfache Dichte" (SD) bezeichnet.

Atari musste reagieren und brachte 1983 mit der ATARI 1050 ein neues Diskettenlaufwerk auf den Markt, von dem Atari behauptete, dass es ebenfalls die doppelte Dichte beherrsche.

ATARI 1050 Diskettenlaufwerk
Bilby, CC BY 3.0, via Wikimedia Commons

Doch was hat Atari genau gemacht? Anstatt wie bei Percom die Anzahl der Bytes pro Sektor zu erhöhen, blieb es bei 128 Bytes pro Sektor. Dafür war das Laufwerk (unter DOS 2.5) in der Lage die Spuren in jeweils 26 Sektoren zu unterteilen. Damit ergaben sich 133.120 Bytes (oder 130 KB). Wie bei der einfachen Dichte waren auch hier nicht alle Bytes für den Nutzer verfügbar. Von den theoretischen 1.040 Sektoren konnten 17 gar nicht angesprochen werden und 13 Sektoren waren für die Verwaltung der Diskette erforderlich. Es verblieben 1.010 Sektoren, von den 125 Bytes benutzt werden konnten. Es ergeben sich 126.250 Byten (oder 123 KB).

Aber Moment mal: 130 KB ist doch nicht das Doppelte von 90 KB! Richtig, und das war den Kunden auch aufgefallen. Selbst wenn Atari an der Bezeichnung “doppelte Dichte” festhielt, setzte sich allgemein die Bezeichnung erhöhte Dichte (ED) für die 130 KB durch.

In Folge wurden von Drittfirmen Hardware-Erweiterungen für die ATARI 1050 angeboten. Mit diesen Erweiterungen war auch die ATARI 1050 in der Lage Disketten mit “echter” doppelter Dichte zu formatieren.

Die ATARI 1050 konnte Disketten genau wie die ATARI 810 nur einseitig lesen bzw. beschreiben. Für die Rückseite wurde die Diskette umgedreht.

Als 1987 die XF551 auf den Markt kam, hatte Atari endlich ein Laufwerk, dass sowohl “echte” doppelte Dichte schreiben könnte, als auch Disketten beidseitig beschreiben und lesen hätte können. Es wäre also möglich gewesen 360 KB pro Diskette zu verwalten.

Warum der Konjunktiv? Weil Atari es - Entschuldigung, aber - richtig verbockt hat! Ein Nachfolger für die ATARI 1050 wurde seit 1985 vorbereitet. Da man zuerst die Restbestände an Atari 1050 abverkaufen wollte, aber immer wieder verschoben. Als die Restbestände abverkauft waren, hatte man erstmal kein Laufwerk im Angebot. Dann wurde man auch noch von der Konkurrenz (Nintendo) gegen unlauterem Wettbewerb verklagt. Atari warb zwar damit, dass man an das XEGS (engl.) ein Diskettenlaufwerk anschießen kann, es gab aber eben keines mehr zu kaufen.

Jetzt musste alles ganz schnell gehen. Die XF551 kam auf den Markt ohne das eine neue DOS-Version fertig gewesen wäre. Ausgeliefert wurde die XF551 am Anfang wie die ATARI 1050 mit DOS 2.5. Das unterstützte die neuen Funktionen aber nicht, so dass die XF551 nicht mehr konnte als die alte ATARI 1050.

Ein gutes Jahr später hat man dann das neue DOS XE nachgeschoben. Da war die Technik der ATARI 8-bi-Systeme aber schon so veraltet, dass es nicht mehr viel geholfen hat.

Atari-DOS: Geschichte

Wenden wir uns nun dem eigentlichen Atari-DOS zu. Worum handelt es sich dabei genau?

Viele denken, wenn sie DOS hören, sofort an MS-DOS von Microsoft. Der nächste Gedanke: “Ah dann ist es wohl ein Betriebssystem”, ist genauso naheliegend wie falsch.4

Das Atari-DOS ist eine Betriebssystemerweiterung. Die Ataris verfügten über ein in einem Festwertspeicher eingebautes Betriebssystem. Dieses war nach dem Starten sofort verfügbar und vollständig. Allerdings unterstützte es nur das Speichern auf Bändern (Kassetten).

Wollte man auch Disketten verwenden, musste man erst das DOS laden. Dadurch wurde das Atari-Betriebssystem um Diskettenfunktionalität erweitert. Dabei steht DOS für Disk Operating System oder auf deutsch Disketten Betriebssystem.

DOS 1 Titelzeile

Das erste Atari-Dos erschien im Herbst 1979 als Atari-DOS 1 Diese Version war jedoch wie es eine Computerzeitschrift5 damals etwas vorsichtig umschrieb mit “etlichen Nachteilen und kleinen Fehlern behaftet”. So “verwundert [es] also kaum, daß Atari bereits Anfang 1980 eine neue Version […] herausbrachte”. Bei nur “kleinen Fehlern” würde es schon verwundern, dass nach nur einem halben Jahr bereits eine neue Version nachgeschoben wird. Ich gehe eher davon aus, dass die erste Version bei den Kunden komplett durchgefallen ist - und damit wird sie auch nicht die letzte sein.

Wie dem auch sein. Die neue Version war DOS 2.0 oder offiziell DISK OPERATING SYSTEM II VERSION 2.0S6. Diese Version traf auf Zustimmung und war zusammen mit der Version DOS 2.5 das Standard-DOS. Alle Erläuterungen in diesem Artikel beziehen sich auf diese Version sofern nicht ausdrücklich anders erwähnt.

Das eher unbeliebte DOS 3

Als 1983 die ATARI 1050 erschien brauchte es auch ein DOS das die erhöhte Dichte unterstützte. Atari entschied sich dafür ein ganz neues DOS zu programmieren. Atari DOS 3 war geboren - nur um sofort auf massive Ablehnung der Nutzer zu stoßen. DOS 3 war nicht kompatibel zu DOS 2. Disketten, die mit der ATARI 810 formatiert waren, konnten unter DOS 3 nicht mehr gelesen werden. Es gab zwar eine Funktion mit der DOS 2-Disketten in DOS 3 umgewandelt werden konnten. Aber dann waren sie nicht mehr in der alten ATARI 810 lesbar und einen Umwandler von DOS 3 zu DOS 2 gab es (zumindest damals von Atari) nicht. Außerdem hatte man sich entschieden jeweils acht Sektoren zu einem “Block” zusammenzufassen. Das hatte zwar den Vorteil, dass die drei Steuerbyte nur einmal pro Block benötigt werden. Die restlichen 21 Byte (3 * 7) stehen dem Nutzer zur Datenspeicherung zur Verfügung. Dieser Vorteil wurde aber durch den Nachteil, dass jetzt jedes Programm mindestens einen Block benötigte wieder vollständig aufgehoben. Ein 100 Byte langes Programm hat unter DOS 2 einen Sektor (125 Byte) belegt. Unter DOS 3 belegt es nun einen ganzen Block von 1 KB (1024 Byte). Unter dem Strich war es bei den damals üblichen kurzen Programmen eine Platzverschwendung.

Hinzu kam, dass man es bei der Menüführung mit der “Benutzerfreundlichkeit” etwas übertrieben hat. Um es für Neulinge verständlich zu halten, fragt DOS 3 mehrfach nach. Das führt dazu, dass man nur um das Inhaltsverzeichnis einer Diskette anzuzeigen fünf Eingaben machen muss.

DOS 2.5 Titelzeile

Von vielen wurde DOS 3 ignoriert und weiterhin DOS 2.0 verwendet. Auf die erhöhte Dichte musste man dann aber verzichten. Das dieses kein Dauerzustand sein konnte, hat man auch bei Atari eingesehen. 1984 erschien DOS 2.5 oder offiziell DISK OPERATING SYSTEM II VERSION 2.5. Im Prinzip war es das alte DOS 2.0 erweitert um die Möglichkeit Disketten mit erhöhter Dichte lesen, schreiben und formatieren zu können. Auch das Menü war fast identisch. Lediglich die Option sowohl mit einfacher und erhöhter Dichte zu formatieren war hinzugekommen. Auch kam mit DOS 2.5 ein Programm, dass im DOS 3 formatierte Disketten in DOS 2.5 umwandeln kann.

DOS 2.5 wurde weitgehendst akzeptiert und blieb das Standard-DOS für die Ataris.

Von Atari kam noch 19887 DOS XE, dass auch die zusätzlichen Funktionen des Laufwerks XF551 unterstützte und sie damit erst nutzbar machte. Weil Atari derart unter Zeitdruck stand fragte man bei der Firma OSS an, ob diese ihr bestehendes, alternative DOS XL an die neue XF551 anpassen könnten.

Geplant war von Atari noch ein DOS 4.0, dass aber nie erschien. Die Rechte gingen zurück an den Urheber, der es als “gemeinfrei” freigab.

Neben den DOS-Version von Atari gab es noch eine ganze Reihe von DOS-Versionen anderer Herstellern. Sie alle aufzuzählen würde den Rahmen hier sprengen. Zu nennen sind aber wenigstens “DOS XL” (engl.) von OSS, “Sparta DOS (engl.), Bibo DOS und Happy-DOS II+ /D.

Bemerkenswert an Happy-DOS II+ /D ist, dass es sich hierbei um das “Listing des Monats” in der “Happy Computer 3/86” handelte. Der gesamte Quellcode des Programms war in der Zeitschrift abgedruckt und konnte (bzw. musste) vom Nutzer abgetippt werden. Diese Form der Verbreitung von kürzeren Programmen war damals durchaus üblich. Ein vollständiges DOS ist aber bemerkenswert.

deutschsprachige DOS-Versionen

Die einzelnen DOS-Versionen waren auch in deutscher Übersetzung verfügbar. Bei der von uns seinerzeit erworbenen ATARI 1050 lag eine deutschsprachige Version von DOS 3 auf Diskette bei. Leider konnte ich die Diskette nicht zum laufen bringen, so dass ich selbst nur noch auf einem Bild in einer alten Computerzeitschrift sehen kann wie übersetzt wurde. Die Übersetzung war wohl etwas schwierig. Da die Eingabe des ersten Buchstaben in DOS 3 die Funktion aufruft, musste die Umbenennen-Funktion in Neubenennen umbenannt werden, da der Buchstabe U bereits vergeben war. Übrigens für Unprotect, was nicht so wirklich ein deutsches Wort ist.

DOS 2.5 Titelzeile deutsch

Die Version von DOS 2.5, die wir uns später vom Atari-Händler geholt haben, war in Englisch. Mir war damals nicht bekannt, dass es eine deutsche Version gibt. Diese scheint später als die englische Version erschienen zu sein. Von ihrer Existenz habe ich erst bei den Recherchen zu diesem Artikel erfahren.

Atari-DOS: Der Systemstart

Ich hatte bereits weiter oben erläutert, dass es sich bei dem Atari-DOS um eine Betriebssystemerweiterung handelt. Erst mit dieser Erweiterung ist der Atari in der Lage mit Disketten arbeiten zu können. Diese Betriebssystemerweiterung muss dabei von Diskette eingeladen werden.

Damit haben wir aber ein kleines Problem. Ich kann nur mit Disketten arbeiten, wenn ich vorher etwas von Diskette geladen habe. Es handelt sich um das typische “Henne / Ei”-Problem.

Aus diesem Grund besteht das Atari-DOS aus drei Teilen. Diese wären:

  • der residente Disketten-Handler, Bestandteil des normalen Atari-Betriebssystems
  • das File-Management-System (FMS), in der Datei DOS.SYS
  • das Disk-Utility-Package (DUP), in der Datei DUP.SYS

Wobei die erste beiden Teile für den Systemstart erforderlich sind. Bei dem Disk-Utility-Package handelt es sich im wesentlichen um das DOS-Menü und wird von mir im nächsten Abschnitt behandelt.

Teaser-Bild

Bild von Gerd Altmann auf Pixabay; von mir leicht zugeschnitten und auf 256 Farben geändert um es "8-bit-tiger" zu machen.

Der residente Disketten-Handler ist bereits im Atari-Betriebssystem enthalten und der einfachste Teil des Atari-DOS. Er stellt etwas vereinfacht gesagt nur die Funktion zur Verfügung einzelne Sektoren lesen und beschreiben zu können. Wird der Atari eingeschaltet, prüft das Betriebssystem ob ein (oder mehrere) Diskettenlaufwerke angeschlossen sind. Ist das der Fall versucht der residente Disketten-Handler den ersten Sektor der Diskette zu lesen. Dieser Sektor gehört zu den drei Boot-Sektoren, die ich weiter oben erwähnt habe. Dieser Sektor enthält die Information ob sich die Datei DOS.SYS auf der Diskette befinden und falls ja, in welchem Sektor sich der Dateianfang befindet.

Ist die Datei DOS.SYS nicht vorhanden wird BOOT ERROR ausgegeben. Ist sie dagegen vorhanden wird das File-Management-System in den Speicher des Computers geladen. Ab sofort steht das Diskettenlaufwerk zum Laden und Speichern zur Verfügung.

Das bedeutet aber im Umkehrschluss, dass wenn man den Atari einschaltet ohne das Diskettenlaufwerk eingeschaltet (oder gar angeschlossen) zu haben, dann steht das Diskettenlaufwerk für diese Sitzung am Atari nicht zur Verfügung. Was sehr ungünstig ist, wenn man es erst bemerkt nachdem man ein Programm geschrieben hat und es speichern möchte.

Was genau nach dem Laden der DOS.SYS geschah hing von der Art der Diskette ab. Es gab sogenannte “Boot-Disks”, bei diesen startete das auf der Diskette enthaltene Programm automatisch. Das war insbesondere bei kommerziellen Programmen der Fall. Das gilt sowohl für Spiele als auch für Anwendungen.

Handelte es sich nicht um eine Boot-Disk startete das Atari-Betriebssystem ins BASIC. Es war jetzt möglich (BASIC-)Programme zu schreiben, laden oder speichern. Hatte man beim Einschalten das BASIC ausgeschaltet, dann startet man direkt in das DOS-Menü, falls die DUP.SYS auf der Diskette vorhanden war. War sie nicht vorhanden sprang der Atari in den Systemtest-Modus.

Das DOS-Menü

Das DOS-Menü: Atari-DOS 2.5

Fragen wir uns nun, wie der normale Anwender seinen Atari erklärte hat, was er von ihm wollte. Computer damals kannten keine grafische Oberfläche und auch keine Maus. Die Bedienung erfolgte im Textmodus. Gerade auf dem Atari waren Menüs sehr beliebt. Der Anwender erhielt ein Menü mit den möglichen Funktionen. Vor jeder Funktion stand ein Buchstabe, oft mit A> anfangend. Tippte man den Buchstaben ein, dann wurde die Funktion bzw. der Menüpunkt ausgeführt.

Wenn wir auf heutigen Computern im Textmodus arbeiten (also im Terminal unter Linux oder in der Eingabeaufforderung unter Windows), dann haben wir üblicherweise kein Menü. Der Computer erwartet das wir Befehle wie LS; MKDIR; CP (Linux) oder DIR; MD; COPY (Windows) kennen. Die Kenntnis von speziellen Befehlen war auf dem Atari nicht notwendig. Man hat das DOS-Menü aufgerufen und das Entsprechende ausgewählt.

Sollte man nicht gleich beim Booten ins DOS-Menü gestartet sein, kann man in BASIC mit dem Befehl DOS das DOS-Menü aufrufen. Das Menü befand sich in der Datei DUP.SYS und diese Datei wurde nun geladen. Das DOS-Menü war der wichtigste Teil des Disk-Utility-Package. Es war nicht notwendig, dass sich die Datei DUP.SYS auf einer Diskette befand. Um Platz zu sparen konnte sie auch weggelassen werden. Allerdings musste man dann eine Diskette mit DUP.SYS einlegen bevor man den DOS-Befehl ausführen konnte.

Wie sah so ein DOS-Menü nun aus? Das Menü sah je nach DOS etwas unterschiedlich aus. Wir schauen uns nun zuerst das DOS-Menü von DOS 2.5 genauer an und gehen anschließend noch auf zwei andere DOS-Versionen ein.

DOS 2.5 Menü englisch DOS 2.5 Menü deutsch

[Bild: DOS 2.5 in Englisch und Deutsch]

Ich werde im Folgenden die englischen Bezeichnungen verwenden, da die englische Version damals verbreiteter war. Die deutschen Bezeichnung habe ich teilweise in Klammern angegeben.

Wir sehen einen obereren Teil mit dem Menü. Hier sind alle (möglichen) Funktionen des DOS angezeigt. Der untere Teil enthält die Aufforderung SELECT ITEM - wir sollen also einen Buchstaben eingeben.

A. DISK DIRECTORY (DISK-INHALT)

Hier können wir uns das Inhaltsverzeichnis der Diskette anschauen. Angezeigt werden der Dateiname, die Erweiterung, die Anzahl der belegten Sektoren jeder Datei und die Anzahl der noch freien Sektoren auf der Diskette.

Dabei wurden schreibgeschützte Dateien mit einem Sternchen (*) gekennzeichnet. Dateien, die in Sektoren stehen, die nur bei erhöhter Dichte verfügbar sind, wurden mit größer/kleiner-Zeichen (<DATEINAME>) eingeschlossen. Es war möglich Disketten, die mit erhöhter Dichte formatiert waren, auch in Laufwerken zu lesen, die nur einfache Dichte lesen können. Allerdings waren die Dateien, die mit größer/kleiner-Zeichen umschlossen waren, dann nicht verfügbar.

Inhaltsverzeichnis mit schreibgeschützten Dateien und in erhöhter Dichte

Direkt nach der Eingabe von A erscheint aber noch die Rückfrage DIRECTORY--SEARCH,LIST FILE?. Bestätigt man diese mit RETURN, dann wird das Inhaltsverzeichnis von Laufwerk 1 auf dem Bildschirm ausgegeben. Möchte man das Inhaltsverzeichnis von Laufwerk 2, hätte man hier D2:*.* eingegeben. Hätte ich nur die Dateien mit der Erweiterung .SYS sehen wollen hätte ich *.SYS eingeben. Auch war es möglich die Ausgabe nicht auf dem Bildschirm sondern beispielsweise auf einem Drucker auszugeben. Die Eingabe EO?.*,P: hätte alle Dateien, die mit “EO” beginnen und genau drei Buchstaben haben auf dem Drucker ausgeben.

B. RUN CARTRDIGE (ZUM STECKMODUL)

Dient dazu das DOS-Menü verlassen und zu dem Modul zurückkehren von dem man gekommen ist. Das war i.d.R. das BASIC-Modul.

C. COPY FILE (DATEI KOPIEREN)

Dient zum Kopieren von Dateien. nach Eingabe von C und RETURN erfolgt die Rückfrage COPY--FROM, TO? Die Eingabe D1:TEST.BAS, D1:TEST.BAK würde auf der gleichen Diskette eine Sicherung anlegen. Die Eingabe D1:TEXT.001,P: hätte die Datei TEXT.001 auf dem Drucker ausgegeben.

D. DELETE FILE(S) (LOESCHE DATEI)

Dient zum Löschen von Dateien. Nun kommt die Rückfrage DELETE FILE SPEC. Gibt man nun beispielsweise D:TEST.BAK ein, erfolgt nochmal die Rückfrage TYPE "Y" TO DELETE TEST.BAK. Erst nach Bestätigung wird die Datei gelöscht. Hat man mehrere Dateien zum Löschen ausgewählt, fragt er bei jeder Datei nach.

Hätte man allerdings D:TEST.BAK /N eingegeben, dann wäre die Datei ohne Rückfrage gelöscht worden. Ein *.* /N hätte entsprechend die ganze Diskette ohne Rückfrage gelöscht.

E. RENAME FILE (NAMEN AENDERN)

Dient zum Umbenennen von Dateien. Hier lautet die Rückfrage RENAME - GIVE OLD NAME, NEW. Die Eingabe D2:TEST.BAS, TEST.TUR würde die Datei TEST.BAS auf dem Laufwerk 2 in TEST.TUR umbenennen. Wird kein Laufwerk angegeben, geht der Computer immer von Laufwerk 1 aus. Das gilt im übrigen bei allen DOS-Funktionen.

Auch hier ist die Verwendung von Wildcards möglich. Eine Eingabe von *.BAS, *.BAK benennt alle Dateien mit Endung .BAS in .BAK um.

F. LOCK FILE (DATEI SICHERN)

Setzt einen Schreibschutz auf die entsprechende Datei. Es folgt die Rückfrage WHAT FILE TO LOCK? Möglich wäre die Eingabe einer einzelnen Datei TEST.BAS, aber auch die Verwendung von Wildcards. <kbd<T*.* schützt alle Dateien, die mit T beginnen.

Dateien mit Schreibschutz sind gegen versehentliches Überschreiben geschützt. Sie können nicht gelöscht, überschrieben oder umbenannt werden.

G. UNLOCK FILE (DAT. FREIGEBEN)

Entfernt den Schreibschutz von der entsprechenden Datei. Hier lautet die Rückfrage WHAT FILE TO UNLOCK?

H. WRITE DOS FILES (DOS SCHREIBEN)

Dient dazu die DOS-Dateien DOS.SYS und DUP.SYS auf eine Diskette zu schreiben. Die Rückfrage lautet DRIVE TO WRITE DOS FILES TO? Für Laufwerk 1 wäre die 1 einzugeben. Dann erfolgt nochmals die Rückfrage TYPE "Y" TO WRITE DOS FILE TO DRIVE 1. Die Eingabe von Y wird dann mit WRITING NEW DOS FILES bestätigt.

I. FORMAT DISK (FORMATIEREN)

Unter DOS 2.5 dient diese Funktion dazu eine Diskette mit erhöhter Dichte zu formatieren. Kann das verwendete Laufwerk nur in einfacher Dichte formatieren, wird automatisch in einfacher Dichte formatiert. Bei DOS 2.0 wird die Diskette hier immer mit einfacher Dichte formatiert.

Auch hier gibt es die übliche Rückfrage: WHICH DRIVE TO FORMAT? und dann abschließend nochmal die Frage TYPE "Y" TO FORMAT DISK 1. Nachdem man diese Frage betätigt hat wird die Diskette unwiderruflich neu formatiert. Blöd wenn man noch die Falsche im Laufwerk hat.

J. DUBLICATE DISK (DISK KOPIEREN)

Wird verwendet um eine exakte Kopie der Originaldiskette anzufertigen. Da eine Diskette über mehr Speicher verfügt als der Atari, ist mehrmaliges Wechseln zwischen Originaldiskette und Zieldiskette erforderlich. Dabei wird “Sektor-für-Sektor” kopiert. Das bedeutet, dass die Dateien nicht nur kopiert werden, sondern auf der Zieldiskette auch im selben Sektor stehen wie auf der Originaldiskette.

Bei kopiergeschützten (kommerziellen) Disketten hat das Kopieren aber leider so nicht funktioniert.

K. BINARY SAVE (BINAER SAVE)

Mit dieser Funktion können Sie den Inhalt spezifischer Speicherbereiche auf Diskette sichern. Interessant für die Programmierung in Assembler.

L. BINARY LOAD (BINAER LOAD)

Mit dieser Funktion können Sie Binär-Dateien von Diskette laden. Das ist eine oft verwendete Funktion um bereits kompilierte Programme zu laden, wie es bei kommerziellen Spielen üblich ist.

M. RUN AT ADRESS (START BEI ADR.)

Mit dieser Option können Sie die hexadezimale Programm-Startadresse eingeben, nachdem Sie das Programm mit BINARY LOAD in die RAM geladen haben. (Führt Assembler-Programme aus.)

N. CREATE MEM.SAVE (MEM.SAV ANLEGEN)

Wenn man in BASIC den DOS-Befehl eingibt, wird mit der DUP.SYS das DOS-Menü geladen. Da auch das Menü Platz im Arbeitsspeicher benötigt, muss ein Teil des Speichers überschreiben werden. Das führt dazu, das BASIC-Programme nach der Rückkehr aus dem DOS-Menü nicht mehr vorhanden sind.

Es ist aber möglich auf der Diskette eine Auslagerungsdatei einzurichten. In diese wird der überschriebene Speicherinhalt gesichert. Nach der Rückkehr aus dem DOS-Menü ist ein BASIC-Programm dann noch da. Der Nachteil, dass etwas Platz auf der Diskette verwendet wird, ist dagegen verschmerzbar. Auch wenn das damals nicht immer so gesehen wurde.

O. DUBLICATE FILE (DAT. KOPIEREN)

Wird verwendet um einzelne Dateien von einer Diskette auf eine andere Diskette zu kopieren.

P. FORMAT SINGLE (FORMATIEREN S)

Diese Option ist nur bei DOS 2.5 vorhanden und damit der einzige Unterschied im Menü zwischen den beiden Versionen. Wird verwendet um das Formatieren in einfacher Dichte zu erzwingen.

Das Disk-Utility-Package bestand im wesentlichen aus dem DOS-Menü, aber auch aus ein paar Hilfsprogrammen, die auf der DOS-Masterdiskette mitgeliefert wurden.

Diese Hilfsprogramme waren Binärdateien und wurden über den Menüpunkt L geladen.

COPY23.COM

Dieses Hilfsprogramme konnte sowohl mit unter DOS 3 als auch mit unter DOS 2 formatierten Disketten umgehen. Es war damit möglich Dateien zwischen den einzelnen Formaten hin und her zu kopieren. Es diente im wesentlichen dazu DOS 3 in DOS 2.5 zu wandeln.

DISKFIX.COM

Ist ebenfalls menügesteuert und dient dazu gelöschte Dateien wiederherzustellen und die bereits oben erwähnte Bit-Map der belegten Sektoren neu zu schreiben. Das ist nötig falls es bei der Bit-Map zu einem Fehler gekommen ist.

RAMDISK.COM

Der zusätzliche Arbeitsspeicher des ATARI 130XE konnte auch als Ramdisk verwendet werden. Mit diesem Hilfsprogramme wird sie eingerichtet.

Das DOS-Menü: Atari-DOS 3

Neben DOS 2.0 bzw. 2.5 gab es noch das unbeliebte DOS 3. Zum einen unbeliebt wegen der fehlenden Kompatibilität zu DOS 2.0, aber zum anderen auch weil das Menü als wenig benutzerfreundlich galt. Schauen wir es uns mal kurz an.

Die Menüpunkte von DOS 3 sind nicht nach dem Alphabet mit A, B, C, D, etc. benannt, sondern werden mit dem Anfangsbuchstaben des Menüpunkts aufgerufen. Das Inhaltsverzeichnis wird beispielsweise mit F (für “File index”) aufgerufen. Das macht es erforderlich, dass jeder Menüpunkt mit einem anderen Buchstaben beginnt, was zu teilweise kreativen Benennungen geführt hat.

Während DOS 2.0 i.d.R nur einmal zurückgefragt hat, war DOS 3 dafür bekannt selbst bei einfachen Dingen mehrfach zurückzufragen. Um sich das Inhaltsverzeichnis der Diskette anzuschauen musste man F eingeben. Nun kam die Rückfrage Filespec?. Es ging darum welche Dateien angezeigt werden sollen. Einmal RETURN füllte die Abfrage zwar automatisch mit D1:*.*, aber es ging noch weiter. Die nächste Rückfrage lautete Display device?. Auch hier reichte ein drücken der RETURN-Taste um die wahrscheinlichste Eingabe E: (für den Bildschirm; eigentlich Editor) einzufügen. Aber trotzdem war der Aufruf mit deutlich mehr Tastendrücken verbunden als bei DOS 2.

DOS 3 in Aktion

Das sollte anfängerfreundlicher sein, weil der Anfänger durch Rückfragen geführt werden sollte. Hier zeigte sich, dass Anfängerfreundlichkeit und Benutzerfreundlichkeit nicht immer das Gleiche sind. Eine Erfahrung die auch andere Software-Entwickler noch machen sollten. Erinnert sich noch jemand an “Karl Klammer”?

Das DOS-Menü: Happy-DOS II+ /D

Auch wenn das Bedienkonzept mit der Menüführung damals relativ beliebt war, hat es nicht jedem gefallen. Ein Kritikpunkt war, dass das DOS-Menü jedesmal nachgeladen werden musste, da es, wenn es dauerhaft im Arbeitsspeicher bliebe, zu viel davon belegen würde.

Es gab einige DOS-Varianten von Drittanbietern, die daher andere Konzepte verwendeten. Zu nenne wäre hier das bereits oben erwähnt Happy-DOS II+ /D. Es verzichtet auf ein DOS-Menü und verwendet eine sehr reduzierte Oberfläche, so dass es permanent im Arbeitsspeicher bleiben kann.

Es entspricht eher einem modernen Terminal (in Linux) oder der Eingabeaufforderung (in Windows). Nach dem Aufruf von DOS öffnet sich eine einfache Textseite auf der nur D1: steht (mit der gleichen Bedeutung wie A: bei MS-DOS). Wir arbeiten also mit Laufwerk 1. Die Eingabe von /n ändert das Laufwerk.

Happy-DOS in Aktion

Gesteuert wird das Happy-DOS durch die Eingabe von Befehlen, die alle aus drei Buchstaben bestehen. Das sind:

Befehl steht für .. DOS-Menü Beschreibung
DIR Directory A Anzeige des Inhaltesverzeichnisses
REN Rename E Umbenennen einer Datei
DEL Delete D Löschen einer Datei
LOC Lock F Schreibschutz einer Datei
UNL Unlock G Schreibschutz entfernen
LOA Load L Laden einer Datei
SAV Save K Speichern eines Speicherbereichs
RUN Run M Starten eines (binären) Programms
COP Copy O / C Kopieren einer Datei
CAR Cartridge B Rückkehr zum BASIC
FO# P Formatieren in einfacher Dichte
FD# I Formatieren in erhöhter Dichte
CL# Löschen aller Dateien
IN# H Schreiben von DOS.SYS
/n Wechseln zu Laufwerk n

Dabei konnte der Befehl immer auch ausgeschrieben werden. Also “delete” anstelle von DEL.

Die Happy-Computer befand damals: “Man sieht also das Happy-DOS II + /D wirklich einfach zu bedienen ist. Schnell und ohne großen Aufwand lassen sich DOS-Befehle direkt ausführen ohne lange auf ein DOS-Menü warten zu müssen.”

Schlussüberlegungen

Nun stehen wir am Ende dieses doch etwas länger gewordenen Technik-Rückblicks. Hat es sich gelohnt? Gefühlt habe ich unendlich viel weggelassen und auch etliches viel zu sehr vereinfacht. Aber ich hoffe doch die richtige Mischung aus Detailtiefe und Artikellänge gefunden zu haben.

Was denken Sie? Ist ein menügeführtes DOS (wie das ATARI-DOS 2.5) oder ein befehlsgeführtes DOS (wie Happy-DOS II + /D) zu bevorzugen. Das Happy-DOS II + /D ist viel schneller verfügbar als das Menü von DOS 2.5. Aber ich habe auch gleich wieder den Nachteil zu spüren bekommen. Beim Ausprobieren hatte ich den Befehl vergessen um aus dem DOS wieder zurück in BASIC zu gelangen. Wenn man einen Befehl nicht kennt hat man keine Chance. Das ist bei einem Menü anders. Zur größten Not kann man sich durchprobieren.

Aber es hat natürlich alles seine Vor- und Nachteile.

Sie dürfen mir gern eine Rückmeldung z. B. über Mastodon geben.


Literatur zum Weiterlesen (und Quellenangaben):

  • Chris Crawford, et al: De Re Atari, 1982 S. 126ff
  • Eichler/Grohmann: Atari 600XL / 800XL intern, 1984, Data Becker GmbH; ISBN 3-89011-053-3
  • Bill Wilinson: Inside Atari DOS, 1982 (engl.)
  • Happy Computer 1. Atari-Sonderheft, 1986, Markt&Technik Verlag AG, S. 139ff
  • Happy Computer 8/85, Markt&Technik Verlag AG, S. 30ff
  • Happy Computer 3/86, Markt&Technik Verlag AG, S. 30 und S. 91ff
  • Atari Magazin 6/87, Verlag Rätz-Eberle, Bretten, S. 72

Kurz nachdem ich diesem Artikel fertig hatte, habe ich gesehen, dass noch andere versuchen die Erinnerung an dieses Stück Technikgeschichte wachzuhalten. Es gibt ein ganz neues Video auf YouTube mit dem selben Thema. Ich kann dieses sehr empfehlen:

Trenner


  1. Hier nochmal der Hinweis, dass sich die Ausführungen auf den Atari beziehen. Andere Hersteller hatten eigene Diskettenformate, die vom oben beschrieben Format abweichen. ↩︎

  2. Ich rechne hier mit der damals üblichen Umrechnung 1 Kilobyte = 1024 Byte um mit zeitgenössischen Angaben identisch zu sein. Heute würde man wie folgt umrechnen: 1 KB = 1000 Byte und 1 KiB = 1024 Byte. ↩︎

  3. Auch hier folge ich der zeitgenössischen Nomenklatur und mache hexadezimale Zahlen durch ein $-Zeichen kenntlich. Heute würden man Schreibweisen wie 0x20 oder 2016 oder 20hex bevorzugen. ↩︎

  4. Atari-DOS ist im Vergleich zu MS-DOS ein paar Jahre älter. Es war zu diesem Zeitpunkt üblich das ein DOS die Diskettenerweiterung bezeichnet. Commodore-DOS ist eine ähnliche Lösung, wenn auch technisch anders umgesetzt. ↩︎

  5. Happy Computer, 1. Atari Sonderheft, 1986, Markt&Technik Verlag AG, S. 139ff ↩︎

  6. Dabei stand das “S” für einfache Dichte (single density); es wurde auch eine “D”-Version entwickelt, die mit dem geplanten Laufwerk ATARI 815 ausgeliefert werden sollte. Die ATARI 815 ist über den Prototypenstatus jedoch nie hinausgekommen. Laufwerk und DOS sollten auch die “echte” doppelte Dichte unterstützten. ↩︎

  7. nach anderen Quellen erst 1989 ↩︎


ikoch
ERSTELLT VON
ikoch