El código fuente que llevó al hombre a la Luna (y dónde descargarlo)

La NASA envía el Apollo 11 a la Luna

La NASA envía el Apollo 11 a la Luna

Cuando los programadores del laboratorio de instrumentación del MIT se dispusieron a desarrollar el software de vuelo para el programa espacial Apollo 11 —a mediados de los años sesenta del siglo pasado—, la tecnología necesaria no existía, por lo que tuvieron que inventarla. Así pues, se les ocurrió una nueva manera de almacenar programas informáticos en dispositivos ROM, a la que llamaron “memoria de núcleos cableados“, y que era un paso siguiente a la memoria ordinaria de núcleos magnéticos de ferrita del momento.

También, tuvieron que inventar una versión especial del lenguaje ensamblador que llevaba en su interior miles de líneas de código; y todo ello para el computador Apollo Guidance Computer (AGC), el alma de la misión, esencial para la navegación del módulo de mando y, también, del módulo lunar; y uno de los primeros ordenadores basados circuito integrados.

En la siguiente imagen podemos ver a Margaret Hamilton, directora de ingeniería de software del proyecto, mostrando la montaña de listados de código que conformaban los archivos fuente de las distintas aplicaciones.

Margaret Hamilton

Margaret Hamilton

El código del AGC ha estado disponible para el público general desde hace bastante tiempo, concretamente desde el año 2003, cuando el investigador en tecnología Ron Burkey se preocupó de colgarlo en Internet después de haber transcrito (mecanografiado), a mano, una a una las líneas que aparecían en las imágenes escaneadas de las copias impresas originales del MIT. Aquellas copias fueron digitalizadas originalmente —en Colorado— por un piloto aeronáutico llamado Gary Neff. Posteriormente, el MIT se hizo con aquellos documentos y los puso en línea en forma de imágenes de página, pero la falta de fortuna quiso que muchas de ellas quedaran mutiladas al punto de ser ilegibles en algunos lugares de las fotografías. Burkey reconstruyó manualmente las partes que se podían rescatar, utilizando sus habilidades en ingeniería para rellenar los huecos en blanco. Algo después, consiguió reunirse con Gary Neff y logró hacerse con los escaneos originales, completando el paquete de documentos al cien por cien.

Aunque esta documentación de tan enorme proyecto ha estado un poco escondida y confinada a reductos universitarios, a mediados del año 2016, el extrabajor de la NASA Chris Garry comenzó a colgar completamente en GitHub la totalidad de los archivos fuente del software espacial. Estos archivos se han ido actualizando hasta hace un par de meses, y podemos asegurar que la integridad del proyecto está hoy a la disponibilidad del total de los internautas que deseen consultarlo.

Una de las cosas que más ha llamado la atención de este código fuente es la ristra de comentarios humorísticos que acompañan al código del ACG a modo de chistes, mensajes y referencias locales a los sesenta estadounidenses. Un buen ejemplo se corresponde con los comentarios iniciales del archivo llamado BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc (imagen siguiente).

Comentarios jocosos al código (clic para ampliar)

Comentarios jocosos al código (clic para ampliar)

O el fichero denominado LUNAR_LANDING_GUIDANCE_EQUATIONS.agc, en el que parece que dos líneas de código destinadas a ser temporales acabaron siendo permanentes, en contra de las esperanzas de un desolado programador.

Comentarios en el código (clic para ampliar)

Comentarios en el código (clic para ampliar)

Todo un ejemplo de ingeniería e ingenio de los primeros programadores espaciales. Ron Burkey, incluso, utilizó el código para crear un simulador del ACG. Podemos, pues, y para terminar, verlo y disfrutarlo en el siguiente vídeo.

Así era el ingenioso y curioso puzle ‘Crossover’ que comercializó Nintendo en 1981

Crossover

Crossover

Aun estando ocupado el jefe de investigación y desarrollo de Nintendo, Gunpei Yokoi, supervisando el despliegue de las series Silver y Gold de las maquinitas Game & Watch, encontró tiempo para crear una especie de segunda parte de su afamado puzle Ten Billion Barrel de 1980. Aquel nuevo rompecabezas se dio en llamar Nintendo Crossover.

A diferencia de Ten Billion Barrel que fue un gran éxito en todo el mundo, del Crossover sólo se fabricaron unas pocas unidades que no salieron del mercado japonés y estadounidense, por lo que es uno de los artículos más raros, buscados y cotizados de la época juguetera de Nintendo.

El Crossover, anunciado a bombo y platillo como “rompecabezas de luz polarizada“, fue puesto en el mercado en el año 1981 en tres variantes de color diferentes: verde, rojo y morado; costaba 1.000 yenes de la época.

