Source Code
![]() |
This is an attempt to recreate Luminary 99 Rev 2, otherwise known as LUM99R2, from Luminary 99 Rev 1 and ephemeris data from Luminary 116. The differences are confined to the last 10-12 lines of the CONTROLLED CONSTANTS. Luminary 99 Rev 1 source-code was transcribed from a printout in the MIT Museum, while Luminary 116 source code was transcribed from a printout belonging to Don Eyles. AGC developer James Kernan, the "rope mother" for the Apollo 11 Lunar Module's AGC, explains as follows: "At the last minute, Dan Lickly, our chief engineer, appeared with ephemerides updates and it took two tries to get it right. The result was that we created Lum99 Revision 1 and Lum99 Revision 2." It is suspected that the former is what's in the MIT Museum, and the latter is what we are trying to recreate here. As for which revision actually flew in Apollo 11, all of the other available surviving evidence points to Rev 1 rather than to Rev 2, so we're just not sure! |
050457,000002: ## Copyright: Public domain.
050458,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
050459,000004: ## Purpose: Part of the source code for Luminary 1A build 099.
050460,000005: ## It is part of the source code for the Lunar Module's (LM)
050461,000006: ## Apollo Guidance Computer (AGC), for Apollo 11.
050462,000007: ## Assembler: yaYUL
050463,000008: ## Contact: Ron Burkey <info@sandroid.org>.
050464,000009: ## Website: www.ibiblio.org/apollo.
050465,000010: ## Pages: 1205-1226
050466,000011: ## Mod history: 2009-05-26 RSB Adapted from the corresponding
050467,000012: ## Luminary131 file, using page
050468,000013: ## images from Luminary 1A.
050469,000014: ## 2011-01-06 JL Fixed pseudo-label indentation.
050470,000015: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
050471,000016: ## and corrected the errors found.
050472,000017: ## 2017-01-22 MAS Fixed some lingering comment errors.
050473,000018: ## 2017-03-03 RSB Snapshot of Luminary 99 Rev 1.
050474,000019: ## 2017-03-13 RSB Comment-text fixes noted in proofing Luminary 116.
050475,000020: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
050476,000021: ## side-by-side diff of Luminary 69/99/116/131/210.
050477,000022:
![]() |
Page 1205 |
050479,000024: # 1.0 INTRODUCTION
050480,000025: # ----------------
050481,000026:
050482,000027: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
050483,000028: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
050484,000029: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
050485,000030: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
050486,000031: # SIDE THE LUNAR SPHERE OF INFLUENCE.
050487,000032:
050488,000033: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
050489,000034: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
050490,000035: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
050491,000036: # CALL TC INTSTALL.
050492,000037:
050493,000038: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
050494,000039: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
050495,000040: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
050496,000041: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
050497,000042: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
050498,000043:
050499,000044: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
050500,000045: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
050501,000046: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
050502,000047: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
050503,000048:
050504,000049: # 2.0 GENERAL DESCRIPTION
050505,000050: # -----------------------
050506,000051:
050507,000052: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS ---
050508,000053: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
050509,000054: # 2) INTEGRATES THE W-MATRIX
050510,000055: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
050511,000056:
050512,000057: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
050513,000058: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
050514,000059: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
050515,000060: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
050516,000061: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
050517,000062: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
050518,000063: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
050519,000064: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
050520,000065: # AND/OR STATE VECTOR.
050521,000066:
050522,000067: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
050523,000068: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
050524,000069: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
050525,000070:
050526,000071: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
050527,000072: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
050528,000073: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
050529,000074:
![]() |
Page 1206 |
050531,000076: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
050532,000077:
050533,000078: # 2.1 RESTARTS
050534,000079:
050535,000080: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
050536,000081: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
050537,000082: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
050538,000083: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
050539,000084: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
050540,000085: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
050541,000086: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
050542,000087:
050543,000088: # 2.2 SCALING
050544,000089:
050545,000090: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
050546,000091: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
050547,000092: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
050548,000093: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
050549,000094: # DIFFERENT SCALING.
050550,000095: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
050551,000096:
050552,000097: # 3.0 INPUT/OUTPUT
050553,000098: # ----------------
050554,000099:
050555,000100: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
050556,000101: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
050557,000102: # FOR INTEGRVS, THE RCV,VCV,TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
050558,000103:
050559,000104: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
050560,000105: # EARTH MOON
050561,000106: # 29 27
050562,000107: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
050563,000108:
050564,000109: # 7 5
050565,000110: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
050566,000111:
050567,000112: # 28 28
050568,000113: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
050569,000114: # CUSTOMARILY 0, BUT NOTE LUNAR
050570,000115: # ORBIT DEPENDENCE ON REAL TIME.
050571,000116:
050572,000117: # 22 18
050573,000118: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
050574,000119: # 0 IF TCCSM(LEM) = 0
050575,000120:
050576,000121: # 3 -1
050577,000122: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
050578,000123: # 0 IF TCCSM(LEM) = 0
![]() |
Page 1207 |
050580,000125: # 29 27
050581,000126: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
050582,000127: # EQUALS RRECTCSM(LEM) IF
050583,000128: # TCCSM(LEM) = 0
050584,000129:
050585,000130: # 7 5
050586,000131: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
050587,000132: # EQUALS VRECTCSM(LEM) IF
050588,000133: # TCCSM(LEM) = 0
050589,000134:
050590,000135: # 28 28
050591,000136: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
050592,000137: # CUSTOMARILY 0
050593,000138:
050594,000139: # 1/2 17 16
050595,000140: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
050596,000141: # 0 IF TCCSM(LEM) = 0
050597,000142:
050598,000143: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
050599,000144: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
050600,000145: # LMOONFLG C = CSM, L = LM 0 0
050601,000146: # LMIDFLG 0,1 0,1
050602,000147:
050603,000148: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
050604,000149:
050605,000150: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
050606,000151: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
050607,000152: # ROUTINE MUST BE PRESET.
050608,000153:
050609,000154: # OUTPUT
050610,000155: # AFTER EVERY CALL TO INTEGRATION
050611,000156: # EARTH MOON
050612,000157: # 29 29
050613,000158: # 0D RATT POSITION METERS 2 2
050614,000159:
050615,000160: # 7 7
050616,000161: # 6D VATT VELOCITY M/CSEC 2 2
050617,000162:
050618,000163: # 28 28
050619,000164: # 12D TAT TIME 2 2
050620,000165:
050621,000166: # 29 27
050622,000167: # 14D RATT1 POSITION METERS 2 2
050623,000168:
050624,000169: # 7 5
050625,000170: # 20D VATT1 VELOCITY M/CSEC 2 2
050626,000171:
050627,000172: # 3 2 36 30
050628,000173: # 26D MU(P) MU M /CS 2 2
050629,000174:
050630,000175: # X1 MUTABLE ENTRY -2 -10D
050631,000176:
050632,000177: # X2 COORDINT
050633,000178: # X2 COORDINATE SYSTEM ORIGEN 0 2
050634,000179: # (THIS, NOT MOONFLAG, SHOULD BE
![]() |
Page 1208 |
050636,000181: # USED TO DETERMINE ORIGIN.)
050637,000182:
050638,000183: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
050639,000184: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
050640,000185: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
050641,000186: # CALLING PROGRAM.
050642,000187:
050643,000188: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
050644,000189: # -------------------------------------
050645,000190:
050646,000191: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
050647,000192: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
050648,000193: # L CALL
050649,000194: # L+1 CSMPREC (OR LEMPREC)
050650,000195: # L+2 RETURN
050651,000196: # INPUT 28
050652,000197: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
050653,000198: # OUTPUT
050654,000199: # THE DATA LISTED IN SECTION 3.0 PLUS
050655,000200: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
050656,000201: # BODY... METERS B-29 ONLY IF MIDFLAG = DIM0FLAG = 1
050657,000202: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
050658,000203: # L-X STORE TIME IN PUSH LIST (TDEC1)
050659,000204: # L CALL
050660,000205: # L+1 CSMCONIC (OR LEMCONIC)
050661,000206: # INPUT/OUTPUT
050662,000207: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
050663,000208: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
050664,000209: # CALL
050665,000210: # INTSTALL
050666,000211: # VLOAD
050667,000212: # POSITION VECTOR
050668,000213: # STOVL RCV
050669,000214: # VELOCITY VECTOR
050670,000215: # STODL VCV
050671,000216: # TIME STATE VECTOR VALID
050672,000217: # STODL TET
050673,000218: # FINAL RADIUS
050674,000219: # STORE RFINAL
050675,000220: # SET(CLEAR) SET(CLEAR)
050676,000221: # INTYPFLAG
050677,000222: # MOONFLAG
050678,000223: # SET(CLEAR) DLOAD
050679,000224: # DESIRED TIME
050680,000225: # STCALL TDEC1
050681,000226: # INTEGRVS
050682,000227: # INPUT
050683,000228: # RCV POSITION VECTOR METERS
050684,000229: # VCV VELOCITY VECTOR M/CSEC
050685,000230: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
![]() |
Page 1209 |
050687,000232: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
050688,000233: # (MAY BE INCREMENT IF TET=0)
050689,000234: # OUTPUT
050690,000235: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
050691,000236: # DEPENDING ON INTYPFLG.
050692,000237: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
050693,000238: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
050694,000239: # L-8 CALL
050695,000240: # L-7
050696,000241: # L-6 SET(CLEAR) SET(CLEAR)
050697,000242: # L-5 VINTFLAG 1=CSM, 0=LM
050698,000243: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
050699,000244: # L-3 SET(CLEAR) SET(CLEAR)
050700,000245: # L-2 DIM0FLAG 1=W-MATRIX, 0=NO W-MATRIX
050701,000246: # L-1 D6OR9FLG 1=9X9, 0=6X6
050702,000247: # L SET DLOAD
050703,000248: # L+1 STATEFLG DESIRE PERMANENT UPDATE
050704,000249: # L+2 FINAL RAD. OF STATE VECTOR
050705,000250: # L+3 STCALL RFINAL
050706,000251: # L+4 INTEGRV
050707,000252: # L CALL NORMAL USE -- WILL UPDATE STATE
050708,000253: # L+1 INTEGRV VECTOR IF DIM0FLAG=1. (STATEFLG IS
050709,000254: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
050710,000255: # IT IS USED.)
050711,000256: # INPUT
050712,000257: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
050713,000258: # OUTPUT
050714,000259: # SAME AS FOR PRECISION OR CONIC INTEGRATION
050715,000260: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
050716,000261: # THE PERMANENT STATE VECTOR REPRESENTATION.
050717,000262:
050718,000263: 11,2376 BANK 11
050719,000264: 13,2000 SETLOC INTINIT
050720,000265: 13,2000 BANK
050721,000266: 13,2604 E3,1554 EBANK= RRECTCSM
050722,000267: 13,2604 COUNT* $$/INTIN
050723,000268: 13,2604 05353 STATEINT TC PHASCHNG
050724,000269: 13,2605 00052 OCT 00052
050725,000270: 13,2606 35017 CAF PRIO5
050726,000271: 13,2607 05105 TC FINDVAC
050727,000272: 13,2610 E3,1554 EBANK= RRECTCSM
050728,000273: 13,2610 02613 26063 2CADR STATINT1
050729,000274:
050730,000275: 13,2612 05261 TC TASKOVER
050731,000276: 13,2613 06037 STATINT1 TC INTPRET
050732,000277: 13,2614 47014 BON RTB
050733,000278: 13,2615 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
050734,000279: 13,2616 26653 NOINT
050735,000280: 13,2617 21573 LOADTIME
050736,000281: 13,2620 00041 STORE TDEC1
![]() |
Page 1210 |
050738,000283: 13,2621 77624 CALL
050739,000284: 13,2622 27414 INTSTALL
050740,000285: 13,2623 45014 SET CALL
050741,000286: 13,2624 01076 NODOFLAG
050742,000287: 13,2625 26644 SETIFLGS
050743,000288: 13,2626 77650 GOTO
050744,000289: 13,2627 26026 STATEUP
050745,000290: 13,2630 00003 25140 600SECS 2DEC 60000 B-28
050746,000291:
050747,000292: 13,2632 77414 ENDINT CLEAR EXIT
050748,000293: 13,2633 01672 STATEFLG
050749,000294: 13,2634 05353 TC PHASCHNG
050750,000295: 13,2635 20032 OCT 20032
050751,000296: 13,2636 00006 EXTEND
050752,000297: 13,2637 32631 DCA 600SECS
050753,000298: 13,2640 05277 TC LONGCALL
050754,000299: 13,2641 E3,1626 EBANK= RRECTHIS
050755,000300: 13,2641 02604 26063 2CADR STATEINT
050756,000301:
050757,000302: 13,2643 05155 TC ENDOFJOB
050758,000303: 13,2644 43014 SETIFLGS SET CLEAR
050759,000304: 13,2645 01472 STATEFLG
050760,000305: 13,2646 01673 INTYPFLG
050761,000306: 13,2647 43014 CLEAR CLEAR
050762,000307: 13,2650 01676 DIM0FLAG
050763,000308: 13,2651 01675 D6OR9FLG
050764,000309: 13,2652 77616 RVQ
050765,000310: 13,2653 77776 NOINT EXIT
050766,000311: 13,2654 05353 TC PHASCHNG
050767,000312: 13,2655 00002 OCT 00002
050768,000313:
050769,000314: 13,2656 05516 TC DOWNFLAG
050770,000315: 13,2657 00221 ADRES QUITFLAG
050771,000316: 13,2660 05155 TC ENDOFJOB
050772,000317:
050773,000318: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
050774,000319:
050775,000320: # CALLING SEQUENCE
050776,000321: # L CALL
050777,000322: # L+1 ATOPCSM
050778,000323:
050779,000324: # NORMAL EXIT AT L+2
050780,000325:
050781,000326: 13,2661 47020 ATOPCSM STQ RTB
050782,000327: 13,2662 00051 S2
050783,000328: 13,2663 26674 MOVEACSM
050784,000329: 13,2664 45014 SET CALL
050785,000330: 13,2665 04063 CMOONFLG
050786,000331: 13,2666 26114 SVDWN1
050787,000332: 13,2667 43014 BON CLRGO
![]() |
Page 1211 |
050789,000334: 13,2670 00303 MOONFLAG
050790,000335: 13,2671 00051 S2
050791,000336: 13,2672 04223 CMOONFLG
050792,000337: 13,2673 00051 S2
050793,000338: 13,2674 03036 MOVEACSM TC SETBANK
050794,000339: 13,2675 55500 TS DIFEQCNT # INITIALIZE INDEX
050795,000340: 13,2676 51500 INDEX DIFEQCNT
050796,000341: 13,2677 31502 CA RRECT
050797,000342: 13,2700 51500 INDEX DIFEQCNT
050798,000343: 13,2701 55554 TS RRECTCSM
050799,000344: 13,2702 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
050800,000345: 13,2703 12675 TCF MOVEACSM +1 # NO-LOOP
050801,000346: 13,2704 06061 TC DANZIG # COMPLETE - RETURN
050802,000347:
050803,000348: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
050804,000349:
050805,000350: # CALLING SEQUENCE
050806,000351: # L CALL
050807,000352: # PTOACSM
050808,000353:
050809,000354: # NORMAL EXIT AT L+2
050810,000355:
050811,000356: 13,2705 43034 PTOACSM RTB BON
050812,000357: 13,2706 26723 MOVEPCSM
050813,000358: 13,2707 04303 CMOONFLG
050814,000359: 13,2710 26716 SETMOON
050815,000360: 13,2711 66214 CLRMOON CLEAR SSP
050816,000361: 13,2712 00263 MOONFLAG
050817,000362: 13,2713 02031 PBODY
050818,000363: 13,2714 00000 0
050819,000364: 13,2715 77616 RVQ
050820,000365: 13,2716 66214 SETMOON SET SSP
050821,000366: 13,2717 00063 MOONFLAG
050822,000367: 13,2720 02031 PBODY
050823,000368: 13,2721 00002 2
050824,000369: 13,2722 77616 RVQ
050825,000370: 13,2723 03036 MOVEPCSM TC SETBANK
050826,000371: 13,2724 55500 TS DIFEQCNT
050827,000372: 13,2725 51500 INDEX DIFEQCNT
050828,000373: 13,2726 31554 CA RRECTCSM
050829,000374: 13,2727 51500 INDEX DIFEQCNT
050830,000375: 13,2730 55502 TS RRECT
050831,000376: 13,2731 11500 CCS DIFEQCNT
050832,000377: 13,2732 12724 TCF MOVEPCSM +1
050833,000378: 13,2733 06061 TC DANZIG
050834,000379:
050835,000380: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
050836,000381: 13,2734 47020 ATOPLEM STQ RTB
![]() |
Page 1212 |
050838,000383: 13,2735 00051 S2
050839,000384: 13,2736 26747 MOVEALEM
050840,000385: 13,2737 45014 SET CALL
050841,000386: 13,2740 04064 LMOONFLG
050842,000387: 13,2741 26070 SVDWN2
050843,000388: 13,2742 43014 BON CLRGO
050844,000389: 13,2743 00303 MOONFLAG
050845,000390: 13,2744 00051 S2
050846,000391: 13,2745 04224 LMOONFLG
050847,000392: 13,2746 00051 S2
050848,000393: 13,2747 03036 MOVEALEM TC SETBANK
050849,000394: 13,2750 55500 TS DIFEQCNT
050850,000395: 13,2751 51500 INDEX DIFEQCNT
050851,000396: 13,2752 31502 CA RRECT
050852,000397: 13,2753 51500 INDEX DIFEQCNT
050853,000398: 13,2754 55626 TS RRECTLEM
050854,000399: 13,2755 11500 CCS DIFEQCNT
050855,000400: 13,2756 12750 TCF MOVEALEM +1
050856,000401: 13,2757 06061 TC DANZIG
050857,000402:
050858,000403: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
050859,000404:
050860,000405: 13,2760 47014 PTOALEM BON RTB
050861,000406: 13,2761 04307 SURFFLAG
050862,000407: 13,2762 27001 USEPIOS
050863,000408: 13,2763 26770 MOVEPLEM
050864,000409: 13,2764 52014 BON GOTO
050865,000410: 13,2765 04304 LMOONFLG
050866,000411: 13,2766 26716 SETMOON
050867,000412: 13,2767 26711 CLRMOON
050868,000413: 13,2770 03036 MOVEPLEM TC SETBANK
050869,000414: 13,2771 55500 TS DIFEQCNT
050870,000415: 13,2772 51500 INDEX DIFEQCNT
050871,000416: 13,2773 31626 CA RRECTLEM
050872,000417: 13,2774 51500 INDEX DIFEQCNT
050873,000418: 13,2775 55502 TS RRECT
050874,000419: 13,2776 11500 CCS DIFEQCNT
050875,000420: 13,2777 12771 TCF MOVEPLEM +1
050876,000421: 13,3000 06061 TC DANZIG
050877,000422:
050878,000423: 13,3001 77201 USEPIOS SETPD VLOAD
050879,000424: 13,3002 00001 0
050880,000425: 13,3003 02023 RLS
050881,000426: 13,3004 41525 PDDL PUSH
050882,000427: 13,3005 00041 TDEC1
050883,000428: 13,3006 15517 STODL TET
050884,000429: 13,3007 27712 5/8
050885,000430: 13,3010 77624 CALL
![]() |
Page 1213 |
050887,000432: 13,3011 55716 RP-TO-R
050888,000433: 13,3012 25535 STOVL RCV
050889,000434: 13,3013 24001 ZUNIT
050890,000435: 13,3014 14001 STODL 0D
050891,000436: 13,3015 01517 TET
050892,000437: 13,3016 14007 STODL 6D
050893,000438: 13,3017 27712 5/8
050894,000439: 13,3020 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
050895,000440: 13,3021 00063 MOONFLAG
050896,000441: 13,3022 55716 RP-TO-R
050897,000442: 13,3023 74235 VXV VXSC
050898,000443: 13,3024 01535 RCV
050899,000444: 13,3025 26001 OMEGMOON
050900,000445: 13,3026 25543 STOVL VCV
050901,000446: 13,3027 24007 ZEROVEC
050902,000447: 13,3030 01521 STORE TDELTAV
050903,000448: 13,3031 67174 AXT,2 SXA,2
050904,000449: 13,3032 00002 2
050905,000450: 13,3033 02030 PBODY
050906,000451: 13,3034 35527 STCALL TNUV
050907,000452: 13,3035 27157 A-PCHK
050908,000453: 13,3036 33042 SETBANK CAF INTBANK
050909,000454: 13,3037 54006 TS BBANK
050910,000455: 13,3040 33452 CAF FORTYONE
050911,000456: 13,3041 00002 TC Q
050912,000457: 13,3042 E3,1554 EBANK= RRECTCSM
050913,000458: 13,3042 26063 INTBANK BBCON INTEGRV
050914,000459:
050915,000460: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
050916,000461: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
050917,000462:
050918,000463: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
050919,000464: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
050920,000465: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
050921,000466:
050922,000467: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
050923,000468: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
050924,000469: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
050925,000470:
050926,000471: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
050927,000472: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
050928,000473: # CSMPREC CSMCONIC LEMPREC LEMCONIC
050929,000474: # VINTFLAG SET SET CLEAR CLEAR
050930,000475: # INTYPFLG CLEAR SET CLEAR SET
050931,000476: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
050932,000477:
050933,000478: # CALLING SEQUENCE
050934,000479: # L-X STORE TDEC1
050935,000480: # L CALL (STCALL TDEC1)
![]() |
Page 1214 |
050937,000482: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
050938,000483:
050939,000484: # NORMAL EXIT TO L+2
050940,000485:
050941,000486: # SUBROUTINES CALLED
050942,000487: # INTEGRV1
050943,000488: # PRECOUT FOR CSMPREC AND LEMPREC
050944,000489: # CONICOUT FOR CSMCONIC AND LEMCONIC
050945,000490:
050946,000491: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
050947,000492:
050948,000493: # INPUT
050949,000494: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
050950,000495:
050951,000496: 13,3043 45020 CSMPREC STQ CALL
050952,000497: 13,3044 00046 X1
050953,000498: 13,3045 27414 INTSTALL
050954,000499: 13,3046 43130 SXA,1 SET
050955,000500: 13,3047 02102 IRETURN
050956,000501: 13,3050 01474 VINTFLAG
050957,000502:
050958,000503: 13,3051 43014 IFLAGP SET CLEAR
050959,000504: 13,3052 01467 PRECIFLG
050960,000505: 13,3053 01676 DIM0FLAG
050961,000506: 13,3054 77614 CLRGO
050962,000507: 13,3055 01633 INTYPFLG
050963,000508: 13,3056 27136 INTEGRV1
050964,000509: 13,3057 45020 LEMPREC STQ CALL
050965,000510: 13,3060 00046 X1
050966,000511: 13,3061 27414 INTSTALL
050967,000512: 13,3062 43130 SXA,1 CLRGO
050968,000513: 13,3063 02102 IRETURN
050969,000514: 13,3064 01634 VINTFLAG
050970,000515: 13,3065 27051 IFLAGP
050971,000516:
050972,000517: 13,3066 45020 CSMCONIC STQ CALL
050973,000518: 13,3067 00046 X1
050974,000519: 13,3070 27414 INTSTALL
050975,000520: 13,3071 43130 SXA,1 SET
050976,000521: 13,3072 02102 IRETURN
050977,000522: 13,3073 01474 VINTFLAG
050978,000523: 13,3074 43014 IFLAGC CLEAR SETGO
050979,000524: 13,3075 01676 DIM0FLAG
050980,000525: 13,3076 01433 INTYPFLG
050981,000526: 13,3077 27136 INTEGRV1
050982,000527: 13,3100 45020 LEMCONIC STQ CALL
050983,000528: 13,3101 00046 X1
050984,000529: 13,3102 27414 INTSTALL
050985,000530: 13,3103 43130 SXA,1 CLRGO
050986,000531: 13,3104 02102 IRETURN
![]() |
Page 1215 |
050988,000533: 13,3105 01634 VINTFLAG
050989,000534: 13,3106 27074 IFLAGC
050990,000535:
050991,000536: 13,3107 66214 INTEGRVS SET SSP
050992,000537: 13,3110 01467 PRECIFLG
050993,000538: 13,3111 02031 PBODY
050994,000539: 13,3112 00000 0
050995,000540: 13,3113 66214 BOF SSP
050996,000541: 13,3114 00343 MOONFLAG
050997,000542: 13,3115 27120 +3
050998,000543: 13,3116 02031 PBODY
050999,000544: 13,3117 00002 2
051000,000545: 13,3120 77220 STQ VLOAD
051001,000546: 13,3121 02102 IRETURN
051002,000547: 13,3122 24007 ZEROVEC
051003,000548: 13,3123 01521 STORE TDELTAV
051004,000549: 13,3124 35527 STCALL TNUV
051005,000550: 13,3125 23441 RECTIFY
051006,000551: 13,3126 43014 CLEAR SET
051007,000552: 13,3127 01676 DIM0FLAG
051008,000553: 13,3130 04062 NEWIFLG
051009,000554: 13,3131 77614 SETGO
051010,000555: 13,3132 04020 RPQFLAG
051011,000556: 13,3133 27150 ALOADED
051012,000557:
051013,000558: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
051014,000559: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
051015,000560: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS.
051016,000561: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
051017,000562: # PROGRAM FOR PRECISION OR CONIC
051018,000563:
051019,000564: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
051020,000565: # SETTING ANY FLAGS.
051021,000566:
051022,000567: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
051023,000568: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
051024,000569: # INTYPFLG
051025,000570: # DIM0FLAG
051026,000571: # D6OR9FLG
051027,000572:
051028,000573: # CALLING SEQUENCE
051029,000574: # L-X CALL
051030,000575: # L-Y INTSTALL
051031,000576: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
051032,000577: # AND DIM0FLAG IS CLEAR.
051033,000578: # L CALL
051034,000579: # L+1 INTEGRV
051035,000580:
051036,000581: # INITIALIZATION
051037,000582: # FLAGS AS ABOVE
051038,000583: # STORE TIME TO INTEGRATE TO IN TDEC1
051039,000584:
051040,000585: # OUTPUT
051041,000586: # RATT AS
051042,000587: # VATT DEFINED
![]() |
Page 1216 |
051044,000589: # TAT BEFORE
051045,000590:
051046,000591: 13,3134 77620 INTEGRV STQ
051047,000592: 13,3135 02102 IRETURN
051048,000593: 13,3136 43014 INTEGRV1 SET SET
051049,000594: 13,3137 04060 RPQFLAG
051050,000595: 13,3140 04062 NEWIFLG
051051,000596: 13,3141 77731 INTEGRV2 SSP
051052,000597: 13,3142 00053 QPRET
051053,000598: 13,3143 27150 ALOADED
051054,000599: 13,3144 52014 BON GOTO
051055,000600: 13,3145 01714 VINTFLAG
051056,000601: 13,3146 26705 PTOACSM
051057,000602: 13,3147 26760 PTOALEM
051058,000603: 13,3150 77745 ALOADED DLOAD
051059,000604: 13,3151 00041 TDEC1
051060,000605: 13,3152 01116 STORE TDEC
051061,000606: 13,3153 52014 BOFF GOTO
051062,000607: 13,3154 01753 INTYPFLG
051063,000608: 13,3155 27257 TESTLOOP
051064,000609: 13,3156 27243 RVCON
051065,000610: 13,3157 77414 A-PCHK BOF EXIT
051066,000611: 13,3160 01752 STATEFLG
051067,000612: 13,3161 27200 RECTOUT
051068,000613: 13,3162 05353 TC PHASCHNG
051069,000614: 13,3163 04022 OCT 04022
051070,000615: 13,3164 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
051071,000616: 13,3165 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
051072,000617: 13,3166 06037 TC INTPRET
051073,000618: 13,3167 77731 SSP
051074,000619: 13,3170 00053 QPRET
051075,000620: 13,3171 27176 PHEXIT
051076,000621: 13,3172 52014 BON GOTO
051077,000622: 13,3173 01714 VINTFLAG
051078,000623: 13,3174 26661 ATOPCSM
051079,000624: 13,3175 26734 ATOPLEM
051080,000625: 13,3176 77624 PHEXIT CALL
051081,000626: 13,3177 11244 GRP2PC
051082,000627: 13,3200 45001 RECTOUT SETPD CALL
051083,000628: 13,3201 00001 0
051084,000629: 13,3202 23441 RECTIFY
051085,000630: 13,3203 53775 VLOAD VSL*
051086,000631: 13,3204 01503 RRECT
051087,000632: 13,3205 57576 0,2
051088,000633: 13,3206 53715 PDVL VSL* # RATT TO PD0
051089,000634: 13,3207 01511 VRECT
051090,000635: 13,3210 57576 0,2
051091,000636: 13,3211 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
051092,000637: 13,3212 01517 TET
![]() |
Page 1217 |
051094,000639: 13,3213 01503 RRECT
051095,000640: 13,3214 64715 PDVL PDDL*
051096,000641: 13,3215 01511 VRECT
051097,000642: 13,3216 51770 MUEARTH,2
051098,000643: 13,3217 76006 PUSH AXT,1
051099,000644: 13,3220 77765 DEC -10 B-14
051100,000645: 13,3221 76014 BON AXT,1
051101,000646: 13,3222 00303 MOONFLAG
051102,000647: 13,3223 27225 +2
051103,000648: 13,3224 77775 DEC -2 B-14
051104,000649: 13,3225 40001 INTEXIT SETPD BOV
051105,000650: 13,3226 00001 0
051106,000651: 13,3227 27230 +1
051107,000652: 13,3230 43014 CLEAR CLEAR
051108,000653: 13,3231 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
051109,000654: 13,3232 01667 PRECIFLG
051110,000655: 13,3233 77614 CLEAR
051111,000656: 13,3234 01672 STATEFLG
051112,000657: 13,3235 77535 SLOAD EXIT
051113,000658: 13,3236 02103 IRETURN
051114,000659: 13,3237 30154 CA MPAC
051115,000660: 13,3240 50120 INDEX FIXLOC
051116,000661: 13,3241 54052 TS QPRET
051117,000662: 13,3242 03425 TC INTWAKE
051118,000663:
051119,000664: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
051120,000665: # VELOCITY FOR THE INTERVAL (TET-TDEC)
051121,000666:
051122,000667: 13,3243 45345 RVCON DLOAD DSU
051123,000668: 13,3244 01116 TDEC
051124,000669: 13,3245 01517 TET
051125,000670: 13,3246 36074 STCALL TAU.
051126,000671: 13,3247 23441 RECTIFY
051127,000672: 13,3250 77624 CALL
051128,000673: 13,3251 22376 KEPPREP
051129,000674: 13,3252 43345 DLOAD DAD
051130,000675: 13,3253 01551 TC
051131,000676: 13,3254 01517 TET
051132,000677: 13,3255 35517 STCALL TET
051133,000678: 13,3256 27200 RECTOUT
051134,000679:
![]() |
Page 1218 |
051136,000681: # TESTLOOP
051137,000682:
051138,000683: 13,3257 43014 TESTLOOP BOF CLRGO
051139,000684: 13,3260 04752 QUITFLAG
051140,000685: 13,3261 27264 +3
051141,000686: 13,3262 01632 STATEFLG
051142,000687: 13,3263 27225 INTEXIT # STOP INTEGRATION
051143,000688: 13,3264 73001 +3 SETPD LXA,2
051144,000689: 13,3265 00013 10D
051145,000690: 13,3266 02030 PBODY
051146,000691: 13,3267 51575 VLOAD ABVAL
051147,000692: 13,3270 01535 RCV
051148,000693: 13,3271 43006 PUSH CLEAR # RC TO 10D
051149,000694: 13,3272 00262 MIDFLAG
051150,000695: 13,3273 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
051151,000696: 13,3274 53755 RME,2
051152,000697: 13,3275 27300 +3
051153,000698: 13,3276 77614 SET
051154,000699: 13,3277 00062 MIDFLAG
051155,000700: 13,3300 41345 NORFINAL DLOAD DMP
051156,000701: 13,3301 00013 10D
051157,000702: 13,3302 00043 34D
051158,000703: 13,3303 55762 SR1R DDV*
051159,000704: 13,3304 51770 MUEARTH,2
051160,000705: 13,3305 41366 SQRT DMP
051161,000706: 13,3306 25752 .3D
051162,000707: 13,3307 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
051163,000708: 13,3310 54345 DLOAD SL
051164,000709: 13,3311 00155 MPAC
051165,000710: 13,3312 20220 15D # OF 128 CSECS.
051166,000711: 13,3313 40006 PUSH BOV
051167,000712: 13,3314 27341 MAXDT
051168,000713: 13,3315 50021 BDSU BMN
051169,000714: 13,3316 27413 DT/2MAX
051170,000715: 13,3317 27341 MAXDT
051171,000716: 13,3320 45345 DT/2COMP DLOAD DSU
051172,000717: 13,3321 01116 TDEC
051173,000718: 13,3322 01517 TET
051174,000719: 13,3323 54234 RTB SL
051175,000720: 13,3324 21612 SGNAGREE
051176,000721: 13,3325 20211 8D
051177,000722: 13,3326 02076 STORE DT/2 # B-19
051178,000723: 13,3327 51400 BOV ABS
051179,000724: 13,3330 27345 GETMAXDT
051180,000725: 13,3331 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
051181,000726: 13,3332 00015 12D
051182,000727: 13,3333 27351 P00HCHK
051183,000728: 13,3334 75345 USEMAXDT DLOAD SIGN
051184,000729: 13,3335 00015 12D
051185,000730: 13,3336 02076 DT/2
![]() |
Page 1219 |
051187,000732: 13,3337 36076 STCALL DT/2
051188,000733: 13,3340 27351 P00HCHK
051189,000734: 13,3341 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
051190,000735: 13,3342 27413 DT/2MAX
051191,000736: 13,3343 77650 GOTO
051192,000737: 13,3344 27320 DT/2COMP
051193,000738: 13,3345 77634 GETMAXDT RTB
051194,000739: 13,3346 21712 SIGNMPAC
051195,000740: 13,3347 36076 STCALL DT/2
051196,000741: 13,3350 27334 USEMAXDT
051197,000742: 13,3351 51545 P00HCHK DLOAD ABS
051198,000743: 13,3352 02076 DT/2
051199,000744: 13,3353 50025 DSU BMN
051200,000745: 13,3354 27411 DT/2MIN
051201,000746: 13,3355 27157 A-PCHK
051202,000747: 13,3356 46135 SLOAD BHIZ
051203,000748: 13,3357 01012 MODREG
051204,000749: 13,3360 27363 +3
051205,000750: 13,3361 77650 GOTO
051206,000751: 13,3362 23252 TIMESTEP
051207,000752: 13,3363 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC
051208,000753: 13,3364 01707 PRECIFLG
051209,000754: 13,3365 23252 TIMESTEP # YES
051210,000755: 13,3366 45345 DLOAD DSU
051211,000756: 13,3367 02076 DT/2
051212,000757: 13,3370 00015 12D
051213,000758: 13,3371 43040 BMN BOFCLR
051214,000759: 13,3372 27157 A-PCHK
051215,000760: 13,3373 04242 NEWIFLG
051216,000761: 13,3374 23252 TIMESTEP
051217,000762: 13,3375 45345 DLOAD DSU
051218,000763: 13,3376 01116 TDEC
051219,000764: 13,3377 01517 TET
051220,000765: 13,3400 77640 BMN # NO BACKWARD INTEGRATION
051221,000766: 13,3401 27225 INTEXIT
051222,000767: 13,3402 40525 PDDL SR4
051223,000768: 13,3403 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
051224,000769: 13,3404 44322 SR2R BDSU # NO
051225,000770: 13,3405 52040 BMN GOTO
051226,000771: 13,3406 27225 INTEXIT
051227,000772: 13,3407 23252 TIMESTEP
051228,000773: 13,3410 00000 01400 DT/2MIN 2DEC 3 B-20
051229,000774:
051230,000775: 13,3412 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
051231,000776:
051232,000777: 13,3414 77776 INTSTALL EXIT
051233,000778: 13,3415 30106 CA RASFLAG
051234,000779: 13,3416 73466 MASK INTBITAB # IS THIS STALL AREA FREE
051235,000780: 13,3417 00006 EXTEND
051236,000781: 13,3420 13460 BZF OKTOGRAB # YES
![]() |
Page 1220 |
051238,000783: 13,3421 33465 CAF WAKESTAL
051239,000784: 13,3422 05133 TC JOBSLEEP
051240,000785: 13,3423 77776 INTWAKE0 EXIT
051241,000786: 13,3424 13445 TCF INTWAKE1
051242,000787:
051243,000788: 13,3425 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
051244,000789: 13,3426 74745 MASK REINTBIT # RESTARTED
051245,000790: 13,3427 10000 CCS A
051246,000791: 13,3430 03445 TC INTWAKE1 # NO
051247,000792:
051248,000793: 13,3431 50120 INDEX FIXLOC
051249,000794: 13,3432 30052 CA QPRET
051250,000795: 13,3433 55055 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
051251,000796:
051252,000797: 13,3434 05353 TC PHASCHNG
051253,000798: 13,3435 04022 OCT 04022
051254,000799:
051255,000800: 13,3436 31055 CA TBASE2
051256,000801: 13,3437 50120 INDEX FIXLOC
051257,000802: 13,3440 54052 TS QPRET
051258,000803:
051259,000804: 13,3441 34745 CAF REINTBIT
051260,000805: 13,3442 70106 MASK RASFLAG
051261,000806: 13,3443 00006 EXTEND
051262,000807: 13,3444 13463 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
051263,000808:
051264,000809: 13,3445 33465 INTWAKE1 CAF WAKESTAL
051265,000810: 13,3446 00004 INHINT
051266,000811: 13,3447 05137 TC JOBWAKE
051267,000812: 13,3450 10064 CCS LOCCTR
051268,000813: 13,3451 13445 TCF INTWAKE1
051269,000814: 13,3452 00051 FORTYONE DEC 41 B-14
051270,000815: 13,3453 43466 CS INTBITAB
051271,000816: 13,3454 70106 MASK RASFLAG
051272,000817: 13,3455 54106 TS RASFLAG # RELEASE STALL AREA
051273,000818: 13,3456 00003 RELINT
051274,000819: 13,3457 13463 TCF GOBAC
051275,000820: 13,3460 34736 OKTOGRAB CAF INTFLBIT
051276,000821: 13,3461 00004 INHINT
051277,000822: 13,3462 26106 ADS RASFLAG
051278,000823: 13,3463 06037 GOBAC TC INTPRET
051279,000824: 13,3464 77616 RVQ
051280,000825: 13,3465 27415 WAKESTAL CADR INTSTALL +1
051281,000826: 13,3466 20100 INTBITAB OCT 20100
051282,000827:
![]() |
Page 1221 |
051284,000829: # AVETOMID
051285,000830:
051286,000831: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
051287,000832: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
051288,000833: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
051289,000834:
051290,000835: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLG IS
051291,000836: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
051292,000837:
051293,000838: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
051294,000839:
051295,000840: # FINALLY TRKMKCNT IS ZEROED
051296,000841:
051297,000842: 13,2000 SETLOC INTINIT
051298,000843: 13,2000 BANK
051299,000844:
051300,000845: 13,3467 COUNT* $$/INTIN
051301,000846: 13,3467 43020 AVETOMID STQ BON
051302,000847: 13,3470 02772 EGRESS
051303,000848: 13,3471 02716 RENDWFLG
051304,000849: 13,3472 27536 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051305,000850: 13,3473 77614 BON
051306,000851: 13,3474 01711 ORBWFLAG
051307,000852: 13,3475 27536 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051308,000853:
051309,000854: 13,3476 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
051310,000855: 13,3477 01235 PIPTIME # DESIRED TIME
051311,000856: 13,3500 27414 INTSTALL
051312,000857: 13,3501 45014 SET CALL
051313,000858: 13,3502 01474 VINTFLAG # CM
051314,000859: 13,3503 26644 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
051315,000860: 13,3504 34041 STCALL TDEC1
051316,000861: 13,3505 27134 INTEGRV
051317,000862:
051318,000863: 13,3506 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
051319,000864: 13,3507 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
051320,000865: 13,3510 27414 INTSTALL
051321,000866: 13,3511 77014 BON AXT,2
051322,000867: 13,3512 04304 MOONTHIS
051323,000868: 13,3513 27515 +2
051324,000869: 13,3514 00000 0
051325,000870: 13,3515 53775 VLOAD VSR*
051326,000871: 13,3516 01221 RN
051327,000872: 13,3517 57176 0,2
051328,000873: 13,3520 01503 STORE RRECT
051329,000874: 13,3521 15535 STODL RCV
051330,000875: 13,3522 01235 PIPTIME
051331,000876: 13,3523 25517 STOVL TET
051332,000877: 13,3524 01227 VN
![]() |
Page 1222 |
051334,000879: 13,3525 45057 VSR* CALL
051335,000880: 13,3526 57176 0,2
051336,000881: 13,3527 23455 MINIRECT # FINISH SETTING UP STATE VECTOR
051337,000882: 13,3530 66234 RTB SSP
051338,000883: 13,3531 26747 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
051339,000884: 13,3532 03463 TRKMKCNT
051340,000885: 13,3533 00000 0
051341,000886: 13,3534 77650 GOTO
051342,000887: 13,3535 47226 FAZAB5
051343,000888:
051344,000889: 13,3536 45145 INT/W DLOAD CALL
051345,000890: 13,3537 01235 PIPTIME # INTEGRATE W THRU BURN
051346,000891: 13,3540 27414 INTSTALL
051347,000892: 13,3541 43014 SET SET
051348,000893: 13,3542 01476 DIM0FLAG # DO W-MATRIX
051349,000894: 13,3543 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
051350,000895: 13,3544 43014 SET CLEAR
051351,000896: 13,3545 01475 D6OR9FLG # 9X9 FOR LM
051352,000897: 13,3546 01674 VINTFLAG # LM
051353,000898: 13,3547 34041 STCALL TDEC1
051354,000899: 13,3550 27134 INTEGRV
051355,000900: 13,3551 77650 GOTO
051356,000901: 13,3552 27476 OTHERS # NOW GO DO THE OTHER VEHICLE
051357,000902:
![]() |
Page 1223 |
051359,000904: # MIDTOAV1
051360,000905:
051361,000906: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
051362,000907: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
051363,000908: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
051364,000909: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
051365,000910: # IS DONE TO THE CURRENT TIME.
051366,000911: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
051367,000912:
051368,000913: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
051369,000914: # TO THE RETURN ADDRESS
051370,000915:
051371,000916: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
051372,000917: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
051373,000918: # TION TIME AND MPAC IS SET TO THE DELTA TIME ---
051374,000919: # TAT MINUS CURRENT TIME.
051375,000920:
051376,000921: # MIDTOAV2
051377,000922:
051378,000923: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
051379,000924: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
051380,000925: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
051381,000926:
051382,000927: 13,3553 E7,1744 EBANK= IRETURN1
051383,000928: 13,3553 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
051384,000929: 13,3554 03744 IRETURN1
051385,000930: 13,3555 04634 MID1FLAG
051386,000931: 13,3556 27572 ENTMID2
051387,000932:
051388,000933: 13,3557 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
051389,000934: 13,3560 03744 IRETURN1
051390,000935: 13,3561 04474 MID1FLAG
051391,000936: 13,3562 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
051392,000937: 13,3563 21573 LOADTIME
051393,000938: 13,3564 27674 TIMEDELT
051394,000939: 13,3565 51021 BDSU BPL
051395,000940: 13,3566 00041 TDEC1
051396,000941: 13,3567 27576 ENTMID1 # Y5S
051397,000942: 13,3570 77624 CALL
051398,000943: 13,3571 27662 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
051399,000944:
051400,000945: 13,3572 43234 ENTMID2 RTB DAD
051401,000946: 13,3573 21573 LOADTIME
051402,000947: 13,3574 27674 TIMEDELT
051403,000948: 13,3575 00041 STORE TDEC1
051404,000949:
051405,000950: 13,3576 77624 ENTMID1 CALL
051406,000951: 13,3577 27414 INTSTALL
051407,000952: 13,3600 45014 CLEAR CALL
![]() |
Page 1224 |
051409,000954: 13,3601 01676 DIM0FLAG # NO W-MATRIX
051410,000955: 13,3602 26066 THISVINT
051411,000956: 13,3603 43014 CLEAR SET
051412,000957: 13,3604 01673 INTYPFLG
051413,000958: 13,3605 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
051414,000959: 13,3606 77624 CALL
051415,000960: 13,3607 27134 INTEGRV # GO INTEGRATE
051416,000961: 13,3610 77214 CLEAR VLOAD
051417,000962: 13,3611 04675 MIDAVFLG
051418,000963: 13,3612 00001 RATT
051419,000964: 13,3613 27545 STOVL RN1
051420,000965: 13,3614 00007 VATT
051421,000966: 13,3615 17553 STODL VN1
051422,000967: 13,3616 00015 TAT
051423,000968: 13,3617 03561 STORE PIPTIME1
051424,000969: 13,3620 66134 SXA,2 SXA,1
051425,000970: 13,3621 02777 RTX2
051426,000971: 13,3622 02776 RTX1
051427,000972: 13,3623 77776 EXIT
051428,000973:
051429,000974: 13,3624 00004 INHINT
051430,000975: 13,3625 00006 EXTEND
051431,000976: 13,3626 40025 DCS TIME2
051432,000977: 13,3627 20155 DAS MPAC
051433,000978: 13,3630 07257 TC TPAGREE
051434,000979:
051435,000980: 13,3631 31744 CA IRETURN1
051436,000981: 13,3632 04640 TC BANKJUMP
051437,000982: 13,3633 47014 CKMID2 BOF RTB
051438,000983: 13,3634 04754 MID1FLAG
051439,000984: 13,3635 27652 MID2
051440,000985: 13,3636 21573 LOADTIME
051441,000986: 13,3637 44215 DAD BDSU
051442,000987: 13,3640 27674 TIMEDELT
051443,000988: 13,3641 01116 TDEC
051444,000989: 13,3642 45044 BPL CALL
051445,000990: 13,3643 27257 TESTLOOP # YES
051446,000991: 13,3644 27662 NOTIME
051447,000992:
051448,000993: 13,3645 43234 TIMEINC RTB DAD
051449,000994: 13,3646 21573 LOADTIME
051450,000995: 13,3647 27674 TIMEDELT
051451,000996: 13,3650 35116 STCALL TDEC
051452,000997: 13,3651 27257 TESTLOOP
051453,000998:
051454,000999: 13,3652 45345 MID2 DLOAD DSU
051455,001000: 13,3653 01116 TDEC
051456,001001: 13,3654 01517 TET
051457,001002: 13,3655 45246 ABS DSU
051458,001003: 13,3656 27672 3CSECS
051459,001004:
![]() |
Page 1225 |
051461,001006: 13,3657 52040 BMN GOTO
051462,001007: 13,3660 27157 A-PCHK
051463,001008: 13,3661 27645 TIMEINC
051464,001009:
051465,001010: 13,3662 77414 NOTIME CLEAR EXIT # TOO LATE
051466,001011: 13,3663 04674 MID1FLAG
051467,001012: 13,3664 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
051468,001013: 13,3665 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
051469,001014: 13,3666 01703 OCT 1703 # TIG WILL BE SLIPPED...
051470,001015: 13,3667 06037 TC INTPRET
051471,001016: 13,3670 77616 RVQ
051472,001017:
051473,001018: 13,3671 00000 00003 3CSECS 2DEC 3 B-28
051474,001019:
051475,001020: 13,3673 00000 03720 TIMEDELT 2DEC 2000 B-28
051476,001021:
051477,001022: 27,3360 BANK 27
051478,001023: 04,2000 SETLOC UPDATE2
051479,001024: 04,2000 BANK
051480,001025: 04,3165 1167 EBANK= INTWAKUQ
051481,001026:
051482,001027: 04,3165 COUNT* $$/INTIN
051483,001028:
051484,001029: 04,3165 1167 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
051485,001030:
051486,001031: 04,3165 00003 INTWAKEU RELINT
051487,001032: 04,3166 00006 EXTEND
051488,001033: 04,3167 23167 QXCH INTWAKUQ # SAVE Q FOR RETURN
051489,001034:
051490,001035: 04,3170 06037 TC INTPRET
051491,001036:
051492,001037: 04,3171 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
051493,001038: 04,3172 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
051494,001039: 04,3173 11232 INTWAKUP
051495,001040:
051496,001041: 04,3174 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
051497,001042: 04,3175 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
051498,001043: 04,3176 25535 STOVL RCV
051499,001044: 04,3177 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
051500,001045: 04,3200 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
051501,001046: 04,3201 23456 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
051502,001047: 04,3202 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
051503,001048: 04,3203 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
051504,001049: 04,3204 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
051505,001050: 04,3205 11243 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
051506,001051: 04,3206 11213 INTWAKEM # SPHERE OF INFLUENCE.........
051507,001052: 04,3207 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
051508,001053: 04,3210 00000 DEC 0 B-14
051509,001054: 04,3211 00223 MOONFLAG
![]() |
Page 1226 |
051511,001056: 04,3212 11216 INTWAKEC
051512,001057: 04,3213 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
051513,001058: 04,3214 00002 DEC 2 B-14
051514,001059: 04,3215 00063 MOONFLAG
051515,001060: 04,3216 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
051516,001061: # MOONFLAG SET (OR CLEARED).
051517,001062: 04,3217 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
051518,001063: 04,3220 11226 INTWAKLM # STATE VECTOR UPDATE......
051519,001064: 04,3221 77624 CALL # UPDATE CSM STATE VECTOR
051520,001065: 04,3222 26661 ATOPCSM
051521,001066:
051522,001067: 04,3223 52014 CLEAR GOTO
051523,001068: 04,3224 01671 ORBWFLAG
051524,001069: 04,3225 11230 INTWAKEX
051525,001070:
051526,001071: 04,3226 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
051527,001072: 04,3227 26734 ATOPLEM
051528,001073:
051529,001074: 04,3230 77614 INTWAKEX CLEAR
051530,001075: 04,3231 02676 RENDWFLG
051531,001076:
051532,001077: 04,3232 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
051533,001078: 04,3233 01502 UPSVFLAG
051534,001079: 04,3234 00000 0
051535,001080: 04,3235 27423 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
051536,001081: 04,3236 77776 EXIT
051537,001082:
051538,001083: 04,3237 05353 TC PHASCHNG
051539,001084: 04,3240 04026 OCT 04026
051540,001085: 04,3241 01167 TC INTWAKUQ
051541,001086:
051542,001087: 04,3242 00002 UPMNSVCD OCT 2
051543,001088: 04,3243 00000 OCT 0
051544,001089:
051545,001090: 04,3244 77420 GRP2PC STQ EXIT
051546,001091: 04,3245 02711 GRP2SVQ
051547,001092: 04,3246 05353 TC PHASCHNG
051548,001093: 04,3247 04022 OCT 04022
051549,001094: 04,3250 06037 TC INTPRET
051550,001095: 04,3251 77650 GOTO
051551,001096: 04,3252 02711 GRP2SVQ
051552,001097:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc