El C128 es de esos casos que nos permiten valorar con perspectiva el tipo de ordenador que Commodore quiso hacer florecer sin demasiado éxito, porque al final es un gran ordenador y una obra de ingeniería, aunque comercialmente supuso un fuerte revés a las expectativas de Commodore.
Creado para competir con los PC de IBM y el Macintosh de Apple, el Commodore 128 se presentó en sociedad el 5 de enero de 1985 en el CES de Las Vegas. Bil Herd, Freddy Bowen y Terry Ryan fueron los padres de este micro. Quizá apuntaron demasiado alto y dejaron muchas cosas en el tintero, al final el usuario es también juez y parte y el éxito del C64 no se iba a repetir.
Herd y el equipo de ingenieros trabajaron en la creación de un nuevo micro ideado para mejorar las prestaciones y resultados de su antecesor, el C64. El objetivo de Commodore era construir un micro con un chip de video compatible con el C64 pero con mejores gráficos, audio y un buen procesador, para responder al nuevo mercado, más heterogéneo, que estaba naciendo poco a poco.
El C128, viene de fábrica equipado con 128 Kb de memoria RAM, siendo 100% compatible con los programas y juegos del C64, por el otro el uso profesional ( compatible con los principales lenguajes de le época: Algol, Basic, Cobol, Fortran y Pascal entre otros ), intentando ofrecer gráficos de nivel superior con modalidad 640x200, introduciendo su nuevo chip VDC.
En la máquina se integran el procesador MOS 8502 @ 2 MHz con variante Zilog Z80 @ 2 MHz: el resultado fue un 128 compatible con tres sistemas operativos distintos:
- Basic 7 ( en la modalidad normal 128 )
- Basic 2 ( en la modalidad 64 compatible )
- CP/M ( gracias a la variante del nuevo procesador Z80 )
El Zilog Z80 permite al C128 ejecutar el sistema operativo de disco CP/M. El C128 se comercializó incluyendo el CP/M 3.0 (también conocido como CP/M Plus, retrocompatible con CP/M 2.2) y el emulador del terminal ADM31/3A.
Años atrás para C64 estaba disponible un cartucho con el CP/M para el C64, pero era caro y está limitado a los programas en discos con formato Commodore. Para tener disponible una gran biblioteca de aplicaciones instantáneamente en su lanzamiento, el CP/M del C128 y su unidad de disquetes 1571 fueron diseñadas para leer casi todos los programas en CP/M específicos de Kaypro sin modificaciones.
Desafortunadamente el C128 es notablemente más lento trabajando en CP/M que la mayoría de sistemas CP/M dedicados, ya que el procesador Z80 funciona a una velocidad efectiva de sólo 2 MHz ( en lugar de los más comunes 4 MHz ) y a su uso de CP/M 3.0, cuya complejidad lo hace más lento que el anterior y más extendido sistema CP/M 2.2.
¿ Z80 en C128 a 4 Mhz ?
A partir del código fuente de la implementación de CP/M 3.0 para el C128, se descubrió que los ingenieros planearon originalmente que fuera posible hacer funcionar al CP/M también en modo "rápido", con la salida de 40 columnas desconectada y el Z80 funcionando a una velocidad efectiva de 4 MHz. Por tanto, tenemos que saber que aunque el Zilog Z80 venga como que funciona @ 4 MHz este funciona efectivamente a 2 MHz debido al estado de espera para permitir al chip de vídeo VIC-II acceder al bus del sistema.
A pesar de ello, esta característica no funcionó correctamente en la primera generación del C128. Una característica inusual del C128 entre los sistemas CP/M es que algunos de los servicios de bajo nivel de la BIOS son ejecutados por el 8502 en lugar de por el Z80. Este le transfiere el control al 8502 después de situar los parámetros pertinentes en las posiciones de memoria designadas. El Z80 se apaga entonces, siendo despertado por el 8502 al completar la rutina de la BIOS, con los valores de estado disponibles en la RAM para su inspección. El CP/M fue posiblemente el menos usado de los tres posibles modos de operación. Pensado para darle al nuevo ordenador una gran librería de programas de grado profesional, los cuales no tenía Commodore, el CP/M ya había pasado hacía tiempo su mejor momento cuando se presentó el C128. Además, CP/M es muy diferente del Commodore DOS incluido en la ROM de las unidades de disco.
Interiorizando en el CP/M para Commodore 128
El sistema operativo CP/M Plus consta de tres módulos. CCP (Console Command Processor), es la parte de CP/M que se ve la primera vez que arranca el sistema. El CCP imprime el ( prompt ) símbolo A> ( disco ) , acepta la entrada de usuario y la carga de los comandos desde el disco.
El BDOS ( Basic Disk Operating System ) se encarga de las funciones de disco del CP/M, de la consola, de la impresora y salida y las tareas de gestión de archivos.
El BIOS ( Basic Input Output System ) hace el trabajo de entrada/salida para el BDOS. El BIOS contiene el código personalizado para el hardware que está utilizando CP/M . En el C128, el BIOS contiene las rutinas para la gestión de las pantallas de 40 y 80 columnas, utiliza el REU como una unidad de memoria RAM y para la lectura/escritura de varios formatos diferentes de discos en las unidades 1571 y 1581. El BIOS se puede considerar como una colección de controladores de dispositivos que son específicas del ordenador.
La BIOS R6
La BIOS-R6 ( BIOS de C128 modificada por Randy Winchester y otros) es una de las últimas versiones modificadas del BIOS para el CP/M del Commodore C128. La mayoría de los cambios en los BIOS dan lugar a mayor velocidad de proceso. Por ejemplo, se ha eliminado todo el código para la gestión de la pantalla a 40 columnas. Casi todo el mundo usa el CP/M en su formato natural, las 80 columnas.
Al haber extirpado todo ese código se le quita un gran peso de encima el sistema y se aumenta la velocidad en general en un 15%. Del mismo modo, la interrupción que maneja el puerto RS232 queda establecida de 300 a 75 baudios. Cuanto mayor sea la velocidad de transmisión, se requiere más tiempo de procesador para el servicio del puerto serie. Dado que el código RS232 siempre está funcionando, la disminución de la velocidad en baudios libera ciclos que el procesador necesita para darle servicio. Esto no afecta el funcionamiento de los programas de terminal que establecen explícitamente la velocidad de transmisión cuando se inician.
Otras características del BIOS-R6 incluyen una función de volcado de pantalla, comentarios en el código fuente para ayudar al programador en la producción de sistemas a medida y soporte para los formatos de disco adicionales. Algunos de los nuevos formatos de disco incluyen el formato de Commodore estándar de CP/M para 1581 , MAXI 71 ( 398K en discos de 5,25 " ), y GP 1581 ( 796K en discos de 3,5" ).
Aquellos programadores de CP/M para C128 que necesitan añadir o cambiar las características del sistema operativo deben tratar de realizar cambios en el BIOS. Por un lado, el código fuente de BIOS está disponible, pero no está disponible para el BDOS o CCP. . Otra razón es que el BDOS y CCP pretenden ser los componentes del sistema operativo "invariables" - es decir, que son idénticos para los diferentes equipos que ejecutan CP/M Plus. Un estudio del código fuente del BIOS revelará segmentos de código que se pueden quitar si no son necesarios, y proporcionará pistas sobre nuevas características que se pueden agregar.
Características ZPM3
ZPM3 es una sustitución del BDOS creada por Simeón Cran. Desde que los BDOS se supone que son "invariable", ¿ por qué iba alguien a querer reemplazarlo ?
Las respuestas más típicas - correcciones de errores, mejoras de velocidad y nuevas características.
ZPM3 interactúa con el BIOS y CCP de la misma manera que lo hace el BDOS original estándar de Digital Research, y en su mayor parte parece ser un clon de la norma BDOS. El estándar BDOS fue codificado en origen para el procesador 8080. Hay muy pocas ( si las hay ) máquinas CP/M Plus que utilizan el 8080.
La documentación ZPM3 detalla correcciones para varios fallos que plagan el CP/M Plus desde el primer día. Aunque los bugs a veces son extraños y oscuros, no se sabe cuando pueden causar problemas.
ZPM3 es mucho más rápido que el CP/M Plus estándar de C128. El aumento de la velocidad debería ser obvio después de usarlo por un corto periodo de tiempo en donde el usuario se terminará por percatar que es totalmente compatible pero lo más importante, mucho más rápido.
Las nuevas características que ofrece ZPM3 son notables. Tres características estrechamente relacionadashan mejorado la edición de línea de comandos, un búfer de historial que almacena y recuerda varios comandos y un prompt de comandos automático. Estas características trabajan conjuntamente para proporcionar una interfaz de línea de comandos más flexible y versatil. La edición de línea de comandos tiene ahora 20 funciones clave de control para mover o eliminar por caracteres o palabras enteras. Las líneas de comandos más recientes ( hasta 250 caracteres ) se almacenan en la memoria del historial, y se pueden recuperar y reutilizar o reeditarlos en caso necesario. Esta característica, se puede deshabilitar.
¿ Y porqué siendo una máquina tan poderosa y bien diseñada termino fracasando ?
Los principales motivos por el que el C128 cayó en desgracia fueron:
El momento: En ese momento histórico, 1985, la idea de lanzar una nueva máquina de 8 bits fue un grave error de planificación por parte de Commodore, Amstrad le había cogido mucha ventaja en Europa. El 128 vio la luz poco antes de la llegada de los más potentes equipos de 16 bits y fue obligado a abdicar casi de inmediato, perdiendo su trono ante los novedosos Atari y Amiga.
Un nuevo chip gráfico poco útil: el nuevo VDC fue presentado como punto fuerte del C128, pero se convirtió en uno de sus principales defectos. La falta de una adecuada documentación técnica para usar la resolución completa limitaron su uso. El usuario estaba limitado a dos opciones: utilizar el nuevo chip gráfico VDC en modalidad textual a 80 columnas o regresar a la anterior modalidad VIC-II ( la del C64 ), pero que no es compatible con los 2 MHz del procesador y se trabaja a la mitad de velocidad.
El éxito del PC con 8086: El 128 ofrecía la misma cantidad de memoria que el Macintosh 128K y más capacidades gráficas y de audio que los IBM compatibles de la época. Pero si, por un lado, resultaba compatible con los programas del C64, sus bajas prestaciones en la modalidad CP/M respecto al nuevo MS-DOS complicaron su éxito en el mercado.
Compatibilidad: En primera instancia el 128 no fue desarrollado para ser compatible con el Commodore 64. Esta aparente gran ventaja también se volvió en contra de la nueva máquina. Los usuarios querían jugar con los videojuegos del C64 de manera más fluida, esperando nuevos juegos para el 128 que nunca llegaron. Además, a nivel de hardware, quienes adquirieron el C128 para usarlo en modalidad CP/M tenían que lidiar con los diferentes formatos de soportes y disquetes de los diferentes fabricantes.
Falta de software propio: Commodore decidió abandonar casi de inmediato el proyecto, evidente considerando la escasa producción de programas, aplicaciones y juegos en modo nativo para el C128.
Marketing equivocado y erroneo: Los principales rivales del Commodore 128 fueron los PCs de IBM ( que en 1985 empezaron a convertirse en el verdadero punto de referencia del mercado y a venderse más baratos y como rosquillas ) y los ordenadores Apple. Dos empresas que, a diferencia de Commodore, ya habían empezado a invertir importantes recursos en publicidad y marketing. La empresa canadiense con sede en Pennsylvania, nunca supo crear expectativas mediáticas y popularizar sus productos, ni siquiera cuando se trató del C64 o del Amiga 500. Una carencia grave de planificación y modernización determinante para el futuro de Commodore, obligada a cerrar por quiebra en 1994.