Tixlegeek's DevBlog Code, Gringo, Silicium

qrcode

Code source de l'ordinateur de guidage Apollo 11

Salutations!

Sur internet, on trouve de tout. Quand je trouve un truc étrange ou sympa, je le met de coté, et, aujourd'hui, je ressort un lien cool de mon chapeau à liens cools.

Maintenant, vous le saurez, le code source de l'ordinateur de guidage d'Apollo11 est sur github.

Code source original de l'ordinateur de guidage Apollo 11 (AGC) pour le module de commande (Comanche055) et le module lunaire (Luminary099). Numérisé par les gens du Virtual AGC et du MIT Museum. Le but est d'être un repo pour le code source original d'Apollo 11. En tant que tel, les PR sont les bienvenues pour tous les problèmes identifiés entre les transcriptions dans ce référentiel et les scans source originaux pour Luminary 099 et Comanche 055, ainsi que pour tous les fichiers que j'ai pu manquer.

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

En tout premier lieu, on notera que le chef de ce projet, est Margaret H. Hamilton, une très populaire "une informaticienne, ingénieure système et chef d'entreprise américaine. " dont on entends parler pour ses diverses contributions au monde de l'information.

Moi, ce qui me fascine le plus, c'est le code assembleur. En tout honnèteté, je n'y ai rien compris, et, il faudrait lire la doc du module lunaire pour le comprendre (chose étrange à dire). Un extrait pris au hasard:

 

# NORMAL EXIT:     ENDEXT
#
# ALARM/ABORT:  ALARM -- BAD REFSMMAT -- CODE:220
#       OPERATOR ERROR IF V47 SELECTED DURING ANOTHER EXTENDED VERB.
#
# ERASABLES
# USED: SAMPTIME        (2)     TIME OF :ENTER: KEYSTROKE
#       AGSK    (2)     GROUND ELAPSED TIME OF THE AEA CLOCK :ZERO:
#       AGSBUFF (140)   CONTAINS AGS INITIALIZATION DATA (SEE :OUTPUT: BELOW)
#       AGSWORD (1)     PREVIOUS DOWNLIST SAVED HERE

        EBANK=  AGSBUFF

        BANK    40
        SETLOC  R47
        BANK

        COUNT*  $$/R47

AGSINIT CAF     REFSMBIT
        MASK    FLAGWRD3                # CHECK REFSMFLG.
        CCS     A
# Page 207
        TC      REDSPTEM                # REFSMMAT IS OK
        TC      ALARM           # REFSMMAT IS BAD
        OCT     220
        TC      ENDEXT

NEWAGS  EXTEND
        DCA     SAMPTIME                # TIME OF THE :ENTER: KEYSTROKE
        DXCH    AGSK            # BECOMES NEW AEA CLOCK :ZERO:

REDSPTEM        EXTEND
        DCA     AGSK
        DXCH    DSPTEMX
AGSDISPK        CAF     V06N16
        TC      BANKCALL                # R1 = 00XXX. HRS., R2 = 000XX MIN.,
        CADR    GOMARKF         # R3 = 0XX.XX SEC.
        TC      ENDEXT          # TERMINATE RETURN
        TC      AGSVCALC                # PROCEED RETURN
        CS      BIT6            # IS ENTER VIA A V32
        AD      MPAC
        EXTEND
        BZF     NEWAGS          # YES, USE KEYSTROKE TIME FOR NEW AGSK

        EXTEND                  # NO, NEW AGSK LOADED VIA V25
        DCA     DSPTEMX         # LOADED INTO DSPTEMX BY KEYING
        TC      REDSPTEM -1             # V25E FOLLOWED BY HRS.,MINS.,SECS.
                                # DISPLAY THE NEW K.
 

Voilà, c'est un petit bout d'histoire que voilà, et, je trouve ça extrèmement cool que ce genre de chose devienne publique, et aussi facilement accessibles.

 

Apollo-11 Source Code

 

Hpphckng!