Source Code

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