Atari 2600

8
ATARI 2600 Introducción El Atari 2600 VCS, previamente conocido simplemente como Atari VCS, es un modelo de Videoconsola que salió al mercado por primera vez en Estados Unidos en 1977. Su aparición supuso una auténtica revolución en el mercado del entretenimiento y se hizo tan popular en todo el mundo que, para mucha gente, el nombre “Atari” se convirtió en un nombre genérico para designar cualquier sistema electrónico de entretenimiento. La consola ATARI 2600 consta de tres importantes circuitos integrados o chips: l a CPU (procesador 6507, similar al 6502), el Adaptador de Interfaz de Televisión (TIA o chip STELLA), y el RIOT (PIA - 6532). La circuitería de la consola puede verse en la Figura 1. La CPU 6507 es como la 6502 con dos importantes excepciones: sólo tiene líneas de Dirección externas para 8K de memoria y no hay líneas de interrupción conectadas. El chip Stella se encarga de todo el vídeo y sonido de la consola. También tiene seis registros que son usados como conversores A/D y para los botones de los joysticks. El chip Stella controla además la línea RDY del microprocesador para iniciar control de sincronización horizontal. El chip no tiene capacidades DMA: El microprocesador debe escribir cada línea de datos dentro de los registros cuando se dibuja la pantalla. El chip Stella se direcciona a través de 44 registros de sólo escritura, y trece registros de solo escritura mapeados en la página 0 (zero page). Para los que están familiarizados con el ATARI 800, este chip es alrededor de ½ del TIA/Pokey en todos los aspectos, salvo que no hay chip ANTIC para manejarlo; el microprocesador tiene que hacer todo trabajo que el ANTIC hace en el 800. El chip RIOT lee el estado de todos los switch de la consola (excepto por el switch de encendido), el joystick y otros controladores. También contiene la única memoria RAM del sistema (128 bytes) y un temporizador de propósito general (TIMER). La memoria RAM está mapeada en el final de la página 0 y 1, esto significa que actúa como la página 0 de

Transcript of Atari 2600

Page 1: Atari 2600

ATARI 2600

Introducción

El Atari 2600 VCS, previamente conocido simplemente como Atari VCS, es un modelo deVideoconsola que salió al mercado por primera vez en Estados Unidos en 1977. Su aparición supuso una auténtica revolución en el mercado del entretenimiento y se hizo tan popular en todo el mundo que, para mucha gente, el nombre “Atari” se convirtió en un nombre genérico para designar cualquier sistema electrónico de entretenimiento.La consola ATARI 2600 consta de tres importantes circuitos integrados o chips: l aCPU (procesador 6507, similar al 6502), el Adaptador de Interfaz de Televisión (TIA o chip STELLA), y el RIOT (PIA - 6532). La circuitería de la consola puede verse en la Figura 1.La CPU 6507 es como la 6502 con dos importantes excepciones: sólo tiene líneas deDirección externas para 8K de memoria y no hay líneas de interrupción conectadas.El chip Stella se encarga de todo el vídeo y sonido de la consola. También tiene seis registros que son usados como conversores A/D y para los botones de los joysticks. El chip Stella controla además la línea RDY del microprocesador para iniciar control de sincronización horizontal. El chip no tiene capacidades DMA: El microprocesador debe escribir cada línea de datos dentro de los registros cuando se dibuja la pantalla. El chip Stella se direcciona a través de 44 registros de sólo escritura, y trece registros de solo escritura mapeados en la página 0 (zero page). Para los que están familiarizados con el ATARI 800, este chip es alrededor de ½ del TIA/Pokey en todos los aspectos, salvo que no hay chip ANTIC para manejarlo; el microprocesador tiene que hacer todo trabajo que el ANTIC hace en el 800.El chip RIOT lee el estado de todos los switch de la consola (excepto por el switchde encendido), el joystick y otros controladores. También contiene la única memoria RAM del sistema (128 bytes) y un temporizador de propósito general (TIMER). La memoria RAM está mapeada en el final de la página 0 y 1, esto significa que actúa como la página 0 de acceso 6 rápido y como la pila del microprocesador. El timer y los puertos de entrada/salida (I/O ports) se mapean en la página dos y tres de la memoria.El mapa de memoria del Atari 2600 puede verse en la Tabla 3.

Page 2: Atari 2600

Arquitectura

Page 3: Atari 2600
Page 4: Atari 2600

Características

CPU:MOS Technology 6507 @ 1,19 MHz

El MOS Technology 6507 o 6507 fue un microprocesador de 8 bits producido por MOS Technology, Inc. Era una versión económica del popular MOS Technology 6502, para reducir costos el 6507 incluía solamente 13 pines del bus de direcciones en vez de los 16 pines originales, esto le permitía direccionar únicamente 8 KB de memoria que de todas formas era una cantidad suficiente para los sistemas de esa época.

Además de tener un bus de direcciones limitado, el 6507 no tiene posibilidades de recibir interrupciones externas pero más allá de eso su funcionamiento es idéntico al 6502.

El 6507 fue utilizado a gran escala para dos aplicaciones: la exitosa consola de videojuegos Atari 26001 y las unidades de disco flexible 810 y 1050 de las computadoras Atari de 8 bits. Casi todos los otros sistemas se inclinaron por el 6502 por contar con acceso a más cantidad de memoria.

Alrededor del año 1980, cuando la línea de procesadores 6502 estaba en su apogeo, los precios de las memorias RAM y ROM habían caído hasta el punto que las limitaciones del 6507 constituían un mayor perjuicio que su bajo costo no lograba justificar.

Procesador de audio y video:

TIA. 160 x ~190 píxeles, 128 colores en pantalla pero con un máximo de 4 colores por línea; sonido monoaural de dos vías.

El Televisión Interface Adapter o TIA es la base de la videoconsola Atari 2600 y fue creado por Jay Miner.

El TIA se encarga tanto de generar la imagen que vemos en la televisión como de proporcionar acceso a las capacidades gráficas existentes en el hardware usadas para representar los gráficos de los videojuegos. Debido al coste de la memoria en la época, el TIA no cuenta con una memoria VRAM dedicada, con lo que tan solo genera una línea de imagen cada vez. La imagen se crea a partir de los datos almacenados en siete registros:

Un color de fondo Dos sprites de ocho pixeles que hacen la función de jugadores 1 y 2. Una pelota. Básicamente líneas de diferente tamaño.

Page 5: Atari 2600

Dos proyectiles. Básicamente líneas de diferente tamaño.

El TIA gestiona por hardware la detección de colisiones entre estos objetos y almacena los mapas de bits de las colisiones, los cuales se suelen leer durante el periodo VBLANK (rutinas de borrado vertical de la lista de despliegue). Los registros del TIA permiten al programador controlar la posición de los objetos así como su color. Además. el TIA también es el responsable de generar dos canales de sonido de los que el programador puede controlar el tono, el volumen y el tipo de sonido. Por último, el TIA es capaz de recibir información de un joystick analógico con potenciómetro y de sus gatillos.

Programar para el TIA es muy complicado. Limitaciones como la ausencia de un framebuffer y el hecho de que 3 ciclos de pixeles equivalgan a uno de la CPU dificultan el trabajo del desarrollador, aunque lo hacen un interesante reto para los programadores aficionados.

Atari utilizó versiones mejoradas del TIA para sus Atari 400 y Atari 800 llamadas Color Televisión Interface Adapter (CTIA) y George's Televisión Interface Adapter (GTIA).

El TIA utiliza diferentes paletas de color dependiendo del formato de televisión utilizado. Para NTSC dispone de un paleta de 128 colores, para PAL es de 104 colores, y para SECAM es solo de 8 colores.

Page 6: Atari 2600

Paleta NTSC

hue / luminance

0 2 4 6 810

12

14

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Paleta PAL

hue / luminance

0 2 4 6 810

12

14

0,1,14,15

2

3

4

5

6

7

8

9

10

11

12

13

Paleta SECAM

0 2 4 6 8 10 12 14

Memoria de lectura y escritura (RAM): 128 octetos en la consola dentro del chip MOS Technology 6532, si bien algunos juegos pueden añadir hasta 256 octetos integrados en el cartucho.

El 6532 RAM-I/O-Timer (RIOT) es un circuito integrado fabricado por MOS Technology, y también como segunda fuente por Rockwell. Incorpora 128 bytes de RAM estática, dos puertos I/O de 8 bits digitales bidireccionales, y un reloj programable. Su diseño VLSI lo hizo muy popular en la década de 1970 y principios de los 80, ya que podía reemplazar a varios circuitos integrados. Quizá su aplicación más conocida sea la videoconsola Atari 2600. También fue utilizado en los célebres pinballs fabricados por Gottlieb, como Haunted House y Black Hole.

Los 6532 estaban disponibles en versiones de 1 MHz y 2 MHz. El factor de forma era un DIP de 40 pines cerámico o plástico según el estándar JEDEC.

Page 7: Atari 2600

El timerEste es un timer programable, el cual puede ser sesteado para medir eventos de tiempo por el programador. La utilidad se puede encontrar al tratar de sincronizarse con el TIA o para la sincronización vertical con la pantalla.Para utilizar este basta escribir un numero en uno de los cuatro registros de timer. Para activar un timer de 6400 tics, basta escribir un 100 en TIM64T 

Intervalo Mnemonico1 tics TIM1T8 tics TIM8T64 tics TIM64T1024 tics T1024TLuego de que el timer llega a cero, se mantiene en cero en un ciclo y luego este vuelve a FF. Esto tiene por objeto saber cuánto tiempo hace que el timer llego a cero.

Puertos de entrada y salidaEl Stella cuenta con dos puertos de 8 bits cada uno para comunicarse con el exterior. El puerto B se encuentra mapeado en la memoria como SWTCHB. Cuando uno lo lee, se obtiene un vector con los estados de los switches de la consola. Esta es la configuración del mapeo.

Bit Switch Significado

D7 P1 dificultad 0 = amateur (B), 1 = pro (A) D6 P0 dificultad 0 = amateur (B), 1 = pro(A) D5/D4 no usado D3 color - B/N 0 = B/N, 1 = color D2 no usado D1 boton select 0 = switch presionado. D0 boton reset 0 = switch presionado.

El segundo puerto es usado para leer el estado de los joysticks. Ambos son mapeados en el mismo puerto sin contar con los botones que son mapeados en los registros INPT4 e INPT5. Esta es la configuración del puerto:

Bit Dirección Joystick

D7 derecha D D6 izquierda D D5 abajo D D4 arriba D D3 derecha I D2 izquierda I D1 abajo I

Page 8: Atari 2600

D0 arriba I