La carrera contra el haz: la Atari que no podía retener una imagen
Imagina escribir un programa que debe mantener un compás perfecto con un haz de electrones que cruza un tubo de cristal a miles de kilómetros por segundo. Si te retrasas unas millonésimas de segundo, tu nave se convierte en un borrón ilegible. Si te adelantas, desaparece. No era una proeza de exhibición: era simplemente la forma de hacer un videojuego en la Atari 2600, la caja con acabado de madera que aterrizó en los salones en 1977 y le enseñó a toda una generación en qué podía convertirse aquello de «Pong, pero en casa». El detalle que la etiqueta del cartucho nunca menciona: la consola no tenía ninguna memoria para guardar una imagen.

Una consola sin ningún sitio donde poner la imagen
La mayoría de las máquinas que dibujan en una pantalla conservan un framebuffer: un bloque de memoria con cada píxel, que el circuito de vídeo lee y pinta una y otra vez, mientras el programa lo edita con calma en segundo plano. Es la manera obvia de hacerlo. También es cara. En 1977 la memoria costaba una fortuna, y los ingenieros de Atari eran implacables con los precios. Así que, sencillamente, eliminaron el framebuffer.
El resultado roza lo absurdo. La Atari 2600 tiene 128 bytes de RAM. No kilobytes — bytes. Apenas lo justo para recordar una puntuación récord y dónde está la pelota. No hay sitio donde guardar una imagen, porque no hay imagen. Lo que ves en el televisor no existe en ningún lugar dentro de la máquina. Solo existe durante los aproximadamente 63 microsegundos que tarda el haz de electrones en recorrer una única línea de la pantalla — y luego se desvanece, y el programa debe inventar la siguiente línea desde cero.
La carrera contra el haz
Así dibuja un televisor de los años setenta: un cañón de electrones dispara contra la parte trasera del cristal, barriendo de izquierda a derecha para iluminar una línea horizontal, y luego regresa de golpe para empezar la línea de abajo. De arriba abajo, sesenta veces por segundo. En la Atari, el chip que habla con el televisor — el TIA, el Television Interface Adaptor — no tiene paciencia ni memoria. Pinta lo que sus registros digan en este preciso instante, en el píxel exacto que el haz está tocando.
El trabajo del programador, entonces, es alimentar esos registros al paso del haz. ¿Quieres que el centro de la nave sea más ancho que su punta? Cambias el registro de forma entre líneas, en la fina rendija de tiempo en que el haz está apagado y vuela hacia el borde izquierdo. Los aficionados a la Atari lo llaman el barrido horizontal (horizontal blank), y es brutalmente corto. Cada línea le da al procesador unos 76 ciclos de máquina en total; solo unos 22 caen en ese intervalo, y el haz ya está dibujando 160 píxeles visibles mientras te afanas en preparar la siguiente línea. Los programadores contaban literalmente los ciclos a mano, como un baterista cuenta el compás, porque llegar un solo tic tarde significaba el color equivocado en el lugar equivocado. Bautizaron este número de funambulista como la carrera contra el haz (racing the beam), y ahí se forjó la fama de artesanía imposible de toda la consola.

Por qué todo venía a rayas
Dos verdades dieron forma al aspecto de casi todos los juegos de Atari. Primera: como el TIA solo guarda una línea de gráficos a la vez, la unidad natural de diseño era la banda horizontal. Cambia los colores línea a línea y obtenías esos preciosos cielos en degradado; déjalos quietos y tenías bloques planos. La consola casi quería que pensaras a rayas.
Segunda — y este es el detalle que aún hace estremecer a los ingenieros — no podías simplemente decirle a un sprite adónde ir. Para mover un personaje en horizontal, activabas un registro, y el momento en que lo activabas, respecto a la posición del haz, decidía la columna. Pero el haz avanza a saltos toscos, de modo que la colocación encajaba en una de quince zonas gruesas repartidas por la pantalla. Para empujar un sprite hasta un píxel intermedio, había que darle un valor de ajuste fino aparte. Olvida ese paso y tu héroe se teletransporta por la pantalla a torpes brincos de quince píxeles. Ese movimiento entrecortado y desmañado de los primeros juegos no era código descuidado: era el hardware asomando.
El arte de no tener nada
Lo maravilloso es lo que los programadores lograron a pesar de todo. Con 128 bytes, sin framebuffer y un chip que olvidaba todo en cada línea, entregaron Pitfall!, Space Invaders y juegos de carreras que de verdad transmitían la sensación de correr. El creador de Pitfall! metió una jungla de 255 salas con desplazamiento en un cartucho de cuatro kilobytes generando el mundo a partir de un único número pasado por un truco matemático, porque no había espacio para guardarlo. La limitación no aplastó la creatividad; se convirtió en el medio, igual que los catorce versos de un soneto empujan a los poetas a ser más afilados, no más callados.
Y aquí viene el remate. Décadas después, el hardware se volvió generoso: gigabytes de memoria, framebuffers por todas partes, GPU que se encogen de hombros ante miles de millones de píxeles. Entonces ocurrió algo curioso — los desarrolladores indie modernos empezaron a volver a añadir las rayas, los sprites macizos, el parpadeo de las líneas de barrido, pagando buen dinero por shaders que imitan el brillo de un tubo de rayos catódicos. Las restricciones que antaño obligaban a los programadores a disputarle cada punto al haz son hoy una estética que se persigue a propósito. La máquina que no podía retener una imagen acabó reteniendo algo más duradero: un aspecto que nunca dejamos del todo de amar.

