Ya puedes descargar el software que controló la misión Apollo 11: aterrizando en la Luna con un ordenador más lento que el ZX Spectrum

La NASA ha liberado el código que guió al cohete Apolo a la Luna. Magnifica la hazaña aún más.
Aterrizar en la Luna hace 57 años fue una heroicidad, que se engrandece aún más sabiendo que se usó un ordenador con una CPU menos potente que la de un cepillo de dientes eléctrico. Desde hoy, puedes descargar y probar en tu PC el software que guió el cohete y el módulo lunar de la misión Apollo 11. Tienes el enlace al final de la noticia.
Ahora que la misión Artemis II ha regresado de su viaje de diez días alrededor de la Luna, la misión Apolo 11 que aterrizó en nuestro satélite en 1969, se ha vuelto aún más épica. Ha costado casi una década volver a la Luna, y aún no hemos puesto el pie allí.
Hoy en día se usan ordenadores que son millones de veces más potentes que el modesto Apollo Guidance Computer (AGC), mucho más lento que los primeros ordenadores domésticos que se lanzaron en los años 80 por apenas 200 euros, como el ZX Spectrum o el Commodore 64.
Descargas el código máquina de los viajes a la Luna
El AGC era un ordenador de tamaño de una torre de PC con una CPU a 2 Mhz, con 2 KB de RAM y 69 KB de almacenamiento. Era capaz de ejecutar 85.000 operaciones por segundo. Hoy en día son miles de millones.
Para que te hagas una idea, el ZX Spectrum, uno de los primeros ordenadores domésticos, comercializado en 1982, tenía una CPU Z80A a 3,5 Mhz, con 48 KB de RAM. Era varias veces más potente.
Los ingenieros de la NASA, programando a mano, extrajeron hasta la última gota de potencia de AGC escribiendo el software en código máquina, es decir, directamente en el lenguaje que entiende el hardware.
El software liberado hoy por la NASA se compone de dos programas: Comanche055, que se usaba en el ordenador del cohete Apolo, y Luminary099, el software del módulo lunar que aterrizó en la Luna.
Debido a la escasa memoria RAM de AGC, solo 2 KB (eso son cuatro millones de veces menos que los 8 GB de los ordenadores actuales), el código era increiblemente corto y sencillo para controlar operaciones críticas de las que dependía la vida de los astronautas.
Por ejemplo, un solo fichero controlaba todas las soluciones de emergencia, si algo salía mal. Solo 30 líneas de código controlaban la navegación del cohete y el módulo lunar. ¡30 líneas!
Puedes verlo por tí mismo descargando el sofware de la misión Apolo 11 en este repositorio en GitHub de la NASA. Mejor aún: incluye un emulador del ordenador AGC, para que puedas ejecutar ese código y probar en tu PC el software que llevó a la humanidad a la Luna. No solo es historia, también una lección de programación.
