Source Code

034963,000001: # Copyright: Public domain. 034964,000002: # Filename: ENTRY_LEXICON.agc 034965,000003: # Purpose: Part of the source code for Colossus, build 249. 034966,000004: # It is part of the source code for the Command Module's (CM) 034967,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 034968,000006: # Assembler: yaYUL 034969,000007: # Reference: pp. 795-801 of 1701.pdf. 034970,000008: # Contact: Ron Burkey <info@sandroid.org>. 034971,000009: # Website: www.ibiblio.org/apollo. 034972,000010: # Mod history: 08/19/04 RSB. Transcribed . 034973,000011: 034974,000012: # The contents of the "Colossus249" files, in general, are transcribed 034975,000013: # from a scanned document obtained from MIT's website, 034976,000014: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 034977,000015: # document read, in part: 034978,000016: 034979,000017: # Assemble revision 249 of AGC program Colossus by NASA 034980,000018: # 2021111-041. October 28, 1968. 034981,000019: 034982,000020: # This AGC program shall also be referred to as 034983,000021: # Colossus 1A 034984,000022: 034985,000023: # Prepared by 034986,000024: # Massachusetts Institute of Technology 034987,000025: # 75 Cambridge Parkway 034988,000026: # Cambridge, Massachusetts 034989,000027: # under NASA contract NAS 9-4065. 034990,000028: 034991,000029: # Refer directly to the online document mentioned above for further information. 034992,000030: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 034993,000031: 034994,000032: # In some cases, where the source code for Luminary 131 overlaps that of 034995,000033: # Colossus 249, this code is instead copied from the corresponding Luminary 131 034996,000034: # source file, and then is proofed to incorporate any changes. 034997,000035: 034998,000036: # Page 795 034999,000037: # VARIABLE DESCRIPTION MAXIMUM VALUE * COMPUTER NAME 035000,000038: # -------- ----------- --------------- ------------- 035001,000039: # _ 035002,000040: # URT0 INITIAL TARGET VECTOR 2 (UNIT VECTOR) = RTINIT 035003,000041: # _ 035004,000042: # UZ UNIT VECTOR NORTH 1 = UNITW 035005,000043: # _ 035006,000044: # V VELOCITY VECTOR 2 VSAT = VEL 035007,000045: # _ 035008,000046: # R POSITION VECTOR 2 EXP 29 METERS = RN 035009,000047: # _ 035010,000048: # VI INERTIAL VELOCITY 128 M/CENTISEC = VN 035011,000049: # _ 035012,000050: # RTE VECTOR EAST AT INITIAL TARGET 2 = RTEAST 035013,000051: # _ 035014,000052: # UTR NORMAL TO RTE AND UZ 2 = RTNORM 035015,000053: # _ 035016,000054: # URT TARGET VECTOR 2 = RT 035017,000055: # _ 035018,000056: # UNI UNIT NORMAL TO TRAJECTORY PLANE 2 035019,000057: # _ 035020,000058: # DELV INTEGRATED ACCEL. FROM PIPAS 5.85 16384 CM/S 035021,000059: # _ 035022,000060: # G GRAVITY VECTOR 128 M/CENTISEC = GDT/2 035023,000061: 035024,000062: # A0 INITIAL DRAG FOR UPCONTRL 805 FPSS FPSS=FT/SEC/SEC 035025,000063: 035026,000064: # AHOOKDV TERM IN GAMMAL CALC. = AHOOK DVL 16 035027,000065: 035028,000066: # A1 DRAG VALUE IN FACTOR CALCULATION 805 FPSS 035029,000067: 035030,000068: # ALP CONST FOR UPCONTRL 1 035031,000069: 035032,000070: # ASKEP KEPLER RANGE 21600 NM NM = NAUTICAL MILE 035033,000071: 035034,000072: # ASP1 FINAL PHASE RANGE 21600 NM 035035,000073: 035036,000074: # ASPUP UP-RANGE 21600 NM 035037,000075: 035038,000076: # ASP3 GAMMA CORRECTION 21600 NM 035039,000077: 035040,000078: # ASPDWN RANGE DOWN TO PULL-UP 21600 NM 035041,000079: 035042,000080: # ASP PREDICTED RANGE 21600 NM NOT STORED 035043,000081: 035044,000082: # COSG COSINE(GAMMAL) 2 = COSG/2 035045,000083: 035046,000084: # C/D0 RECIPROCAL DRAG, -4/D0 B-8 64/FPSS 035047,000085: 035048,000086: # D TOTAL ACCELERATION 805 FPSS 035049,000087: 035050,000088: # D0 CONTROLLED CONSTANT D 805 FPSS 035051,000089: 035052,000090: # DHOOK TERM IN GAMMAL COMPUTATION 805 FPSS 035053,000091: 035054,000092: # DIFF THETNM-ASP (RANGE DIFFERENCE) 21600 NM 035055,000093: 035056,000094: # DIFFOLD PREVIOUS VALUE OF DIFF 21600 NM 035057,000095: 035058,000096: # DLEWD CHANGE IN LEWD 1 035059,000097: 035060,000098: # DR REFERENCE DRAG FOR DOWNCONTROL 805 FPSS NOT STORED 035061,000099: 035062,000100: # DREFR REFERENCE DRAG 805 FPSS NOT STORED 035063,000101: 035064,000102: # DVL VS1-VL 2 VSAT 035065,000103: 035066,000104: # E ECCENTRICITY 4 NOT STORED 035067,000105: 035068,000106: # F1 DRANGE/D DRAG (FINAL PHASE) 2700/805 = FX +5 035069,000107: 035070,000108: # F2 DRANGE/D RDOT (FINAL PHASE) 2700/2VS NM/FPS = FX +4 035071,000109: # Page 796 035072,000110: 035073,000111: # F3 DRANGE/D (L/D) 2700 NM = FX 035074,000112: 035075,000113: # FACT1 CONST FOR UPCONTRL 805 FPSS 035076,000114: 035077,000115: # FACT2 CONST FOR UPCONTRL 1/805 FPSS 035078,000116: 035079,000117: # FACTOR USED IN UPCONTRL 1 * MAXIMUM VALUE DENOTES UNSCALED 035080,000118: # VARIABLE VALUE WHEN SCALED 035081,000119: # GAMMAL FLIGHT PATH ANGLE AT VL 1 RADIAN VARIABLE HAS MAXIMUM VALUE OF ONE. 035082,000120: 035083,000121: # GAMMAL1 SIMPLE FORM OF GAMMAL 1 RADIAN 035084,000122: # Page 797 035085,000123: 035086,000124: # HEADSUP INDICATOR FOR INITIAL ROLL 1 035087,000125: 035088,000126: # KA DRAG TO LIFT UP IF DOWN 805 FPSS = KAT 035089,000127: 035090,000128: # KLAT LATERAL SWITCH GAIN 1 (NOM = .0125) 035091,000129: 035092,000130: # K2ROLL INDICATOR FOR ROLL SWITCH 035093,000131: 035094,000132: # LAD MAX L/D (MIN ACTUAL VEHICLE L/D) 1 035095,000133: 035096,000134: # LADPAD NOMINAL VEHICLE L/D, SP PAD LOAD 1 (NOM = 0.3) 035097,000135: 035098,000136: # LATANG LATERAL RANGE 4 RADIANS 035099,000137: 035100,000138: # LEQ EXCESS C.F. OVER GRAV=(VSQ-1)GS 128.8 FPSS 035101,000139: 035102,000140: # LEWD UPCONTROL REFERENCE L/D 1 035103,000141: 035104,000142: # LOD FINAL PHASE L/D 1 (NOM = 0.18) 035105,000143: 035106,000144: # LODPAD FINAL PHASE L/D, SP PAD LOAD 1 035107,000145: 035108,000146: # L/D DESIRED LIFT TO DRAG RATIO 1 035109,000147: # (VERTICAL PLANE) 035110,000148: # 035111,000149: # L/D1 TEMP STORAGE FOR L/D IN LATERAL 1 035112,000150: 035113,000151: # L/DCMINR LAD COS(15DEG) 1 (NOM = 0.2895) 035114,000152: 035115,000153: # PREDANGLE PREDICTED RANGE (FINAL PHASE) 2700 NM = PREDANG 035116,000154: 035117,000155: # Q2 FINAL PHASE RANGE -23500 Q3 21600 NM 035118,000156: # Q2 = FCN(LAD) 035119,000157: 035120,000158: # Q7 MINIMUM DRAG FOR UPCONTROL 805FPSS 035121,000159: 035122,000160: # RDOT ALTITUDE RATE 2 VSAT 035123,000161: 035124,000162: # RDOTREF REFERENCE RDOT FOR UPCONTROL 2 VSAT 035125,000163: 035126,000164: # RDTR REFERENCE RDOT FOR DOWNCONT 2 VSAT NOT SAVED 035127,000165: 035128,000166: # ROLLC ROLL COMMAND 1 REVOLUTION 035129,000167: 035130,000168: # RTOGO RANGE TO GO (FINAL PHASE) 2700 NM = FX +2 035131,000169: 035132,000170: # SL SINE OF LATITUDE 1 NOT SAVED 035133,000171: 035134,000172: # T TIME B 28 CENTISEC = TIME2,TIME1 035135,000173: 035136,000174: # THETA DESIRED RANGE (RADIANS) 2 PI RADIANS = THETAH 035137,000175: 035138,000176: # THETNM DESIRED RANGE (NM) 21600 NM NON EXISTENT 035139,000177: 035140,000178: # V VELOCITY MAGNITUDE 2 VSAT 035141,000179: # 035142,000180: # V1 INITIAL VELOCITY FOR UPCONTROL 2 VSAT 035143,000181: 035144,000182: # VL EXIT VELOCITY FOR UPCONTROL 2 VSAT 035145,000183: 035146,000184: # VREF REFERENCE VELOCITY FOR UPCONTROL 2 VSAT 035147,000185: 035148,000186: # VS1 VSAT OR V1, WHICHEVER IS SMALLER 2 VSAT 035149,000187: # 2 2 035150,000188: # VBARS VL /VSAT 4 035151,000189: # 2 2 035152,000190: # VSQ NORMALIZED VEL. SQUARED = V /VSAT 4 = VSQUARE 035153,000191: 035154,000192: # WT EARTH RATE TIMES TIME 1 REVOLUTION NOT SAVED 035155,000193: 035156,000194: # X INTERMEDIATE VARIABLE IN G-LIMITER 2 VSAT NOT SAVED 035157,000195: 035158,000196: # Y LATERAL MISS LIMIT 4 RADIANS NOT SAVED 035159,000197: 035160,000198: # Page 798 035161,000199: # EXTRA COMPUTER ERASABLE LOCATIONS NOT SHOWN ON FLOW CHARTS 035162,000200: # ---------------------------------------------------------- 035163,000201: 035164,000202: # VARIABLE DESCRIPTION MAXIMUM VALUE 035165,000203: # -------- ----------- ------------- 035166,000204: 035167,000205: # GOTOADDR ADDRESS SELECTED BY SEQUENCER 035168,000206: 035169,000207: # XPIPBUF BUFFER TO STORE X PIPA COUNTS 035170,000208: 035171,000209: # YPIPBUF BUFFER TO STORE Y PIPA COUNTS 035172,000210: 035173,000211: # ZPIPBUF BUFFER TO STORE Z PIPA COUNTS 035174,000212: 035175,000213: # PIPCTR COUNTS PASSES THRU PIPA READ ROUTINE 035176,000214: 035177,000215: # JJ INDEX IN FINAL PHASE TABLE LOOK-UP 035178,000216: 035179,000217: # MM INDEX IN FINAL PHASE TABLE LOOK-U 035180,000218: 035181,000219: # GRAD INTERPOLATION FACTOR IN FINAL PHASE 035182,000220: 035183,000221: # FX DRANGE/D L/D = F3 2700 NM 035184,000222: 035185,000223: # FX +1 AREF 805 FPSS 035186,000224: 035187,000225: # FX +2 RTOGO 2700 NM 035188,000226: 035189,000227: # FX +3 RDOTREF VSAT/4 035190,000228: 035191,000229: # FX +4 DRANGE/D RDOT = F2 21600/2VS NM/FPS 035192,000230: 035193,000231: # FX +5 DRANGE/D DRAG = F1 2700/805 NM/FPSS 035194,000232: 035195,000233: # TEM1B TEMPORARY LOCATION 035196,000234: 035197,000235: # TIME/RTO TIME OF INITIAL TARGET RTINIT B 28 CENTISEC 035198,000236: 035199,000237: # DTEAROT EST TIME BETWEEN RTINIT AND RT B 28 CENTISEC 035200,000238: # _ 035201,000239: # UNITV UNIT V VECTOR 2 035202,000240: # _ 035203,000241: # UNITR UNIT R VECTOR 2 035204,000242: # _ 035205,000243: # -VREL NEGATIVE VELOCITY REL TO ATMOSP 2 VSAT 035206,000244: 035207,000245: # COMPUTER SWITCHES INITIAL STATE CM/FLAGS = STATE +6 035208,000246: # ----------------- ------------- ------------------- 035209,000247: 035210,000248: # ENTRYDSP DO ENTRY DISPLAY, IF SET NON-BRANCH (1) 92D, BIT 13 035211,000249: # GONEPAST INDICATES OVERSHOOT OF TARGET NON-BRANCH (0) 95D, BIT 10 035212,000250: # RELVELSW RELATIVE VELOCITY SWITCH NON-BRANCH (0) 96D, BIT 9 035213,000251: # EGSW FINAL PHASE SWITCH NON-BRANCH (0) 97D, BIT 8 035214,000252: # FIRSTPAS INITIAL PASS THRU HUNTEST NON-BRANCH (0) 98D, BIT 7 035215,000253: # HIND INDICATES ITERATION IN HUNTEST NON-BRANCH (0) 99D, BIT 6 035216,000254: # INRLSW INDICATES INIT ROLL ATTITUDE SET NON-BRANCH (0) 100D, BIT 5 035217,000255: # LATSW INHIBIT DOWNLIFT SWITCH IF NOT SET BRANCH (1) 101D, BIT 4 035218,000256: # .05GSW INDICATES DRAG EXCEEDS .05 GS BRANCH (0) 102D, BIT 3 035219,000257: 035220,000258: # GONEBY INDICATES GONE PAST TARGET (SET) SELF-INITIALIZING 112D, BIT 6 035221,000259: 035222,000260: # Page 799 035223,000261: # CONSTANTS AND GAINS VALUE 035224,000262: # ------------------- ----- 035225,000263: 035226,000264: # C1 FACTOR IN ALP COMPUTATION 1.25 035227,000265: # C16 CONSTD GAIN ON DRAG .01 035228,000266: # C17 CONSTD GAIN ON RDOT .001 035229,000267: # C18 BIAS VEL. FOR FINAL PHASE START 500 FPS 035230,000268: # C20 MAX DRAG FOR DOWN-LIFT 175 FPSS 035231,000269: # CHOOK FACTOR IN AHOOK COMPUTATION .25 035232,000270: # CH1 FACTOR IN GAMMAL COMPUTATION 1.0 035233,000271: # COS15 COS( 15 DEG ) .965 035234,000272: # DLEWD0 INITIAL VARIATION IN LEWD -.05 035235,000273: # D2 DRAG TO CHANGE LEWD 175 FPSS 035236,000274: # DT COMPUTATION CYCLE TIME INTERVAL 2 SEC. 035237,000275: # GMAX MAXIMUM ACCELERATION 257.6 FPSS (6 G-S) 035238,000276: # KA1 FACTOR IN KA CALC 1.3 GS 035239,000277: # KA2 FACTOR IN KA CALC .2 GS 035240,000278: # KA3 FACTOR IN D0 CALC 90 FPSS 035241,000279: # KA4 FACTOR IN D0 CALC 40 FPSS 035242,000280: # KB1 OPTIMIZED UPCONTROL GAIN 3.4 035243,000281: # KB2 OPTIMIZED UPCONTROL GAIN .0034 035244,000282: # KDMIN INCREMENT ON Q7 TO DETECT END OF KEPLER PHASE .5 FPSS 035245,000283: # KTETA TIME OF FLIGHT CONSTANT 1000 035246,000284: # KLAT1 FACTOR IN KLAT CALC 1/24 035247,000285: # K44 GAIN USED IN INITIAL ROLL SECTION 19749550 FPS 035248,000286: # LATBIAS LATERAL SWITCH BIAS TERM .41252961 NM 035249,000287: # LEWD1 NOMINAL UPCONTROL L/D .15 035250,000288: # POINT1 FACTOR TO REDUCE UPCONTROL GAIN .1 035251,000289: # Q2 FINAL PHASE RANGE - 23500 Q3 -1002 NM 035252,000290: # Q3 FINAL PHASE DRANGE/D V .07 NM/FPS 035253,000291: # Q5 FINAL PHASE DRANGE/D GAMMA 7050 NM/RAD 035254,000292: # Q6 FINAL PHASE INITIAL FLIGHT PATH ANGLE .0349 RAD 035255,000293: # Q7F MIN DRAG FOR UPCONTROL 6 FPSS 035256,000294: # Q7MIN IN VALUE FOR Q7 IN FACTOR CALCULATION 40 FPSS 035257,000295: # Q19 FACTOR IN GAMMAL1 CALCULATION .5 035258,000296: # Q21 FACTOR IN Q2 CALCULATION 1000 NM 035259,000297: # Q22 FACTOR IN Q2 CALCULATION -1302 NM 035260,000298: # VFINAL1 VELOCITY TO START FINAL PHASE ON INITIAL ENTRY 27000 FPS 035261,000299: # VFINAL FACTOR IN INITIAL UP-DOWN CALC 26600 FPS 035262,000300: # VLMIN MINIMUM VL 18000 FPS 035263,000301: # VMIN VELOCITY TO SWITCH TO RELATIVE VEL VSAT/2 035264,000302: # VRCONTRL RDOT TO START INTO HUNTEST 700 FPS 035265,000303: # VRCONT=COMPUTER NAME 035266,000304: # 25NM TOLERANCE TO STOP RANGE ITERATION 25 NM 035267,000305: # VQUIT VELOCITY TO STOP STEERING 1000 FPS 035268,000306: 035269,000307: # Page 800 035270,000308: # CONVERSION FACTORS AND SCALING CONSTANTS 035271,000309: # ---------------------------------------- 035272,000310: 035273,000311: # ATK ANGLE IN RAD TO NM 3437.7466 NM/RAD 035274,000312: # G5 NOMINAL G VALUE FOR SCALING (?) FPSS 035275,000313: # H5 ATMOSPHERE SCALE HEIGHT 28500 FT 035276,000314: # J GRAVITY HARMONIC COEFFICIENT .00162346 035277,000315: # (?) EQUATORIAL EARTH RATE 1546.10168 FPS 035278,000316: # MUE EARTH GRAVITATIONAL CONSTANT 3.986032233 E14 CUBIC M/ SEC SEC 035279,000317: # RE EARTH RADIUS 21202900 FT 035280,000318: # REQ EARTH EQUATORIAL RADIUS 20925738.2 FT 035281,000319: # VSAT SATELLITE VELOCITY AT RE 25766.1973 FPS 035282,000320: # WIE EARTH RATE .0000729211505 RAD/SEC 035283,000321: 035284,000322: # (END GSOP AS-276, VOL 1, FIG. 5.6-3 CONSTANTS, GAINS, ETC.) 035285,000323: 035286,000324: # DISPLAY QUANTITIES 035287,000325: # ------------------ 035288,000326: 035289,000327: # (SEE SECTION 4 OF THE GSOP FOR SIGN CONVENTIONS.) 035290,000328: 035291,000329: # VARIABLE DESCRIPTION MAXIMUM VALUE 035292,000330: # -------- ----------- ------------- 035293,000331: 035294,000332: # QMAX PREDICTED MAXIMUM ENTRY ACCEL 163.84 GS N 60 035295,000333: # VPRED PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 60 035296,000334: # 400K FT ABOVE FISCHER RADIUS. 035297,000335: # GAMMAEI PREDICTED GAMMA AT ALTITUDE 1 REVOLUTION N 60 035298,000336: # 400K FT ABOVE FISCHER RADIUS 035299,000337: # D DRAG ACCELERATION 805 FPSS N 64 035300,000338: # VMAGI INERTIAL VELOCITY MAGNITUDE 128 M/CENTISEC N 64, N 68 035301,000339: # THETAH DESIRED RANGE ANGLE NM 1 REVOLUTION N 64, N 67 035302,000340: # LAT PRESENT LATITUDE 1 REVOLUTION N 67 035303,000341: # LONG PRESENT LONGITUDE 1 REVOLUTION N 67 035304,000342: # RTOGO RANGE ANGLE TO SPLASH FROM 1 REVOLUTION N 67 035305,000343: # EMSALT FT ABOVE FISCHER RADIUS (IN NM) 035306,000344: # VIO PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 63 035307,000345: # EMSALT FT ABOVE FISCHER RADIUS. 035308,000346: # TTE TIME OF FREE FALL TO ALT B 28 CENTISEC N 63 035309,000347: # EMSALT FT ABOVE FISCHER RADIUS 035310,000348: # ROLLC ROLL COMMAND 1 REVOLUTION N 68, N 68, N 69 035311,000349: # LATANG CROSS-RANGE ERROR (XRNGERR) 4 RADIANS N 66 035312,000350: # DNRNGERR DOWN RANGE ERROR 1 REVOLUTION N 66 035313,000351: # (PREDANG - THETAH IN NM) 035314,000352: # HDOT ALTITUDE RATE 128 M/CENTISEC N 68 035315,000353: # QT MINIMUM DRAG FOR UPCONTROL 805 FPSS N 69 035316,000354: # VL EXIT VELOCITY FOR UP-CONTROL 2 VSAT N 69 035317,000355: 035318,000356: # Page 801 035319,000357: # BODY ATTITUDE QUANTITIES (CM/POSE) 035320,000358: # ---------------------------------- 035321,000359: 035322,000360: # VARIABLE DECRIPTION MAXIMUM VALUE 035323,000361: # -------- ---------- ------------- 035324,000362: # _ 035325,000363: # -VREL NEGATIVE VELOCITY REL TO ATMOS. 2 VSAT 035326,000364: # _ 035327,000365: # OLDUYA USED FOR UYA BELOW 1000 FPS 2 035328,000366: # _ 035329,000367: # UXA/2 UNIT VECTOR TRIAD 2 035330,000368: # _ 035331,000369: # UYA/2 BASED ON 2 035332,000370: # _ 035333,000371: # UZA/2 THE TRAJECTORY 2 035334,000372: # _ 035335,000373: # UBX/2 UNIT VECTOR 2 035336,000374: # _ 035337,000375: # UBY/2 BODY TRIAD 2 035338,000376: # _ 035339,000377: # UBZ/2 FOR CM. 2 035340,000378: End of include-file ENTRY_LEXICON.agc. Parent file is MAIN.agc