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