Il codice (assembler) dell'AGC (Apollo Guidance Computer)

Il codice assembler del mitico AGC, il computer diguida delle missioni Apollo, è disponibile su GitHub.
C’è un bel articolo di Quartz sul codice e sui commenti contenuti, in http://qz.com/726338/the-code-that-took-america-to-the-moon-was-just-published-to-github-and-its-like-a-1960s-time-capsule/

e poi https://github.com/chrislgarry/Apollo-11

#************************************************************************
#                                   
#       THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS:      
#                                   
#                                   
#               COLOSSUS 2A             
#                                   
#                                   
#   THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED     
#   IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER DSR       
#   PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT        
#   CENTER OF THE NATIONAL AERONAUTICS AND SPACE            
#   ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE     
#   INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF      
#   TECHNOLOGY, CAMBRIDGE, MASS.                    
#                                   
#************************************************************************
1 Mi Piace

Bello:smiley:
Mi ricordo quando programmavo in assembler per lo Z80 (mitici anni 80/90).
Solo che io dovevo tradurmi le istruzioni in blocchi esadecimale e inserirli singolarmente, avevo solo una tastiera “esadecimale” e, mi sembra, una coppia di display.

Ah, anche tu? 1979, 4 KB di codice scritti e assemblati a mano, senza nient’altro che un hex editor. Terrificante, facevo una passata per contare i bytes e gli indirizzi dei jump e delle call, poi una seconda passata per assegnare gli indirizzi. Era il controllo caldaie e pompe di una grossa centrale termica. Sei mesi di lavoro. Però l’assember Z80 l’ho imparato bene :wink: e mi è servito dopo, quando (finalmente) ho avuto un sistema di sviluppo Zilog. E viva le patches fatte a manina dentro le EPROM…

Veramente impegnativo … Però quanta soddisfazione quando il tutto funzionava, quasi al primo colpo.
Peccato aver abbandonato:joy:

Paolo Attivissimo aggiunge qualcosa: http://attivissimo.blogspot.it/2016/07/pubblicato-il-codice-sorgente-di-apollo.html

Ah… imperituri ricordi dei primi anni ottanta, quando con un Sinclair ZX81 munito di un improbabile accrocchio sul retro, che elevava alla inusitata capacità di ben 16 kb (!!!) la RAM del computer (di base limitata a 1 kb), si riuscivano a scrivere in assembler programmi - videoscrittura, database, fogli di calcolo etc. - che oggi occupano qualche gigabyte…

Margaret Hamilton, che 50 anni fa fu responsabile dello sviluppo del software dell’Apollo, è stata insignita della Presidential Medal of Freedom dal presidente Obama.
Mi pare giusto celebrare la cosa in questo thread :slight_smile:

https://www.nasa.gov/feature/margaret-hamilton-apollo-software-engineer-awarded-presidential-medal-of-freedom

Interessante, grazie!

Fra l’altro mi ha fatto venire in mente cosa combinasse NASA su GitHub https://github.com/nasa
Mi aspettavo di più ad esser sincera. :slight_smile:
Ed ESA ha ancora meno https://github.com/esa

Io ricordo quando mi dicevano che il basic consumava troppa RAM, che bisognava scrivere in assembler :smiley:

Scusate il necroposting ma non penso che questo messaggio meritasse un nuovo thread.
In caso adminbot avesse diversa opinione… sposti pure :slight_smile:

Ho ritrovato su youtube la registrazione di un talk a cui ho assistito dal vivo al 34C3 lo scorso anno a Lipsia… Per chi di voi vuole un’infarinata non così banale sul funzionamento dell’AGC.

Enjoy

2 Mi Piace

Fantastico, stasera me lo guardo. Tra l’altro Don E. Eyles, uno dei programmatori dell’AGC, poche settimane fa era in visita in Italia, e ha tenuto alcune conferenze, tra cui questa

1 Mi Piace