Commodore 128

La Commodore 128, també coneguda com C128, C-128, C= 128,[nota 1] és l'última computadora personal domèstica d'huit bits que Commodore Business Machines (CBM) va llançar al mercat. Presentada en giner de 1985 en el CES de les Vegas, va aparéixer tres anys despuix que la Commodore 64, computadora més venuda de la década de 1980.
La C128 és una versió significativament millorada de la C64, en una compatibilitat casi total. La nova màquina té 128 KB de RAM en dos bancs de 64 KB i una eixida de video en color d'huitanta columnes. Té una carcassa i un teclat redissenyats, du una CPU Zilog Z80 que li permet eixecutar CP/M, com a alternativa a l'entorn Commodore BASIC habitual de Commodore. La presència de la Z80 i l'enorme biblioteca de software CP/M que aporta, sumada a la biblioteca de la C64, li varen donar a la C128 una de les games més àmplies de jocs i aplicacions disponible entre els seus competidors.
El dissenyador principal de hardware del C128 va ser Bil Herd, qui havia treballat en el Plus/4. Atres ingeniers de hardware varen ser Dave Haynie i Frank Palaia, mentres que el treball de disseny de circuits integrats va estar a càrrec de Dave DiOrio. El software principal del sistema Commodore va ser desenrollat per Fred Bowen i Terry Ryan, mentres que el subsistema CP/M va ser desenrollat per Von Ertwine.
Descripció tècnica
El C128 és un successor significativament expandit del C64 i, a diferència de l'anterior Plus/4, casi completament compatible en el C64. Inclou 128 KB de RAM, en dos bancs de 64 KB i una eixida de vídeo RGBI de 80 columnes (gestionada pel chip 8563 VDC en 16 KB de RAM de vídeo dedicat), de la mateixa manera que una caixa i un teclat substancialment redissenyats, el qual incloïa quatre tecles de cursors (els Commodore anteriors tenien dos, requerint pulsar mayúscules per a moure el cursor cap a dalt o a l'esquerra), ademés de les tecles Alt, ajuda, escape, tabulador (no present en els models anteriors) i un teclat numèric. La falta de teclat numèric, tecla Alt i tecla escape en el C64 era un problema en algunes programes de productivitat en CP/M quan s'usaven en el cartuig Z80 del C64. Algunes de les tecles afegides equivalen a les presents en el teclat de l'IBM PC. Mentres que el modo de 40 columnes del C128 duplica el del C64, 1 KB extra de RAM de color està disponible per als programadors, ya que està multiplexada en la direcció de memòria 1. La font d'alimentació representa una gran millora sobre el disseny poc fiable de la font del C64, sent més gran i equipada en un ventilador de refrigeració i un fusible reemplazable. En lloc d'un sol microprocessador 6510 com en el C64, el C128 incorpora un disseny de doble CPU. La primària, una 8502, és una versió llaugerament millorada de la 6510, capaç de pujar el rellonge fins a 2 MHz. La segona CPU és un Zilog Z80, que s'usa per a fer funcionar software CP/M, de la mateixa manera que per a iniciar el modo de selecció de sistema operatiu durant l'arrancada. Els dos processadors no poden treballar de manera simultànea, per lo que el C128 no és un sistema multiproceso. El C128 té tres modos operatius: modo C128 (modo natiu), en el que funciona a 1 o 2 MHz en la CPU 8502 i dispon dels modos de text de 40 i 80 columnes; modo CP/M, que usa el Z80 en modo text tant de 40 com de 80 columnes i el modo C64, que és pràcticament compatible al 100 % en l'anterior ordenador. La selecció d'estos modos està implementada a través del chip Z80, el qual controla el bus en l'arrancada inicial i comprova si està present algun cartuig C64/C128 i si la tecla Commodore (selector de modo C64) està activa durant l'arrancada. Basat en lo que troba, canviarà al modo d'operació apropiat.
El C128D és considerat únic degut a que el seu placa mare soporta quatre tipos diferents de RAM:
- 128 KB de RAM principal;
- 64 KB de video RAM VDC;
- 2 KB de RAM de color per al VIC-II;
- 2 KB de RAM de la disquetera;
- entre 128 i 512 KB de RAM REU.
Ademés de 3 processadors (8502 com a principal, Z80 per a CP/M i un 6502 per a la disquetera) i dos chips de vídeo diferents (VIC-IIe i VDC).
Modo C128
Mentres les capacitats gràfiques i de sò del C64 eren considerades generalment excelents, els operatius de màrqueting en la direcció de Commodore estaven preocupats per sostindre (si no prolongar) l'atractiu dels ordenadors casers entre els no-programadors. Estos operatius varen sentir que en la pantalla de 40 columnes del VIC-II, encara que excelent per a jocs, podia ser inadequada per a aplicacions de productivitat com tractament de texts. Ademés, sentien que les noves capacitats de sò i gràfics tindrien un maneig pesat si es controlaven exclusivament per mig de les instruccions estàndar POKE i PEEK, aixina que es varen embarcar en reescriure el BASIC 2.0 per a que tinguera instruccions que reflectiren en més precisió les seues capacitats. Ademés, l'aument de la capacitat de les unitats de disc en els mercats competidors (com les dedicades als compatibles PC i els Apple) va dur als oficials d'alt ranc de Commodore a preocupar-se pel següent pas. Els dissenyadors de la C128 varen tindre èxit en resoldre la majoria d'eixes preocupacions. Un nou chip, el VDC, proveïx al C128 en una pantalla de 80 columnes compatible en la norma CGA (també cridada RGBI per Red-Green-Blue-Intensity, roig-vert-blau-intensitat). El nou microprocessador 8502 és completament retrocompatible en el 6510 del C64, pero pot funcionar al doble de velocitat si es desija. Aixina i tot, el chip VIC-II que controla la pantalla de 40 columnes no pot operar a la major velocitat de rellonge, aixina que la pantalla de 40 columnes apareix distorsionada en modo FAST. En el modo 80 columnes, l'editor pren ventaja de les característiques del VDC per a permetre text parpadeante i subrallat, activat per mig de còdics d'escape.[1] Els modos de 40 i 80 columnes són independents i poden estar actius al mateix temps. Un programador en una pantalla de vídeo compost i una atra RGB podria usar una de les pantalles com "bloc de notes". La pantalla activa pot ser intercanviada en ESC-X.[2] Es va afegir un botó de reset al sistema. El BASIC 2.0 del C64 va ser reemplaçat pel BASIC 7.0, que inclou instruccions dissenyades específicament per a usar les ventages de la màquina. Un editor de sprites i un monitor de còdic màquina varen ser afegits posteriorment per a benefici dels programadors . La part de l'editor de pantalla del kernel va ser millorada encara més per a soportar un sistema de finestres rudimentari i va ser relocalizada en una ROM separada. En modo 80 columnes l'editor fa us de les millores del VDC per a permetre el parpadeo i subrallat de text, activat per mig de còdics d'escape. Un botó de reinicie va ser afegit al sistema. Dos noves unitats de disc varen ser presentades junt en la C128: l'efímera 1570 i la 1571. Més alvance, es va presentar l'unitat 1581 de 3'5 polzades. Totes estes unitats són més fiables que la 1541 i prometien unes millors prestacions per mig d'un modo racha. L'unitat 1581 també té més RAM en placa que els seus predecessors, fent possible obrir un major número de fichers simultàneament. El C128 també té el doble de RAM que el C64 i una major proporció està disponible per a la programació en BASIC, pel chip MMU en canvi de bancs. Açò permet que el còdic dels programes BASIC siguen almagasenat per separat de les variables, millorant molt l'habilitat de la màquina per a manejar programes complexos, accelerant la recolecció de fem i facilitant el despulgamiento per als programadors. Un programa en eixecució pot rebre un STOP, inspeccionar la variables o alterar-les en modo directe i l'eixecució es continua usant l'instrucció BASIC GOTO. La ROM del C128 conté un ou de Pasqua: Introduint el comando "SYS 32800,123,45,6" en modo natiu, revela una pantalla de 40 columnes en un llistat i un mensage dels desenrolladors principals de la màquina. També escrivint les instruccions QUIT o OFF, produïx un "? UNIMPLEMENTED COMMAND ERROR". Estes instruccions existixen en previsió d'un ordenador portàtil en pantalla LCD mai produït i estan pensats per a eixir de l'intérpret BASIC i ignorar el teclat durant l'eixecució de programes sensibles, respectivament. Les majors capacitats de l'hardware del C128, especialment l'increment de la RAM, la resolució de pantalla i la velocitat del bus serial, la varen convertir en la plataforma preferida per a usar el sistema operatiu gràfic GEOS.
Modo CP/M

