Source Code
![]() |
These source-code files were derived from scans of the
Colossus 237 (Apollo 8 Command Module) program listing from the private collection of original
AGC developer Fred Martin. Scanning was by Ron Burkey. Pre-existing Colossus 249
(Apollo 9 CM) source files were used as a template, and changes between Colossus 249
and Colossus 237 were manually transcribed by a team of volunteers. Note
that the page images
presented online are of reduced quality, and that additional 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 237 OF AGC PROGRAM COLOSSUS BY NASA 2021111-031 1:17 AUG. 24, 1968Note that the date is the date of the printout, not the date of the program revision. |
034505,000002: ## Copyright: Public domain.
034506,000003: ## Filename: ENTRY_LEXICON.agc
034507,000004: ## Purpose: Part of the source code for Colossus build 237.
034508,000005: ## This is for the Command Module's (CM) Apollo Guidance
034509,000006: ## Computer (AGC), for Apollo 8.
034510,000007: ## Assembler: yaYUL
034511,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com>
034512,000009: ## Website: www.ibiblio.org/apollo/index.html
034513,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Colossus237/
034514,000011: ## Mod history: 2011-03-02 JL Adapted from corresponding Colossus 249 file.
034515,000012: ## 2017-01-01 RSB Proofed comment text using octopus/ProoferComments,
034516,000013: ## and fixed errors found.
034517,000014: ## 2017-01-08 RSB Fixed comment errors detected in cross-diff vs
034518,000015: ## Colossus 249.
034519,000016: ## 2017-01-22 RSB Back-ported comment error fixes detected in diff'ing
034520,000017: ## Artemis 72 vs Comanche 55.
034521,000018:
![]() |
Page 788 |
034523,000020: # VARIABLE DESCRIPTION MAXIMUM VALUE * COMPUTER NAME
034524,000021: # -------- ----------- ------- ----- -------- ----
034525,000022:
034526,000023: # -
034527,000024: # URT0 INITIAL TARGET VECTOR 2 (UNIT VECTOR) = RTINIT
034528,000025: # -
034529,000026: # UZ UNIT VECTOR NORTH 1 = UNITW
034530,000027: # -
034531,000028: # V VELOCITY VECTOR 2 VSAT = VEL
034532,000029: # -
034533,000030: # R POSITION VECTOR 2 EXP 29 METERS = RN
034534,000031: # -
034535,000032: # VI INERTIAL VELOCITY 128 M/CENTISEC = VN
034536,000033: # -
034537,000034: # RTE VECTOR EAST AT INITIAL TARGET 2 = RTEAST
034538,000035: # -
034539,000036: # UTR NORMAL TO RTE AND UZ 2 = RTNORM
034540,000037: # -
034541,000038: # URT TARGET VECTOR 2 = RT
034542,000039: # -
034543,000040: # UNI UNIT NORMAL TO TRAJECTORY PLANE 2
034544,000041: # -
034545,000042: # DELV INTEGRATED ACCEL. FROM PIPAS 5.85 16384 CM/S
034546,000043: # -
034547,000044: # G GRAVITY VECTOR 128 M/CENTISEC = GDT/2
034548,000045:
034549,000046: # A0 INITIAL DRAG FOR UPCONTRL 805 FPSS FPSS=FT/SEC/SEC
034550,000047: # AHOOKDV TERM IN GAMMAL CALC. = AHOOK DVL 8
034551,000048: # A1 DRAG VALUE IN FACTOR CALCULATION 805 FPSS
034552,000049: # ALP CONST FOR UPCONTRL 1
034553,000050: # ASKEP KEPLER RANGE 21600 NM NM = NAUTICAL MILE
034554,000051: # ASP1 FINAL PHASE RANGE 21600 NM
034555,000052: # ASPUP UP-RANGE 21600 NM
034556,000053: # ASP3 GAMMA CORRECTION 21600 NM
034557,000054: # ASPDWN RANGE DOWN TO PULL-UP 21600 NM
034558,000055: # ASP PREDICTED RANGE 21600 NM NOT STORED
034559,000056: # COSG COSINE(GAMMAL) 2 = COSG/2
034560,000057: # C/D0 RECIPROCAL DRAG, -4/D0 B-8 64/FPSS
034561,000058: # D TOTAL ACCELERATION 805 FPSS
034562,000059: # D0 CONTROLLED CONSTANT D 805 FPSS
034563,000060: # DHOOK TERM IN GAMMAL COMPUTATION 805 FPSS
034564,000061: # DIFF THETNM-ASP (RANGE DIFFERENCE) 21600 NM
034565,000062: # DIFFOLD PREVIOUS VALUE OF DIFF 21600 NM
034566,000063: # DLEWD CHANGE IN LEWD 1
034567,000064: # DR REFERENCE DRAG FOR DOWNCONTROL 805 FPSS NOT STORED
034568,000065: # DREFR REFERENCE DRAG 805 FPSS NOT STORED
034569,000066: # DVL VS1-VL 2 VSAT
034570,000067: # E ECCENTRICITY 4 NOT STORED
034571,000068: # F1 DRANGE/D DRAG (FINAL PHASE) 2700/805 = FX +5
034572,000069: # F2 DRANGE/D RDOT (FINAL PHASE) 2700/2VS NM/FPS = FX +4
![]() |
Page 789 |
034574,000071: # F3 DRANGE/D (L/D) 2700 NM = FX
034575,000072: # FACT1 CONST FOR UPCONTRL 805 FPSS
034576,000073: # FACT2 CONST FOR UPCONTRL 1/805 FPSS
034577,000074: # FACTOR USED IN UPCONTRL 1 * MAXIMUM VALUE DENOTES UNSCALED
034578,000075: # GAMMAL FLIGHT PATH ANGLE AT VL 1 RADIAN VARIABLE VALUE WHEN SCALED
034579,000076: # GAMMAL1 SIMPLE FORM OF GAMMAL 1 RADIAN VARIABLE HAS MAXIMUM VALUE OF ONE.
034580,000077:
![]() |
Page 790 |
034582,000079: # VARIABLE DESCRIPTION MAXIMUM VALUE COMPUTER NAME
034583,000080: # -------- ----------- ------- ----- -------- ----
034584,000081:
034585,000082: # HEADSUP INDICATOR FOR INITIAL ROLL 1
034586,000083: # KA DRAG TO LIFT UP IF DOWN 805 FPSS = KAT
034587,000084: # KLAT LATERAL SWITCH GAIN 1 (NOM = .0125)
034588,000085: # K2ROLL INDICATOR FOR ROLL SWITCH
034589,000086: # LAD MAX L/D (MIN ACTUAL VEHICLE L/D) 1
034590,000087: # LADPAD NOMINAL VEHICLE L/D, SP PAD LOAD 1 (NOM = 0.3)
034591,000088: # LATANG LATERAL RANGE 4 RADIANS
034592,000089: # LEQ EXCESS C.F. OVER GRAV=(VSQ-1)GS 128.8 FPSS
034593,000090: # LEWD UPCONTROL REFERENCE L/D 1
034594,000091: # LOD FINAL PHASE L/D 1 (NOM = 0.18)
034595,000092: # LODPAD FINAL PHASE L/D, SP PAD LOAD 1
034596,000093: # L/D DESIRED LIFT TO DRAG RATIO 1
034597,000094: # (VERTICAL PLANE)
034598,000095: # L/D1 TEMP STORAGE FOR L/D IN LATERAL 1
034599,000096: # L/DCMINR LAD COS(15DEG) 1 (NOM = 0.2895)
034600,000097: # PREDANGL PREDICTED RANGE (FINAL PHASE) 2700 NM = PREDANG
034601,000098: # Q2 FINAL PHASE RANGE -23500 Q3 21600 NM
034602,000099: # Q2 = FCN(LAD)
034603,000100: # Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS
034604,000101: # RDOT ALTITUDE RATE 2 VSAT
034605,000102: # RDOTREF REFERENCE RDOT FOR UPCONTROL 2 VSAT
034606,000103: # RDTR REFERENCE RDOT FOR DOWNCONT 2 VSAT NOT SAVED
034607,000104: # ROLLC ROLL COMMAND 1 REVOLUTION
034608,000105: # RTOGO RANGE TO GO (FINAL PHASE) 2700 NM = FX +2
034609,000106: # SL SINE OF LATITUDE 1 NOT SAVED
034610,000107: # T TIME B 28 CENTISEC = TIME2,TIME1
034611,000108: # THETA DESIRED RANGE (RADIANS) 2 PI RADIANS = THETAH
034612,000109: # THETNM DESIRED RANGE (NM) 21600 NM NON EXISTENT
034613,000110: # V VELOCITY MAGNITUDE 2 VSAT
034614,000111: # V1 INITIAL VELOCITY FOR UPCONTROL 2 VSAT
034615,000112: # VL EXIT VELOCITY FOR UPCONTROL 2 VSAT
034616,000113: # VREF REFERENCE VELOCITY FOR UPCONTROL 2 VSAT
034617,000114: # VS1 VSAT OR V1, WHICHEVER IS SMALLER 2 VSAT
034618,000115: # 2 2
034619,000116: # VBARS VL /VSAT 4
034620,000117: # 2 2
034621,000118: # VSQ NORMALISED VEL. SQUARED = V /VSAT 4 = VSQUARE
034622,000119: # WT EARTH RATE TIMES TIME 1 REVOLUTION NOT SAVED
034623,000120: # = WIE (DTEAROT)
034624,000121: # X INTERMEDIATE VARIABLE IN G-LIMITER 2 VSAT NOT SAVED
034625,000122: # Y LATERAL MISS LIMIT 4 RADIANS NOT SAVED
034626,000123:
![]() |
Page 791 |
034628,000125: # EXTRA COMPUTER ERASABLE LOCATIONS NOT SHOWN ON FLOW CHARTS
034629,000126: # -----------------------------------------------------------
034630,000127:
034631,000128: # VARIABLE DESCRIPTION MAXIMUM VALUE
034632,000129: # -------- ----------- ------- -----
034633,000130:
034634,000131: # GOTOADDR ADDRESS SELECTED BY SEQUENCER
034635,000132: # XPIPBUF BUFFER TO STORE X PIPA COUNTS
034636,000133: # YPIPBUF BUFFER TO STORE Y PIPA COUNTS
034637,000134: # ZPIPBUF BUFFER TO STORE Z PIPA COUNTS
034638,000135: # PIPCTR COUNTS PASSES THRU PIPA READ ROUTINE
034639,000136: # JJ INDEX IN FINAL PHASE TABLE LOOK-UP
034640,000137: # MM INDEX IN FINAL PHASE TABLE LOOK-UP
034641,000138: # GRAD INTERPOLATION FACTOR IN FINAL PHASE
034642,000139: # FX DRANGE/D L/D = F3 2700 NM
034643,000140: # FX + 1 AREF 805 FPSS
034644,000141: # FX + 2 RTOGO 2700 NM
034645,000142: # FX + 3 RDOTREF VSAT/4
034646,000143: # FX + 4 DRANGE/D RDOT = F2 21600/2VS NM/FPS
034647,000144: # FX + 5 DRANGE/D DRAG = F1 2700/805 NM/FPSS
034648,000145: # TEM1B TEMPORARY LOCATION
034649,000146: # TIME/RTO TIME OF INITIAL TARGET RTINIT B 28 CENTISEC
034650,000147: # DTEAROT EST TIME BETWEEN RTINIT AND RT B 28 CENTISEC
034651,000148:
034652,000149: # -
034653,000150: # UNITV UNIT V VECTOR 2
034654,000151: # -
034655,000152: # UNITR UNIT R VECTOR 2
034656,000153: # -
034657,000154: # -VREL NEGATIVE VELOCITY REL TO ATMOSP 2 VSAT
034658,000155:
034659,000156: # COMPUTER SWITCHES INITIAL STATE CM/FLAGS = STATE +6
034660,000157: # -------- -------- ------------- -------------------
034661,000158:
034662,000159: # ENTRYDSP DO ENTRY DISPLAY, IF SET NON-BRANCH (1) 92D, BIT13
034663,000160: # GONEPAST INDICATES OVERSHOOT OF TARGET NON-BRANCH (0) 95D, BIT10
034664,000161: # RELVELSW RELATIVE VELOCITY SWITCH NON-BRANCH (0) 96D, BIT 9
034665,000162: # EGSW FINAL PHASE SWITCH NON-BRANCH (0) 97D, BIT 8
034666,000163: # FIRSTPAS INITIAL PASS THRU HUNTEST NON-BRANCH (0) 98D, BIT 7
034667,000164: # HIND INDICATES ITERATION IN HUNTEST NON-BRANCH (0) 99D, BIT 6
034668,000165: # INRLSW INDICATES INIT ROLL ATTITUDE SET NON-BRANCH (0) 100D, BIT 5
034669,000166: # LATSW INHIBIT DOWNLIFT SWITCH IF NOT SET BRANCH (1) 101D, BIT 4
034670,000167: # .05GSW INDICATES DRAG EXCEEDS .05 GS BRANCH (0) 102D, BIT 3
034671,000168:
034672,000169: # GONEBY INDICATES GONE PAST TARGET (SET) SELF-INITIALZNG 112D, BIT 8
034673,000170:
![]() |
Page 792 |
034675,000172: # CONSTANTS AND GAINS VALUE
034676,000173: # ------------------- -----
034677,000174:
034678,000175: # C1 FACTOR IN ALP COMPUTATION 1.25
034679,000176: # C16 CONSTD GAIN ON DRAG .01
034680,000177: # C17 CONSTD GAIN ON RDOT .001
034681,000178: # C18 BIAS VEL. FOR FINAL PHASE START 500 FPS
034682,000179: # C20 MAX DRAG FOR DOWN-LIFT 175 FPSS
034683,000180: # CHOOK FACTOR IN AHOOK COMPUTATION .25
034684,000181: # CH1 FACTOR IN GAMMAL COMPUTATION 1.0
034685,000182: # COS15 COS( 15 DEG) .965
034686,000183: # DLEWD0 INITIAL VARIATION IN LEWD -.05
034687,000184: # D2 DRAG TO CHANGE LEWD 175 FPSS
034688,000185: # DT COMPUTATION CYCLE TIME INTERVAL 2 SEC.
034689,000186: # GMAX MAXIMUM ACCELERATION 257.6 FPSS (8 G-S)
034690,000187: # KA1 FACTOR IN KA CALC 1.3 GS
034691,000188: # KA2 FACTOR IN KA CALC .2 GS
034692,000189: # KA3 FACTOR IN D0 CALC 90 FPSS
034693,000190: # KA4 FACTOR IN D0 CALC 40 FPSS
034694,000191: # KB1 OPTIMIZED UPCONTROL GAIN 3.4
034695,000192: # KB2 OPTIMIZED UPCONTROL GAIN .0034
034696,000193: # KDMIN INCREMENT ON Q7 TO DETECT END OF KEPLER PHASE .5 FPSS
034697,000194: # KTETA TIME OF FLIGHT CONSTANT 1000
034698,000195: # KLAT1 FACTOR IN KLAT CALC 1/24
034699,000196: # K44 GAIN USED IN INITIAL ROLL SECTION 19749550 FPS
034700,000197: # LATBIAS LATERAL SWITCH BIAS TERM .41252961 NM
034701,000198: # LEWD1 NOMINAL UPCONTROL L/D .15
034702,000199: # POINT1 FACTOR TO REDUCE UPCONTROL GAIN .1
034703,000200: # Q2 FINAL PHASE RANGE - 23500 Q3 -1002 NM
034704,000201: # Q3 FINAL PHASE DRANGE/D V .07 NM/FPS
034705,000202: # Q5 FINAL PHASE DRANGE/ D GAMMA 7050 NM/RAD
034706,000203: # Q6 FINAL PHASE INITIAL FLIGHT PATH ANGLE .0349 RAD
034707,000204: # Q7F MIN DRAG FOR UPCONTROL 6 FPSS
034708,000205: # Q7MIN MIN VALUE FOR Q7 IN FACTOR CALCULATION 40 FPSS
034709,000206: # Q19 FACTOR IN GAMMAL1 CALCULATION .5
034710,000207: # Q21 FACTOR IN Q2 CALCULATION. 1000 NM
034711,000208: # Q22 FACTOR IN Q2 CALCULATION. -1302 NM
034712,000209: # VFINAL1 VELOCITY TO START FINAL PHASE ON INITIAL ENTRY 27000 FPS
034713,000210: # VFINAL FACTOR IN INITIAL UP-DOWN CALC 26600 FPS
034714,000211: # VLMIN MINIMUM VL 18000 FPS
034715,000212: # VMIN VELOCITY TO SWITCH TO RELATIVE VEL VSAT/2
034716,000213: # VRCONTRL RDOT TO START INTO HUNTEST 700 FPS
034717,000214: # VRCONT = COMPUTER NAME
034718,000215: # 25NM TOLERANCE TO STOP RANGE ITERATION 25 NM
034719,000216: # VQUIT VELOCITY TO STOP STEERING 1000 FPS
034720,000217:
![]() |
Page 793 |
034722,000219: # CONVERSION FACTORS AND SCALING CONSTANTS
034723,000220: # ---------- ------- --- ------- ---------
034724,000221:
034725,000222: # ATK ANGLE IN RAD TO NM 3437.7468 NM/RAD
034726,000223: # GS NOMINAL G VALUE FOR SCALING 32.2 FPSS
034727,000224: # HS ATMOSPHERE SCALE HEIGHT 28500 FT
034728,000225: # J GRAVITY HARMONIC COEFFICIENT .00162346
034729,000226: # KWE EQUATORIAL EARTH RATE 1546.70168 FPS
034730,000227: # MUE EARTH GRAVITATIONAL CONSTANT 3.986032233 E 14 CUBIC M/ SEC SEC
034731,000228: # RE EARTH RADIUS 21202900 FT
034732,000229: # REQ EARTH EQUATORIAL RADIUS 20925738.2 FT
034733,000230: # VSAT SATELLITE VELOCITY AT RE 25766.1973 FPS
034734,000231: # WIE EARTH RATE .0000729211505 RAD/SEC
034735,000232:
034736,000233: # (END GSOP AS-278, VOL 1, FIG. 5.6-3 CONSTANTS,GAINS, ETC.)
034737,000234:
034738,000235:
034739,000236: # DISPLAY QUANTITIES
034740,000237: # ------------------
034741,000238:
034742,000239: # (SEE SECTION 4 OF THE GSOP FOR SIGN CONVENTIONS. )
034743,000240:
034744,000241: # VARIABLE DESCRIPTION MAXIMUM VALUE
034745,000242: # -------- ----------- ------- -----
034746,000243:
034747,000244: # QMAX PREDICTED MAXIMUM ENTRY ACCEL 163.84 GS N 60
034748,000245: # VPRED PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 60
034749,000246: # 400K FT ABOVE FISCHER RADIUS.
034750,000247: # GAMMAEI PREDICTED GAMMA AT ALTITUDE 1 REVOLUTION N 60
034751,000248: # 400K FT ABOVE FISCHER RADIUS.
034752,000249: # D DRAG ACCELERATION 805 FPSS N 64
034753,000250: # VMAGI INERTIAL VELOCITY MAGNITUDE 128 M/CENTISEC N 64, N 68
034754,000251: # THETAH DESIRED RANGE ANGLE NM 1 REVOLUTION N 64, N 67
034755,000252: # LAT PRESENT LATITUDE 1 REVOLUTION N 67
034756,000253: # LONG PRESENT LONGITUDE 1 REVOLUTION N 67
034757,000254: # RTOGO RANGE ANGLE TO SPLASH FROM 1 REVOLUTION N 63
034758,000255: # EMSALT FT ABOVE FISCHER RADIUS. (IN NM)
034759,000256: # VIO PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 63
034760,000257: # EMSALT FT ABOVE FISCHER RADIUS.
034761,000258: # TTE TIME OF FREE FALL TO ALT B 28 CENTISEC N 63
034762,000259: # EMSALT FT ABOVE FISCHER RADIUS.
034763,000260: # ROLLC ROLL COMMAND 1 REVOLUTION N 66, N 68, N 69
034764,000261: # LATANG CROSS-RANGE ERROR (XRNGERR) 4 RADIANS N 66
034765,000262: # DNRNGERR DOWN RANGE ERROR 1 REVOLUTION N 66
034766,000263: # (PREDANG - THETAH IN NM)
034767,000264: # HDOT ALTITUDE RATE 128 M/CENTISEC N 68
034768,000265: # Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS N 69
034769,000266: # VL EXIT VELOCITY FOR UP-CONTROL 2 VSAT N 69
034770,000267:
![]() |
Page 794 |
034772,000269: # BODY ATTITUDE QUANTITIES (CM/POSE)
034773,000270: # -----------------------------------
034774,000271:
034775,000272: # VARIABLE DESCRIPTION MAXIMUM VALUE
034776,000273: # -------- ----------- ------- -----
034777,000274:
034778,000275: # -
034779,000276: # -VREL NEGATIVE VELOCITY REL TO ATMOS. 2 VSAT
034780,000277: # -
034781,000278: # OLDUYA USED FOR UYA BELOW 1000 FPS 2
034782,000279: # -
034783,000280: # UXA/2 UNIT VECTOR TRIAD 2
034784,000281: # -
034785,000282: # UYA/2 BASED ON 2
034786,000283: # -
034787,000284: # UZA/2 THE TRAJECTORY. 2
034788,000285: # -
034789,000286: # UBX/2 UNIT VECTOR 2
034790,000287: # -
034791,000288: # UBY/2 BODY TRIAD 2
034792,000289: # -
034793,000290: # UBZ/2 FOR CM. 2
End of include-file ENTRY_LEXICON.agc. Parent file is MAIN.agc