Commodore 128

Da Wikipedia, l'enciclopedia libera.
Commodore 128
Commodore-128.jpg
Classe di computerHome computer
ProduttoreCommodore
Presentazione1985
Fine vendita1989
Prezzo di lancio300 $
CPU8502, Zilog Z80
Frequenza1/2/4 MHz
Altri coprocessoriMOS VDC, MOS VIC-II, MOS MMU, MOS SID, MOS CIA
ROM64 kB
RAM di serie128 kB
RAM massima512 kB
Tastiera incorporatasì (alfanumerica)
SO di serieKERNAL
Altro software di serieCommodore BASIC, CP/M+ 3.0

Il Commodore 128 (noto anche come C128, CBM128 o C= 128)[1] è un modello di home computer ad 8 bit prodotto dalla Commodore Business Machines e presentato al Consumer Electronic Show del 5 gennaio 1985. Venne immesso sul mercato 3 anni dopo il suo celebre predecessore, il Commodore 64, e rimase in commercio fino al 1989.[1]

Il C128 nacque dopo lo sfortunato tentativo del 1984 di rimpiazzare il VIC-20 e il Commodore 64 con le macchine della serie TED (dal nome del coprocessore principale), ossia il Commodore 16 e il Plus 4, quest'ultimo destinato all'utenza professionale: queste macchine non erano però compatibili con i due predecessori e non potevano attingere alla vastissima base di software, programmi e giochi già sviluppata per il C64.[2] Vista la pessima accoglienza dei due nuovi modelli sul mercato e resosi conto dell'errore commesso, il management di Commodore cercò di riparare con il Commodore 128, compatibile con il C64 ma disponendo anche di alcune delle caratteristiche avanzate delle macchine TED, come il BASIC 3.5 che venne ulteriormente sviluppato e portato alla versione 7.[3] Il C128 fu presentato anche come modello da ufficio per contrastare l'Apple 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.[4]

Fu l'ultima macchina ad 8 bit prodotta dalla Commodore e venne presto abbandonato a causa dell'imminente successo delle macchine a 16 bit e soprattutto della nuova piattaforma da poco acquistata dalla Commodore, l'Amiga.[3]

Caratteristiche[modifica | modifica wikitesto]

Il Commodore 128 montava il processore MOS 8502 che, sebbene più potente di quello del C64 (il 6510), ne manteneva la compatibilità e rendeva quindi possibile l'esecuzione di tutto il parco software già esistente. Le nuove caratteristiche hardware promettevano inoltre una più vasta gamma di utilizzi professionali e ludici: la grafica offriva una modalità a 640x200 (grazie al nuovo chip VDC) ed il suono era a 3 canali. Tuttavia, incredibilmente, il chip grafico era anche il maggior punto debole del C128: nonostante fosse ufficialmente messo in commercio come processore per modalità "solo testo", dalle schede tecniche si evinceva che esso disponeva anche di una modalità grafica ad alta definizione (senza supporto per gli sprite) ma i dettagli non erano sufficienti per poterne fruire, rendendo la modalità testuale ad 80 colonne l'unica effettivente utilizzabile su C128. Affiancato al VDC era stato integrato nella piastra madre anche il "vecchio" VIC-II, che però non era in grado di operare al clock di 2 MHz dell'8502: perciò l'unica maniera per avere la modalità a 40 colonne (320x200) era quella di operare a velocità dimezzata. Per rimediare a questo limite fu studiato un metodo per usare (almeno parzialmente) il clock a 2 MHz anche in modalità C64 che sfruttava l'interrupt agganciato al pennello elettronico che disegnava l'immagine sul quadro video. Il pennello video lanciava l'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 MHz ed a tale velocità restava mentre il pennello disegnava le parti vuote sopra e sotto l'immagine centrale, venendo poi reimpostato a 1 MHz quando iniziava nuovamente a disegnare l'area principale.[5]

