Apple II DOS: il codice sorgente è disponibile al pubblico dopo 35 anni (e svela una storia molto interessante)
E’ uno dei primi sistemi operativi per personal computer, è stato il punto di partenza per tantissimi progetti e ha aiutato lo sviluppo di Apple e dell’Apple II.
Oggi, dopo 35 anni, il codice sorgente del primo DOS per Apple II è disponibile al pubblico, sul sito del Computer History Museum insieme ad numerosa documentazione che ne racconta la storia, quantomeno curiosa.
La storia.
Una storia interessante e legata a quella di Apple II, Steve Jobs e Steve Wozniak e che si sviluppa in pochissimo tempo nella primavera del 1978.
Proprio Woz, forte del successo dell’Apple I, aveva costruito un disk controller per drive da 5 1/4″ (Apple I non lo prevedeva) con un (geniale) circuito di soli otto integrati.
Tuttavia, Apple nel 1978 contava 15 dipendenti e, nè Wozniak nè Jobs, nè tantomeno Randy Wigginton, che lavorava con Woz, avevano la possibilità di sviluppare un sistema operativo degno di questo nome.
La versione principale del software era estremamente rudimentale e funzionò solo per la dimostrazione al CES di Gennaio 1978.
Entra in gioco Paul Laughton, programmatore per la Shepardson Microsystems, una società che aveva la sede a Cupertino nello stesso compound di Apple.
Fonte: ComputerHistory.org
Con un contratto ‘lampo‘, stilato dallo stesso Jobs il 10 Aprile, Laughton fu ingaggiato per scrivere il sistema operativo in sette settimane per un totale di $13.000 con data di consegna ferrea: 15 Maggio 1978.
Apple DOS Versione 3.1 venne rilasciato a Giugno 1978.
I dettagli.
E’ lo stesso Laughton a raccontare che, già lavorava per Apple, praticamente l’ufficio della porta accanto.
Nel 1978 stava scrivendo il BASIC per l’Apple Annie, un successore dell’Apple II che non venne mai rilasciato, quando, parlando con Wozniak del disk drive e del relativo controller privo di software, si propose di scrivere il DOS.
Il contratto fu decisamente stringente ma Laughton riuscì a dare al controller di Wozniak, un oggetto che ancora oggi suscita ammirazione per l’incredibile approccio di progettazione, un sistema operativo decisamente migliore dei tentativi precedenti.
Laughton racconta anche che lo sviluppo avvenne tramite schede perforate (!): l’Apple II non aveva, allora, un Assembler in grado di scrivere programmi per se stesso…
Lo sviluppo del software avveniva su schede perforate che uscivano da un sistema National Semiconductor IMP-16 e che venivano lette su un Apple II tramite un’interfaccia costruita dallo stesso Wozniak.
Laughton svela anche un piccolo mistero: il primo DOS di Apple prese il nome di 3.0 proprio perchè era stata mantenuta la numerazione progressiva dello sviluppo e non era stata resettata ad un più normale 1.0.
Laughton, dopo l’esperienza con Appke, scrisse anche una parte del BASIC per l’Atari 800, ma questa è un’altra storia…
Questi i documenti condivisi, di valore storico, che includono anche la documentazione con note scritte a mano dallo sviluppatore, i contratti tra Apple e Shepardson e il report di un meeting con Apple per risolvere/discutere alcuni bug:
Apple_DOS_2June1978.pdf | Scanned lineprinter listing from June 2, 1978 |
Apple_DOS_6Oct1978.pdf | Scanned lineprinter listing from October 6, 1978 |
Apple_DOS_6Oct1978_retyped.docx | Retyped source code of the October 6th version (This has not yet been assembled, and there may be some typographical errors.) |
Apple_DOS_RW_30May1978.txt | The source code of the low-level read/write routines by Steve Wozniak and Randy Wigginton. |
Apple_DOS_tech_docs.pdf | Various technical specifications and designs relating to the Apple II disk drive |
Apple_DOS_contracts.pdf | Various contracts and addenda between Apple and Shepardson Microsystems |
meeting_minutes_5Oct1978.pdf | Minutes of a meeting between Apple and Shepardson Microsystem about bugs and enhancements. (Unfortunately we don’t have the list that is referred to.) |
Per chi non volesse aspettare, ecco l’emulatore in Javascript di un Apple II con il relativo DOS.
[Fonti: Computer History Museum, ScullinSteel, Laughton.com]