Commodore 16

Da Wikipedia, l'enciclopedia libera.
Commodore 16
Commodore 16 002a.png
Il Commodore 16
Classe di computer home computer
Paese d'origine Stati Uniti d'America
Produttore Commodore Business Machines Inc.
Presentazione 1984
Inizio commercializzazione 1984
Fine commercializzazione 1984
CPU MOS 7501
Frequenza 0,89 o 1,76 MHz
FPU non presente
MMU non presente
Altri coprocessori TED
ROM 32 kB
RAM di serie 16 kB
SO di serie KERNAL
Altro software di serie Commodore BASIC 3.5

Il Commodore 16 è un modello di home computer presentato da Commodore nel 1984 come erede del VIC-20. Faceva parte della serie 264, che comprendeva anche il Commodore Plus/4 ed il raro Commodore 116.

I motivi della realizzazione del Commodore 16[modifica | modifica wikitesto]

Agli inizi degli anni ottanta la Commodore aveva in listino il VIC-20, presentato nel 1981 e destinato alla fascia bassa di mercato, e il più costoso Commodore 64, dotato di prestazioni superiori e messo in commercio nel 1982. In mezzo ad essi si posizionavano, offerti a prezzi che si aggiravano intorno ai 100 dollari, diversi prodotti delle concorrenti Timex Corporation, Mattel e, soprattutto, Texas Instruments (con il suo TI-99/4A). L'allora presidente della Commodore, Jack Tramiel, decise quindi di completare l'offerta delle sue macchine realizzando un home computer che si posizionasse in quella fascia; inoltre, Tramiel temeva che alcuni costruttori giapponesi avrebbero prima o poi realizzato degli home computer di fascia medio-bassa, facendo crollare i prezzi, previsione che si rivelò infondata perché questi si dedicarono al settore delle console da gioco. Inoltre, Timex Corporation, Mattel e Texas Instruments si ritirarono dal mercato prima dell'arrivo dei nuovi prodotti.

Ignari dei futuri sviluppi del mercato, gli ingegneri Commodore si misero quindi al lavoro e progettarono la serie 264, una nuova famiglia di computer che comprendeva: il Commodore Plus/4, come modello di punta; il Commodore 16, come modello intermedio; il Commodore 116 (una versione del C-16 con case di ridotte dimensioni e tastini in gomma destinato al solo mercato europeo), come modello economico.

Caratteristiche tecniche[modifica | modifica wikitesto]

Aspetto[modifica | modifica wikitesto]

Commodore 16

Il C-16 fu il secondo computer della serie 264 ad essere presentato ma, a differenza del Plus/4, furono riprese le forme del VIC-20 e del C-64: il case rotondeggiante era di colore nero con i 66 tasti grigio chiari; l'alimentatore, come sui cugini, era esterno a 9 Volt. Le similitudini finivano qui: il Commodore 16 era una versione depotenziata del Plus/4, montando lo stesso processore e lo stesso coprocessore, adottando gli stessi connettori (incompatibili con quelli del VIC-20 e del C-64) per le periferiche base, ossia joystick e registratore (esistevano comunque in commercio dei cavi convertitori per usare le periferiche del C-64 sul C-16 e viceversa) ed integrando il Commodore BASIC in versione 3.5. Il connettore seriale, pur essendo in grado di gestire una velocità maggiore del transfer rate rispetto a VIC-20 e C-64 (con periferiche specifiche), era invece pienamente compatibile con le periferiche del C-64 e VIC-20 (a costo ovviamente di rinunciare alla velocità maggiore).

La CPU 7501[modifica | modifica wikitesto]

Exquisite-kfind.png Per approfondire, vedi MOS 7501.
Piedinatura del MOS 7501.

Il Commodore 16 era basato su una nuova CPU siglata MOS 7501, evoluzione del 6510 che muoveva il C-64. Rispetto a quest'ultimo il 7501 lavorava a 0,89/1,78 MHz di frequenza, aveva un canale I/O bidirezionale a 7 bit addizionale e presentava il bank switching (tecnologia poi ripresa anche nel Commodore 128) che permetteva di gestire dinamicamente i banchi di memoria visibili alla CPU: si poteva cioè avere più di un banco con lo stesso indirizzo, ad esempio uno ROM ed uno RAM, e selezionare di volta in volta quello attivo su cui operare. In questa maniera, dei 16 kB di memoria RAM totali disponibili sul computer, l'utente ne poteva utilizzare da BASIC circa 12 (il messaggio "12277 bytes free" che appariva all'accensione della macchina): anche se questa quantità era di per sé poca, relativamente parlando era una buona percentuale se si pensa che dei 64 KB di RAM del C-64 l'utente ne poteva usare solo 38 da BASIC, mentre il resto era comunque disponibile a patto di lavorare in linguaggio macchina e disattivando il banco ROM contenente il BASIC.

L'interazione del 7501 con il TED causava ovviamente dei rallentamenti che comunque si potevano evitare se si disattivava l'output video del TED manipolando i suoi registri: in questa modalità il clock della CPU raddoppiava (da 0,89 a 1,78 MHz). Questa modalità era utile, ad esempio, per eseguire calcoli particolarmente gravosi: eliminando il video, si riduceva del 30% il tempo di elaborazione. Terminato il processo, bastava riattivare l'output e visualizzare a schermo i risultati.

Il chip TED 7360[modifica | modifica wikitesto]

Exquisite-kfind.png Per approfondire, vedi MOS TED.
Piedinatura del TED 7360.

Affiancato alla CPU c'era un nuovo chip per la gestione della grafica e del suono, il TED 7360 (acronimo di Text Editing Device): con il TED il C-16 riprendeva l'architettura del VIC-20, dove un unico coprocessore (il VIC) integrava sia l'unità grafica che quella audio mentre sul C-64 queste erano separate (la parte grafica era gestita infatti dal VIC-II, mentre il suono era controllato dal SID).

Il TED era capace di 5 modalità video:

  • modalità Text mode con 40x25 caratteri: caratteri di 8x8 pixel con 2 colori, uno per il testo ed uno per lo sfondo;
  • modalità Multicolor text: i colori per carattere divenivano 4, di cui uno fisso per lo sfondo di tutto il video, ma la risoluzione orizzontale veniva dimezzata (4x8 pixel per carattere);
  • modalità Extended background color mode: qui i caratteri (di 8×8 pixel) potevano avere colori di sfondo differenti l'uno dall'altro;
  • modalità Multicolor Graphics: modalità grafica con risoluzione schermo di 160×200 pixel e 4 colori;
  • modalità Hi-Res Graphics: modalità grafica con risoluzione di 320×200 pixel e 2 colori.

Le ultime due modalità permettevano anche una modalità mista in cui si aveva nella parte alta una finestra grafica di 160 pixel di altezza e nella parte bassa una finestra alta 40 pixel in modalità testo con 5 righe di caratteri visualizzabili. L'accesso alla modalità grafica riduceva però la RAM disponibile all'utente di 8 KB (necessari a memorizzare i dati dell'immagine), rendendo di fatto impossibile scrivere programmi grafici di una certa complessità.

I colori disponibili erano ben 121 (una rarità per i computer dell'epoca) contro i 16 del C-64, grazie al fatto che il TED poteva gestire la luminanza del colore: in questo modo si avevano 8 tonalità per ognuno dei 15 colori di base (15x8=120) più il nero (120+1=121).

La grave pecca del TED era l'assenza degli sprite che invece avevano fatto la fortuna del C-64: per questo motivo i giochi del C-16 non erano paragonabili a quelli del cugino più blasonato.

A livello audio il TED integrava solo 2 generatori sonori contro i 3 del VIC e del SID. Inoltre, i generatori del TED erano capaci di generare solo onde quadre o rumore bianco (2 onde quadre oppure 1 onda quadra ed 1 rumore bianco), dato che erano stati studiati più per un impiego in applicazioni da ufficio che per i giochi: non va dimenticato infatti che il Plus/4, da cui deriva il C-16, era nato come tale offrendo in ROM quattro programmi tipicamente da ufficio, come l'editor di testi ed il foglio elettronico.

La memoria[modifica | modifica wikitesto]

Scheda madre revision A - Notare la dicitura "264 Series" a conferma della parentela del C16 con il fratello maggiore Plus 4

Il C-16 era dotato di 16 KB di memoria RAM e 32 KB di memoria ROM. La RAM era la memoria volatile destinata a contenere i programmi inseriti o caricati ma, come detto, di questa solo 12 KB erano utilizzabili effettivamente dall'utente: i primi 4 kB erano infatti occupati dal sistema per i registri mappati in memoria, i puntatori a varie funzioni, i buffer di I/O e lo stack (2 kB), e dalla memoria video per la modalità testuale (2 kB, di cui 1 per i caratteri da visualizzare sullo schermo ed 1 per i loro attributi). La RAM utile scendeva a 4 KB se si attivava la modalità grafica perché il TED mappava nella RAM utente il buffer grafico, togliendo altri 8 kB.

Nei 32 KB di ROM erano stipati tutti i dati necessari al funzionamento del computer: questi erano prevalentemente occupati dal KERNAL (circa 8 KB), dall'interprete BASIC e dall'editor di schermo (circa 16 KB), dai font (2 KB), dal monitor esadecimale e da tutte le routine accessorie.[1]

I font[modifica | modifica wikitesto]

Il set di caratteri era residente in ROM e derivava dal set PETSCII già usato da Commodore sui precedenti modelli VIC-20, C-64 e PET. Rispetto ai set in standard ASCII, il PETSCII comprendeva caratteri alfanumerici e semigrafici. Era costituito da due mappature differenti: una per la modalità maiuscola (quella standard), costituita da lettere maiuscole, numeri e caratteri grafici, ed una per la modalità minuscola, costituita da lettere minuscole e maiuscole e da altri caratteri grafici. I font potevano essere modificati semplicemente copiando i dati in memoria RAM, alterando i caratteri da cambiare e poi variando i puntatori alla mappa dei caratteri in modo che il sistema leggesse i nuovi font.

Sistema operativo[modifica | modifica wikitesto]

Il sistema operativo del C-16 era costituito, come per il VIC-20 ed il C-64, da 3 parti indipendenti ed integrate: il KERNAL, l'interprete BASIC e l'editor di schermo.

Il KERNAL[modifica | modifica wikitesto]

Exquisite-kfind.png Per approfondire, vedi KERNAL.

Anche il nucleo del sistema operativo del C-16 era il KERNAL (non Kernel), nato per i PET e poi utilizzato su tutti i computer Commodore ad 8 bit fino al C-128. Il KERNAL risiedeva in 8 KB di ROM ed era composto da tutte le routine di basso livello per il controllo dell'hardware del computer come l'I/O, lo schermo, le periferiche. Le routine potevano essere richiamate dall'utente utilizzando una jump table standard per tutti i computer Commodore così da rendere un programma in linguaggio macchina il più trasportabile possibile.

Il BASIC 3.5[modifica | modifica wikitesto]

Exquisite-kfind.png Per approfondire, vedi Commodore BASIC.
Lo schermo del Commodore 16 appena acceso. Notare l'indicazione della memoria libera, solo 12277 bytes

Il livello software superiore al KERNAL era costituito dall'interprete del Commodore BASIC, che si occupava di eseguire i comandi impartiti dall'utente richiamando le routine del KERNAL necessarie al compito da svolgere. Il Commodore BASIC, che derivava dal Microsoft BASIC, era aggiornato alla versione 3.5, che offriva diversi comandi in più rispetto al BASIC 2.0 del VIC-20 e del C-64, tra i quali i più importanti erano quelli per:

  • la gestione della grafica e del suono (CIRCLE, DRAW, SOUND, ecc...);
  • il controllo della porta joystick (JOY);
  • la conversione decimale/esadecimale (DEC, HEX$);
  • i cicli strutturati (DO, LOOP, WHILE, UNTIL, EXIT);
  • l'assegnamento ai tasti funzione (KEY);
  • il supporto all'editing dei programmi (AUTO, DELETE, RENUMBER);
  • il debugging (TRON, TROFF);
  • la chiamata del monitor esadecimale (MONITOR).

Il monitor esadecimale era un vero e proprio assemblatore/disassemblatore fornito di una dozzina di comandi grazie ai quali si potevano scrivere programmi direttamente in assembly, modificare i contenuti delle locazioni di memoria, salvare su nastro o caricare da esso porzioni di memoria. A questo mini-editor si poteva accedere anche premendo contemporaneamente il tasto RUN-STOP ed il tastino di reset.

L'editor di schermo[modifica | modifica wikitesto]

Lo schermo era in realtà gestito come un editor, mediante il quale l'utente poteva comandare direttamente il computer: esso assolveva ai compiti di interfaccia a riga di comando. Alla pressione del tasto "RETURN", il testo scritto sulla riga dove era presente il cursore veniva interpretato dall'editor di schermo: se veniva riconosciuto un comando, questo veniva eseguito immediatamente dall'interprete BASIC. Se la riga iniziava con un numero, l'editor di schermo la interpretava come una riga di "listato" e la memorizzava in un'apposita area di memoria dove risiedeva il programma dell'utente.

Le periferiche[modifica | modifica wikitesto]

registratore a cassette

Come detto, la Commodore ebbe la sfortunata idea di dotare la linea 264 di diversi connettori specifici così che quasi nessuna delle numerose periferiche in circolazione per il VIC-20 ed il C-64 potesse essere utilizzata con la nuova macchina. Tra queste (tutte di colore nero e quasi tutte prodotte dalla Commodore perché i vari costruttori, visto lo scarso successo commerciale del C-16, snobbarono questo computer) ricordiamo il registratore a cassette modello 1531 ed il joystick T-1341. Venne creata anche una specifica unità a floppy siglata 1551 che era mediamente più veloce del modello 1541 del C-64 perché sfruttava 4 fili del connettore seriale invece dei 2 usati sul C-64: a differenza di altri, questo connettore era lo stesso di quello presente su VIC-20 e C-64 e, quindi, era perfettamente compatibile con drive, stampanti e periferiche seriali creati per questi computer.

Furono prodotte anche delle espansioni di memoria ma ebbero poca diffusione perché erano rare, costose e presentavano problemi di compatibilità.

L'insuccesso commerciale[modifica | modifica wikitesto]

Il C-16 presentava gli stessi vantaggi e svantaggi del Plus/4. Ad un BASIC 3.5 ricco di comandi avanzati, ad un'ottimale gestione della memoria, ad un ricco set di colori si contrapponevano l'assenza del SID e, soprattutto, degli sprite che, unitamente alla poca RAM, alla necessità di utilizzare periferiche con connettori specifici e all'incompatibilità della macchina con gli altri modelli Commodore più diffusi ne decretarono lo scarso successo.

La vita commerciale del C-16 durò perciò veramente poco: tolto dal mercato quasi subito negli USA, ebbe un discreto seguito solo in Europa, dove anche il Plus/4 non si comportò male. All'arrivo del Commodore 128, nel 1985, il C-64 fu riposizionato come modello d'ingresso e la sfortunata serie 264 fu messa definitivamente in pensione.

Software e pubblicazioni[modifica | modifica wikitesto]

La scarsa dotazione di memoria, l'assenza degli sprite e la presenza di un audio di basso livello non facilitarono lo sviluppo di software: gli applicativi di una certa rilevanza furono pochi, mentre i giochi, creati in discreta quantità, qualitativamente erano di livello inferiore a quelli del C-64. Ciò nonostante si ebbero diversi titoli, molti originali per il C-16 ed anche alcune conversioni di giochi famosi come Paperboy, Bomb Jack o Ghosts 'n Goblins.

In edicola comparvero diverse raccolte periodiche su nastro di programmi e giochi per C16 che uscivano generalmente in abbinamento a software per altri computer, tipicamente C-64 o VIC-20 ma non mancarono i casi di abbinamento a giochi per macchine non Commodore, come l'MSX. A livello di riviste cartacee l'interesse fu modesto: solo quelle specificatamente dedicate ai computer Commodore, come la nota Commodore Computer Club, dedicò spazio a questo computer pubblicando listati di programmi ed utility.

Nonostante le forti limitazioni hardware, molti dei programmatori si ingegnarono per riuscire a far stare il software che scrivevano (soprattutto videogiochi) nei pochi KB disponibili; e, di fatto, la quasi totalità del software commerciale prodotto per la serie 264 si accontentava dei 12 KB del C-16. Questo decretò (relativamente) un insuccesso ancora maggiore per il Plus/4, oltre quello della differenza di prezzo, essendo assai scarsa la diffusione di software specifico per quest'ultima macchina (che inoltre presentava alcuni -sia pur rari- problemi di compatibilità col software prodotto per il C-16).

A livello di pubblicazioni il Commodore 16 non riscosse più fortuna: solo pochi editori, tra cui il Gruppo Editoriale Jackson[2], offrirono alcuni libri di approfondimento e manuali di programmazione dedicati espressamente a questo computer.

Curiosità[modifica | modifica wikitesto]

Una variante argentina era assemblata localmente, avvantaggiandosi della legislazione in vigore all'epoca, dalla società Drean. Essa si distingueva per una differente placca di identificazione riportante il logo Drean prima di quello Commodore.Il marchio Commodore16 è stato acquistato dal giovane imprenditore italiano Massimo Canigiani, mentre Commodore, ed il rispettivo logo, da una società olandese.

Note[modifica | modifica wikitesto]

  1. ^ Janne Peräaho, Anders Persson, Mappa di memoria del Commodore 16, 09/12/1994. URL consultato il 02/08/2012.
  2. ^ Gruppo Editoriale Jackson, Plus4 World. URL consultato il 06/12/2012.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica