Skip to content
industry insights

El código del Apollo 11 aún funciona, y es brillante

Ejecuta el código original del Apollo 11 en un emulador y observa cómo su pequeña computadora sobrevivió a la sobrecarga. El código fuente revela los trucos de ingeniería, y las bromas, detrás de la misión.

Cassidy Wolfe
El código del Apollo 11 aún funciona, y es brillante

Una misión lunar escondida en dos carpetas

Aquí hay una verdad sorprendente: el código que llevó a los humanos a la Luna en 1969 todavía existe, meticulosamente transcrito a partir de dos carpetas de papel conservadas en el MIT Museum. Voluntarios convirtieron minuciosamente estos escaneos históricos en una base de código digital utilizable, ahora accesible al público y ejecutable. Es un testimonio de la preservación y el esfuerzo colaborativo.

Esta no es una narrativa de un genio solitario. Margaret Hamilton, entonces una científica informática pionera, dirigió la Software Engineering Division en el MIT Instrumentation Laboratory. Su equipo de más de 400 personas desarrolló el software crítico tanto para el módulo de mando como para el módulo lunar del Apollo. El liderazgo de Hamilton y la gran escala del esfuerzo subrayan la brillantez colectiva detrás del Apollo.

Escrito en lenguaje ensamblador para la Apollo Guidance Computer, este código fuente superviviente puede ensamblarse para coincidir perfectamente con la imagen de memoria original. Los entusiastas pueden incluso ejecutarlo a través del emulador Virtual AGC, experimentando las secuencias exactas que ejecutaron los astronautas del Apollo 11. Esto permite una visión sin precedentes del riguroso y limitado mundo del software de los primeros vuelos espaciales.

La computadora tenía menos memoria que un tweet

Las misiones lunares funcionaban con hardware menos potente que un termostato moderno. La Apollo Guidance Computer (AGC), construida en el MIT Instrumentation Laboratory, operaba a solo 1.024 MHz, con apenas 2,048 palabras de memoria borrable, aproximadamente 3,840 bytes. Una Raspberry Pi Pico moderna, en comparación, cuenta con 70 veces más memoria RAM y un reloj 130 veces más rápido.

Las limitaciones definieron a la AGC. Sus 72 KB de memoria de solo lectura dependían de la core rope memory, una maravilla de la programación física. Los cables enhebrados a través de pequeños núcleos magnéticos codificaban el software directamente: un cable a través de un anillo señalaba un '1' binario, alrededor de él un '0'. Esto significaba que no había parches de software rápidos; el código de vuelo estaba literalmente tejido en el hardware, bloqueado meses antes del lanzamiento.

Tales limitaciones forzaron un diseño brillante. Los ingenieros crearon un código excepcionalmente compacto, rigurosamente verificado para la perfección. El programador ejecutivo de la AGC priorizaba las tareas, manejando hasta ocho trabajos en espacios de 12 palabras. Incluso los comentarios internos del código, como revela un vistazo al repositorio de GitHub transcrito, a veces divergían de la lógica implementada, un testimonio del desarrollo rápido e iterativo bajo presión extrema.

El código tiene bromas. Las salvaguardas son un asunto serio.

El humor, resulta, es una constante universal, incluso en el código destinado a la Luna. A pesar de la inmensa presión, los ingenieros del MIT Instrumentation Laboratory salpicaron el ensamblador de la Apollo Guidance Computer con comentarios encantadores y humanizadores. “Please crank this silly thing around” instruye al astronauta a mover la antena del radar de aterrizaje, mientras que “Off to see the wizard” precede a la secuencia de ignición del motor, titulada juguetonamente “Burn Baby Burn”.

Los astronautas interactuaban con este complejo sistema a través de la DSKY (Display/Keyboard), una interfaz minimalista de un pequeño teclado numérico y pantalla. Los comandos eran pares concisos y numéricos de verbo y sustantivo: un “verbo” para la acción (p. ej., mostrar) y un “sustantivo” para el objeto (p. ej., reloj). Estas instrucciones ensayadas, a menudo memorizadas o consultadas en listas de verificación, eran la única forma de operar la computadora en vuelo.

