Source Code
These source-code files are part of a reconstructed copy of Comanche 67, the
Apollo Guidance Computer (AGC) Command Module (CM) software for Apollo 12.
They have been adapted from sources files for Comanche 55, and updated via disassembly of binary dumps of original core rope memory modules, part numbers 2003972-1081, 2003972-1091, 2003972-1111, 2003972-1121, 2003972-1131, and 2003972-1141. Since only binary dumps (rather than listings) of Comanche 67 are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
035707,000002: ## Copyright: Public domain.
035708,000003: ## Filename: ENTRY_LEXICON.agc
035709,000004: ## Purpose: A section of Comanche revision 067.
035710,000005: ## It is part of the reconstructed source code for the flight
035711,000006: ## software for the Command Module's (CM) Apollo Guidance Computer
035712,000007: ## (AGC) for Apollo 12. No original listings of this program are
035713,000008: ## available; instead, this file was created via dissassembly of
035714,000009: ## dumps of Comanche 067 core rope modules and comparison with
035715,000010: ## other AGC programs.
035716,000011: ## Assembler: yaYUL
035717,000012: ## Contact: Ron Burkey <info@sandroid.org>.
035718,000013: ## Website: www.ibiblio.org/apollo/index.html
035719,000014: ## Mod history: 2023-08-16 MAS Created from Comanche 055.
035720,000015:
035721,000016: # VARIABLE DESCRIPTION MAXIMUM VALUE * COMPUTER NAME
035722,000017: # -------- ----------- ------- ----- -------- ----
035723,000018: # -
035724,000019: # URT0 INITIAL TARGET VECTOR 2 (UNIT VECTOR) = RTINIT
035725,000020: # -
035726,000021: # UZ UNIT VECTOR NORTH 1 = UNITW
035727,000022: # -
035728,000023: # V VELOCITY VECTOR 2 VSAT = VEL
035729,000024: # -
035730,000025: # R POSITION VECTOR 2 EXP 29 METERS = RN
035731,000026: # -
035732,000027: # VI INERTIAL VELOCITY 128 M/CENTISEC = VN
035733,000028: # -
035734,000029: # RTE VECTOR EAST AT INITIAL TARGET 2 = RTEAST
035735,000030: # -
035736,000031: # UTR NORMAL TO RTE AND UZ 2 = RTNORM
035737,000032: # -
035738,000033: # URT TARGET VECTOR 2 = RT
035739,000034: # -
035740,000035: # UNI UNIT NORMAL TO TRAJECTORY PLANE 2
035741,000036: # -
035742,000037: # DELV INTEGRATED ACCEL. FROM PIPAS 5.85 16384 CM/S
035743,000038: # -
035744,000039: # G GRAVITY VECTOR 128 M/CENTISEC = GDT/2
035745,000040:
035746,000041: # A0 INITIAL DRAG FOR UPCONTRL 805 FPSS FPSS=FT/SEC/SEC
035747,000042:
035748,000043: # AHOOKDV TERM IN GAMMAL CALC. = AHOOK DVL 16
035749,000044:
035750,000045: # A1 DRAG VALUE IN FACTOR CALCULATION 805 FPSS
035751,000046:
035752,000047: # ALP CONST FOR UPCONTRL 1
035753,000048:
035754,000049: # ASKEP KEPLER RANGE 21600 NM NM = NAUTICAL MILE
035755,000050:
035756,000051: # ASP1 FINAL PHASE RANGE 21600 NM
035757,000052:
035758,000053: # ASPUP UP-RANGE 21600 NM
035759,000054:
035760,000055: # ASP3 GAMMA CORRECTION 21600 NM
035761,000056:
035762,000057: # ASPDWN RANGE DOWN TO PULL-UP 21600 NM
035763,000058:
035764,000059: # ASP PREDICTED RANGE 21600 NM NOT STORED
035765,000060:
035766,000061: # COSG COSINE(GAMMAL) 2 = COSG/2
035767,000062:
035768,000063: # C/D0 RECIPROCAL DRAG, -4/D0 B-8 64/FPSS
035769,000064:
035770,000065: # D TOTAL ACCELERATION 805 FPSS
035771,000066:
035772,000067: # D0 CONTROLLED CONSTANT D 805 FPSS
035773,000068:
035774,000069: # DHOOK TERM IN GAMMAL COMPUTATION 805 FPSS
035775,000070:
035776,000071: # DIFF THETNM-ASP (RANGE DIFFERENCE) 21600 NM
035777,000072:
035778,000073: # DIFFOLD PREVIOUS VALUE OF DIFF 21600 NM
035779,000074:
035780,000075: # DLEWD CHANGE IN LEWD 1
035781,000076:
035782,000077: # DR REFERENCE DRAG FOR DOWNCONTROL 805 FPSS NOT STORED
035783,000078:
035784,000079: # DREFR REFERENCE DRAG 805 FPSS NOT STORED
035785,000080:
035786,000081: # DVL VS1-VL 2 VSAT
035787,000082:
035788,000083: # E ECCENTRICITY 4 NOT STORED
035789,000084:
035790,000085: # F1 DRANGE/D DRAG (FINAL PHASE) 2700/805 = FX +5
035791,000086:
035792,000087: # F2 DRANGE/D RDOT (FINAL PHASE) 2700/2VS NM/FPS = FX +4
035793,000088:
035794,000089: # F3 DRANGE/D (L/D) 2700 NM = FX
035795,000090:
035796,000091: # FACT1 CONST FOR UPCONTRL 805 FPSS
035797,000092:
035798,000093: # FACT2 CONST FOR UPCONTRL 1/805 FPSS
035799,000094:
035800,000095: # FACTOR USED IN UPCONTRL 1 * MAXIMUM VALUE DENOTES UNSCALED
035801,000096: #
035802,000097: # GAMMAL FLIGHT PATH ANGLE AT VL 1 RADIAN VARIABLE VALUE WHEN SCALED
035803,000098:
035804,000099: # GAMMAL1 SIMPLE FORM OF GAMMAL 1 RADIAN VARIABLE HAS MAXIMUM VALUE OF ONE.
035805,000100:
035806,000101: # VARIABLE DESCRIPTION MAXIMUM VALUE COMPUTER NAME
035807,000102: # -------- ----------- ------- ----- -------- ----
035808,000103:
035809,000104: # HEADSUP INDICATOR FOR INITIAL ROLL 1
035810,000105:
035811,000106: # KA DRAG TO LIFT UP IF DOWN 805 FPSS = KAT
035812,000107:
035813,000108: # KLAT LATERAL SWITCH GAIN 1 (NOM = .0125)
035814,000109:
035815,000110: # K2ROLL INDICATOR FOR ROLL SWITCH
035816,000111:
035817,000112: # LAD MAX L/D (MIN ACTUAL VEHICLE L/D) 1
035818,000113:
035819,000114: # LADPAD NOMINAL VEHICLE L/D, SP PAD LOAD 1 (NOM = 0.3)
035820,000115:
035821,000116: # LATANG LATERAL RANGE 4 RADIANS
035822,000117:
035823,000118: # LEQ EXCESS C.F. OVER GRAV=(VSQ-1)GS 128.8 FPSS
035824,000119:
035825,000120: # LEWD UPCONTROL REFERENCE L/D 1
035826,000121:
035827,000122: # LOD FINAL PHASE L/D 1 (NOM = 0.18)
035828,000123:
035829,000124: # LODPAD FINAL PHASE L/D, SP PAD LOAD 1
035830,000125:
035831,000126: # L/D DESIRED LIFT TO DRAG RATIO 1
035832,000127: # (VERTICAL PLANE)
035833,000128: #
035834,000129: # L/D1 TEMP STORAGE FOR L/D IN LATERAL 1
035835,000130:
035836,000131: # L/DCMINR LAD COS(15DEG) 1 (NOM = 0.2895)
035837,000132:
035838,000133: # PREDANGL PREDICTED RANGE (FINAL PHASE) 2700 NM = PREDANG
035839,000134:
035840,000135: # Q2 FINAL PHASE RANGE -23500 Q3 21600 NM
035841,000136: # Q2 = FCN(LAD)
035842,000137:
035843,000138: # Q7 MINIMUM DRAG FOR UPCONTROL 805FPSS
035844,000139:
035845,000140: # RDOT ALTITUDE RATE 2 VSAT
035846,000141:
035847,000142: # RDOTREF REFERENCE RDOT FOR UPCONTROL 2 VSAT
035848,000143:
035849,000144: # RDTR REFERENCE RDOT FOR DOWNCONT 2 VSAT NOT SAVED
035850,000145:
035851,000146: # ROLLC ROLL COMMAND 1 REVOLUTION
035852,000147:
035853,000148: # RTOGO RANGE TO GO (FINAL PHASE) 2700 NM = FX +2
035854,000149:
035855,000150: # SL SINE OF LATITUDE 1 NOT SAVED
035856,000151:
035857,000152: # T TIME B 28 CENTISEC = TIME2,TIME1
035858,000153:
035859,000154: # THETA DESIRED RANGE (RADIANS) 2 PI RADIANS = THETAH
035860,000155:
035861,000156: # THETNM DESIRED RANGE (NM) 21600 NM NON EXISTENT
035862,000157:
035863,000158: # V VELOCITY MAGNITUDE 2 VSAT
035864,000159: #
035865,000160: # V1 INITIAL VELOCITY FOR UPCONTROL 2 VSAT
035866,000161:
035867,000162: # VL EXIT VELOCITY FOR UPCONTROL 2 VSAT
035868,000163:
035869,000164: # VREF REFERENCE VELOCITY FOR UPCONTROL 2 VSAT
035870,000165:
035871,000166: # VS1 VSAT OR V1, WHICHEVER IS SMALLER 2 VSAT
035872,000167: # 2 2
035873,000168: # VBARS VL /VSAT 4
035874,000169: # 2 2
035875,000170: # VSQ NORMALISED VEL. SQUARED = V /VSAT 4 = VSQUARE
035876,000171:
035877,000172: # WT EARTH RATE TIMES TIME 1 REVOLUTION NOT SAVED
035878,000173: # = WIE (DTEAROT)
035879,000174: # X INTERMEDIATE VARIABLE IN G-LIMITER 2 VSAT NOT SAVED
035880,000175:
035881,000176: # Y LATERAL MISS LIMIT 4 RADIANS NOT SAVED
035882,000177:
035883,000178: # EXTRA COMPUTER ERASABLE LOCATIONS NOT SHOWN ON FLOW CHARTS
035884,000179: # -----------------------------------------------------------
035885,000180:
035886,000181: # VARIABLE DESCRIPTION MAXIMUM VALUE
035887,000182: # -------- ----------- ------- -----
035888,000183:
035889,000184: # GOTOADDR ADDRESS SELECTED BY SEQUENCER
035890,000185:
035891,000186: # XPIPBUF BUFFER TO STORE X PIPA COUNTS
035892,000187:
035893,000188: # YPIPBUF BUFFER TO STORE Y PIPA COUNTS
035894,000189:
035895,000190: # ZPIPBUF BUFFER TO STORE Z PIPA COUNTS
035896,000191:
035897,000192: # PIPCTR COUNTS PASSES THRU PIPA READ ROUTINE
035898,000193:
035899,000194: # JJ INDEX IN FINAL PHASE TABLE LOOK-UP
035900,000195:
035901,000196: # MM INDEX IN FINAL PHASE TABLE LOOK-UP
035902,000197:
035903,000198: # GRAD INTERPOLATION FACTOR IN FINAL PHASE
035904,000199:
035905,000200: # FX DRANGE/D L/D = F3 2700 NM
035906,000201:
035907,000202: # FX +1 AREF 805 FPSS
035908,000203:
035909,000204: # FX +2 RTOGO 2700 NM
035910,000205:
035911,000206: # FX +3 RDOTREF VSAT/4
035912,000207:
035913,000208: # FX +4 DRANGE/D RDOT = F2 21600/2VS NM/FPS
035914,000209:
035915,000210: # FX +5 DRANGE/D DRAG = F1 2700/805 NM/FPSS
035916,000211:
035917,000212: # TEM1B TEMPORARY LOCATION
035918,000213:
035919,000214: # TIME/RTO TIME OF INITIAL TARGET RTINIT B 28 CENTISEC
035920,000215:
035921,000216: # DTEAROT EST TIME BETWEEN RTINIT AND RT B 28 CENTISEC
035922,000217: # -
035923,000218: # UNITV UNIT V VECTOR 2
035924,000219: # -
035925,000220: # UNITR UNIT R VECTOR 2
035926,000221: # -
035927,000222: # -VREL NEGATIVE VELOCITY REL TO ATMOSP 2 VSAT
035928,000223:
035929,000224: # COMPUTER SWITCHES INITIAL STATE CM/FLAGS = STATE +6
035930,000225: # -------- -------- ------------- -------------------
035931,000226:
035932,000227: # ENTRYDSP DO ENTRY DISPLAY, IF SET NON-BRANCH (1) 92D, BIT 13
035933,000228: # GONEPAST INDICATES OVERSHOOT OF TARGET NON-BRANCH (0) 95D, BIT 10
035934,000229: # RELVELSW RELATIVE VELOCITY SWITCH NON-BRANCH (0) 96D, BIT 9
035935,000230: # EGSW FINAL PHASE SWITCH NON-BRANCH (0) 97D, BIT 8
035936,000231: # FIRSTPAS INITIAL PASS THRU HUNTEST NON-BRANCH (0) 98D, BIT 7
035937,000232: # HIND INDICATES ITERATION IN HUNTEST NON-BRANCH (0) 99D, BIT 6
035938,000233: # INRLSW INDICATES INIT ROLL ATTITUDE SET NON-BRANCH (0) 100D, BIT 5
035939,000234: # LATSW INHIBIT DOWNLIFT SWITCH IF NOT SET BRANCH (1) 101D, BIT 4
035940,000235: # .05GSW INDICATES DRAG EXCEEDS .05 GS BRANCH (0) 102D, BIT 3
035941,000236:
035942,000237: # GONEBY INDICATES GONE PAST TARGET (SET) SELF-INITIALZNG 112D, BIT 8
035943,000238:
035944,000239: # CONSTANTS AND GAINS VALUE
035945,000240: # ------------------- -----
035946,000241:
035947,000242: # C1 FACTOR IN ALP COMPUTATION 1.25
035948,000243: # C16 CONSTD GAIN ON DRAG .01
035949,000244: # C17 CONSTD GAIN ON RDOT .001
035950,000245: # C18 BIAS VEL. FOR FINAL PHASE START 500 FPS
035951,000246: # C20 MAX DRAG FOR DOWN-LIFT 175 FPSS
035952,000247: # CHOOK FACTOR IN AHOOK COMPUTATION .25
035953,000248: # CH1 FACTOR IN GAMMAL COMPUTATION 1.0
035954,000249: # COS15 COS( 15 DEG ) .965
035955,000250: # DLEWD0 INITIAL VARIATION IN LEWD -.05
035956,000251: # D2 DRAG TO CHANGE LEWD 175 FPSS
035957,000252: # DT COMPUTATION CYCLE TIME INTERVAL 2 SEC.
035958,000253: # GMAX MAXIMUM ACCELERATION 257.6 FPSS (8 G-S)
035959,000254: # KA1 FACTOR IN KA CALC 1.3 GS
035960,000255: # KA2 FACTOR IN KA CALC .2 GS
035961,000256: # KA3 FACTOR IN D0 CALC 90 FPSS
035962,000257: # KA4 FACTOR IN D0 CALC 40 FPSS
035963,000258: # KB1 OPTIMIZED UPCONTROL GAIN 3.4
035964,000259: # KB2 OPTIMIZED UPCONTROL GAIN .0034
035965,000260: # KDMIN INCREMENT ON Q7 TO DETECT END OF KEPLER PHASE .5 FPSS
035966,000261: # KTETA TIME OF FLIGHT CONSTANT 1000
035967,000262: # KLAT1 FACTOR IN KLAT CALC 1/24
035968,000263: # K44 GAIN USED IN INITIAL ROLL SECTION 19749550 FPS
035969,000264: # LATBIAS LATERAL SWITCH BIAS TERM .41252961 NM
035970,000265: # LEWD1 NOMINAL UPCONTROL L/D .15
035971,000266: # POINT1 FACTOR TO REDUCE UPCONTROL GAIN .1
035972,000267: # Q2 FINAL PHASE RANGE - 23500 Q3 -1002 NM
035973,000268: # Q3 FINAL PHASE DRANGE/D V .07 NM/FPS
035974,000269: # Q5 FINAL PHASE DRANGE/D GAMMA 7050 NM/RAD
035975,000270: # Q6 FINAL PHASE INITIAL FLIGHT PATH ANGLE .0349 RAD
035976,000271: # Q7F MIN DRAG FOR UPCONTROL 6 FPSS
035977,000272: # Q7MIN MIN VALUE FOR Q7 IN FACTOR CALCULATION 40 FPSS
035978,000273: # Q19 FACTOR IN GAMMAL1 CALCULATION .5
035979,000274: # Q21 FACTOR IN Q2 CALCULATION. 1000 NM
035980,000275: # Q22 FACTOR IN Q2 CALCULATION. -1302 NM
035981,000276: # VFINAL1 VELOCITY TO START FINAL PHASE ON INITIAL ENTRY 27000 FPS
035982,000277: # VFINAL FACTOR IN INITIAL UP-DOWN CALC 26600 FPS
035983,000278: # VLMIN MINIMUM VL 18000 FPS
035984,000279: # VMIN VELOCITY TO SWITCH TO RELATIVE VEL VSAT/2
035985,000280: # VRCONTRL RDOT TO START INTO HUNTEST 700 FPS
035986,000281: # VRCONT=COMPUTER NAME
035987,000282: # 25NM TOLERANCE TO STOP RANGE ITERATION 25 NM
035988,000283: # VQUIT VELOCITY TO STOP STEERING 1000 FPS
035989,000284:
035990,000285: # CONVERSION FACTORS AND SCALING CONSTANTS
035991,000286: # ---------- ------- --- ------- ---------
035992,000287:
035993,000288: # ATK ANGLE IN RAD TO NM 3437.7468 NM/RAD
035994,000289: # GS NOMINAL G VALUE FOR SCALING 32.2 FPSS
035995,000290: # HS ATMOSPHERE SCALE HEIGHT 28500 FT
035996,000291: # J GRAVITY HARMONIC COEFFICIENT .00162346
035997,000292: # KWE EQUATORIAL EARTH RATE 1546.70168 FPS
035998,000293: # MUE EARTH GRAVITATIONAL CONSTANT 3.986032233 E14 CUBIC M/ SEC SEC
035999,000294: # RE EARTH RADIUS 21202900 FT
036000,000295: # REQ EARTH EQUATORIAL RADIUS 20925738.2 FT
036001,000296: # VSAT SATELLITE VELOCITY AT RE 25766.1973 FPS
036002,000297: # WIE EARTH RATE .0000729211505 RAD/SEC
036003,000298:
036004,000299: # (END GSOP AS-278, VOL 1, FIG. 5.6-3 CONSTANTS, GAINS, ETC.)
036005,000300:
036006,000301: # DISPLAY QUANTITIES
036007,000302: # ------------------
036008,000303:
036009,000304: # (SEE SECTION 4 OF THE GSOP FOR SIGN CONVENTIONS.)
036010,000305:
036011,000306: # VARIABLE DESCRIPTION MAXIMUM VALUE
036012,000307: # -------- ----------- ------- -----
036013,000308:
036014,000309: # QMAX PREDICTED MAXIMUM ENTRY ACCEL 163.84 GS N 60
036015,000310: # VPRED PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 60
036016,000311: # 400K FT ABOVE FISCHER RADIUS.
036017,000312: # GAMMAEI PREDICTED GAMMA AT ALTITUDE 1 REVOLUTION N 60
036018,000313: # 400K FT ABOVE FISCHER RADIUS.
036019,000314: # D DRAG ACCELERATION 805 FPSS N 64
036020,000315: # VMAGI INERTIAL VELOCITY MAGNITUDE 128 M/CENTISEC N 64, N 68
036021,000316: # THETAH DESIRED RANGE ANGLE NM 1 REVOLUTION N 64, N 67
036022,000317: # LAT PRESENT LATITUDE 1 REVOLUTION N 67
036023,000318: # LONG PRESENT LONGITUDE 1 REVOLUTION N 67
036024,000319: # RTOGO RANGE ANGLE TO SPLASH FROM 1 REVOLUTION N 63
036025,000320: # EMSALT FT ABOVE FISCHER RADIUS. (IN NM)
036026,000321: # VIO PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 63
036027,000322: # EMSALT FT ABOVE FISCHER RADIUS.
036028,000323: # TTE TIME OF FREE FALL TO ALT B 28 CENTISEC N 63
036029,000324: # EMSALT FT ABOVE FISCHER RADIUS.
036030,000325: # ROLLC ROLL COMMAND 1 REVOLUTION N 66, N 68, N 69
036031,000326: # LATANG CROSS-RANGE ERROR (XRNGERR) 4 RADIANS N 66
036032,000327: # DNRNGERR DOWN RANGE ERROR 1 REVOLUTION N 66
036033,000328: # (PREDANG - THETAH IN NM)
036034,000329: # HDOT ALTITUDE RATE 128 M/CENTISEC N 68
036035,000330: # Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS N 69
036036,000331: # VL EXIT VELOCITY FOR UP-CONTROL 2 VSAT N 69
036037,000332:
036038,000333: # BODY ATTITUDE QUANTITIES (CM/POSE)
036039,000334: # -----------------------------------
036040,000335:
036041,000336: # VARIABLE DESCRIPTION MAXIMUM VALUE
036042,000337: # -------- ----------- ------- -----
036043,000338: # -
036044,000339: # -VREL NEGATIVE VELOCITY REL TO ATMOS. 2 VSAT
036045,000340: # -
036046,000341: # OLDUYA USED FOR UYA BELOW 1000 FPS 2
036047,000342: # -
036048,000343: # UXA/2 UNIT VECTOR TRIAD 2
036049,000344: # -
036050,000345: # UYA/2 BASED ON 2
036051,000346: # -
036052,000347: # UZA/2 THE TRAJECTORY. 2
036053,000348: # -
036054,000349: # UBX/2 UNIT VECTOR 2
036055,000350: # -
036056,000351: # UBY/2 BODY TRIAD 2
036057,000352: # -
036058,000353: # UBZ/2 FOR CM. 2
036059,000354:
End of include-file ENTRY_LEXICON.agc. Parent file is MAIN.agc