martes, 27 de diciembre de 2011

Los tiempos heroicos: el Atari 2600


Empieza (para mí) el congreso con un recuerdo de hacks de otro tiempo: la consola Atari 2600.

La descripción de hardware y la manera de programar nos lleva a las épocas de los “verdaderos programadores” que hacían programas con 128 bytes de RAM y 4k de ROM. Y cuando se les agotaba, se inventaron los bancos de RAM o ROM que se iban cambiando a base de escribir en un registro. Supongo que de aquí a la memoria virtual no había más que un paso… :-)
Pero en realidad eso es lo más sencillo, cuando Sven Olli ha pasado a contar cómo se dibujaba la pantalla es cuando se empieza a percibir la verdadera habilidad de los programadores:  la señal de TV no se obtiene de un banco de RAM para toda la imagen (demasiado cara en aquel momento, Sven ha citado que 1k de RAM valía lo que 1G hoy), sino que se genera a partir de la descripción de dos medias líneas, a base de un patrón de fondo y cinco “sprites”: dos jugadores, dos misiles y una pelota (lo indispensable para programar un juego de pong y un juego de combate de tanques).
Para dibujar la pantalla, hay que ir cambiando lo que hay en cada línea a medida que el haz va dibujando la imagen la pantalla… ¡contando los ciclos de cada instrucción! (bueno, también hay instrucciones que te ayudan a sincronizarte con el borde izquierdo de la pantalla o con un temporizador). Y por si fuera poco, si se quiere que la mitad izquierda sea diferente de la derecha o su imagen especular, hay que cambiar el contenido de la línea sobre la marcha...
La verdad es que con estos requisitos, parece mentira que se hayan podido desarrollar versiones de Donkey Kong o El Imperio Contraataca, o el detalle que podemos ver esta foto de la presentación.

Y para saber más, es cuestión de descargarse el emulador Stella y unas cuantas ROMs clásicas y ¡a jugar!

No hay comentarios:

Publicar un comentario