Sin embargo, bajo el ingenio residía una resiliencia inquebrantable. El Executive scheduler del Apollo Guidance Computer priorizaba las tareas, asegurando que las funciones de guía críticas siempre se ejecutaran. Cuando los sistemas se sobrecargaban, como sucedió durante el descenso del Apollo 11 debido a un radar de encuentro defectuoso, se descartaban las tareas menos importantes, lo que activaba alarmas como la 1202.

Fundamentalmente, los restart checkpoints protegían el trabajo vital. Si el ordenador se reiniciaba, retomaba los procesos esenciales desde el último punto de control, incluso reiniciando el motor de descenso. Este diseño robusto permitió al ordenador gestionar fallos sin abandonar la misión, un testimonio de previsión bajo una presión extrema. Para aquellos curiosos por explorar esta mezcla de rigor y humor, el Original Apollo 11 Guidance Computer (AGC) Source Code está disponible públicamente.

¿Te está gustando? Recibe uno así en tu bandeja cada mañana.

un correo al día · date de baja en dos clics · sin rastreadores de terceros

Por qué la 1202 no terminó con el aterrizaje

La alarma 1202, infame desde el aterrizaje del Apollo 11, señalaba una lucha desesperada por el tiempo de procesamiento. Mientras el Módulo Lunar descendía, el rendezvous radar consumía inesperadamente entre el 13 y el 15% de los ciclos del ordenador al disparar 12,800 pulsos por segundo. Esta actividad, combinada con el procesador ya utilizado al 90%, impidió que las tareas de navegación críticas se completaran a tiempo.

El Executive del Apollo Guidance Computer (AGC), su planificador, solo podía gestionar ocho espacios de trabajo, cada uno de 12 palabras de longitud. Cuando la tarea de navegación no lograba terminar, se ponían en cola nuevas copias, llenando rápidamente estos espacios y activando la alarma 1202. El AGC respondió descartando el trabajo no protegido y reiniciándose, priorizando las funciones de descenso esenciales. Los controladores de vuelo, notablemente Steve Bales, tuvieron que evaluar rápidamente si el aterrizaje podía continuar, una decisión que se tomó cinco veces durante los minutos finales.

Esta resiliencia no fue accidental. El equipo de Margaret Hamilton en el MIT Instrumentation Laboratory diseñó el AGC con una robusta restart protection, permitiéndole reanudar operaciones críticas incluso a mitad del descenso. Los puntos de control a lo largo del código aseguraban que las tareas vitales, como el motor de descenso, pudieran reactivarse inmediatamente.

Hoy en día, la brillantez del AGC es inspeccionable. El proyecto Virtual AGC emula fielmente el ordenador y su interfaz de pantalla y teclado (DSKY), permitiendo a cualquiera ejecutar el código de vuelo del Apollo 11. Puedes explorar las secuencias exactas que utilizaron los astronautas, desde las comprobaciones previas al lanzamiento hasta las alarmas de aterrizaje, en el Apollo 11 AGC repository. Como observó Hamilton, su equipo no tuvo "segunda oportunidad", pero su código nos brinda infinitas oportunidades para aprender.

Preguntas frecuentes

¿Se puede ejecutar el código fuente original del Apollo 11 hoy en día?

Sí. El código fuente transcrito puede ensamblarse y ejecutarse en el emulador de código abierto Virtual AGC.

¿Cuánta memoria tenía el Apollo Guidance Computer?

Tenía 2,048 palabras de memoria borrable, aproximadamente 3,840 bytes, además de memoria fija de solo lectura tipo core rope.

¿Qué causó la alarma 1202 durante el aterrizaje del Apollo 11?

Los pulsos del radar consumieron tiempo de procesador, sobrecargando los limitados espacios de trabajo del planificador. El ordenador descartó el trabajo de menor prioridad y reinició las tareas protegidas.

¿Quién era Margaret Hamilton?

Hamilton fue una líder de software en el programa Apollo en el Instrumentation Laboratory del MIT y ayudó a desarrollar el software que guió las misiones tripuladas.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

Para builders

Esta página está trabajando para la herramienta de otro.

La leen los agentes de IA. Aterrizan compradores. Responde en ocho idiomas y vía MCP. Tu herramienta puede tener una igual — publicada en 24 horas.