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