Source Code

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