Source Code

055188,000001: # Copyright: Public domain. 055189,000002: # Filename: INTEGRATION_INITIALIZATION.agc 055190,000003: # Purpose: Part of the source code for Colossus, build 249. 055191,000004: # It is part of the source code for the Command Module's (CM) 055192,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9. 055193,000006: # Assembler: yaYUL 055194,000007: # Reference: Starts on p. 1291 of 1701.pdf. 055195,000008: # Contact: Ron Burkey <info@sandroid.org>. 055196,000009: # Website: www.ibiblio.org/apollo. 055197,000010: # Mod history: 08/29/04 RSB. Began adapting from corresponding Luminary131 file. 055198,000011: # 2010-10-24 JL Indentation fixes. 055199,000012: 055200,000013: # The contents of the "Colossus249" files, in general, are transcribed 055201,000014: # from a scanned document obtained from MIT's website, 055202,000015: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this 055203,000016: # document read, in part: 055204,000017: 055205,000018: # Assemble revision 249 of AGC program Colossus by NASA 055206,000019: # 2021111-041. October 28, 1968. 055207,000020: 055208,000021: # This AGC program shall also be referred to as 055209,000022: # Colossus 1A 055210,000023: 055211,000024: # Prepared by 055212,000025: # Massachusetts Institute of Technology 055213,000026: # 75 Cambridge Parkway 055214,000027: # Cambridge, Massachusetts 055215,000028: # under NASA contract NAS 9-4065. 055216,000029: 055217,000030: # Refer directly to the online document mentioned above for further information. 055218,000031: # Please report any errors (relative to 1701.pdf) to info@sandroid.org. 055219,000032: 055220,000033: # In some cases, where the source code for Luminary 131 overlaps that of 055221,000034: # Colossus 249, this code is instead copied from the corresponding Luminary 131 055222,000035: # source file, and then is proofed to incorporate any changes. 055223,000036: 055224,000037: # Page 1291 055225,000038: # 1.0 INTRODUCTION 055226,000039: # ---------------- 055227,000040: 055228,000041: # FROM A USER'S POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION 055229,000042: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND 055230,000043: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF 055231,000044: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUTSIDE 055232,000045: # THE LUNAR SPHERE OF INFLUENCE. 055233,000046: 055234,000047: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM 055235,000048: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE 055236,000049: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE 055237,000050: # CALL TC INTSTALL. 055238,000051: 055239,000052: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND 055240,000053: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE 055241,000054: # BOTH THE LM'S POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM. 055242,000055: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND 055243,000056: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL. 055244,000057: 055245,000058: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION 055246,000059: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL 055247,000060: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC "INTEGRATION" THE USER MAY STILL USE ZERO 055248,000061: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME. 055249,000062: 055250,000063: # 2.0 CENTRAL DESCRIPTION 055251,000064: # ----------------------- 055252,000065: 055253,000066: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS -- 055254,000067: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR 055255,000068: # 2) INTEGRATES THE W-MATRIX 055256,000069: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR 055257,000070: 055258,000071: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET 055259,000072: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF 055260,000073: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO 055261,000074: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR 055262,000075: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES 055263,000076: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE 055264,000077: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE 055265,000078: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS 055266,000079: # AND/OR STATE VECTOR. 055267,000080: 055268,000081: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE 055269,000082: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION 055270,000083: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS. 055271,000084: 055272,000085: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE ODER THAN 4 TIMESTEPS. 055273,000086: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV 055274,000087: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.) 055275,000088: 055276,000089: # Page 1292 055277,000090: # APPENDIX B OF THE USERS' GUIDE LISTS THE STATE VECTOR QUANTITIES. 055278,000091: 055279,000092: # 2.1 RESTARTS 055280,000093: 055281,000094: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS 055282,000095: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS 055283,000096: # (I.E., GROUP2) WINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN 055284,000097: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING 055285,000098: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION WHOULD ENSURE THAT IF PHASE CHANGING IS DONE 055286,000099: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST. 055287,000100: 055288,000101: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART. 055289,000102: 055290,000103: # 2.2 SCALING 055291,000104: 055292,000105: # THE INTEGRATION ROUTIEN WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN 055293,000106: # APPENDIX B OF THE USERS' GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE 055294,000107: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON 055295,000108: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN 055296,000109: # DIFFERENT SCALING. 055297,000110: 055298,000111: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME. 055299,000112: 055300,000113: # 3.0 INPUT/OUTPUT 055301,000114: # ---------------- 055302,000115: 055303,000116: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN 055304,000117: # APPENDIX B OF THE USERS' GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION). 055305,000118: # FOR INTEGRVS, THE RCV,VCV,TET OR THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG 055306,000119: 055307,000120: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET --- 055308,000121: # EARTH MOON 055309,000122: # 29 27 055310,000123: # RRECTCSM(LEM) RECTIFIED POSITION VECTOR METERS 2 2 055311,000124: 055312,000125: # 7 5 055313,000126: # VRECTCSM(LEM) RECTIFIED VELOCITY VECTOR M/CSEC 2 2 055314,000127: 055315,000128: # 28 28 055316,000129: # TETCSM(LEM) TIME STATE VECTOR IS VALID CSEC 2 2 055317,000130: # CUSTOMARILY 0, BUT NOT LUNAR 055318,000131: # ORBIT DEPENDENCE ON REAL TIME. 055319,000132: 055320,000133: # 22 18 055321,000134: # DELTAVCSM(LEM) POSITION DEVIATION METERS 2 2 055322,000135: # 0 IF TCCSM(LEM) = 0 055323,000136: 055324,000137: # 3 -1 055325,000138: # NUVCSM(LEM) VELOCITY DEVIATION M/CSEC 2 2 055326,000139: # 0 IF TCCSM(LEM) = 0 055327,000140: # Page 1293 055328,000141: # 29 27 055329,000142: # RCVSM(LEM) CONIC POSITION METERS 2 2 055330,000143: # EQUALS RRECTCSM(LEM) IF 055331,000144: # TCCSM(LEM) = 0 055332,000145: 055333,000146: # 7 5 055334,000147: # VCVCSM(LEM) CONIC VELOCITY M/CSEC 2 2 055335,000148: # EQUALS VRECTCSM(LEM) IF 055336,000149: # TCCSM(LEM) = 0 055337,000150: 055338,000151: # 28 28 055339,000152: # TCCSM(LEM) TIME SINCE RECTIFICATION CSECS 2 2 055340,000153: # CUSTOMARILY 0 055341,000154: 055342,000155: # 1/2 17 16 055343,000156: # XKEPCSM(LEM) RDOT OF KEPLER'S EQUATION M 2 2 055344,000157: # 0 IF TCCSM(LEM) = 0 055345,000158: 055346,000159: # CMOONFLG PERMANENT FLAGS CORRESPONDING 0 0 055347,000160: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1 055348,000161: # LMOONFLG C = CSM, L = LM 0 0 055349,000162: # LMIDFLG 0,1 0,1 055350,000163: 055351,000164: # SURFFLAG LUNAR SURFACE FLAG 0,1 0,1 055352,000165: 055353,000166: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR 055354,000167: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB- 055355,000168: # ROUTINE MUST BE PRESET. 055356,000169: 055357,000170: # OUTPUT 055358,000171: # AFTER EVERY CALL TO INTEGRATION 055359,000172: # EARTH MOON 055360,000173: # 29 29 055361,000174: # 0D RATT POSITION METERS 2 2 055362,000175: 055363,000176: # 7 7 055364,000177: # 6D VATT VELOCITY M/CSEC 2 2 055365,000178: 055366,000179: # 28 28 055367,000180: # 12D TAT TIME 2 2 055368,000181: 055369,000182: # 29 27 055370,000183: # 14D RATT1 POSITION METERS 2 2 055371,000184: 055372,000185: # 7 5 055373,000186: # 20D VATT1 VELOCITY M/CSEC 2 2 055374,000187: 055375,000188: # 3 2 36 30 055376,000189: # 26D MU(P) MU M /CS 2 2 055377,000190: 055378,000191: # X1 MUTABLE ENTRY -2 -10D 055379,000192: 055380,000193: # X2 COORDINT 055381,000194: # X2 COORDINATE SYSTEM ORIGIN 0 2 055382,000195: # (THIS, NOT MOONFLAG, SHOULD BE 055383,000196: # Page 1294 055384,000197: # USED TO DETERMINE ORIGIN.) 055385,000198: 055386,000199: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER 055387,000200: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH 055388,000201: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE 055389,000202: # CALLING PROGRAM. 055390,000203: 055391,000204: # 4.0 CALLING SEQUENCES AND SAMPLE CODE 055392,000205: # ------------------------------------- 055393,000206: 055394,000207: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES 055395,000208: # L-X STORE TIME TO 96T5791T5 T 95 PUS L9ST (T4531) 055396,000209: # L CALL 055397,000210: # L+1 CSMPREC (OR LEMPREC) 055398,000211: # L+2 RETURN 055399,000212: # INPUT 28 055400,000213: # TDEC1 (PD 32D) TIME TC INTEGRATE TO...CENTISECONDS SCALED 2 055401,000214: # OUTPUT 055402,000215: # THE DATA LISTED IN SECTION 3.2 PLUS 055403,000216: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY 055404,000217: # BODY... METERS B-29 ONLY IF MIDFLAG = DIM0FLAG = 1 055405,000218: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES 055406,000219: # L-X STORE TIME IN PUSH LIST (TDEC1) 055407,000220: # L CALL 055408,000221: # L+1 CSMCONIC (OR LEMCONIC) 055409,000222: # INPUT/OUTPUT 055410,000223: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET 055411,000224: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE 055412,000225: # CALL 055413,000226: # INTSTALL 055414,000227: # VLOAD 055415,000228: # POSITION VECTOR 055416,000229: # STOVL RCV 055417,000230: # VELOCITY VECTOR 055418,000231: # STODL VCV 055419,000232: # TIME STATE VECTOR VALID 055420,000233: # STODL TET 055421,000234: # FINAL RADIUS 055422,000235: # STORE RFINAL 055423,000236: # SET(CLEAR) SET(CLEAR) 055424,000237: # INTYPFLAG 055425,000238: # MOONFLAG 055426,000239: # SET(CLEAR) DLOAD 055427,000240: # DESIRED TIME 055428,000241: # STCALL TDEC1 055429,000242: # INTEGRVS 055430,000243: # INPUT 055431,000244: # RCV POSITION VECTOR METERS 055432,000245: # VCV VELOCITY VECTOR M/CSEC 055433,000246: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28 055434,000247: # Page 1295 055435,000248: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D) 055436,000249: # (MAY BE INCREMENT IF TET=0) 055437,000250: # OUTPUT 055438,000251: # SAME AS FOR PRECISION OR CONIC INTEGRATION, 055439,000252: # DEPENDING ON INTYPFLG. 055440,000253: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE 055441,000254: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL) 055442,000255: # L-8 CALL 055443,000256: # L-7 055444,000257: # L-6 SET(CLEAR) SET(CLEAR) 055445,000258: # L-5 VINTFLAG 1=CSM, 0=LM 055446,000259: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION 055447,000260: # L-3 SET(CLEAR) SET(CLEAR) 055448,000261: # L-2 DIM0FLAG 1=W-MATRIX, 0=NO W-MATRIX 055449,000262: # L-1 D6OR9FLG 1=9X9, 0=6X6 055450,000263: # L SET DLOAD 055451,000264: # L+1 STATEFLG DESIRE PERMANENT UPDATE 055452,000265: # L+2 FINAL RAD. OF STATE VECTOR 055453,000266: # L+3 STCALL RFINAL 055454,000267: # L+4 INTEGRV 055455,000268: # L CALL NORMAL USE -- WILL UPDATE STATE 055456,000269: # L+1 INTEGRV VECTOR IF DIM0FLAG=1. (STATEFLG IS 055457,000270: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER 055458,000271: # IT USED.) 055459,000272: # INPUT 055460,000273: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28 055461,000274: # OUTPUT 055462,000275: # SAME AS FOR PRECISION OR CONIC INTEGRATION 055463,000276: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON 055464,000277: # THE PERMANENT STATE VECTOR REPRESENTATION. 055465,000278: 055466,000279: 11,2310 BANK 11 055467,000280: 13,2000 SETLOC INTINIT 055468,000281: 13,2000 BANK 055469,000282: 13,2561 E3,1554 EBANK= RRECTCSM 055470,000283: 13,2561 COUNT 13/INTIN 055471,000284: 055472,000285: 13,2561 05301 STATEINT TC PHASCHNG 055473,000286: 13,2562 00052 OCT 00052 055474,000287: 13,2563 34754 CAF PRIO5 055475,000288: 13,2564 05042 TC FINDVAC 055476,000289: 13,2565 E3,1554 EBANK= RRECTCSM 055477,000290: 13,2565 02570 26063 2CADR STATINT1 055478,000291: 055479,000292: 13,2567 05213 TC TASKOVER 055480,000293: 13,2570 06006 STATINT1 TC INTPRET 055481,000294: 13,2571 47014 BON RTB 055482,000295: 13,2572 04712 QUITFLAG 055483,000296: 13,2573 26630 NOINT # NO STATEINT IF V96 055484,000297: 13,2574 45505 LOADTIME 055485,000298: # Page 1296 055486,000299: 13,2575 00041 STORE TDEC1 055487,000300: 13,2576 77624 CALL 055488,000301: 13,2577 27371 INTSTALL 055489,000302: 13,2600 45014 SET CALL 055490,000303: 13,2601 01076 NODOFLAG 055491,000304: 13,2602 26621 SETIFLGS 055492,000305: 13,2603 77650 GOTO 055493,000306: 13,2604 26000 STATEUP 055494,000307: 13,2605 00003 25140 600SECS 2DEC 60000 B-28 055495,000308: 055496,000309: 13,2607 77414 ENDINT CLEAR EXIT 055497,000310: 13,2610 01672 STATEFLG 055498,000311: 13,2611 05301 TC PHASCHNG 055499,000312: 13,2612 20032 OCT 20032 055500,000313: 13,2613 00006 EXTEND 055501,000314: 13,2614 32606 DCA 600SECS 055502,000315: 13,2615 05231 TC LONGCALL 055503,000316: 13,2616 E3,1554 EBANK= RRECTHIS 055504,000317: 13,2616 02561 26063 2CADR STATEINT 055505,000318: 055506,000319: 13,2620 05112 TC ENDOFJOB 055507,000320: 13,2621 43014 SETIFLGS SET CLEAR 055508,000321: 13,2622 01472 STATEFLG 055509,000322: 13,2623 01673 INTYPFLG 055510,000323: 13,2624 43014 CLEAR CLEAR 055511,000324: 13,2625 01676 DIM0FLAG 055512,000325: 13,2626 01675 D6OR9FLG 055513,000326: 13,2627 77616 RVQ 055514,000327: 13,2630 77776 NOINT EXIT 055515,000328: 13,2631 05301 TC PHASCHNG 055516,000329: 13,2632 00002 OCT 2 055517,000330: 055518,000331: 13,2633 05447 TC DOWNFLAG 055519,000332: 13,2634 00221 ADRES QUITFLAG 055520,000333: 055521,000334: 13,2635 05112 TC ENDOFJOB 055522,000335: 055523,000336: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41 055524,000337: 055525,000338: # CALLING SEQUENCE 055526,000339: # L CALL 055527,000340: # L+1 ATOPCSM 055528,000341: 055529,000342: # NORMAL EXIT AT L+2 055530,000343: 055531,000344: 13,2636 47020 ATOPCSM STQ RTB 055532,000345: 13,2637 00051 S2 055533,000346: 13,2640 26651 MOVEACSM 055534,000347: 13,2641 45014 SET CALL 055535,000348: 13,2642 04063 CMOONFLG 055536,000349: # Page 1297 055537,000350: 13,2643 20237 SVDWN1 055538,000351: 13,2644 43014 BON CLRGO 055539,000352: 13,2645 00303 MOONFLAG 055540,000353: 13,2646 00051 S2 055541,000354: 13,2647 04223 CMOONFLG 055542,000355: 13,2650 00051 S2 055543,000356: 13,2651 03015 MOVEACSM TC SETBANK 055544,000357: 13,2652 55500 TS DIFEQCNT # INITIALIZE INDEX 055545,000358: 13,2653 51500 INDEX DIFEQCNT 055546,000359: 13,2654 31502 CA RRECT 055547,000360: 13,2655 51500 INDEX DIFEQCNT 055548,000361: 13,2656 55554 TS RRECTCSM 055549,000362: 13,2657 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE 055550,000363: 13,2660 12652 TCF MOVEACSM +1 # NO-LOOP 055551,000364: 13,2661 06030 TC DANZIG # COMPLETE -- RETURN 055552,000365: 055553,000366: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41 055554,000367: 055555,000368: # CALLING SEQUENCE 055556,000369: # L CALL 055557,000370: # PTOACSM 055558,000371: 055559,000372: # NORMAL EXIT AT L+2 055560,000373: 055561,000374: 13,2662 43034 PTOACSM RTB BON 055562,000375: 13,2663 26700 MOVEPCSM 055563,000376: 13,2664 04303 CMOONFLG 055564,000377: 13,2665 26673 SETMOON 055565,000378: 13,2666 66214 CLRMOON CLEAR SSP 055566,000379: 13,2667 00263 MOONFLAG 055567,000380: 13,2670 02151 PBODY 055568,000381: 13,2671 00000 0 055569,000382: 13,2672 77616 RVQ 055570,000383: 13,2673 66214 SETMOON SET SSP 055571,000384: 13,2674 00063 MOONFLAG 055572,000385: 13,2675 02151 PBODY 055573,000386: 13,2676 00002 2 055574,000387: 13,2677 77616 RVQ 055575,000388: 13,2700 03015 MOVEPCSM TC SETBANK 055576,000389: 13,2701 55500 TS DIFEQCNT 055577,000390: 13,2702 51500 INDEX DIFEQCNT 055578,000391: 13,2703 31554 CA RRECTCSM 055579,000392: 13,2704 51500 INDEX DIFEQCNT 055580,000393: 13,2705 55502 TS RRECT 055581,000394: 13,2706 11500 CCS DIFEQCNT 055582,000395: 13,2707 12701 TCF MOVEPCSM +1 055583,000396: 13,2710 06030 TC DANZIG 055584,000397: 055585,000398: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41 055586,000399: # Page 1298 055587,000400: 13,2711 47020 ATOPLEM STQ RTB 055588,000401: 13,2712 00051 S2 055589,000402: 13,2713 26724 MOVEALEM 055590,000403: 13,2714 45014 SET CALL 055591,000404: 13,2715 04064 LMOONFLG 055592,000405: 13,2716 20263 SVDWN2 055593,000406: 13,2717 43014 BON CLRGO 055594,000407: 13,2720 00303 MOONFLAG 055595,000408: 13,2721 00051 S2 055596,000409: 13,2722 04224 LMOONFLG 055597,000410: 13,2723 00051 S2 055598,000411: 13,2724 03015 MOVEALEM TC SETBANK 055599,000412: 13,2725 55500 TS DIFEQCNT 055600,000413: 13,2726 51500 INDEX DIFEQCNT 055601,000414: 13,2727 31502 CA RRECT 055602,000415: 13,2730 51500 INDEX DIFEQCNT 055603,000416: 13,2731 55626 TS RRECTLEM 055604,000417: 13,2732 11500 CCS DIFEQCNT 055605,000418: 13,2733 12725 TCF MOVEALEM +1 055606,000419: 13,2734 06030 TC DANZIG 055607,000420: 055608,000421: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41 055609,000422: 055610,000423: 13,2735 47014 PTOALEM BON RTB 055611,000424: 13,2736 04307 SURFFLAG 055612,000425: 13,2737 26756 USEPIOS 055613,000426: 13,2740 26745 MOVEPLEM 055614,000427: 13,2741 52014 BON GOTO 055615,000428: 13,2742 04304 LMOONFLG 055616,000429: 13,2743 26673 SETMOON 055617,000430: 13,2744 26666 CLRMOON 055618,000431: 13,2745 03015 MOVEPLEM TC SETBANK 055619,000432: 13,2746 55500 TS DIFEQCNT 055620,000433: 13,2747 51500 INDEX DIFEQCNT 055621,000434: 13,2750 31626 CA RRECTLEM 055622,000435: 13,2751 51500 INDEX DIFEQCNT 055623,000436: 13,2752 55502 TS RRECT 055624,000437: 13,2753 11500 CCS DIFEQCNT 055625,000438: 13,2754 12746 TCF MOVEPLEM +1 055626,000439: 13,2755 06030 TC DANZIG 055627,000440: 055628,000441: 13,2756 77201 USEPIOS SETPD VLOAD 055629,000442: 13,2757 00001 0 055630,000443: 13,2760 02026 RLS 055631,000444: 13,2761 41525 PDDL PUSH 055632,000445: 13,2762 00041 TDEC1 055633,000446: 13,2763 15517 STODL TET 055634,000447: 13,2764 27756 5/8 055635,000448: # Page 1299 055636,000449: 13,2765 77624 CALL 055637,000450: 13,2766 55341 RP-TO-R 055638,000451: 13,2767 25535 STOVL RCV 055639,000452: 13,2770 11450 ZUNIT 055640,000453: 13,2771 14001 STODL 0D 055641,000454: 13,2772 01517 TET 055642,000455: 13,2773 14007 STODL 6D 055643,000456: 13,2774 27756 5/8 055644,000457: 13,2775 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT 055645,000458: 13,2776 00063 MOONFLAG 055646,000459: 13,2777 55341 RP-TO-R 055647,000460: 13,3000 74235 VXV VXSC 055648,000461: 13,3001 01535 RCV 055649,000462: 13,3002 27014 OMEGMOON 055650,000463: 13,3003 25543 STOVL VCV 055651,000464: 13,3004 11456 ZEROVEC 055652,000465: 13,3005 01521 STORE TDELTAV 055653,000466: 13,3006 67174 AXT,2 SXA,2 055654,000467: 13,3007 00002 2 055655,000468: 13,3010 02150 PBODY 055656,000469: 13,3011 35527 STCALL TNUV 055657,000470: 13,3012 27136 A-PCHK 055658,000471: 13,3013 07112 06620 OMEGMOON 2DEC* 2.66169947 E-8 B+23* 055659,000472: 055660,000473: 13,3015 33021 SETBANK CAF INTBANK 055661,000474: 13,3016 54006 TS BBANK 055662,000475: 13,3017 33436 CAF FORTYONE 055663,000476: 13,3020 00002 TC Q 055664,000477: 13,3021 E3,1554 EBANK= RRECTCSM 055665,000478: 13,3021 26063 INTBANK BBCON INTEGRV 055666,000479: 055667,000480: # SPECIAL PURPOS ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH 055668,000481: # APPROPRIATE SWITCHES SET OR CLEARED FOR TEH DESIRED INTEGRATION. 055669,000482: 055670,000483: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1. 055671,000484: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE. 055672,000485: # THE PERMANENT STATE VECTOR IS NOT UPDATED. 055673,000486: 055674,000487: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLER'S METHOD TO THE TIME INDICATED IN TDEC1. 055675,000488: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN 055676,000489: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLER'S EQUATION. 055677,000490: 055678,000491: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID. 055679,000492: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS: 055680,000493: # CSMPREC CSMCONIC LEMPREC LEMCONIC 055681,000494: # VINTFLAG SET SET CLEAR CLEAR 055682,000495: # INTYPFLG CLEAR SET CLEAR SET 055683,000496: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR 055684,000497: # Page 1300 055685,000498: 055686,000499: # CALLING SEQUENCE 055687,000500: # L-X STORE TDEC1 055688,000501: # L CALL (STCALL TDEC1) 055689,000502: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC) 055690,000503: 055691,000504: # NORMAL EXIT TO L+2 055692,000505: 055693,000506: # SUBROUTINES CALLED 055694,000507: # INTEGRV1 055695,000508: # PRECOUT FOR CSMPREC AND LEMPREC 055696,000509: # CONICOUT FOR CSMCONIC AND LEMCONIC 055697,000510: 055698,000511: # OUTPUT -- SEE PAGE 2 OF THIS LOG SECTION 055699,000512: 055700,000513: # INPUT 055701,000514: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28 055702,000515: 055703,000516: 13,3022 45020 CSMPREC STQ CALL 055704,000517: 13,3023 00046 X1 055705,000518: 13,3024 27371 INTSTALL 055706,000519: 13,3025 43130 SXA,1 SET 055707,000520: 13,3026 02214 IRETURN 055708,000521: 13,3027 01474 VINTFLAG 055709,000522: 055710,000523: 13,3030 43014 IFLAGP SET CLEAR 055711,000524: 13,3031 01467 PRECIFLG 055712,000525: 13,3032 01676 DIM0FLAG 055713,000526: 13,3033 77614 CLRGO 055714,000527: 13,3034 01633 INTYPFLG 055715,000528: 13,3035 27115 INTEGRV1 055716,000529: 13,3036 45020 LEMPREC STQ CALL 055717,000530: 13,3037 00046 X1 055718,000531: 13,3040 27371 INTSTALL 055719,000532: 13,3041 43130 SXA,1 CLRGO 055720,000533: 13,3042 02214 IRETURN 055721,000534: 13,3043 01634 VINTFLAG 055722,000535: 13,3044 27030 IFLAGP 055723,000536: 055724,000537: 13,3045 45020 CSMCONIC STQ CALL 055725,000538: 13,3046 00046 X1 055726,000539: 13,3047 27371 INTSTALL 055727,000540: 13,3050 43130 SXA,1 SET 055728,000541: 13,3051 02214 IRETURN 055729,000542: 13,3052 01474 VINTFLAG 055730,000543: 13,3053 43014 IFLAGC CLEAR SETGO 055731,000544: 13,3054 01676 DIM0FLAG 055732,000545: 13,3055 01433 INTYPFLG 055733,000546: 13,3056 27115 INTEGRV1 055734,000547: 13,3057 45020 LEMCONIC STQ CALL 055735,000548: 13,3060 00046 X1 055736,000549: # Page 1301 055737,000550: 13,3061 27371 INTSTALL 055738,000551: 13,3062 43130 SXA,1 CLRGO 055739,000552: 13,3063 02214 IRETURN 055740,000553: 13,3064 01634 VINTFLAG 055741,000554: 13,3065 27053 IFLAGC 055742,000555: 055743,000556: 13,3066 66214 INTEGRVS SET SSP 055744,000557: 13,3067 01467 PRECIFLG 055745,000558: 13,3070 02151 PBODY 055746,000559: 13,3071 00000 0 055747,000560: 13,3072 66214 BOF SSP 055748,000561: 13,3073 00343 MOONFLAG 055749,000562: 13,3074 27077 +3 055750,000563: 13,3075 02151 PBODY 055751,000564: 13,3076 00002 2 055752,000565: 13,3077 77220 STQ VLOAD 055753,000566: 13,3100 02214 IRETURN 055754,000567: 13,3101 11456 ZEROVEC 055755,000568: 13,3102 01521 STORE TDELTAV 055756,000569: 13,3103 35527 STCALL TNUV 055757,000570: 13,3104 23344 RECTIFY 055758,000571: 13,3105 43014 CLEAR SET 055759,000572: 13,3106 01676 DIM0FLAG 055760,000573: 13,3107 04062 NEWIFLG 055761,000574: 13,3110 77614 SETGO 055762,000575: 13,3111 04020 RPQFLAG 055763,000576: 13,3112 27127 ALOADED 055764,000577: 055765,000578: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER, 055766,000579: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE 055767,000580: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS. 055768,000581: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG. 055769,000582: # PROGRAM FOR PRECISION OR CONIC. 055770,000583: 055771,000584: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE 055772,000585: # SETTING ANY FLAGS. 055773,000586: 055774,000587: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE 055775,000588: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS) 055776,000589: # INTYPFLG 055777,000590: # DIM0FLAG 055778,000591: # D6OR9FLG 055779,000592: 055780,000593: # CALLING SEQUENCE 055781,000594: # L-X CALL 055782,000595: # L-Y INTSTALL 055783,000596: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED 055784,000597: # AND DIM0FLAG IS CLEAR. 055785,000598: # L CALL 055786,000599: # L+1 INTEGRV 055787,000600: 055788,000601: # INITIALIZATION 055789,000602: # FLAGS AS ABOVE 055790,000603: # STORE TIME TO INTEGRATE TO IN TDEC1 055791,000604: 055792,000605: # Page 1302 055793,000606: # OUTPUT 055794,000607: # RATT AS 055795,000608: # VATT DEFINED 055796,000609: # TAT BEFORE 055797,000610: 055798,000611: 13,3113 77620 INTEGRV STQ 055799,000612: 13,3114 02214 IRETURN 055800,000613: 13,3115 43014 INTEGRV1 SET SET 055801,000614: 13,3116 04060 RPQFLAG 055802,000615: 13,3117 04062 NEWIFLG 055803,000616: 13,3120 77731 INTEGRV2 SSP 055804,000617: 13,3121 00053 QPRET 055805,000618: 13,3122 27127 ALOADED 055806,000619: 13,3123 52014 BON GOTO 055807,000620: 13,3124 01714 VINTFLAG 055808,000621: 13,3125 26662 PTOACSM 055809,000622: 13,3126 26735 PTOALEM 055810,000623: 13,3127 77745 ALOADED DLOAD 055811,000624: 13,3130 00041 TDEC1 055812,000625: 13,3131 01101 STORE TDEC 055813,000626: 13,3132 52014 BOFF GOTO 055814,000627: 13,3133 01753 INTYPFLG 055815,000628: 13,3134 27234 TESTLOOP 055816,000629: 13,3135 27220 RVCON 055817,000630: 13,3136 77414 A-PCHK BOFCLR EXIT 055818,000631: 13,3137 01652 STATEFLG 055819,000632: 13,3140 27157 RECTOUT 055820,000633: 13,3141 05301 TC PHASCHNG 055821,000634: 13,3142 04022 OCT 04022 055822,000635: 13,3143 05435 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN 055823,000636: 13,3144 00236 ADRES REINTFLG # INTSTALL AND INTWAKE 055824,000637: 13,3145 06006 TC INTPRET 055825,000638: 13,3146 77731 SSP 055826,000639: 13,3147 00053 QPRET 055827,000640: 13,3150 27155 PHEXIT 055828,000641: 13,3151 52014 BON GOTO 055829,000642: 13,3152 01714 VINTFLAG 055830,000643: 13,3153 26636 ATOPCSM 055831,000644: 13,3154 26711 ATOPLEM 055832,000645: 13,3155 77624 PHEXIT CALL 055833,000646: 13,3156 56741 GRP2PC 055834,000647: 13,3157 45001 RECTOUT SETPD CALL 055835,000648: 13,3160 00001 0 055836,000649: 13,3161 23344 RECTIFY 055837,000650: 13,3162 53775 VLOAD VSL* 055838,000651: 13,3163 01503 RRECT 055839,000652: 13,3164 57576 0,2 055840,000653: 13,3165 53715 PDVL VSL* # RATT TO PD0 055841,000654: 13,3166 01511 VRECT 055842,000655: # Page 1303 055843,000656: 13,3167 57576 0,2 055844,000657: 13,3170 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12 055845,000658: 13,3171 01517 TET 055846,000659: 13,3172 01503 RRECT 055847,000660: 13,3173 64715 PDVL PDDL* 055848,000661: 13,3174 01511 VRECT 055849,000662: 13,3175 50041 MUEARTH,2 055850,000663: 13,3176 76006 PUSH AXT,1 055851,000664: 13,3177 77765 DEC -10 B-14 055852,000665: 13,3200 76014 BON AXT,1 055853,000666: 13,3201 00303 MOONFLAG 055854,000667: 13,3202 27204 +2 055855,000668: 13,3203 77775 DEC -2 B-14 055856,000669: 13,3204 40001 INTEXIT SETPD BOV 055857,000670: 13,3205 00001 0 055858,000671: 13,3206 27207 +1 055859,000672: 13,3207 43014 CLEAR CLEAR 055860,000673: 13,3210 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR 055861,000674: 13,3211 01667 PRECIFLG 055862,000675: 13,3212 77535 SLOAD EXIT 055863,000676: 13,3213 02215 IRETURN 055864,000677: 13,3214 30154 CA MPAC 055865,000678: 13,3215 50120 INDEX FIXLOC 055866,000679: 13,3216 54052 TS QPRET 055867,000680: 13,3217 03406 TC INTWAKE 055868,000681: 055869,000682: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND 055870,000683: # VELOCITY FOR THE INTERVAL (TET-TDEC) 055871,000684: 055872,000685: 13,3220 45345 RVCON DLOAD DSU 055873,000686: 13,3221 01101 TDEC 055874,000687: 13,3222 01517 TET 055875,000688: 13,3223 36312 STCALL TAU. 055876,000689: 13,3224 23344 RECTIFY 055877,000690: 13,3225 77624 CALL 055878,000691: 13,3226 22310 KEPPREP 055879,000692: 13,3227 43345 DLOAD DAD 055880,000693: 13,3230 01551 TC 055881,000694: 13,3231 01517 TET 055882,000695: 13,3232 35517 STCALL TET 055883,000696: 13,3233 27157 RECTOUT 055884,000697: 055885,000698: # Page 1304 055886,000699: 13,3234 43014 TESTLOOP BOF CLRGO 055887,000700: 13,3235 04752 QUITFLAG 055888,000701: 13,3236 27241 +3 055889,000702: 13,3237 01632 STATEFLG 055890,000703: 13,3240 27204 INTEXIT # STOP INTEGRATION 055891,000704: 13,3241 73001 +3 SETPD LXA,2 055892,000705: 13,3242 00013 10D 055893,000706: 13,3243 02150 PBODY 055894,000707: 13,3244 51575 VLOAD ABVAL 055895,000708: 13,3245 01535 RCV 055896,000709: 13,3246 43006 PUSH CLEAR # RC TO 10D 055897,000710: 13,3247 00262 MIDFLAG 055898,000711: 13,3250 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP 055899,000712: 13,3251 67241 RME,2 055900,000713: 13,3252 27255 +3 055901,000714: 13,3253 77614 SET 055902,000715: 13,3254 00062 MIDFLAG 055903,000716: 13,3255 41345 NORFINAL DLOAD DMP 055904,000717: 13,3256 00013 10D 055905,000718: 13,3257 00043 34D 055906,000719: 13,3260 55762 SR1R DDV* 055907,000720: 13,3261 50041 MUEARTH,2 055908,000721: 13,3262 41366 SQRT DMP 055909,000722: 13,3263 23675 .3D 055910,000723: 13,3264 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE 055911,000724: 13,3265 54345 DLOAD SL 055912,000725: 13,3266 00155 MPAC 055913,000726: 13,3267 20220 15D # OF 128 CSECS. 055914,000727: 13,3270 40006 PUSH BOV 055915,000728: 13,3271 27316 MAXDT 055916,000729: 13,3272 50021 BDSU BMN 055917,000730: 13,3273 27370 DT/2MAX 055918,000731: 13,3274 27316 MAXDT 055919,000732: 13,3275 45345 DT/2COMP DLOAD DSU 055920,000733: 13,3276 01101 TDEC 055921,000734: 13,3277 01517 TET 055922,000735: 13,3300 54234 RTB SL 055923,000736: 13,3301 45541 SGNAGREE 055924,000737: 13,3302 20211 8D 055925,000738: 13,3303 02314 STORE DT/2 # B-19 055926,000739: 13,3304 51400 BOV ABS 055927,000740: 13,3305 27322 GETMAXDT 055928,000741: 13,3306 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME 055929,000742: 13,3307 00015 12D 055930,000743: 13,3310 27326 P00HCHK 055931,000744: 13,3311 75345 USEMAXDT DLOAD SIGN 055932,000745: 13,3312 00015 12D 055933,000746: 13,3313 02314 DT/2 055934,000747: # Page 1305 055935,000748: 13,3314 36314 STCALL DT/2 055936,000749: 13,3315 27326 P00HCHK 055937,000750: 13,3316 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX. 055938,000751: 13,3317 27370 DT/2MAX 055939,000752: 13,3320 77650 GOTO 055940,000753: 13,3321 27275 DT/2COMP 055941,000754: 13,3322 77634 GETMAXDT RTB 055942,000755: 13,3323 45707 SIGNMPAC 055943,000756: 13,3324 36314 STCALL DT/2 055944,000757: 13,3325 27311 USEMAXDT 055945,000758: 13,3326 51545 P00HCHK DLOAD ABS 055946,000759: 13,3327 02314 DT/2 055947,000760: 13,3330 50025 DSU BMN 055948,000761: 13,3331 27366 DT/2MIN 055949,000762: 13,3332 27136 A-PCHK 055950,000763: 13,3333 46135 SLOAD BHIZ 055951,000764: 13,3334 01012 MODREG 055952,000765: 13,3335 27340 +3 055953,000766: 13,3336 77650 GOTO 055954,000767: 13,3337 23155 TIMESTEP 055955,000768: 13,3340 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC 055956,000769: 13,3341 01707 PRECIFLG 055957,000770: 13,3342 23155 TIMESTEP # YES 055958,000771: 13,3343 45345 DLOAD DSU 055959,000772: 13,3344 02314 DT/2 055960,000773: 13,3345 00015 12D 055961,000774: 13,3346 43040 BMN BOFCLR 055962,000775: 13,3347 27136 A-PCHK 055963,000776: 13,3350 04242 NEWIFLG 055964,000777: 13,3351 23155 TIMESTEP 055965,000778: 13,3352 45345 DLOAD DSU 055966,000779: 13,3353 01101 TDEC 055967,000780: 13,3354 01517 TET 055968,000781: 13,3355 77640 BMN # NO BACKWARD INTEGRATION 055969,000782: 13,3356 27204 INTEXIT 055970,000783: 13,3357 40525 PDDL SR4 055971,000784: 13,3360 02314 DT/2 # IS 4(DT) LS (TDEC - TET) 055972,000785: 13,3361 44322 SR2R BDSU 055973,000786: 13,3362 52040 BMN GOTO 055974,000787: 13,3363 27204 INTEXIT 055975,000788: 13,3364 23155 TIMESTEP 055976,000789: 13,3365 00000 01400 DT/2MIN 2DEC 3 B-20 055977,000790: 13,3367 14152 00000 DT/2MAX 2DEC 4000 E2 B-20 055978,000791: 055979,000792: 13,3371 77776 INTSTALL EXIT 055980,000793: 13,3372 34714 CAF ZERO 055981,000794: 13,3373 54001 ALLSTALL TS L 055982,000795: 13,3374 30106 CA RASFLAG 055983,000796: 13,3375 50001 INDEX L 055984,000797: # Page 1306 055985,000798: 13,3376 73467 MASK INTBITAB # IS THIS STALL AREA FREE 055986,000799: 13,3377 00006 EXTEND 055987,000800: 13,3400 13445 BZF OKTOGRAB # YES 055988,000801: 13,3401 50001 INDEX L 055989,000802: 13,3402 33464 CAF WAKESTAL 055990,000803: 13,3403 05070 TC JOBSLEEP 055991,000804: 13,3404 77776 INTWAKE0 EXIT 055992,000805: 13,3405 13426 TCF INTWAKE1 055993,000806: 055994,000807: 13,3406 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE 055995,000808: 13,3407 74704 MASK REINTBIT # RESTARTED 055996,000809: 13,3410 10000 CCS A 055997,000810: 13,3411 03426 TC INTWAKE1 # NO 055998,000811: 055999,000812: 13,3412 50120 INDEX FIXLOC 056000,000813: 13,3413 30052 CA QPRET 056001,000814: 13,3414 55055 TS TBASE2 # YES, DON'T RESTART WITH SOMEONE ELSE'S Q 056002,000815: 056003,000816: 13,3415 05301 TC PHASCHNG 056004,000817: 13,3416 04022 OCT 04022 056005,000818: 056006,000819: 13,3417 31055 CA TBASE2 056007,000820: 13,3420 50120 INDEX FIXLOC 056008,000821: 13,3421 54052 TS QPRET 056009,000822: 056010,000823: 13,3422 34704 CAF REINTBIT 056011,000824: 13,3423 70106 MASK RASFLAG 056012,000825: 13,3424 00006 EXTEND 056013,000826: 13,3425 13450 BZF GOBAC # DON'T INTWAKE IF WE CAME HERE VIA RESTART 056014,000827: 056015,000828: 13,3426 34714 INTWAKE1 CAF ZERO 056016,000829: 13,3427 54154 WAKE TS STALTEM # INDEX OF ANY STALL USER 056017,000830: 13,3430 50154 WAKE1 INDEX STALTEM 056018,000831: 13,3431 33464 CAF WAKESTAL 056019,000832: 13,3432 00004 INHINT 056020,000833: 13,3433 05074 TC JOBWAKE 056021,000834: 13,3434 10064 CCS LOCCTR 056022,000835: 13,3435 13430 TCF WAKE1 # MAY BE MORE TO WAKE UP 056023,000836: 13,3436 00051 FORTYONE DEC 41 B-14 056024,000837: 13,3437 50154 INDEX STALTEM 056025,000838: 13,3440 43467 CS INTBITAB 056026,000839: 13,3441 70106 MASK RASFLAG 056027,000840: 13,3442 54106 TS RASFLAG # RELEASE STALL AREA 056028,000841: 13,3443 00003 RELINT 056029,000842: 13,3444 13450 TCF GOBAC 056030,000843: 13,3445 50001 OKTOGRAB INDEX L 056031,000844: 13,3446 34675 CAF INTFLBIT 056032,000845: 13,3447 26106 ADS RASFLAG 056033,000846: 13,3450 06006 GOBAC TC INTPRET 056034,000847: 13,3451 77616 RVQ 056035,000848: # Page 1307 056036,000849: 13,3452 77776 ERASTAL1 EXIT 056037,000850: 13,3453 34712 CAF ONE 056038,000851: 13,3454 13373 TCF ALLSTALL 056039,000852: 13,3455 77776 ERASTAL2 EXIT 056040,000853: 13,3456 34711 CAF TWO 056041,000854: 13,3457 13373 TCF ALLSTALL 056042,000855: 13,3460 34712 ERASWAK1 CAF ONE 056043,000856: 13,3461 13427 TCF WAKE 056044,000857: 13,3462 34711 ERASWAK2 CAF TWO 056045,000858: 13,3463 13427 TCF WAKE 056046,000859: 13,3464 27372 WAKESTAL CADR INTSTALL +1 056047,000860: 13,3465 27453 CADR ERASTAL1 +1 056048,000861: 13,3466 27456 CADR ERASTAL2 +1 056049,000862: 13,3467 0154 STALTEM EQUALS MPAC 056050,000863: 13,3467 20100 INTBITAB OCT 20100 056051,000864: 13,3470 10040 OCT 10040 056052,000865: 13,3471 04020 OCT 04020 056053,000866: 056054,000867: # Page 1308 056055,000868: # AVETOMID 056056,000869: 056057,000870: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST 056058,000871: # PHASE BY INITIALIZING THIS VEHICLE'S PERMANENT STATE VECTOR WITH THE 056059,000872: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME. 056060,000873: 056061,000874: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLT IS 056062,000875: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR. 056063,000876: 056064,000877: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME. 056065,000878: 056066,000879: # FINALLY TRKMKCNT IS ZEROED. 056067,000880: 056068,000881: 13,2000 SETLOC INTINIT 056069,000882: 13,2000 BANK 056070,000883: 056071,000884: 13,3472 COUNT* $$/INTIN 056072,000885: 13,3472 43020 AVETOMID STQ BON 056073,000886: 13,3473 02317 EGRESS 056074,000887: 13,3474 02716 RENDWFLG 056075,000888: 13,3475 27550 INT/W # W-MATRIX VALID, GO INTEGRATE IT 056076,000889: 13,3476 77614 BON 056077,000890: 13,3477 01711 ORBWFLAG 056078,000891: 13,3500 27550 INT/W # W-MATRIX VALID, GO INTEGRATE IT. 056079,000892: 056080,000893: 13,3501 77614 OTHERS BON # FOR 056081,000894: 13,3502 04307 SURFFLAG # CSM 056082,000895: 13,3503 27520 SETCOAST # DON'T DO LM ONLY 056083,000896: 13,3504 45145 DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION 056084,000897: 13,3505 01205 PIPTIME # DESIRED TIME 056085,000898: 13,3506 27371 INTSTALL 056086,000899: 13,3507 45014 SET CALL 056087,000900: 13,3510 01474 VINTFLAG # CM 056088,000901: 13,3511 26621 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG. 056089,000902: 13,3512 43014 BOF CLEAR 056090,000903: 13,3513 02747 COMPUTER 056091,000904: 13,3514 27516 +2 # COMPUTER IS LM, INTEG CM. 056092,000905: 13,3515 01674 VINTFLAG # COMPUTER IS CM, INTEG LM. 056093,000906: 13,3516 34041 STCALL TDEC1 056094,000907: 13,3517 27113 INTEGRV 056095,000908: 056096,000909: 13,3520 45174 SETCOAST AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS 056097,000910: 13,3521 00002 2 # PIPTIME TO INTEGRATION ERASABLES. 056098,000911: 13,3522 27371 INTSTALL 056099,000912: 13,3523 77014 BON AXT,2 056100,000913: 13,3524 04303 MOONTHIS 056101,000914: 13,3525 27527 +2 056102,000915: 13,3526 00000 0 056103,000916: 13,3527 53775 VLOAD VSR* 056104,000917: # Page 1309 056105,000918: 13,3530 01171 RN 056106,000919: 13,3531 57176 0,2 056107,000920: 13,3532 01503 STORE RRECT 056108,000921: 13,3533 15535 STODL RCV 056109,000922: 13,3534 01205 PIPTIME 056110,000923: 13,3535 25517 STOVL TET 056111,000924: 13,3536 01177 VN 056112,000925: 13,3537 45057 VSR* CALL 056113,000926: 13,3540 57176 0,2 056114,000927: 13,3541 23360 MINIRECT # FINISH SETTING UP STATE VECTOR 056115,000928: 13,3542 66234 RTB SSP 056116,000929: 13,3543 26651 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT 056117,000930: 13,3544 01127 TRKMKCNT 056118,000931: 13,3545 00000 0 056119,000932: 13,3546 77650 GOTO 056120,000933: 13,3547 75745 FAZAB5 056121,000934: 056122,000935: 13,3550 45145 INT/W DLOAD CALL 056123,000936: 13,3551 01205 PIPTIME # INTEGRATE W THRU BURN 056124,000937: 13,3552 27371 INTSTALL 056125,000938: 13,3553 43014 SET SET 056126,000939: 13,3554 01476 DIM0FLAG # DO W-MATRIX 056127,000940: 13,3555 04476 AVEMIDSW # SO WON'T CLOBBER RN,VN,PIPTIME 056128,000941: 13,3556 43014 SET CLEAR 056129,000942: 13,3557 01475 D6OR9FLG # 9X9 FOR LM 056130,000943: 13,3560 01674 VINTFLAG # LM 056131,000944: 13,3561 43014 BOF SET 056132,000945: 13,3562 02747 COMPUTER 056133,000946: 13,3563 27567 +4 # LM TO DO 056134,000947: 13,3564 01474 VINTFLAG 056135,000948: 13,3565 77614 CLEAR 056136,000949: 13,3566 01675 D6OR9FLG # 6X6 FOR CM 056137,000950: 13,3567 34041 STCALL TDEC1 056138,000951: 13,3570 27113 INTEGRV 056139,000952: 13,3571 77650 GOTO 056140,000953: 13,3572 27501 OTHERS # NOW GO DO THE OTHER VEHICLE 056141,000954: 056142,000955: # Page 1310 056143,000956: # MIDTOAV1 056144,000957: 056145,000958: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1. 056146,000959: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA 056147,000960: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATION TIME FOR ONE TIME STEP) 056148,000961: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION 056149,000962: # IS DONE TO THE CURRENT TIME. 056150,000963: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE. 056151,000964: 056152,000965: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC 056153,000966: # TO THE RETURN ADDRESS. 056154,000967: 056155,000968: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRANSFERRED 056156,000969: # FROM R,VATT TO R,VN1 -- PIPTIME1 IS SET TO THE FINISHING INTEGRATION 056157,000970: # TIME AND MPAC IS SET TO THE DELTA TIME -- 056158,000971: # TAT MINUS CURRENT TIME 056159,000972: 056160,000973: # MIDTOAV2 056161,000974: 056162,000975: # THIS ROUTINE INTEGRATES THIS VEHICLE'S STATE VECTOR TO THE CURRENT TIME. 056163,000976: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN 056164,000977: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1 -- PIPTIME1 -- AND MPAC DONE 056165,000978: 056166,000979: 13,3573 1127 EBANK= IRETURN1 056167,000980: 13,3573 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT 056168,000981: 13,3574 01127 IRETURN1 056169,000982: 13,3575 04634 MID1FLAG 056170,000983: 13,3576 27612 ENTMID2 056171,000984: 056172,000985: 13,3577 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1 056173,000986: 13,3600 01127 IRETURN1 056174,000987: 13,3601 04474 MID1FLAG 056175,000988: 13,3602 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE 056176,000989: 13,3603 45505 LOADTIME 056177,000990: 13,3604 27714 TIMEDELT 056178,000991: 13,3605 51021 BDSU BPL 056179,000992: 13,3606 00041 TDEC1 056180,000993: 13,3607 27616 ENTMID1 # Y5S 056181,000994: 13,3610 77624 CALL 056182,000995: 13,3611 27702 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2 056183,000996: 056184,000997: 13,3612 43234 ENTMID2 RTB DAD 056185,000998: 13,3613 45505 LOADTIME 056186,000999: 13,3614 27714 TIMEDELT 056187,001000: 13,3615 00041 STORE TDEC1 056188,001001: 056189,001002: 13,3616 77624 ENTMID1 CALL 056190,001003: 13,3617 27371 INTSTALL 056191,001004: 13,3620 45014 CLEAR CALL 056192,001005: # Page 1311 056193,001006: 13,3621 01676 DIM0FLAG # NO W-MATRIX 056194,001007: 13,3622 26034 THISVINT 056195,001008: 13,3623 43014 CLEAR SET 056196,001009: 13,3624 01673 INTYPFLG 056197,001010: 13,3625 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV. 056198,001011: 13,3626 77624 CALL 056199,001012: 13,3627 27113 INTEGRV # GO INTEGRATE 056200,001013: 13,3630 77214 CLEAR VLOAD 056201,001014: 13,3631 04675 MIDAVFLG 056202,001015: 13,3632 00001 RATT 056203,001016: 13,3633 25232 STOVL RN1 056204,001017: 13,3634 00007 VATT 056205,001018: 13,3635 15240 STODL VN1 056206,001019: 13,3636 00015 TAT 056207,001020: 13,3637 01246 STORE PIPTIME1 056208,001021: 13,3640 66134 SXA,2 SXA,1 056209,001022: 13,3641 03746 RTX2 056210,001023: 13,3642 03745 RTX1 056211,001024: 13,3643 77776 EXIT 056212,001025: 056213,001026: 13,3644 00004 INHINT 056214,001027: 13,3645 00006 EXTEND 056215,001028: 13,3646 40025 DCS TIME2 056216,001029: 13,3647 20155 DAS MPAC 056217,001030: 13,3650 07226 TC TPAGREE 056218,001031: 056219,001032: 13,3651 31127 CA IRETURN1 056220,001033: 13,3652 04577 TC BANKJUMP 056221,001034: 13,3653 47014 CKMID2 BOF RTB 056222,001035: 13,3654 04754 MID1FLAG 056223,001036: 13,3655 27672 MID2 056224,001037: 13,3656 45505 LOADTIME 056225,001038: 13,3657 44215 DAD BDSU 056226,001039: 13,3660 27714 TIMEDELT 056227,001040: 13,3661 01101 TDEC 056228,001041: 13,3662 45044 BPL CALL 056229,001042: 13,3663 27234 TESTLOOP # YES 056230,001043: 13,3664 27702 NOTIME 056231,001044: 056232,001045: 13,3665 43234 TIMEINC RTB DAD 056233,001046: 13,3666 45505 LOADTIME 056234,001047: 13,3667 27714 TIMEDELT 056235,001048: 13,3670 35101 STCALL TDEC 056236,001049: 13,3671 27234 TESTLOOP 056237,001050: 056238,001051: 13,3672 45345 MID2 DLOAD DSU 056239,001052: 13,3673 01101 TDEC 056240,001053: 13,3674 01517 TET 056241,001054: 13,3675 45246 ABS DSU 056242,001055: 13,3676 27712 3CSECS 056243,001056: 056244,001057: # Page 1312 056245,001058: 13,3677 52040 BMN GOTO 056246,001059: 13,3700 27136 A-PCHK 056247,001060: 13,3701 27665 TIMEINC 056248,001061: 056249,001062: 13,3702 77414 NOTIME CLEAR EXIT # TOO LATE 056250,001063: 13,3703 04674 MID1FLAG 056251,001064: 13,3704 25127 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2) 056252,001065: 13,3705 05537 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION -- 056253,001066: 13,3706 01703 OCT 1703 # TIG WILL BE SLIPPED... 056254,001067: 13,3707 06006 TC INTPRET 056255,001068: 13,3710 77616 RVQ 056256,001069: 056257,001070: 13,3711 00000 00003 3CSECS 2DEC 3 B-28 056258,001071: 13,3713 00000 02342 TIMEDELT 2DEC 1250 B-28 056259,001072: 056260,001073: 27,2662 BANK 27 056261,001074: 27,2000 SETLOC UPDATE2 056262,001075: 27,2000 BANK 056263,001076: 27,2662 0330 EBANK= INTWAKUQ 056264,001077: 056265,001078: 27,2662 COUNT* $$/INTIN 056266,001079: 056267,001080: 27,2662 0330 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG 056268,001081: 056269,001082: 27,2662 00003 INTWAKEU RELINT 056270,001083: 27,2663 00006 EXTEND 056271,001084: 27,2664 22330 QXCH INTWAKUQ # SAVE Q FOR RETURN 056272,001085: 056273,001086: 27,2665 06006 TC INTPRET 056274,001087: 056275,001088: 27,2666 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE 056276,001089: 27,2667 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP. 056277,001090: 27,2670 56727 INTWAKUP 056278,001091: 056279,001092: 27,2671 77775 VLOAD # MOVE PRECT(6) AND VRECT(6) INTO 056280,001093: 27,2672 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY. 056281,001094: 27,2673 25535 STOVL RCV 056282,001095: 27,2674 01511 VRECT # NOW GO TO `RECTIFY +13D' TO 056283,001096: 27,2675 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT 056284,001097: 27,2676 23361 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2), AND XKEP(2) 056285,001098: 27,2677 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF `UPSVFLAG' 056286,001099: 27,2700 01502 UPSVFLAG # TO `UPDATE MOON STATE VECTOR CODE' 056287,001100: 27,2701 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO 056288,001101: 27,2702 16740 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR 056289,001102: 27,2703 56710 INTWAKEM # SPHERE OF INFLUENCE........ 056290,001103: 27,2704 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE. 056291,001104: 27,2705 00000 DEC 0 B-14 056292,001105: 27,2706 00223 MOONFLAG 056293,001106: # Page 1313 056294,001107: 27,2707 56713 INTWAKEC 056295,001108: 27,2710 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE. 056296,001109: 27,2711 00002 DEC 2 B-14 056297,001110: 27,2712 00063 MOONFLAG 056298,001111: 27,2713 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND 056299,001112: # MOONFLAG SET (OR CLEARED). 056300,001113: 27,2714 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM 056301,001114: 27,2715 56723 INTWAKLM # STATE VECTOR UPDATE...... 056302,001115: 27,2716 77624 CALL # UPDATE CSM STATE VECTOR 056303,001116: 27,2717 26636 ATOPCSM 056304,001117: 056305,001118: 27,2720 52014 CLEAR GOTO 056306,001119: 27,2721 01671 ORBWFLAG 056307,001120: 27,2722 56725 INTWAKEX 056308,001121: 056309,001122: 27,2723 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR 056310,001123: 27,2724 26711 ATOPLEM 056311,001124: 056312,001125: 27,2725 77614 INTWAKEX CLEAR 056313,001126: 27,2726 02676 RENDWFLG 056314,001127: 056315,001128: 27,2727 45131 INTWAKUP SSP CALL # REMOVE `UPDATE STATE VECTOR INDICATOR' 056316,001129: 27,2730 01502 UPSVFLAG 056317,001130: 27,2731 00000 0 056318,001131: 27,2732 27404 INTWAKE0 # RELEASE `GRAB' OF ORBIT INTEG. 056319,001132: 27,2733 77776 EXIT 056320,001133: 056321,001134: 27,2734 05301 TC PHASCHNG 056322,001135: 27,2735 04026 OCT 04026 056323,001136: 27,2736 00330 TC INTWAKUQ 056324,001137: 056325,001138: 27,2737 00002 UPMNSVCD OCT 2 056326,001139: 27,2740 00000 OCT 0 056327,001140: 056328,001141: 27,2741 77420 GRP2PC STQ EXIT 056329,001142: 27,2742 03536 GRP2SVQ 056330,001143: 27,2743 05301 TC PHASCHNG 056331,001144: 27,2744 04022 OCT 04022 056332,001145: 27,2745 06006 TC INTPRET 056333,001146: 27,2746 77650 GOTO 056334,001147: 27,2747 03536 GRP2SVQ 056335,001148: 056336,001149: 056337,001150: End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc