2 settembre 2011

Commodore 16 (dalla mia collezione)

+ 2 Commodore Joystick T1341 + datassette 1531, tutto in scatole originali


clicca sulla foto per ingrandirla e per visualizzare altre immagini

CPU: MOS 7501 (evoluzione del 6510), 0,89/1,78 MHz, 8 bit
ROM: 32 KByte con Kernal, editor di schermo e Commodore BASIC 3.5
RAM: 16 KByte espandibile (12 KByte liberi per il BASIC)
Video: TED 7360, max 320x200, 40x25 caratteri in modo testo, max 121 colori
Audio: TED 7360, 2 canali
Anno: 1984


Le informazioni seguenti sono prese da qui

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

Agli inizi degli anni ottanta la Commodore aveva a 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.

La CPU 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.
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

Affiancato alla CPU c'era un nuovo chip per la gestione della grafica e del suono, il TED 7360 (acronimo di Text Editing Video): il TED riprendeva l'architettura del VIC-20, dove un unico processore (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.

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

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 disponibili effettivamente all'utente. Questo quantitativo scendeva a 4 KB se si attivava la modalità grafica perché il TED mappava nella RAM utente il buffer grafico. 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.

I font

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

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.
[modifica] Il 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

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'insuccesso commerciale

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

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.

Nessun commento:

Posta un commento