Coding Apollo

50 anni fa l’umanità toccava per la prima volta il suolo lunare.

Io lo venni a sapere qualche anno dopo, sono nato nel 1970, e stranamente da piccolo non ho mai voluto fare l’astronauta. Leggere sull’enciclopedia di casa dell’evento però mi fece appassionare alla tecnologia, alla fantascienza e ad una delle caratteristiche del mio carattere che mi piacciono di più: il sogno.

Da piccolo mi sembrava che andare su Marte sarebbe stata una cosa scontata e noiosa, ma ad un certo punto abbiamo smesso di sognare, e tristemente con i piedi per terra, ci fermammo.

Io no, io insisto: ma torniamo alla storia.

50 anni fa l’umanità, rappresentata da Armstrong, Holdrin e Collins (dall’orbita), toccava per la prima volta il suolo lunare.

Una gran parte del merito di questo successo fu di una macchina: Il poderoso Apollo Guidance Computer, dotato di un hardware che oggi non sembra essere spettacolare:

  • 2048 words of RAM. La “word” era di 15 bits di dati e quindi la RAM totale era di 3840 bytes.
  • 69,120 bytes di ROM
  • Velocità massima di circa 85.000 istruzioni al secondo.
  • Dimensioni: 24″×12.5″×6″.
  • Peso: 31,75 Kg.
  • Alimentazione: 2.5A a 28V DC
Margaret e il suo codice, crediti MIT MUSEUM

Il software fu scritto, sotto la guida di Margaret Hamilton, direttamente nell’assembler dell’AGC, di cui è disponibile un emulatore software all’indirizzo:

https://github.com/virtualagc/virtualagc

Sono disponibili su github anche i codici scritti per la missione all’indirizzo:

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

Attenzione: il software è stato scannerizzato dai listati originali conservati al Museo del Mit e contiene probabilmente degli errori. Potete correggerli voi stessi proponendo le vostre modifiche.

Esiste perfino un simulatore in javascript che potete trovare su

http://svtsim.com/moonjs/agc.html

Fate vedere quanto sforzo ha previsto lo sbarco di un computer sulla luna ai vostri amici scettici. Buon git clone a tutti!

Lascia un commento