El código fuente del Apollo 11 a tu disposición

Kir Ortiz . Vista 8046 veces
El código fuente del Apollo 11 a tu disposición

Con esto del 40 aniversario de la llegada del hombre a la Luna no hacen más que sacar sorpresas relacionadas con el evento. Gracias a la colaboración de Google y de la NASA se ha publicado el código fuente del módulo de mando y del módulo lunar de la misión Apollo 11. Tienes la posibilidad de comprobar cómo se hacían las cosas antes. No es que vaya a acabar con la crisis o con el cáncer pero como curiosidad tecnológica no tiene precio.


  • La Luna está de moda, de eso no cabe la menor duda. El bombardeo constante por parte de los medios no admite réplica, ni las exigencias del guión tampoco, por tanto, aquí nos encontramos de nuevo ofreciendo una curiosa información referida a la misión del Apollo 11. Se trata de la publicación del código fuente de los programas del Módulo de Comandos(comanche054) y Módulo Lunar (Luminary099) utilizados en la famosa nave que todos estamos hartos de nombrar ya. Los más graciosos seguro que esperan ver algo de Microsoft oculto entre las líneas de código pero la prueba de que Bill no metió las manos en el diseño la tenemos en el hecho de que la misión concluyó con éxito. En eso y en que el código ha sido lanzado de manera pública para que cualquiera pueda verlo sin cobrar por ello. 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 veréis en el video y 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.



    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 vosotros 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.

    • Código fuente del Módulo de Comandos (302 líneas) Código fuente del Módulo de Comandos (302 líneas)
    • Código fuente del Módulo Lunar (1.474 líneas) Código fuente del Módulo Lunar (1.474 líneas)

    Este código no tiene mucha utilidad a día de hoy pero resulta muy interesante observar cómo se programaba en aquellos sistemas considerados críticos y de alto riesgo. La calidad del código debía estar fuera de toda duda y depurado hasta el extremo. Fijarse en la limpieza conceptual del diseño y en la optimización de las instrucciones. Apenas necesitan 300 líneas para el Módulo de Comandos y 1400 líneas para el Módulo Lunar. Cualquier error hubiera sido catastrófico para la mision, sin embargo, la prueba de que todo se hizo correctamente la tenemos hoy en forma de 40 aniversario de la llegada del hombre a la Luna. La digitalización en PDF de todos los códigos la puedes encontrar haciendo click aquí.

    Un pequeño paso para las noticias de Neoteo, pero un gran paso para el código fuente público.

    Código Fuente:  Aquí

