Tecnología, Internet y juegos
196 meneos
4051 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
101 95 8 K 273
101 95 8 K 273
  1. 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.
  2. 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
  3. Edit
  4. Si me lo descargo puedo llegar a la Luna?
  5. #2 En Tintín: Objetivo la luna, el capitán Haddock también llevaba "memoria RON" escondida. xD
  6. #2 A mi el RON me hace perder la memoria
  7. #2 ROM, es memoria ROM!!!

    :palm:
  8. 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.
  9. #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
  10. 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.
  11. Este fin de semana lo compilo y el lunes os escribo desde la Luna.
  12. Muy buen aporte amigo
  13. #9 Los hilos horizontales son los que representan cada palabra. Si va enhebrado representa un 1 si va por fuera un 0.
  14. Ensamblador de un procesador que ya no existe. Super útil.
  15. hay Issues abiertos. ¿Alguien se quiere cojer algun ticket?
  16. #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.
  17. "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 magnífica válvula de escape.

    No trabajando.

    Si esta chorrada llega a caer en mis manos iba a estallar en cólera ante la falta de profesionalidad cosa fina, poner tu brillante ocurrencia en pieezas de un código del que pueden depender vidas me parece grave de cojones, vale, lo disculpo, eran los 60 y la ingenieria de soft estaba en bragas, pero nombrar rutinas/variables/funciones con tu gracieta, que igual en un mantenimiento no se interpretan bien o llenar el codigo de comentarios jajita haciendo que seguir el hilo se vuelva complejo es uno de mis cabreos habituales.

    Las coñas en internete que pa eso esta, cuando juegas a levantar piezas críticas comportate.
  18. #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
  19. Y pensar que 2001 la pelicula es del 68, realmente es una obra maestra de la ciencia ficcion.
  20. #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.
  21. #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.
  22. #14 Lo importante tal vez no sea en qué idioma lo pone, sino "qué es lo que pone".
  23. #4 Como mucho, a la de tu coche.
  24. #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.
  25. #17 Yo a veces he creado una variable de tipo Fill y le he puesto de nombre Collins. No me fustigues.
  26. #28 Te has labrado un poderoso enemigo, jamas entres en los dominios de mi lenguaje.
  27. #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.
  28. #8 una tarea mucho peor hecha quieres decir...
  29. #23 Iba a escribir que juraría haberla visto en otra ocasión. Tú me lo confirmas.
  30. 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
  31. #8 cierto, la experiencia está sobrevalorada.
  32. #2 #6 La RAE acepta cederrón
    dle.rae.es/?id=862rrly
    :troll:
  33. #14 Me intriga tu opinión sobre la filología clásica. Esa ciencia que estudia la lengua de civilizaciones que ya no existen...
  34. #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.
  35. 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?
  36. #36 Hombre nuestra lengua es un de las lenguas romance, yo creo que es muy útil.
  37. #30 No creo que ese código puedas ya ensamblarlo.
  38. #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.
  39. #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
  40. 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í.
  41. #45 deja la escuela de la borracha la botelka y pregunta en cristiano
  42. #46 sy-subrc = 0
  43. #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...
  44. #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
  45. #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:
  46. #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.
  47. #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.
  48. #33 Tio, la bebida y la escritura no van de la mano.
  49. #11: ¿Desde el embalse que ya no es embalse porque no tiene agua? :-P
  50. #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
  51. #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.
  52. #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.
  53. Si con eso llegaron a la Luna, con un móvil de los chinos llegarían a Marte como mínimo ;)
  54. #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}
  55. #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
  56. #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
  57. #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
comentarios cerrados

menéame