Exclusif : le code source d’Apollo 11 !
Proposé par DAM le 24 juillet 2009 à 10 h 30 min
Il est hallucinant d’imaginer qu’ils sont partis sur la Lune avec une si petite puissance de calcul et… si peu de lignes de code.
Pour rappel, l’ordinateur de bord faisait 14ko !!! Ce qui provoqua d’ailleurs une erreur 1202 lors de l’alunissage pour cause de trop plein d’informations (l’ordinateur ne pouvait pas gérer deux radars en même temps).
Le code source en entier est ici.
Extrait :
# Copyright: Public domain.
# Filename: CM_BODY_ATTITUDE.s
# Purpose: Part of the source code for Comanche, build 055. It
# is part of the source code for the Command Module’s
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
# Assembler: yaYUL
# Reference: pp. 883-889
# Contact: Ron Burkey <info@sandroid.org>
# Website: http://www.ibiblio.org/apollo.
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
# name and Comanche 055 page images.
#
# The contents of the « Comanche055″ files, in general, are transcribed
# from scanned documents.
#
# Assemble revision 055 of AGC program Comanche by NASA
# 2021113-051. April 1, 1969.
#
# This AGC program shall also be referred to as Colossus 2A
#
# Prepared by
# Massachussets Institute of Technology
# 75 Cambridge Parkway
# Cambridge, Massachusetts
#
# under NASA contract NAS 9-4065.
#
# Refer directly to the online document mentioned above for further
# information. Please report any errors to info@sandroid.org.
# Page 883
BANK 35
SETLOC BODYATT
BANK
COUNT 37/CMBAT
# PDL 12D – 15D SAFE.
# VALUE OF GIMBAL AND BODY ANGLES VALID AT PIP TIME ARE SAVED DURING READACCS.
EBANK= RTINIT # LET INTERPRETER SET EB
CM/POSE TC INTPRET # COME HERE VIA AVEGEXIT.
SETPD VLOAD
0
VN # KVSCALE = (12800/ .3048) /2VS
VXSC PDVL
-KVSCALE # KVSCALE = .81491944
UNITW # FULL UNIT VECTOR
VXV VXSC # VREL = V – WE*R
UNITR
KWE
VAD STADR
STORE -VREL # SAVE FOR ENTRY GUIDANCE. REF COORDS
UNIT LXA,1
36D # ABVAL( -VREL) TO X1
STORE UXA/2 # -UVREL REF COORDS
VXV VCOMP
UNITR # .5 UNIT REF COORDS
UNIT SSP # THE FOLLOWING IS TO PROVIDE A STABLE
S1 # UN FOR THE END OF THE TERMINAL PHASE.
SPVQUIT DEC .019405 # 1000/ 2 VS
TIX,1 VLOAD # IF V-VQUIT POS, BRANCH.
CM/POSE2 # SAME UYA IN OLDUYA
OLDUYA # OTHERWISE CONTINUE TO USE OLDUYA
CM/POSE2 STORE UYA/2 # REF COORDS
STORE OLDUYA # RESTORE, OR SAVE AS CASE MAY BE.
VXV VCOMP
UXA/2 # FINISH OBTAINING TRAJECTORY TRIAD.
VSL1
STORE UZA/2 # REF COORDS
6 Responses sur “Exclusif : le code source d’Apollo 11 !”
-
Louis dit:
juillet 24th, 2009 at 11 h 05 minArf c’est de l’assembleur
Bravo aux gars qui codaient avec ça à l’époque (c’est vraiment immonde à programmer ce genre de trucs).
-
jmplanche dit:
juillet 24th, 2009 at 12 h 44 minEt tu serais surpris de savoir la puissance de calcul de l’ordinateur de bord d’un Concorde … 0 Mhz, 0 RAM.
(en fait, il y a eu ensuite une HP 41CV qui a ensuite été rajouté, surtout pour aider aux calculs de consommation
Mais à l’époque, il y avait de « vrais » pilotes, pas des gars perdus quand une panne informatique arrive. (d’ailleurs la note de 3 syndicats d’Air-France est TRES intéressante et prépare une belle grève à la rentrée si cela continue comme ça)
Ce qui n’empêche que malgré certains soucis, c’était le plus bel avion au monde … -
Louis dit:
juillet 24th, 2009 at 14 h 31 min@jmplanche : Tu es sûr que c’étaient eux qui faisaient les calculs ? C’était pas le mécanicien naviguant qui les faisaient ?
-
DAM dit:
juillet 24th, 2009 at 16 h 59 min@jmplanche : aaahhhh le Concorde… mon regret : n’avoir jamais volé dedans. Le plus bel oiseau de l’aéronautique nous ait donné.
-
stan dit:
juillet 24th, 2009 at 17 h 52 minvu que j’ai les vertiges dans n’importe quel avion (Caroline si tu nous écoutes)
je vous le laisse … le concorde -
keeg dit:
juillet 31st, 2009 at 4 h 17 minC’est flippant. Quand on voit le nombre de ligne de code qu’il nous faut nous pour faire des bricoles^^





