Source Code

049627,000001: # Copyright: Public domain. 049628,000002: # Filename: INTEGRATION_INITIALIZATION.agc 049629,000003: # Purpose: A section of Luminary 1C, revision 131. 049630,000004: # It is part of the source code for the Lunar Module's (LM) 049631,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14. 049632,000006: # This file is intended to be a faithful transcription, except 049633,000007: # that the code format has been changed to conform to the 049634,000008: # requirements of the yaYUL assembler rather than the 049635,000009: # original YUL assembler. 049636,000010: # Reference: pp. 1203-1224 of 1729.pdf. 049637,000011: # Contact: Ron Burkey <info@sandroid.org>. 049638,000012: # Website: www.ibiblio.org/apollo/index.html 049639,000013: # Mod history: 06/02/03 RSB. Began transcribing. 049640,000014: # 05/14/05 RSB. Corrected website reference above. 049641,000015: # 2010-10-25 JL Indentation fixes. 049642,000016: 049643,000017: # Page 1203 049644,000018: # 1.0 INTRODUCTION 049645,000019: # ---------------- 049646,000020: 049647,000021: # FROM A USER'S POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION 049648,000022: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND 049649,000023: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF 049650,000024: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUTSIDE 049651,000025: # THE LUNAR SPHERE OF INFLUENCE. 049652,000026: 049653,000027: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM 049654,000028: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE 049655,000029: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE 049656,000030: # CALL TC INTSTALL. 049657,000031: 049658,000032: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND 049659,000033: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE 049660,000034: # BOTH THE LM'S POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM. 049661,000035: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND 049662,000036: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL. 049663,000037: 049664,000038: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION 049665,000039: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL 049666,000040: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC "INTEGRATION" THE USER MAY STILL USE ZERO 049667,000041: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME. 049668,000042: 049669,000043: # 2.0 CENTRAL DESCRIPTION 049670,000044: # ----------------------- 049671,000045: 049672,000046: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS -- 049673,000047: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR 049674,000048: # 2) INTEGRATES THE W-MATRIX 049675,000049: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR 049676,000050: 049677,000051: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET 049678,000052: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF 049679,000053: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO 049680,000054: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR 049681,000055: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES 049682,000056: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE 049683,000057: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE 049684,000058: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS 049685,000059: # AND/OR STATE VECTOR. 049686,000060: 049687,000061: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE 049688,000062: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION 049689,000063: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS. 049690,000064: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE ODER THAN 4 TIMESTEPS. 049691,000065: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV 049692,000066: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.) 049693,000067: 049694,000068: # Page 1204 049695,000069: # APPENDIX B OF THE USERS' GUIDE LISTS THE STATE VECTOR QUANTITIES. 049696,000070: 049697,000071: # 2.1 RESTARTS 049698,000072: 049699,000073: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS 049700,000074: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS 049701,000075: # (I.E., GROUP2) WINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN 049702,000076: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING 049703,000077: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION WHOULD ENSURE THAT IF PHASE CHANGING IS DONE 049704,000078: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST. 049705,000079: 049706,000080: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART. 049707,000081: 049708,000082: # 2.2 SCALING 049709,000083: 049710,000084: # THE INTEGRATION ROUTIEN WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN 049711,000085: # APPENDIX B OF THE USERS' GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE 049712,000086: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON 049713,000087: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN 049714,000088: # DIFFERENT SCALING. 049715,000089: 049716,000090: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME. 049717,000091: 049718,000092: # 3.0 INPUT/OUTPUT 049719,000093: # ---------------- 049720,000094: 049721,000095: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN 049722,000096: # APPENDIX B OF THE USERS' GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION). 049723,000097: # FOR INTEGRVS, THE RCV,VCV,TET OR THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG 049724,000098: 049725,000099: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET --- 049726,000100: # EARTH MOON 049727,000101: # 29 27 049728,000102: # RRECTCSM(LEM) RECTIFIED POSITION VECTOR METERS 2 2 049729,000103: 049730,000104: # 7 5 049731,000105: # VRECTCSM(LEM) RECTIFIED VELOCITY VECTOR M/CSEC 2 2 049732,000106: 049733,000107: # 28 28 049734,000108: # TETCSM(LEM) TIME STATE VECTOR IS VALID CSEC 2 2 049735,000109: # CUSTOMARILY 0, BUT NOT LUNAR 049736,000110: # ORBIT DEPENDENCE ON REAL TIME. 049737,000111: 049738,000112: # 22 18 049739,000113: # DELTAVCSM(LEM) POSITION DEVIATION METERS 2 2 049740,000114: # 0 IF TCCSM(LEM) = 0 049741,000115: 049742,000116: # 3 -1 049743,000117: # NUVCSM(LEM) VELOCITY DEVIATION M/CSEC 2 2 049744,000118: # 0 IF TCCSM(LEM) = 0 049745,000119: # Page 1205 049746,000120: # 29 27 049747,000121: # RCVSM(LEM) CONIC POSITION METERS 2 2 049748,000122: # EQUALS RRECTCSM(LEM) IF 049749,000123: # TCCSM(LEM) = 0 049750,000124: 049751,000125: # 7 5 049752,000126: # VCVCSM(LEM) CONIC VELOCITY M/CSEC 2 2 049753,000127: # EQUALS VRECTCSM(LEM) IF 049754,000128: # TCCSM(LEM) = 0 049755,000129: 049756,000130: # 28 28 049757,000131: # TCCSM(LEM) TIME SINCE RECTIFICATION CSECS 2 2 049758,000132: # CUSTOMARILY 0 049759,000133: 049760,000134: # 1/2 17 16 049761,000135: # XKEPCSM(LEM) RDOT OF KEPLER'S EQUATION M 2 2 049762,000136: # 0 IF TCCSM(LEM) = 0 049763,000137: 049764,000138: # CMOONFLG PERMANENT FLAGS CORRESPONDING 0 0 049765,000139: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1 049766,000140: # LMOONFLG C = CSM, L = LM 0 0 049767,000141: # LMIDFLG 0,1 0,1 049768,000142: 049769,000143: # SURFFLAG LUNAR SURFACE FLAG 0,1 0,1 049770,000144: 049771,000145: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR 049772,000146: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB- 049773,000147: # ROUTINE MUST BE PRESET. 049774,000148: 049775,000149: # OUTPUT 049776,000150: # AFTER EVERY CALL TO INTEGRATION 049777,000151: # EARTH MOON 049778,000152: # 29 29 049779,000153: # 0D RATT POSITION METERS 2 2 049780,000154: 049781,000155: # 7 7 049782,000156: # 6D VATT VELOCITY M/CSEC 2 2 049783,000157: 049784,000158: # 28 28 049785,000159: # 12D TAT TIME 2 2 049786,000160: 049787,000161: # 29 27 049788,000162: # 14D RATT1 POSITION METERS 2 2 049789,000163: 049790,000164: # 7 5 049791,000165: # 20D VATT1 VELOCITY M/CSEC 2 2 049792,000166: 049793,000167: # 3 2 36 30 049794,000168: # 26D MU(P) MU M /CS 2 2 049795,000169: 049796,000170: # X1 MUTABLE ENTRY -2 -10D 049797,000171: 049798,000172: # X2 COORDINT 049799,000173: # X2 COORDINATE SYSTEM ORIGIN 0 2 049800,000174: # (THIS, NOT MOONFLAG, SHOULD BE 049801,000175: # Page 1206 049802,000176: # USED TO DETERMINE ORIGIN.) 049803,000177: 049804,000178: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER 049805,000179: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH 049806,000180: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE 049807,000181: # CALLING PROGRAM. 049808,000182: 049809,000183: # 4.0 CALLING SEQUENCES AND SAMPLE CODE 049810,000184: # ------------------------------------- 049811,000185: 049812,000186: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES 049813,000187: # L-X STORE TIME TO 96T5791T5 T 95 PUS L9ST (T4531) 049814,000188: # L CALL 049815,000189: # L+1 CSMPREC (OR LEMPREC) 049816,000190: # L+2 RETURN 049817,000191: # INPUT 28 049818,000192: # TDEC1 (PD 32D) TIME TC INTEGRATE TO...CENTISECONDS SCALED 2 049819,000193: # OUTPUT 049820,000194: # THE DATA LISTED IN SECTION 3.2 PLUS 049821,000195: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY 049822,000196: # BODY... METERS B-29 ONLY IF MIDFLAG = DIM0FLAG = 1 049823,000197: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES 049824,000198: # L-X STORE TIME IN PUSH LIST (TDEC1) 049825,000199: # L CALL 049826,000200: # L+1 CSMCONIC (OR LEMCONIC) 049827,000201: # INPUT/OUTPUT 049828,000202: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET 049829,000203: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE 049830,000204: # CALL 049831,000205: # INTSTALL 049832,000206: # VLOAD 049833,000207: # POSITION VECTOR 049834,000208: # STODL VCV 049835,000209: # TIME STATE VECTOR VALID 049836,000210: # STODL TET 049837,000211: # FINAL RADIUS 049838,000212: # STORE RFINAL 049839,000213: # SET(CLEAR) SET(CLEAR) 049840,000214: # INTYPFLAG 049841,000215: # MOONFLAG 049842,000216: # SET(CLEAR) DLOAD 049843,000217: # DESIRED TIME 049844,000218: # STCALL TDEC1 049845,000219: # INTEGRVS 049846,000220: # INPUT 049847,000221: # RCV POSITION VECTOR METERS 049848,000222: # VCV VELOCITY VECTOR M/CSEC 049849,000223: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28 049850,000224: # Page 1207 049851,000225: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D) 049852,000226: # (MAY BE INCREMENT IF TET=0) 049853,000227: # OUTPUT 049854,000228: # SAME AS FOR PRECISION OR CONIC INTEGRATION, 049855,000229: # DEPENDING ON INTYPFLG. 049856,000230: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE 049857,000231: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL) 049858,000232: # L-8 CALL 049859,000233: # L-7 049860,000234: # L-6 SET(CLEAR) SET(CLEAR) 049861,000235: # L-5 VINTFLAG 1=CSM, 0=LM 049862,000236: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION 049863,000237: # L-3 SET(CLEAR) SET(CLEAR) 049864,000238: # L-2 DIM0FLAG 1=W-MATRIX, 0=NO W-MATRIX 049865,000239: # L-1 D6OR9FLG 1=9X9, 0=6X6 049866,000240: # L SET DLOAD 049867,000241: # L+1 STATEFLG DESIRE PERMANENT UPDATE 049868,000242: # L+2 FINAL RAD. OF STATE VECTOR 049869,000243: # L+3 STCALL RFINAL 049870,000244: # L+4 INTEGRV 049871,000245: # L CALL NORMAL USE -- WILL UPDATE STATE 049872,000246: # L+1 INTEGRV VECTOR IF DIM0FLAG=1. (STATEFLG IS 049873,000247: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER 049874,000248: # IT USED.) 049875,000249: # INPUT 049876,000250: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28 049877,000251: # OUTPUT 049878,000252: # SAME AS FOR PRECISION OR CONIC INTEGRATION 049879,000253: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON 049880,000254: # THE PERMANENT STATE VECTOR REPRESENTATION. 049881,000255: 049882,000256: 11,2404 BANK 11 049883,000257: 13,2000 SETLOC INTINIT 049884,000258: 13,2000 BANK 049885,000259: 13,2602 E3,1554 EBANK= RRECTCSM 049886,000260: 13,2602 COUNT* $$/INTIN 049887,000261: 13,2602 05353 STATEINT TC PHASCHNG 049888,000262: 13,2603 00052 OCT 00052 049889,000263: 13,2604 35017 CAF PRIO5 049890,000264: 13,2605 05105 TC FINDVAC 049891,000265: 13,2606 E3,1554 EBANK= RRECTCSM 049892,000266: 13,2606 02611 26063 2CADR STATINT1 049893,000267: 049894,000268: 13,2610 05261 TC TASKOVER 049895,000269: 13,2611 06042 STATINT1 TC INTPRET 049896,000270: 13,2612 47014 BON RTB 049897,000271: 13,2613 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT P00. 049898,000272: 13,2614 26652 NOINT 049899,000273: 13,2615 21574 LOADTIME 049900,000274: 13,2616 00041 STORE TDEC1 049901,000275: # Page 1208 049902,000276: 13,2617 77624 CALL 049903,000277: 13,2620 27410 INTSTALL 049904,000278: 13,2621 45014 SET CALL 049905,000279: 13,2622 01076 NODOFLAG 049906,000280: 13,2623 26643 SETIFLGS 049907,000281: 13,2624 52014 SET GOTO 049908,000282: 13,2625 01460 P00HFLAG 049909,000283: 13,2626 26026 STATEUP 049910,000284: 13,2627 00003 25140 600SECS 2DEC 60000 B-28 049911,000285: 049912,000286: 13,2631 77414 ENDINT CLEAR EXIT 049913,000287: 13,2632 01672 STATEFLG 049914,000288: 13,2633 05353 TC PHASCHNG 049915,000289: 13,2634 20032 OCT 20032 049916,000290: 13,2635 00006 EXTEND 049917,000291: 13,2636 32630 DCA 600SECS 049918,000292: 13,2637 05277 TC LONGCALL 049919,000293: 13,2640 E3,1626 EBANK= RRECTHIS 049920,000294: 13,2640 02602 26063 2CADR STATEINT 049921,000295: 049922,000296: 13,2642 05155 TC ENDOFJOB 049923,000297: 13,2643 43014 SETIFLGS SET CLEAR 049924,000298: 13,2644 01472 STATEFLG 049925,000299: 13,2645 01673 INTYPFLG 049926,000300: 13,2646 43014 CLEAR CLEAR 049927,000301: 13,2647 01676 DIM0FLAG 049928,000302: 13,2650 01675 D6OR9FLG 049929,000303: 13,2651 77616 RVQ 049930,000304: 13,2652 77776 NOINT EXIT 049931,000305: 13,2653 05353 TC PHASCHNG 049932,000306: 13,2654 00002 OCT 00002 049933,000307: 049934,000308: 13,2655 05516 TC DOWNFLAG 049935,000309: 13,2656 00221 ADRES QUITFLAG 049936,000310: 13,2657 05155 TC ENDOFJOB 049937,000311: 049938,000312: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41 049939,000313: 049940,000314: # CALLING SEQUENCE 049941,000315: # L CALL 049942,000316: # L+1 ATOPCSM 049943,000317: 049944,000318: # NORMAL EXIT AT L+2 049945,000319: 049946,000320: 13,2660 47020 ATOPCSM STQ RTB 049947,000321: 13,2661 00051 S2 049948,000322: 13,2662 26673 MOVEACSM 049949,000323: 13,2663 45014 SET CALL 049950,000324: 13,2664 04063 CMOONFLG 049951,000325: 13,2665 26114 SVDWN1 049952,000326: # Page 1209 049953,000327: 13,2666 43014 BON CLRGO 049954,000328: 13,2667 00303 MOONFLAG 049955,000329: 13,2670 00051 S2 049956,000330: 13,2671 04223 CMOONFLG 049957,000331: 13,2672 00051 S2 049958,000332: 13,2673 03035 MOVEACSM TC SETBANK 049959,000333: 13,2674 55500 TS DIFEQCNT # INITIALIZE INDEX 049960,000334: 13,2675 51500 INDEX DIFEQCNT 049961,000335: 13,2676 31502 CA RRECT 049962,000336: 13,2677 51500 INDEX DIFEQCNT 049963,000337: 13,2700 55554 TS RRECTCSM 049964,000338: 13,2701 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE 049965,000339: 13,2702 12674 TCF MOVEACSM +1 # NO-LOOP 049966,000340: 13,2703 06064 TC DANZIG # COMPLETE -- RETURN 049967,000341: 049968,000342: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41 049969,000343: 049970,000344: # CALLING SEQUENCE 049971,000345: # L CALL 049972,000346: # PTOACSM 049973,000347: 049974,000348: # NORMAL EXIT AT L+2 049975,000349: 049976,000350: 13,2704 43034 PTOACSM RTB BON 049977,000351: 13,2705 26722 MOVEPCSM 049978,000352: 13,2706 04303 CMOONFLG 049979,000353: 13,2707 26715 SETMOON 049980,000354: 13,2710 66214 CLRMOON CLEAR SSP 049981,000355: 13,2711 00263 MOONFLAG 049982,000356: 13,2712 02031 PBODY 049983,000357: 13,2713 00000 0 049984,000358: 13,2714 77616 RVQ 049985,000359: 13,2715 66214 SETMOON SET SSP 049986,000360: 13,2716 00063 MOONFLAG 049987,000361: 13,2717 02031 PBODY 049988,000362: 13,2720 00002 2 049989,000363: 13,2721 77616 RVQ 049990,000364: 13,2722 03035 MOVEPCSM TC SETBANK 049991,000365: 13,2723 55500 TS DIFEQCNT 049992,000366: 13,2724 51500 INDEX DIFEQCNT 049993,000367: 13,2725 31554 CA RRECTCSM 049994,000368: 13,2726 51500 INDEX DIFEQCNT 049995,000369: 13,2727 55502 TS RRECT 049996,000370: 13,2730 11500 CCS DIFEQCNT 049997,000371: 13,2731 12723 TCF MOVEPCSM +1 049998,000372: 13,2732 06064 TC DANZIG 049999,000373: 050000,000374: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41 050001,000375: # Page 1210 050002,000376: 13,2733 47020 ATOPLEM STQ RTB 050003,000377: 13,2734 00051 S2 050004,000378: 13,2735 26746 MOVEALEM 050005,000379: 13,2736 45014 SET CALL 050006,000380: 13,2737 04064 LMOONFLG 050007,000381: 13,2740 26070 SVDWN2 050008,000382: 13,2741 43014 BON CLRGO 050009,000383: 13,2742 00303 MOONFLAG 050010,000384: 13,2743 00051 S2 050011,000385: 13,2744 04224 LMOONFLG 050012,000386: 13,2745 00051 S2 050013,000387: 13,2746 03035 MOVEALEM TC SETBANK 050014,000388: 13,2747 55500 TS DIFEQCNT 050015,000389: 13,2750 51500 INDEX DIFEQCNT 050016,000390: 13,2751 31502 CA RRECT 050017,000391: 13,2752 51500 INDEX DIFEQCNT 050018,000392: 13,2753 55626 TS RRECTLEM 050019,000393: 13,2754 11500 CCS DIFEQCNT 050020,000394: 13,2755 12747 TCF MOVEALEM +1 050021,000395: 13,2756 06064 TC DANZIG 050022,000396: 050023,000397: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41 050024,000398: 050025,000399: 13,2757 47014 PTOALEM BON RTB 050026,000400: 13,2760 04307 SURFFLAG 050027,000401: 13,2761 27000 USEPIOS 050028,000402: 13,2762 26767 MOVEPLEM 050029,000403: 13,2763 52014 BON GOTO 050030,000404: 13,2764 04304 LMOONFLG 050031,000405: 13,2765 26715 SETMOON 050032,000406: 13,2766 26710 CLRMOON 050033,000407: 13,2767 03035 MOVEPLEM TC SETBANK 050034,000408: 13,2770 55500 TS DIFEQCNT 050035,000409: 13,2771 51500 INDEX DIFEQCNT 050036,000410: 13,2772 31626 CA RRECTLEM 050037,000411: 13,2773 51500 INDEX DIFEQCNT 050038,000412: 13,2774 55502 TS RRECT 050039,000413: 13,2775 11500 CCS DIFEQCNT 050040,000414: 13,2776 12770 TCF MOVEPLEM +1 050041,000415: 13,2777 06064 TC DANZIG 050042,000416: 050043,000417: 13,3000 77201 USEPIOS SETPD VLOAD 050044,000418: 13,3001 00001 0 050045,000419: 13,3002 02023 RLS 050046,000420: 13,3003 41525 PDDL PUSH 050047,000421: 13,3004 00041 TDEC1 050048,000422: 13,3005 15517 STODL TET 050049,000423: 13,3006 27733 5/8 050050,000424: # Page 1211 050051,000425: 13,3007 77624 CALL 050052,000426: 13,3010 55716 RP-TO-R 050053,000427: 13,3011 25535 STOVL RCV 050054,000428: 13,3012 24001 ZUNIT 050055,000429: 13,3013 14001 STODL 0D 050056,000430: 13,3014 01517 TET 050057,000431: 13,3015 14007 STODL 6D 050058,000432: 13,3016 27733 5/8 050059,000433: 13,3017 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT 050060,000434: 13,3020 00063 MOONFLAG 050061,000435: 13,3021 55716 RP-TO-R 050062,000436: 13,3022 74235 VXV VXSC 050063,000437: 13,3023 01535 RCV 050064,000438: 13,3024 26001 OMEGMOON 050065,000439: 13,3025 25543 STOVL VCV 050066,000440: 13,3026 24007 ZEROVEC 050067,000441: 13,3027 01521 STORE TDELTAV 050068,000442: 13,3030 67174 AXT,2 SXA,2 050069,000443: 13,3031 00002 2 050070,000444: 13,3032 02030 PBODY 050071,000445: 13,3033 35527 STCALL TNUV 050072,000446: 13,3034 27156 A-PCHK 050073,000447: 13,3035 33041 SETBANK CAF INTBANK 050074,000448: 13,3036 54006 TS BBANK 050075,000449: 13,3037 33446 CAF FORTYONE 050076,000450: 13,3040 00002 TC Q 050077,000451: 13,3041 E3,1554 EBANK= RRECTCSM 050078,000452: 13,3041 26063 INTBANK BBCON INTEGRV 050079,000453: 050080,000454: # SPECIAL PURPOS ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH 050081,000455: # APPROPRIATE SWITCHES SET OR CLEARED FOR TEH DESIRED INTEGRATION. 050082,000456: 050083,000457: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1. 050084,000458: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE. 050085,000459: # THE PERMANENT STATE VECTOR IS NOT UPDATED. 050086,000460: 050087,000461: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLER'S METHOD TO THE TIME INDICATED IN TDEC1. 050088,000462: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN 050089,000463: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLER'S EQUATION. 050090,000464: 050091,000465: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID. 050092,000466: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS: 050093,000467: # CSMPREC CSMCONIC LEMPREC LEMCONIC 050094,000468: # VINTFLAG SET SET CLEAR CLEAR 050095,000469: # INTYPFLG CLEAR SET CLEAR SET 050096,000470: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR 050097,000471: 050098,000472: # CALLING SEQUENCE 050099,000473: # L-X STORE TDEC1 050100,000474: # Page 1212 050101,000475: # L CALL (STCALL TDEC1) 050102,000476: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC) 050103,000477: 050104,000478: # NORMAL EXIT TO L+2 050105,000479: 050106,000480: # SUBROUTINES CALLED 050107,000481: # INTEGRV1 050108,000482: # PRECOUT FOR CSMPREC AND LEMPREC 050109,000483: # CONICOUT FOR CSMCONIC AND LEMCONIC 050110,000484: 050111,000485: # OUTPUT -- SEE PAGE 2 OF THIS LOG SECTION 050112,000486: 050113,000487: # INPUT 050114,000488: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28 050115,000489: 050116,000490: 13,3042 45020 CSMPREC STQ CALL 050117,000491: 13,3043 00046 X1 050118,000492: 13,3044 27410 INTSTALL 050119,000493: 13,3045 43130 SXA,1 SET 050120,000494: 13,3046 02102 IRETURN 050121,000495: 13,3047 01474 VINTFLAG 050122,000496: 050123,000497: 13,3050 43014 IFLAGP SET CLEAR 050124,000498: 13,3051 01467 PRECIFLG 050125,000499: 13,3052 01676 DIM0FLAG 050126,000500: 13,3053 77614 CLRGO 050127,000501: 13,3054 01633 INTYPFLG 050128,000502: 13,3055 27135 INTEGRV1 050129,000503: 13,3056 45020 LEMPREC STQ CALL 050130,000504: 13,3057 00046 X1 050131,000505: 13,3060 27410 INTSTALL 050132,000506: 13,3061 43130 SXA,1 CLRGO 050133,000507: 13,3062 02102 IRETURN 050134,000508: 13,3063 01634 VINTFLAG 050135,000509: 13,3064 27050 IFLAGP 050136,000510: 050137,000511: 13,3065 45020 CSMCONIC STQ CALL 050138,000512: 13,3066 00046 X1 050139,000513: 13,3067 27410 INTSTALL 050140,000514: 13,3070 43130 SXA,1 SET 050141,000515: 13,3071 02102 IRETURN 050142,000516: 13,3072 01474 VINTFLAG 050143,000517: 13,3073 43014 IFLAGC CLEAR SETGO 050144,000518: 13,3074 01676 DIM0FLAG 050145,000519: 13,3075 01433 INTYPFLG 050146,000520: 13,3076 27135 INTEGRV1 050147,000521: 13,3077 45020 LEMCONIC STQ CALL 050148,000522: 13,3100 00046 X1 050149,000523: 13,3101 27410 INTSTALL 050150,000524: 13,3102 43130 SXA,1 CLRGO 050151,000525: # Page 1213 050152,000526: 13,3103 02102 IRETURN 050153,000527: 13,3104 01634 VINTFLAG 050154,000528: 13,3105 27073 IFLAGC 050155,000529: 050156,000530: 13,3106 66214 INTEGRVS SET SSP 050157,000531: 13,3107 01467 PRECIFLG 050158,000532: 13,3110 02031 PBODY 050159,000533: 13,3111 00000 0 050160,000534: 13,3112 66214 BOF SSP 050161,000535: 13,3113 00343 MOONFLAG 050162,000536: 13,3114 27117 +3 050163,000537: 13,3115 02031 PBODY 050164,000538: 13,3116 00002 2 050165,000539: 13,3117 77220 STQ VLOAD 050166,000540: 13,3120 02102 IRETURN 050167,000541: 13,3121 24007 ZEROVEC 050168,000542: 13,3122 01521 STORE TDELTAV 050169,000543: 13,3123 35527 STCALL TNUV 050170,000544: 13,3124 27671 RECTIFY 050171,000545: 13,3125 43014 CLEAR SET 050172,000546: 13,3126 01676 DIM0FLAG 050173,000547: 13,3127 04062 NEWIFLG 050174,000548: 13,3130 77614 SETGO 050175,000549: 13,3131 04020 RPQFLAG 050176,000550: 13,3132 27147 ALOADED 050177,000551: 050178,000552: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER, 050179,000553: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE 050180,000554: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS. 050181,000555: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG. 050182,000556: # PROGRAM FOR PRECISION OR CONIC. 050183,000557: 050184,000558: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE 050185,000559: # SETTING ANY FLAGS. 050186,000560: 050187,000561: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE 050188,000562: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS) 050189,000563: # INTYPFLG 050190,000564: # DIM0FLAG 050191,000565: # D6OR9FLG 050192,000566: 050193,000567: # CALLING SEQUENCE 050194,000568: # L-X CALL 050195,000569: # L-Y INTSTALL 050196,000570: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED 050197,000571: # AND DIM0FLAG IS CLEAR. 050198,000572: # L CALL 050199,000573: # L+1 INTEGRV 050200,000574: 050201,000575: # INITIALIZATION 050202,000576: # FLAGS AS ABOVE 050203,000577: # STORE TIME TO INTEGRATE TO IN TDEC1 050204,000578: 050205,000579: # OUTPUT 050206,000580: # RATT AS 050207,000581: # Page 1214 050208,000582: # VATT DEFINED 050209,000583: # TAT BEFORE 050210,000584: 050211,000585: 13,3133 77620 INTEGRV STQ 050212,000586: 13,3134 02102 IRETURN 050213,000587: 13,3135 43014 INTEGRV1 SET SET 050214,000588: 13,3136 04060 RPQFLAG 050215,000589: 13,3137 04062 NEWIFLG 050216,000590: 13,3140 77731 INTEGRV2 SSP 050217,000591: 13,3141 00053 QPRET 050218,000592: 13,3142 27147 ALOADED 050219,000593: 13,3143 52014 BON GOTO 050220,000594: 13,3144 01714 VINTFLAG 050221,000595: 13,3145 26704 PTOACSM 050222,000596: 13,3146 26757 PTOALEM 050223,000597: 13,3147 77745 ALOADED DLOAD 050224,000598: 13,3150 00041 TDEC1 050225,000599: 13,3151 01115 STORE TDEC 050226,000600: 13,3152 52014 BOFF GOTO 050227,000601: 13,3153 01753 INTYPFLG 050228,000602: 13,3154 27256 TESTLOOP 050229,000603: 13,3155 27242 RVCON 050230,000604: 13,3156 77414 A-PCHK BOF EXIT 050231,000605: 13,3157 01752 STATEFLG 050232,000606: 13,3160 27177 RECTOUT 050233,000607: 13,3161 05353 TC PHASCHNG 050234,000608: 13,3162 04022 OCT 04022 050235,000609: 13,3163 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN 050236,000610: 13,3164 00236 ADRES REINTFLG # INTSTALL AND INTWAKE 050237,000611: 13,3165 06042 TC INTPRET 050238,000612: 13,3166 77731 SSP 050239,000613: 13,3167 00053 QPRET 050240,000614: 13,3170 27175 PHEXIT 050241,000615: 13,3171 52014 BON GOTO 050242,000616: 13,3172 01714 VINTFLAG 050243,000617: 13,3173 26660 ATOPCSM 050244,000618: 13,3174 26733 ATOPLEM 050245,000619: 13,3175 77624 PHEXIT CALL 050246,000620: 13,3176 11210 GRP2PC 050247,000621: 13,3177 45001 RECTOUT SETPD CALL 050248,000622: 13,3200 00001 0 050249,000623: 13,3201 27671 RECTIFY 050250,000624: 13,3202 53775 VLOAD VSL* 050251,000625: 13,3203 01503 RRECT 050252,000626: 13,3204 57576 0,2 050253,000627: 13,3205 53715 PDVL VSL* # RATT TO PD0 050254,000628: 13,3206 01511 VRECT 050255,000629: 13,3207 57576 0,2 050256,000630: 13,3210 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12 050257,000631: # Page 1215 050258,000632: 13,3211 01517 TET 050259,000633: 13,3212 01503 RRECT 050260,000634: 13,3213 64715 PDVL PDDL* 050261,000635: 13,3214 01511 VRECT 050262,000636: 13,3215 51770 MUEARTH,2 050263,000637: 13,3216 76006 PUSH AXT,1 050264,000638: 13,3217 77765 DEC -10 B-14 050265,000639: 13,3220 76014 BON AXT,1 050266,000640: 13,3221 00303 MOONFLAG 050267,000641: 13,3222 27224 +2 050268,000642: 13,3223 77775 DEC -2 B-14 050269,000643: 13,3224 40001 INTEXIT SETPD BOV 050270,000644: 13,3225 00001 0 050271,000645: 13,3226 27227 +1 050272,000646: 13,3227 43014 CLEAR CLEAR 050273,000647: 13,3230 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR 050274,000648: 13,3231 01667 PRECIFLG 050275,000649: 13,3232 77614 CLEAR 050276,000650: 13,3233 01672 STATEFLG 050277,000651: 13,3234 77535 SLOAD EXIT 050278,000652: 13,3235 02103 IRETURN 050279,000653: 13,3236 30154 CA MPAC 050280,000654: 13,3237 50120 INDEX FIXLOC 050281,000655: 13,3240 54052 TS QPRET 050282,000656: 13,3241 03421 TC INTWAKE 050283,000657: 050284,000658: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND 050285,000659: # VELOCITY FOR THE INTERVAL (TET-TDEC) 050286,000660: 050287,000661: 13,3242 45345 RVCON DLOAD DSU 050288,000662: 13,3243 01115 TDEC 050289,000663: 13,3244 01517 TET 050290,000664: 13,3245 36074 STCALL TAU. 050291,000665: 13,3246 27671 RECTIFY 050292,000666: 13,3247 77624 CALL 050293,000667: 13,3250 22404 KEPPREP 050294,000668: 13,3251 43345 DLOAD DAD 050295,000669: 13,3252 01551 TC 050296,000670: 13,3253 01517 TET 050297,000671: 13,3254 35517 STCALL TET 050298,000672: 13,3255 27177 RECTOUT 050299,000673: 050300,000674: # Page 1216 050301,000675: 13,3256 43014 TESTLOOP BOF CLRGO 050302,000676: 13,3257 04752 QUITFLAG 050303,000677: 13,3260 27263 +3 050304,000678: 13,3261 01632 STATEFLG 050305,000679: 13,3262 27224 INTEXIT # STOP INTEGRATION 050306,000680: 13,3263 73001 +3 SETPD LXA,2 050307,000681: 13,3264 00013 10D 050308,000682: 13,3265 02030 PBODY 050309,000683: 13,3266 51575 VLOAD ABVAL 050310,000684: 13,3267 01535 RCV 050311,000685: 13,3270 43006 PUSH CLEAR # RC TO 10D 050312,000686: 13,3271 00262 MIDFLAG 050313,000687: 13,3272 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP 050314,000688: 13,3273 53755 RME,2 050315,000689: 13,3274 27277 +3 050316,000690: 13,3275 77614 SET 050317,000691: 13,3276 00062 MIDFLAG 050318,000692: 13,3277 41345 NORFINAL DLOAD DMP 050319,000693: 13,3300 00013 10D 050320,000694: 13,3301 00043 34D 050321,000695: 13,3302 55762 SR1R DDV* 050322,000696: 13,3303 51770 MUEARTH,2 050323,000697: 13,3304 41366 SQRT DMP 050324,000698: 13,3305 25762 .3D 050325,000699: 13,3306 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE 050326,000700: 13,3307 54345 DLOAD SL 050327,000701: 13,3310 00155 MPAC 050328,000702: 13,3311 20220 15D # OF 128 CSECS. 050329,000703: 13,3312 40006 PUSH BOV 050330,000704: 13,3313 27340 MAXDT 050331,000705: 13,3314 50021 BDSU BMN 050332,000706: 13,3315 27407 DT/2MAX 050333,000707: 13,3316 27340 MAXDT 050334,000708: 13,3317 45345 DT/2COMP DLOAD DSU 050335,000709: 13,3320 01115 TDEC 050336,000710: 13,3321 01517 TET 050337,000711: 13,3322 54234 RTB SL 050338,000712: 13,3323 21613 SGNAGREE 050339,000713: 13,3324 20211 8D 050340,000714: 13,3325 02076 STORE DT/2 # B-19 050341,000715: 13,3326 51400 BOV ABS 050342,000716: 13,3327 27344 GETMAXDT 050343,000717: 13,3330 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME 050344,000718: 13,3331 00015 12D 050345,000719: 13,3332 27350 P00HCHK 050346,000720: 13,3333 75345 USEMAXDT DLOAD SIGN 050347,000721: 13,3334 00015 12D 050348,000722: 13,3335 02076 DT/2 050349,000723: # Page 1217 050350,000724: 13,3336 36076 STCALL DT/2 050351,000725: 13,3337 27350 P00HCHK 050352,000726: 13,3340 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX. 050353,000727: 13,3341 27407 DT/2MAX 050354,000728: 13,3342 77650 GOTO 050355,000729: 13,3343 27317 DT/2COMP 050356,000730: 13,3344 77634 GETMAXDT RTB 050357,000731: 13,3345 21713 SIGNMPAC 050358,000732: 13,3346 36076 STCALL DT/2 050359,000733: 13,3347 27333 USEMAXDT 050360,000734: 13,3350 51545 P00HCHK DLOAD ABS 050361,000735: 13,3351 02076 DT/2 050362,000736: 13,3352 50025 DSU BMN 050363,000737: 13,3353 27405 DT/2MIN 050364,000738: 13,3354 27156 A-PCHK 050365,000739: 13,3355 43014 BOFF BON # NO BACKWARDS INTEGRATION 050366,000740: 13,3356 01740 P00HFLAG # WHEN IN P00 050367,000741: 13,3357 23311 TIMESTEP 050368,000742: 13,3360 01707 PRECIFLG 050369,000743: 13,3361 23311 TIMESTEP 050370,000744: 13,3362 45345 DLOAD DSU 050371,000745: 13,3363 02076 DT/2 050372,000746: 13,3364 00015 12D 050373,000747: 13,3365 43040 BMN BOFCLR 050374,000748: 13,3366 27156 A-PCHK 050375,000749: 13,3367 04242 NEWIFLG 050376,000750: 13,3370 23311 TIMESTEP 050377,000751: 13,3371 45345 DLOAD DSU 050378,000752: 13,3372 01115 TDEC 050379,000753: 13,3373 01517 TET 050380,000754: 13,3374 77640 BMN # NO BACKWARD INTEGRATION 050381,000755: 13,3375 27224 INTEXIT 050382,000756: 13,3376 40525 PDDL SR4 050383,000757: 13,3377 02076 DT/2 # IS 4(DT) LS (TDEC - TET) 050384,000758: 13,3400 44322 SR2R BDSU 050385,000759: 13,3401 52040 BMN GOTO 050386,000760: 13,3402 27224 INTEXIT 050387,000761: 13,3403 23311 TIMESTEP 050388,000762: 13,3404 00000 01400 DT/2MIN 2DEC 3 B-20 050389,000763: 13,3406 14152 00000 DT/2MAX 2DEC 4000 E2 B-20 050390,000764: 050391,000765: 13,3410 77776 INTSTALL EXIT 050392,000766: 13,3411 30106 CA RASFLAG 050393,000767: 13,3412 73462 MASK INTBITAB # IS THIS STALL AREA FREE 050394,000768: 13,3413 00006 EXTEND 050395,000769: 13,3414 13454 BZF OKTOGRAB # YES 050396,000770: 13,3415 33461 CAF WAKESTAL 050397,000771: 13,3416 05133 TC JOBSLEEP 050398,000772: 13,3417 77776 INTWAKE0 EXIT 050399,000773: # Page 1218 050400,000774: 13,3420 13441 TCF INTWAKE1 050401,000775: 050402,000776: 13,3421 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE 050403,000777: 13,3422 74745 MASK REINTBIT # RESTARTED 050404,000778: 13,3423 10000 CCS A 050405,000779: 13,3424 03441 TC INTWAKE1 # NO 050406,000780: 050407,000781: 13,3425 50120 INDEX FIXLOC 050408,000782: 13,3426 30052 CA QPRET 050409,000783: 13,3427 55054 TS TBASE2 # YES, DON'T RESTART WITH SOMEONE ELSE'S Q 050410,000784: 050411,000785: 13,3430 05353 TC PHASCHNG 050412,000786: 13,3431 04022 OCT 04022 050413,000787: 050414,000788: 13,3432 31054 CA TBASE2 050415,000789: 13,3433 50120 INDEX FIXLOC 050416,000790: 13,3434 54052 TS QPRET 050417,000791: 050418,000792: 13,3435 34745 CAF REINTBIT 050419,000793: 13,3436 70106 MASK RASFLAG 050420,000794: 13,3437 00006 EXTEND 050421,000795: 13,3440 13457 BZF GOBAC # DON'T INTWAKE IF WE CAME HERE VIA RESTART 050422,000796: 050423,000797: 13,3441 33461 INTWAKE1 CAF WAKESTAL 050424,000798: 13,3442 00004 INHINT 050425,000799: 13,3443 05137 TC JOBWAKE 050426,000800: 13,3444 10064 CCS LOCCTR 050427,000801: 13,3445 13441 TCF INTWAKE1 050428,000802: 13,3446 00051 FORTYONE DEC 41 B-14 050429,000803: 13,3447 43462 CS INTBITAB 050430,000804: 13,3450 70106 MASK RASFLAG 050431,000805: 13,3451 54106 TS RASFLAG # RELEASE STALL AREA 050432,000806: 13,3452 00003 RELINT 050433,000807: 13,3453 13457 TCF GOBAC 050434,000808: 13,3454 34736 OKTOGRAB CAF INTFLBIT 050435,000809: 13,3455 00004 INHINT 050436,000810: 13,3456 26106 ADS RASFLAG 050437,000811: 13,3457 06042 GOBAC TC INTPRET 050438,000812: 13,3460 77616 RVQ 050439,000813: 13,3461 27411 WAKESTAL CADR INTSTALL +1 050440,000814: 13,3462 20100 INTBITAB OCT 20100 050441,000815: 050442,000816: # Page 1219 050443,000817: # AVETOMID 050444,000818: 050445,000819: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST 050446,000820: # PHASE BY INITIALIZING THIS VEHICLE'S PERMANENT STATE VECTOR WITH THE 050447,000821: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME. 050448,000822: 050449,000823: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLT IS 050450,000824: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR. 050451,000825: 050452,000826: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME. 050453,000827: 050454,000828: # FINALLY TRKMKCNT IS ZEROED. 050455,000829: 050456,000830: 13,2000 SETLOC INTINIT 050457,000831: 13,2000 BANK 050458,000832: 050459,000833: 13,3463 COUNT* $$/INTIN 050460,000834: 13,3463 43020 AVETOMID STQ BON 050461,000835: 13,3464 02772 EGRESS 050462,000836: 13,3465 02716 RENDWFLG 050463,000837: 13,3466 27532 INT/W # W-MATRIX VALID, GO INTEGRATE IT 050464,000838: 13,3467 77614 BON 050465,000839: 13,3470 01711 ORBWFLAG 050466,000840: 13,3471 27532 INT/W # W-MATRIX VALID, GO INTEGRATE IT. 050467,000841: 050468,000842: 13,3472 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION 050469,000843: 13,3473 01234 PIPTIME # DESIRED TIME 050470,000844: 13,3474 27410 INTSTALL 050471,000845: 13,3475 45014 SET CALL 050472,000846: 13,3476 01474 VINTFLAG # CM 050473,000847: 13,3477 26643 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG. 050474,000848: 13,3500 34041 STCALL TDEC1 050475,000849: 13,3501 27133 INTEGRV 050476,000850: 050477,000851: 13,3502 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS 050478,000852: 13,3503 00002 2 # PIPTIME TO INTEGRATION ERASABLES. 050479,000853: 13,3504 27410 INTSTALL 050480,000854: 13,3505 77014 BON AXT,2 050481,000855: 13,3506 04304 MOONTHIS 050482,000856: 13,3507 27511 +2 050483,000857: 13,3510 00000 0 050484,000858: 13,3511 53775 VLOAD VSR* 050485,000859: 13,3512 01220 RN 050486,000860: 13,3513 57176 0,2 050487,000861: 13,3514 01503 STORE RRECT 050488,000862: 13,3515 15535 STODL RCV 050489,000863: 13,3516 01234 PIPTIME 050490,000864: 13,3517 25517 STOVL TET 050491,000865: 13,3520 01226 VN 050492,000866: # Page 1220 050493,000867: 13,3521 45057 VSR* CALL 050494,000868: 13,3522 57176 0,2 050495,000869: 13,3523 27705 MINIRECT # FINISH SETTING UP STATE VECTOR 050496,000870: 13,3524 66234 RTB SSP 050497,000871: 13,3525 26746 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT 050498,000872: 13,3526 03463 TRKMKCNT 050499,000873: 13,3527 00000 0 050500,000874: 13,3530 77650 GOTO 050501,000875: 13,3531 47230 FAZAB5 050502,000876: 050503,000877: 13,3532 45145 INT/W DLOAD CALL 050504,000878: 13,3533 01234 PIPTIME # INTEGRATE W THRU BURN 050505,000879: 13,3534 27410 INTSTALL 050506,000880: 13,3535 43014 SET SET 050507,000881: 13,3536 01476 DIM0FLAG # DO W-MATRIX 050508,000882: 13,3537 04476 AVEMIDSW # SO WON'T CLOBBER RN,VN,PIPTIME 050509,000883: 13,3540 43014 SET CLEAR 050510,000884: 13,3541 01475 D6OR9FLG # 9X9 FOR LM 050511,000885: 13,3542 01674 VINTFLAG # LM 050512,000886: 13,3543 34041 STCALL TDEC1 050513,000887: 13,3544 27133 INTEGRV 050514,000888: 13,3545 77650 GOTO 050515,000889: 13,3546 27472 OTHERS # NOW GO DO THE OTHER VEHICLE 050516,000890: 050517,000891: # Page 1221 050518,000892: # MIDTOAV1 050519,000893: 050520,000894: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1. 050521,000895: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA 050522,000896: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATION TIME FOR ONE TIME STEP) 050523,000897: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION 050524,000898: # IS DONE TO THE CURRENT TIME. 050525,000899: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE. 050526,000900: 050527,000901: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC 050528,000902: # TO THE RETURN ADDRESS. 050529,000903: 050530,000904: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRANSFERRED 050531,000905: # FROM R,VATT TO R,VN1 -- PIPTIME1 IS SET TO THE FINISHING INTEGRATION 050532,000906: # TIME AND MPAC IS SET TO THE DELTA TIME -- 050533,000907: # TAT MINUS CURRENT TIME 050534,000908: 050535,000909: # MIDTOAV2 050536,000910: 050537,000911: # THIS ROUTINE INTEGRATES THIS VEHICLE'S STATE VECTOR TO THE CURRENT TIME. 050538,000912: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN 050539,000913: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1 -- PIPTIME1 -- AND MPAC DONE 050540,000914: 050541,000915: 13,3547 E7,1744 EBANK= IRETURN1 050542,000916: 13,3547 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT 050543,000917: 13,3550 03744 IRETURN1 050544,000918: 13,3551 04634 MID1FLAG 050545,000919: 13,3552 27566 ENTMID2 050546,000920: 050547,000921: 13,3553 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1 050548,000922: 13,3554 03744 IRETURN1 050549,000923: 13,3555 04474 MID1FLAG 050550,000924: 13,3556 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE 050551,000925: 13,3557 21574 LOADTIME 050552,000926: 13,3560 27670 TIMEDELT 050553,000927: 13,3561 51021 BDSU BPL 050554,000928: 13,3562 00041 TDEC1 050555,000929: 13,3563 27572 ENTMID1 # Y5S 050556,000930: 13,3564 77624 CALL 050557,000931: 13,3565 27656 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2 050558,000932: 050559,000933: 13,3566 43234 ENTMID2 RTB DAD 050560,000934: 13,3567 21574 LOADTIME 050561,000935: 13,3570 27670 TIMEDELT 050562,000936: 13,3571 00041 STORE TDEC1 050563,000937: 050564,000938: 13,3572 77624 ENTMID1 CALL 050565,000939: 13,3573 27410 INTSTALL 050566,000940: 13,3574 45014 CLEAR CALL 050567,000941: # Page 1222 050568,000942: 13,3575 01676 DIM0FLAG # NO W-MATRIX 050569,000943: 13,3576 26066 THISVINT 050570,000944: 13,3577 43014 CLEAR SET 050571,000945: 13,3600 01673 INTYPFLG 050572,000946: 13,3601 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV. 050573,000947: 13,3602 77624 CALL 050574,000948: 13,3603 27133 INTEGRV # GO INTEGRATE 050575,000949: 13,3604 77214 CLEAR VLOAD 050576,000950: 13,3605 04675 MIDAVFLG 050577,000951: 13,3606 00001 RATT 050578,000952: 13,3607 27545 STOVL RN1 050579,000953: 13,3610 00007 VATT 050580,000954: 13,3611 17553 STODL VN1 050581,000955: 13,3612 00015 TAT 050582,000956: 13,3613 03561 STORE PIPTIME1 050583,000957: 13,3614 66134 SXA,2 SXA,1 050584,000958: 13,3615 02777 RTX2 050585,000959: 13,3616 02776 RTX1 050586,000960: 13,3617 77776 EXIT 050587,000961: 050588,000962: 13,3620 00004 INHINT 050589,000963: 13,3621 00006 EXTEND 050590,000964: 13,3622 40025 DCS TIME2 050591,000965: 13,3623 20155 DAS MPAC 050592,000966: 13,3624 07262 TC TPAGREE 050593,000967: 050594,000968: 13,3625 31744 CA IRETURN1 050595,000969: 13,3626 04640 TC BANKJUMP 050596,000970: 13,3627 47014 CKMID2 BOF RTB 050597,000971: 13,3630 04754 MID1FLAG 050598,000972: 13,3631 27646 MID2 050599,000973: 13,3632 21574 LOADTIME 050600,000974: 13,3633 44215 DAD BDSU 050601,000975: 13,3634 27670 TIMEDELT 050602,000976: 13,3635 01115 TDEC 050603,000977: 13,3636 45044 BPL CALL 050604,000978: 13,3637 27256 TESTLOOP # YES 050605,000979: 13,3640 27656 NOTIME 050606,000980: 050607,000981: 13,3641 43234 TIMEINC RTB DAD 050608,000982: 13,3642 21574 LOADTIME 050609,000983: 13,3643 27670 TIMEDELT 050610,000984: 13,3644 35115 STCALL TDEC 050611,000985: 13,3645 27256 TESTLOOP 050612,000986: 050613,000987: 13,3646 45345 MID2 DLOAD DSU 050614,000988: 13,3647 01115 TDEC 050615,000989: 13,3650 01517 TET 050616,000990: 13,3651 45246 ABS DSU 050617,000991: 13,3652 27666 3CSECS 050618,000992: 050619,000993: # Page 1223 050620,000994: 13,3653 52040 BMN GOTO 050621,000995: 13,3654 27156 A-PCHK 050622,000996: 13,3655 27641 TIMEINC 050623,000997: 050624,000998: 13,3656 77414 NOTIME CLEAR EXIT # TOO LATE 050625,000999: 13,3657 04674 MID1FLAG 050626,001000: 13,3660 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2) 050627,001001: 13,3661 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION -- 050628,001002: 13,3662 01703 OCT 1703 # TIG WILL BE SLIPPED... 050629,001003: 13,3663 06042 TC INTPRET 050630,001004: 13,3664 77616 RVQ 050631,001005: 050632,001006: 13,3665 00000 00003 3CSECS 2DEC 3 B-28 050633,001007: 13,3667 00000 03720 TIMEDELT 2DEC 2000 B-28 050634,001008: 050635,001009: 27,3361 BANK 27 050636,001010: 04,2000 SETLOC UPDATE2 050637,001011: 04,2000 BANK 050638,001012: 04,3131 1166 EBANK= INTWAKUQ 050639,001013: 050640,001014: 04,3131 COUNT* $$/INTIN 050641,001015: 050642,001016: 04,3131 1166 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG 050643,001017: 050644,001018: 04,3131 00003 INTWAKEU RELINT 050645,001019: 04,3132 00006 EXTEND 050646,001020: 04,3133 23166 QXCH INTWAKUQ # SAVE Q FOR RETURN 050647,001021: 050648,001022: 04,3134 06042 TC INTPRET 050649,001023: 050650,001024: 04,3135 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE 050651,001025: 04,3136 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP. 050652,001026: 04,3137 11176 INTWAKUP 050653,001027: 050654,001028: 04,3140 77775 VLOAD # MOVE PRECT(6) AND VRECT(6) INTO 050655,001029: 04,3141 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY. 050656,001030: 04,3142 25535 STOVL RCV 050657,001031: 04,3143 01511 VRECT # NOW GO TO `RECTIFY +13D' TO 050658,001032: 04,3144 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT 050659,001033: 04,3145 27706 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2), AND XKEP(2) 050660,001034: 04,3146 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF `UPSVFLAG' 050661,001035: 04,3147 01502 UPSVFLAG # TO `UPDATE MOON STATE VECTOR CODE' 050662,001036: 04,3150 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO 050663,001037: 04,3151 11207 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR 050664,001038: 04,3152 11157 INTWAKEM # SPHERE OF INFLUENCE........ 050665,001039: 04,3153 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE. 050666,001040: 04,3154 00000 DEC 0 B-14 050667,001041: 04,3155 00223 MOONFLAG 050668,001042: # Page 1224 050669,001043: 04,3156 11162 INTWAKEC 050670,001044: 04,3157 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE. 050671,001045: 04,3160 00002 DEC 2 B-14 050672,001046: 04,3161 00063 MOONFLAG 050673,001047: 04,3162 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND 050674,001048: # MOONFLAG SET (OR CLEARED). 050675,001049: 04,3163 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM 050676,001050: 04,3164 11172 INTWAKLM # STATE VECTOR UPDATE...... 050677,001051: 04,3165 77624 CALL # UPDATE CSM STATE VECTOR 050678,001052: 04,3166 26660 ATOPCSM 050679,001053: 050680,001054: 04,3167 52014 CLEAR GOTO 050681,001055: 04,3170 01671 ORBWFLAG 050682,001056: 04,3171 11174 INTWAKEX 050683,001057: 050684,001058: 04,3172 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR 050685,001059: 04,3173 26733 ATOPLEM 050686,001060: 050687,001061: 04,3174 77614 INTWAKEX CLEAR 050688,001062: 04,3175 02676 RENDWFLG 050689,001063: 050690,001064: 04,3176 45131 INTWAKUP SSP CALL # REMOVE `UPDATE STATE VECTOR INDICATOR' 050691,001065: 04,3177 01502 UPSVFLAG 050692,001066: 04,3200 00000 0 050693,001067: 04,3201 27417 INTWAKE0 # RELEASE `GRAB' OF ORBIT INTEG. 050694,001068: 04,3202 77776 EXIT 050695,001069: 050696,001070: 04,3203 05353 TC PHASCHNG 050697,001071: 04,3204 04026 OCT 04026 050698,001072: 04,3205 01166 TC INTWAKUQ 050699,001073: 050700,001074: 04,3206 00002 UPMNSVCD OCT 2 050701,001075: 04,3207 00000 OCT 0 050702,001076: 050703,001077: 04,3210 77420 GRP2PC STQ EXIT 050704,001078: 04,3211 02711 GRP2SVQ 050705,001079: 04,3212 05353 TC PHASCHNG 050706,001080: 04,3213 04022 OCT 04022 050707,001081: 04,3214 06042 TC INTPRET 050708,001082: 04,3215 77650 GOTO 050709,001083: 04,3216 02711 GRP2SVQ 050710,001084: End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc