Commodore 128, il multiversale
Ha avuto un solo problema, chiamiamola pure sfiga, l'arrivare sul mercato poco prima del ciclone Amiga, che cambiò le carte in tavola!
Tre anni sono pochi o sono tanti? Col senno - e l’età - di oggi direi che sono pochissimi, ma all’epoca di certo non l’avrei pensata alla stessa maniera. Fatto sta che sono passati solo/ben tre anni dalla nascita del C64 - il computer più venduto di tutti i tempi - a quella del suo più logico successore, lo sfigato 128. È stato l’ultimo 8 bit progettato da Commodore e, credo, la massima espressione di questa prima tecnologia, classicamente limitata all’indirizzamento di soli 64 cappa di memoria. Limite già bypassato altre volte con vari escamotage via via più sofisticati: era sì un “128”, ma inteso come due blocchi da 64, e a quanto pare l’architettura poteva gestirne addirittura quattro, spostando il limite (mai implementato) a quota 256 KB.
Recentemente, esagerando un po’, l’ho definito «un computer in grado di vivere e far vivere più esistenze parallele, una delle macchine più complicate che mi siano passate per le mani, ma per questo anche una delle più interessanti. A partire dalla compatibilità tanto con il Commodore 64 - non proprio totale, ma “q.b.” - quanto con il CP/M, grazie alla presenza di un secondo processore “classe” Z80, per non parlare dell’uscita video a 80 colonne capace di grafica a ben 640x200 pixel. Wooow!!!».
Per utilizzare il C128 in modalità sessantaquattro c’erano tre possibilità: tenere premuto all’accensione il tasto “C=”, digitare da Basic il comando GO 64 o, semplicemente, inserire una cartuccia del modello precedente prima di alimentare la macchina. Ovviamente, non esistendo in modalità 64 un analogo comando GO 128, l’unico modo per tornare indietro era spegnere e riaccendere o un hard reset, agendo sull’apposito pulsante finalmente presente. Per l’avvio in modalità CP/M bastava inserire il disco con questo sistema operativo e dare corrente: se veniva rilevato, la macchina si avviava in tale modalità.
Il processore principale era l’8502, derivato dal 6510 del C64 ma in grado di funzionare sia a 1 che a 2 MHz (Mode Slow e Mode Fast). Naturalmente viaggiava a 1 MHz in emulazione C64 e lo stesso avveniva in modalità C128 per la visualizzazione a 40 colonne dal momento che in questo caso si sfruttava il chip video del precedente modello. Grazie al fatto poi che molte cose, dentro, erano duplicate - come i due chip video - si potevano anche utilizzare due monitor insieme, gestiti indipendentemente.
Tornando alla RAM, per via della gestione a banchi (necessaria per i limiti dell’indirizzamento a 16 bit) in Basic erano disponibili una sessantina di “cappa” per i programmi e una quantità appena più grande per le variabili. Come dire che potevamo scrivere codice Basic per quasi 60 KB e con questo gestire altrettanti dati memorizzati in variabili numeriche, stringhe, array, ecc., ma non 100 di programma e 20 di dati (o viceversa).
Ad essere pignoli, la macchina rendeva disponibili per l’utente “solo” 127 KB. Questo perché il primo cappa di RAM era condiviso tra tutti i banchi di memoria, ma stiamo parlando solo di quella, per così dire, normale. C’erano poi altri 16 KB di memoria video per la modalità 640x200, per non parlare della ROM, anche questa accessibile con lo stesso meccanismo del memory banking e ancor più complicata da conteggiare. Ci (ri)provo, sperando di non dimenticare nulla: 32K tra Basic e monitor di linguaggio macchina, 16K per il sistema operativo e altri 20K della modalità C64 che, come detto, il C128 era in grado di emulare abbastanza bene.
Ancora più complicato era raggiungere la videoram da 16K relativa alla modalità 80 colonne (o 640x200 che dir si voglia). Non era mappata da nessuna parte, ovvero non compariva in nessuno dei 16 banchi RAM/ROM previsti, e per accedervi si usavano dei registri del chip grafico 8563 dato che questa non era accessibile con normali operazioni di peek e poke. Il divertimento però iniziava quando ci si rendeva conto che i registri stessi dell'8563 non erano a loro volta direttamente indirizzabili eccezion fatta per il primo, tramite il quale si faceva tutto. In sintesi, se volevamo andare a curiosare lì dentro, avevamo il nostro bel da fare…
… ma era proprio questo il bello!