lunes, 27 de abril de 2020

Atari 2600 VCS (Video Computer System)

Entre las décadas de 1970 y 1980, junto a los ordenadores personales, llegó a los hogares otro aparato electrónico que revolucionaría la forma de jugar: la videoconsola de juegos. Un exponente muy importante fue la consola Atari 2600 VCS (Video Computer System), creada en 1977 por la empresa Atari, creadores del videojuego Pong. Se vendieron muchísimas unidades y hoy día es posible comprar alguna de segunda mano.

Las que siguen en funcionamiento son algo caras así que como yo sobre todo estaba interesado en ver su construcción compré una que no funcionaba por mucho menos dinero. Cuando me llegó además estaba completamente llena de suciedad, tuve que hacerle una limpieza a fondo, tanto que casi desaparece completamente el logo del fabricante.

Hubo varias versiones, la que yo he comprado es la segunda, conocida como "light" por ser más ligera que la versión anterior, "sixer" por tener seis interruptores y "woody" porque aún siendo la carcasa de plástico algunas zonas tienen apariencia de madera. Siguientes versiones eran más pequeñas, algunos interruptores pasaron a la parte de atrás y no tenían apariencia de madera.

Los tres interruptores de la izquierda sirven para encender o apagar la consola, elegir el modo de imagen (color o blanco y negro) y seleccionar el nivel de dificultad del jugador del joystick izquierdo.

Los juegos para la consola se distribuían mediante cartuchos. En el centro, entre los interruptores de la izquierda y la derecha, se encuentra la ranura para la introducción de los cartuchos.

En el lado derecho está el interruptor para el nivel de dificultad del jugador del joystick derecho y los de selección y reinicio del juego. Los interruptores de selección y reinició de juego funcionan como pulsadores. Al moverlos hacia abajo hacen su función y vuelven arriba al soltarlos. Por eso a su derecha tienen el dibujo de una flecha hacia abajo en lugar de dos valores como el resto de interruptores.

Solo el interruptor de encendido/apagado actúa directamente sobre la consola, en el resto de interruptores es el juego del cartucho el que debe leer su estado y realizar la acción. Esto posibilita que se pueda programar el juego para ejecutar acciones distintas a las indicadas en la consola.

Si quitamos la tapa superior se puede ver el interior de la consola. La electrónica de la consola se divide principalmente en dos partes: la placa de los interruptores y una caja de metal donde se encuentra la placa base. Esta caja de metal sirve para impedir que las ondas electromagnéticas que generan los componentes electrónicos de la placa base salgan y creen interferencias en otros aparatos electrónicos cercanos como el televisor al que debía conectarse la consola. Esto era necesario para cumplir con las normas de la FCC (Federal Communications Commission) (Comisión Federal de Comunicaciones) de Estados Unidos.

Los interruptores tienen una cinta de metal que en el manual de servicio se recomendaba colocar para proteger los circuitos integrados de la consola ante descargas de electricidad estática. Por la parte de atrás se puede ver como los interruptores están fijados a la placa y unos cables conectan la placa de los interruptores con la placa base.



En la parte de atrás de la consola se encuentran dos conectores DE-9 para dos joysticks y un conector Jack de dos polos para el adaptador de corriente. La consola me vino sin adaptador de corriente, así que tuve que usar un adaptador de una consola compatible que tengo. El adaptador de corriente suministra 9 V sin regular.


En muchos aspectos la electrónica es muy similar a ordenadores de la época como el ZX Spectrum 48K que compré hace tiempo y del que escribí varios artículos.

En la parte izquierda de la placa de interruptores además de los interruptores se encuentran un condensador y un regulador de voltaje 7805 atornillado a una placa de metal que le sirve de disipador de calor. El regulador de voltaje se encarga de transformar los 9 V sin regular del adaptador de corriente en 5 V regulados para poder alimentar correctamente los circuitos integrados de la consola.

Al encender la consola, como era de esperar no funcionaba. Lo primero que hice fue comprobar si a la salida del regulador de voltaje había los 5 V necesarios. No había voltaje así que procedí a cambiarlo.

Después de cambiarlo solo daba 3 V, así que cambié también el condensador de 2200 uF y 16 V y por fin la salida del regulador de voltaje era de 5 V. Desafortunadamente la consola seguía sin funcionar y ya empecé a temer que el problema iba a ser más serio.