Crossover

Crossover

Era un puzle muy japonés, de mecánica harto sencilla y dificultad endiablada; un artilugio de sección cuadrada y bordes redondeados, con controles deslizantes en los lados que mueven pequeñas teselas o baldosines para crear distintos patrones de color. El objeto del divertimento es sencillo: mover los cuadraditos hasta que todos tengan el mismo color. Cada tesela puede cambiar entre dos colores, el del propio Crossover y blanco (más bien gris, realmente).

Crossover

Crossover

El rompecabezas consta de dieciséis teselas cuadradas dispuestas dentro de una carcasa de plástico en forma de cuadrícula de cuatro filas y cuatro columnas. Las teselas son visibles a través de una tapa transparente, y el objetivo del juego es organizar correctamente la cuadrícula de cuatro por cuatro azulejos de manera que todos muestren el mismo color.

Los pequeños azulejos cambiar de color al moverse siguiendo un patrón que, a primera vista, parece producirse completamente al azar, y es que, a veces, cambian de color y, otras veces, no lo hacen. La verdad es que es bastante desconcertante e intrigante, aunque la culpa de todo la tiene la ingeniería mecánica que lleva por dentro. El juguete tiene cuatro controles deslizantes verticales y cuatro horizontales. Los deslizadores en los extremos opuestos de cada fila y columna están unidos entre sí, por lo que se mueven al unísono. Usando estos deslizadores, podemos mover cuatro teselas al mismo tiempo, en una fila o en una columna.

 

Plano de despiece del Crossover

Plano de despiece del Crossover

¿Y cómo demonios funciona este extraño aparato? La magia de los colores cambiantes se consigue de manera inteligente al polarizar las hojas de plástico que filtran las ondas de luz en una dirección: vertical u horizontal. El interior del Crossover contiene dieciséis pedazos de hojitas de plástico polarizadas, ocho de manera vertical y ocho de forma horizontal. Cada uno de los azulejos del rompecabezas también contiene una pieza de plástico polarizada (ocho verticalmente y ocho horizontalmente), lo que produce que, al mirarlos, lo hacemos a través de dos capas de lámina polarizada. Si ambas capas tienen el mismo tipo de polarización, la luz brilla y el mosaico se ve de color blanco; si las polarizaciones son diferentes, la luz se bloquea y lo que se ve es el color del plástico (verde, rojo o morado).

Esquema de funcionamiento del Crossover

Esquema de funcionamiento del Crossover

Debido a este mecanismo, cada azulejo es capaz —aparentemente y como por arte de magia— de cambiar o de mantener su color cuando se mueve una posición deslizando por una fila o una columna.

El rompecabezas Crossover fue una invención original Gunpei Yokoi para Nintendo, a la que se le concedió la patente estadounidense número 4.402.510 en 1983. Fue un ingenioso rompecabezas que ofrecía un verdadero desafío, el cual podía llevar bastante tiempo solucionar.

Patente del Crossover

Patente del Crossover

En el sitio web de rompecabezas Jaap’s Puzzle Page podemos encontrar los pasos para solucionar el Crossover, así como todas las combinaciones de movimientos y posiciones posibles, algo que se nos antoja una auténtica locura.

Crossover

Crossover

Así eran las rutinas de coma flotante de Atari en 1979

Carol Shaw en 1982

Carol Shaw en 1982

La que es oficialmente reconocida como la primera mujer programadora informática de videojuegos de la historia, Carol Shaw, trabajó como desarrolladora para Atari entre 1978 y 1980. En aquellos tiempos, diseñó software para microordenadores y, también, juegos para las consolas y computadoras de la compañía estadounidense. Aunque es más conocida por su posterior contribución al mundo de los videojuegos trabajando para Activision (1980-1984) —sobre todo por el genial ‘River Raid‘ (1982)—, lo cierto es que en Atari desarrolló código muy interesante, como el software ‘Calculator‘ de 1979.

‘Calculator’ era una calculadora avanzada que soportaba modos de cálculo con notación RPN, ALG y ALGN. Poseía 100 registros de memoria, una pila de 42 números y era totalmente programable hasta los 3.072 bytes. Estaba diseñada para el ordenador Atari 800 y requería de la unidad Atari 810 Disk Drive si se deseaba almacenar los registros de memoria en disco externo. Su precio era de 29,95 dólares americanos.

Descripciones del software

Descripciones del software

La calculadora ‘Calculator’ disponía de 145 funciones científicas y financieras, conversiones de medidas, sistemas numéricos decimal, octal y hexadecimal, funciones matemáticas estándar, funciones algebraicas y trigonométricas, estadística y manipulación de bits, entre otras muchas características. Requería un mínimo de 24 kB de RAM y era capaz de imprimir listados y resultados en una Atari 825 Printer.

Etiqueta del cartucho

Etiqueta del cartucho

En el año 2011, Carol Shaw decidió donar un montón de material de su época de programadora al The Strong National Museum of Play de Nueva York, entre lo que había documentos de diseño, videojuegos y listados completos código fuente. Uno de esos listados es el de ‘Calculator’ y, lo que más nos llama la atención, son las rutinas dedicadas a las funciones de coma flotante EXP, EXP10, LOG, LOG10, SIN, COS, TAN, ATAN, ARCSIN, ARCCOS, SQR y POWER.

Listado original de las funciones de coma flotante (clic para ampliar)

Listado original de las funciones de coma flotante (clic para ampliar)

En un extenso listado en ensamblador (para el MOS 6502), completamente comentado por Shaw, la desarrolladora va desgranando punto a punto el funcionamiento de cada una de las estructuras, los dígitos, signos, las partes enteras, las mantisas, redondeos, tipos de datos, los ángulos, cuadrantes, fracciones, polinomios y un largo etcétera. Muchas de las funciones, como ella explica perfectamente, están capturadas del propio Atari BASIC de la época y mejoradas y potenciadas al máximo nivel.

Listado original de las funciones de coma flotante (clic para ampliar)

Listado original de las funciones de coma flotante (clic para ampliar)

El programa fue creado en formato de cartucho, y tendrían que pasar dos años para que Atari lo comenzara a distribuir en disquete, en 1981.

Versión para disquete

Versión para disquete

A través del sitio web de AtariWiki para ‘Calculator’, podemos encontrar también el código completo de la aplicación, así como fotografías, manuales de instrucciones, documentos originales, referencias, comparaciones e, incluso, imágenes de la ROM del cartucho para probarlo en emuladores. También podemos rescatar de Internet Archive las fotografías de los listados originales preservados, tanto del software completo como de las rutinas de coma flotante.

Pantalla de la aplicación

Pantalla de la aplicación

Descubierto un prototipo jugable de ‘SimCity’ para NES de 1989

'SimCity' para NES (1989)

‘SimCity’ para NES (1989)

Un antiguo programa de televisión estadounidense dedicado a los videojuegos y conocido como ‘Video Power‘ emitió en un capítulo de finales de los ochenta la reseña de un videojuego de la saga SimCity’ para la Nintendo NES. Su icónico presentador, Johnny Arcade (papel que interpretaba el actor Stivi Paskoski), demostraba la jugabilidad de aquel título original de Nintendo, título que nunca llegó a ver la luz.

Casi treinta años después, ha aparecido de la nada un prototipo de cartucho inédito, plenamente jugable, que está volviendo locos a los incondicionales de la franquicia creada por Will Wright para Maxis. El vídeo de la demostración, colgado hace un par de días en YouTube, está sumando visitas a cada minuto, aunque muchos usuarios de la plataforma se quejan de su “narrador” y del formato vertical de la grabación.

El propietario del cartucho, que parece ser el dueño de una tienda retro de videojuegos y artículos coleccionables de Washington, tiene la intención de exponerlo durante la próxima Retro Gaming Expo de Portland (Oregón, EE. UU.) para que todos los frikicuriosos y retrogamers que deseen avanzar por sus pantalla puedan disfrutar de esta, hasta hoy, desaparecida joya.

Todo un lujo.

'SimCity' para NES (1989)

‘SimCity’ para NES (1989)

El ‘Barbarian’ de Palace Software: polémica tras controversia

'Barbarian'

‘Barbarian’

Barbarian: The Ultimate Warrior‘ (Palace Software, 1987) fue un juego británico de lucha, para uno o dos jugadores, desarrollado por Steve Brown para, en un principio, Commodore 64. Posteriormente, sería portado a otras plataformas como Amstrad CPC, Atari ST, ZX Spectrum o Apple II con mayor o menor acierto.

Sólo un par de años antes, Palace Software había contratado a Brown como diseñador de videojuegos y artista. En aquellos dos años, el desarrollador creó ‘Cauldron‘ (1985) y ‘Cauldron II: The Pumpkin Strikes Back‘ (1986), dos pelotazos comerciales que fueron muy bien recibidos por la prensa de videojuegos —enfocando sus reseñas en la calidad gráfica y el diseño del juego— y, también, por el público jugón.

Tras aquellos dos éxitos, Brown quiso dar rienda suelta a su imaginación desbordante para crear su tercer trabajo. Tomando como inspiración las pinturas fantásticas del ilustrador estadounidense Frank Frazetta y basando los personajes en los de la serie de relatos ‘Conan el Bárbaro’ de Robert Ervin Howard, comenzó a crear ‘Barbarian’ como un juego de lucha de espadas que fuera brutal y lo más realista posible.

Ideó los conceptos para dieciséis movimientos, los cuales practicó con una espada de madera mientras se grababa a sí mismo, y copió de por ahí alguno que otro, como el característico mandoble giratorio a modo de hélice que viene de la película ‘Conan, el destructor’ (1984). Posteriormente, a modo de primitiva rotoscopia, su equipo mapeó sobre una cuadrícula —desde la imagen del televisor— todos sus movimientos, píxel a píxel, con el fin de digitalizarlos para el juego. Brown se negó a seguir la convención de la época de utilizar pequeños sprites para representar a los luchadores en pantalla, obligando a los programadores a concebir un método para animar bloques más grandes de gráficos.

'Barbarian' (ERBE)

‘Barbarian’ (ERBE)

Y llegaron las polémicas: violencia, lencería, musculitos y pechugas a partes iguales. Sintiendo y comprobando el propio Steve Brown que la mayoría de las ilustraciones de las cajas de videojuegos en aquel momento eran bastante pobres y muy sosas, sugirió que recrear una imaginería de fantasía icónica con personas reales sería un gran gancho para la campaña publicitaria. No se equivocó.

Los directivos de Palace Software decidieron contratar a los modelos Michael Van Wijk y Maria Whittaker para posar como el bárbaro y la princesa, respectivamente. Maria Whittaker aparecía con frecuencia como una page three girl del tabloide británico The Sun. Las “chicas de la página tres” fue un formato surgido en The Sun en el año 1970 y que consistía, básicamente, en una fotografía en topless o semidesnuda de una modelo femenina que se publicaba en la tercera página del diario.

Aquella carátula y el póster interior generaron mucha controversia en la puritana y rutinaria sociedad británica ochentera y, también, en muchos otros países; en no pocos lugares, tras en lanzamiento inicial, se hizo desaparecer a la modelo de sucesivas ediciones. La revista ‘Electron User’ recibió cartas de lectores y cuerpos religiosos que calificaron la imagen de “ofensiva y particularmente insultante para las mujeres” o de un “feo anuncio pornográfico”.

'Barbarian' (ZX Spectrum)

‘Barbarian’ (ZX Spectrum)

Sin embargo, los expertos en la industria de videojuegos Russell DeMaria y Johnny Wilson comentaban ya en aquel momento que el público del Reino Unido estaba más preocupado por Whittaker escasamente vestida que por los contenidos sangrientos en el juego. Y llegó una segunda polémica.

En Alemania, ‘Barbarian’ fue vetado por el Departamento Federal de Medios Peligrosos para Jóvenes (o Bundesprüfstelle für jugendgefährdende Medien) por cuenta de su contenido excesivamente violento, y es que ese espadazo volador que cortaba cabezas y hacía chorrear sangre cual surtidor no parecía algo muy eficaz para la instrucción infantil, pues recordemos que, a la sazón, los juegos de vídeo eran considerado como un entretenimiento sólo para niños. La mezcla de sexo (erotismo) y violencia (pixelada) de ‘Barbarian’ fue tal, que David Houghton, redactor en GamesRadar, ha dicho alguna vez que el juego sería calificado como «Mature» o «Adults Only» por la Entertainment Software Rating Board (ESRB) si fuera publicado hoy en día.

'Barbarian' (Commodore 64)

‘Barbarian’ (Commodore 64)

Toda aquella controversia no le hizo ningún mal a ‘Barbarian’, sino todo lo contrario. Los críticos quedaron impresionados con la jugabilidad del título, con su acción rápida y furiosa y con su facilidad y sencillez de manejo. Las animaciones eran muy suaves, y los movimientos resultaban extremadamente reales. El único pero que se le puede poner a ‘Barbarian’ es el aspecto sonoro.

Y es que fueron todos aquellos pequeños detalles lo que hicieron que el juego valiera la pena, que ‘Barbarian: The Ultimate Warrior’ resultara en un éxito absoluto y que Palace Software comenzara a plantearse una línea de secuelas, aunque al final sólo vería la luz una más, ‘Barbarian II: The Dungeon of Drax‘ (1988) en la que compartieron portada, de nuevo, Van Wijk y Whittaker.

'Barbarian II'

‘Barbarian II’

eBook ‘retroPLOF!’

retroPLOF!

Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:







Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies