Recuperan el software perdido del módulo lunar del Apollo 10

Recuperan el software perdido del módulo lunar del Apollo 10

Entusiastas de la informática han recreado el legendario Apollo Guidance Computer, el ordenador de a bordo que resultó fundamental en las misiones Apollo y al que dedicamos un merecido especial el año pasado cuando se celebró el 50 aniversario de la llegada del hombre a la Luna.

Desafortunadamente, el software en lenguaje ensamblador de la misión Apollo 10 se había perdido y fue otra misión tripulada importante como «ensayo general» para pisar la Luna, que voló ocho semanas antes de la famosa misión ‘Moonwalk’ de Neil Armstrong.

El ingeniero de vuelos espaciales Mike Stewart, encontró una manera inteligente de recrear este software. Desde una copia impresa de una versión anterior del programa y con la ayuda de un pequeño ejército de voluntarios, transcribió a mano la lista de fuentes y todos sus programas hasta completar 1.735 páginas.

Recordemos que el programa del Apollo Guidance Computer estaba escrito en lenguaje ensamblador y se tardaban 25 minutos en compilarlo en un mainframe de la época, algo que un portátil moderno haría en menos de un segundo.

Stewart también utilizó notas de la NASA que describían los cambios en cada versión del programa incluido un documento de la agencia recientemente descubierto que proporcionaba la suma de verificación (checksum) para cada versión de las ejecutadas en la computadora. Stewart pudo cortar y pegar códigos y variables cuidadosamente elegidos de versiones posteriores del programa y basándose en las pistas de la NASA recreó un programa que tenía la misma suma de verificación.

También ha publicado un vídeo del código fuente del Apollo 10 donde destaca comentarios incluidos por los programadores. «Comentarios alegres de un código muy serio», que básicamente advertía de las repercusiones de realizar cambios. Por ejemplo una frase en latín de una obra de teatro que se traduce aproximadamente como «No toques esto». La versión final instalada contaba con tolerancia a errores, control de excepciones y la posibilidad de realidad un “soft reset”, reiniciando la máquina manteniendo la información de la RAM. No estaba previsto inicialmente, pero los programadores cambiaron de idea cuando un astronauta borró por error todos los datos del ordenador durante una prueba al equivocarse de comando. 

Un trabajo de ‘chinos’ para recuperar el código que gobernó la computadora principal del Apollo 10, que resultó fundamental en todas las misiones espaciales. Y eso que era 2.000 veces más lenta y tenía 1.000 veces menos memoria que un smartphone actual. Para diseñar el software que hacía funcionar el Apollo Guidance Computer, hicieron falta el trabajo de 350 ingenieros y el equivalente al trabajo de 1.400 años de una sola persona hasta conseguir aterrizar en la Luna.

fuente: mycomputer.com

Deja un comentario