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