Source Code
![]() |
These source-code files were from the printout at the MIT Museum, with many thanks
to Deborah Douglas, the Museum's Curator of Science and Technology, for releasing
it to us. The printout was digitally photographed by Paul Fjeld. A team of
volunteers transcribed the source code manually from these images or, where
appropriate, modified already-transcribed but similar source Colossus 249 (Apollo 9)
source code to agree with the images from the printout. Note that the page images
presented online are of reduced quality, and that higher-quality images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 055 OF AGC PROGRAM COMANCHE BY NASA 2021113-051 10:28 APR. 1,1969Note that the date is the date of the printout, not the date of the program revision. |
037318,000002: ## Copyright: Public domain.
037319,000003: ## Filename: ENTRY_LEXICON.agc
037320,000004: ## Purpose: Part of the source code for Comanche, build 055. It
037321,000005: ## is part of the source code for the Command Module's
037322,000006: ## (CM) Apollo Guidance Computer (AGC), Apollo 11.
037323,000007: ## Assembler: yaYUL
037324,000008: ## Reference: pp. 837-843
037325,000009: ## Contact: Ron Burkey <info@sandroid.org>
037326,000010: ## Website: http://www.ibiblio.org/apollo.
037327,000011: ## Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
037328,000012: ## name and Comanche 055 page images.
037329,000013: ## 2016-12-11 RSB Proofed comments with octopus/ProoferComments
037330,000014: ## and fixed the errors found.
037331,000015: ## 2017-01-08 RSB Fixed comment errors detected in cross-diff vs
037332,000016: ## Colossus 249.
037333,000017: ## 2017-01-22 RSB Fixed comment errors detected in cross-diff vs
037334,000018: ## Artemis 72.
037335,000019: ##
037336,000020: ## The contents of the "Comanche055" files, in general, are transcribed
037337,000021: ## from scanned documents.
037338,000022: ##
037339,000023: ## Assemble revision 055 of AGC program Comanche by NASA
037340,000024: ## 2021113-051. April 1, 1969.
037341,000025: ##
037342,000026: ## This AGC program shall also be referred to as Colossus 2A
037343,000027: ##
037344,000028: ## Prepared by
037345,000029: ## Massachusetts Institute of Technology
037346,000030: ## 75 Cambridge Parkway
037347,000031: ## Cambridge, Massachusetts
037348,000032: ##
037349,000033: ## under NASA contract NAS 9-4065.
037350,000034: ##
037351,000035: ## Refer directly to the online document mentioned above for further
037352,000036: ## information. Please report any errors to info@sandroid.org.
037353,000037:
![]() |
Page 837 |
037355,000039: # VARIABLE DESCRIPTION MAXIMUM VALUE * COMPUTER NAME
037356,000040: # -------- ----------- ------- ----- -------- ----
037357,000041: # -
037358,000042: # URT0 INITIAL TARGET VECTOR 2 (UNIT VECTOR) = RTINIT
037359,000043: # -
037360,000044: # UZ UNIT VECTOR NORTH 1 = UNITW
037361,000045: # -
037362,000046: # V VELOCITY VECTOR 2 VSAT = VEL
037363,000047: # -
037364,000048: # R POSITION VECTOR 2 EXP 29 METERS = RN
037365,000049: # -
037366,000050: # VI INERTIAL VELOCITY 128 M/CENTISEC = VN
037367,000051: # -
037368,000052: # RTE VECTOR EAST AT INITIAL TARGET 2 = RTEAST
037369,000053: # -
037370,000054: # UTR NORMAL TO RTE AND UZ 2 = RTNORM
037371,000055: # -
037372,000056: # URT TARGET VECTOR 2 = RT
037373,000057: # -
037374,000058: # UNI UNIT NORMAL TO TRAJECTORY PLANE 2
037375,000059: # -
037376,000060: # DELV INTEGRATED ACCEL. FROM PIPAS 5.85 16384 CM/S
037377,000061: # -
037378,000062: # G GRAVITY VECTOR 128 M/CENTISEC = GDT/2
037379,000063:
037380,000064: # A0 INITIAL DRAG FOR UPCONTRL 805 FPSS FPSS=FT/SEC/SEC
037381,000065:
037382,000066: # AHOOKDV TERM IN GAMMAL CALC. = AHOOK DVL 16
037383,000067:
037384,000068: # A1 DRAG VALUE IN FACTOR CALCULATION 805 FPSS
037385,000069:
037386,000070: # ALP CONST FOR UPCONTRL 1
037387,000071:
037388,000072: # ASKEP KEPLER RANGE 21600 NM NM = NAUTICAL MILE
037389,000073:
037390,000074: # ASP1 FINAL PHASE RANGE 21600 NM
037391,000075:
037392,000076: # ASPUP UP-RANGE 21600 NM
037393,000077:
037394,000078: # ASP3 GAMMA CORRECTION 21600 NM
037395,000079:
037396,000080: # ASPDWN RANGE DOWN TO PULL-UP 21600 NM
037397,000081:
037398,000082: # ASP PREDICTED RANGE 21600 NM NOT STORED
037399,000083:
037400,000084: # COSG COSINE(GAMMAL) 2 = COSG/2
037401,000085:
037402,000086: # C/D0 RECIPROCAL DRAG, -4/D0 B-8 64/FPSS
037403,000087:
037404,000088: # D TOTAL ACCELERATION 805 FPSS
037405,000089:
037406,000090: # D0 CONTROLLED CONSTANT D 805 FPSS
037407,000091:
037408,000092: # DHOOK TERM IN GAMMAL COMPUTATION 805 FPSS
037409,000093:
037410,000094: # DIFF THETNM-ASP (RANGE DIFFERENCE) 21600 NM
037411,000095:
037412,000096: # DIFFOLD PREVIOUS VALUE OF DIFF 21600 NM
037413,000097:
037414,000098: # DLEWD CHANGE IN LEWD 1
037415,000099:
037416,000100: # DR REFERENCE DRAG FOR DOWNCONTROL 805 FPSS NOT STORED
037417,000101:
037418,000102: # DREFR REFERENCE DRAG 805 FPSS NOT STORED
037419,000103:
037420,000104: # DVL VS1-VL 2 VSAT
037421,000105:
037422,000106: # E ECCENTRICITY 4 NOT STORED
037423,000107:
037424,000108: # F1 DRANGE/D DRAG (FINAL PHASE) 2700/805 = FX +5
037425,000109:
037426,000110: # F2 DRANGE/D RDOT (FINAL PHASE) 2700/2VS NM/FPS = FX +4
![]() |
Page 838 |
037428,000112:
037429,000113: # F3 DRANGE/D (L/D) 2700 NM = FX
037430,000114:
037431,000115: # FACT1 CONST FOR UPCONTRL 805 FPSS
037432,000116:
037433,000117: # FACT2 CONST FOR UPCONTRL 1/805 FPSS
037434,000118:
037435,000119: # FACTOR USED IN UPCONTRL 1 * MAXIMUM VALUE DENOTES UNSCALED
037436,000120: #
037437,000121: # GAMMAL FLIGHT PATH ANGLE AT VL 1 RADIAN VARIABLE VALUE WHEN SCALED
037438,000122:
037439,000123: # GAMMAL1 SIMPLE FORM OF GAMMAL 1 RADIAN VARIABLE HAS MAXIMUM VALUE OF ONE.
037440,000124:
![]() |
Page 839 |
037442,000126: # VARIABLE DESCRIPTION MAXIMUM VALUE COMPUTER NAME
037443,000127: # -------- ----------- ------- ----- -------- ----
037444,000128:
037445,000129: # HEADSUP INDICATOR FOR INITIAL ROLL 1
037446,000130:
037447,000131: # KA DRAG TO LIFT UP IF DOWN 805 FPSS = KAT
037448,000132:
037449,000133: # KLAT LATERAL SWITCH GAIN 1 (NOM = .0125)
037450,000134:
037451,000135: # K2ROLL INDICATOR FOR ROLL SWITCH
037452,000136:
037453,000137: # LAD MAX L/D (MIN ACTUAL VEHICLE L/D) 1
037454,000138:
037455,000139: # LADPAD NOMINAL VEHICLE L/D, SP PAD LOAD 1 (NOM = 0.3)
037456,000140:
037457,000141: # LATANG LATERAL RANGE 4 RADIANS
037458,000142:
037459,000143: # LEQ EXCESS C.F. OVER GRAV=(VSQ-1)GS 128.8 FPSS
037460,000144:
037461,000145: # LEWD UPCONTROL REFERENCE L/D 1
037462,000146:
037463,000147: # LOD FINAL PHASE L/D 1 (NOM = 0.18)
037464,000148:
037465,000149: # LODPAD FINAL PHASE L/D, SP PAD LOAD 1
037466,000150:
037467,000151: # L/D DESIRED LIFT TO DRAG RATIO 1
037468,000152: # (VERTICAL PLANE)
037469,000153: #
037470,000154: # L/D1 TEMP STORAGE FOR L/D IN LATERAL 1
037471,000155:
037472,000156: # L/DCMINR LAD COS(15DEG) 1 (NOM = 0.2895)
037473,000157:
037474,000158: # PREDANGL PREDICTED RANGE (FINAL PHASE) 2700 NM = PREDANG
037475,000159:
037476,000160: # Q2 FINAL PHASE RANGE -23500 Q3 21600 NM
037477,000161: # Q2 = FCN(LAD)
037478,000162:
037479,000163: # Q7 MINIMUM DRAG FOR UPCONTROL 805FPSS
037480,000164:
037481,000165: # RDOT ALTITUDE RATE 2 VSAT
037482,000166:
037483,000167: # RDOTREF REFERENCE RDOT FOR UPCONTROL 2 VSAT
037484,000168:
037485,000169: # RDTR REFERENCE RDOT FOR DOWNCONT 2 VSAT NOT SAVED
037486,000170:
037487,000171: # ROLLC ROLL COMMAND 1 REVOLUTION
037488,000172:
037489,000173: # RTOGO RANGE TO GO (FINAL PHASE) 2700 NM = FX +2
037490,000174:
037491,000175: # SL SINE OF LATITUDE 1 NOT SAVED
037492,000176:
037493,000177: # T TIME B 28 CENTISEC = TIME2,TIME1
037494,000178:
037495,000179: # THETA DESIRED RANGE (RADIANS) 2 PI RADIANS = THETAH
037496,000180:
037497,000181: # THETNM DESIRED RANGE (NM) 21600 NM NON EXISTENT
037498,000182:
037499,000183: # V VELOCITY MAGNITUDE 2 VSAT
037500,000184: #
037501,000185: # V1 INITIAL VELOCITY FOR UPCONTROL 2 VSAT
037502,000186:
037503,000187: # VL EXIT VELOCITY FOR UPCONTROL 2 VSAT
037504,000188:
037505,000189: # VREF REFERENCE VELOCITY FOR UPCONTROL 2 VSAT
037506,000190:
037507,000191: # VS1 VSAT OR V1, WHICHEVER IS SMALLER 2 VSAT
037508,000192: # 2 2
037509,000193: # VBARS VL /VSAT 4
037510,000194: # 2 2
037511,000195: # VSQ NORMALISED VEL. SQUARED = V /VSAT 4 = VSQUARE
037512,000196:
037513,000197: # WT EARTH RATE TIMES TIME 1 REVOLUTION NOT SAVED
037514,000198: # = WIE (DTEAROT)
037515,000199: # X INTERMEDIATE VARIABLE IN G-LIMITER 2 VSAT NOT SAVED
037516,000200:
037517,000201: # Y LATERAL MISS LIMIT 4 RADIANS NOT SAVED
037518,000202:
![]() |
Page 840 |
037520,000204: # EXTRA COMPUTER ERASABLE LOCATIONS NOT SHOWN ON FLOW CHARTS
037521,000205: # -----------------------------------------------------------
037522,000206:
037523,000207: # VARIABLE DESCRIPTION MAXIMUM VALUE
037524,000208: # -------- ----------- ------- -----
037525,000209:
037526,000210: # GOTOADDR ADDRESS SELECTED BY SEQUENCER
037527,000211:
037528,000212: # XPIPBUF BUFFER TO STORE X PIPA COUNTS
037529,000213:
037530,000214: # YPIPBUF BUFFER TO STORE Y PIPA COUNTS
037531,000215:
037532,000216: # ZPIPBUF BUFFER TO STORE Z PIPA COUNTS
037533,000217:
037534,000218: # PIPCTR COUNTS PASSES THRU PIPA READ ROUTINE
037535,000219:
037536,000220: # JJ INDEX IN FINAL PHASE TABLE LOOK-UP
037537,000221:
037538,000222: # MM INDEX IN FINAL PHASE TABLE LOOK-UP
037539,000223:
037540,000224: # GRAD INTERPOLATION FACTOR IN FINAL PHASE
037541,000225:
037542,000226: # FX DRANGE/D L/D = F3 2700 NM
037543,000227:
037544,000228: # FX +1 AREF 805 FPSS
037545,000229:
037546,000230: # FX +2 RTOGO 2700 NM
037547,000231:
037548,000232: # FX +3 RDOTREF VSAT/4
037549,000233:
037550,000234: # FX +4 DRANGE/D RDOT = F2 21600/2VS NM/FPS
037551,000235:
037552,000236: # FX +5 DRANGE/D DRAG = F1 2700/805 NM/FPSS
037553,000237:
037554,000238: # TEM1B TEMPORARY LOCATION
037555,000239:
037556,000240: # TIME/RTO TIME OF INITIAL TARGET RTINIT B 28 CENTISEC
037557,000241:
037558,000242: # DTEAROT EST TIME BETWEEN RTINIT AND RT B 28 CENTISEC
037559,000243: # -
037560,000244: # UNITV UNIT V VECTOR 2
037561,000245: # -
037562,000246: # UNITR UNIT R VECTOR 2
037563,000247: # -
037564,000248: # -VREL NEGATIVE VELOCITY REL TO ATMOSP 2 VSAT
037565,000249:
037566,000250: # COMPUTER SWITCHES INITIAL STATE CM/FLAGS = STATE +6
037567,000251: # -------- -------- ------------- -------------------
037568,000252:
037569,000253: # ENTRYDSP DO ENTRY DISPLAY, IF SET NON-BRANCH (1) 92D, BIT 13
037570,000254: # GONEPAST INDICATES OVERSHOOT OF TARGET NON-BRANCH (0) 95D, BIT 10
037571,000255: # RELVELSW RELATIVE VELOCITY SWITCH NON-BRANCH (0) 96D, BIT 9
037572,000256: # EGSW FINAL PHASE SWITCH NON-BRANCH (0) 97D, BIT 8
037573,000257: # FIRSTPAS INITIAL PASS THRU HUNTEST NON-BRANCH (0) 98D, BIT 7
037574,000258: # HIND INDICATES ITERATION IN HUNTEST NON-BRANCH (0) 99D, BIT 6
037575,000259: # INRLSW INDICATES INIT ROLL ATTITUDE SET NON-BRANCH (0) 100D, BIT 5
037576,000260: # LATSW INHIBIT DOWNLIFT SWITCH IF NOT SET BRANCH (1) 101D, BIT 4
037577,000261: # .05GSW INDICATES DRAG EXCEEDS .05 GS BRANCH (0) 102D, BIT 3
037578,000262:
037579,000263: # GONEBY INDICATES GONE PAST TARGET (SET) SELF-INITIALZNG 112D, BIT 8
037580,000264:
![]() |
Page 841 |
037582,000266: # CONSTANTS AND GAINS VALUE
037583,000267: # ------------------- -----
037584,000268:
037585,000269: # C1 FACTOR IN ALP COMPUTATION 1.25
037586,000270: # C16 CONSTD GAIN ON DRAG .01
037587,000271: # C17 CONSTD GAIN ON RDOT .001
037588,000272: # C18 BIAS VEL. FOR FINAL PHASE START 500 FPS
037589,000273: # C20 MAX DRAG FOR DOWN-LIFT 175 FPSS
037590,000274: # CHOOK FACTOR IN AHOOK COMPUTATION .25
037591,000275: # CH1 FACTOR IN GAMMAL COMPUTATION 1.0
037592,000276: # COS15 COS( 15 DEG ) .965
037593,000277: # DLEWD0 INITIAL VARIATION IN LEWD -.05
037594,000278: # D2 DRAG TO CHANGE LEWD 175 FPSS
037595,000279: # DT COMPUTATION CYCLE TIME INTERVAL 2 SEC.
037596,000280: # GMAX MAXIMUM ACCELERATION 257.6 FPSS (8 G-S)
037597,000281: # KA1 FACTOR IN KA CALC 1.3 GS
037598,000282: # KA2 FACTOR IN KA CALC .2 GS
037599,000283: # KA3 FACTOR IN D0 CALC 90 FPSS
037600,000284: # KA4 FACTOR IN D0 CALC 40 FPSS
037601,000285: # KB1 OPTIMIZED UPCONTROL GAIN 3.4
037602,000286: # KB2 OPTIMIZED UPCONTROL GAIN .0034
037603,000287: # KDMIN INCREMENT ON Q7 TO DETECT END OF KEPLER PHASE .5 FPSS
037604,000288: # KTETA TIME OF FLIGHT CONSTANT 1000
037605,000289: # KLAT1 FACTOR IN KLAT CALC 1/24
037606,000290: # K44 GAIN USED IN INITIAL ROLL SECTION 19749550 FPS
037607,000291: # LATBIAS LATERAL SWITCH BIAS TERM .41252961 NM
037608,000292: # LEWD1 NOMINAL UPCONTROL L/D .15
037609,000293: # POINT1 FACTOR TO REDUCE UPCONTROL GAIN .1
037610,000294: # Q2 FINAL PHASE RANGE - 23500 Q3 -1002 NM
037611,000295: # Q3 FINAL PHASE DRANGE/D V .07 NM/FPS
037612,000296: # Q5 FINAL PHASE DRANGE/D GAMMA 7050 NM/RAD
037613,000297: # Q6 FINAL PHASE INITIAL FLIGHT PATH ANGLE .0349 RAD
037614,000298: # Q7F MIN DRAG FOR UPCONTROL 6 FPSS
037615,000299: # Q7MIN MIN VALUE FOR Q7 IN FACTOR CALCULATION 40 FPSS
037616,000300: # Q19 FACTOR IN GAMMAL1 CALCULATION .5
037617,000301: # Q21 FACTOR IN Q2 CALCULATION. 1000 NM
037618,000302: # Q22 FACTOR IN Q2 CALCULATION. -1302 NM
037619,000303: # VFINAL1 VELOCITY TO START FINAL PHASE ON INITIAL ENTRY 27000 FPS
037620,000304: # VFINAL FACTOR IN INITIAL UP-DOWN CALC 26600 FPS
037621,000305: # VLMIN MINIMUM VL 18000 FPS
037622,000306: # VMIN VELOCITY TO SWITCH TO RELATIVE VEL VSAT/2
037623,000307: # VRCONTRL RDOT TO START INTO HUNTEST 700 FPS
037624,000308: # VRCONT=COMPUTER NAME
037625,000309: # 25NM TOLERANCE TO STOP RANGE ITERATION 25 NM
037626,000310: # VQUIT VELOCITY TO STOP STEERING 1000 FPS
037627,000311:
![]() |
Page 842 |
037629,000313: # CONVERSION FACTORS AND SCALING CONSTANTS
037630,000314: # ---------- ------- --- ------- ---------
037631,000315:
037632,000316: # ATK ANGLE IN RAD TO NM 3437.7468 NM/RAD
037633,000317: # GS NOMINAL G VALUE FOR SCALING 32.2 FPSS
037634,000318: # HS ATMOSPHERE SCALE HEIGHT 28500 FT
037635,000319: # J GRAVITY HARMONIC COEFFICIENT .00162346
037636,000320: # KWE EQUATORIAL EARTH RATE 1546.70168 FPS
037637,000321: # MUE EARTH GRAVITATIONAL CONSTANT 3.986032233 E14 CUBIC M/ SEC SEC
037638,000322: # RE EARTH RADIUS 21202900 FT
037639,000323: # REQ EARTH EQUATORIAL RADIUS 20925738.2 FT
037640,000324: # VSAT SATELLITE VELOCITY AT RE 25766.1973 FPS
037641,000325: # WIE EARTH RATE .0000729211505 RAD/SEC
037642,000326:
037643,000327: # (END GSOP AS-278, VOL 1, FIG. 5.6-3 CONSTANTS, GAINS, ETC.)
037644,000328:
037645,000329: # DISPLAY QUANTITIES
037646,000330: # ------------------
037647,000331:
037648,000332: # (SEE SECTION 4 OF THE GSOP FOR SIGN CONVENTIONS.)
037649,000333:
037650,000334: # VARIABLE DESCRIPTION MAXIMUM VALUE
037651,000335: # -------- ----------- ------- -----
037652,000336:
037653,000337: # QMAX PREDICTED MAXIMUM ENTRY ACCEL 163.84 GS N 60
037654,000338: # VPRED PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 60
037655,000339: # 400K FT ABOVE FISCHER RADIUS.
037656,000340: # GAMMAEI PREDICTED GAMMA AT ALTITUDE 1 REVOLUTION N 60
037657,000341: # 400K FT ABOVE FISCHER RADIUS.
037658,000342: # D DRAG ACCELERATION 805 FPSS N 64
037659,000343: # VMAGI INERTIAL VELOCITY MAGNITUDE 128 M/CENTISEC N 64, N 68
037660,000344: # THETAH DESIRED RANGE ANGLE NM 1 REVOLUTION N 64, N 67
037661,000345: # LAT PRESENT LATITUDE 1 REVOLUTION N 67
037662,000346: # LONG PRESENT LONGITUDE 1 REVOLUTION N 67
037663,000347: # RTOGO RANGE ANGLE TO SPLASH FROM 1 REVOLUTION N 63
037664,000348: # EMSALT FT ABOVE FISCHER RADIUS. (IN NM)
037665,000349: # VIO PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 63
037666,000350: # EMSALT FT ABOVE FISCHER RADIUS.
037667,000351: # TTE TIME OF FREE FALL TO ALT B 28 CENTISEC N 63
037668,000352: # EMSALT FT ABOVE FISCHER RADIUS.
037669,000353: # ROLLC ROLL COMMAND 1 REVOLUTION N 66, N 68, N 69
037670,000354: # LATANG CROSS-RANGE ERROR (XRNGERR) 4 RADIANS N 66
037671,000355: # DNRNGERR DOWN RANGE ERROR 1 REVOLUTION N 66
037672,000356: # (PREDANG - THETAH IN NM)
037673,000357: # HDOT ALTITUDE RATE 128 M/CENTISEC N 68
037674,000358: # Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS N 69
037675,000359: # VL EXIT VELOCITY FOR UP-CONTROL 2 VSAT N 69
037676,000360:
![]() |
Page 843 |
037678,000362: # BODY ATTITUDE QUANTITIES (CM/POSE)
037679,000363: # -----------------------------------
037680,000364:
037681,000365: # VARIABLE DESCRIPTION MAXIMUM VALUE
037682,000366: # -------- ----------- ------- -----
037683,000367: # -
037684,000368: # -VREL NEGATIVE VELOCITY REL TO ATMOS. 2 VSAT
037685,000369: # -
037686,000370: # OLDUYA USED FOR UYA BELOW 1000 FPS 2
037687,000371: # -
037688,000372: # UXA/2 UNIT VECTOR TRIAD 2
037689,000373: # -
037690,000374: # UYA/2 BASED ON 2
037691,000375: # -
037692,000376: # UZA/2 THE TRAJECTORY. 2
037693,000377: # -
037694,000378: # UBX/2 UNIT VECTOR 2
037695,000379: # -
037696,000380: # UBY/2 BODY TRIAD 2
037697,000381: # -
037698,000382: # UBZ/2 FOR CM. 2
037699,000383:
End of include-file ENTRY_LEXICON.agc. Parent file is MAIN.agc