Commodore 16

home computer del 1984 prodotto dalla Commodore

Il Commodore 16 è un modello di home computer presentato da Commodore nel 1984 come erede del VIC-20 e alternativa a più basso costo al Commodore 64.

Commodore 16
computer
Il Commodore 16
Tipohome computer
Paese d'origineBandiera degli Stati Uniti Stati Uniti
ProduttoreCommodore Business Machines Inc.
Presentazione1984
Inizio vendita1984
CPUMOS 7501
Frequenza0,89 o 1,76 MHz
FPUnon presente
MMUnon presente
Altri coprocessoriTED
ROM32 kB
RAM di serie16 kB
SO di serieKERNAL
Altro software di serieCommodore BASIC 3.5

Faceva parte della serie Commodore 264, che comprende il Commodore Plus/4 e il Commodore 116.

Storia modifica

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, il TI-99/4A prodotto dalla Texas Instruments.

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.

Gli ingegneri Commodore nel 1984 si misero quindi al lavoro e progettarono la Commodore 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.

Il C-16 non ebbe il successo sperato e non riuscì a dominare il mercato dei computer a basso costo. La competizione fu difficile, in particolare con lo ZX Spectrum che era al suo apice e il cui prezzo scese presto al di sotto di quello del C-16; anche lo stesso Commodore 64 ebbe forti riduzioni di prezzo, rendendo l'alternativa economica del C-16 meno interessante[1]. Il C-16 venne tolto dal mercato nel giro di un anno negli USA, ma ebbe una discreta diffusione in Europa. Un mercato notevole si formò in particolare in Ungheria[1]. La Commodore cessò la produzione entro il 1988 e svendette il suo inventario, generando un'ultima ondata di nuovi utenti[1].

In tutto i C-16 prodotti furono 1.200.000[senza fonte].

Caratteristiche hardware modifica

Design modifica

 
Commodore 16

Il C-16 fu il secondo computer della serie Commodore 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 e l'alimentatore esterno a 9 Volt. Le similitudini finivano qui: infatti il Commodore 16 era una versione depotenziata del Commodore Plus/4, montando lo stesso processore e lo stesso coprocessore, adottando gli stessi connettori di quest'ultimo) per le periferiche base, ossia joystick e registratore, anche se 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.

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, hardware dedicato agli sprite che, unitamente ai 16 kb di 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.

MOS 7501/8501 modifica

  Lo stesso argomento in dettaglio: MOS 7501.
 
Piedinatura del MOS 7501/8501.

Il Commodore 16 era basato su una nuova CPU siglata MOS 7501/8501, evoluzione del 6510 che muoveva il C-64. Rispetto a quest'ultimo il 7501/8501 lavorava a 0,89/1,78 MHz di frequenza, e aveva un canale I/O bidirezionale a 7 bit con cui, in collaborazione con il TED, gestiva 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/8501 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.

Chip TED 7360 modifica

  Lo stesso argomento in dettaglio: 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 3 comuni a tutti i caratteri dello schermo e 1 specifico per il carattere, 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 10 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), mancava tuttavia il supporto per gli sprite.

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 un editor di testo ed un foglio elettronico.

Memoria modifica

 
Scheda madre revision A, notare la dicitura "264 Series" a conferma della parentela del C16 con il fratello maggiore Plus 4. Il chip più grosso in posizione centrale bassa è il TED mentre quello sopra è la CPU.
 
Prima versione della scheda madre, solo nel prototipo del Commodore 16 installato.

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 2 kB se si attivava la modalità grafica perché il TED mappava nella RAM utente il buffer grafico, togliendo altri 10 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 in linguaggio macchina e da tutte le routine accessorie.[2] Qui di seguito l'allocazione della memoria del Commodore 16:[3]

Indirizzo Uso
Hex Dec
$0000-$07FF 0000-2.047 Memoria usata come RAM di sistema. Contiene anche la "Pagina zero", i primi 256 byte di memoria che possono essere indirizzati in maniera veloce dalla CPU
$0800-$0C00 2.048-3.071 Color RAM, usata per conservare i colori delle celle video in modalità testo
$0C01-$1000 3.072-4.095 Video RAM, usata per memorizzare i caratteri presenti nelle singole celle video in modalità testo
$1000-$3FFF 4.096-16.383 RAM dedicata al BASIC (programma + variabili) - in modalità grafica quest'area viene ridotta alla sezione $1000-$17FF / 4.096-6.143 (vedi sotto)
$1800-$1BFF 6.144-7.167 In modalità grafica quest'area contiene la luminanza dei pixel
$1C00-$1FFF 7.168-8.191 In modalità grafica quest'area contiene i colori dei pixel (Color RAM)
$2000-$3FFF 8.192-16.383 In modalità grafica quest'area è usata come buffer grafico (Video RAM)
$4000-$7FFF 16.384-32.767 Indirizzi non mappati, sono lasciati liberi per eventuali espansioni di memoria
$8000-$BFFF 32.768-49.151 ROM contenente il BASIC V3.5
$C000-$CFFF 49.152-53.247 Indirizzi non mappati, sono lasciati liberi per eventuali espansioni del BASIC
$D000-$D7FF 53.248-55.295 ROM contenente la mappa dei caratteri
$D800-$FBFF 55.296-64.511 ROM contenente le routine del KERNAL
$FC00-$FCFF 64.512-64.767 Routine per la gestione del bank switching
$FD00-$FEFF 64.768-65.279 Registri di I/O
$FF81-$FFF9 65.409-65.529 "Jump table" alle funzioni del KERNAL
$FFFA-$FFFB 65.530-65.531 Vettore per l'interrupt NMI
$FFFC-$FFFD 65.532-65.533 Vettore per la routine di reset
$FFFE-$FFFF 65.534-65.535 Routine per l'interrupt IRQ

Caratteri modifica

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 fonts

Caratteristiche software modifica

Il sistema operativo modifica

Il sistema operativo del C-16 era costituito, come per il VIC-20 ed il C-64, da 3 parti indipendenti e integrate:

KERNAL modifica

  Lo stesso argomento in dettaglio: KERNAL.

Il kernel del sistema operativo del C-16 era il KERNAL 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.

BASIC modifica

  Lo stesso argomento in dettaglio: 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, in versione 3.5, che si occupava di eseguire i comandi impartiti dall'utente richiamando le routine del KERNAL necessarie al compito da svolgere. La nuova versione 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 in linguaggio macchina (MONITOR).

Editor di schermo modifica

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.

Monitor in linguaggio macchina modifica

Il monitor in linguaggio macchina 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. Al monitor si poteva accedere anche premendo contemporaneamente il tasto RUN-STOP ed il tastino di reset.

Periferiche modifica

 
un datassette modello 1531.

La linea Commodore 264 presenta diversi connettori specifici, così che quasi nessuna delle numerose periferiche in circolazione per il VIC-20 e il C-64 poteva essere utilizzata con la nuova macchina. Tra le periferiche specifiche per C-16 (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 Datasette 1531 e il joystick CBM T-1341. Venne creata anche una specifica unità a floppy, il Commodore 1551, mediamente più veloce del 1541 perché sfrutta 4 fili del connettore seriale invece dei 2 usati sul C-64: a differenza di altri, questo connettore è lo stesso di quello presente su Commodore VIC-20 e Commodore 64 e, quindi, è perfettamente compatibile con drive, stampanti e periferiche seriali creati per questi computer.

Il C-16 è privo della porta utente (usata da altre macchine Commodore per il collegamento di periferiche poco comuni) e non ha il chip UART del Plus/4, per cui non può usare un modem[4].

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

Software modifica

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.

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; di fatto, la quasi totalità del software commerciale prodotto per la serie 264 si accontenta dei 12 kB del C-16. Questo contribuì all'insuccesso del più costoso Plus/4, essendo assai scarsa la diffusione di software specifico per quest'ultima macchina (che inoltre presenta alcuni -sia pur rari- problemi di compatibilità col software prodotto per il C-16).

Il software venne pubblicato principalmente su cassetta, mentre i prodotti su floppy furono decisamente in minoranza. Ci furono inoltre pochissime pubblicazioni di applicativi e videogiochi su cartuccia[5].

Videogiochi modifica

  Le singole voci sono elencate nella Categoria:Videogiochi per Commodore 16.

I videogiochi degni di nota furono probabilmente intorno ai 700[6][7]; Plus/4 World (il più esauriente sito sulla serie 264[8]) elenca oltre 6000 titoli, ma contando anche varianti dello stesso gioco, raccolte, e giochi freeware che venivano e tuttora vengono sviluppati da appassionati.[9]

La divisione software della Commodore stessa supportò inizialmente il sistema pubblicando diversi giochi. I produttori che si fecero notare maggiormente per la qualità furono Mastertronic, Gremlin Graphics, Anirog e Kingsoft. In Ungheria la Novotrade produsse una duratura serie di titoli.[1]

Secondo una selezione fatta dalla rivista Retro Gamer, dieci dei più grandi giochi per Commodore 16 sono Tom Thumb, Bongo, Tutti Frutti, Bandits at Zero, Harvey Headbanger, Auf Wiedersehen Monty, Kikstart, Trailblazer, Winter Events, Voidrunner[10].

Pubblicazioni modifica

Le pubblicazioni periodiche dedicate specificamente al Commodore 16 furono rare; generalmente il sistema veniva trattato secondariamente all'interno di altre pubblicazioni dedicate ai computer Commodore o all'informatica in generale. Tra le poche riviste dedicate si ricordano la britannica C16 Plus/4 Handbook, la serie di speciali P4 C16 116 della tedesca Commodore Welt e il corso italiano a puntate Video BASIC del Gruppo Editoriale Jackson. Più numerose furono le pubblicazioni non periodiche, libri di approfondimento e manuali di programmazione dedicati espressamente a questo computer, soprattutto in inglese, tedesco, italiano e ungherese.[11] Anche le raccolte periodiche su nastro di programmi e giochi per C16 uscivano spesso 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 C16/MSX con giochi per C16 e MSX.[12]

Cloni modifica

Una variante argentina era assemblata localmente, avvantaggiandosi della legislazione in vigore all'epoca, dalla società Drean. Essa si distingue per una differente placca di identificazione riportante il logo Drean prima di quello Commodore.

Note modifica

  1. ^ a b c d Retro Gamer 56, p. 81.
  2. ^ Janne Peräaho, Anders Persson, Mappa di memoria del Commodore 16, su zimmers.net, 9 dicembre 1994. URL consultato il 2 agosto 2012 (archiviato dall'url originale il 5 febbraio 2013).
  3. ^ Dati del C16 e allocazione della memoria, su c64-wiki.com. URL consultato il 24 aprile 2016.
  4. ^ Retro Gamer 56, p. 79.
  5. ^ (EN) Commodore Plus/4 Cartridges, su zimmers.net.
  6. ^ (EN) Commodore 16/Plus 4, su uvlist.net.
  7. ^ (EN) Official System Statistics, su hyperlist.hyperspin-fe.com.
  8. ^ Retro Gamer 56, p. 80.
  9. ^ (EN) Games, su plus4world.powweb.com. URL consultato il 16 luglio 2021.
  10. ^ Retro Gamer 56, pp. 82-83.
  11. ^ (EN) Publications - Plus/4 World, su plus4world.powweb.com. URL consultato il 16 luglio 2021.
  12. ^ Collane per Commodore 16, su edicola8bit.com.

Bibliografia modifica

Articoli
  • Commodore C-16, in A Tutto Commodore, allegato a Sperimentare con l'elettronica e il computer, n. 4, JCE, aprile 1985, pp. 8-11.
  • Commodore C16 (JPG), in MCmicrocomputer, n. 38, Roma, Technimedia, febbraio 1985, pp. 46-51, ISSN 1123-2714 (WC · ACNP).
  • (EN) Retroinspection: Commodore 16, in Retro Gamer, n. 56, Bournemouth, Imagine Publishing, ottobre 2008, pp. 76-81, ISSN 1742-3155 (WC · ACNP).
Libri

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica

  • (EN) Plus/4 World (tutto sul Commodore 16 e Plus/4, con schede dettagliate di giochi, software, pubblicazioni), su plus4world.powweb.com.
  • (EN) Commodore C16, su old-computers.com (archiviato dall'url originale il 31 dicembre 2023).
  • Il Commodore 16, su associazione64.it (archiviato dall'url originale l'11 aprile 2018).
Controllo di autoritàLCCN (ENsh85028983 · GND (DE4121101-7 · BNE (ESXX527916 (data) · J9U (ENHE987007542991805171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica