# Atari DOS

L'Atari Disk Operating System, abbreviato in DOS, era il sistema operativo per dischi utilizzato nei computer Atari ad 8 bit. Il kernel del DOS era contenuto nella ROM dei computer ma permetteva poche funzioni base. La parte più consistente del DOS era un'estensione del sistema operativo che veniva caricata nella memoria del computer ed aggiungeva le funzionalità per poter gestire in maniera completa le unità a dischi ed i file. Per poter caricare ed eseguire il DOS in memoria era necessario che il computer fosse dotato di 32 kB di RAM aggiuntiva.
Atari presentò la prima versione del sistema nel 1979 come DOS 1.0. L'ultima versione distribuita fu la XE, pubblicata nel 1988.

## Caratteristiche tecniche

Il sistema operativo incluso nella ROM dei computer conteneva un semplice insieme di funzioni denominate "resident disk handler" (gestore residente del disco) per poter eseguire su un'eventuale unità a dischi collegata al sistema solo 4 operazioni base: la formattazione del disco, la lettura di uno specifico settore, la scrittura/verifica di un settore ed il controllo dello stato dell'unità. Il DOS vero e proprio era caricato in memoria da un dischetto: esso era composto da un "file management system", o FMS, e dalle estensioni all'FMS. Nonostante Atari considerasse come DOS l'insieme di queste 3 parti (il gestore dei dischi, l'FMS e le sue estensioni), si tendeva ad indicare come "DOS" solo l'FMS ed i programmi ad esso allegati.

## Versioni
### DOS 1.0

La prima versione del sistema (1979) era indicata semplicemente come DOS: veniva distribuita insieme alle unità a dischi modello "810" e tutti i comandi erano selezionati tramite menu. Consisteva di un unico file caricato in memoria denominato DOS.SYS. Il DOS fu ridenominato DOS 1.0 quando fu realizzata la versione 2.0.
Il DOS 1.0 fu commissionato a Shepardson Microsystems, Inc. (SMI), che mise a capo del progetto Paul Laughton, che già aveva scritto il DOS dei computer Apple II.

### DOS 2.0

La seconda versione del DOS, nota anche come DISK OPERATING SYSTEM II VERSION 2.0S, fu distribuita da Atari a partire dal 1981 sempre con le unità a dischi "810" ma anche con le prime unità "1050". Questa release è considerata il tratto d'unione di tutte le versioni dell'Atari DOS dato che qualsiasi unità a dischi compatibile Atari poteva leggere un disco formattato con il DOS 2.0S. È anche una delle versioni più diffuse dell'Atari DOS.
Il DOS 2.0S consisteva dei file DOS.SYS e DUP.SYS: il primo veniva caricato in memoria mentre il secondo, che conteneva il menu per richiamare le utility del sistema, veniva caricato solo quando richiesto. Oltre alla correzione dei bug della precedente versione, la 2.0S introduceva la possibilità di lanciare automaticamente un file eseguibile il cui nome fosse AUTORUN.SYS. Inoltre, dato che la memoria del computer era cancellata dal caricamento di DUP.SYS, il DOS 2.0S permetteva di creare un'immagine della RAM in un file denominato MEM.SAV, che veniva poi ricaricata quando l'utente usciva da DUP.SYS.
Ne fu distribuita anche una versione 2.0D, dove la lettera "D" stava per "Double density", ad indicare che supportava anche i dischi a doppia densità (la "S" della versione 2.0S indicava, invece, il supporto per i soli dischi singola densità). Il DOS 2.0D fu distribuito con l'unità "815 Dual Disk Drive".
La seconda versione del DOS fu scritta da Optimized Systems Software (OSS), capitanata da Bill Wilkinson.

### DOS 3.0

Nel 1983 Atari iniziò a distribuire con le unità "1050" una nuova versione del DOS, la 3.0, che sfruttava la maggior densità di formattazione dell'unità (130 kB per lato contro i 90 kB dei dischi a singola densità) definita "Enhanced Density" (Densità estesa). A causa dell'organizzazione dei settori del disco in "blocchi" di grandi dimensioni, i dischi in formato DOS 3.0 non erano compatibili con il DOS 2.0: ciò rese il DOS 3.0 impopolare, e la sua diffusione fu inferiore a quella del predecessore. Per questo motivo Atari realizzò il DOS 2.5: nonostante la numerazione, tale versione uscì posteriormente alla 3.0.

### DOS 2.5

Noto anche come DISK OPERATING SYSTEM II VERSION 2.5, il DOS 2.5 fu distribuito da Atari come versione migliorata della precedente versione 3.0 per venire incontro alle richieste dei suoi clienti. Il DOS 2.5 supportava i dischi in formato Enhanced Density, aveva una utility per leggere i dischi del DOS 3.0 e poteva formattare i dischi anche in singola densità. Presente nel DOS c'era anche una utility per la creazione di un RAM disk, sfruttabile con l'Atari 130XE, dotato di 128 kB di RAM.
Il DOS 2.5 fu distribuito a partire dal 1985 insieme alle unità "1050" ed alle prime unità "XF551".

### DOS 4.0

Conosciuto durante lo sviluppo con il nome in codice di QDOS, il DOS 4.0 fu progettato per l'unità a dischi "1450XLD". Siccome questa non fu mai messi in commercio, i diritti del DOS 4.0 furono resi all'autore, Michael Barall, che lo mise nel pubblico dominio. Fu in seguito pubblicato da Antic Software, una società produttrice di software fondata dal direttore della rivista "Antic", dedicata ai computer Atari ad 8 bit. Grazie all'uso dei blocchi al posto dei settori, il DOS 4.0 supportava la formattazione dei dischi a singola, doppia e densità estesa così come i dischi a doppia faccia. Il DOS 4.0 non era però compatibile con le versioni 2.0 e 3.0 del sistema per cui i dischi formattati con questi DOS non potevano essere letti. Un'altra limitazione del DOS 4.0 era che non selezionava in automatico la densità dei dischi, scelta che doveva operare manualmente l'utente tramite le voci del menu.

### DOS XE

Quando l'"XF551" fu messa in commercio non solo era la prima unità a dischi prodotta da Atari capace di leggere i dischi a Doppia densità ma anche quelli a doppia faccia. Per supportare queste nuove caratteristiche fu messa in commercio una nuova versione del sistema, il DOS XE (conosciuto anche con il nome in codice di ADOS, "Advanced DOS"). Il nuovo formato proprietario dei file lo rendeva però incompatibile con i precedenti DOS 2.0 e 2.5, per cui fu sviluppata un'utility per poterli leggere. Il DOS XE supportava anche la marcatura temporale dei file, le cartelle secondarie e le maggiori velocità dell'unità XF551.
Il DOS XE supportava solo i computer Atari XL/XE e non funzionava con i vecchi modelli 400/800. Fu anche l'ultimo DOS pubblicato da Atari per i suoi computer ad 8 bit.

## DOS di altre società

Nel corso degli anni furono messi in commercio anche DOS non Atari, distribuiti dai produttori delle unità a dischi, da programmatori che avevano modificato i DOS originali oppure da utenti che avevano scritto la propria versione di sistema operativo. Spesso questi DOS potevano leggere dischi con densità maggiori e potevano impostare le unità per leggere i dischi più velocemente (con tecniche tipo Warp Speed e Ultra-Speed). Molti dei DOS (eccetto lo SpartaDOS) erano compatibili con il DOS 2.0.

### SmartDOS

Lo SmartDOS era un sistema compatibile con il DOS 2.0 e basato su un'interfaccia a menu. Fu anche uno dei primi DOS non Atari a supportare i dischi a doppia densità. Lo SmartDOS includeva diverse migliorie tra cui la copia e la verifica dei settori, il controllo della velocità e la riconfigurazione dell'unità a dischi. Fu scritto da John Chenoweth e Ron Bieber.

### OS/A+ e DOS XL

Questi DOS furono prodotti da Optimized Systems Software. Erano compatibili con l'Atari DOS 2.0 e supportavano i dischi a doppia densità. A differenza di molti degli altri DOS, l'OS/A+ era usato solo tramite riga di comando e non usava un'interfaccia a menu, che invece offriva il DOS XL.

### Super DOS

Questo DOS poteva leggere tutti i tipi di dischi, a singola, doppia e densità estesa ed a singola e doppia faccia, e faceva uso di tutte le tecniche di velocizzazione delle operazioni di lettura dei dati sviluppate dai vari produttori di unità a dischi.

### TopDOS

Il TopDOS, pubblicato da Eclipse Software, era un sistema con interfaccia a menu con delle caratteristiche avanzate come l'ordinamento dei file durante l'elenco del contenuto delle cartelle o la compressione delle cartelle stesse. Poteva inoltre cancellare i file e recuperarli dopo la cancellazione. Alcune di queste caratteristiche erano disponibili solo utilizzando il formato proprietario TOPDOS.

### MyDOS

Il MyDOS, pubblicato da Wordmark System, supportava le cartelle secondarie ed i dischi rigidi. Fu distribuito con il codice sorgente.

### SpartaDOS

Questo DOS usava un'interfaccia a riga di comando e non era compatibile con l'Atari DOS 2.0 anche se ne poteva leggere i dischi. Supportava le cartelle secondarie ed i dischi rigidi dato che era capace di gestire dei file system grandi fino a 16 MB. Includeva la capacità di creare dei semplici file batch.

#### SpartaDOS X

Versione più potente dello SpartaDOS, lo SpartaDOS X ricordava abbastanza l'MS-DOS nell'aspetto e nelle funzionalità. Era installato all'interno di una ROM distribuita su una cartuccia.
Fu sviluppato da Mike Gustafson di ICD dalla versione 4.17 (1988) alla 4.21 (1989); la 4.22 fu distribuita da FTe nel 1995 (scritta da Mike Homhan); dal 2006 DLT Software aggiorna un progetto denominato SDX che è l'evoluzione del vecchio SpartaDOS X. L'ultima versione dell'SDX disponibile è la 4.42 (al 2010).

### BW-DOS

Il BW-DOS era un DOS compatibile con lo SpartaDOS. L'ultima versione, la 1.30, fu distribuita nel dicembre del 1995. Rispetto allo SpartaDOS, occupava meno memoria e non usava la RAM posta sotto alla ROM degli XL/XE perciò poteva essere usato anche sui vecchi modelli 400/800.
Scritto da Jiří Bernasek, il BW-DOS era freeware.

### DOS 2.6

Alcuni hacker della comunità Atari modificarono il DOS 2.0 per aggiungere alcune caratteristiche, tra cui la possibilità di utilizzare i dischi a doppia densità mantenendo però l'operatività del DOS 2.0.

### Real.Dos

Nato come SpartaDOS 3.x, ne fu cambiato il nome in Real.DOS per motivi legali dato che, come si evince dal nome originale, il Real.DOS/SpartaDOS 3.x era compatibile con lo SpartaDOS. Fu scritto da Stephen J. Carden e Ken Ames.

## Formati dei dischi

Esistevano diversi formati dei dischi Atari. Il disco standard era a singola faccia, singola densità ed aveva 720 settori divisi in 40 tracce. Dopo la formattazione con il DOS 2.x o compatibile, restavano liberi 707 settori: di ogni settore da 128 byte venivano usati gli ultimi 3 per immagazzinare informazioni relative ai byte utilizzati, al numero del file, al successivo settore da leggere, lasciando così 125 byte per i dati. Altri formati avevano differenti capacità:
* Singola faccia, singola densità: 40 tracce, 18 settori per traccia, 128 byte per settore. Capacità: 90 kB.
* Singola faccia, doppia densità: 40 tracce, 18 settori per traccia, 256 byte per settore. Capacità: 180 kB.
* Singola faccia, capacità estesa: 40 tracce, 26 settori per traccia, 128 byte per settore. Capacità: 127 kB.
* Doppia faccia, doppia densità: 80 tracce (40 per lato), 18 settori per traccia, 256 byte per settore. Capacità: 360 kB.