Source Code
These source-code files are part of a reconstructed copy of LM131 revision 1,
the final release of the Apollo 13 Lunar Module (LM) Apollo Guidance Computer
(AGC) software.
The source reconstruction began with source code of Luminary 131 previously transcribed from a digitized copy of that program. A dump of the flight spare core rope memory module B5, part number 2010802-171, serial number RAY 411, was obtained. This module is the only module different between Luminary 131 and LM131 revision 1. The dump was disassembled and all changes were incorporated into these source files. Note that page numbers in the reconstructed code match those on the Luminary 131 printout, although the changed code would likely have changed page numbers for a real LM131 revision 1 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
050162,000002: ## Copyright: Public domain.
050163,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
050164,000004: ## Purpose: A section of LM131 revision 1.
050165,000005: ## It is part of the reconstructed source code for the final
050166,000006: ## release of the flight software for the Lunar Module's (LM)
050167,000007: ## Apollo Guidance Computer (AGC) for Apollo 13. The code has
050168,000008: ## been reconstructed from a listing of Luminary 131 and a dump
050169,000009: ## of a core rope memory module B5, part number 2010802-171,
050170,000010: ## which is the only module different between LM131 revision 1
050171,000011: ## and Luminary 131. The executable generated from this source
050172,000012: ## has been verified against the module dump, so while the names,
050173,000013: ## comments, and ordering may not be exactly correct, the
050174,000014: ## resulting binary is.
050175,000015: ## Reference: pp. 1198-1219
050176,000016: ## Assembler: yaYUL
050177,000017: ## Contact: Ron Burkey <info@sandroid.org>.
050178,000018: ## Website: www.ibiblio.org/apollo/index.html
050179,000019: ## Mod history: 2022-10-28 MAS Created from Luminary 131.
050180,000020:
Page 1198 |
050182,000022: # 1.0 INTRODUCTION
050183,000023: # ----------------
050184,000024:
050185,000025: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
050186,000026: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
050187,000027: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
050188,000028: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
050189,000029: # SIDE THE LUNAR SPHERE OF INFLUENCE.
050190,000030:
050191,000031: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
050192,000032: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
050193,000033: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
050194,000034: # CALL TC INTSTALL.
050195,000035:
050196,000036: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
050197,000037: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
050198,000038: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
050199,000039: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
050200,000040: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
050201,000041:
050202,000042: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
050203,000043: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
050204,000044: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
050205,000045: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
050206,000046:
050207,000047: # 2.0 GENERAL DESCRIPTION
050208,000048: # -----------------------
050209,000049:
050210,000050: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
050211,000051: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
050212,000052: # 2) INTEGRATES THE W-MATRIX
050213,000053: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
050214,000054:
050215,000055: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
050216,000056: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
050217,000057: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
050218,000058: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
050219,000059: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
050220,000060: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
050221,000061: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
050222,000062: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
050223,000063: # AND/OR STATE VECTOR.
050224,000064:
050225,000065: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
050226,000066: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
050227,000067: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
050228,000068: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
050229,000069: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
050230,000070: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
050231,000071:
Page 1199 |
050233,000073: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
050234,000074:
050235,000075: # 2.1 RESTARTS
050236,000076:
050237,000077: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
050238,000078: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
050239,000079: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
050240,000080: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
050241,000081: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
050242,000082: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
050243,000083:
050244,000084: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
050245,000085:
050246,000086: # 2.2 SCALING
050247,000087:
050248,000088: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
050249,000089: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
050250,000090: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
050251,000091: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
050252,000092: # DIFFERENT SCALING.
050253,000093:
050254,000094: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
050255,000095:
050256,000096: # 3.0 INPUT/OUTPUT
050257,000097: # ----------------
050258,000098:
050259,000099: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
050260,000100: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
050261,000101: # FOR INTEGRVS, THE RCV,VCV,TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
050262,000102:
050263,000103: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
050264,000104: # EARTH MOON
050265,000105: # 29 27
050266,000106: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
050267,000107:
050268,000108: # 7 5
050269,000109: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
050270,000110:
050271,000111: # 28 28
050272,000112: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
050273,000113: # CUSTOMARILY 0, BUT NOTE LUNAR
050274,000114: # ORBIT DEPENDENCE ON REAL TIME.
050275,000115:
050276,000116: # 22 18
050277,000117: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
050278,000118: # 0 IF TCCSM(LEM) = 0
050279,000119:
050280,000120: # 3 -1
050281,000121: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
050282,000122: # 0 IF TCCSM(LEM) = 0
Page 1200 |
050284,000124: # 29 27
050285,000125: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
050286,000126: # EQUALS RRECTCSM(LEM) IF
050287,000127: # TCCSM(LEM) = 0
050288,000128:
050289,000129: # 7 5
050290,000130: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
050291,000131: # EQUALS VRECTCSM(LEM) IF
050292,000132: # TCCSM(LEM) = 0
050293,000133:
050294,000134: # 28 28
050295,000135: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
050296,000136: # CUSTOMARILY 0
050297,000137:
050298,000138: # 1/2 17 16
050299,000139: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
050300,000140: # 0 IF TCCSM(LEM) = 0
050301,000141:
050302,000142: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
050303,000143: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
050304,000144: # LMOONFLG C = CSM, L = LM 0 0
050305,000145: # LMIDFLG 0,1 0,1
050306,000146:
050307,000147: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
050308,000148:
050309,000149: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
050310,000150: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
050311,000151: # ROUTINE MUST BE PRESET.
050312,000152:
050313,000153: # OUTPUT
050314,000154: # AFTER EVERY CALL TO INTEGRATION
050315,000155: # EARTH MOON
050316,000156: # 29 29
050317,000157: # 0D RATT POSITION METERS 2 2
050318,000158:
050319,000159: # 7 7
050320,000160: # 6D VATT VELOCITY M/CSEC 2 2
050321,000161:
050322,000162: # 28 28
050323,000163: # 12D TAT TIME 2 2
050324,000164:
050325,000165: # 29 27
050326,000166: # 14D RATT1 POSITION METERS 2 2
050327,000167:
050328,000168: # 7 5
050329,000169: # 20D VATT1 VELOCITY M/CSEC 2 2
050330,000170:
050331,000171: # 3 2 36 30
050332,000172: # 26D MU(P) MU M /CS 2 2
050333,000173:
050334,000174: # X1 MUTABLE ENTRY -2 -10D
050335,000175:
050336,000176: # X2 COORDINT
050337,000177: # X2 COORDINATE SYSTEM ORIGEN 0 2
050338,000178: # (THIS, NOT MOONFLAG, SHOULD BE
Page 1201 |
050340,000180: # USED TO DETERMINE ORIGIN.)
050341,000181:
050342,000182: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
050343,000183: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
050344,000184: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
050345,000185: # CALLING PROGRAM.
050346,000186:
050347,000187: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
050348,000188: # -------------------------------------
050349,000189:
050350,000190: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
050351,000191: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
050352,000192: # L CALL
050353,000193: # L+1 CSMPREC (OR LEMPREC)
050354,000194: # L+2 RETURN
050355,000195: # INPUT 28
050356,000196: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
050357,000197: # OUTPUT
050358,000198: # THE DATA LISTED IN SECTION 3.0 PLUS
050359,000199: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
050360,000200: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
050361,000201: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
050362,000202: # L-X STORE TIME IN PUSH LIST (TDEC1)
050363,000203: # L CALL
050364,000204: # L+1 CSMCONIC (OR LEMCONIC)
050365,000205: # INPUT/OUTPUT
050366,000206: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
050367,000207: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
050368,000208: # CALL
050369,000209: # INTSTALL
050370,000210: # VLOAD
050371,000211: # POSITION VECTOR
050372,000212: # STOVL RCV
050373,000213: # VELOCITY VECTOR
050374,000214: # STODL VCV
050375,000215: # TIME STATE VECTOR VALID
050376,000216: # STODL TET
050377,000217: # FINAL RADIUS
050378,000218: # STORE RFINAL
050379,000219: # SET(CLEAR) SET(CLEAR)
050380,000220: # INTYPFLAG
050381,000221: # MOONFLAG
050382,000222: # SET(CLEAR) DLOAD
050383,000223: # DESIRED TIME
050384,000224: # STCALL TDEC1
050385,000225: # INTEGRVS
050386,000226: # INPUT
050387,000227: # RCV POSITION VECTOR METERS
050388,000228: # VCV VELOCITY VECTOR M/CSEC
050389,000229: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
Page 1202 |
050391,000231: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
050392,000232: # (MAY BE INCREMENT IF TET=0)
050393,000233: # OUTPUT
050394,000234: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
050395,000235: # DEPENDING ON INTYPFLG.
050396,000236: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
050397,000237: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
050398,000238: # L-8 CALL
050399,000239: # L-7
050400,000240: # L-6 SET(CLEAR) SET(CLEAR)
050401,000241: # L-5 VINTFLAG 1=CSM, 0=LM
050402,000242: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
050403,000243: # L-3 SET(CLEAR) SET(CLEAR)
050404,000244: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
050405,000245: # L-1 D6OR9FLG 1=9X9, 0=6X6
050406,000246: # L SET DLOAD
050407,000247: # L+1 STATEFLG DESIRE PERMANENT UPDATE
050408,000248: # L+2 FINAL RAD. OF STATE VECTOR
050409,000249: # L+3 STCALL RFINAL
050410,000250: # L+4 INTEGRV
050411,000251: # L CALL NORMAL USE -- WILL UPDATE STATE
050412,000252: # L+1 INTEGRV VECTOR IF DIMOFLAG=1. (STATEFLG IS
050413,000253: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
050414,000254: # IT IS USED.)
050415,000255: # INPUT
050416,000256: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
050417,000257: # OUTPUT
050418,000258: # SAME AS FOR PRECISION OR CONIC INTEGRATION
050419,000259: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
050420,000260: # THE PERMANENT STATE VECTOR REPRESENTATION.
050421,000261:
050422,000262: 11,2404 BANK 11
050423,000263: 13,2000 SETLOC INTINIT
050424,000264: 13,2000 BANK
050425,000265: 13,2602 E3,1554 EBANK= RRECTCSM
050426,000266: 13,2602 COUNT* $$/INTIN
050427,000267: 13,2602 05353 STATEINT TC PHASCHNG
050428,000268: 13,2603 00052 OCT 00052
050429,000269: 13,2604 35017 CAF PRIO5
050430,000270: 13,2605 05105 TC FINDVAC
050431,000271: 13,2606 E3,1554 EBANK= RRECTCSM
050432,000272: 13,2606 02611 26063 2CADR STATINT1
050433,000273:
050434,000274: 13,2610 05261 TC TASKOVER
050435,000275: 13,2611 06042 STATINT1 TC INTPRET
050436,000276: 13,2612 47014 BON RTB
050437,000277: 13,2613 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
050438,000278: 13,2614 26652 NOINT
050439,000279: 13,2615 21574 LOADTIME
050440,000280: 13,2616 00041 STORE TDEC1
Page 1203 |
050442,000282: 13,2617 77624 CALL
050443,000283: 13,2620 27410 INTSTALL
050444,000284: 13,2621 45014 SET CALL
050445,000285: 13,2622 01076 NODOFLAG
050446,000286: 13,2623 26643 SETIFLGS
050447,000287: 13,2624 52014 SET GOTO
050448,000288: 13,2625 01460 POOHFLAG
050449,000289: 13,2626 26026 STATEUP
050450,000290: 13,2627 00003 25140 600SECS 2DEC 60000 B-28
050451,000291:
050452,000292: 13,2631 77414 ENDINT CLEAR EXIT
050453,000293: 13,2632 01672 STATEFLG
050454,000294: 13,2633 05353 TC PHASCHNG
050455,000295: 13,2634 20032 OCT 20032
050456,000296: 13,2635 00006 EXTEND
050457,000297: 13,2636 32630 DCA 600SECS
050458,000298: 13,2637 05277 TC LONGCALL
050459,000299: 13,2640 E3,1626 EBANK= RRECTHIS
050460,000300: 13,2640 02602 26063 2CADR STATEINT
050461,000301:
050462,000302: 13,2642 05155 TC ENDOFJOB
050463,000303: 13,2643 43014 SETIFLGS SET CLEAR
050464,000304: 13,2644 01472 STATEFLG
050465,000305: 13,2645 01673 INTYPFLG
050466,000306: 13,2646 43014 CLEAR CLEAR
050467,000307: 13,2647 01676 DIM0FLAG
050468,000308: 13,2650 01675 D6OR9FLG
050469,000309: 13,2651 77616 RVQ
050470,000310: 13,2652 77776 NOINT EXIT
050471,000311: 13,2653 05353 TC PHASCHNG
050472,000312: 13,2654 00002 OCT 00002
050473,000313:
050474,000314: 13,2655 05516 TC DOWNFLAG
050475,000315: 13,2656 00221 ADRES QUITFLAG
050476,000316: 13,2657 05155 TC ENDOFJOB
050477,000317:
050478,000318: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
050479,000319:
050480,000320: # CALLING SEQUENCE
050481,000321: # L CALL
050482,000322: # L+1 ATOPCSM
050483,000323:
050484,000324: # NORMAL EXIT AT L+2
050485,000325:
050486,000326: 13,2660 47020 ATOPCSM STQ RTB
050487,000327: 13,2661 00051 S2
050488,000328: 13,2662 26673 MOVEACSM
050489,000329: 13,2663 45014 SET CALL
050490,000330: 13,2664 04063 CMOONFLG
050491,000331: 13,2665 26114 SVDWN1
Page 1204 |
050493,000333: 13,2666 43014 BON CLRGO
050494,000334: 13,2667 00303 MOONFLAG
050495,000335: 13,2670 00051 S2
050496,000336: 13,2671 04223 CMOONFLG
050497,000337: 13,2672 00051 S2
050498,000338: 13,2673 03035 MOVEACSM TC SETBANK
050499,000339: 13,2674 55500 TS DIFEQCNT # INITIALIZE INDEX
050500,000340: 13,2675 51500 INDEX DIFEQCNT
050501,000341: 13,2676 31502 CA RRECT
050502,000342: 13,2677 51500 INDEX DIFEQCNT
050503,000343: 13,2700 55554 TS RRECTCSM
050504,000344: 13,2701 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
050505,000345: 13,2702 12674 TCF MOVEACSM +1 # NO-LOOP
050506,000346: 13,2703 06064 TC DANZIG # COMPLETE - RETURN
050507,000347:
050508,000348: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
050509,000349:
050510,000350: # CALLING SEQUENCE
050511,000351: # L CALL
050512,000352: # PTOACSM
050513,000353:
050514,000354: # NORMAL EXIT AT L+2
050515,000355:
050516,000356: 13,2704 43034 PTOACSM RTB BON
050517,000357: 13,2705 26722 MOVEPCSM
050518,000358: 13,2706 04303 CMOONFLG
050519,000359: 13,2707 26715 SETMOON
050520,000360: 13,2710 66214 CLRMOON CLEAR SSP
050521,000361: 13,2711 00263 MOONFLAG
050522,000362: 13,2712 02031 PBODY
050523,000363: 13,2713 00000 0
050524,000364: 13,2714 77616 RVQ
050525,000365: 13,2715 66214 SETMOON SET SSP
050526,000366: 13,2716 00063 MOONFLAG
050527,000367: 13,2717 02031 PBODY
050528,000368: 13,2720 00002 2
050529,000369: 13,2721 77616 RVQ
050530,000370: 13,2722 03035 MOVEPCSM TC SETBANK
050531,000371: 13,2723 55500 TS DIFEQCNT
050532,000372: 13,2724 51500 INDEX DIFEQCNT
050533,000373: 13,2725 31554 CA RRECTCSM
050534,000374: 13,2726 51500 INDEX DIFEQCNT
050535,000375: 13,2727 55502 TS RRECT
050536,000376: 13,2730 11500 CCS DIFEQCNT
050537,000377: 13,2731 12723 TCF MOVEPCSM +1
050538,000378: 13,2732 06064 TC DANZIG
050539,000379:
050540,000380: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
Page 1205 |
050542,000382: 13,2733 47020 ATOPLEM STQ RTB
050543,000383: 13,2734 00051 S2
050544,000384: 13,2735 26746 MOVEALEM
050545,000385: 13,2736 45014 SET CALL
050546,000386: 13,2737 04064 LMOONFLG
050547,000387: 13,2740 26070 SVDWN2
050548,000388: 13,2741 43014 BON CLRGO
050549,000389: 13,2742 00303 MOONFLAG
050550,000390: 13,2743 00051 S2
050551,000391: 13,2744 04224 LMOONFLG
050552,000392: 13,2745 00051 S2
050553,000393: 13,2746 03035 MOVEALEM TC SETBANK
050554,000394: 13,2747 55500 TS DIFEQCNT
050555,000395: 13,2750 51500 INDEX DIFEQCNT
050556,000396: 13,2751 31502 CA RRECT
050557,000397: 13,2752 51500 INDEX DIFEQCNT
050558,000398: 13,2753 55626 TS RRECTLEM
050559,000399: 13,2754 11500 CCS DIFEQCNT
050560,000400: 13,2755 12747 TCF MOVEALEM +1
050561,000401: 13,2756 06064 TC DANZIG
050562,000402:
050563,000403: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
050564,000404:
050565,000405: 13,2757 47014 PTOALEM BON RTB
050566,000406: 13,2760 04307 SURFFLAG
050567,000407: 13,2761 27000 USEPIOS
050568,000408: 13,2762 26767 MOVEPLEM
050569,000409: 13,2763 52014 BON GOTO
050570,000410: 13,2764 04304 LMOONFLG
050571,000411: 13,2765 26715 SETMOON
050572,000412: 13,2766 26710 CLRMOON
050573,000413: 13,2767 03035 MOVEPLEM TC SETBANK
050574,000414: 13,2770 55500 TS DIFEQCNT
050575,000415: 13,2771 51500 INDEX DIFEQCNT
050576,000416: 13,2772 31626 CA RRECTLEM
050577,000417: 13,2773 51500 INDEX DIFEQCNT
050578,000418: 13,2774 55502 TS RRECT
050579,000419: 13,2775 11500 CCS DIFEQCNT
050580,000420: 13,2776 12770 TCF MOVEPLEM +1
050581,000421: 13,2777 06064 TC DANZIG
050582,000422:
050583,000423: 13,3000 77201 USEPIOS SETPD VLOAD
050584,000424: 13,3001 00001 0
050585,000425: 13,3002 02023 RLS
050586,000426: 13,3003 41525 PDDL PUSH
050587,000427: 13,3004 00041 TDEC1
050588,000428: 13,3005 15517 STODL TET
050589,000429: 13,3006 27733 5/8
Page 1206 |
050591,000431: 13,3007 77624 CALL
050592,000432: 13,3010 55716 RP-TO-R
050593,000433: 13,3011 25535 STOVL RCV
050594,000434: 13,3012 24001 ZUNIT
050595,000435: 13,3013 14001 STODL 0D
050596,000436: 13,3014 01517 TET
050597,000437: 13,3015 14007 STODL 6D
050598,000438: 13,3016 27733 5/8
050599,000439: 13,3017 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
050600,000440: 13,3020 00063 MOONFLAG
050601,000441: 13,3021 55716 RP-TO-R
050602,000442: 13,3022 74235 VXV VXSC
050603,000443: 13,3023 01535 RCV
050604,000444: 13,3024 26001 OMEGMOON
050605,000445: 13,3025 25543 STOVL VCV
050606,000446: 13,3026 24007 ZEROVEC
050607,000447: 13,3027 01521 STORE TDELTAV
050608,000448: 13,3030 67174 AXT,2 SXA,2
050609,000449: 13,3031 00002 2
050610,000450: 13,3032 02030 PBODY
050611,000451: 13,3033 35527 STCALL TNUV
050612,000452: 13,3034 27156 A-PCHK
050613,000453: 13,3035 33041 SETBANK CAF INTBANK
050614,000454: 13,3036 54006 TS BBANK
050615,000455: 13,3037 33446 CAF FORTYONE
050616,000456: 13,3040 00002 TC Q
050617,000457: 13,3041 E3,1554 EBANK= RRECTCSM
050618,000458: 13,3041 26063 INTBANK BBCON INTEGRV
050619,000459:
050620,000460: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
050621,000461: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
050622,000462:
050623,000463: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
050624,000464: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
050625,000465: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
050626,000466:
050627,000467: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
050628,000468: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
050629,000469: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
050630,000470:
050631,000471: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
050632,000472: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
050633,000473: # CSMPREC CSMCONIC LEMPREC LEMCONIC
050634,000474: # VINTFLAG SET SET CLEAR CLEAR
050635,000475: # INTYPFLG CLEAR SET CLEAR SET
050636,000476: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
050637,000477:
050638,000478: # CALLING SEQUENCE
050639,000479: # L-X STORE TDEC1
Page 1207 |
050641,000481: # L CALL (STCALL TDEC1)
050642,000482: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
050643,000483:
050644,000484: # NORMAL EXIT TO L+2
050645,000485:
050646,000486: # SUBROUTINES CALLED
050647,000487: # INTEGRV1
050648,000488: # PRECOUT FOR CSMPREC AND LEMPREC
050649,000489: # CONICOUT FOR CSMCONIC AND LEMCONIC
050650,000490:
050651,000491: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
050652,000492:
050653,000493: # INPUT
050654,000494: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
050655,000495:
050656,000496: 13,3042 45020 CSMPREC STQ CALL
050657,000497: 13,3043 00046 X1
050658,000498: 13,3044 27410 INTSTALL
050659,000499: 13,3045 43130 SXA,1 SET
050660,000500: 13,3046 02102 IRETURN
050661,000501: 13,3047 01474 VINTFLAG
050662,000502:
050663,000503: 13,3050 43014 IFLAGP SET CLEAR
050664,000504: 13,3051 01467 PRECIFLG
050665,000505: 13,3052 01676 DIM0FLAG
050666,000506: 13,3053 77614 CLRGO
050667,000507: 13,3054 01633 INTYPFLG
050668,000508: 13,3055 27135 INTEGRV1
050669,000509: 13,3056 45020 LEMPREC STQ CALL
050670,000510: 13,3057 00046 X1
050671,000511: 13,3060 27410 INTSTALL
050672,000512: 13,3061 43130 SXA,1 CLRGO
050673,000513: 13,3062 02102 IRETURN
050674,000514: 13,3063 01634 VINTFLAG
050675,000515: 13,3064 27050 IFLAGP
050676,000516:
050677,000517: 13,3065 45020 CSMCONIC STQ CALL
050678,000518: 13,3066 00046 X1
050679,000519: 13,3067 27410 INTSTALL
050680,000520: 13,3070 43130 SXA,1 SET
050681,000521: 13,3071 02102 IRETURN
050682,000522: 13,3072 01474 VINTFLAG
050683,000523: 13,3073 43014 IFLAGC CLEAR SETGO
050684,000524: 13,3074 01676 DIM0FLAG
050685,000525: 13,3075 01433 INTYPFLG
050686,000526: 13,3076 27135 INTEGRV1
050687,000527: 13,3077 45020 LEMCONIC STQ CALL
050688,000528: 13,3100 00046 X1
050689,000529: 13,3101 27410 INTSTALL
050690,000530: 13,3102 43130 SXA,1 CLRGO
Page 1208 |
050692,000532: 13,3103 02102 IRETURN
050693,000533: 13,3104 01634 VINTFLAG
050694,000534: 13,3105 27073 IFLAGC
050695,000535:
050696,000536: 13,3106 66214 INTEGRVS SET SSP
050697,000537: 13,3107 01467 PRECIFLG
050698,000538: 13,3110 02031 PBODY
050699,000539: 13,3111 00000 0
050700,000540: 13,3112 66214 BOF SSP
050701,000541: 13,3113 00343 MOONFLAG
050702,000542: 13,3114 27117 +3
050703,000543: 13,3115 02031 PBODY
050704,000544: 13,3116 00002 2
050705,000545: 13,3117 77220 STQ VLOAD
050706,000546: 13,3120 02102 IRETURN
050707,000547: 13,3121 24007 ZEROVEC
050708,000548: 13,3122 01521 STORE TDELTAV
050709,000549: 13,3123 35527 STCALL TNUV
050710,000550: 13,3124 27671 RECTIFY
050711,000551: 13,3125 43014 CLEAR SET
050712,000552: 13,3126 01676 DIM0FLAG
050713,000553: 13,3127 04062 NEWIFLG
050714,000554: 13,3130 77614 SETGO
050715,000555: 13,3131 04020 RPQFLAG
050716,000556: 13,3132 27147 ALOADED
050717,000557:
050718,000558: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
050719,000559: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
050720,000560: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS.
050721,000561: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
050722,000562: # PROGRAM FOR PRECISION OR CONIC
050723,000563:
050724,000564: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
050725,000565: # SETTING ANY FLAGS.
050726,000566:
050727,000567: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
050728,000568: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
050729,000569: # INTYPFLG
050730,000570: # DIM0FLAG
050731,000571: # D6OR9FLG
050732,000572:
050733,000573: # CALLING SEQUENCE
050734,000574: # L-X CALL
050735,000575: # L-Y INTSTALL
050736,000576: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
050737,000577: # AND DIM0FLAG IS CLEAR.
050738,000578: # L CALL
050739,000579: # L+1 INTEGRV
050740,000580:
050741,000581: # INITIALIZATION
050742,000582: # FLAGS AS ABOVE
050743,000583: # STORE TIME TO INTEGRATE TO IN TDEC1
050744,000584:
050745,000585: # OUTPUT
050746,000586: # RATT AS
Page 1209 |
050748,000588: # VATT DEFINED
050749,000589: # TAT BEFORE
050750,000590:
050751,000591: 13,3133 77620 INTEGRV STQ
050752,000592: 13,3134 02102 IRETURN
050753,000593: 13,3135 43014 INTEGRV1 SET SET
050754,000594: 13,3136 04060 RPQFLAG
050755,000595: 13,3137 04062 NEWIFLG
050756,000596: 13,3140 77731 INTEGRV2 SSP
050757,000597: 13,3141 00053 QPRET
050758,000598: 13,3142 27147 ALOADED
050759,000599: 13,3143 52014 BON GOTO
050760,000600: 13,3144 01714 VINTFLAG
050761,000601: 13,3145 26704 PTOACSM
050762,000602: 13,3146 26757 PTOALEM
050763,000603: 13,3147 77745 ALOADED DLOAD
050764,000604: 13,3150 00041 TDEC1
050765,000605: 13,3151 01115 STORE TDEC
050766,000606: 13,3152 52014 BOFF GOTO
050767,000607: 13,3153 01753 INTYPFLG
050768,000608: 13,3154 27256 TESTLOOP
050769,000609: 13,3155 27242 RVCON
050770,000610: 13,3156 77414 A-PCHK BOF EXIT
050771,000611: 13,3157 01752 STATEFLG
050772,000612: 13,3160 27177 RECTOUT
050773,000613: 13,3161 05353 TC PHASCHNG
050774,000614: 13,3162 04022 OCT 04022
050775,000615: 13,3163 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
050776,000616: 13,3164 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
050777,000617: 13,3165 06042 TC INTPRET
050778,000618: 13,3166 77731 SSP
050779,000619: 13,3167 00053 QPRET
050780,000620: 13,3170 27175 PHEXIT
050781,000621: 13,3171 52014 BON GOTO
050782,000622: 13,3172 01714 VINTFLAG
050783,000623: 13,3173 26660 ATOPCSM
050784,000624: 13,3174 26733 ATOPLEM
050785,000625: 13,3175 77624 PHEXIT CALL
050786,000626: 13,3176 11210 GRP2PC
050787,000627: 13,3177 45001 RECTOUT SETPD CALL
050788,000628: 13,3200 00001 0
050789,000629: 13,3201 27671 RECTIFY
050790,000630: 13,3202 53775 VLOAD VSL*
050791,000631: 13,3203 01503 RRECT
050792,000632: 13,3204 57576 0,2
050793,000633: 13,3205 53715 PDVL VSL* # RATT TO PD0
050794,000634: 13,3206 01511 VRECT
050795,000635: 13,3207 57576 0,2
050796,000636: 13,3210 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
Page 1210 |
050798,000638: 13,3211 01517 TET
050799,000639: 13,3212 01503 RRECT
050800,000640: 13,3213 64715 PDVL PDDL*
050801,000641: 13,3214 01511 VRECT
050802,000642: 13,3215 51770 MUEARTH,2
050803,000643: 13,3216 76006 PUSH AXT,1
050804,000644: 13,3217 77765 DEC -10 B-14
050805,000645: 13,3220 76014 BON AXT,1
050806,000646: 13,3221 00303 MOONFLAG
050807,000647: 13,3222 27224 +2
050808,000648: 13,3223 77775 DEC -2 B-14
050809,000649: 13,3224 40001 INTEXIT SETPD BOV
050810,000650: 13,3225 00001 0
050811,000651: 13,3226 27227 +1
050812,000652: 13,3227 43014 CLEAR CLEAR
050813,000653: 13,3230 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
050814,000654: 13,3231 01667 PRECIFLG
050815,000655: 13,3232 77614 CLEAR
050816,000656: 13,3233 01672 STATEFLG
050817,000657: 13,3234 77535 SLOAD EXIT
050818,000658: 13,3235 02103 IRETURN
050819,000659: 13,3236 30154 CA MPAC
050820,000660: 13,3237 50120 INDEX FIXLOC
050821,000661: 13,3240 54052 TS QPRET
050822,000662: 13,3241 03421 TC INTWAKE
050823,000663:
050824,000664: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
050825,000665: # VELOCITY FOR THE INTERVAL (TET-TDEC)
050826,000666:
050827,000667: 13,3242 45345 RVCON DLOAD DSU
050828,000668: 13,3243 01115 TDEC
050829,000669: 13,3244 01517 TET
050830,000670: 13,3245 36074 STCALL TAU.
050831,000671: 13,3246 27671 RECTIFY
050832,000672: 13,3247 77624 CALL
050833,000673: 13,3250 22404 KEPPREP
050834,000674: 13,3251 43345 DLOAD DAD
050835,000675: 13,3252 01551 TC
050836,000676: 13,3253 01517 TET
050837,000677: 13,3254 35517 STCALL TET
050838,000678: 13,3255 27177 RECTOUT
050839,000679:
Page 1211 |
050841,000681: # TESTLOOP
050842,000682:
050843,000683: 13,3256 43014 TESTLOOP BOF CLRGO
050844,000684: 13,3257 04752 QUITFLAG
050845,000685: 13,3260 27263 +3
050846,000686: 13,3261 01632 STATEFLG
050847,000687: 13,3262 27224 INTEXIT # STOP INTEGRATION
050848,000688: 13,3263 73001 +3 SETPD LXA,2
050849,000689: 13,3264 00013 10D
050850,000690: 13,3265 02030 PBODY
050851,000691: 13,3266 51575 VLOAD ABVAL
050852,000692: 13,3267 01535 RCV
050853,000693: 13,3270 43006 PUSH CLEAR # RC TO 10D
050854,000694: 13,3271 00262 MIDFLAG
050855,000695: 13,3272 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
050856,000696: 13,3273 53755 RME,2
050857,000697: 13,3274 27277 +3
050858,000698: 13,3275 77614 SET
050859,000699: 13,3276 00062 MIDFLAG
050860,000700: 13,3277 41345 NORFINAL DLOAD DMP
050861,000701: 13,3300 00013 10D
050862,000702: 13,3301 00043 34D
050863,000703: 13,3302 55762 SR1R DDV*
050864,000704: 13,3303 51770 MUEARTH,2
050865,000705: 13,3304 41366 SQRT DMP
050866,000706: 13,3305 25762 .3D
050867,000707: 13,3306 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
050868,000708: 13,3307 54345 DLOAD SL
050869,000709: 13,3310 00155 MPAC
050870,000710: 13,3311 20220 15D # OF 128 CSECS.
050871,000711: 13,3312 40006 PUSH BOV
050872,000712: 13,3313 27340 MAXDT
050873,000713: 13,3314 50021 BDSU BMN
050874,000714: 13,3315 27407 DT/2MAX
050875,000715: 13,3316 27340 MAXDT
050876,000716: 13,3317 45345 DT/2COMP DLOAD DSU
050877,000717: 13,3320 01115 TDEC
050878,000718: 13,3321 01517 TET
050879,000719: 13,3322 54234 RTB SL
050880,000720: 13,3323 21613 SGNAGREE
050881,000721: 13,3324 20211 8D
050882,000722: 13,3325 02076 STORE DT/2 # B-19
050883,000723: 13,3326 51400 BOV ABS
050884,000724: 13,3327 27344 GETMAXDT
050885,000725: 13,3330 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
050886,000726: 13,3331 00015 12D
050887,000727: 13,3332 27350 P00HCHK
050888,000728: 13,3333 75345 USEMAXDT DLOAD SIGN
050889,000729: 13,3334 00015 12D
050890,000730: 13,3335 02076 DT/2
Page 1212 |
050892,000732: 13,3336 36076 STCALL DT/2
050893,000733: 13,3337 27350 P00HCHK
050894,000734: 13,3340 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
050895,000735: 13,3341 27407 DT/2MAX
050896,000736: 13,3342 77650 GOTO
050897,000737: 13,3343 27317 DT/2COMP
050898,000738: 13,3344 77634 GETMAXDT RTB
050899,000739: 13,3345 21713 SIGNMPAC
050900,000740: 13,3346 36076 STCALL DT/2
050901,000741: 13,3347 27333 USEMAXDT
050902,000742: 13,3350 51545 P00HCHK DLOAD ABS
050903,000743: 13,3351 02076 DT/2
050904,000744: 13,3352 50025 DSU BMN
050905,000745: 13,3353 27405 DT/2MIN
050906,000746: 13,3354 27156 A-PCHK
050907,000747: 13,3355 43014 BOFF BON # NO BACKWARDS INTEGRATION
050908,000748: 13,3356 01740 POOHFLAG # WHEN IN POO
050909,000749: 13,3357 23311 TIMESTEP
050910,000750: 13,3360 01707 PRECIFLG
050911,000751: 13,3361 23311 TIMESTEP
050912,000752: 13,3362 45345 DLOAD DSU
050913,000753: 13,3363 02076 DT/2
050914,000754: 13,3364 00015 12D
050915,000755: 13,3365 43040 BMN BOFCLR
050916,000756: 13,3366 27156 A-PCHK
050917,000757: 13,3367 04242 NEWIFLG
050918,000758: 13,3370 23311 TIMESTEP
050919,000759: 13,3371 45345 DLOAD DSU
050920,000760: 13,3372 01115 TDEC
050921,000761: 13,3373 01517 TET
050922,000762: 13,3374 77640 BMN # NO BACKWARD INTEGRATION
050923,000763: 13,3375 27224 INTEXIT
050924,000764: 13,3376 40525 PDDL SR4
050925,000765: 13,3377 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
050926,000766: 13,3400 44322 SR2R BDSU # NO
050927,000767: 13,3401 52040 BMN GOTO
050928,000768: 13,3402 27224 INTEXIT
050929,000769: 13,3403 23311 TIMESTEP
050930,000770: 13,3404 00000 01400 DT/2MIN 2DEC 3 B-20
050931,000771: 13,3406 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
050932,000772:
050933,000773: 13,3410 77776 INTSTALL EXIT
050934,000774: 13,3411 30106 CA RASFLAG
050935,000775: 13,3412 73462 MASK INTBITAB # IS THIS STALL AREA FREE
050936,000776: 13,3413 00006 EXTEND
050937,000777: 13,3414 13454 BZF OKTOGRAB # YES
050938,000778: 13,3415 33461 CAF WAKESTAL
050939,000779: 13,3416 05133 TC JOBSLEEP
050940,000780: 13,3417 77776 INTWAKE0 EXIT
Page 1213 |
050942,000782: 13,3420 13441 TCF INTWAKE1
050943,000783:
050944,000784: 13,3421 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
050945,000785: 13,3422 74745 MASK REINTBIT # RESTARTED
050946,000786: 13,3423 10000 CCS A
050947,000787: 13,3424 03441 TC INTWAKE1 # NO
050948,000788:
050949,000789: 13,3425 50120 INDEX FIXLOC
050950,000790: 13,3426 30052 CA QPRET
050951,000791: 13,3427 55054 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
050952,000792:
050953,000793: 13,3430 05353 TC PHASCHNG
050954,000794: 13,3431 04022 OCT 04022
050955,000795:
050956,000796: 13,3432 31054 CA TBASE2
050957,000797: 13,3433 50120 INDEX FIXLOC
050958,000798: 13,3434 54052 TS QPRET
050959,000799:
050960,000800: 13,3435 34745 CAF REINTBIT
050961,000801: 13,3436 70106 MASK RASFLAG
050962,000802: 13,3437 00006 EXTEND
050963,000803: 13,3440 13457 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
050964,000804:
050965,000805: 13,3441 33461 INTWAKE1 CAF WAKESTAL
050966,000806: 13,3442 00004 INHINT
050967,000807: 13,3443 05137 TC JOBWAKE
050968,000808: 13,3444 10064 CCS LOCCTR
050969,000809: 13,3445 13441 TCF INTWAKE1
050970,000810: 13,3446 00051 FORTYONE DEC 41 B-14
050971,000811: 13,3447 43462 CS INTBITAB
050972,000812: 13,3450 70106 MASK RASFLAG
050973,000813: 13,3451 54106 TS RASFLAG # RELEASE STALL AREA
050974,000814: 13,3452 00003 RELINT
050975,000815: 13,3453 13457 TCF GOBAC
050976,000816: 13,3454 34736 OKTOGRAB CAF INTFLBIT
050977,000817: 13,3455 00004 INHINT
050978,000818: 13,3456 26106 ADS RASFLAG
050979,000819: 13,3457 06042 GOBAC TC INTPRET
050980,000820: 13,3460 77616 RVQ
050981,000821: 13,3461 27411 WAKESTAL CADR INTSTALL +1
050982,000822: 13,3462 20100 INTBITAB OCT 20100
050983,000823:
Page 1214 |
050985,000825: # AVETOMID
050986,000826:
050987,000827: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
050988,000828: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
050989,000829: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
050990,000830:
050991,000831: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLG IS
050992,000832: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
050993,000833:
050994,000834: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
050995,000835:
050996,000836: # FINALLY TRKMKCNT IS ZEROED
050997,000837:
050998,000838: 13,2000 SETLOC INTINIT
050999,000839: 13,2000 BANK
051000,000840:
051001,000841: 13,3463 COUNT* $$/INTIN
051002,000842: 13,3463 43020 AVETOMID STQ BON
051003,000843: 13,3464 02772 EGRESS
051004,000844: 13,3465 02716 RENDWFLG
051005,000845: 13,3466 27532 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051006,000846: 13,3467 77614 BON
051007,000847: 13,3470 01711 ORBWFLAG
051008,000848: 13,3471 27532 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051009,000849:
051010,000850: 13,3472 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
051011,000851: 13,3473 01234 PIPTIME # DESIRED TIME
051012,000852: 13,3474 27410 INTSTALL
051013,000853: 13,3475 45014 SET CALL
051014,000854: 13,3476 01474 VINTFLAG # CM
051015,000855: 13,3477 26643 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
051016,000856: 13,3500 34041 STCALL TDEC1
051017,000857: 13,3501 27133 INTEGRV
051018,000858:
051019,000859: 13,3502 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
051020,000860: 13,3503 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
051021,000861: 13,3504 27410 INTSTALL
051022,000862: 13,3505 77014 BON AXT,2
051023,000863: 13,3506 04304 MOONTHIS
051024,000864: 13,3507 27511 +2
051025,000865: 13,3510 00000 0
051026,000866: 13,3511 53775 VLOAD VSR*
051027,000867: 13,3512 01220 RN
051028,000868: 13,3513 57176 0,2
051029,000869: 13,3514 01503 STORE RRECT
051030,000870: 13,3515 15535 STODL RCV
051031,000871: 13,3516 01234 PIPTIME
051032,000872: 13,3517 25517 STOVL TET
051033,000873: 13,3520 01226 VN
Page 1215 |
051035,000875: 13,3521 45057 VSR* CALL
051036,000876: 13,3522 57176 0,2
051037,000877: 13,3523 27705 MINIRECT # FINISH SETTING UP STATE VECTOR
051038,000878: 13,3524 66234 RTB SSP
051039,000879: 13,3525 26746 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
051040,000880: 13,3526 03463 TRKMKCNT
051041,000881: 13,3527 00000 0
051042,000882: 13,3530 77650 GOTO
051043,000883: 13,3531 47230 FAZAB5
051044,000884:
051045,000885: 13,3532 45145 INT/W DLOAD CALL
051046,000886: 13,3533 01234 PIPTIME # INTEGRATE W THRU BURN
051047,000887: 13,3534 27410 INTSTALL
051048,000888: 13,3535 43014 SET SET
051049,000889: 13,3536 01476 DIM0FLAG # DO W-MATRIX
051050,000890: 13,3537 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
051051,000891: 13,3540 43014 SET CLEAR
051052,000892: 13,3541 01475 D6OR9FLG # 9X9 FOR LM
051053,000893: 13,3542 01674 VINTFLAG # LM
051054,000894: 13,3543 34041 STCALL TDEC1
051055,000895: 13,3544 27133 INTEGRV
051056,000896: 13,3545 77650 GOTO
051057,000897: 13,3546 27472 OTHERS # NOW GO DO THE OTHER VEHICLE
051058,000898:
Page 1216 |
051060,000900: # MIDTOAV1
051061,000901:
051062,000902: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
051063,000903: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
051064,000904: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
051065,000905: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
051066,000906: # IS DONE TO THE CURRENT TIME.
051067,000907: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
051068,000908:
051069,000909: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
051070,000910: # TO THE RETURN ADDRESS
051071,000911:
051072,000912: # IN EITHER CASE , BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
051073,000913: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
051074,000914: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
051075,000915: # TAT MINUS CURRENT TIME.
051076,000916:
051077,000917: # MIDTOAV2
051078,000918:
051079,000919: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
051080,000920: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
051081,000921: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
051082,000922:
051083,000923: 13,3547 E7,1744 EBANK= IRETURN1
051084,000924: 13,3547 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
051085,000925: 13,3550 03744 IRETURN1
051086,000926: 13,3551 04634 MID1FLAG
051087,000927: 13,3552 27566 ENTMID2
051088,000928:
051089,000929: 13,3553 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
051090,000930: 13,3554 03744 IRETURN1
051091,000931: 13,3555 04474 MID1FLAG
051092,000932: 13,3556 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
051093,000933: 13,3557 21574 LOADTIME
051094,000934: 13,3560 27670 TIMEDELT
051095,000935: 13,3561 51021 BDSU BPL
051096,000936: 13,3562 00041 TDEC1
051097,000937: 13,3563 27572 ENTMID1 # Y5S
051098,000938: 13,3564 77624 CALL
051099,000939: 13,3565 27656 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
051100,000940:
051101,000941: 13,3566 43234 ENTMID2 RTB DAD
051102,000942: 13,3567 21574 LOADTIME
051103,000943: 13,3570 27670 TIMEDELT
051104,000944: 13,3571 00041 STORE TDEC1
051105,000945:
051106,000946: 13,3572 77624 ENTMID1 CALL
051107,000947: 13,3573 27410 INTSTALL
051108,000948: 13,3574 45014 CLEAR CALL
Page 1217 |
051110,000950: 13,3575 01676 DIM0FLAG # NO W-MATRIX
051111,000951: 13,3576 26066 THISVINT
051112,000952: 13,3577 43014 CLEAR SET
051113,000953: 13,3600 01673 INTYPFLG
051114,000954: 13,3601 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
051115,000955: 13,3602 77624 CALL
051116,000956: 13,3603 27133 INTEGRV # GO INTEGRATE
051117,000957: 13,3604 77214 CLEAR VLOAD
051118,000958: 13,3605 04675 MIDAVFLG
051119,000959: 13,3606 00001 RATT
051120,000960: 13,3607 27545 STOVL RN1
051121,000961: 13,3610 00007 VATT
051122,000962: 13,3611 17553 STODL VN1
051123,000963: 13,3612 00015 TAT
051124,000964: 13,3613 03561 STORE PIPTIME1
051125,000965: 13,3614 66134 SXA,2 SXA,1
051126,000966: 13,3615 02777 RTX2
051127,000967: 13,3616 02776 RTX1
051128,000968: 13,3617 77776 EXIT
051129,000969:
051130,000970: 13,3620 00004 INHINT
051131,000971: 13,3621 00006 EXTEND
051132,000972: 13,3622 40025 DCS TIME2
051133,000973: 13,3623 20155 DAS MPAC
051134,000974: 13,3624 07262 TC TPAGREE
051135,000975:
051136,000976: 13,3625 31744 CA IRETURN1
051137,000977: 13,3626 04640 TC BANKJUMP
051138,000978: 13,3627 47014 CKMID2 BOF RTB
051139,000979: 13,3630 04754 MID1FLAG
051140,000980: 13,3631 27646 MID2
051141,000981: 13,3632 21574 LOADTIME
051142,000982: 13,3633 44215 DAD BDSU
051143,000983: 13,3634 27670 TIMEDELT
051144,000984: 13,3635 01115 TDEC
051145,000985: 13,3636 45044 BPL CALL
051146,000986: 13,3637 27256 TESTLOOP # YES
051147,000987: 13,3640 27656 NOTIME
051148,000988:
051149,000989: 13,3641 43234 TIMEINC RTB DAD
051150,000990: 13,3642 21574 LOADTIME
051151,000991: 13,3643 27670 TIMEDELT
051152,000992: 13,3644 35115 STCALL TDEC
051153,000993: 13,3645 27256 TESTLOOP
051154,000994:
051155,000995: 13,3646 45345 MID2 DLOAD DSU
051156,000996: 13,3647 01115 TDEC
051157,000997: 13,3650 01517 TET
051158,000998: 13,3651 45246 ABS DSU
051159,000999: 13,3652 27666 3CSECS
051160,001000:
Page 1218 |
051162,001002: 13,3653 52040 BMN GOTO
051163,001003: 13,3654 27156 A-PCHK
051164,001004: 13,3655 27641 TIMEINC
051165,001005:
051166,001006: 13,3656 77414 NOTIME CLEAR EXIT # TOO LATE
051167,001007: 13,3657 04674 MID1FLAG
051168,001008: 13,3660 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
051169,001009: 13,3661 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
051170,001010: 13,3662 01703 OCT 1703 # TIG WILL BE SLIPPED...
051171,001011: 13,3663 06042 TC INTPRET
051172,001012: 13,3664 77616 RVQ
051173,001013:
051174,001014: 13,3665 00000 00003 3CSECS 2DEC 3 B-28
051175,001015: 13,3667 00000 03720 TIMEDELT 2DEC 2000 B-28
051176,001016:
051177,001017: 27,3361 BANK 27
051178,001018: 04,2000 SETLOC UPDATE2
051179,001019: 04,2000 BANK
051180,001020: 04,3131 1166 EBANK= INTWAKUQ
051181,001021:
051182,001022: 04,3131 COUNT* $$/INTIN
051183,001023:
051184,001024: 04,3131 1166 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
051185,001025:
051186,001026: 04,3131 00003 INTWAKEU RELINT
051187,001027: 04,3132 00006 EXTEND
051188,001028: 04,3133 23166 QXCH INTWAKUQ # SAVE Q FOR RETURN
051189,001029:
051190,001030: 04,3134 06042 TC INTPRET
051191,001031:
051192,001032: 04,3135 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
051193,001033: 04,3136 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
051194,001034: 04,3137 11176 INTWAKUP
051195,001035:
051196,001036: 04,3140 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
051197,001037: 04,3141 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
051198,001038: 04,3142 25535 STOVL RCV
051199,001039: 04,3143 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
051200,001040: 04,3144 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
051201,001041: 04,3145 27706 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
051202,001042: 04,3146 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
051203,001043: 04,3147 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
051204,001044: 04,3150 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
051205,001045: 04,3151 11207 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
051206,001046: 04,3152 11157 INTWAKEM # SPHERE OF INFLUENCE.........
051207,001047: 04,3153 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
051208,001048: 04,3154 00000 DEC 0 B-14
051209,001049: 04,3155 00223 MOONFLAG
Page 1219 |
051211,001051: 04,3156 11162 INTWAKEC
051212,001052: 04,3157 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
051213,001053: 04,3160 00002 DEC 2 B-14
051214,001054: 04,3161 00063 MOONFLAG
051215,001055: 04,3162 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
051216,001056: # MOONFLAG SET (OR CLEARED).
051217,001057: 04,3163 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
051218,001058: 04,3164 11172 INTWAKLM # STATE VECTOR UPDATE......
051219,001059: 04,3165 77624 CALL # UPDATE CSM STATE VECTOR
051220,001060: 04,3166 26660 ATOPCSM
051221,001061:
051222,001062: 04,3167 52014 CLEAR GOTO
051223,001063: 04,3170 01671 ORBWFLAG
051224,001064: 04,3171 11174 INTWAKEX
051225,001065:
051226,001066: 04,3172 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
051227,001067: 04,3173 26733 ATOPLEM
051228,001068:
051229,001069: 04,3174 77614 INTWAKEX CLEAR
051230,001070: 04,3175 02676 RENDWFLG
051231,001071:
051232,001072: 04,3176 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
051233,001073: 04,3177 01502 UPSVFLAG
051234,001074: 04,3200 00000 0
051235,001075: 04,3201 27417 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
051236,001076: 04,3202 77776 EXIT
051237,001077:
051238,001078: 04,3203 05353 TC PHASCHNG
051239,001079: 04,3204 04026 OCT 04026
051240,001080: 04,3205 01166 TC INTWAKUQ
051241,001081:
051242,001082: 04,3206 00002 UPMNSVCD OCT 2
051243,001083: 04,3207 00000 OCT 0
051244,001084:
051245,001085: 04,3210 77420 GRP2PC STQ EXIT
051246,001086: 04,3211 02711 GRP2SVQ
051247,001087: 04,3212 05353 TC PHASCHNG
051248,001088: 04,3213 04022 OCT 04022
051249,001089: 04,3214 06042 TC INTPRET
051250,001090: 04,3215 77650 GOTO
051251,001091: 04,3216 02711 GRP2SVQ
051252,001092:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc