[Noticia] Código fuente del Apollo disponible en Google Code

Problemas de software/hardware sobre PC's/soluciones cloud. Recomendaciones, soluciones, consultas, aportes en general.
Responder
Avatar de Usuario
matiaz
Colaborador
Colaborador
Mensajes: 7676
Registrado: Sab Sep 08, 2007 6:55 pm
Ubicación: Pergamino - Bs As
Agradecido: 0
Agradecimiento recibido: 0

[Noticia] Código fuente del Apollo disponible en Google Code

Mensaje por matiaz »

Como parte de la conmemoración de los 40 años de la llegada del hombre a la Luna, se ha publicado el código fuente de los programas del Módulo de Comandos y Módulo Lunar utilizados en el Apollo.

Se trata de código que se transcribió desde copias impresas que fueron digitalizadas y se encuentran disponibles en PDF.  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 se muestra en el video y que puede correr sobre Linux, MacOSX y Windows entre otros.

El código fuente se trata de un lenguaje muy cercano al código de máquina que se interpretaba en el AGC.  Por restricciones de memoria no convenía escribir el código directamente en lenguaje ensamblador o assembly del AGC, por lo que se creó un interprete que funcionaba un poco más lento pero cumplía con las condiciones especiales de estas máquinas.  Algunas gracias del código interpretado es que contenía instrucciones para manejar vectores y funciones trigonométricas, algo muy importante en aplicaciones de este tipo.

El código se grababa como firmware y sólo se podían hacer pequeñas modificaciones en caliente.  Es notable el hecho de que estas modificaciones no solo se podían recibir desde la tierra, sino que los astronautas también estaban capacitados para meter su propio código en caso de ser necesario.

Aquellos que entiendan código assembly de procesadores antiguos como el MOS6502 (Atari, Commodore, Apple) o Z80 (Spectrum, MSX) no tendrán problemas en entender el del Apollo. Increíblemente el lenguaje interpretado es el que necesita un poco más de habilidad.

Aunque no lo lleguen a ejecutar en sus computadores, es bastante interesante ver cómo se programaban estas máquinas, sobre todo considerando qué tan crítico era la calidad del código.

Imagen Blog de Google Code
Imagen Virtual AGC Home Page

Imagen Fuente
Responder