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.

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Email this to someone

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

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Email this to someone

Comments

comments

Deja un comentario

Tu dirección de correo electrónico no será publicada.