MOS Technology VIC

El VIC (Video Interface Chip) (Chip de Interfaz de Video), específicamente conocido como el MOS Technology 6560 (versión NTSC)/6561 (PAL), es el circuito integrado responsable de generar gráficos de video y sonido en la computadora doméstica Commodore VIC-20. Originalmente fue diseñado para aplicaciones tales como terminales CRT de bajo costo, monitores biomédicos, pantallas de sistemas de control y arcades o consolas de videojuegos.

MOS Technology VIC (versión PAL 6561-101)
Diagrama de pines de la versión 6560 del chip MOS. Este modelo está empaquetado en un encapsulado DIP estándar de 40-pin.

El chip fue diseñado por Al Charpentier en 1977, pero Commodore no pudo encontrar un mercado para el chip. En 1979, MOS Technology comenzó a trabajar en un chip de video llamado MOS Technology 6564 destinado a la computadora TOI y también había trabajado en otro chip, el MOS 6562, destinado a una versión en color del Commodore PET. Ambos chips fallaron debido a limitaciones de tiempo de memoria (ambos requerían una memoria SRAM muy rápida y, por lo tanto, costosa, lo que los hacía inadecuados para la producción en masa). Antes de comenzar finalmente a usar el VIC en el VIC-20, el diseñador de chips Robert Yannes introdujo características del 6562 (un mejor generador de sonido) y del 6564 (más colores) al 6560, así que antes de que el VIC-20 entrara a producirse en masa, había sido revisado a fondo.

Características editar

Sus características incluyen:

  • Espacio de direcciones de 16 kB para la pantalla, los caracteres y la memoria de color (solo 5 kB apunta a la RAM en el VIC-20 sin una modificación de hardware)
  • 16 colores (los 8 superiores solo se pueden usar en el fondo global y colores auxiliares)
  • Dos tamaños de caracteres seleccionables (8 × 8 u 8 × 16 bits; el ancho de píxel es 1 bit para caracteres «alta definición» y 2 bits para caracteres «multicolores»)
  • La resolución máxima de video depende del sistema de televisión (176 × 184 es el estándar para el firmware VIC-20, aunque es posible hasta 248 × 232p/464i en la máquina NTSC y hasta 256×280 en la máquina PAL[1]​)
  • sistema de sonido de 4 canales (3 ondas cuadradas + ruido «blanco» + ajuste de volumen global)
  • DMA en chip
  • Dos conversores analógico/digital de 8 bits
  • Soporte de lápiz óptico

A diferencia de muchos otros circuitos de video de la época, no ofrece capacidad de refresco de RAM dinámica. Por lo tanto, el VIC-20 empleó los chips de RAM estática (SRAM) más costosos. Esta es probablemente la razón por la que la máquina se vendió con solo 5 KB de RAM. Las expansiones de memoria para el VIC-20 también usaron SRAM o implementaron su propio circuito de refresco.

El VIC fue programado manipulando sus 16 registros de control, memoria asignada al rango de dirección de memoria $9000-$900F en el espacio de direcciones del VIC-20. Los convertidores A/D en chip se utilizaron para lecturas de posición dual paddle por el VIC-20, que también utilizó la función lápiz óptico del VIC. El VIC precedió al mucho más avanzado VIC-II, utilizado por los sucesores del VIC-20, el C64 y C128.

Las VIC-20 con expansión de RAM tienen su memoria de video (550 bytes) a $1000 y cuando no está presente, $1E00. Los juego de caracteres definidos por el usuario deben colocarse dentro de los primeros 5kB de la RAM del sistema. La ROM de caracteres PETSCII está en forma predeterminada en $8000 y cada carácter necesita 8 bytes para almacenarse. Se pueden utilizar hasta 128 caracteres a la vez. Si bien el PET tenía una barra invertida (\) en su conjunto de caracteres, esto fue reemplazado en el VIC-20 (y todas las máquinas Commodore posteriores) con un signo de libra esterlina (£).

Los caracteres programables son la única forma de crear gráficos y animaciones en el VIC, ya que el chip no tiene sprites o un modo de mapa de bits direccionable para todos los puntos. De los 16 colores en la paleta, ocho se pueden usar para el primer plano (por la RAM de color en $9400) y el borde, mientras que los otros se limitan al fondo y los multicolores auxiliares. El MSB de la RAM de color es una bandera que se utiliza para indicar si ese carácter es multicolor o de alta resolución. Debido al bloqueo extremo del primero, la mayoría de los juegos VIC-20 utilizan personajes de alta resolución.

El VIC no admite el desplazamiento o las interrupciones de trama como en el VIC-II, pero los contadores de la línea de exploración se pueden sondear para un punto específico en la pantalla para producir efectos de trama. Esta característica rara vez se usaba en juegos, excepto en algunos títulos como Demon Attack de Imagic.

La programación de sonido en el VIC se realiza colocando un valor de frecuencia en uno de los cuatro registros en $900A-$900D (se apagan escribiéndoles un cero). Los tres primeros son generadores de ondas cuadradas con un tono de media octava entre sí y el cuarto es para ruido blanco.

Registros editar

El VIC tiene 16 registros de lectura/escritura que se enumeran a continuación:

Registro Hexadecimal Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 9000 Entrelazado Origen horizontal
1 9001 Origen vertical
2 9002 VA9 Número de columnas
3 9003 R0 Número de filas 8/16
4 9004 Línea de trama (bits 8-1)
5 9005 Direcc. de video (bits 13-10) Direcc. de caract. (bits 13-10)
6 9006 Lápiz óptico horizontal 1
7 9007 Lápiz óptico vertical
8 9008 Paddle X
9 9009 Paddle Y
10 900A activado Frecuencia oscilador 1
11 900B activado Frecuencia oscilador 2
12 900C activado Frecuencia oscilador 3
13 900D activado Frecuencia ruido blanco
14 900E Color aux Volumen
15 900F Fondo RV Borde

Paleta de colores editar

La paleta completa de dieciséis colores es:

Number — name Y Pb (rel.) Pr (rel.)
0 — negro 0 0 0
1 — blanco 1 0 0
2 — rojo 0,25 −0,3826834 0,9238795
3 — cyan 0,75 0,3826834 −0,9238795
4 — púrpura 0,5 0,7071068 0,7071068
5 — verde 0,5 −0,7071068 −0,7071068
6 — azul 0,25 1 0
7 — amarillo 0,75 −1 0
8 — naranja 0,5 −0,7071068 0,7071068
9 — naranja claro 0,75 −0,7071068 0,7071068
10 — rojo claro 0,5 −0,3826834 0,9238795
11 — cyan claro 1 0,3826834 −0,9238795
12 — púrpura claro 0,75 0,7071068 0,7071068
13 — verde claro 0,75 −0,7071068 −0,7071068
14 — azul claro 0,5 1 0
15 — amarillo claro 1 −1 0

Lista de los CI VIC editar

  • MOS Technology 6560 NTSC
  • MOS Technology 6561E PAL Versión de cerámica, utilizada en los primeros VIC-20
  • MOS Technology 6561-101 PAL

Véase también editar

Referencias editar

  • Bagnall, Brian (2005). On The Edge: The Spectacular Rise and Fall of Commodore. Variant Press. ISBN 0-9738649-0-7.

Enlaces externos editar