Menu

La Progettazione

La struttura dell'Apple DOS è focalizzata su due layer fondamentali:

  • Bottom layer (realizzato da Wozniak), contenete le routine di lettura/scrittura direttamente legate all'hardware;
  • API layer (realizzato da Wigginton), l'interfaccia di utilizzo ad alto livello delle Routine del Bottom Layer.

Nel loro insieme i due layer vengono indicati come RWTS (Read/Write Track/Sector), contemplando le seguenti operazioni:

  • SEEK (spostamento della testina), READ (lettura di un settore del disco), WRITE (scrittura su un settore del disco) e FORMAT (cancellazione);

Scritto il CORE del sistema operativo, il passo successivo è quello di renderlo interfacciabile con il BASIC.
Qui entra in gioco Paul Laughton, realizzando le Main DOS Routines che permettono al BASIC di interfacciarsi con il DOS, intercettando i comandi provenienti direttamente dal prompt dei comandi oppure presenti nei programmi BASIC.

Tra i comandi resi disponibili si annoverano:

  • BLOAD, BSAVE e BRUN per caricare, salvare ed eseguire file binari oppure eseguire i corrispondenti LOAD, RUN e SAVE per i programmi in BASIC;
  • EXEC per eseguire file batch composti da comandi BASIC e/o DOS.

 

paul laughton

Paul Laughton


Sempre Laughton realizza il File Manager, una sorta di API basata su RWTS per aprire, chiudere, leggere, scrivere, cancellare, bloccare/sbloccare, rinominare e verificare l'integrità strutturale dei file.

E' interessante evidenziare che Laughton ritiene che il vero genio dietro l'Apple DOS non sia Wozniak ma Wigginton:

The real genius behind the user interface specifications was Randy Wigginton (who was 19 at the time). Randy was the guy who had adapted Microsoft's BASIC to the Apple II. It was Randy who decided that the way to interface to the DOS was to do it from BASIC – rather than via a command line thing like CP/M. It was also Randy who figured out 'how' to make it work – intercepting the BASIC input stream, the various flags that would show if BASIC was running, etc. With these details provided by Randy, I designed the next layer of DOS – the User Interface. (It turns out this layer was much bigger than we had anticipated. This led to the first extension (of many) contracts between Shepardson and Apple for the DOS.)