El código fuente de las naves Apolo

El Programa Apolo de la NASA consistió en una serie de misiones llevadas a cabo entre finales de los 60 y principios de los 70 que tenían como propósito, primero, enviar el primer hombre a la Luna, objetivo culminado con éxito con el Apolo 11; y, más tarde, continuar el estudio de la superficie lunar.

Misión Apolo

Las naves Apolo consistían en realidad en dos módulos distintos: un módulo de mando, diseñado para llevar a los astronautas al satélite y regresar, y un módulo lunar, que los astronautas podían utilizar para posarse sobre la superficie de la luna. Ambos módulos contaban con un sistema de control de orientación y movimiento diseñado por el MIT, el Apollo Guidance Computer o AGC, con 3.75KB de memoria, un procesador de 0.085MHz, y unos 30 kilos de peso.

El código fuente del software que controlaba estos AGC, escrito en ensamblador, se encuentra disponible gracias a la labor de recopilación de los desarrolladores de Virtual AGC and AGS, una máquina virtual que simula estas computadoras. Aquí tenéis unos pequeños ejemplos: Comanche build 055, Flight Program 8, Luminary 1A build 099.

Vía

8 pensamientos en “El código fuente de las naves Apolo”

  1. Los pelos de punta!
    He estado mirando el código y es muy interesante… que raro que esté disponible este código no? weno si nos ponemos manos a la obra con esto y un poco de cacharreria nos montamos en la luna 😀

  2. Lo increíble es que con ensamblador (bueno, es de un nivel de abstracción algo mayor, pero casi) y ese hardware consiguieran llevar el Apolo a la Luna… Y que no hayamos vuelto, porque en la Luna hay un montonazo de helio 3 que es escasísimo y lo mejor para la fusión.

    1. No tengo ni idea de programar, pero lo lógico me parece hacerlo en ensamblador, porque es 1960, más que nada. Aparte, lo del HW que llevaba, eran otros tiempos para la electrónica. Antes se hacía todo por HW, creo yo, y la computadora solo disparaba este circuito o el otro. Ahora se digitaliza y programa todo por soft. Es como una tele: antes era todo HW; filtros, sintonizador, todo el sistema que “pintaba” la imagen… Ahora solo necesitas sintonizar y a partir de ahí, ir procesando.

      PD: me encanta que el “corretor otgárfico” me diga que tal vez deba cambiar digitaliza por “digital iza”

  3. Que no hayamos vuelto no es cuestión de temas tecnológicos sino de necesidad de ir o de que interese ir a los que ponen el dinero.

    La verdad es que es muy interesante poder ver un código así, además de que programar en aquella época todo en ensamblador o algo muy parecido tiene muchísimo mérito. Sólo apto para valientes XD

    1. Aun hoy programar en assembler directamente es para gente muy valiente (o completos pelotudos que tienen ganas de boludear un rato haciendo algo que a duras penas cambiara un bit en la memoria jaja) pero alguien tiene que hacerlo porque varias partes de los codigos de drivers, sistemas operativos o aparatos electronicos estan programados en assembler para que sean mas eficientes.
      Ademas dudo mucho que pagen mal a alguien que programe (bien) en assembler, por lo que seguro tiene merito.

  4. Pingback: [Curiosidad] El código fuente de las naves Apolo | El Huequito

  5. Pingback: tongOo S01E07 – Perspectivas de balcón

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.