El segon dels dos processadors és el Zilog Z80, el qual permet al C128 funcionar en CP/M. El C128 va ser venut en CP/M 3.0 (també conegut com CP/M Plus, retrocompatible en CP/M 2.2) i l'emulador del terminal ADM31/3A. Un cartuig en el CP/M ya estava disponible per al C64, pero era car i està llimitat als programes en discs en format Commodore. Per a tindre disponible una gran biblioteca d'aplicacions instantàneament en el seu llançament, el CP/M del C128 i la seua unitat de disquets 1571 varen ser dissenyades per a llegir casi tots els programes en CP/M específics de Kaypro sense modificacions. Desafortunadament, el C128 era notablement més llent treballant en CP/M que la majoria de sistemes CP/M dedicats, ya que el processador Z80 funcionava a una velocitat efectiva de sol 2 MHz (en lloc dels més comuns 4 MHz) i al seu us de CP/M 3.0, la complexitat del qual ho fa inherentemente més llent que l'anterior i més estés sistema CP/M 2.2. A partir del còdic font de l'implementació de CP/M per al C128, queda clar que els ingeniers varen planejar originalment que fora possible fer funcionar a CP/M també en el modo "ràpit", en l'eixida de 40 columnes desconectada i el Z80 funcionant a una velocitat efectiva de 4 MHz. A pesar d'això, esta característica no va funcionar correctament en la primera generació del C128. Una característica inusual del C128 entre els sistemes CP/M és que alguns dels servicis de baix nivell de la BIOS són eixecutats pel 8502 en lloc de per el Z80. Este li transferix el control al 8502 despuix de situar els paràmetros pertinents en les posicions de memòria designades. El Z80 s'apaga llavors, sent despertat pel 8502 en completar la rutina de la BIOS, en el/els valor/és d'estat disponibles en la RAM per a la seua inspecció. El CP/M va ser possiblement el menys usat dels tres possibles modos d'operació. Pensat per a donar-li al nou ordenador una gran llibreria de programes de grau professional, els quals no tenia Commodore, el CP/M ya havia passat feya temps el seu millor moment quan es va presentar el C128. Ademés, CP/M és molt diferent del Commodore DOS inclós en la ROM de les unitats de disc.
Modo C64
Incorporant completament el BASIC original del C64 i el kernel, el C128 conseguix pràcticament el 100 % de compatibilitat en el Commodore 64. El modo 64 pot ser accedit de tres maneres:
- Mantenint pulsada la tecla en el logo Commodore quan arranca el sistema;
- Entrar el comando
GO64en el BASIC 7.0.; - Arrancar en un cartuig C64 conectat.
Posar a terra les llínees /EXROM o /GAME del port del cartuig fer que l'ordenador automàticament inicie en el modo C64. Esta característica duplica fidelment el comportament del C64 quan un cartuig (com el BASIC de Simons) és enchufat en el port i activa eixes dos llínees; pero, a diferència del C64, a on el canvi del mapeado de memòria d'estes llínees es realisa directament en hardware, el firmware d'arrancada del Z80 del C128 comprova les llínees en arrancar i llavors canvia de modo segons siga necessari. Els cartuchos de modo natiu C128 són reconeguts i iniciats per la comprovació del kernel en les posicions definides en el mapa de memòria. El modo C64 casi duplica exactament les característiques de l'hardware del C64. Moltes de les característiques adicionals del C128 estan desactivades o no disponibles en este modo. La pantalla de 80 columnes, el modo ràpit, la MMU i el BASIC 7.0 no estan disponible en este modo. Les 4 tecles de cursor en la part superior del teclat no es reconeixen, obligant a l'usuari a usar l'incómoda disposició per mig de mayúscules del C64, que estan incloses en la part inferior del teclat. També s'ignoren el teclat numèric i la fila superior de tecles, excloent les tecles F1 a F8. Algunes d'estes característiques poden ser reactivades per mig de programes, pero els programes comercials les ignorarien. Alguns dels pocs programes del C64 que fallen en un C128 funcionen correctament quan es pulsa la tecla CAPS LOCK (o la tecla ASCII/Nacional en els models internacionals del C128). Açò té que vore en el major port I/S de la CPU del C128. A on la tecla SHIFT LOCK present en abdós màquines és simplement una part mecànica que bloqueja la tecla SHIFT esquerra, la tecla CAPS LOCK en el C128 pot ser llegida per mig del port I/S inclós en el 8502. Alguns programes del C64 es confonen en este bit d'I/S extra, mantenint la tecla CAPS LOCK pulsada es força la llínea d'I/S, igualant la configuració del C64 i resolent el problema. Un grapat de programes del C64 que escriuen en $D030 (53296), a sovint com a part del bucle d'inici dels registres del chip VIC-II. Este registre de mapage de memòria, no usat en el C64, determinat per la velocitat del rellonge del sistema. Degut a que este registre ya és completament funcional en el modo C64, una escritura inadvertida podria contaminar la pantalla de 40 columnes en canviar la CPU a 2 MHz, en la qual la velocitat del rellonge del processador de vídeo VIC-II no pot produir una pantalla coherent. Afortunadament, molts programes sofrixen este fallo. En juliol de 1986, COMPUTE!'s Gazette va publicar un programa escrit que explotava esta diferència usant una matriu d'interrupcions per a permetre el modo ràpit quan s'alcança la part inferior de la pantalla visible i llavors desactivar-ho quan el retrazado de la pantalla torna a escomençar en la part superior. Usant el rellonge més alt durant el periodo de tornada vertical, la pantalla de vídeo estàndar es manté mentres s'aumenta la velocitat d'eixecució en un 20 %. Un modo de diferenciar entre un C64 i un C128 operant en modo C64, típicament usat des de dins d'un programa en funcionament, és escriure un valor diferent a $FF (255) en la direcció $D02F, un registre que és usat per a decodificar les tecles extra del C128 (el teclat numèric i algunes atres tecles). En el C64 esta localisació de memòria sempre conté el valor $FF, sense importar lo que s'escriga en ell, pero en un C128 en modo C64, el valor de la localisació (un registre de mapage de memòria) pot ser canviat. Aixina, comprovar el valor de la posició despuix d'escriure en ell revelarà la verdadera plataforma d'hardware.
Ajusts de la RAM
Per a manejar la relativament gran cantitat de ROM i RAM, dèu voltes l'espai de direccions de 64 KB del 8502, el C128 usa la MMU 8722 per a crear diferents mapes de memòria, en els que diferents combinacions de RAM i ROM són mostrades depenent del patró de bits escrit en el registre de configuració de la MMU en la direcció de memòria $FF00. Les unitats d'expansió de RAM de Commodore utilisen un controlador DMA extern per a escriure i llegir un o més bytes (fins a rancs complets de bytes) entre la memòria RAM del C128 i la RAM de l'unitat d'expansió. Una atra característica de la MMU és que permet relocalizar la pàgina zero i la pila, gràcies al registre de Pàgina Directa.
La complexa arquitectura del C128[3][4] inclou quatre tipos d'accés diferent a la RAM (128 kB de RAM principal, 64 kB VDC de Video RAM, 2 kNibbles de la RAM del VIC-II Color, 2 kB de RAM de la disquetera, 128 o 512 kB de RAM de la REU), dos CPUs (la 8502 principal, la Z80 per al CP/M; el 128D també incorpora un 6502 en l'unitat de disc) i dos chips de vídeo diferents (VIC-IIe i VDC) per als seus variats modos d'operació.[5][6]
Commodore 128D

