Estas líneas de código son las que ayudaron a la NASA a llegar a la luna. Código fuente de la misión Apollo 11, disponible en GitHub.

En julio del año pasado se cumplieron “47 años del momento en el que Neil Armstrong puso el pie en la Luna, dando punto final a la obsesión del ser humano por llegar al satélite que le saludaba todas las noches, y estableciendo el punto de partida de una nueva era espacial en la que continuamos buscando el siguiente lugar en el espacio que pisar.”1

Un hecho que causo historia y que un puñado de hombres y mujeres lo hicieron posible por su valentía y coraje.

Corrían los años 60´s y como bien sabemos, en ese entonces el desarrollo tecnológico en cuestión de computadoras, apenas iniciaba, que es lo mismo, no existía la tecnología necesaria para crear software confiable para la creación y desarrollo de una nave espacial, era algo así como a jugar a la ciencia ficción. Fue en el MIT donde inicio el desarrollo de nueva tecnología apropiada para este proyecto.

Fue así como los investigadores del MIT crean la memoria de núcleos cableados, o rope memory, los programadores tuvieron que desarrollar el código en lenguaje ensamblador para crear los programas que se incluirían en la memoria, una memoria solo de lectura.

Nueva misión del apollo 11

A 47 años de su primera misión del apollo 11, se lanza su segunda misión, la publicación del código fuente de los programas del módulo de comandos (Comanche 054) y módulo lunar (Luminary 099), quizá muchos a la expectativa esperaban que apareciera algo de código de Microsoft, pero afortunadamente la misión fue todo un éxito. Bill no tuvo nada que ver con este proyecto.

“El código transcrito ahora se encuentra en los repositorios de Google Code y se puede ejecutar sobre Virtual AGC (Apollo Guidance Computer), un emulador del AGC  que puede correr sobre Linux, MacOSX y Windows entre otros. La computadora y su software fueron desarrollados por el Laboratorio de Instrumentación de la MIT, también conocido como los Draper Labs.”2
“Por restricciones de memoria no convenía escribir el código directamente en lenguaje ensamblador del AGC, razón por la cual se diseñó un intérprete que funcionaba algo más lento, pero cumplía con las condiciones especiales de estas máquinas. El código interpretado contenía instrucciones para manejar vectores y funciones trigonométricas, algo de crucial importancia en sistemas de este tipo. Otra peculiaridad de este código fuente es que se grababa como firmware y sólo se le podían realizar modificaciones en caliente, aunque eso sí, las variaciones se podían ejecutar desde la Tierra y desde la propia nave por mano de los astronautas si lo consideraban necesario. Si alguno de ustedes entiende el lenguaje ensamblador de procesadores antiguos como el MOS6502 (Atari, Commodore, Apple) o Z80 (Spectrum, MSX) no tendrán problemas en entender el del Apollo.”2

El códico completo se puede encontrar y descargar desde aquí Desacarga Código Apollo 11 y Desacarga documentación y código

Fuentes: 1: Omicrono, 2: Neoteo, Github

Descargar este artículo en PDF

Lo sentimos, esta opción solo está disponible para los socios. Más información de nuestro grupo de socios.


Ernesto Mota on EmailErnesto Mota on FacebookErnesto Mota on LinkedinErnesto Mota on Twitter
Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Déjanos un comentario:

Deja un comentario

Necesitas un Sitio Web