1000BiT Homepage
WHERE OLD COMPUTERS ARE WELCOME





× 1000BiT Logo

× Logo

Tim Paterson, biografia.

Al liceo Paterson segue un semestre di Fortran, ma e' all'Universita' di Seattle che Paterson incontra per la prima volta il personal computer. All'inizio del 1976, il suo compagno di stanza compra un IMSAI 8080.

"Lui mise i contanti, Io lo avevo scelto e lo programmavo" ricorda Paterson. "Aveva 4K di memoria, basato su 8080 e senza dispositivi di I/O. Si potetvano giocare alcuni giochini stupidi tipo 'caccia al bit', che era divertente per soli quindici minuti alla volta."

Piu' tardi quell'anno, Paterson trova lavoro come tecnico in un negozio di computer nell'area di Seattle. Qui egli fu testimone di quei giorni quando per possedere un computer bisognava comprare i componenti ed assemblarli da soli. Erano i giorni quando lui diceva: "La vita inizia con un disk drive." Con la sua cultura universitaria e l'esperienza al negozio di computer, Paterson impara in fretta. inizia cosi' a divertirsi disegnandosi le proprie schede periferiche.

"Incontrai Rod Brock della Seattle Computer quando veniva periodicamente nel nostro negozio. Vendevamo le sue schede. Ogni tanto mi chiedeva delle consulenze per la Seattle Computer. Avevano dei problemi con una scheda da 16K per lo S-100, Rod Brock mi assunse nel giugno del 1978, a 50 dollari il giorno, per far funzionare questa scheda. Lasciai quindi il negozio di computer." Dopo alcune settimane come consulente, divenne un impiegato salariato della Seattle Computer.

Nella sua classe, Paterson si interessava sempre di piu' nei sistemi operativi, come pure nell'hardware e nei compilatori. Dopo la laurea nel giugno del 1978, segue altri corsi in modo discontinuo per un altro anno, lentamente perde interesse negli studi. "Penso che fossero troppo teorici e non era quello di cui avevo bisogno.".

Alla Seattle Computer egli lavora inizialmente su diversi progetti relativi al S-100, che lo conducono a progettare nuove schede. Le cose cambiarono quando segue un seminario sull'Intel 8086 alla fine del luglio 1978.

"Mi ero guadagnato la fiducia di Rod Brock e mi permettevo di fare alcuni suggerimenti. Pensavo che fare qualcosa con l'8086 sarebbe stato bello e Brock diede il suo benestare. Il primo progetto di una scheda basata sull'8086 era pronta per la fine di gennaio. Avevamo un prototipo a maggio del 1979. Ne costruimmo tre, ma nessuna funzionante. C'erano errori sia nella disposizione che nel progetto, ma alla fine ottenemmo due prototipi funzionanti.

Seattle Computer si trastulla con l'idea di costruire un proprio computer, percio' realizza il progetto della scheda CPU. Voleva diversificare la produzione, ma non aveva un chiaro piano di sviluppo. Nel momento in cui un prototipo della scheda CPU con l'8086 funziona, Seattle Computer viene avvicinata dalla Digital Research di Kildall per vedere se si  poteva far girare il loro CP/M. Anche Microsoft, che si era trasferita nell'area di Seattle nel gennaio 1979, vuole vedere se alcuni dei loro programmi funzionano. Alla fine del maggio 1979, Paterson va in Microsoft per lavorare con Bob O'Rear. In circa una settimana Paterson riesce a portare tutti i 32K del basic Microsoft sull'8086.

"Microsoft aveva gia' sviluppato alcune buone utility, come un cross-assembler da usarsi con il PDP-10. C'erano alcuni bug, ma la CPU funzionava ed i tools di sviluippo funzionavano.", dice Paterson.

Alla National Computer Conference del 1979 a New York, la Seattle Computer e' ospite di Microsoft e Lifeboat. Esponevano il Basic-86, che poi era l'unico software per l'8086. La Seattle Computer inizia a distribuirlo con la propria scheda CPU, principalmente agli sviluppatori di software. Nel 1980, Patersono inizia a lavorare ad un sistema operativo.

"Avevamo bisogno di un sistema operativo per il nostro computer e io volevo farne uno, cosi' iniziai a lavorarci. Stavo aspettando che Digital uscisse col suo CP/M-86. Pensavo che l'avrebbero fatto molto presto. Avevo sempre voluto scrivere un mio sistema operativo. Avevo sempre odiato il CP/M; e pensavo che potevo scriverlo molto meglio."

