30 agosto 2011

Commodore 128 (dalla mia collezione)

+ manuale in italiano



CPU: MOS 8502 a 1 o 2 MHz, Zilog Z80 a 4 MHz
ROM: 64 KByte: Basic 7.0 (32KB), KERNAL (16KB), C64 (16KB)
RAM: 128 KByte espandibile a 512 KByte
Video: MOS 6569 "VIC-II" 320x200 o 160x200, testo 40x25. MOS 8563 "VDC" 640x200 o 640x400, testo 80x25. Max 16 colori
Audio: MOS 6581 "SID" mono 3 canali, 6 ottave
Anno: 1985


Le informazioni seguenti sono prese da qui

Il Commodore 128 è un modello di computer della CBM Commodore Business machines commercializzato nel gennaio del 1985, tre anni dopo il suo celebre predecessore, il Commodore 64.

Caratteristiche tecniche:

-> ROM 64 KByte: in Basic V7.0 (32 KByte), KERNAL (16 KByte) e C64 (16 KByte)
-> Processore MOS 8502 a 1 oppure 2 MHz (viaggiando a 2 MHz viene però oscurato l'output del processore VIC-II. Il 8563, a 80 colonne,    rimane ovviamente visibile.)
PS: Tipicamente, in "C64 mode", la modalità a 2 MHz (per via del 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, switchando tra 1 e 2 MHz, ad ogni vertical blank, tramite una routine guidata dall'interrupt del raster video.
-> Processore parallelo Zilog Z80 a 4 MHz per lanciare e gestire il SO CP/M. Sta di fatto che i 4 MHz, per altri limiti hardware, non vengono realmente impiegati, operando quindi a 2 MHz.
-> Chip Video MOS 6569 "VIC-II", e MOS 8563 "VDC" (in modalità C 128 e CP/M)
PS: il 8563 VDC usualmente ha 16 kB di video RAM dedicata. I C128D erano equipaggiati di ben 64kB permettendo risoluzioni più alte e/o con un numero maggiore di colori.
-> Chip Audio MOS 6581 "SID" mono 3 canali, 6 ottave
-> RAM 128 kb (visibili in due banchi da 64K) espandibile a 512kb.
-> Modalità Testo 80x25 (8563) e 40x25 (VIC-II) su schermi indipendenti, quest'ultima anche su televisore
-> Modalità Grafica
Via 8563 : 640x200 monocromatico (e oltre, se si hanno 64Kb), 640x400 interlacciato (se 64Kb). Entrambe non supportata dal Basic di  serie. Output RGBI (o anche videocomposito, se ci si limita al monocromatico).
Via VIC-II : 320x200 monocromatico oppure 160x200 a 4 colori. 8 Sprite gestiti dall'hardware. Output su videocomposito o TV (RF). Schermo gestito indipendentemente dall'altro.
-> Colori 16
-> 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 Datasette, 2 Joystick "standard Atari"
PS: la porta RGBI è un connettore standard DB9, con segnali RGB TTL digitali (come l'antico standard CGA, quindi 15 kHz)
Sistemi Operativi disponibili BASIC 7.0, BASIC 2.0 (modalità C64), BASIC 8.0, CP/M, GEOS64, GEOS C128, Lunix

Storia

Il C 128 nacque dopo lo sfortunato tentativo del 1984 di rimpiazzare il VIC-20 e il Commodore 64 con le macchine della serie TED (dal nome della particolare componentistica), ossia il Commodore 16 (detto anche C16) e il Plus 4, quest'ultimo destinato all'utenza professionale: queste macchine non erano però compatibili con i due predecessori e non potevano sfruttare la gran massa di programmi e giochi scritti per il C64. Vista la pessima accoglienza delle due nuove macchine sul mercato e resosi conto dell'errore commesso, il management di Commodore cercò di riparare con il Commodore 128, che era compatibile con il C64 ma implementava alcune delle caratteristiche avanzate delle macchine TED, come il BASIC 3.5 che venne ulteriormente sviluppato e portato alla versione 7.
Fu così che il C 128 fu lanciato da Commodore nel 1985 al Las Vegas Computer Show. Per l'epoca era un computer dalle notevoli caratteristiche, ma presto, come è stato già detto fu abbandonato a causa dell'incredibile successo delle macchine a 16 bit e soprattutto della nuova piattaforma da poco acquistata dalla Commodore, l'Amiga.

Il Commodore 128 montava un processore (MOS 8502) che, sebbene più potente di quello del C64 (il 6510), era compatibile con esso e poteva far girare tutto il parco software del fratello più anziano e più diffuso. Le nuove caratteristiche hardware promettevano inoltre, sulla carta, una più vasta gamma di utilizzi professionali e ludici: la grafica offriva una modalità a 640x200 (grazie al nuovo chip VDC) e il suono era a 3 canali. Tuttavia, incredibilmente, proprio questo chip era il maggior punto debole del C128: il chip era stato ufficialmente rilasciato come processore per modalità "solo testo", anche se, leggendo attentamente le schede tecniche, si evinceva che era possibile anche una modalità grafica ad alta definizione (senza supporto per gli sprite), ma i dettagli non erano sufficienti per poterla utilizzare. A causa di ciò l'unica modalità usabile del VDC era quella testuale ad 80 colonne. 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 a velocità dimezzata.
Solo più tardi fu pubblicato in un libro il modo per accedere alla modalità grafica del VDC: in pratica si trattava di accedere alla memoria video del VDC 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 eccezionale estensione al BASIC che consentiva una gestione semplice del VDC).

Il Commodore 128 poteva contare anche su un processore parallelo 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 di fatto il fulcro centrale senza il quale il C128 non sarebbe potuto esistere: era questa CPU, infatti, che veniva "risvegliata" per prima all'avvio della macchina e controllava se non fossero inserite delle cartucce C64/C128 nell'apposito slot 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 oltre che nel precedente GCR.

Sistema Operativo

Il BASIC residente del C 128, 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 C 128 è anche il primo modello Commodore nel quale la schermata di avvio mostra chiaramente il Copyright di Microsoft per il linguaggio BASIC. Un'altra prima volta Commodore del 128 è ritrovabile in un easter egg, un messaggio nascosto nel sistema, contenente tra gli altri i nomi dei progettisti, richiamabile con l'istruzione SYS32800,123,45,6. 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 128, 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, per quanto interessante, era anche incompleto: i comandi quit e off generano l'errore ?UNIMPLEMENTED COMMAND ERROR. I nomi dei due comandi suggeriscono rispettivamente la possibilità di un sistema operativo dischi residente, come sugli Atari 800 e simili, e la possibilità di permettere al computer di spegnersi da solo. È assai probabile che si tratti di caratteristiche stralciate in fase progettuale per ridurre i costi.

Per il C 128 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, quello per l'uscita a 80 colonne, ed il bank switching necessario a sfruttare le espansioni di memoria da 128KB e 512KB 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, dal sito della casa che ne detiene i diritti.
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.

Pregi e difetti del C128

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 (rarissime in realtà) però in modalità 64 si presentano differenze rispetto ad un C64 "vero", e questo talvolta genera 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.

Nessun commento:

Posta un commento