GEOS e il suo creatore

L'articolo è tratto dalla rivista Commodore Gazette Anno I n. 4 (ottobre/novembre 1986) pp. 54-58, fonte: Museo-computer

[Brian Dougherty è noto anche agli storici dei videogiochi come sviluppatore per Intellivision: ha iniziato con la prima versione di Space Spartans, per poi co-fondare Imagic e creare per quest'ultima Swords and Serpents.]

GEOS e il suo creatore


Intervista in esclusiva a Brian Dougherty, presidente della Berkeley Softworks.

Di Matthew Leeds

Il sistema operativo GEOS, prodotto dalla Berkeley Softworks, trasforma un 64 o un 128 in un computer totalmente rinnovato, aprendo nuove prospettive operative. GEOS viene fornito insieme al nuovo 64C, ma può anche essere acquistato separatamente.

Recentemente ho intervistato Brian Dougherty, presidente della Berkeley Softworks, per parlare della nuova versione di GEOS, delle nuove applicazioni dedicate a questo sistema operativo e dei progetti per il futuro.

Quali sono le novità più rilevanti introdotte in GEOS rispetto alla prima versione (1.0) ?

La modifica più importante è rappresentata dal manuale. Esso è notevolmente migliorato, grazie soprattutto ai consigli dei nostri stessi clienti. Durante la stesura della prima versione del manuale eravamo convinti che tutti avessero già avuto a che fare con qualche interfaccia controllata da icone. Abbiamo invece capito che non è sempre così.

In che modo coloro che hanno acquistato la versione 1.0 possono trarre vantaggio dai miglioramenti di quella attuale?

A chiunque abbia comprato la versione 1.0 e abbia spedito il tagliando di garanzia è stata inviata gratuitamente la versione 1.2. Molto probabilmente con la versione 1.3 saremo costretti ad aumentare il prezzo di vendita di GEOS: in questo caso gli aggiornamenti verranno forniti solo dietro pagamento della differenza. Attualmente pensiamo che questa si aggirerà intorno ai dieci dollari.

Chi ha acquistato il programma direttamente dalla Berkeley, o lo ha avuto insieme al nuovo 64C, potrà usufruire degli aggiornamenti di GEOS, a condizione che abbia spedito la cedola di garanzia.

Pur migliorando GEOS adotteremo sempre gli stessi standard per tutte le nuove versioni del programma. Infatti qualsiasi dato creato con la versione 1.0 potrà essere utilizzato con la 1.2. Non consigliamo, però, di sperimentare la compatibilità in senso inverso, poiché le nuove versioni potranno disporre di funzioni che i precedenti programmi non sono in grado di comprendere.

Voi gestite una helpline per gli utenti di GEOS, pensate che il progressivo aumentare dei clienti comporterà problemi di «sovraccarico»?

Le nostre linee dedicate all'assistenza non sono più occupate a tempo pieno: riteniamo che ciò derivi dal fatto che la V. 1.0. aveva bisogno di più assistenza della nuova V. 1.2. I problemi con i printer driver (vedi le «definizioni» a fine articolo, n.d.r.) avevano determinato un grande volume di richieste di spiegazioni.

Il manuale fornito con la versione 1.2, come ho già detto, è inoltre molto migliorato, in parte proprio grazie alle domande che ci sono state rivolte nella helpline. In ogni caso, se dovessimo accorgerci che il personale di assistenza è insufficiente, cercheremo di provvedere, fermo restando il fatto che il nuovo e organico manuale resta il principale sistema di assistenza.

Quale tipo di garanzia offrite ai possessori di disk drive compatibili non Commodore?

Ci possono essere altri drive in grado di funzionare con il nostro programma, ma non abbiamo mai effettuato prove per verificarlo. L'unico modo per scoprirlo è che gli eventuali possessori di queste periferiche ci forniscano direttamente informazioni in merito. Per ora ci è stato solo detto che GEOS funziona con l'Indus GT.

Aumenteremo comunque le capacità di GEOS rendendolo compatibile con il 1581, il nuovo drive da 3 pollici e 1/2.

La copertina della confezione di GEOS
Lei ha descritto GEOS come un sistema operativo, qual è la differenza fra un sistema operativo e un pacchetto integrato?

La maggior parte degli attuali possessori del 64 pensano che il BASIC sia il sistema operativo della macchina. Appena si accende l'elaboratore si è in BASIC. In realtà esso non è un sistema operativo. Quando abbiamo deciso di sviluppare GEOS abbiamo scelto di costruire solo una sistema operativo e non avevamo ancora definito quali sarebbero stati i programmi applicativi.

I pacchetti integrati possono gestire le informazioni solo su basi limitate e solo per le applicazioni contenute nel package. Un sistema operativo invece crea un'intelaiatura che consente ad altri programmatori di sviluppare applicazioni in grado di gestire dei dati. Ciò sarà ancora più evidente quando presenteremo uno spreadsheet e un database che gestiscono dati usando il sistema operativo GEOS.

In che modo comparerebbe GEOS ad altri simili sistemi operativi come, per esempio, le finestre nell'MS-DOS?

Le finestre sono costruite con l'MS-DOS. Infatti è possibile dividere l'MS-DOS nelle varie primitives (vedi le «definizioni» a fine articolo, n.d.r.) che gestiscono disk drive, stampanti, input da tastiera... L'interfaccia utente gestisce gli input provenienti dall'esterno analizzando e inviando i singoli comandi alle primitives. Le finestre sono fondamentalmente una nuova interfaccia-utente che utilizza queste primitives.

Dal momento che non esiste l'equivalente dell'MS-DOS sul 64, abbiamo creato un nuovo Kernal delle primitives di GEOS. Infatti il programma Desktop è simile all'applicazione delle finestre nel sistema MS-DOS.

A un certo punto eravamo in procinto di creare due interfacce-utente: il Desktop e una interfaccia a linea di comando, attraverso la quale l'utente fosse in grado di inserire i comandi direttamente. In effetti nulla impedisce a qualcun altro di crearne una ora. L'adozione di un'interfaccia a linea di comando presenta infatti numerosi vantaggi: permette, per esempio, di ottenere wildcard difficilmente realizzabili in un'interfaccia grafica.

Questo è il primo sistema operativo che sia mai stato protetto. Perché proteggere GEOS?

La protezione è concepita per fornire ai programmatori una giustificazione del fatto che non è stata protetta alcuna applicazione. Infatti, dal momento che per far girare le applicazioni è necessaria la copia originale del sistema operativo col quale sono state installate su disco, non si rende più necessaria la protezione delle applicazioni stesse e al medesimo tempo ciò permette di realizzare tutte le copie per uso personale che si desiderino.

Fino a che il pubblico continuerà a scambiare software copiato, siamo sicuri che il bisogno di proteggere i programmi continuerà a esistere. Troppa gente vede la pirateria come se fosse uno scambio di lettere pensando: «qualcun altro prenderà la copia dopo di me, d'altra parte si tratta solo di un pezzo di carta, di una copia del programma».

Abbiamo tentato di disegnare un sistema «trasparente» per l'utente. Esso permette di fare copie delle proprie applicazioni e del sistema operativo di GEOS. A una persona onesta tutto questo non dovrebbe arrecare alcun disturbo.

Ho sentito che sostenete che l'utilizzo del processore 6502 sui personal computer sia perfetto e, in particolare, sia eccezionale per questo tipo di applicazioni. Perché?

Il microprocessore 6502 è un chip a struttura RISC (Reduced Instruction Set Computing) molto all'avanguardia [in realtà il 6502 non è da considerarsi un vero e proprio RISC, sebbene ne anticipi alcune caratteristiche]. Non tenta di implementare istruzioni strabilianti, il suo design è piuttosto semplice e pulito ed esegue le proprie istruzioni in pochi cicli. Il numero medio di cicli che esso impiega per completare un'istruzione è da 3 a 8 volte minore di quelli necessari a un 8088 o a un 68000.

Bisogna comunque ricordare che attualmente gira più lentamente di questi chip e che solo talvolta può completare i propri compiti più velocemente. Risulta che in media l'80% di tutti i circuiti è impegnato soltanto nel trasferimento dei byte: il 6502 non esegue calcoli complicati e inutili.

Il word processing ne è un esempio perfetto. In questo caso nella maggior parte dei personal computer addirittura il 95% di tutte le funzioni del microprocessore sono devolute esclusivamente a trasferire byte. I processori complessi che impiegano molti cicli per effettuare qualsiasi istruzione perdono molto tempo in queste operazioni. Da questo punto di vista, invece, il 6502 è molto efficiente.

La struttura RISC è anche dotata di molti registri, dal momento che le operazioni basate su di essi sono molto veloci: il 6502 gestisce la pagina zero nello stesso modo. Nella stesura del nostro programma abbiamo largamente utilizzato la pagina zero, creando degli pseudo registri al di fuori dei registri stessi. Abbiamo numerato queste locazioni di memoria e creato un registro di 256 byte al di fuori della pagina zero.

Un'altra caratteristica molto efficiente del 6502 è la gestione della grafica. Nella prima fase di un ciclo il processore non accede a nulla, ed è solo il chip grafico a gestire le funzioni richieste. Per la maggior parte del tempo il processore e il chip grafico accedono alla stessa memoria in modo trasparente. Se fosse possibile disporre di un 6502 da 4 MHz, potremmo raggiungere la velocità di un 68000 da 8 MHz.

Al momento commercializzate la versione 1.2, quella inclusa col 64C. Quali sono le novità della 1.2?

Con le versioni precedenti diverse stampanti avevano dei problemi. Alcune si bloccavano dopo la stampa. D'altra parte se si pensa a tutte le possibili combinazioni di stampanti e interfacce, ci si rende conto che è impossibile provarle tutte.

Al momento abbiamo inserito circa 30 printer driver, supportando tutte le stampanti che ci sono state segnalate. Abbiamo anche migliorato gli stessi printer driver in modo che la stampa sia più veloce. Nella prima versione di GEOS c'erano cinque printer driver che supportavano circa 20 stampanti, ora ce ne sono undici che ne supportano circa 30. I nuovi printer driver sono in grado di funzionare con la JX-80, la Okimate 10, la MX-80, le stampanti Blue Chip e la ImageWriter II.

Abbiamo anche aggiunto degli input driver: dal Desktop è ora possibile scegliere quale device usare per l'input. Attualmente l'unica scelta possibile è il joystick, ma includeremo presto un driver per il nuovo mouse Commodore. Stiamo inoltre pensando di realizzare dei driver per altre periferiche quali: Koala Pad, light pen...

In geoWrite sono state velocizzate molte funzioni. Le fonti-carattere sono gestite in modo dinamico: ciò significa che al posto di dover richiamare ogni volta la fonte da disco, il programma ne tiene già in memoria quante può.

Il Photomanager ora gestisce più album, e questo permette di organizzare un album per ogni gruppo di immagini che, secondo logica, dovrebbero rimanere insieme; anche il supporto per il secondo drive è stato cambiato, così da permettere di tenere i dati «pronti per l'uso» sul secondo drive, mentre si lavora sul primo.

Dalla versione 1.2 alla 2.0, quali sono le modifiche presenti in geoWrite?

GeoWrite 2.0 è dotato di tutto ciò che si potrebbe desiderare da un word processor. Abbiamo aggiunto funzioni che sono state richieste dagli utenti al nostro personale di assistenza, come cut & paste, search/replace, il mantenimento di operatività dei tasti cursore, la giustificazione, la centratura e la possibilità di realizzare sopra e sottolineature. Altre funzioni addizionali includono la numerazione automatica delle pagine e la possibilità di inserire figure grafiche.

Sono stati introdotti misuratori multipli che permettono di cambiare in qualsiasi momento il formato del testo. Gli spazi fra le linee possono ora essere impostati a 1, 1.5 o 2 linee. Gli stili di stampa, i grassetti e i corsivi possono ora essere cambiati mentre si sta scrivendo. Il movimento all'interno del testo è diventato più semplice, grazie all'aggiunta di comandi che permettono di spostarsi avanti o indietro per parola, linea o paragrafo.

La novità più importante, comunque, consiste nel fatto che abbiamo aggiunto abbreviazioni per quasi tutti i comandi. Oltre a ogni comando sono indicati nei menu due tasti da premere per impostarlo più velocemente.

Avete sviluppato anche altri prodotti. Cos'è il Desk Pack?

Il Desk Pack è una collezione di accessori del Desktop che possono essere utilizzati per piccole applicazioni o per accrescere le capacità operative delle altre procedure. Il nostro primo Desk Pack, per esempio, include il Graphic Grabber, uno strumento atto a convertire schermi grafici da Newsroom, Print Shop e Print Master nel formato di GEOS. Ciò permette di utilizzare con GEOS la grafica di quei programmi o di salvarla negli album.

Il calendario visualizza un mese alla volta, insieme allo spazio necessario a immagazzinare appunti sulle cose da ricordare. È possibile spostarsi avanti o indietro nel calendario pagina per pagina e i giorni nei quali sono stati scritti degli appunti sono segnalati da un asterisco. Si può anche richiedere una lista di tutti i giorni nei quali sono inserite delle note.

È presente un Icon Editor, che permette di disegnare le proprie icone per programmi in BASIC e in L.M., oppure di visualizzare quelle già impostate. Sul disco è presente anche un programma per il gioco del Black Jack.

Nel Desk Pack è incluso l'input driver per il nuovo mouse Commodore. Probabilmente realizzeremo i printer driver per le nuove stampanti Star e per la ImageWriter della Apple. È anche disponibile un disco con 20 nuove fonti di scrittura.

Quali sono i vostri progetti riguardo a eventuali nuove applicazioni per GEOS?

Stiamo già lavorando su uno spreadsheet [GeoCalc] che possiederà molte delle caratteristiche di funzionalità di Excel (Macintosh), su un database [GeoFile] e su alcuni programmi di grafica. Questi programmi saranno in grado di scambiare fra loro i dati che hanno generato. Sarà così possibile realizzare dei diagrammi utilizzando i dati del database e i grafici dello spreadsheet. Non mancherà l'interattività tra geoWrite e il database.

Stiamo anche sviluppando un desktop publishing program [GeoPublish]. GeoWrite sarà presto predisposto per trasferire dati in un programma di impaginazione e speriamo di poter aggiungere un driver che permetterà di utilizzare la stampante Apple LaserWriter.

Non ci aspettiamo certo che chiunque possegga un computer Commodore acquisti una stampante LaserWriter (il suo prezzo è infatti elevato, n.d.r.), ma una possibilità della quale abbiamo già discusso è quella di offrire un servizio attraverso Quantum Link, una banca dati privata dedicata esclusivamente al Commodore 64: gli utenti potrebbero inviare i loro file completi (già sperimentati sulla loro stampante) alla Qlink via modem, e il disegno finale stampato col laser gli verrebbe poi spedito tramite posta.

So che avete anche lavorato alla realizzazione di una versione 1.3 di GEOS. Cosa potete dirmi a riguardo?

La novità più interessante presente nella versione 1.3 consiste nel supporto del RAM pack, effettuato attraverso il RAM device. GEOS, quindi, utilizza il disk drive come una memoria virtuale, estendendo la memoria effettiva del 64 oltre i suoi 64K di RAM.

Le routine turbo per il disk drive da noi utilizzate velocizzano discretamente il trasferimento dei dati, ma mentre si scorre lo schermo, è ancora necessaria una certa attesa. Utilizzando il RAM device, comunque, siamo in grado di immagazzinare un'intera pagina di GEOS in memoria e di muoverla in tempo reale. Per un accesso immediato è anche possibile registrare un intero disco di applicazioni e dati nella RAM.

Se viene utilizzata la nuova espansione di memoria 1750, è inoltre possibile servirsi di una tecnica chiamata shadowing, con la quale si immette nella RAM un secondo disco di dati, avendo così la possibilità di leggere direttamente dalla RAM, quando si ha bisogno di informazioni, e di scrivere su disco attraverso la RAM, quando si vogliono registrare. Il RAM device è così rapido che per spostare dei blocchi di dati all'interno del 64C è più veloce trasferirli nel RAM pack, per poi indirizzarli alle nuove locazioni.

Un'altra idea è quella di un application manager che permetta di tenere in memoria più di un'applicazione alla volta, per poter passare direttamente da una all'altra. Naturalmente tutto ciò dipenderà da quanto successo riscuoteranno queste espansioni.

Riguardo alle estensioni di memoria per 64C ci sono infatti ancora numerosi dubbi, per esempio sembra che la potenza della quale hanno bisogno potrebbe rendere necessaria l'adozione di nuovi trasformatori.

Ci sarà una versione di GEOS per il 128 e, in questo caso, quali nuove caratteristiche possiederà?

La versione per il 128 consisterà in pratica nella V. 1.3 con l'aggiunta di alcune caratteristiche. Utilizzeremo la maggiore quantità di memoria includendo un application manager e/o qualche altro programma. Sarà supportato anche il tastierino numerico.

Non abbiamo attualmente alcun progetto per l'uso del modo a 80 colonne (alta risoluzione), poiché ciò rallenterebbe l'updating dello schermo, tanto da renderlo inaccettabile. Dal momento che GEOS possiede uno schermo virtuale non si trarrebbero comunque grandi vantaggi. Nella memoria del 128 è anche possibile immagazzinare fonti-carattere.

Non abbiamo invece in progetto di inserire GEOS nella ROM del 128 o del 64C. Questo non significa che non lo faremo mai, ma che al momento ci sono molte altre cose che hanno una maggiore importanza.

Cosa mi può dire riguardo a un BASIC per GEOS?

Non ci sono ancora progetti per un GEOBASIC, ma abbiamo già fatto diverse riunioni per discutere le caratteristiche che vorremmo vedere in una eventuale applicazione del genere. Uno dei nostri programmatori «esterni» ha già iniziato a lavorare in questo senso, ma non è ancora stato scritto nessun tipo di codice. Nessuna routine è stata elaborata neppure per un package per la telecomunicazione. La QLink sta lavorando in questo senso, ma è solo agli inizi.

Vorrei vedere tutti questi programmi realizzati per la fine dell'anno, ma sarei soddisfatto se almeno un paio venissero commercializzati per Natale. In ogni modo potremo presentare grandi novità al Consumer Electronic Show di gennaio.


DEFINIZIONI

Drivers: sono piccoli sottoprogrammi che gestiscono input e output per il programma principale. Il vantaggio di usare i driver deriva dal fatto che il programma principale può così risultare più breve, perché non deve contenere le istruzioni necessarie per gestire tutte le combinazioni di periferiche possibili. I driver possono essere utilizzati per supportare stampanti, disk drive, dispositivi di input, monitor, modem e altre periferiche.

Primitives: sono i «nuts and bolts» di un sistema operativo. Ogni primitive è un singolo comando o evento, come per esempio la stampa di un carattere sullo schermo, il riconoscimento di un tasto premuto...

Interfaccia a linea di comando: è il modo in cui si inviano i comandi in un sistema operativo non grafico. I comandi impartiti a un C-64 o 128, sia in BASIC che in DOS, sono correlati all'utilizzo di un'interfaccia a linea di comando.

Espansioni per GEOS: i nuovi pacchetti integrati della Berkeley


BOX: NOVITÀ PER GEOS

Quella che segue è una breve descrizione di prodotti che saranno commercializzati nei prossimi 6 mesi: tutti i prodotti elencati sono delle estensioni della «famiglia» delle applicazioni dedicate a GEOS. Questi programmi fanno tutti parte di un sistema integrato e sono quindi in grado di scambiare dati tra loro.

FONT PACK 1

Comprende 20 fonti-carattere addizionali da utilizzarsi con geoWrite e geoPaint.

DESK PACK 1

Quattro accessori utili e divertenti che includono: 1) Graphics Grabber, in grado di accedere a centinaia di schermi grafici di Print Shop, Print Master e Newsroom, e di convertirli in modo da renderli compatibili con geoWrite e geoPaint; 2) Calendar, un «Daytimer» simile a un calendario che permette di pianificare appuntamenti fino all'anno 9999; 3) Black Jack, una versione del famoso gioco, che potrebbe far dimenticare i tavoli dei casinò di Las Vegas; 4) Icon Editor, permette la creazione di icone personalizzate.

GEODEX

Programma atto a registrare nomi, indirizzi e numeri telefonici. Compila anche liste telefoniche e ne stampa gli indirizzi su etichette adesive. Include geoMerge, un accessorio per l'impostazione di lettere a seconda del loro destinatario, che trae i testi dai normali file di geoWrite.

WRITER'S WORKSHOP

Un package per il word processing che include: 1) geoWrite 2.0, una nuova versione di geoWrite che contiene comandi per giustificare e centrare il testo, spaziature verticali variabili, misuratori multipli per ogni pagina, comandi per la ricerca e l'inserimento di parti di testo, intestazioni a inizio e fine pagina, caratteri sotto o sopra la linea, abbreviazioni dei comandi e il supporto per la stampante LaserWriter; 2) textConverter, convertitore per testi realizzati con altri word processor, in grado di renderli compatibili con geoWrite; 3) geoMerge, un programma mail merge utile per l'impostazione di lettere a seconda del destinatario, che si serve di testi qualsiasi realizzati con geoWrite.

GEOCHART

Crea grafici a torte, a barre, istogrammi e grafici a linee. Funziona indipendentemente o in connessione con geoCalc e geoFile.

GEOCALC

Uno spreadsheet dedicato a GEOS.

GEOFILE

Un database dedicato a GEOS.

Nessun commento:

Posta un commento