Nella primavera del 1980, Paterson inizia a lavorare su quello che poi sarebbe diventato l'MS-DOS. Verso luglio, aveva finito circa il 50 per cento del sistema operativo e l'aveva chiamato QDOS 0.10 (Quick and Dirty DOS). trovo' subito un bug e cosi' usci subito il QDOS 0.11.

"Il primo passo era quello di segnare cio' che il CP/M-80 faceva. Il secondo passo era quello di progettare un file-system veloce ed efficiente."

Una delle differenze maggiori tra l'MS_DOS ed il CP/M-86, quando finalmente appari', era la gestione dei file. Il CP/M offre una finestra da 16K o 32k, con l'MS-DOS tutto il file e' disponibile. Paterson crea la gestione dei file di QDOS usando lo stesso metodo trovato nel Basic-86.

"Io sono per la programmazione bottom-up. Sai che avrai bisogno di alcune funzioni piu' tardi nel programma, io realizzavo i tools con i quali fare lo strato successivo. Quando programmi top-down, e' una raffinazione a passi successivi dalle funzioni di alto livello a quelle piu' basse. Con il mio metodo non c'e' molta diagramamzione. La programmazione bottom-up e' alla fine giustificata, non richiede molta attenzione."

Per la fine dell'agosto 1980, il QDOS 0.11 funziona ed e' distribuito, ma non fu per molto, e ne furono distribuite solo poche copie. Per un aggiornamento, Paterson lavora duro per includere tutte le necessarie funzionalita' di un sistema operativo completo.

"C'era un assembler, resisdente nel sistema operativo, ed un debug, ma non un editor. Scrissi il piu' veloce line editor che potei immaginare, veloce per il tempo in cui lo realizzai, due settimane. Fui sbalordito" dice Paterson "quando senti che l'IBM lo stava usando e non lo avevano buttato fuori della finestra."

Nel dicembre 1980, Paterson e la societa' uscirono con l'86-DOS 0.33, che ha dei significativi miglioramenti rispetto al QDOS. 

"L'86-DOS rifletteva tutto quanto avevo imparato fino ad allora. L'unica cosa che non aveva era la dimesione variabile dei settori. L'assembler, originariamente scritto per lo Z80, fu realizzato piu' veloce. Facemmo anche alcune modifiche alle chiamate del sistema, era un programma discretamente pulito quando fu rilasciato."

Alla fine del 1980, Seattle Computer vende l'86-DOS agli OEM (Original Equipment Manufacterers) ed altre societa' come la Microsoft.

"Microsoft ci pagava un fisso. Non era una royalty per copia, ma per OEM. In una parte del contratto si diceva che non potevamo chiedere a chi lo vendevano o prevedevano di venderlo."

All'inizio del 1981 il Personal Computer IBM non era ancora stato annunciato, ma giravano voci sul pc di Big Blue.

"Tutti noi avevamo il sospetto che era l'IBM la societa' con cui Microsoft stava trattando, ma non ne potevamo essere sicuri."

Intorno all'aprile 1981, mentre sta facendo alcune modifiche al 86-DOS, riguardanti alcune chiamate di sistema e la gestione degli errori per gli hard disk, Paterson decide di lasciare la Seattle Computer. In maggio va alla Microsoft per lavorare a tempo pieno sulla versione PC-DOS dell'86-DOS.

"Il primo giorno di lavoro andai alla porta e 'Ehi! E' l'IBM'" racconta Paterson con un sorriso furbetto. "Ho lavorato per Microsoft ben undici mesi. In maggio, giugno e luglio lavorai su cose che non avevo completamente finito, raffinando il PC-DOS."

Questo era l'inizo di un uragano di undici mesi. Praticamente ogni giorno, Paterson spediva qualcosa a Boca Raton per l'approvazione di IBM, che istantaneamente rispediva commenti, modifiche ed altri problemi.

"Loro erano meticolosi. Non appena mandavo un disco via Delta Dash, IBM mi chiamava al telefono non appena arrivava." Paterson si ferma a ricordare. Sta ricordando una richiesta in contrasto con la sua visione del progetto.

"L'IBM voleva il prompt del CP/M. Questo mi fece arrabbiare." Ma quando l'IBM chiede, e ti accorgi di essere solo un programmatore, fai quello che ti viene richiesto e anche Paterson lo fece. Egli finisce il PC-DOS in luglio, un mese prima che il pc fosse ufficialmente annunciato. A questo punto l'86-DOS era diventato l'MS-DOS.