Fu pubblicato in un libro anche un metodo che consentiva di sfruttare la modalità grafica del VDC, che consisteva nell'accedere alla memoria video indirizzando singolarmente ogni locazione, attraverso un macchinoso sistema a due registri che rendeva molto lente le operazioni grafiche. Lo sviluppo di giochi con grafica in modalità 640x200 era di fatto improponibile impiegando il BASIC nativo: per questo motivo gli autori del libro, tramite la loro software house Walrusoft, crearono il BASIC 8.0, una estensione al BASIC integrato che consentiva una gestione più semplice del VDC ma anche con più modalità grafiche aggiuntive.[6]

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à 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à C64.

Per permettere al CP/M di funzionare con prestazioni degne, il Commodore 128 supportava nativamente una modalità di trasferimento accelerata dei dati sul bus seriale dei dischi (burst mode) e a tale scopo furono proposte per questo computer due nuove unità 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 dal CP/M, oltre che nel precedente GCR, usato dalla Commodore.

Il successivo modello C128D era sostanzialmente identico al C128 dal punto di vista hardware/software, ma era dotato di un corpo macchina centrale con unità floppy 1571 incorporata e di una tastiera separata, come i PC IBM. Questo modello, molto più costoso del C128 standard, ebbe comunque un successo commerciale limitato poiché il prezzo lo metteva in concorrenza diretta sia con altre macchine CP/M professionali, sia con le nuove macchine a 16 bit. Concepito come computer trasportabile, con un elegante cabinet in plastica al di sotto del quale si poteva agganciare la tastiera e con una maniglia a scomparsa su un lato, fu prodotto anche in una versione dal case quasi interamente metallico, per ridurre i costi; quest'ultima variante è più diffusa negli Stati Uniti.

Si ha notizia di alcuni prototipi di stile: si trattava di due o tre modelli 128 "classici" dotati di unità a dischi interna. È assai probabile che non siano mai stati trasformati in materiale funzionante a causa di difficoltà costruttive.

Sistema operativo[modifica | modifica wikitesto]

Il BASIC residente del C128, denominato BASIC 7.0 integrava funzioni grafiche avanzate e la possibilità di controllare la parte audio. Il Commodore 128 si segnala per essere stato prodotto sia nel classico modello con tastiera americana sia in versioni nazionalizzate. Il C128 è anche il primo modello Commodore nel quale la schermata di avvio mostra chiaramente il Copyright di Microsoft per il linguaggio BASIC.

Un'altra curiosità del C128 è ritrovabile in un easter egg, un messaggio nascosto nel sistema richiamabile con l'istruzione SYS32800,123,45,6 e che mostra sia i nomi dei progettisti hardware e software del computer sia un appello contro la guerra, «Link arms, don't make them».[7][8]

L'accensione del sistema avvia anche la ricerca di software autoavviante dalla prima unità a dischi. Questa caratteristica, anch'essa una novità per i computer Commodore, è 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à di funzionamento. La partenza avveniva, oltre che per accensione, alla pressione del tasto di reset e con il comando basic BOOT.

Il BASIC 7.0 contiene anche dei comandi non implementanti: 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.[9]

Per il C128 venne creata una particolare versione del Sistema Operativo ad icone GEOS, che già 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 ed 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à che ne detiene i diritti.[10]

Un discorso a parte merita il CP/M. Questo era all'epoca un sistema operativo molto noto ed assai apprezzato (un vero "industry standard"). CP/M ispirò il QDOS da cui derivarono i sistemi operativi per PC IBM (il PC-DOS di IBM e l'MS-DOS di Microsoft). La Commodore dotò il C128 della più moderna implementazione per Z80, il CP/M 3.0 (alias CP/M Plus - retrocompatible con il più diffuso CP/M 2.2) e della emulazione di terminale ADM31/3A.

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, dBase II della Asthon tate, Turbo Pascal della Borland, eccetera.

Sfortunatamente alcune scelte implementative, il tipico target utente del C128, unito 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é venne sfruttata particolarmente la possibilità di comunicare (a basso livello) con l'altra cpu (il 8502).