En el lado derecho se encuentra el modulador de televisión al que llegan la imagen y sonido creados por la consola y los modula en un canal de televisión para que se pueda ver y oír en cualquier televisor analógico en color o blanco y negro.

En la siguiente imagen se puede ver el interior del modulador con sus componentes. El modulador se conecta al televisor mediante un cable coaxial bastante largo que tiene un conector RCA macho para el modulador y un conector Belling-Lee macho para el televisor.


En el centro de la placa de interruptores se encuentra un conector macho de 12 pines donde se conecta el conector hembra de la placa base con los cables que unen ambas placas. Si se desconectan los cables se puede desmontar la placa de los interruptores.


Si le damos la vuelta podremos ver las soldaduras de todos los componentes y las pistas que conectan los interruptores y resto de componentes con los conectores en el centro que unen esta placa con la placa base.

En la parte izquierda se pueden ver los seis contactos de cada uno de los interruptores de la parte derecha así como las conexiones del modulador de televisión. Los interruptores tienen seis contactos en lugar de tres para aumentar la robustez.

De igual forma en la parte derecha se ven las conexiones de los interruptores de la izquierda, el regulador de voltaje y los anclajes de la placa de metal disipadora de calor del regulador.


En el centro de la placa se encuentran las conexiones de los 12 pines del conector que une las dos placas. En el reverso de la placa también se puede ver el logo de Atari, la versión de la placa (REV. B) y el año de fabricación (77).


Una vez quitada la placa de los interruptores, en la carcasa solo queda la caja que contiene la placa base. En la parte de arriba se encuentra la ranura para los cartuchos de juegos.


Por detrás de la caja de metal sobresale parte de la placa base con los conectores para joystick, la toma de corriente y los cables que conectan con la placa de los interruptores. Los cables están soldados a la placa base y tienen un conector hembra para conectar a la placa de interruptores.

Por estos cables pasan múltiples señales en ambas direcciones haciendo que las dos placas funcionen como una sola. Posteriores versiones de la consola tenían una sola placa con todos los componentes.

Por ejemplo la corriente de 9 V del adaptador de corriente entra por el conector de la placa base y luego pasa por uno de esos cables a la placa de los interruptores, donde se encuentra el regulador de voltaje que la convierte a 5 V, para luego volver por otro cable a la placa base para alimentar los circuitos.

Para acceder a la placa base hay que desatornillar la caja de la carcasa y quitar la placa de metal que cierra la caja por abajo.




En la placa base se encuentran los componentes electrónicos principales de la consola:

Los chips van montados sobre zócalos en lugar de soldados a la placa para facilitar su reemplazo en caso de dañarse.

El microprocesador MOS 6507 tiene un bus de datos de 8 bits. Es una versión del MOS 6502 con algunas limitaciones que le hacían más económico. Al igual que con otros ordenadores o consolas de la época era muy importante ajustar el precio de los componentes para hacer un producto barato que pudiera comprar un gran número de personas. El MOS 6507 solo tiene un bus de direcciones de 13 bits, lo que permite solo 213 = 8192 direcciones. Usando direcciones de un byte permite 8192 bytes = 8 KiB.

El chip TIA es un circuito integrado de imagen y sonido diseñado específicamente para esta consola. Se encarga de generar las imágenes a mostrar en la pantalla y utiliza un sistema diferente al de otros ordenadores o consolas. No tiene un área de memoria framebuffer donde formar la imagen completa a partir de puntos. En su lugar crea dinámicamente la imagen línea a línea a partir de la información que almacena de un campo de juego y cinco objetos gráficos móviles: 2 misiles, 1 bola y 2 jugadores. Esta información solo abarca una línea y el juego debe modificarla constantemente para cada línea de la pantalla si es necesario.

Esto tiene el inconveniente de que se consume mucho tiempo de procesador en dibujar la imagen que no se puede utilizar para la lógica del juego. Por otro lado el chip TIA tiene la capacidad de detectar colisiones entre los objetos, algo muy importante a la hora de programar juegos para saber por ejemplo cuando ha chocado la bola. De esta forma se quita trabajo al procesador, en otros ordenadores o consolas es necesario que el código del juego haga esta función.

Una ventaja de no tener memoria framebuffer y generar la imagen dinámicamente es la posibilidad de tener una paleta de colores más amplia que otros ordenadores y consolas de la época al no estar limitada por la cantidad de memoria.

Este sistema permitía disminuir costes de fabricación al no necesitar memoria framebuffer y hacía muy fácil programar juegos que se adaptaran a esas características predefinidas de 2 jugadores, misiles, bolas y colisiones. Para hacer juegos distintos el programador tenía que buscar la forma de adaptar las capacidades de la consola a las necesidades del juego. El chip TIA también permite generar sonidos con distinto tono y volumen.

El chip TIA genera las señales de luminancia, crominancia y sincronismo necesarias para crear una señal de video compuesto que se envía al modulador de televisor. Para mezclar estas señales y crear el video compuesto se utiliza un Hex Buffer 4050 y otros componentes como resistencias y condensadores. En la placa también se encuentra un potenciómetro que permite ajustar el nivel de color.


El chip RIOT (RAM Input Output Timer) proporciona los 128 bytes de memoria RAM de la consola, un temporizador y se encarga de controlar las entradas DE-9 para joysticks, volantes, pedales, teclados numéricos u otros dispositivos de entrada. El protocolo de comunicación usado se convirtió en el estándar de facto conocido como Norma Atari y fue usado en otras consolas y ordenadores. Este chip también controla los seis interruptores de la consola y permite que los juegos lean su estado. Además el chip TIA colabora en el control de algunos tipos de dispositivos como "paddles" y con los botones de disparo de los joysticks.

El modelo original se basaba en el sistema de televisión NTSC, por lo que se necesitaba un resonador de 3,579545 MHz para generar la señal de televisión. Esa misma frecuencia es la usada por el chip TIA para su funcionamiento. El procesador utiliza un tercio de esa frecuencia, 1,193182 MHz. De esta forma con un solo resonador funciona todo el sistema abaratando costes y simplificando la sincronización. Es lo mismo que hicieron en ordenadores como el ZX Spectrum 48K o el IBM 5150.

En versiones de la consola que usan el sistema PAL, como la consola que he comprado, el chip TIA es ligeramente distinto y se usan dos resonadores. Uno de 4,433618 MHz para generar la señal PAL y uno de 3,546894 MHz para el chip TIA. Esta frecuencia es 4/5 de la frecuencia PAL (4,433618 x 4/5 = 3,546894) y dividida entre tres da 1,182298 MHz para el procesador. Esas frecuencias se integran con el sistema PAL y son lo bastante similares a las frecuencias usadas en la consola NTSC para que los dos sistemas sean compatibles. También crearon versiones para el sistema Secam.

La frecuencia de 1,182298 MHz la genera el chip TIA en el pin 4. En la siguiente imagen se puede ver la señal medida con un osciloscopio. El ciclo de la señal es de 1000 ns / 1,182298 MHz = 845,81 ns.

A continuación se muestra una tabla con las diferentes frecuencias:

SeñalTIAProcesador
NTSC3,579545 MHz3,579545 MHz1,193182 MHz
PAL4,433618 MHz3,546894 MHz1,182298 MHz

Otro punto a tener en cuenta es que las paletas de colores de los sistemas NTSC y PAL no son iguales, por lo que los colores del juego no se verían igual en consolas NTSC y PAL. Por eso se publicaban versiones distintas de los juegos para los distintos sistemas.

En la parte de atrás de la placa base se puede ver el logo de Atari, la versión de la placa (REV B) y el año de fabricación (1978). El año de fabricación es distinto al de la placa de interruptores, que es del año 1977.

Al desmontar la caja de metal se pueden ver en la parte de abajo de la carcasa todos los anclajes de las piezas internas de la consola y las aberturas hacía el exterior por donde salen los conectores y cables.

Con toda la electrónica a la vista pude comprobar que el procesador estaba muy caliente, lo que seguramente indique que está cortocircuitado y es lo que hace fallar la consola. Si alguna vez consigo un procesador compatible probaré a ver si es ese el problema.

Para poder probar la consola, si funcionaba, compré también el juego Ms. Pac-Man de Namco. El cartucho tiene en su interior una placa de circuito electrónico con una memoria donde se encuentra el videojuego.




El chip de memoria está protegido por una placa de metal, que al igual que la caja de la placa base, sirve para que no salieran al exterior las ondas electromagnéticas generadas en la memoria y pudieran causar interferencias en otros aparatos. Por el reverso de la placa de circuito se pueden ver los contactos de la memoria soldados.