"Microsoft voleva farlo proprio, pago' e lo prese dalla Seattle Computer. Entrambe le societa' realizzarono un buon affare, Seattle Computer non poteva competere con il marketing di Microsoft. Cosi' il 27 luglio 1981, il sistema operativo divenne di proprieta' di Microsoft. Secondo l'accordo stipulato, Seattle Computer poteva ancora vedere il codice sorgente, ma era uno dei tanti licenziatari. Penso che enatrambe le societa' fossero molto contente. L'accordo fu stipulato solo poche settimane prima che il pc fosse annunciato. Microsoft era abbastanza fiduciosa.Venderlo fu la cosa giusta. Seattle Computer poteva farne a meno, ed il momento era appropriato. Fui invitato a partecipare al meeting tra Rod Brock e Paul Allen. Ne fui lusingato."

Dopo la versione iniziale del PC-DOS, Paterson si occupa di altri compiti in Microsoft. Lavora sulla versione del compilatore Basic per l'8086. Paterson e' come molti altri programmatori. Certo gli piace l'eleganza. la semplicita' e gli piace fare cose che siano semplici da usare per l'utente. Ma la cosa che piu' di tutte lo affascina e' la veoclita'.

"Sono il freak della velocita', specialmente nelle routine matematiche. Se c'e' un loop che devi ripetere cinque volte, io semplicemente riscrivero' quella linea quel numero di volte. L'8086 esegue i loop molto lentamente."

Paterson, mentre era alla Microsoft, fa delle consulenze per la Seattle Computer riguardanti alcune schede RAM per il pc di IBM. Non appena ha finito, sente che anche Microsoft aveva un progetto simile.

"Era una bella esperienza progettare una scheda per i miei concorrenti. Microsoft non ne fu molto sconvolta. Non mi tagliarono le dita. Nel marzo 1982, la scheda della Seattle era diventata abbastanza popolare. Era uscita mesi prima che chiunque altro riuscisse a produrre una scheda multifunzione."

Verso la fine del 1981, Paterson e Microsoft sentono che IBM stava cercando l'aggiornamento a 1.1. A novembre, egli diventa product manager dell'MS-DOS. Lui ed il suo gruppo consegnano la versione iniziale della 1.1 alla fine dell'anno, qualche giorno in anticipo. Poi viene la tempesta da Boca Raton.

"L'intero processo mi faceva impazzire. Un mucchio di errori sfuggivano e l'IBM mi chiamava una volta al giorno. Stavo diventando pazzo."

Nel marzo 1982, dopo due mesi di avanti ed indietro di Paterson, IBM accetta la 1.1. Paterson trascorre due settimane di quel mese a progettare la 2.0. Poi, il primo d'aprile, all'improvviso lascia la Microsoft. (Mark Zbikowski diventa il responsabile del prodotto e lo porta alla versione 2.0, con cui Paterson ebbe poco a che fare.) Non se ne va sbattendo la porta, Paterson lascia la Microsoft serenamente e torna a lavorare per la Seattle Computer, per occuparsi, all'inizio, del controller per dischi.

Seattle Computer sta andando abbastanza bene, Paterson possiede il 10 per cento della societa' dal 1979 ed era stato un dirigente e membro del consiglio. Raggiungere questa posizione in Microsoft e' molto improbabile.

"Non era che ci fosse qualcosa che non andava in Microsoft, ma cio' che la Seattle aveva da offire. Alla Seattle ero il direttore dell'ingegneria. Ehi! Questo era veramente motivante. Fu su queste basi che tornai indietro. Ero un po' irritato con Micorsoft, perche' principalemente avevo a che fare con IBM. Microsoft riconosce il talento. Se qualcuno si lamenta, cercano di spostarlo da una altra parte."

Paterson invece si sposta da solo, esce dalla porta principale. In questo momento lui e' la Seattle Computer sono all'avanguardia. Hanno nuovi prodotti per gli S-100 e presto avranno nuove cose per il pc IBM.

"Stavamo lavorando sulle nostre schede di espansione, per fargli fare quattro funzioni anziche' solo due. E stavamo lavorando anche sul nostro Gazelle. Avevo lo stimolo di fare un altro sistema operativo, per vedere se, in queste circostanze, potevo farne uno migliore. Non pensavo di farlo, almeno, non in Seattle Computer, perche' non ne avevo il tempo."

Tim Paterson, non riuscira' mai a costituire una propria societa', che in definitiva era il suo sogno nel cassetto, pero' e' un abile programmatore ed e'  giusto ricordarlo per colui che scrisse l'MS-DOS.