EDICIóN GENERAL
196 meneos
4032 clics
El código fuente que llevó al hombre a la Luna (y dónde descargarlo)

El código fuente que llevó al hombre a la Luna (y dónde descargarlo)

Cuando los programadores del laboratorio de instrumentación del MIT se dispusieron a desarrollar el software de vuelo para el programa espacial Apollo 11 —a mediados de los años sesenta del siglo pasado—, la tecnología necesaria no existía, por lo que tuvieron que inventarla. [...] Una de las cosas que más ha llamado la atención de este código fuente es la ristra de comentarios humorísticos que acompañan al código del ACG a modo de chistes, mensajes y referencias locales a los sesenta estadounidenses.

| etiquetas: código fuente , hombre , luna , descargar , documentación , apollo 11
Lo que no se suele contar de la programación del pequeño ordenador que llevo el proyecto Apollo, es que cuando empezaron nadie les dio ninguna especificación y tuvieron que ser los programadores, sin ninguna experiencia, los que se tuvieron que inventar lo que se podia hacer con el. Al final lo tuvieron que acabar deprisa y corriendo, por falta de tiempo. Y el momento del primer alunizaje, casi fracasa por un pequeño error informático.

Que poco ha evolucionado la informática desde entonces.
Por la captura de pantalla parece ensamblador. Hablo de memoria, pero creo que C ya existía.

#1 sí ha evolucionado. Ahora se han inventado la figura del becario, que no es ni más ni menos que un trabajador que cobra una cuarta parte por la misma tarea.
#8 una tarea mucho peor hecha quieres decir...
#8 cierto, la experiencia está sobrevalorada.
#8 C es del 71, más o menos. Ten en cuenta que Unix se empezó a escribir en 1969 para un PDP-8, y no se reescribió en C (para el PDP-11) hasta 1972...
#50 pues es cierto. Creía recordar que era una década más antiguo. Gracias por el apunte.

No sabía que UNIX se reescribió (acabo de leer que se programó originariamente en ensamblador). Pensaba que C era anterior a UNIX.

Hablar de memoria tiene más riesgo, pero más gracia. :-D
#1 Si, pero lo que salvó la situación fue la genial idea de la multitarea con prioridades. Así la tarea importante que era el alunizaje siguió funcionando sin problemas a pesar de que el ordenador daba un error de sobrecarga de la CPU.
Así eran los módulos de memoria RON que llevaban los Apollo. En vez de usar compiladores, tenían que mandar el código a fabrica para que entretejieran estos módulos.  media
#2 En Tintín: Objetivo la luna, el capitán Haddock también llevaba "memoria RON" escondida. xD
#2 A mi el RON me hace perder la memoria
#2 #6 La RAE acepta cederrón
dle.rae.es/?id=862rrly
:troll:
#2 ROM, es memoria ROM!!!

:palm:
#2 Como bien dice #7 es ROM (la M es de Memoria).
No se de dónde has sacado la foto, pero según la wikipedia eran estos:
es.wikipedia.org/wiki/Apollo_Guidance_Computer#/media/File:Agc_rope.jp

es.wikipedia.org/wiki/Apollo_Guidance_Computer

Como curiosidad, el la CPU en vez de estar compuesto por puertas NAND lo estaba por puertas NOR: es.wikipedia.org/wiki/Apollo_Guidance_Computer#Dise.C3.B1o
#2 pues me ha intrigado como se usa, entiendo que es una matriz y los hilos diagonales son los que marcan el código pero algo se me escapa
#9 Los hilos horizontales son los que representan cada palabra. Si va enhebrado representa un 1 si va por fuera un 0.
#13 mi duda va más por las entradas y salidas, lo del hilo en diagonal ya asumía que era el código, en sentido que estaría todo a cero o a uno y La diagonal cambiaba ese valor, por ende el código.
Tengo dudas entre las entradas y salidas, que voltaje usa, y hasta si podría no ser un sistema extrictamente binario.
#16 Tan en detalle no lo conozco. Solo conozco por encima como funcionaba, por curiosidad y admiración a la gente que lo hizo con los recursos que disponían.

Aquí tienen algo de documentación proporcionada por la NASA history.nasa.gov/computers/Ch2-5.html
#18 ahh ya lo he pillado con el diagrama, jaja curioso, parece que en el diagrama trabaja con nibles, no con palabras ni byte. Luego veré La foto del original para ver si es una versión superior.
Edit
#3 No sé lo que pondrías en ese comentario, pero el enlace de este envío es exactanente el mismo que el de este otro -> www.meneame.net/story/codigo-fuente-original-sistema-orientacion-apoll
Si me lo descargo puedo llegar a la Luna?
#4 Como mucho, a la de tu coche.
También, tuvieron que inventar una versión especial del lenguaje ensamblador que llevaba en su interior miles de líneas de código

Como me gusta leer artículos sobre materias en las que el autor no tiene ni zorra.
Este fin de semana lo compilo y el lunes os escribo desde la Luna.
#11: ¿Desde el embalse que ya no es embalse porque no tiene agua? :-P
Muy buen aporte amigo
Ensamblador de un procesador que ya no existe. Super útil.
#14 Lo importante tal vez no sea en qué idioma lo pone, sino "qué es lo que pone".
#22 Ahí te doy la razón, me lo he pensado mejor y aunque el código no es ensamblable, puede llegar a se muy útil por los algoritmos que se usan. Si sabes ese ensamblador y hay algún algoritmo que no haya evolucionado en casi 60 años, claro.
#14 existir existe, pero claro ya no se usa a nivel de usuario.
Ahora si quieres sacar todo el potencial de un procesador y tienes huevos y no quieres tener vida, ponte a ello.
Eso sí, realmente sería impresionante ver cómo un procesador es mucho más potente de lo que pensamos.
#30 No creo que ese código puedas ya ensamblarlo.
#41 hombre ya te metes en berengenales, te quitas el so de encima y habría que ver como inicializarlo, pero deduzco que no sería muy complicado para el que entienda
#14 Me intriga tu opinión sobre la filología clásica. Esa ciencia que estudia la lengua de civilizaciones que ya no existen...
#36 Hombre nuestra lengua es un de las lenguas romance, yo creo que es muy útil.
hay Issues abiertos. ¿Alguien se quiere cojer algun ticket?
"Una de las cosas que más ha llamado la atención de este código fuente es la ristra de comentarios humorísticos que acompañan al código del ACG a modo de chistes, mensajes y referencias locales a los sesenta estadounidenses. Un buen ejemplo se corresponde con los comentarios iniciales del archivo llamado BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc (imagen siguiente)."

Yo, soy un payaso, no tengo ningun reparo en admitirlo, me gusta echarme unas risas y soltar chorradas, es una…   » ver todo el comentario
#17 Esa gente debia estar muy sola creando en lo mas alto de la piramide sin nadie que les tosiera. Recopila esos casos de los que hablas y ponlos un dia en un hilo que puede estar simpatico.
#21 Recuerdo una cabronia que se le ocurrio la brillante idea de generar dos flag de error para un proceso identificandolos como gv_cacafuti y gv_cacaue tras un calculo de precios de su puta madre sin ningun comentario de que estaba haciendo, a que se debian esos cálculos ni por que eso era un error.

Algun dia te encontraré mamon y te voy a hacer tragar los dientes.
#46 sy-subrc = 0
#49
l_msg = '¿Es abap una mierda?'
call function 'POPUP_TO_CONFIRM'
exporting
titlebar = l_msg
text_question = 'Elige tu respuesta'
text_button_1 = 'Yes'(002)
text_button_2 = 'Yes'(002)
default_button = '1'
display_cancel_button = ''
importing
answer = p_wa_answer.
#53

call function 'Z_DONDE_PAGAN_MAS'
exporting
pe_langu = sy-langu
tables
ts_incomes = lt_salarios_rango
exceptions
you_sell_services_not_products = 1.
#17 Yo a veces he creado una variable de tipo Fill y le he puesto de nombre Collins. No me fustigues.
#28 Te has labrado un poderoso enemigo, jamas entres en los dominios de mi lenguaje.
#17 Piensa que en esos tiempos, no compilabas y verificabas resultados. Tardábamos días en compilar y los errores no eran aceptables. Revisar el código entre varios y varias veces era mucho más económico que comprobar errores en ejecución. Sobre todo en casos en que solo se ejecutarían una vez. Ahí los mensajes eran Boom y Crash xD
Y pensar que 2001 la pelicula es del 68, realmente es una obra maestra de la ciencia ficcion.
#23 Iba a escribir que juraría haberla visto en otra ocasión. Tú me lo confirmas.
En los años 70 el hombre llega a la luna, en el siglo XXI es imposible, la llegada de los americanos a la luna es para TONTOS, ahora en montage una maravilla
#45 deja la escuela de la borracha la botelka y pregunta en cristiano
#33 El único motivo por el que es imposible hoy en día es porque los políticos no sueltan pasta. "No bucks, no Buck Rogers".{tinfoil}
#33 Tio, la bebida y la escritura no van de la mano.
Si al hacer un comentario de esos te olvidas de añadir # a continuación del código puedes enviar al otro barrio a los astronautas, ¿no?
#39 En la soyuz 7K-LOK (la destinada a ir a la luna) ya había también un ordenador digital, pero no se como se llamaba. En las Soyuz posteriores, usadas para las estaciones espaciales, llevaban un Argon 16, también digital.

www.astronautix.com/s/soyuz7k-lok.html
GOTO moon;


De nada :troll:

Por cierto, hace tiempo las simples calculadoras que usábamos en el colegio e instituto ya superaban al ordenador que llevaban allí.
#44 Cuidado: el AGC tenía una potencia equivalente a un Spectrum, o un Amstrad CPC, y esos equipos eran más potentes que las calculadoras programables de la escuela.
#58, depende del año del que sea de las calculadoras de las que hablamos, ¿no? Bueno, tendría que haber quitado colegio del comentario.
#59 Bueno, claro... {0x1f607} Es que yo siempre asumo que el resto de la gente tiene mi edad, y cuando iba al colegio, los ordenadores personales "normales" eran el spectrum y demás, y las calculadoras programables eran bastante más limitadas... {0x1f607}
Si con eso llegaron a la Luna, con un móvil de los chinos llegarían a Marte como mínimo ;)

menéame