La placa tiene unos contactos que sobresalen por la parte de arriba del cartucho y se insertan en la ranura para cartuchos de la consola. A su vez la memoria está unida a estos contactos. A los lados se pueden ver dos anclajes de plástico para sujetar firmemente el cartucho a la consola.


De esta forma la memoria donde se encuentra el juego queda accesible al procesador, que puede leerla como una memoria ROM. Para ello el procesador utiliza la mitad de sus direcciones de memoria posibles, pudiendo acceder a un máximo de 4 KiB. Para poder usar juegos más grandes era necesario utilizar técnicas de bank switching que permitieran acceder a distintas áreas de memoria del cartucho con la misma dirección del procesador. Algunos cartuchos también añadían más memoria RAM permitiendo la escritura en algunas de sus direcciones de memoria.

Tanto el chip del cartucho como los chips TIA y RIOT están conectados directamente al bus de datos y de direcciones del procesador sin ningún controlador intermedio. Los chips tienen líneas de selección conectadas a algunas líneas del bus de direcciones del procesador que le permiten a este seleccionar el chip a utilizar dependiendo de la dirección.

La forma tan básica en la que están conectados los chips hace que se pueda acceder a ellos con distintas direcciones. En el manual de servicio o manuales de programación que se encuentran por internet se puede ver con detalle como están conectados los chips al procesador y las direcciones de memoria que se pueden usar para acceder a ellos y leer y escribir datos. A continuación se muestran algunas de las direcciones posibles:

ChipHexadecimalDecimalTamaño
Registros TIA0000 - 003F0 - 6364 bytes
RIOT RAM0080 - 00FF128 - 255128 bytes
Registros RIOT0280 - 029F640 - 67132 bytes
ROM Cartucho1000 - 1FFF4096 - 81914096 bytes (4 KiB)

Como la consola no funciona, para poder probar el juego utilicé mi consola compatible conectada a un televisor TDT que también sintoniza televisión analógica. Desde la creación de la consola 2600 hasta hoy día se han creado multitud de consolas compatibles.

Los técnicos que reparaban las consolas disponían de dos cartuchos especiales para encontrar fallos. En el manual de servicio de la consola se detalla como usarlos. Uno de ellos era el cartucho de diagnóstico que permitía hacer varias pruebas y detectar fallos. Si no era posible hallar el problema con uno de esos test se podía usar el cartucho "Signal Trace Cartridge" para encontrar cortes en las señales de los circuitos de la consola.

Básicamente este es el diseño y funcionamiento de la consola. Para profundizar más en la electrónica lo mejor es leer con detenimiento el manual de servicio, donde se indica con todo detalle el diseño electrónico y los procedimientos de reparación.

4 comentarios:

  1. Por ahora no. Estoy casi seguro que el problema es el procesador pero ahora mismo no tengo otro procesador 6507 con el que probar. Cuando tenga uno probaré.

    ResponderEliminar
    Respuestas
    1. Buenas ha analizado un Atari 2600 y también ha hecha alguna modificación para poder conectarlos a las pantallas o televisores actuales

      Eliminar
    2. Tenía pensado hacerlo si fuera necesario pero como no funciona el procesador no pude hacerlo. Si lo hice con un ZX Spectrum 48K.

      https://www.cuadernoinformatica.com/2017/07/sinclair-zx-spectrum-48k-video-compuesto.html

      Si tienes un televisor capaz de sintonizar canales analógicos quizás pueda sintonizar el canal en el que emite la consola. Yo tengo un clon de la Atari 2600 Jr que mi televisor es capaz de sintonizar.

      https://www.cuadernoinformatica.com/2021/06/atari-2600-jr-clon-kingsway.html

      Si no es capaz de sintonizar el canal lo que se suele hacer para conectar estos aparatos antiguos es sacar al exterior la señal de "vídeo compuesto" y "audio analógico" que llegan al modulador de televisión. En algunos casos es necesario algún circuito con algún transistor que amplifique la señal. Hay que tener mucho cuidado porque se puede dañar el aparato.

      Si el televisor tiene entrada de vídeo compuesto se puede conectar directamente, si no es así puede ser necesario utilizar un euroconector/scart o transformar el vídeo compuesto en otro tipo de formato de vídeo.

      En internet se pueden encontrar varios "atari vídeo compuesto mod" que te pueden servir. ¿Qué modelo de consola quieres ver en el televisor? ¿Qué modelo de televisor tienes?

      Eliminar