Source Code

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