<img src="https://queue.simpleanalyticscdn.com/noscript.gif?collect-dnt=true" alt="" referrerpolicy="-when-downgrade"> El código fuente del Apollo 11 a tu disposición
NeoTeo
imported_Kir

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

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

El código fuente del Apollo 11 a tu disposición
Código fuente del Módulo de Comandos (302 líneas)
El código fuente del Apollo 11 a tu disposición
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 necesitan300 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 misión, sin embargo, la prueba de que todo se hizo correctamente la tenemos hoy en forma de40 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í

avatar

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

avatar
avatar

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

avatar
avatar

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

avatar
avatar

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

avatar
avatar

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

avatar
avatar

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.

avatar
avatar

En fin pues como no se nada de esas cosas (ensambladores y esas cosas) lo único que me queda decir es que es un buen recuerdo histórico y la manera de ver como programaban en esa época lo que considero bueno

avatar
avatar

Hola Cuatro, perdon por no explicarme bien, el codigo que ves, efectivente no es ensamblador, ni 6502 ni 8086, es un codigo interprete que compila en ensamblador, osea, un codigo que resulta mas sencillo de programar que las famosas sentencias de tres letras en ensamblador, y que a su vez, resulta sencillo para el ordenador convertirlo a un lenguaje mas amigable para el, como ensamblador.

Espero haberte sido de ayuda.

avatar
avatar

Uy perdon, quien preguntaba era MR X, perdon por el doble post

avatar
avatar

¿Falta de memoria en un ordenador de la NASA? ¿Y para meter entre 500 y 1000 líneas de código? mmmm... algo falla por algún lado.

avatar
avatar

¿Falta de memoria en un ordenador de la NASA? me llama la atención..primero porque un código interpretado siempre es de ejecución más lenta que el código nativo del procesador
segundo el código interpretado no corre directamente sino que necesita un interprete que también ocupa memoria y en tiempo de ejecución memoria extra para alojar punteros, buffers,
almacenamiento transitorio de entrada/salida de datos etc.

avatar
avatar

Linda nota. Adhiero algo mas, por los comentarios que
necio es aquel que dice ser sabio. Sabio es aquel que dice ser ignorante. Asique sin comentarios,,

avatar
avatar

falta el link a amazon, que paso neoteo, antes eras chevere

avatar

Debes iniciar sesión para publicar un comentario.