# Commodore 128

Commodore 128, també conegut com a C128, C-128, C= 128, o ocasionalment CBM 128, és l'últim dels ordinadors personals de 8 bits que va ser llançat comercialment per Màquines Comercials Commodore (CBM per les sigles en anglès Commodore Business Machines). Va ser presentat al gener del 1985 a la fira CES (Consummer electronic show, mostra electrònica de consum), a Las Vegas, i va aparèixer tres anys després del seu predecessor, el líder en vendes Commodore 64.
El C128 és una expansió significativa successora al C64, amb compatibilitat gairebé plena. La nova màquina té 128 kB de memòria RAM en dos bancs de 64 kB, i una sortida de vídeo a color de 80 columnes. Té una carcassa redissenyada i teclat. També inclou un processador Zilog Z80 que permet al C128 de fer anar el sistema operatiu CP/M, com una alternativa a l'habitual entorn Commodore BÀSIC. La presència del Z80 i l'enorme quantitat de programari del CP/M incorporat, i l'acoblament de les llibreries de software del C64, dona al C128 una de les games més amples de programari disponible entre els seus competidors.
El dissenyador principal del maquinari del C128 va ser Bill Herd, que havia treballat en el Plus/4. Els altres enginyers de maquinari van ser Dave Haynie i Frank Palaia, mentre la feina de disseny de l'IC va ser feta per Dave DiOrio. El sistema de programari principal del Commodore va ser desenvolupat per Fred Bowen i Terry Ryan, mentre el subsistema del CP/M va ser desenvolupat per Von Ertwine.

## Visió tècnica

El teclat del C128 inclou quatre tecles de cursor, una tecla Alt, tecla d'Ajuda, tecla d'escapament Esc, tecla de Tabulador i un teclat numèric. Cap d'aquestes era present en el C64. En els Commodores anteriors només hi havia dues tecles de cursor i s'havia d'utilitzar la tecla de bàscula Shift per a moure el cursor a dalt o a l'esquerra. Aquesta disposició va ser retinguda en el 128, per compatibilitat amb el C64. La manca d'un teclat numèric, tecla Alt, i de tecla d'escapament Esc en el C-64 era un problema amb alguns programes de productivitat de CP/m quan sera usat amb el cartutx Z-80 per a C64. Un teclat numèric va ser demanat per molts propietaris de C64 que van passar moltes hores a introduir llenguatge màquina en programes de picatge. Algunes de les tecles afegides coincidien amb algunes presents en els teclats PC d'IBM i va fer del nou l'ordinador més atractiu per als desenvolupadors de programari empresarial. Mentre el mode 40 columnes del 128 duplicava el del C64, 1kbyte extra de memòria de color va ser afegida per als programadors, com ho era multiplexada passant el valor 1 a una adreça de memòria.. La font d'alimentació del 128 va ser millorada sobre el disseny poc fiable del 64, durant molt més temps i equipada amb un ventilador refrigerant i un fusible substituïble. En comptes del sol microprocessador 6510 del C64, el C128 va incorporar un disseny de processadors. El processador primari, el 8502, és una versió lleugerament millorada del 6510 capaç de treballar a una freqüència de 2 MHz. El segon CPU és un Zilog Z80 que és utilitzat per a executar programari CP/M, així com per engegar una selecció de mode operatiu en el moment d'arrencar. Tots dos processadors no poden funcionar simultàniament, per això el C128 no és un sistema de multiprocessament.
L'arquitectura complexa del C128 inclou quatre tipus de memòria als que s'accedeix de manera diferent (128 kB memòria principal, 16-64 kB de memòria de vídeo del VDC, memòria de 2 kNibbles VIC-II de Color, memòria de 2-kB d'unitat de disquets sobre el C128Ds, 0, 128 o 512 kB de memòria de REU (unitat d'expansió de memòria, REU per les seves sigles en anglès), dos o tres CPUs (principal: 8502, Z80 per CP/M; el 128D també incorpora un processador 6502 en la unitat de disc), i dos vídeo xips diferents (VIC-IIe i VDC) pels seus diversos modes operacionals.
Les primeres versions del C128 ocasionalment experimentaven problemes de fiabilitat relacionats amb la temperatura a causa de l'ús d'una protecció electromagnètica damunt de la placa principal del circuit. La protecció estava equipada amb dits que entraven en contacte amb la part superior dels xips més grossos, de manera que feien que l'escut actués com un dissipador. Una combinació de mal contacte entre l'escut i els xips, la limitada conductivitat de calor dels plàstics que envolten els xips, així com la mala conductivitat tèrmica de l'escut sobre ell mateix, donava com a resultat un sobreescalfament i una fallada en alguns casos. El xip de so del SID és particularment vulnerable respecte a això. La solució més comuna passa per treure l'escut, el qual Commodore havia afegit en les darreres etapes del desenvolupament, per tal de complir els controls de freqüència radiofònica de la FCC.
El C128 té tres modes operatius. C128 Mode (mode natiu) va córrer a 1 o 2 MHz amb #el 8502 CPU i va tenir ambdós 40- i text de 80 columnes els modes disponibles. CP/M usos de Mode tant el Z80 i el 8502 i és capaç de funcionar en ambdós 40- o text de 80 columnes mode. C64 Mode és gairebé 100 per cent compatible amb l'ordinador més antic. La selecció d'aquests modes és implementada via el Z80 xip. El Z80 controla el bus en arrencada inicial i comprova si hi ha un disc CP/M en la ranura, si hi cap cartutx de C64/C128 present, i si el Commodore Key (Cselector de 64 modes) és actiu quan s'engega el dispositiu. Segons quin troba, canvia el mode apropiat d'operació.

### Mode C128

El 1984, un any abans del llançament del Commodore 128, Commodore va llançar el Plus/4. Tot i que l'objectiu era un mercat de gamma baixa empresarial no es va poder conseguir pel cost relativament elevat i per la capacitat dels requeriments dels primers Ordinadors Personals (PC) compatibles de l'empresa IBM, va ser percebut per la premsa de Commodore premsa com una seguida del 64 i s'havia esperat una millor de les capacitats d'aquell model. Mentre en el C64 els gràfics i capacitats de so eren generalment considerades excel·lents, la resposta al Plus/4 va ser una de decepció. A la introducció del Plus/4, es van repetir les recomanacions que s'havien fet en la premsa del Commodore per un nou ordinador anomenat el "C-128" amb augment de memòria, una pantalla de 80-columnes que seria el estàndard en els ordinadors empresarials, un nou llenguatge de programació BASIC que feia fàcil per als programadors d'utilitzar els gràfics i sons de l'ordinador sense recórrer als PEEK's i POKE's, una nova unitat de disc que millorava el ràtio abismal del 1541's i així com total compatibilitat amb C64
Els dissenyadors del C128 van reeixir en el tractament de la major part d'aquests problemes. Un nou xip, el VDC, fornia al C128 una color de 80 columnes compatible amb CGA (també anomenat RGBI per l'augment d'intensitat Vermell Verd Blau (sigles en anglès Red Green Blue Intensity). El nou microprocessador 8502 és completament compatible amb models anteriors, i amb el C64 6510, però pot córrer a doble la velocitat si es desitja. El C64 BÀSIC 2.0 va ser substituït pel BÀSIC 7.0, el qual inclou ordres de programació estructurada del Plus/4 BÀSIC 3.5, així com sentències dissenyades específicament per a aprofitar les capacitats de la màquina. L'editor sprite i el codi màquina del monitor van ser afegits. La part de l'editor del Kernal va ser millorada per a incloure la tecla INSERT entre altres característiques passant per les combinacions amb la tecla ESC, així com una funcionalitat rudimentària de Windows (moviments de finestres). El Kernal va ser desplaçat en una ROM separada. El xip VIC-II que controla la pantalla de 40 columnes només pot operar a 1 MHz, així la pantalla de 40 columnes és mostra malament en mode RÀPID. En el mode de 80 columnes l'editor aprofita els avantatges del xip VDC per a permetre que el text pampalluguegi i es mostri subratllat; Funcionalitats que s'activen a través dels codis d'escapada. Tot plegat addicionalment al text invers estàndard del Commodore. El mode de 80 columnes del C128 pot mostrar caràcters en minúscula juntament amb els caràcters gràfics PETSCII; El mode de 40 columnes estava condicionat a les mateixes restriccions 'majúscules' - 'minúscules' - 'majúscules i gràfics' que tenien els anteriors Commodores. Els modes 40 i 80 columnes eren independents i ambdós es poden activar a la vegada. Un programador amb ambdues pantalles (sortida composta i sortida RGB) pot utilitzar una de les pantalles com a "bloc de notes" o com a suport rudimentari de memòria intermediari múltiple. La pantalla activa pot ser canviada amb les tecles "ESC X". Es va afegir a la carcassa un botó per reinicialitzar el sistema. El teclat, tanmateix, no va ser canviat del Selectric que ja havia esdevingut un estàndard, però restà el mateix disseny d'un ADM-3 modernitzat tal com passava als models anteriors del Commodore.
El xip VDC és en gran part inútil pels videojocs de l'època, puix que no té sprites (capacitat per moure un element per la pantalla de forma independent) ni les interrupcions raster. El mode NTSC del C128 (mode de televisió típic dels Estats Units) pot treballar amb qualsevol monitor de tipus CGA (TTL RGB @ 15 kHz/60 Hz) com el IBM 5153. Tanmateix, els models de PAL (mode de televisió típic a Europa) del C128 opera a 50 Hz i no és compatible amb la majoria de monitors de CGA, els quals operen amb un índex de refrescament de 60 hertz. El setè connector de la sortida del xip VDC (normalment no usada als monitors CGA) produeix un senyal monocrom de PAL/NTSC, però no es va comercialitzar cap cable per a usar-ho, i els usadors interessats se'l van haver de fabricar o adquirir-lo en una botiga d'accessoris.
Dues noves unitats de disc van ser introduïdes en conjunt amb el C128, les unitats de disc de curta durada d'una cara 1570 i les de doble-cara 1571. Un model d'unitat de disc dual 1572 va ser anunciat però mai es va produir. Més tard es va introduir el model de 3,5 polzades, en la unitat de disc 1581. Totes aquestes unitats de disc eren més fiables que el model 1541 i es van prometre millors prestacions gràcies a una nova característica anomenada "mode burst" (mode explosió). La unitat de disc 1581 també tenia més memòria damunt la placa que els seus predecessors, fent possible d'obrir un elevat nombre de fitxers al mateix temps. BÀSIC 7.0 inclou les sentències DLOAD i DSAVE per suportar la càrrega i el desat al disc sense utilitzar el ",8" o altres números de dispositiu i a més una sentència "DIRECTORY" que llegeix la informació del catàleg directament a la memòria de pantalla sense sobreescriure la memòria BASIC com passava a BASIC 2.0. A més a més, el C128 introdueix una autoarrencada de disquet de software, una funcionalitat estàndard en la majoria d'ordinadors personals però absent a les màquines Commodore fins aquest moment. Els usadors ja no han de picar al teclat LOAD "*",8,1.
Les unitats de disc 1571 normalment arrencaven en mode natiu en C128. Si l'usuari canviava a mode C64 teclejant "GO 64", la unitat de disc es mantenia així, però si el mode C64 era activat prement la tecla C= en l'arrencada, el 1571 canviava a mode 1541 (1541 és necessari per als programes que permeten accessos a baix nivell a la unitat de disc).
El C128 té el doble de memòria que el C64, una de llunyana i una alta que estava a l'abast per als programadors BASIC gràcies al nou xip de bescanvi de banc MMU. Això permet al codi programat en BÀSIC d'emmagatzemar-se separadament de les variables augmentant gratament la capacitat de les maquines per gestionar programes complexes, augmentant el col·lector d'escombraries i facilitant la depuració pel programador. Un programa en execució pot ser aturat, el seu codi editat, els valors de les seves variables analitzat o alterat en mode directe, i l'execució del programa represa amb la taula de variables intacta utilitzant la sentència de BASIC GOTO. Tot i que altres BASICs suporten la sentència CONT per reprendre l'execució sense netejar variables, editant determinat codi pot provocar que es netegi. Les diferents configuracions de memòria es podien carregar utilitzant la sentència de BASICBANC.
L'augment de les capacitats de maquinària del C128, especialment la memòria RAM augmentada, la resolució de pantalla, i la velocitat del bus sèrie, en feia una plataforma més capacitada que el 64 per a executar el GEOS, el sistema operatiu gràfic.

### Mode C64

Incorporant l'original C64 Basic i la ROM (memòria de només lectura) amb el Kernal completament (16 Kbytes en total) el C128 aconsegueix pràcticament una compatibilitat al 100 percent amb el Commodore 64. Al mode C64 s'hi pot accedir de tres formes diferents:
* Prement la tecla amb el logotip del Commodore mentre arranca el sistema
* Teclejar la comanda GO 64 en el BÀSIC 7.0
* Arrancar amb un cartutx del C64 introduït.
Introduint el cartutx al port o al EXROM o línies de joc o totes dues coses alhora, es pot fer que l'ordinador s'engegui automàticament en mode C64. Aquesta funcionalitat duplica idènticament el comportament d'un C64 quan un cartutx (tal com BASIC Simon) és connectat al port assegurant qualsevol d'aquestes línies, però a diferència de l'actual C64, en què qualsevol canvi en el mapeig de la memòria s'implementa directament per maquinari, el microprogramari del Z80 al C128 engega sondatges d'aquestes línies en engegar-se i després bescanvia el mode segons li cal. Els cartutxos natius del C128 són reconeguts i engegats pel kernel a les localitzacions mapejades a la memòria.
El mode C64 gairebé duplica exactament les prestacions d'una màquina C64. Moltes de les característiques addicionals del 128 són deshabilitades o inutilitzades en aquest mode. La pantalla de 80 columnes, mode ràpida, MMU, i BÀSIC 7.0 no es troben disponibles dins el mode 64. Les 4 tecles de cursor a la part superior del teclat no és reconeixent, forçant a l'usuari del C64 a utilitzar les feixugues tecles canviades, encara que hi ha tecles de cursor incloses en el mateix teclat. Tampoc no es fan servir els teclats numèrics del 128, i la major part de tecles de la fila superior (només les tecles de la fila superior que eren incloses en el mode 64 eren les tecles F1 a F8 del teclat). Algunes d'aquestes característiques poden ser aturades per un programa, però la major part de programes comercials no se'n serveixen, o en el millor dels casos són completament no funcionals amb aquests programes.

## Commodore 128D

A finals del 1985, Commodore va llançar al mercat europeu una nova versió del C128 amb un xassis redissenyat i semblant a l'Amiga 1000. Es va anomenar Commodore 128D; Aquest nou model europeu es va presentar amb una carcassa de plàstic amb una ansa de transport al costat; Va incorporar una unitat de disc 1571 al xassís principal, va reemplaçar el teclat integrat per un separable, i va afegir un ventilador de refresc. El teclat tenia dues potes plegables per a canviar l'angle.
Per Bill Herd, cap de l'Equip de Maquinari (també conegut com els "Animans del C128"), el C128D estava llest per a la producció al mateix temps que la versió regular. Treballant per a llançar els dos models alhora van augmentar el risc de no lliurar-lo a temps i van fer que el PCB principal tingués grossos forats en seccions importants per a servir tant al C128D com al 128.

## Vegeu també

* Commodore BÀSIC

## Referències
### Notes

* ↑ The "C=" representing the graphical part of the logo
* ↑ "RUN Magazine Special Issue #2".
* ↑ "C128 Easter Egg".
* ↑ «C128 System Guide – 9.5 MOVING THE CURSOR IN C64 MODE».
* ↑ «The Official Book for the Commodore 128». «A numeric keypad (the number keys clustered together as they are on a calculator) is useful for anyone entering large amounts of numeric data, but this feature was lacking on the Commodore 64. Since many Commodore 64 owners spent hours entering machine language programs in the form of long lists of numbers, this feature was often asked for.»
* ↑ "The Commodore 128: The Most Versatile 8-Bit Computer Ever Made".
* ↑ "TPUG newsletter Feb. 1985" (PDF).
* ↑ http://oldcomputers.net/c128d.html
* ↑ http://www.datasalen.se/Utstallning/Data/CBM/commodore128deng.htm Arxivat 2011-07-24 a Wayback Machine.
* ↑ Commodore CP/M Source code and programmers' manual.
* ↑ "Plus/4 and C-16: Disappointingly Mediocre" (PDF).
* ↑ "Commodore's port; preview of the Plus 4, the Amiga, and Alphacom printers".
* ↑ "C128 System Guide — Appendix I".
* ↑ "The Official Book for the Commodore 128".
* ↑ "Run Special Issue 2 1986".
* ↑ "GW-BASIC User's Guide".

## Enllaços externs

* Guia de SistemesCommodore 128
* Guia de l'usuari Commodore 128 CP/M
* Emulador Versàtil Commodore VICI
* Commodore 128 sobreviu! Arxivat 2009-11-01 a Wayback Machine.
* Revista RUN número del 18 juny 1985