b'\n_START_ARTICLE_\nCommodore 128\n_START_SECTION_\nLa progettazione\n_START_PARAGRAPH_\nDopo che Jack Tramiel lasci\xc3\xb2 la Commodore agli inizi del 1984, il nuovo gruppo dirigenziale cercava un nuovo prodotto per rimediare al fallimento della serie Commodore 264 e produrre un computer che potesse rimpiazzare il C64. Durante l\'estate del 1984 il progetto fu avviato e la direzione venne affidata a William Herd, che aveva guidato proprio lo sviluppo delle macchine della serie TED. Furono per\xc3\xb2 posti dei vincoli: il computer avrebbe dovuto essere a 8 bit e avrebbe dovuto essere pronto in 5 mesi poich\xc3\xa9 doveva essere presentato al successivo CES di Las Vegas che si sarebbe tenuto nel gennaio del 1985, e avrebbe dovuto competere anche nel mercato semi-professionale come macchina per piccoli uffici.\n_START_SECTION_\nI primi prototipi e lo sviluppo hardware\n_START_PARAGRAPH_\nHerd inizi\xc3\xb2 a lavorare a un nuovo home computer partendo da un prototipo gi\xc3\xa0 in fase di sviluppo denominato D128, basato sul MOS 6509 e su un nuovo chip video monocromatico denominato MOS 8563, ma successivamente rivoluzion\xc3\xb2 quasi completamente il progetto ripartendo da uno schema hardware pi\xc3\xb9 simile a quello del Commodore 64. Durante questa revisione gli ingegneri che avevano sviluppato l\'8563 offrirono a Herd un modello revisionato con l\'aggiunta del supporto al colore: questa versione fu scelta come chip grafico della nuova macchina. Un paio di settimane dopo l\'inizio dello sviluppo la dirigenza Commodore decise che il nuovo computer avrebbe dovuto essere compatibile anche con il C64: Herd fu costretto, perci\xc3\xb2, a rivedere in corso d\'opera il progetto della macchina. La CPU non destava preoccupazioni: scelse il nuovo MOS 8502, una versione migliorata del 6510 perci\xc3\xb2 capace di eseguire tutto il codice di quest\'ultimo. Poich\xc3\xa9 il chip grafico era stato pensato per un computer che potesse essere usato anche in un ufficio, per ottenere la grafica multicolore, il supporto agli sprite e l\'audio avanzato del SID fu deciso di integrare tutti i coprocessori del Commodore 64 in modo che il nuovo computer fosse in grado di eseguire tutti i giochi e i programmi scritti per tale home computer. Il VIC-II non prese comunque il posto del MOS 8563 ma lo affianc\xc3\xb2 perch\xc3\xa9 solo questo era capace di offrire le 80 colonne richieste in ambito professionale._NEWLINE_Lo sviluppo dell\'hardware si rivel\xc3\xb2 comunque problematico: l\'8563 manifest\xc3\xb2 diversi problemi, a cominciare dal surriscaldamento anomalo a cui andavano incontro i primi prototipi, che costringevano gli sviluppatori a raffreddarlo con metodi artigianali, per arrivare ai problemi di sincronizzazione sull\'accesso alla memoria tra l\'8563 e il VIC-II che generavano artefatti grafici con parti di testo che scomparivano dallo schermo. Una volta risolti questi problemi il computer, grazie ai 2 chip grafici, riusc\xc3\xac a offrire diverse modalit\xc3\xa0 video: l\'8563 generava un\'immagine a 640x200 pixel con 80 colonne di testo e un\'uscita video RGBI compatibile con i segnali CGA dei PC IBM mentre il VIC-II offriva uno schermo a 40 colonne su un\'uscita TV. In questo modo era possibile pilotare 2 schermi contemporaneamente, ognuno con un\'immagine diversa. Essendo pensato anche per un uso professionale, fu deciso di integrare anche la CPU Zilog Z80 cos\xc3\xac da poter usare sul computer tutto il vasto parco software scritto per il CP/M che nel periodo era uno dei pi\xc3\xb9 diffusi sistemi operativi.\n_START_SECTION_\nLa presentazione al pubblico\n_START_PARAGRAPH_\nLo sviluppo fu terminato pochi giorni prima dell\'inizio del Consumer Electronics Show, mentre gli ultimi bug software furono risolti poche ore prima dell\'inizio della stessa manifestazione. Il computer fu presentato al CES del 5 gennaio 1985 con il nome di Commodore 128, a indicare il quantitativo di RAM installata._NEWLINE_Fu presentato anche come modello da ufficio in concorrenza col Macintosh 128K e i PC IBM grazie alla presenza dello Zilog Z80 come seconda CPU con cui poteva eseguire il CP/M e tutti i programmi professionali disponibili per questo sistema operativo.\n_START_SECTION_\nL\'insuccesso e la dismissione\n_START_PARAGRAPH_\nNonostante la pubblicit\xc3\xa0 lo rappresentasse come il terrore degli IBM compatibili o un Macintosh killer, il C128 non ebbe una grande fortuna, n\xc3\xa9 come home computer n\xc3\xa9 come macchina professionale. Possedeva caratteristiche comuni a home computer e personal computer con i limiti del primo tipo, ma nell\'utilizzo come PC non fu in grado di reggere la concorrenza; la scarsa penetrazione nel mercato fu in parte anche dovuta al fatto che, al momento del lancio, lo standard CP/M cominciava a essere abbandonato commercialmente, in favore dell\'MS-DOS._NEWLINE_Dopo il successo del Macintosh, Apple lanci\xc3\xb2 nuovi modelli, tra i quali il Macintosh Plus, dotato della nuova interfaccia SCSI che permetteva l\'aggiunta di disco rigido e di altre periferiche, risultando superiore alle macchine della Commodore. Complice infine la scarsit\xc3\xa0 del software appositamente sviluppato, l\'interesse verso il Commodore 128 diminu\xc3\xac gi\xc3\xa0 dopo qualche anno dal lancio, infine la produzione cess\xc3\xb2 nel tardo 1989.\n_START_SECTION_\nCaratteristiche\n_START_PARAGRAPH_\nPossedeva di base la stessa quantit\xc3\xa0 di memoria del Macintosh 128K e capacit\xc3\xa0 grafiche e sonore maggiori rispetto a un IBM compatibile dell\'epoca, poteva contare sulla vastissima quantit\xc3\xa0 di software gi\xc3\xa0 scritto per il C64 e sul sistema Operativo CP/M, precedente l\'MS-DOS e ispiratore di quest\'ultimo. Aveva inoltre una tastiera completa da 95 tasti integrata nel corpo macchina e di una linea pi\xc3\xb9 filante e bassa rispetto a quella dei modelli precedenti. Il Commodore 128 presentava 2 CPU: il MOS 8502, derivato dal MOS 6510 montato sul C64, e lo Zilog Z80. Operava a 2 MHz e l\'utente aveva accesso ai 128 kB di RAM, sia in con uno schermo a 80 colonne e con un BASIC con nuovi comandi, sia emulando il C64, offrendo una compatibilit\xc3\xa0 quasi totale con questa macchina, sia in modalit\xc3\xa0 CP/M, permettendo di eseguire i programmi scritti per questo sistema operativo._NEWLINE_Le nuove caratteristiche hardware promettevano inoltre una pi\xc3\xb9 vasta gamma di utilizzi professionali e ludici: la grafica offriva una modalit\xc3\xa0 a 640x200, grazie al nuovo chip MOS VDC e il suono era a 3 canali, offerto dal MOS SID. Tuttavia, il chip grafico era anche il maggior punto debole del C128: nonostante fosse ufficialmente messo in commercio come processore per modalit\xc3\xa0 "solo testo", dalle schede tecniche si evinceva che esso poteva operare anche in modalit\xc3\xa0 grafica (senza supporto per gli sprite) ma vista la complessit\xc3\xa0 del metodo adottato per l\'accesso ai suoi registri gli sviluppatori avevano optato per non supportare questa modalit\xc3\xa0 con il BASIC 7.0, rendendo la modalit\xc3\xa0 testuale a 80 colonne l\'unica effettivamente utilizzabile inizialmente sul C128. Affiancato al VDC era stato integrato nella piastra madre anche il MOS VIC-II, che per\xc3\xb2 non era in grado di operare al clock di 2\xc2\xa0MHz dell\'8502: perci\xc3\xb2 l\'unica maniera per avere la modalit\xc3\xa0 a 40 colonne (320x200) era quella di operare a velocit\xc3\xa0 dimezzata. Per rimediare a questo limite fu studiato un metodo per usare (almeno parzialmente) il clock a 2\xc2\xa0MHz anche in modalit\xc3\xa0 a 40 colonne che sfruttava l\'interrupt agganciato al pennello elettronico che disegnava l\'immagine sul quadro video. Il pennello video lanciava un interrupt nel momento in cui arrivava a disegnare la prima riga vuota sotto all\'immagine centrale: in quel momento il computer veniva impostato a 2\xc2\xa0MHz e a tale velocit\xc3\xa0 restava mentre il pennello disegnava le parti vuote sopra e sotto l\'immagine centrale, venendo poi reimpostato a 1\xc2\xa0MHz quando iniziava nuovamente a disegnare l\'area principale._NEWLINE_Seguendo la documentazione rilasciata in seguito dalla stessa Commodore, fu pubblicato in un libro un metodo che consentiva di sfruttare la modalit\xc3\xa0 grafica del VDC che consisteva nell\'accedere alla memoria video indirizzando singolarmente ogni locazione, attraverso un macchinoso sistema a due registri che rendeva le operazioni grafiche molto lente. Il VDC, infatti, non aveva n\xc3\xa9 la memoria video n\xc3\xa9 i suoi registri mappati nella RAM principale del computer, a parte 2 locazioni usate per passare i dati da e per il chip grafico denominate "Address Register" e "Data Register". Per programmare il chip si dovevano passare i dati esclusivamente attraverso questi due registri: per esempio, per scrivere un valore in un registro interno del chip si doveva inserire il valore nella cella dei dati e il numero del registro nella cella degli indirizzi; per accendere un pixel si doveva usare lo stesso sistema, passando al chip i dati indicanti l\'indirizzo della cella nei registri appropriati e il dato da inserire. Lo sviluppo di giochi con grafica in modalit\xc3\xa0 640x200 era di fatto improponibile e la gestione del chip non supportata dal BASIC nativo convinse gli autori del libro, tramite la loro software house Walrusoft, a creare il BASIC 8.0, una estensione al linguaggio integrato nel computer che consentiva una gestione pi\xc3\xb9 semplice del VDC e alcune modalit\xc3\xa0 grafiche aggiuntive._NEWLINE_Il Commodore 128 poteva contare anche su un processore Z80 di ZiLOG che consentiva l\'utilizzo del sistema operativo CP/M e permetteva di accedere al vasto parco programmi scritti per questo sistema operativo. Ma il lavoro dello Z80 non si limitava a questo: era questa CPU, infatti, che veniva "risvegliata" per prima all\'avvio della macchina e controllava se non fossero inserite delle cartucce C64/C128 nell\'apposita porta, che in caso di unit\xc3\xa0 a dischi non ci fosse un floppy avviabile oppure che l\'utente non stesse premendo il tasto C= (Commodore) per richiedere l\'avvio della modalit\xc3\xa0 C64. Per permettere al CP/M di funzionare con prestazioni degne, il Commodore 128 supportava nativamente una modalit\xc3\xa0 di trasferimento accelerata dei dati sul bus seriale dei dischi (burst mode).\n_START_SECTION_\nIl sistema operativo\n_START_PARAGRAPH_\nIl BASIC residente del C128, denominato BASIC 7.0 integrava funzioni grafiche avanzate e la possibilit\xc3\xa0 di controllare la parte audio. La schermata di avvio mostra chiaramente il copyright di Microsoft per il linguaggio BASIC._NEWLINE_L\'accensione del sistema avvia anche la ricerca di software autoavviante dalla prima unit\xc3\xa0 a dischi. Questa caratteristica, anch\'essa una novit\xc3\xa0 per i computer Commodore, \xc3\xa8 tipica del sistema CP/M ma fu successivamente utilizzata anche in altri software per il C128, tra i quali una creazione italiana che riusciva a forzare il caricamento di programmi per Commodore 64 e l\'attivazione della relativa modalit\xc3\xa0 di funzionamento. La partenza avveniva, oltre che per accensione, alla pressione del tasto di reset e con il comando basic BOOT._NEWLINE_Il BASIC 7.0 contiene anche dei comandi non implementati: digitando QUIT oppure OFF si ottiene l\'errore ?UNIMPLEMENTED COMMAND ERROR. Questi comandi sono rimasugli del BASIC sviluppato per il mai rilasciato Commodore LCD, un computer portatile con schermo integrato di tipo LCD, e servivano, rispettivamente, per uscire dall\'ambiente BASIC e per ignorare l\'input da tastiera durante sessioni di elaborazione particolarmente gravose._NEWLINE_Per il C128 venne creata una particolare versione del Sistema Operativo a icone GEOS, che gi\xc3\xa0 aveva avuto fortuna col C64, e che venne denominato sulla nuova macchina GEOS 128. Questa versione specifica permetteva l\'uso della grafica 640x200 tramite il secondo chip video VDR e il bank switching necessario a sfruttare le espansioni di memoria da 128 kB e 512 kB ufficiali Commodore (mod. 1700 e 1750). Da notare il fatto che, dal 2004, le versioni GEOS per Commodore sono state rese freeware, quindi liberamente scaricabili dalla societ\xc3\xa0 che ne detiene i diritti._NEWLINE_Un discorso a parte merita il CP/M. Questo era all\'epoca un sistema operativo molto noto e assai apprezzato (un vero "industry standard"): dal CP/M trasse infatti ispirazione il QDOS, da cui derivarono i sistemi operativi per PC IBM (il PC-DOS di IBM e l\'MS-DOS di Microsoft)._NEWLINE_La Commodore dot\xc3\xb2 il C128 della pi\xc3\xb9 moderna implementazione per Z80, il CP/M 3.0 (alias CP/M Plus - retrocompatible con il pi\xc3\xb9 diffuso CP/M 2.2) e dell\'emulazione di terminale ADM31/3A._NEWLINE_Il parco software per uso professionale era molto ampio e largamente compatibile, pur pensato per hardware differente. Vi erano implementazioni di WordStar, dello spreadsheet Multiplan, del dBase II della Asthon Tate, del Turbo Pascal della Borland, e di altri._NEWLINE_Sfortunatamente alcune scelte implementative e il tipico target utente del C128, uniti al disinteresse di Commodore e al crescente mercato MS-DOS, non permisero al C128 di diffondersi come "macchina CP/M", se non per usi saltuari. N\xc3\xa9 venne sfruttata particolarmente la possibilit\xc3\xa0 di comunicare (a basso livello) con l\'altra CPU (l\'8502)._NEWLINE_Da un lato la scelta di dotarlo del CP/M 3.0 (pi\xc3\xb9 lento del 2.2), unita al fatto che lo Z80 funzionava a 2\xc2\xa0MHz, invece dei pi\xc3\xb9 canonici 4/6\xc2\xa0MHz presenti in hardware concorrenti, ne faceva una delle implementazioni pi\xc3\xb9 lente. Era pianificato che operasse a 4\xc2\xa0MHz a 80 colonne, ma questo non avvenne. Andava altres\xc3\xac tenuto conto che il CP/M era principalmente un DOS, cio\xc3\xa8 un sistema operativo basato su dischi, e non poteva funzionare in loro assenza, il cui costo, per l\'utente medio, era importante. Inoltre buona parte degli acquirenti del C128 compr\xc3\xb2 questo computer semplicemente come un C64 "con una marcia in pi\xc3\xb9", e soprattutto per poter giocare con le migliaia di giochi disponibili per C64, nell\'attesa di veder uscire una nuova generazione di giochi per C128, che, viste le limitazioni della grafica, non vi fu. Inoltre la compatibilit\xc3\xa0 tra i vari hardware ove girava CP/M non era assoluta, a causa di una babele mai totalmente sbrogliata di formati tra i dischi di diversi produttori. Il drive a doppia faccia 1571, espressamente concepito per il Commodore 128, consentiva la lettura di una parte dei dischi di tali sistemi, oltre a supportare naturalmente un proprio formato specifico.\n_START_SECTION_\nLa compatibilit\xc3\xa0 col Commodore 64\n_START_PARAGRAPH_\nL\'alta compatibilit\xc3\xa0 con il Commodore 64 \xc3\xa8 dovuta al fatto che i pi\xc3\xb9 importanti componenti del C64, come il VIC, il SID e le ROM del Commodore BASIC 2.0 e del KERNAL del 64 sono presenti anche nel C128 e grazie al fatto che la CPU MOS 8502 \xc3\xa8 completamente retrocompatibile con il MOS 6510. In modalit\xc3\xa0 C64 il funzionamento della CPU a 2\xc2\xa0MHz (per via dell\'oscuramento e del fatto che nel 6510 questa possibilit\xc3\xa0 non esisteva), non sarebbe impiegabile. In realt\xc3\xa0 esisterebbe un modo, e si pu\xc3\xb2 mantenere l\'uso del video, alternando la frequenza di clock tra 1 e 2\xc2\xa0MHz a ogni segnale di vertical blank tramite una routine guidata dall\'interrupt del raster video._NEWLINE_Dal punto di vista hardware, si possono collegare al C128 tutte le periferiche del C64, incluse le cartucce, che fanno partire automaticamente il C128 in modalit\xc3\xa0 64. Ciascuna delle due CPU pu\xc3\xb2 indirizzare al massimo 64 kilobyte, quindi i 128 kB di RAM possono essere visti solo dopo essere stati suddivisi in due banchi e commutando fra essi._NEWLINE_A volte per\xc3\xb2 in modalit\xc3\xa0 C64 era possibile riscontrare differenze rispetto a un vero Commodore 64 e questo talvolta generava blocchi, dovuti soprattutto all\'utilizzo da parte del software degli indirizzi di memoria del chip MMU, visibile al software anche in modalit\xc3\xa0 C64.\n_START_SECTION_\nPeriferiche\n_START_PARAGRAPH_\nFurono realizzate per questo computer due nuove unit\xc3\xa0 a disco, il Commodore 1570 a faccia singola e il Commodore 1571 a doppia faccia, in grado di supportare la scrittura in formato MFM, usato sia dal CP/M, oltre che nel GCR. Erano disponibili anche delle espansioni di nemoria, le Commodore REU.\n_START_SECTION_\nEaster egg\n_START_PARAGRAPH_\nUna curiosit\xc3\xa0 del C128 \xc3\xa8 ritrovabile in un easter egg, un messaggio nascosto nel sistema richiamabile con l\'istruzione SYS32800,123,45,6 e che mostra i nomi dei progettisti hardware e software del computer. Il gruppo hardware era composto da Bil Herd, Dave Haynie e Frank Palaia mentre quello software da Fred Bowen, Terry Ryan e Von Ertwine. Da notare il gioco di parole di "herdware team" al posto di "hardware team" dal cognome di Bil Herd, e il curioso appello contro la guerra, \xc2\xabLink arms, don\'t make them\xc2\xbb, che chiude l\'elenco.'