A finals de 1985 Commodore va llançar al mercat europeu una nova versió del C128 en un chassis redissenyat. Cridat Commodore 128D, este nou model europeu presenta un chassis de plàstic en un torra de transport en un costat, incorporant una unitat de disc 1571 en el chassis principal, reemplaça el teclat integrat per un separable i afig un ventilador de refrigeració. El teclat inclou dos pates plegables per a canviar l'àngul d'escritura. En l'última part de 1986, Commodore va llançar una versió del C128D en Estats Units i Europa cridada C128DCR (cost reduced, cost reduït). El model DCR inclou un chassis d'acer estampat en lloc de la versió de plàstic del C128D (sense torra de transport), una font d'alimentació modular similar a l'inclosa en el C128D, de la mateixa manera que un teclat separat i una disquetera 1571. En la placa mare, Commodore va consolidar alguns dels components per a aforrar costs de producció i va reemplaçar el controlador de vídeo 8563 en el tècnicament més alvançat MOS Technology 8568 (també inclós en els alguns models posteriors de C128D). Com a mida d'aforro, el ventilador de refrigeració que integrava el model D va ser eliminat, encara que els enganches en la font d'alimentació es varen mantindre. Internament, la ROM del C128CDR, cridada "ROM 1986" per la data de copyright mostrada en la pantalla d'inici, conté moltes correccions d'errors, incloent el famós a on el caràcter 'Q' es manté com a minúscula quan CAPS LOCK està actiu i el 8568 VDC està equipat en 64KB de RAM de vídeo, el màxim direccionable, igual a quatre voltes lo que el C128 original. L'increment en RAM de vídeo va fer possible, entre atres coses, generar gràfics d'alta resolució en una paleta de color més flexible, encara que poc software comercial trac ventaja d'esta capacitat. A pesar de les millores en les capacitats de vídeo RGB, Commodore no va actualisar el BASIC 7.0 en la possibilitat de manipular gràfics RGB. Manejar el VDC en modo gràfic va continuar requerint l'us de cridades a primitives de l'editor de pantalla en ROM (o els seus equivalents en ensamblador), o usant extensions de tercers del BASIC. L'extensió més popular va ser el "BASIC 8" de Free Spirit Software, que va afegir comandos per a gràfics VDC d'alta resolució al BASIC 7.0. BASIC 8 estava disponible en dos discs (disc d'editor i disc de runtime) i en un chip ROM per a instalació en el zócalo de ROM de funcions intern del C128.
Vore també
Notes
Referències
- ↑ «C128 System Guide — Appendix I». Commodore. ca. Archivat des d'el original, el 31 de maig de 2012. Consultat el 18 d'abril de 2012.
- ↑ «Run Special Issue 2 1986».
- ↑ «The Commodore 128: The Most Versatile 8-Bit Computer Ever Made».
- ↑ «TPUG newsletter Feb. 1985». Archivat des d'el original, el 22 d'octubre de 2012. Consultat el 25 de maig de 2013.
- ↑ [1]
- ↑ «http://www.datasalen.se/Utstallning/Data/CBM/commodore128deng.htm». Archivat des d'el original, el 24 de juliol de 2011. Consultat el 9 d'abril de 2011.
- Notes
- Greenley, Larry, et al. (1986). Commodore 128 Programmer's Reference Guide. Bantam Computer Books/Commodore Publications. ISBN 0-553-34378-5.
- Gerits, K.; Schieb, J.; Thrun, F. (1986). Commodore 128 Internals. 2nd ed. Grand Rapids, Míchigan: Abacus Software, Inc. ISBN 0-916439-42-9. Original German edition (1985), Düsseldorf, West Germany: DATA BECKER GmbH & Co. KG.
- Este artícul conté una traducció derivada de «Commodore 128» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.