Le missioni Apollo avevano una tecnologia non più complicata di una calcolatrice tascabile.
Dal link qui , c'è un informazioni su Apollo Guidance Computer (AGC)
The on-board Apollo Guidance Computer (AGC) was about 1 cubic foot with 2K of 16-bit RAM and 36K of hard-wired core-rope memory with copper wires threaded or not threaded through tiny magnetic cores. The 16-bit words were generally 14 bits of data (or two op-codes), 1 sign bit, and 1 parity bit. The cycle time was 11.7 micro-seconds. Programming was done in assembly language and in an interpretive language, in reverse Polish.
Quindi, mi sono imbattuto in qualche codice sorgente quando ho cercato cosa c'era lassù, e ho notato grandi commenti (ad esempio TEMPORARY, HOPE HOPE HOPE)
VRTSTART TS WCHVERT
# Page 801
CAF TWO # WCHPHASE = 2 ---> VERTICAL: P65,P66,P67
TS WCHPHOLD
TS WCHPHASE
TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE
CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE
TC DOWNFLAG # PERMIT X-AXIS OVERRIDE
ADRES XOVINFLG
TC DOWNFLAG
ADRES REDFLAG
TCF VERTGUID
I programmi effettivi nella navicella spaziale sono stati memorizzati nella memoria della fune principale , un'antica tecnologia di memoria fatta (letteralmente) tessendo un tessuto / corda, dove i pezzi erano anelli fisici di materiale di ferrite. La memoria "core" è resistente ai raggi cosmici. Lo stato di un bit centrale non cambierà quando bombardato dalle radiazioni nello spazio esterno.
Il software Virtual Apollo Guidance Computer (AGC) è anche su GITHUB!
Parte della documentazione è qui.
Un altro esempio di codice sorgente con ottimi commenti.
033911,000064: 32,3017 06037 FLAGORGY TC INTPRET # DIONYSIAN FLAG WAVING
034090,000243: 32,3241 13247 BZF P63SPOT4 # BRANCH IF ANTENNA ALREADY IN POSITION 1
034091,000244:
034092,000245: 32,3242 33254 CAF CODE500 # ASTRONAUT: PLEASE CRANK THE
034093,000246: 32,3243 04616 TC BANKCALL # SILLY THING AROUND
034094,000247: 32,3244 20623 CADR GOPERF1
034095,000248: 32,3245 16001 TCF GOTOP00H # TERMINATE
034096,000249: 32,3246 13235 TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
034101,000254: 32,3251 04635 TC POSTJUMP # OFF TO SEE THE WIZARD ...
034102,000255: 32,3252 74126 CADR BURNBABY
La mia domanda qui è questa:
- In che modo i team hanno scritto questo codice in grado di renderlo funzionale, dato gli strumenti in quel momento?
Perché se si compila così tanto codice che è stato usato su Apollo 11 ... ci vorrebbero giorni, persino settimane. Dubito seriamente che i programmatori abbiano lasciato tutto per caso.