Da un lato la scelta di dotarlo di CP/M 3.0 (più lento del 2.2), unita al fatto che lo Z80 funzionava a 2 MHz, invece dei più canonici 4/6 MHz presenti in hardware concorrenti, ne faceva una delle implementazioni più lente. Era pianificato che operasse a 4 MHz a 80 colonne, ma questo non avvenne. Andava, altresì, tenuto conto che il CP/M era principalmente un DOS, cioè 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ò questo computer semplicemente come un C64 "con una marcia in più", 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à 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.

Caratteristiche tecniche[modifica | modifica wikitesto]

  • CPU:
    • MOS 8502 capace di operare a 2 MHz in modalità nativa "C128 a 80 colonne" oppure a 1 MHz in modalità "C128 a 40 colonne" o in modalità "C64". Operando a 2 MHz viene però oscurato l'output del processore VIC-II. Il segnale del VDC, a 80 colonne, rimane ovviamente visibile. *
    • Zilog Z80 a 4 MHz per lanciare e gestire il sistema operativo CP/M+. Sta di fatto che i 4 MHz, per altri limiti hardware (sono introdotti dei ritardi per permettere al VIC-II di accedere al bus di sistema), non vengono realmente impiegati, operando quindi a 2 MHz.
    • MOS 6502 presente nei soli modelli C128D e C128DCR come processore del controller del lettore di floppy integrato.
  • ROM: 68 KB[11]
  • RAM:
    • 64 KB suddivisa in 2 banchi da 32 KB
    • Espandibile a 512 KB con schede originali Commodore (a 1 MB con schede di terze parti)
  • Chip video:
    • MOS VDC (modalità C128 e CP/M)
      • 16 KB di RAM dedicata. I C128D erano equipaggiati con ben 64 kB dedicati permettendo risoluzioni più alte e/o con un numero maggiore di colori.
      • Ufficialmente il BASIC supporta solo la modalità testuale 80×25 con 16 colori (alcuni diversi da quelli del VIC-II).
      • Modalità grafica: 640×200 monocromatica (e fino a 16 colori, se si hanno 64 KB) o 640×400 interlacciato (se 64 KB). Entrambe non supportate dal BASIC di serie ed usabili solo mediante accesso indiretto ai registri ed alla memoria del chip o usando estensioni del BASIC di terze parti.[6]
      • Output RGBI (o anche videocomposito, se ci si limita al monocromatico).**
    • MOS VIC-II:
      • usato in modalità C64
      • Modalità Testo: 40×25 caratteri su schermo (o su televisore) indipendente dal VDC:
      • Modalità Grafica: 320×200 monocromatico oppure 160×200 a 4 colori.
      • 8 sprite gestiti in hardware.
      • Output su videocomposito o TV (RF). Schermo gestito indipendentemente dall'altro.
    • Se si hanno 2 monitor, è possibile visualizzare contemporaneamente le uscite del VDC e del VIC-II.
  • Audio:
  • Tastiera:
    • tipo esteso a 92 tasti con tastierino numerico.
  • Porte:
    • 1 seriale IEC
    • 1 userport
    • 1 porta cartucce C64
    • 1 Audio/Video
    • 1 RGBI
    • 1 Antenna HF
    • 1 porta per unità a nastro Datassette
    • 2 porte Joystick "standard Atari"
  • Sistemi Operativi disponibili:
    • KERNAL (integrato in ROM)
    • CP/M (dischetto incluso con il computer, lettore dischi da acquistare separatamente)
  • Software incluso in ROM:
  • Software di terze parti:
    • BASIC 8.0
    • GEOS64
    • GEOS C128
    • Lunix
*: Tipicamente, in "C64 mode", la modalità a 2 MHz (per via dell'oscuramento e del fatto che nel 6510 questa possibilità non esisteva), non sarebbe impiegabile. In realtà esiste il modo, e si può mantenere l'uso del video, alternando il clock fra 1 e 2 MHz ad ogni segnale di vertical blank tramite una routine guidata dall'interrupt del raster video.
**: la porta RGBI è un connettore standard DB9, con segnali RGB TTL digitali (come l'antico standard CGA, quindi 15 kHz)

Pregi e difetti del C128[modifica | modifica wikitesto]

L'alta compatibilità con il Commodore 64 è dovuta al fatto che i più importanti componenti del C64, come il VIC, il SID e le ROM del BASIC 2.0 e del KERNAL del 64 sono presenti anche nel C128 e grazie al fatto che la CPU MOS 8502 è completamente retrocompatibile con il 6510. Si possono collegare al C128 tutte le periferiche del C64, incluse le cartucce, che fanno partire automaticamente il C128 in modalità 64.

A volte però in modalità 64 era possibile riscontrare differenze rispetto ad un C64 "vero", 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à 64.

Ciascuna delle due CPU può 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.

Risultati conseguiti[modifica | modifica wikitesto]

Nonostante la pubblicità lo rappresentasse come il terrore degli IBM compatibili o un Macintosh killer, il C128 non ebbe una grande fortuna.[senza fonte] Possedeva di base la stessa quantità di memoria del Macintosh 128K e capacità grafiche e sonore maggiori rispetto ad un IBM compatibile dell'epoca, poteva contare sulla vastissima quantità di software già scritto per il C64 e sul sistema Operativo CP/M, precedente l'MS-DOS e ispiratore di quest'ultimo. La scarsa penetrazione nel mercato è in parte dovuta al fatto che, al momento del lancio, lo standard CP/M stava già morendo commercialmente, in favore dell'MS-DOS. La natura "trasversale" del computer, un po' home e un po' personal, con i limiti del primo e, una volta utilizzato come tale, i costi del secondo, ha contribuito ad accentuare tale effetto.

Dopo il successo del Macintosh, Apple lanciò nuovi modelli, tra i quali il Macintosh Plus, con più memoria (1 MB) e una interfaccia SCSI che permetteva l'aggiunta di hard disk e di altre periferiche, surclassando la Commodore. La risposta di Commodore, oltretutto pressata dalla concorrenza della Atari già in mano al fuoriuscito fondatore Jack Tramiel, fu l'acquisizione dalla Hi-Toro dell'intero progetto e della tecnologia della allora console da videogiochi Amiga. Quest'ultima disponeva di caratteristiche multimediali all'avanguardia e fu successivamente sviluppata come computer. Tutto ciò fece scemare rapidamente l'interesse verso il Commodore 128, che fu ben presto dimenticato tranne che da pochissimi affezionati utenti ed oggi degli appassionati di retrocomputing.

Modelli di Commodore 128[modifica | modifica wikitesto]

  • Commodore 128
    • Commodore 128D
    • Commodore 128DCR

Note[modifica | modifica wikitesto]

  1. ^ a b Commodore 128, C64-wiki.com. URL consultato il 17/12/2017.
  2. ^ Plus/4 & C-16: Disappointingly Mediocre (PDF), Toronto PET Users Group, Febbrario 1985. URL consultato il 17/12/2017.
  3. ^ a b Ian Matthews, Commodore 128 - The most versatile 8 bit computer ever made, Commodore.ca, 11/07/2003. URL consultato il 17/12/2017.
  4. ^ Commodore 128, Old-computers.com. URL consultato il 17/12/2017.
  5. ^ Gary Lamon, 64 Mode Speed Up for the C128 (JPG), COMPUTE!'s Gazette, luglio 1985, pp. 75/76. URL consultato il 17/12/2017.
  6. ^ a b Il BASIC 8 della Walrusoft, Retrocommodore, 28/03/2010. URL consultato il 17/12/2017.
  7. ^ Polgár Tamás, Freax: The Brief History of the Computer Demoscene, CSW-Verlag, 2016, p. 61. URL consultato il 17/12/2017.
  8. ^ Commodore 128 Easter Egg - Anti-War Message, The Easter egg Archive. URL consultato il 17/12/2017.
  9. ^ Early Home Computers, PediaPress.
  10. ^ GEOS download section - Getting started, CBMfiles.com. URL consultato il 17/12/2017.
  11. ^ Manuale di riferimento del programmatore per il C128 (PDF), Commodore, 1986, pp. 563. URL consultato il 17/12/2017.

Bibliografia[modifica | modifica wikitesto]

Libri
Riviste

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Controllo di autoritàGND: (DE4113233-6