¿Y tú, qué opinas?

  • #1 uno
    uno miércoles, 22 de julio de 2009, 11:31

    Imposible ver algo de MS en el código ya que el Apollo XI se lanzó en 1969 y Microsoft fue fundada en 1975

    Responder >> Attention Minus Plus Votos: 0 de 2
  • #2 argikt
    argikt miércoles, 22 de julio de 2009, 11:48

    Por lo que veo, el programa compila a nivel basico en ensamblador 8086 no en 6502. Pero vamos, hace mas de 10 años que no toco ensamblador osea que no estoy seguro al 100%...

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #3 dos
    dos miércoles, 22 de julio de 2009, 11:55

    #1Otro que no conoce el significado de la palabra ironia.

    Responder >> Attention Minus Plus Votos: 0 de 2
  • #4 tres
    tres miércoles, 22 de julio de 2009, 12:07

    #3El significado de la palabra lo conozco. Pero no veo la ironía por ningún sitio en ese párrafo. ¿Serías tan amable de indicarme dónde está?

    Responder >> Attention Minus Plus Votos: -3 de 5
  • #5 Vikingo
    Vikingo miércoles, 22 de julio de 2009, 12:13

    "Los más graciosos seguro que esperan ver algo de Microsoft oculto entre las líneas de código pero la prueba de que Bill no metió las manos en el diseño la tenemos en el hecho de que la misión concluyó con éxito"

    Ya tardabais en hacer una broma en contra de Ms, ¿cuánto ha pasado desde la última? ¿5 horas? Vas a necesitar pastillas para dormir, ya veo lo contento que estás con tu sistema operativo y lo obsesionado que estás con Windows; el cúal es tan malo y tan insignificante que provoca que de cada 10 palabras que escribes una sea "Microsoft".

    Te aconsejo una terapia anti odio y otra anti cruzadas Ms.
    Vive y deja vivir.

    Responder >> Attention Minus Plus Votos: 0 de 2
  • #6 AAA
    AAA miércoles, 22 de julio de 2009, 14:39

    Que sensibles son algunos! Lo de MS es broma, todos sabemos que el Microsoft Windows se usa, lo usamos (no siempre legalmente) y creo que el solo hecho de haberlo hecho (yo por lo menos desde el 1992, Linux lo uso desde el 1996) nos da derecho a criticarlo y hablar mal de el, asi como del primo vago que todos tenemos...

    Menos sensibilidad y mas bromas...y es obvio que el Apolo logro llegar (??? aun tengo dudas) por tener un buen programa y no uno que se bloqueara facilmente como por ejemplo...Windows ME!!! Bien ya hice la mia ahora un sensible que me critique...

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #7 Vikingo
    Vikingo miércoles, 22 de julio de 2009, 15:19

    Linux es una mierda,

    no soporta gran número de periféricos, es un coñazo actualizar ciertas aplicaciones ya que suele haber dependencia con otros paquetes teniendo que al final actualizar medio sistema, tiene un gran nº de xploits, root kits, troyanos, desbordamiento de buffers, reza para que te funcione en ciertos portátiles al 100% de compatibilidad, cada distro va a su bola, tiene una interfaz de ventanas copiada (tanto criticar a Ms porque ellos copiaron de Apple) que por cierto a un servidor se le ha quedado colgado el gnome más de una vez, no sirve para juegos.

    Pero no sean sensibles, es solo una broma, tengo derecho a hablar mal de él, asi como del primo vago q...
    Leer más

    Responder >> Attention Minus Plus Votos: -1 de 1
  • #8 Mr X
    Mr X miércoles, 22 de julio de 2009, 15:31

    #2Hola, ¿me puedes aclarar eso del "nivel básico del 8086"?

    Hace poquitísimo he estado programando en el ensamblador del 8086 que dices... y no se me parece en nada, aunque he de reconocer que soy nuevo en esto del ensamblador de dicha máquina.

    Mirando el código fuente, no encuentro ni siquiera la instrucción "mov" que es la "reina de las instrucciones" por así decirlo. La única coincidencia que veo es alguna linea comentada en la que se menciona AX y BX, pero nada más. No veo que se manipulen esos registros directamente.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #9 8L1nD
    8L1nD miércoles, 22 de julio de 2009, 15:41

    ¿Alguna vez has explotado alguna de esas vulnerabilidades de las que hablas? Yo creo que no...

    Cualquier tonto abre la boca, pero no cualquier tonto hace las cosas...

    A leguas se ve que eres de esas personas que se dedican a criticar en vez de resaltar las virtudes de algo o de alguien, creo que la mayoría de los problemas que se presentan en Linux para el usuario promedio se resuelven investigando un poco, la mayoría de las veces tienes que modificar una o dos líneas de un archivo para que funcione de manera adecuada.

    Creo que tardas más tiempo en hacer un análisis con un Antivirus en Windows, que ejecutar un sudo y modificar unas cuantas líneas de configur...
    Leer más

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #10 hector
    hector miércoles, 22 de julio de 2009, 16:05

    Entonces todos los sitemas operativos son mierda.

    Pues hay condiciones para que asi lo sean

    Todos son vulnerables, todos tienen errores, a todos les han hecho virus, espias,
    todos tienen en alguna ocasion incompatibilidad con cierto hardware.

    La pregunta es cual es el mas mierda?

    HAGAN SUS APUESTAS SEÑORES

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #11 Vikingo
    Vikingo miércoles, 22 de julio de 2009, 16:48

    #7¿Es que necesito explotar una vulnerabilidad para saber que existe? menudo argumento!
    ¿Has pisado alguna vez en la luna? ¿no? pues emepezaría a dudar de su existencia, tal vez sea una ilusión óptica. Linux está petada de xploits y si no sabes eso es que no sabes una mierda de administrar un servidor Linux.

    Y encima te excusas en que los problemas se resuelven investigando un poco!!! jajaja! si señor toda una solución, investiguen señores! que es gratis... que seriedad.

    Que pena de Linux fan boys.

    Responder >> Attention Minus Plus Votos: 0 de 2
  • #12 cuatro
    cuatro miércoles, 22 de julio de 2009, 17:02

    #2Si te lo tengo que indicar, entonces es que no lo vas a entender nunca.

    Mejor quedate con la duda. Es mas excitante.

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #13 Jesica
    Jesica miércoles, 22 de julio de 2009, 18:42

    Editores de Neoteo: Como sugerencia les pido que agreguen una seccion mas a su pagina llamada "Catarsis", en ella podrian invitar a que los lectores a purificarse de tanta pasion negativa e impulsividad en sus comentarios...
    Paz, Amor y sarcasmo

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #14 <a href="../../foro/member.php?u=13994" target="_self">leodan</a>
    leodan miércoles, 22 de julio de 2009, 18:47

    #31,2,3
    ZAAAAZZZZ EN TODA LA BOCA jajajajajajajajajaja y yo ya a prendi que es ironia y tu no jajajajajajajajajaja me burlo de ti jajajajaja ¬¬

    Responder >> Attention Minus Plus Votos: -2 de 4
  • #15 Mr X
    Mr X miércoles, 22 de julio de 2009, 19:30

    #12@cuatro: No sé si de verdad eres argikt o te haces pasar por él. Si de verdad lo eres (o si se pasa por aquí el verdadero), ¿por qué no te atreves a dar aunque sea algunas nociones sobre el tema? No hace falta contarlo todo.

    Respecto a si lo entiendo o no, es problema mío ;-)

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #16 <a href="../../foro/member.php?u=15985" target="_self">josedaivd</a>
    josedaivd miércoles, 22 de julio de 2009, 19:50

    Hombre, pues el mejor OS es el que me puedo diseñar yo mismo, asi si explota la compu será mi culpa xD.

    Un OS no es una salida al parque diversiones, en una PC falla muchisimo por la gran variedad de perifericos que existen, una Mac no falla tanto y un Linux/GNU fabricado por uno mismo nunca tendra errores.

    Asi como las rutinas de programación que demostraron los Apollo, el código debe estar programado explicitamente para el hardware.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #17 Anibal7000
    Anibal7000 miércoles, 22 de julio de 2009, 23:15

    Bueno ya entendi lo que paso, ellos creyeron llegar a la luna, porque eso les decia el poderoso mainframe que tenia menos memoria que mi celular, Me queda la duda de porque Neil Armstrong siempre al preguntarle sobre las estrellas dice que "no se acuerda", que farsa por Dios

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #18 Cienfuegos
    Cienfuegos jueves, 23 de julio de 2009, 01:20

    #17Una farsa, ¿porque? ¿Por decir que no se acordaba de las estrellas? Eso es patético, señor Anibal.

    Digame, si hubiera dicho que sí, que vio estrellas, a caso la gente como tu no diria: Vio las estrellas y no se ven en la foto, ¡¡FRAUDE!!

    Al decir que no probó que fue a la Luna.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #19 <a href="../../foro/member.php?u=13994" target="_self">leodan</a>
    leodan jueves, 23 de julio de 2009, 05:21

    #5Mejor deja de alardear con lo de microsoft era una broma por dios!!! acaso cada ves que alguien haga una broma tendremos que poner como posdata : PDT: BROMA no jodas...

    Responder >> Attention Minus Plus Votos: -3 de 3
  • #20 <a href="../../foro/member.php?u=13994" target="_self">leodan</a>
    leodan jueves, 23 de julio de 2009, 05:25

    #7JAJAJAJAJAJAJAJA POBRE QUE SE MA HACE...JAJAJA NO SABES LO QUE DICES HAS DE ESTAR BIEN SALADO.....HAY DIOS!!! SI EN CERIO BUENA BROMA MUY BUENA BROMA....

    Responder >> Attention Minus Plus Votos: -3 de 3
  • « «« Anterior12Siguiente »» »
    Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba