Mitos y "factos" del VIC-20

El Commodore VIC-20 fue introducido en 1981 en Europa y Estados Unidos. Hab铆a sido introducido en Jap贸n con otro nombre, VIC-1001, en 1980. Esta es mi "rant" sobre datos incorrectos que se repiten habitualmente entre la comunidad retro nacional e internacional, a veces incluso como chascarrillos.

Mito 1. La memoria del VIC-20 "el VIC 20 tiene 3k".

Cifras que he le铆do o escuchado por ah铆, en redes sociales: 3,5k / 4k / 3k / 6k.

Si vamos a acordar que el C64 y el CPC464 tienen 64k, el Spectrum 16 o 48k, o el BBC Micro 32k, la respuesta correcta es f谩cil, tiene 5k. En configuraci贸n de f谩brica, 5 kBytes de RAM y 1 kNibbles (0,5 kBytes) de memoria de color. Adem谩s de los 20kB de ROM que quiz谩 dan nombre al ordenador.

Es cierto que al arrancar, antes de entrar en el editor de BASIC, se informa de "3.583 bytes free". Pero bien que el C64 informa de 38.911 y nunca o铆 decir "el C64 tiene 38kB" o de manera an谩loga "el C16 tiene 12kB".

"Factos". Las expansiones de memoria.

Debido su bajo precio, muchos usuarios interesados en prestaciones superiores simplemente adquir铆an otro ordenador, sin lamentarse demasiado por no haber amortizado su VIC. Pero s铆 es cierto que los que se manten铆an usuarios por m谩s tiempo, acababan comprando expansiones de memoria RAM.

Ampliaci贸n memoria conmutable de 3k/16k

Commodore sac贸 ampliaciones de 3kB, 8kB y 16kB. Se pod铆an conectar las tres a la vez si se dispon铆a de un expansor de cartuchos.

No hay compatibilidad entre la ampliaci贸n de 3kB y las de 8/16kB. Para abarcar el m谩ximo n煤mero de usuarios lo m谩s conveniente era desarrollar para +8kB. Aunque a煤n hay alg煤n despistado que saca alg煤n desarrollo para +3kB.

Despu茅s salieron ampliaciones de third parties de 16kB, y m谩s adelante, tambi茅n alguna de 32kB. Algunas ampliaciones de 16kB/32kB eran conmutables, para m谩s compatibilidad pod铆an funcionar alternativamente como de 3kB.

En la escena retro actual es posible obtener ampliaciones de +35kB (que cubren todo el espacio de direcciones) y de +37kB (adem谩s ofrecen 2kB en un espacio reservado a "puertos" del hardware, pero nunca utilizado).

Jelly Monsters (1981). Cartucho de Commodore.

La principal utilidad de las ampliaciones de +32kB es poder cargar programas que se publicaron en formato cartucho, juegos habitualmente. Hay poco software nativo para +32kB.

Hay que recordar que gran parte del cat谩logo m谩s popular en la 茅poca se public贸 en formato cartucho. Por ello hay ampliaciones que incorporan una selecci贸n de juegos, o permiten crear una personalizada en slots de memoria flash.

Algunas ampliaciones ofrecen todav铆a m谩s memoria, 128kB/512kB/1Mb, utilizando el conmutado de bancos. Pero no hay software disponible ni parece que lo vaya a haber.

Personalmente pienso que el cat谩logo m谩s interesante del VIC20 no est谩 en cartucho y por eso las selecciones de juegos no valen la pena.

Mito 2. La resoluci贸n gr谩fica del VIC 20 "el VIC20 tiene 22 columnas".

Este tiene algo m谩s de sentido. Pero como en el caso anterior, es una limitaci贸n del editor de BASIC, que no soporta otra anchura de pantalla. En el chip de v铆deo tanto el n煤mero de filas como el de columnas es programable y crece a costa del borde.

Un televisor puede mostrar 26 columnas sin problemas. Ajustando el monitor 1084 PAL se sacan 28 o 29 columnas. Con el n煤mero de filas todav铆a hay menos limitaci贸n y se llega al m谩ximo te贸rico de 32. La tabla de debajo muestra los valores para diversos juegos.

JuegoDescripcionColumnasFilasTotal celdas
Jelly MonstersClon Pacman, 19812329667
SkrambleAnirog, 19842626676
Tetris DeluxeNippur72,20071828504
ArukanoidoClon de Arkanoid, 20181532480
Robots RumbleDigital Monastery, 20192425600
Moons of JupiterTipo Asteroids, 19822632832
Zombie CalaveraDigital Monastery, 20193022660
Cosmic FirebirdsTipo Galaxian, 19832430720
BonzoTipo Space Panic, 19822429696
MyriadRabbit Software, 19822232704
SkyhawkQuicksilva, 19832520500
Dig DugClon Dig Dug, 19832026520
Frogger'07Clon Frogger, 2007**max

Arukanoido, Pixel, 2018

Fijarse que el Spectrum ten铆a 32 columnas y 24 filas, o sea 768 celdas, es decir, el VIC tampoco queda tan atr谩s en este par谩metro, n煤mero total de celdas (proporcional al n煤mero total de pixels).

Lo que s铆 es cierto es que el aspect ratio de los pixels no es agradable, son demasiado alargados.

La mala impresi贸n se agrava porque mucha gente, incluso en canales de Youtube, usa ordenadores retro sin ajustar el televisor a una entrada de la imagen en 4:3 (dejando el 16:9 actual) y en el caso del VIC eso es fatal. Los emuladores tampoco ajustan el ratio al abrir las ventanas, no s茅 si es desidia o es cosa del sistema operativo.

"Factos". Posibilidades gr谩ficas del chip de v铆deo VIC.

C贸mo hace la visualizaci贸n el VIC-20.

Para explicar qu茅 muestra el VIC 20 en pantalla lo m谩s practico es fijarse otros dos ordenadores: el PET y el C64, el VIC-20 es una evoluci贸n intermedia. Del C64 nos vamos a fijar en dos modos de visualizaci贸n, el alfanum茅rico y el alfanum茅rico multicolor.

El PET

Todos los ordenadores de 8 bits de Commodore, desde el PET hasta el C128, arrancan dando paso al editor de BASIC, utilizando un modo alfanum茅rico de visualizaci贸n, "CBM BASIC" etc etc. 

Todos disponen de un set de 256 caracteres (con los gr谩ficos PETSCII). Cada uno de los caracteres se representa con un s铆mbolo de 8 pixels de ancho y 8 de alto. El espacio es el caracter en que no se ilumina ning煤n pixel. Los caracteres se alinean en una ret铆cula que, en el caso habitual, PET y C64, es de 40 columnas x 25 filas (1000 celdas).

En realidad es posible elegir entre dos sets de caracteres PETSCII, uno tiene may煤sculas y min煤sculas y otro s贸lo tiene may煤sculas, a cambio de m谩s caracteres gr谩ficos. La definici贸n gr谩fica de los s铆mbolos de cada uno de los sets de caracteres, a 1 bit por pixel, ocupa 2kBytes de ROM.

El C64

Donkey Kong (1983). Cartucho de Atari.

A diferencia del PET, en el modo alfanum茅rico del C64 a cada una de las celdas se le asigna un color de entre los 16 de la paleta, y los pixels iluminados se ven de ese color. Los no iluminados se ven en el color del fondo de la pantalla (que tambi茅n se elige entre los 16 de la paleta).

Otra diferencia es que se puede usar un juego de caracteres definido por el usuario en memoria RAM, a utilizar en lugar del PETSCII.

Aparentemente el chip VIC al principio ten铆a unas especificaciones similares (con otro n煤mero de filas y columnas). Pero la versi贸n definitiva que se incluye en los VIC1001/VIC20 es en realidad similar al modo alfanum茅rico multicolor del C64.

Este modo permite utilizar caracteres multicolor. Estos tienen 4 pixels de ancho y 8 de alto, o sea, se sacrifica la mitad de la resoluci贸n. A cambio en cada celda se pueden mostrar 4 colores, en vez de 2. Esta clase de caracteres gr谩ficos se introduce con el VIC 20, despu茅s se mantiene en los siguientes 8-bit de Commodore.

El VIC20

Antes de seguir explicando las caracter铆sticas del modo multicolor vale la pena hacer una pausa y fijarse en 3 juegos de VIC-20, el Jelly Monsters, que s贸lo usa caracteres normales, el Donkey Kong que, excepto para los textos, s贸lo usa caracteres multicolor y el Arukanoido, que los mezcla.

Frogger'07, Victragic, 2007

La parte mala de los caracteres multicolor es que s贸lo uno de los 4 colores de la celda se define de manera independiente. Los otros 3 colores son comunes para todas las celdas de la pantalla, como lo es el color del fondo en el modo alfanum茅rico "original".

Lo que se hace en el modo alfanum茅rico multicolor es posibilitar el uso mezclado de caracteres normales y caracteres multicolor.

Dar esta posibilidad tiene un coste, y es que se reduce a los 8 primeros colores la paleta para colores definidos a nivel de celda. Los 3 colores "de fondo" se siguen escogiendo de la paleta completa de 16 colores.

Diferencias del VIC-20 con el C64.

Una vez establecido que el modo de visualizaci贸n del VIC-20 se corresponde con el modo alfanum茅rico multicolor del C64, vamos a fijarnos en las diferencias (al margen del ya explicado n煤mero de filas y columnas).

Paleta de colores
  • Paleta de colores: alguna vez o铆 por ah铆 que eran iguales. Aunque ambas tienen 16, los 8 colores no b谩sicos son diferentes.
  • Colores "de fondo": el C64 s铆 que tiene realmente 3, pero en el VIC-20 uno de los 3 es el color del borde (de ah铆 la abundancia de juegos con el borde de colores chillones), y se elige de la paleta reducida de 8 en vez de la paleta general de 16.

    El Frogger'07, para que no se vea un borde rojo chill贸n, utiliza el truco de maximizar el 谩rea visible (el n煤mero de filas y columnas).

Otras diferencias gr谩ficas entre VIC-20 y C64 no relacionadas con el modo alfanum茅rico multicolor:

  • Modos bitmap: en el VIC-20 no hay modo bitmap, pero s铆 un pseudomodo bitmap con m谩s restricciones de color y de n煤mero de columnas y filas.
  • Sincronizaci贸n con el raster: el VIC20 no tiene interrupciones raster, pero s铆 se puede obtener el valor del raster, suficiente para sincronizar la visualizaci贸n.
  • Acceso a memoria: el VIC-II del C64 puede acceder a los 64k de RAM en 4 bancos de 16kB, mientras que el VIC del VIC20 s贸lo puede acceder a los 5k de RAM de base.

Mito 3: La disketera 1541 del C64 "es lenta para mantener la compatibilidad con el VIC-20"

Esto no se comenta tanto como de la memoria o el v铆deo, pero tambi茅n lo he o铆do varias veces y es bastante est煤pido, quiz谩 haya gente que cree que la limitaci贸n de la velocidad viene dada por el cable o por el conector.

En todo caso Commodore no hizo una unidad de disco para el C64, la 1541 es pr谩cticamente id茅ntica a la 1540, que es la unidad de disco del VIC-20. Modificada para que sea algo m谩s lenta, porque el C64 es algo m谩s lento que el VIC-20 a nivel de ejecuci贸n de CPU.

Cabe destacar que Commodore s铆 sac贸 disketeras m谩s r谩pidas para modelos subsiguientes:

  • La 1551 para el C16/+4, que se conectaba al puerto de cartuchos. Est谩 el poco conocido dato de que a pesar de eso no es m谩s r谩pida que una 1541 con un turboloader.
  • La 1571 para el C128, que adem谩s es compatible con el VIC20, C64 y C16 (aunque en estos casos emula a una 1541).

Teniendo en cuenta que cuando el VIC20 y la 1540 salen al mercado en 1981, e incluso cuando se preparaba la salida al mercado del C64 en 1982, Commodore viv铆a de la l铆nea PET, no me extra帽ar铆a que hubieran tomado la decisi贸n deliberadamente. As铆, si alguien quisiese disquetera r谩pida, tanto para el VIC20 como para el C64, pod铆a comprar el cartucho interfaz IEEE488 y una disketera CBM8050 o similar.

De hecho recuerdo una publicidad en espa帽ol de Commodore o del distribuidor tratando de explicar que el PET/CBM era para uso profesional y el VIC 20 para uso familiar con razones tales como "el VIC tiene el Basic 2.0 mientras que el PET/CBM tiene el Basic 4.0" y "la unidad de disco del VIC tiene 1 disco de 170 kB mientras que la del PET/CBM tiene 2 discos de 500 kB". Da idea de los esfuerzos que hac铆an las compa帽铆as, no solo Commodore, por mantener la posici贸n de sus l铆neas cuando iban quedando obsoletas, recurriendo a cierto grado de desinformaci贸n.

Mito 4: El VIC20 es "dif铆cil de programar".

Esto se he escucha menos a menudo, pero tambi茅n es algo que se da por hecho. Quiz谩 como justificaci贸n de la poca cantidad y/o calidad de software. El tema es, comparado con qu茅.

Manic Miner, Kweepa, 2018

La CPU 6502 es relativamente com煤n. Si se refiere a la poca memoria de serie, por loables que sean los esfuerzos por programar para una necesidad inferior de memoria, tiene m谩s sentido ampliarla

Probablemente se refieran en comparaci贸n con el C64, que lo substituy贸, o con el Spectrum, que fue la plataforma base para el desarrollo de videojuegos en Reino Unido.

A pesar de que el parque de VIC20 en 1983 y 1984 era grande, no se ha podido disfrutar de juegos como Manic Miner hasta hace poco. Entonces quiz谩 s铆 tendr铆a que concordar en que la plataforma por las razones que fuese era dif铆cil de programar, m谩s con los medios de la 茅poca.

Consuela pensar que muchos otros ordenadores tambi茅n se comieron los mocos en definitiva.

"Factos". Lo que se no se pudo disfrutar en el VIC.

A diferencia del C64, el VIC20 que aparece en 1981, qued贸 completamente olvidado hacia 1985. No se reanima la actividad hasta la era retro a mediados de los 2000. Es decir, tuvo una vida corta, m谩s parecida a la de otros ordenadores olvidados como el Oric y el Sharp MZ, por citar un par.

Es decir, no estuvo activo el suficiente tiempo para que los desarrollos sacasen mucho jugo a las m谩quinas que disfrutasen de ampliaci贸n de memoria. El VIC b谩sico queda limitado por la poca memoria, aunque pueda haber alg煤n t铆tulo muy eficiente en el uso de memoria, como Pulse (Pixel, 2014).

Al hablar de desarrollos me refiero a multimedia, que es lo que se valora de los ordenadores retro actualmente, o sea, juegos y demos.

Los t铆tulos m谩s recordados suelen ser los cartuchos que sac贸 la misma Commodore al sacar la m谩quina, casi todos de tipo arcade, y los cartuchos que sac贸 Atari. Cuando sali贸 el VIC20 en 1981 lo habitual eran los cartuchos o copiar listados de libros y revistas. El mercado de cintas se anima algo despu茅s.

Bertie the ball, Misfit, 2014

Te贸ricamente podr铆a haber disfrutado de esos gr谩ficos tipo Spectrum, con color clash pero muy detallados que pueden ser muy bonitos, pero apenas se observa ese estilo en unos pocos t铆tulos modernos de Misfit, o un estilo parecido en los ports de Mojon Twins de Majikeyric.

T茅cnicamente podr铆a haber disfrutado de los juegos populares en 1983 y 1984, de entre los juegos brit谩nicos s贸lo se recuerdo que se convirtiese el Jet Pac. De juegos americanos llegaron ports al menos de Activision, como Pitfall y Jungle Hunt, pero a menudo de calidad mediocre.

Est谩 claro que programar sprites en el VIC-20 es much铆simo m谩s trabajoso que utilizar los sprites nativos de un C64. Quiz谩 m谩s trabajoso tambi茅n que con los gr谩ficos tipo bitmap de un Spectrum.

Por otra parte, los gr谩ficos tipo alfanum茅rico s铆 pueden hacer que muchas animaciones puedan ser muy r谩pidas. Como ejemplos de acci贸n r谩pida, Myriad y Pulse.

No he puesto capturas de juegos r谩pidos porque en foto quedan mejor los juegos que tienen un background est谩tico detallado, en contraposici贸n a los juegos con scroll o con muchos elementos en movimiento.

En todo caso, cuando el soporte de distribuci贸n favorito cambi贸 del cartucho a las cintas, el VIC 20 dej贸 de tener el mismo nivel software que el Spectrum y el C64. S铆 hubo algunos t铆tulos de m谩s calidad para m谩quinas con +8kB y +16kB, pero habitualmente exclusivos de la plataforma y poco populares fuera de ella, por ejemplo, Submarine Commander. El Commodore 16 vino a ocupar el espacio "entry level" al que todav铆a aspiraba el VIC, y para 1984 era mucho m谩s adecuado.

Pitfall, "remaster", Victragic, 2013

El VIC ahora disfruta de cierta popularidad por dos razones: no dej贸 de ser un ordenador muy vendido en algunos pa铆ses, y adem谩s quiz谩 algunos conceptos sencillos tienen m谩s sentido en un VIC 20 que en un C64, donde el nivel est谩 m谩s alto.

Otra an茅cdota personal: siempre pens茅 que la competencia del VIC20 era el ZX81, que con una ampliaci贸n de 16kB 茅ste era como un Spectrum en blanco y negro. Pero no, pr谩cticamente no hay manera de sacar gr谩ficos en un ZX81, a menos que sean tipo ASCII, en este sentido es m谩s parecido a un PET. Podr铆a haber competido con el Acorn Atom, pero 茅ste s贸lo se distribuy贸 en forma de kit. Entonces quiz谩 sea razonable decir que el VIC20 fue el primer ordenador dom茅stico barato (home computer).

Otras cosas interesantes del VIC20.

El sonido.

Es un tema que pasa un poco desapercibido, pero en una 茅poca en la que casi todos los ordenadores s贸lo eran capaces de emitir zumbidos, el VIC20 ten铆a bastantes m谩s posibilidades.

Es decir, habitualmente parece que el VIC-20 estuviese a la cola en cuanto a prestaciones, exceptuando la calidad del teclado y la cantidad de perif茅ricos. Pero al menos en el sonido es muy superior al Spectrum.

Aunque con unos tonos muy distorsionados y muy poco control sobre el volumen, tiene 3 canales y otro de ruido. Queda a la sombra del SID pero a m铆 me gusta bastante, me parece muy chiptune.

¿8 Kb de memoria de video?

Un aspecto relacionado con la ampliaci贸n de memoria de 3kB es que se ubica en direcciones de memoria accesibles por el chip de v铆deo VIC, los 8kB m谩s bajos del espacio de direcciones. Para que el chip pueda acceder tambi茅n es necesario que se trate de memoria interna, desafortunadamente no vale la ampliaci贸n externa.

Existe un mod consistente en a帽adir esos 3kB como memoria interna. Se deben poder contar con los dedos de una mano el n煤mero de ordenadores con ese mod. En un ordenador sin sprites disponer de 8kB de memoria de v铆deo en vez de 4-5kB y poder cargar 3 o 4 juegos de caracteres en vez de 2 hubiese mejorado la capacidad gr谩fica.

Publicar un comentario

2 Comentarios

  1. Muy buen art铆culo, me ha sorprendido lo de las columnas "variables", desconoc铆a esa caracter铆stica del VIC20.

    ResponderEliminar
    Respuestas
    1. Gracias, la verdad es que si no lo has mamado en la 茅poca es dif铆cil estar al corriente de todas las peculiaridades del sistema

      Eliminar