RetroMagazine nr. 4 – Anno: 2018 – Autore: Francesco Fiorentini
Era il 1987, avevo il Commodore 64C da circa un annetto e sino ad allora lo avevo utilizzato prevalentemente per giocare, quando, spinto dalla curiosità di comprendere come questa macchina ‘magica’ funzionasse, decisi di cominciare a documentarmi ed a leggere le riviste del settore dell’epoca. In quel periodo, a parte i giochi che offrivano agli occhi di un ragazzino milioni di colori ed un sonoro emozionante, la quasi totalità delle applicazioni che mi era passata pr le mani utilizzava l’interfaccia a caratteri tipica del C64 con pochissimi vezzi grafici. Non ricordo dove lo vidi, forse in una pubblicità oppure nella vetrina di uno dei negozi di informatica che frequentavo all’epoca, fatto sta che questo programma attrasse la mia attenzione come la luce fa con le falene! Il software in questione era il GEOS (acronimo di Graphic Environment Operating System) e lì per lì mi è sembrata la cosa più evoluta che avrei potuto fare con il mio C64! Lo volevo, dovevo averlo! Dovevo mettere le mani su quel programma che mi avrebbe catapultato nel futuro. Ma come? IL GEOS veniva distribuito solo su dischetti da 5.25 ed io non avevo il lettore floppy… Decisi quindi di cominciare a risparmiare un po’ di soldi ed alla fine, grazie anche all’aiuto di babbo e mamma riuscii finalmente a comprare il drive 1571 (quello che si confaceva al mio C64C) ed allo stesso tempo ottenere l’agognato GEOS. Inizialmente usai il GEOS con il joystick, ma da lì a poco decisi di mettere di nuovo mano al portafoglio ed acquistare anche il mouse che era lo strumento principe per utilizzare il suddetto sistema operativo…
Scusate il lungo preambolo, ma sono dell’idea che accompagnare un articolo tecnico con un ricordo della nostra infanzia lo faccia diventare più umano e quindi più godibile.
Secondo me il GEOS è stato una vera e propria killer application per il Commodore 64, al quale per la prima volta forniva un’interfaccia grafica (GUI acronimo di Graphic User Interface) ed allo stesso tempo implementava funzionalità tipiche dei computer di fascia alta e mai viste prima sull’8 bit della Commodore. Stiamo parlando di un vero e proprio sistema operativo che oltre a ridefinire l’interfaccia nativa del C64, permetteva l’accesso ed il controllo di tutte le periferiche connesse tramite degli appositi driver. Come dicevo, complice anche la diffusione del Commodore 64, il GEOS è stato per un breve lasso di tempo il terzo più popolare sistema operativo dietro soltanto a DOS e Mac OS. Un risultato di tutto rispetto.
Come siano riusciti i maghi della Berkeley Softworks a far girare su una CPU a 8bit da 1Mhz e con 64Kb di RAM un SO complesso come il GEOS, si può spiegare solo con un’attenta ottimizzazione del codice. Il software inoltre era dotato di un complesso sistema di protezione dalla copia, reso necessario proprio per proteggere l’ottimo lavoro svolto dai programmatori. Per i più curiosi c’è un interessante articolo pubblicato qui: http://www.pagetable.com/?p=865 che tratta proprio delle trappole anticopia inserite nel codice del GEOS ed in alcuni suoi applicativi. Vi suggerisco di leggerlo, è veramente affascinante. Per coloro che fossero interessati all’articolo ma trovassero difficoltà con l’idioma di Albione, potete inviarci una mail all’indirizzo della redazione ed in caso di un numero sufficiente, potremmo pensare di farne una traduzione.
Come dicevo prima, il GEOS è un Sistema Operativo vero e proprio che riconfigura completamente il Kernal del C64, implementando nuove primitive per gestire la grafica in alta risoluzione, l’I/O delle periferiche e l’interfacciamento con l’utente. Ma vediamo un po’ quali sono le nuove caratteristiche implementate dal GEOS e spendiamo due parole su ognuna di esse:
- Interfaccia “punta e clicca” gestita tramite mouse
- Funzionalità “drag and drop” per la tutte le operazioni dei file
- Implementazione del WYSIWYG
- Sistema basato su driver
Interfaccia “punta e clicca” gestita tramite mouse:
Adesso diamo per scontato l’utilizzo del mouse e lo percepiamo come una periferica standard per i nostri computer, una sorta di estensione naturale della mano che permette di eseguire buona parte delle operazioni con cui controlliamo il PC, ma vi posso garantire che nel 1986/87, nonostante fosse stato inventato da circa 20 anni, il suo utilizzo era tutto tranne che scontato. Passare di punto in bianco dall’utilizzo della tastiera e del joystick al mouse, non fu proprio una passaggiata. Vale inoltre la pena ricordare che i mouse dell’epoca non erano precisi e sofisticati come quelli attuali. Il Mouse del Commodore 64, il 1351, aveva una pallina pesantissima che scorreva su due rotelline che sembrava facessero a gara a raccogliere più sporcizia possibile ed i pulsanti, in quanto a praticità lasciavano alquanto a desiderare. Ironia a parte, l’innovazione dell’interfaccia punta e clicca del GEOS era ed è tuttora palpabile, finalmente il C64 si presentava all’utente con una veste tutta nuova e soprattutto con un ambiente più user friendly!
Funzionalità “drag and drop” per la tutte le operazioni dei file:
La funzionalità drang and drop, trascina e rilascia, è una diretta conseguenza del punto precedente. Provate a pensare ai comandi che avreste dovuto impartire da riga di comando in BASIC per stampare un semplice file sulla stampante; qualcosa di simile a:
OPEN 1,4:CMD 1:LIST:PRINT #1:CLOSE 1
Ecco, immaginate invece di fare la stessa cosa soltanto trascinando il file sull’icona della stampante…Strabiliante vero? Su un Commodore 64 nel 1986 sicuramente!
Implementazione del WYSIWYG:
WYSIWYG è l’acronimo di What You See Is What You Get – quello che vedi è quello che ottieni. In parole povere, per la prima volta sul nostro home computer avevamo a disposizione la trasposizione 1-1 di quello che vedevamo su schermo, soprattutto grazie al programma GeoWrite!
Sistema basato su driver:
Un discorso a parte lo meritano i driver del GEOS. Il nuovo sistema operativo infatti utilizza i driver per comunicare con le periferiche di input/output. Sembra una cosa banale adesso, ma per la prima volta il sistema del C64 non si interessa della periferica, ma comunica con il driver, il quale a sua volta comunica con la periferica. Questo livello di astrazione, che ha reso famoso o famigerato Windows, sottintende il concetto di peculiarità. Finalmente era possibile utilizzare nuove periferiche sfruttandone a pieno le loro caratteristiche a patto di utilizzare il driver corretto!
Prima di chiudere questa prima nostra digressione sul GEOS, vorrei parlarvi di un’altra sua caratteristica fondamentale. La Berkeley Softworks ha infatti implementato nel kernal del GEOS delle primitive di accesso al disco estremamente rapide, così rapide da permettere l’utilizzo del disco come una memoria virtuale relativamente veloce e bypassare così la limitazione fisica della limitata dimensione della RAM del nostro Commodore 64. Che dire, veramente tanto di cappello a chi ha ideato e programmato questo software!
Di cose da dire sul GEOS e di meraviglie da scoprire sulle sue applicazioni ce ne sono ancora tante e non stupisce che, per chi come lo ha utilizzato da ragazzino, sia ancora un oscuro oggetto del desiderio.
Il prossimo articolo sul GEOS parleremo delle due applicazioni fornite a corredo con il SO, GeoWrite e GeoPaint.
Per chi volesse provare ad utilizzare questo stupendo strumento, vi ricordo che il software e’ liberamente scaricabile dal sito: http://cbmfiles.com/geos/index.php previa compilazione di un questionario in cui in pratica vi impegnate a non rivendere o ridistribuire quanto appena scaricato!