Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of Luminary 069. They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Onno Hommes. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are prefixed with a single '#' symbol,
whereas comments added later are prefixed by "##" or "###". In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the Luminary 69 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011 19:02 NOV. 25,1968Note that the date is the date of the printout, not the date of the program revision. |
051931,000002: ## Copyright: Public domain.
051932,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
051933,000004: ## Purpose: The main source file for Luminary revision 069.
051934,000005: ## It is part of the source code for the original release
051935,000006: ## of the flight software for the Lunar Module's (LM) Apollo
051936,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
051937,000008: ## version was Luminary 69 revision 2, which included a
051938,000009: ## newer lunar gravity model and only affected module 2.
051939,000010: ## This file is intended to be a faithful transcription, except
051940,000011: ## that the code format has been changed to conform to the
051941,000012: ## requirements of the yaYUL assembler rather than the
051942,000013: ## original YUL assembler.
051943,000014: ## Reference: pp. 1200-1222
051944,000015: ## Assembler: yaYUL
051945,000016: ## Contact: Ron Burkey <info@sandroid.org>.
051946,000017: ## Website: www.ibiblio.org/apollo/index.html
051947,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
051948,000019: ## 2016-12-18 MAS Updated from comment-proofed Luminary 99 version.
051949,000020: ## 2017-01-22 MAS Updated for Luminary 69.
051950,000021: ## 2017-01-22 HG Add missing label ALLSTALL
051951,000022: ## Add missing operation INDEX L
051952,000023: ## Fix interpretive operator BOF -> BOFCLR
051953,000024: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
051954,000025: ## but no errors found.
051955,000026: ## 2017-03-13 RSB Comment-text fixes noted in proofing Luminary 116.
051956,000027: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
051957,000028: ## side-by-side diff of Luminary 69/99/116/131/210.
051958,000029: ## 2017-08-19 MAS Fixed comment errors found transcribing Zerlina 56.
051959,000030:
![]() |
Page 1200 |
051961,000032: # 1.0 INTRODUCTION
051962,000033: # ----------------
051963,000034:
051964,000035: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
051965,000036: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
051966,000037: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
051967,000038: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
051968,000039: # SIDE THE LUNAR SPHERE OF INFLUENCE.
051969,000040:
051970,000041: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
051971,000042: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
051972,000043: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
051973,000044: # CALL TC INTSTALL.
051974,000045:
051975,000046: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
051976,000047: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
051977,000048: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
051978,000049: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
051979,000050: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
051980,000051:
051981,000052: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
051982,000053: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
051983,000054: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
051984,000055: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
051985,000056:
051986,000057: # 2.0 GENERAL DESCRIPTION
051987,000058: # -----------------------
051988,000059:
051989,000060: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
051990,000061: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
051991,000062: # 2) INTEGRATES THE W-MATRIX
051992,000063: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
051993,000064:
051994,000065: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
051995,000066: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
051996,000067: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
051997,000068: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
051998,000069: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
051999,000070: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
052000,000071: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
052001,000072: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
052002,000073: # AND/OR STATE VECTOR.
052003,000074:
052004,000075: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
052005,000076: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
052006,000077: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
052007,000078:
052008,000079: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
052009,000080: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
052010,000081: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
052011,000082:
![]() |
Page 1201 |
052013,000084: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
052014,000085:
052015,000086: # 2.1 RESTARTS
052016,000087:
052017,000088: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
052018,000089: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
052019,000090: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
052020,000091: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
052021,000092: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
052022,000093: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
052023,000094: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
052024,000095:
052025,000096: # 2.2 SCALING
052026,000097:
052027,000098: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
052028,000099: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTORDEPENDS ON THE ORIGIN OF THE COORDINATE
052029,000100: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
052030,000101: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
052031,000102: # DIFFERENT SCALING.
052032,000103: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
052033,000104:
052034,000105: # 3.0 INPUT/OUTPUT
052035,000106: # ----------------
052036,000107:
052037,000108: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
052038,000109: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
052039,000110: # FOR INTEGRVS, THE RCV,VCV, TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
052040,000111:
052041,000112: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
052042,000113: # EARTH MOON
052043,000114: # 29 27
052044,000115: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
052045,000116:
052046,000117: # 7 5
052047,000118: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
052048,000119:
052049,000120: # 28 28
052050,000121: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
052051,000122: # CUSTOMARILY 0, BUT NOTE LUNAR
052052,000123: # ORBIT DEPENDENCE ON REAL TIME.
052053,000124:
052054,000125: # 22 18
052055,000126: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
052056,000127: # 0 IF TCCSM(LEM) = 0
052057,000128:
052058,000129: # 3 -1
052059,000130: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
052060,000131: # 0 IF TCCSM(LEM) = 0
![]() |
Page 1202 |
052062,000133: # 29 27
052063,000134: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
052064,000135: # EQUALS RRECTCSM(LEM) IF
052065,000136: # TCCSM(LEM) = 0
052066,000137:
052067,000138: # 7 5
052068,000139: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
052069,000140: # EQUALS VRECTCSM(LEM) IF
052070,000141: # TCCSM(LEM) = 0
052071,000142:
052072,000143: # 28 28
052073,000144: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
052074,000145: # CUSTOMARILY 0
052075,000146:
052076,000147: # 1/2 17 16
052077,000148: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
052078,000149: # 0 IF TCCSM(LEM) = 0
052079,000150:
052080,000151: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
052081,000152: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
052082,000153: # LMOONFLG C = CSM, L = LM 0 0
052083,000154: # LMIDFLG 0,1 0,1
052084,000155:
052085,000156: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
052086,000157:
052087,000158: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
052088,000159: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
052089,000160: # ROUTINE MUST BE PRESET.
052090,000161:
052091,000162: # OUTPUT
052092,000163: # AFTER EVERY CALL TO INTEGRATION
052093,000164: # EARTH MOON
052094,000165: # 29 29
052095,000166: # 0D RATT POSITION METERS 2 2
052096,000167: # 7 7
052097,000168: # 6D VATT VELOCITY M/CSEC 2 2
052098,000169: # 28 28
052099,000170: # 12D TAT TIME 2 2
052100,000171: # 29 27
052101,000172: # 14D RATT1 POSITION METERS 2 2
052102,000173: # 7 5
052103,000174: # 20D VATT1 VELOCITY M/CSEC 2 2
052104,000175: # 3 2 36 30
052105,000176: # 26D MU(P) MU M /CS 2 2
052106,000177:
052107,000178: # X1 MUTABLE ENTRY -2 -10D
052108,000179:
052109,000180: # X2 COORDINT
052110,000181: # X2 COORDINATE SYSTEM ORIGEN 0 2
052111,000182: # (THIS, NOT MOONFLAG, SHOULD BE
![]() |
Page 1203 |
052113,000184: # USED TO DETERMINE ORIGIN.)
052114,000185:
052115,000186: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
052116,000187: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
052117,000188: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
052118,000189: # CALLING PROGRAM.
052119,000190:
052120,000191: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
052121,000192: # -------------------------------------
052122,000193:
052123,000194: # A) PRECISION ORBITAL INTEGRATION. CSMPREC,LEMPREC ENTRANCES
052124,000195: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
052125,000196: # L CALL
052126,000197: # L+1 CSMPREC (OR LEMPREC)
052127,000198: # L+2 RETURN
052128,000199: # INPUT 28
052129,000200: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
052130,000201: # OUTPUT
052131,000202: # THE DATA LISTED IN SECTION 3.0 PLUS
052132,000203: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
052133,000204: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
052134,000205: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
052135,000206: # L-X STORE TIME IN PUSH LIST (TDEC1)
052136,000207: # L CALL
052137,000208: # L+1 CSMCONIC (OR LEMCONIC)
052138,000209: # INPUT/OUTPUT
052139,000210: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
052140,000211: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
052141,000212: # CALL
052142,000213: # INTSTALL
052143,000214: # VLOAD
052144,000215: # POSITION VECTOR
052145,000216: # STOVL RCV
052146,000217: # VELOCITY VECTOR
052147,000218: # STODL VCV
052148,000219: # TIME STATE VECTOR VALID
052149,000220: # STODL TET
052150,000221: # FINAL RADIUS
052151,000222: # STORE RFINAL
052152,000223: # SET(CLEAR) SET(CLEAR)
052153,000224: # INTYPFLAG
052154,000225: # MOONFLAG
052155,000226: # SET(CLEAR) DLOAD
052156,000227: # DESIRED TIME
052157,000228: # STCALL TDEC1
052158,000229: # INTEGRVS
052159,000230: # INPUT
052160,000231: # RCV POSITION VECTOR METERS
052161,000232: # VCV VELOCITY VECTOR M/CSEC
052162,000233: # TET TIME OF STATE VECTOR(MAY = 0) CSEC B-28
![]() |
Page 1204 |
052164,000235: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
052165,000236: # (MAY BE INCREMENT IF TET=0)
052166,000237: # OUTPUT
052167,000238: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
052168,000239: # DEPENDING ON INTYPFLG.
052169,000240: # D) INTEGRATE STATE VECTOR.INTGRV ENTRANCE
052170,000241: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
052171,000242: # L-8 CALL
052172,000243: # L-7
052173,000244: # L-6 SET(CLEAR) SET(CLEAR)
052174,000245: # L-5 VINTFLAG 1=CSM, 0=LM
052175,000246: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
052176,000247: # L-3 SET(CLEAR) SET(CLEAR)
052177,000248: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
052178,000249: # L-1 D6OR9FLG 1=9X9, 0=6X6
052179,000250: # L SET DLOAD
052180,000251: # L+1 STATEFLG DESIRE PERMANENT UPDATE
052181,000252: # L+2 FINAL RAD. OF STATE VECTOR
052182,000253: # L+3 STCALL RFINAL
052183,000254: # L+4 INTEGRV
052184,000255: # L CALL NORMAL USE-- WILL UPDATE STATE
052185,000256: # L+1 INTEGRV VECTOR IF DIMOFLAG=1.(STATEFLG IS
052186,000257: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
052187,000258: # IT IS USED.)
052188,000259: # INPUT
052189,000260: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
052190,000261: # OUTPUT
052191,000262: # SAME AS FOR PRECISION OR CONIC INTEGRATION
052192,000263: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
052193,000264: # THE PERMANENT STATE VECTOR REPRESENTATION.
052194,000265:
052195,000266: 11,2311 BANK 11
052196,000267: 13,2000 SETLOC INTINIT
052197,000268: 13,2000 BANK
052198,000269: 13,2604 E3,1554 EBANK= RRECTCSM
052199,000270: 13,2604 COUNT* $$/INTIN
052200,000271: 13,2604 05353 STATEINT TC PHASCHNG
052201,000272: 13,2605 00052 OCT 00052
052202,000273: 13,2606 35017 CAF PRIO5
052203,000274: 13,2607 05105 TC FINDVAC
052204,000275: 13,2610 E3,1554 EBANK= RRECTCSM
052205,000276: 13,2610 02613 26063 2CADR STATINT1
052206,000277:
052207,000278: 13,2612 05261 TC TASKOVER
052208,000279: 13,2613 06036 STATINT1 TC INTPRET
052209,000280: 13,2614 47014 BON RTB
052210,000281: 13,2615 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
052211,000282: 13,2616 26653 NOINT
052212,000283: 13,2617 21462 LOADTIME
052213,000284: 13,2620 00041 STORE TDEC1
![]() |
Page 1205 |
052215,000286: 13,2621 77624 CALL
052216,000287: 13,2622 27412 INTSTALL
052217,000288: 13,2623 45014 SET CALL
052218,000289: 13,2624 01076 NODOFLAG
052219,000290: 13,2625 26644 SETIFLGS
052220,000291: 13,2626 77650 GOTO
052221,000292: 13,2627 26026 STATEUP
052222,000293: 13,2630 00003 25140 600SECS 2DEC 60000 B-28
052223,000294:
052224,000295: 13,2632 77414 ENDINT CLEAR EXIT
052225,000296: 13,2633 01672 STATEFLG
052226,000297: 13,2634 05353 TC PHASCHNG
052227,000298: 13,2635 20032 OCT 20032
052228,000299: 13,2636 00006 EXTEND
052229,000300: 13,2637 32631 DCA 600SECS
052230,000301: 13,2640 05277 TC LONGCALL
052231,000302: 13,2641 E3,1626 EBANK= RRECTHIS
052232,000303: 13,2641 02604 26063 2CADR STATEINT
052233,000304:
052234,000305: 13,2643 05155 TC ENDOFJOB
052235,000306: 13,2644 43014 SETIFLGS SET CLEAR
052236,000307: 13,2645 01472 STATEFLG
052237,000308: 13,2646 01673 INTYPFLG
052238,000309: 13,2647 43014 CLEAR CLEAR
052239,000310: 13,2650 01676 DIM0FLAG
052240,000311: 13,2651 01675 D6OR9FLG
052241,000312: 13,2652 77616 RVQ
052242,000313: 13,2653 77776 NOINT EXIT
052243,000314: 13,2654 05353 TC PHASCHNG
052244,000315: 13,2655 00002 OCT 00002
052245,000316:
052246,000317: 13,2656 05516 TC DOWNFLAG
052247,000318: 13,2657 00221 ADRES QUITFLAG
052248,000319: 13,2660 05155 TC ENDOFJOB
052249,000320:
052250,000321: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
052251,000322:
052252,000323: # CALLING SEQUENCE
052253,000324: # L CALL
052254,000325: # L+1 ATOPCSM
052255,000326:
052256,000327: # NORMAL EXIT AT L+2
052257,000328:
052258,000329: 13,2661 47020 ATOPCSM STQ RTB
052259,000330: 13,2662 00051 S2
052260,000331: 13,2663 26674 MOVEACSM
052261,000332: 13,2664 45014 SET CALL
052262,000333: 13,2665 04063 CMOONFLG
052263,000334: 13,2666 26114 SVDWN1
052264,000335: 13,2667 43014 BON CLRGO
![]() |
Page 1206 |
052266,000337: 13,2670 00303 MOONFLAG
052267,000338: 13,2671 00051 S2
052268,000339: 13,2672 04223 CMOONFLG
052269,000340: 13,2673 00051 S2
052270,000341: 13,2674 03036 MOVEACSM TC SETBANK
052271,000342: 13,2675 55500 TS DIFEQCNT # INITIALIZE INDEX
052272,000343: 13,2676 51500 INDEX DIFEQCNT
052273,000344: 13,2677 31502 CA RRECT
052274,000345: 13,2700 51500 INDEX DIFEQCNT
052275,000346: 13,2701 55554 TS RRECTCSM
052276,000347: 13,2702 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
052277,000348: 13,2703 12675 TCF MOVEACSM +1 # NO-LOOP
052278,000349: 13,2704 06060 TC DANZIG # COMPLETE - RETURN
052279,000350:
052280,000351:
052281,000352: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
052282,000353:
052283,000354: # CALLING SEQUENCE
052284,000355: # L CALL
052285,000356: # PTOACSM
052286,000357:
052287,000358: # NORMAL EXIT AT L+2
052288,000359: 13,2705 43034 PTOACSM RTB BON
052289,000360: 13,2706 26723 MOVEPCSM
052290,000361: 13,2707 04303 CMOONFLG
052291,000362: 13,2710 26716 SETMOON
052292,000363: 13,2711 66214 CLRMOON CLEAR SSP
052293,000364: 13,2712 00263 MOONFLAG
052294,000365: 13,2713 02031 PBODY
052295,000366: 13,2714 00000 0
052296,000367: 13,2715 77616 RVQ
052297,000368: 13,2716 66214 SETMOON SET SSP
052298,000369: 13,2717 00063 MOONFLAG
052299,000370: 13,2720 02031 PBODY
052300,000371: 13,2721 00002 2
052301,000372: 13,2722 77616 RVQ
052302,000373: 13,2723 03036 MOVEPCSM TC SETBANK
052303,000374: 13,2724 55500 TS DIFEQCNT
052304,000375: 13,2725 51500 INDEX DIFEQCNT
052305,000376: 13,2726 31554 CA RRECTCSM
052306,000377: 13,2727 51500 INDEX DIFEQCNT
052307,000378: 13,2730 55502 TS RRECT
052308,000379: 13,2731 11500 CCS DIFEQCNT
052309,000380: 13,2732 12724 TCF MOVEPCSM +1
052310,000381: 13,2733 06060 TC DANZIG
052311,000382:
052312,000383:
052313,000384: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
052314,000385:
052315,000386: 13,2734 47020 ATOPLEM STQ RTB
![]() |
Page 1207 |
052317,000388: 13,2735 00051 S2
052318,000389: 13,2736 26747 MOVEALEM
052319,000390: 13,2737 45014 SET CALL
052320,000391: 13,2740 04064 LMOONFLG
052321,000392: 13,2741 26070 SVDWN2
052322,000393: 13,2742 43014 BON CLRGO
052323,000394: 13,2743 00303 MOONFLAG
052324,000395: 13,2744 00051 S2
052325,000396: 13,2745 04224 LMOONFLG
052326,000397: 13,2746 00051 S2
052327,000398: 13,2747 03036 MOVEALEM TC SETBANK
052328,000399: 13,2750 55500 TS DIFEQCNT
052329,000400: 13,2751 51500 INDEX DIFEQCNT
052330,000401: 13,2752 31502 CA RRECT
052331,000402: 13,2753 51500 INDEX DIFEQCNT
052332,000403: 13,2754 55626 TS RRECTLEM
052333,000404: 13,2755 11500 CCS DIFEQCNT
052334,000405: 13,2756 12750 TCF MOVEALEM +1
052335,000406: 13,2757 06060 TC DANZIG
052336,000407:
052337,000408:
052338,000409: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
052339,000410:
052340,000411: 13,2760 47014 PTOALEM BON RTB
052341,000412: 13,2761 04307 SURFFLAG
052342,000413: 13,2762 27001 USEPIOS
052343,000414: 13,2763 26770 MOVEPLEM
052344,000415: 13,2764 52014 BON GOTO
052345,000416: 13,2765 04304 LMOONFLG
052346,000417: 13,2766 26716 SETMOON
052347,000418: 13,2767 26711 CLRMOON
052348,000419: 13,2770 03036 MOVEPLEM TC SETBANK
052349,000420: 13,2771 55500 TS DIFEQCNT
052350,000421: 13,2772 51500 INDEX DIFEQCNT
052351,000422: 13,2773 31626 CA RRECTLEM
052352,000423: 13,2774 51500 INDEX DIFEQCNT
052353,000424: 13,2775 55502 TS RRECT
052354,000425: 13,2776 11500 CCS DIFEQCNT
052355,000426: 13,2777 12771 TCF MOVEPLEM +1
052356,000427: 13,3000 06060 TC DANZIG
052357,000428:
052358,000429:
052359,000430: 13,3001 77201 USEPIOS SETPD VLOAD
052360,000431: 13,3002 00001 0
052361,000432: 13,3003 02023 RLS
052362,000433: 13,3004 41525 PDDL PUSH
052363,000434: 13,3005 00041 TDEC1
052364,000435: 13,3006 15517 STODL TET
052365,000436: 13,3007 27736 5/8
052366,000437: 13,3010 77624 CALL
![]() |
Page 1208 |
052368,000439: 13,3011 51504 RP-TO-R
052369,000440: 13,3012 25535 STOVL RCV
052370,000441: 13,3013 22267 ZUNIT
052371,000442: 13,3014 14001 STODL 0D
052372,000443: 13,3015 01517 TET
052373,000444: 13,3016 14007 STODL 6D
052374,000445: 13,3017 27736 5/8
052375,000446: 13,3020 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
052376,000447: 13,3021 00063 MOONFLAG
052377,000448: 13,3022 51504 RP-TO-R
052378,000449: 13,3023 74235 VXV VXSC
052379,000450: 13,3024 01535 RCV
052380,000451: 13,3025 26001 OMEGMOON
052381,000452: 13,3026 25543 STOVL VCV
052382,000453: 13,3027 22275 ZEROVEC
052383,000454: 13,3030 01521 STORE TDELTAV
052384,000455: 13,3031 67174 AXT,2 SXA,2
052385,000456: 13,3032 00002 2
052386,000457: 13,3033 02030 PBODY
052387,000458: 13,3034 35527 STCALL TNUV
052388,000459: 13,3035 27157 A-PCHK
052389,000460: 13,3036 33042 SETBANK CAF INTBANK
052390,000461: 13,3037 54006 TS BBANK
052391,000462: 13,3040 33457 CAF FORTYONE
052392,000463: 13,3041 00002 TC Q
052393,000464: 13,3042 E3,1554 EBANK= RRECTCSM
052394,000465: 13,3042 26063 INTBANK BBCON INTEGRV
052395,000466:
052396,000467:
052397,000468: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
052398,000469: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
052399,000470:
052400,000471: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
052401,000472: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
052402,000473: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
052403,000474: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
052404,000475: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
052405,000476: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
052406,000477:
052407,000478: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
052408,000479: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
052409,000480: # CSMPREC CSMCONIC LEMPREC LEMCONIC
052410,000481: # VINTFLAG SET SET CLEAR CLEAR
052411,000482: # INTYPFLG CLEAR SET CLEAR SET
052412,000483: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
052413,000484:
052414,000485:
052415,000486: # CALLING SEQUENCE
052416,000487: # L-X STORE TDEC1
052417,000488: # L CALL (STCALL TDEC1)
![]() |
Page 1209 |
052419,000490: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
052420,000491:
052421,000492: # NORMAL EXIT TO L+2
052422,000493:
052423,000494:
052424,000495: # SUBROUTINES CALLED
052425,000496: # INTEGRV1
052426,000497: # PRECOUT FOR CSMPREC AND LEMPREC
052427,000498: # CONICOUT FOR CSMCONIC AND LEMCONIC
052428,000499:
052429,000500:
052430,000501: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
052431,000502: # INPUT
052432,000503: # TDEC1 TIME TO INTEGRATE TO . CSECS B-28
052433,000504: 13,3043 45020 CSMPREC STQ CALL
052434,000505: 13,3044 00046 X1
052435,000506: 13,3045 27412 INTSTALL
052436,000507: 13,3046 43130 SXA,1 SET
052437,000508: 13,3047 02102 IRETURN
052438,000509: 13,3050 01474 VINTFLAG
052439,000510:
052440,000511: 13,3051 43014 IFLAGP SET CLEAR
052441,000512: 13,3052 01467 PRECIFLG
052442,000513: 13,3053 01676 DIM0FLAG
052443,000514: 13,3054 77614 CLRGO
052444,000515: 13,3055 01633 INTYPFLG
052445,000516: 13,3056 27136 INTEGRV1
052446,000517: 13,3057 45020 LEMPREC STQ CALL
052447,000518: 13,3060 00046 X1
052448,000519: 13,3061 27412 INTSTALL
052449,000520: 13,3062 43130 SXA,1 CLRGO
052450,000521: 13,3063 02102 IRETURN
052451,000522: 13,3064 01634 VINTFLAG
052452,000523: 13,3065 27051 IFLAGP
052453,000524:
052454,000525: 13,3066 45020 CSMCONIC STQ CALL
052455,000526: 13,3067 00046 X1
052456,000527: 13,3070 27412 INTSTALL
052457,000528: 13,3071 43130 SXA,1 SET
052458,000529: 13,3072 02102 IRETURN
052459,000530: 13,3073 01474 VINTFLAG
052460,000531: 13,3074 43014 IFLAGC CLEAR SETGO
052461,000532: 13,3075 01676 DIM0FLAG
052462,000533: 13,3076 01433 INTYPFLG
052463,000534: 13,3077 27136 INTEGRV1
052464,000535: 13,3100 45020 LEMCONIC STQ CALL
052465,000536: 13,3101 00046 X1
052466,000537: 13,3102 27412 INTSTALL
052467,000538: 13,3103 43130 SXA,1 CLRGO
052468,000539: 13,3104 02102 IRETURN
![]() |
Page 1210 |
052470,000541: 13,3105 01634 VINTFLAG
052471,000542: 13,3106 27074 IFLAGC
052472,000543:
052473,000544: 13,3107 66214 INTEGRVS SET SSP
052474,000545: 13,3110 01467 PRECIFLG
052475,000546: 13,3111 02031 PBODY
052476,000547: 13,3112 00000 0
052477,000548: 13,3113 66214 BOF SSP
052478,000549: 13,3114 00343 MOONFLAG
052479,000550: 13,3115 27120 +3
052480,000551: 13,3116 02031 PBODY
052481,000552: 13,3117 00002 2
052482,000553: 13,3120 77220 STQ VLOAD
052483,000554: 13,3121 02102 IRETURN
052484,000555: 13,3122 22275 ZEROVEC
052485,000556: 13,3123 01521 STORE TDELTAV
052486,000557: 13,3124 35527 STCALL TNUV
052487,000558: 13,3125 23345 RECTIFY
052488,000559: 13,3126 43014 CLEAR SET
052489,000560: 13,3127 01676 DIM0FLAG
052490,000561: 13,3130 04062 NEWIFLG
052491,000562: 13,3131 77614 SETGO
052492,000563: 13,3132 04020 RPQFLAG
052493,000564: 13,3133 27150 ALOADED
052494,000565: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER ,
052495,000566: # NORMALLY THE NAVIGATION PROGRAM ,TO SET THE INTEG. FLAGS. THE ROUTINE
052496,000567: # IS ENTERED AT INTEGRV1 BY CSMPREC ET.AL. AND AT ALOADED BY INTEGRVS.
052497,000568: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
052498,000569: # PROGRAM FOR PRECISION OR CONIC
052499,000570:
052500,000571: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
052501,000572: # SETTING ANY FLAGS.
052502,000573: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
052503,000574: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
052504,000575: # INTYPFLG
052505,000576: # DIM0FLAG
052506,000577: # D6OR9FLG
052507,000578: # CALLING SEQUENCE
052508,000579: # L-X CALL
052509,000580: # L-Y INTSTALL
052510,000581: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
052511,000582: # AND DIM0FLAG IS CLEAR.
052512,000583: # L CALL
052513,000584: # L+1 INTEGRV
052514,000585: # INITIALIZATION
052515,000586: # FLAGS AS ABOVE
052516,000587: # STORE TIME TO INTEGRATE TO IN TDEC1
052517,000588: # OUTPUT
052518,000589: # RATT AS
052519,000590: # VATT DEFINED
![]() |
Page 1211 |
052521,000592: # TAT BEFORE
052522,000593:
052523,000594:
052524,000595: 13,3134 77620 INTEGRV STQ
052525,000596: 13,3135 02102 IRETURN
052526,000597: 13,3136 43014 INTEGRV1 SET SET
052527,000598: 13,3137 04060 RPQFLAG
052528,000599: 13,3140 04062 NEWIFLG
052529,000600: 13,3141 77731 INTEGRV2 SSP
052530,000601: 13,3142 00053 QPRET
052531,000602: 13,3143 27150 ALOADED
052532,000603: 13,3144 52014 BON GOTO
052533,000604: 13,3145 01714 VINTFLAG
052534,000605: 13,3146 26705 PTOACSM
052535,000606: 13,3147 26760 PTOALEM
052536,000607: 13,3150 77745 ALOADED DLOAD
052537,000608: 13,3151 00041 TDEC1
052538,000609: 13,3152 01116 STORE TDEC
052539,000610: 13,3153 52014 BOFF GOTO
052540,000611: 13,3154 01753 INTYPFLG
052541,000612: 13,3155 27255 TESTLOOP
052542,000613: 13,3156 27241 RVCON
052543,000614: 13,3157 77414 A-PCHK BOFCLR EXIT
052544,000615: 13,3160 01652 STATEFLG
052545,000616: 13,3161 27200 RECTOUT
052546,000617: 13,3162 05353 TC PHASCHNG
052547,000618: 13,3163 04022 OCT 04022
052548,000619: 13,3164 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
052549,000620: 13,3165 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
052550,000621: 13,3166 06036 TC INTPRET
052551,000622: 13,3167 77731 SSP
052552,000623: 13,3170 00053 QPRET
052553,000624: 13,3171 27176 PHEXIT
052554,000625: 13,3172 52014 BON GOTO
052555,000626: 13,3173 01714 VINTFLAG
052556,000627: 13,3174 26661 ATOPCSM
052557,000628: 13,3175 26734 ATOPLEM
052558,000629: 13,3176 77624 PHEXIT CALL
052559,000630: 13,3177 11165 GRP2PC
052560,000631: 13,3200 45001 RECTOUT SETPD CALL
052561,000632: 13,3201 00001 0
052562,000633: 13,3202 23345 RECTIFY
052563,000634: 13,3203 53775 VLOAD VSL*
052564,000635: 13,3204 01503 RRECT
052565,000636: 13,3205 57576 0,2
052566,000637: 13,3206 53715 PDVL VSL* # RATT TO PD0
052567,000638: 13,3207 01511 VRECT
052568,000639: 13,3210 57576 0,2
052569,000640: 13,3211 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
052570,000641: 13,3212 01517 TET
![]() |
Page 1212 |
052572,000643: 13,3213 01503 RRECT
052573,000644: 13,3214 64715 PDVL PDDL*
052574,000645: 13,3215 01511 VRECT
052575,000646: 13,3216 51770 MUEARTH,2
052576,000647: 13,3217 76006 PUSH AXT,1
052577,000648: 13,3220 77765 DEC -10 B-14
052578,000649: 13,3221 76014 BON AXT,1
052579,000650: 13,3222 00303 MOONFLAG
052580,000651: 13,3223 27225 +2
052581,000652: 13,3224 77775 DEC -2 B-14
052582,000653: 13,3225 40001 INTEXIT SETPD BOV
052583,000654: 13,3226 00001 0
052584,000655: 13,3227 27230 +1
052585,000656: 13,3230 43014 CLEAR CLEAR
052586,000657: 13,3231 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
052587,000658: 13,3232 01667 PRECIFLG
052588,000659: 13,3233 77535 SLOAD EXIT
052589,000660: 13,3234 02103 IRETURN
052590,000661: 13,3235 30154 CA MPAC
052591,000662: 13,3236 50120 INDEX FIXLOC
052592,000663: 13,3237 54052 TS QPRET
052593,000664: 13,3240 03427 TC INTWAKE
052594,000665: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
052595,000666: # VELOCITY FOR THE INTERVAL (TET-TDEC)
052596,000667:
052597,000668: 13,3241 45345 RVCON DLOAD DSU
052598,000669: 13,3242 01116 TDEC
052599,000670: 13,3243 01517 TET
052600,000671: 13,3244 36074 STCALL TAU.
052601,000672: 13,3245 23345 RECTIFY
052602,000673: 13,3246 77624 CALL
052603,000674: 13,3247 22311 KEPPREP
052604,000675: 13,3250 43345 DLOAD DAD
052605,000676: 13,3251 01551 TC
052606,000677: 13,3252 01517 TET
052607,000678: 13,3253 35517 STCALL TET
052608,000679: 13,3254 27200 RECTOUT
052609,000680:
![]() |
Page 1213 |
052611,000682: # TESTLOOP
052612,000683:
052613,000684: 13,3255 43014 TESTLOOP BOF CLRGO
052614,000685: 13,3256 04752 QUITFLAG
052615,000686: 13,3257 27262 +3
052616,000687: 13,3260 01632 STATEFLG
052617,000688: 13,3261 27225 INTEXIT # STOP INTEGRATION
052618,000689: 13,3262 73001 +3 SETPD LXA,2
052619,000690: 13,3263 00013 10D
052620,000691: 13,3264 02030 PBODY
052621,000692: 13,3265 51575 VLOAD ABVAL
052622,000693: 13,3266 01535 RCV
052623,000694: 13,3267 43006 PUSH CLEAR # RC TO 10D
052624,000695: 13,3270 00262 MIDFLAG
052625,000696: 13,3271 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
052626,000697: 13,3272 55467 RME,2
052627,000698: 13,3273 27276 +3
052628,000699: 13,3274 77614 SET
052629,000700: 13,3275 00062 MIDFLAG
052630,000701: 13,3276 41345 NORFINAL DLOAD DMP
052631,000702: 13,3277 00013 10D
052632,000703: 13,3300 00043 34D
052633,000704: 13,3301 55762 SR1R DDV*
052634,000705: 13,3302 51770 MUEARTH,2
052635,000706: 13,3303 41366 SQRT DMP
052636,000707: 13,3304 23676 .3D
052637,000708: 13,3305 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
052638,000709: 13,3306 54345 DLOAD SL
052639,000710: 13,3307 00155 MPAC
052640,000711: 13,3310 20220 15D # OF 128 CSECS.
052641,000712: 13,3311 40006 PUSH BOV
052642,000713: 13,3312 27337 MAXDT
052643,000714: 13,3313 50021 BDSU BMN
052644,000715: 13,3314 27411 DT/2MAX
052645,000716: 13,3315 27337 MAXDT
052646,000717: 13,3316 45345 DT/2COMP DLOAD DSU
052647,000718: 13,3317 01116 TDEC
052648,000719: 13,3320 01517 TET
052649,000720: 13,3321 54234 RTB SL
052650,000721: 13,3322 21516 SGNAGREE
052651,000722: 13,3323 20211 8D
052652,000723: 13,3324 02076 STORE DT/2 # B-19
052653,000724: 13,3325 51400 BOV ABS
052654,000725: 13,3326 27343 GETMAXDT
052655,000726: 13,3327 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
052656,000727: 13,3330 00015 12D
052657,000728: 13,3331 27347 P00HCHK
052658,000729: 13,3332 75345 USEMAXDT DLOAD SIGN
052659,000730: 13,3333 00015 12D
052660,000731: 13,3334 02076 DT/2
![]() |
Page 1214 |
052662,000733: 13,3335 36076 STCALL DT/2
052663,000734: 13,3336 27347 P00HCHK
052664,000735: 13,3337 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
052665,000736: 13,3340 27411 DT/2MAX
052666,000737: 13,3341 77650 GOTO
052667,000738: 13,3342 27316 DT/2COMP
052668,000739: 13,3343 77634 GETMAXDT RTB
052669,000740: 13,3344 21664 SIGNMPAC
052670,000741: 13,3345 36076 STCALL DT/2
052671,000742: 13,3346 27332 USEMAXDT
052672,000743: 13,3347 51545 P00HCHK DLOAD ABS
052673,000744: 13,3350 02076 DT/2
052674,000745: 13,3351 50025 DSU BMN
052675,000746: 13,3352 27407 DT/2MIN
052676,000747: 13,3353 27157 A-PCHK
052677,000748: 13,3354 46135 SLOAD BHIZ
052678,000749: 13,3355 01012 MODREG
052679,000750: 13,3356 27361 +3
052680,000751: 13,3357 77650 GOTO
052681,000752: 13,3360 23156 TIMESTEP
052682,000753: 13,3361 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC
052683,000754: 13,3362 01707 PRECIFLG
052684,000755: 13,3363 23156 TIMESTEP # YES
052685,000756: 13,3364 45345 DLOAD DSU
052686,000757: 13,3365 02076 DT/2
052687,000758: 13,3366 00015 12D
052688,000759: 13,3367 43040 BMN BOFCLR
052689,000760: 13,3370 27157 A-PCHK
052690,000761: 13,3371 04242 NEWIFLG
052691,000762: 13,3372 23156 TIMESTEP
052692,000763: 13,3373 45345 DLOAD DSU
052693,000764: 13,3374 01116 TDEC
052694,000765: 13,3375 01517 TET
052695,000766: 13,3376 77640 BMN # NO BACKWARD INTEGRATION
052696,000767: 13,3377 27225 INTEXIT
052697,000768: 13,3400 40525 PDDL SR4
052698,000769: 13,3401 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
052699,000770: 13,3402 44322 SR2R BDSU # NO
052700,000771: 13,3403 52040 BMN GOTO
052701,000772: 13,3404 27225 INTEXIT
052702,000773: 13,3405 23156 TIMESTEP
052703,000774: 13,3406 00000 01400 DT/2MIN 2DEC 3 B-20
052704,000775:
052705,000776: 13,3410 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
052706,000777:
052707,000778: 13,3412 77776 INTSTALL EXIT
052708,000779: 13,3413 34755 CAF ZERO
052709,000780: 13,3414 54001 ALLSTALL TS L
052710,000781: 13,3415 30106 CA RASFLAG
052711,000782: 13,3416 50001 INDEX L
![]() |
Page 1215 |
052713,000784: 13,3417 73510 MASK INTBITAB # IS THIS STALL AREA FREE
052714,000785: 13,3420 00006 EXTEND
052715,000786: 13,3421 13466 BZF OKTOGRAB # YES
052716,000787: 13,3422 50001 INDEX L
052717,000788: 13,3423 33505 CAF WAKESTAL
052718,000789: 13,3424 05133 TC JOBSLEEP
052719,000790: 13,3425 77776 INTWAKE0 EXIT
052720,000791: 13,3426 13447 TCF INTWAKE1
052721,000792:
052722,000793: 13,3427 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
052723,000794: 13,3430 74745 MASK REINTBIT # RESTARTED
052724,000795: 13,3431 10000 CCS A
052725,000796: 13,3432 03447 TC INTWAKE1 # NO
052726,000797:
052727,000798: 13,3433 50120 INDEX FIXLOC
052728,000799: 13,3434 30052 CA QPRET
052729,000800: 13,3435 55055 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
052730,000801:
052731,000802: 13,3436 05353 TC PHASCHNG
052732,000803: 13,3437 04022 OCT 04022
052733,000804:
052734,000805: 13,3440 31055 CA TBASE2
052735,000806: 13,3441 50120 INDEX FIXLOC
052736,000807: 13,3442 54052 TS QPRET
052737,000808:
052738,000809: 13,3443 34745 CAF REINTBIT
052739,000810: 13,3444 70106 MASK RASFLAG
052740,000811: 13,3445 00006 EXTEND
052741,000812: 13,3446 13471 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
052742,000813:
052743,000814: 13,3447 34755 INTWAKE1 CAF ZERO
052744,000815: 13,3450 54154 WAKE TS STALTEM # INDEX OF ANY STALL USER
052745,000816: 13,3451 50154 WAKE1 INDEX STALTEM
052746,000817: 13,3452 33505 CAF WAKESTAL
052747,000818: 13,3453 00004 INHINT
052748,000819: 13,3454 05137 TC JOBWAKE
052749,000820: 13,3455 10064 CCS LOCCTR
052750,000821: 13,3456 13451 TCF WAKE1 # MAY BE MORE TO WAKE UP
052751,000822: 13,3457 00051 FORTYONE DEC 41 B-14
052752,000823: 13,3460 50154 INDEX STALTEM
052753,000824: 13,3461 43510 CS INTBITAB
052754,000825: 13,3462 70106 MASK RASFLAG
052755,000826: 13,3463 54106 TS RASFLAG # RELEASE STALL AREA
052756,000827: 13,3464 00003 RELINT
052757,000828: 13,3465 13471 TCF GOBAC
052758,000829: 13,3466 50001 OKTOGRAB INDEX L # NO, WAIT UNTIL AVAILABLE
052759,000830: 13,3467 34736 CAF INTFLBIT
052760,000831: 13,3470 26106 ADS RASFLAG
052761,000832: 13,3471 06036 GOBAC TC INTPRET
052762,000833: 13,3472 77616 RVQ
![]() |
Page 1216 |
052764,000835: 13,3473 77776 ERASTAL1 EXIT
052765,000836: 13,3474 34753 CAF ONE
052766,000837: 13,3475 13414 TCF ALLSTALL
052767,000838: 13,3476 77776 ERASTAL2 EXIT
052768,000839: 13,3477 34752 CAF TWO
052769,000840: 13,3500 13414 TCF ALLSTALL
052770,000841: 13,3501 34753 ERASWAK1 CAF ONE
052771,000842: 13,3502 13450 TCF WAKE
052772,000843: 13,3503 34752 ERASWAK2 CAF TWO
052773,000844: 13,3504 13450 TCF WAKE
052774,000845: 13,3505 27413 WAKESTAL CADR INTSTALL +1
052775,000846: 13,3506 27474 CADR ERASTAL1 +1
052776,000847: 13,3507 27477 CADR ERASTAL2 +1
052777,000848: 13,3510 0154 STALTEM EQUALS MPAC
052778,000849: 13,3510 20100 INTBITAB OCT 20100
052779,000850: 13,3511 10040 OCT 10040
052780,000851: 13,3512 04020 OCT 04020
052781,000852:
![]() |
Page 1217 |
052783,000854: # AVETOMID
052784,000855:
052785,000856: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
052786,000857: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
052787,000858: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
052788,000859:
052789,000860: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (ORWFLAG OR RENDWFLG IS
052790,000861: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
052791,000862:
052792,000863: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
052793,000864:
052794,000865: # FINALLY TRKMKCNT IS ZEROED
052795,000866:
052796,000867: 13,2000 SETLOC INTINIT
052797,000868: 13,2000 BANK
052798,000869:
052799,000870: 13,3513 COUNT* $$/INTIN
052800,000871: 13,3513 43020 AVETOMID STQ BON
052801,000872: 13,3514 02772 EGRESS
052802,000873: 13,3515 02716 RENDWFLG
052803,000874: 13,3516 27562 INT/W # W-MATRIX VALID ,GO INTEGRATE IT
052804,000875: 13,3517 77614 BON
052805,000876: 13,3520 01711 ORBWFLAG
052806,000877: 13,3521 27562 INT/W # W-MATRIX VALID ,GO INTEGRATE IT
052807,000878:
052808,000879: 13,3522 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
052809,000880: 13,3523 01235 PIPTIME # DESIRED TIME
052810,000881: 13,3524 27412 INTSTALL
052811,000882: 13,3525 45014 SET CALL
052812,000883: 13,3526 01474 VINTFLAG # CM
052813,000884: 13,3527 26644 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
052814,000885: 13,3530 34041 STCALL TDEC1
052815,000886: 13,3531 27134 INTEGRV
052816,000887:
052817,000888: 13,3532 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
052818,000889: 13,3533 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
052819,000890: 13,3534 27412 INTSTALL
052820,000891: 13,3535 77014 BON AXT,2
052821,000892: 13,3536 04304 MOONTHIS
052822,000893: 13,3537 27541 +2
052823,000894: 13,3540 00000 0
052824,000895: 13,3541 53775 VLOAD VSR*
052825,000896: 13,3542 01221 RN
052826,000897: 13,3543 57176 0,2
052827,000898: 13,3544 01503 STORE RRECT
052828,000899: 13,3545 15535 STODL RCV
052829,000900: 13,3546 01235 PIPTIME
052830,000901: 13,3547 25517 STOVL TET
052831,000902: 13,3550 01227 VN
![]() |
Page 1218 |
052833,000904: 13,3551 45057 VSR* CALL
052834,000905: 13,3552 57176 0,2
052835,000906: 13,3553 23361 MINIRECT # FINISH SETTING UP STATE VECTOR
052836,000907: 13,3554 66234 RTB SSP
052837,000908: 13,3555 26747 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
052838,000909: 13,3556 03461 TRKMKCNT
052839,000910: 13,3557 00000 0
052840,000911: 13,3560 77650 GOTO
052841,000912: 13,3561 47130 FAZAB5
052842,000913:
052843,000914: 13,3562 45145 INT/W DLOAD CALL
052844,000915: 13,3563 01235 PIPTIME # INTEGRATE W THRU BURN
052845,000916: 13,3564 27412 INTSTALL
052846,000917: 13,3565 43014 SET SET
052847,000918: 13,3566 01476 DIM0FLAG # DO W-MATRIX
052848,000919: 13,3567 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
052849,000920: 13,3570 43014 SET CLEAR
052850,000921: 13,3571 01475 D6OR9FLG # 9X9 FOR LM
052851,000922: 13,3572 01674 VINTFLAG # LM
052852,000923: 13,3573 34041 STCALL TDEC1
052853,000924: 13,3574 27134 INTEGRV
052854,000925: 13,3575 77650 GOTO
052855,000926: 13,3576 27522 OTHERS # NOW GO DO THE OTHER VEHICLE
052856,000927:
![]() |
Page 1219 |
052858,000929: # MIDTOAV1
052859,000930:
052860,000931: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
052861,000932: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
052862,000933: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
052863,000934: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
052864,000935: # IS DONE TO THE CURRENT TIME.
052865,000936: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
052866,000937:
052867,000938: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
052868,000939: # TO THE RETURN ADDRESS
052869,000940:
052870,000941: # IN EITHER CASE , BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
052871,000942: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
052872,000943: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
052873,000944: # TAT MINUS CURRENT TIME.
052874,000945:
052875,000946:
052876,000947: # MIDTOAV2
052877,000948:
052878,000949: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
052879,000950: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
052880,000951: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
052881,000952:
052882,000953: 13,3577 E7,1743 EBANK= IRETURN1
052883,000954: 13,3577 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
052884,000955: 13,3600 03743 IRETURN1
052885,000956: 13,3601 04634 MID1FLAG
052886,000957: 13,3602 27616 ENTMID2
052887,000958:
052888,000959: 13,3603 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
052889,000960: 13,3604 03743 IRETURN1
052890,000961: 13,3605 04474 MID1FLAG
052891,000962: 13,3606 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
052892,000963: 13,3607 21462 LOADTIME
052893,000964: 13,3610 27720 TIMEDELT
052894,000965: 13,3611 51021 BDSU BPL
052895,000966: 13,3612 00041 TDEC1
052896,000967: 13,3613 27622 ENTMID1 # Y5S
052897,000968: 13,3614 77624 CALL
052898,000969: 13,3615 27706 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
052899,000970:
052900,000971: 13,3616 43234 ENTMID2 RTB DAD
052901,000972: 13,3617 21462 LOADTIME
052902,000973: 13,3620 27720 TIMEDELT
052903,000974: 13,3621 00041 STORE TDEC1
052904,000975:
052905,000976: 13,3622 77624 ENTMID1 CALL
052906,000977: 13,3623 27412 INTSTALL
052907,000978: 13,3624 45014 CLEAR CALL
![]() |
Page 1220 |
052909,000980: 13,3625 01676 DIM0FLAG # NO W-MATRIX
052910,000981: 13,3626 26066 THISVINT
052911,000982: 13,3627 43014 CLEAR SET
052912,000983: 13,3630 01673 INTYPFLG
052913,000984: 13,3631 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
052914,000985: 13,3632 77624 CALL
052915,000986: 13,3633 27134 INTEGRV # GO INTEGRATE
052916,000987: 13,3634 77214 CLEAR VLOAD
052917,000988: 13,3635 04675 MIDAVFLG
052918,000989: 13,3636 00001 RATT
052919,000990: 13,3637 27543 STOVL RN1
052920,000991: 13,3640 00007 VATT
052921,000992: 13,3641 17551 STODL VN1
052922,000993: 13,3642 00015 TAT
052923,000994: 13,3643 03557 STORE PIPTIME1
052924,000995: 13,3644 66134 SXA,2 SXA,1
052925,000996: 13,3645 03376 RTX2
052926,000997: 13,3646 03375 RTX1
052927,000998: 13,3647 77776 EXIT
052928,000999:
052929,001000: 13,3650 00004 INHINT
052930,001001: 13,3651 00006 EXTEND
052931,001002: 13,3652 40025 DCS TIME2
052932,001003: 13,3653 20155 DAS MPAC
052933,001004: 13,3654 07256 TC TPAGREE
052934,001005:
052935,001006: 13,3655 31743 CA IRETURN1
052936,001007: 13,3656 04640 TC BANKJUMP
052937,001008: 13,3657 47014 CKMID2 BOF RTB
052938,001009: 13,3660 04754 MID1FLAG
052939,001010: 13,3661 27676 MID2
052940,001011: 13,3662 21462 LOADTIME
052941,001012: 13,3663 44215 DAD BDSU
052942,001013: 13,3664 27720 TIMEDELT
052943,001014: 13,3665 01116 TDEC
052944,001015: 13,3666 45044 BPL CALL
052945,001016: 13,3667 27255 TESTLOOP # YES
052946,001017: 13,3670 27706 NOTIME
052947,001018:
052948,001019: 13,3671 43234 TIMEINC RTB DAD
052949,001020: 13,3672 21462 LOADTIME
052950,001021: 13,3673 27720 TIMEDELT
052951,001022: 13,3674 35116 STCALL TDEC
052952,001023: 13,3675 27255 TESTLOOP
052953,001024:
052954,001025: 13,3676 45345 MID2 DLOAD DSU
052955,001026: 13,3677 01116 TDEC
052956,001027: 13,3700 01517 TET
052957,001028: 13,3701 45246 ABS DSU
052958,001029: 13,3702 27716 3CSECS
052959,001030:
![]() |
Page 1221 |
052961,001032: 13,3703 52040 BMN GOTO
052962,001033: 13,3704 27157 A-PCHK
052963,001034: 13,3705 27671 TIMEINC
052964,001035:
052965,001036: 13,3706 77414 NOTIME CLEAR EXIT # TOO LATE
052966,001037: 13,3707 04674 MID1FLAG
052967,001038: 13,3710 25743 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
052968,001039: 13,3711 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
052969,001040: 13,3712 01703 OCT 1703 # TIG WILL BE SLIPPED...
052970,001041: 13,3713 06036 TC INTPRET
052971,001042: 13,3714 77616 RVQ
052972,001043:
052973,001044: 13,3715 00000 00003 3CSECS 2DEC 3 B-28
052974,001045:
052975,001046: 13,3717 00000 01750 TIMEDELT 2DEC 1000 B-28
052976,001047:
052977,001048: 27,3332 BANK 27
052978,001049: 04,2000 SETLOC UPDATE2
052979,001050: 04,2000 BANK
052980,001051: 04,3106 1167 EBANK= INTWAKUQ
052981,001052:
052982,001053: 04,3106 COUNT* $$/INTIN
052983,001054:
052984,001055: 04,3106 1167 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
052985,001056:
052986,001057: 04,3106 00003 INTWAKEU RELINT
052987,001058: 04,3107 00006 EXTEND
052988,001059: 04,3110 23167 QXCH INTWAKUQ # SAVE Q FOR RETURN
052989,001060:
052990,001061: 04,3111 06036 TC INTPRET
052991,001062:
052992,001063: 04,3112 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
052993,001064: 04,3113 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
052994,001065: 04,3114 11153 INTWAKUP
052995,001066:
052996,001067: 04,3115 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
052997,001068: 04,3116 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
052998,001069: 04,3117 25535 STOVL RCV
052999,001070: 04,3120 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
053000,001071: 04,3121 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
053001,001072: 04,3122 23362 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
053002,001073: 04,3123 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
053003,001074: 04,3124 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
053004,001075: 04,3125 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
053005,001076: 04,3126 11164 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
053006,001077: 04,3127 11134 INTWAKEM # SPHERE OF INFLUENCE.........
053007,001078: 04,3130 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
053008,001079: 04,3131 00000 DEC 0 B-14
053009,001080: 04,3132 00223 MOONFLAG
![]() |
Page 1222 |
053011,001082: 04,3133 11137 INTWAKEC
053012,001083: 04,3134 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
053013,001084: 04,3135 00002 DEC 2 B-14
053014,001085: 04,3136 00063 MOONFLAG
053015,001086: 04,3137 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
053016,001087: # MOONFLAG SET (OR CLEARED).
053017,001088: 04,3140 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
053018,001089: 04,3141 11147 INTWAKLM # STATE VECTOR UPDATE......
053019,001090: 04,3142 77624 CALL # UPDATE CSM STATE VECTOR
053020,001091: 04,3143 26661 ATOPCSM
053021,001092:
053022,001093: 04,3144 52014 CLEAR GOTO
053023,001094: 04,3145 01671 ORBWFLAG
053024,001095: 04,3146 11151 INTWAKEX
053025,001096:
053026,001097: 04,3147 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
053027,001098: 04,3150 26734 ATOPLEM
053028,001099:
053029,001100: 04,3151 77614 INTWAKEX CLEAR
053030,001101: 04,3152 02676 RENDWFLG
053031,001102:
053032,001103: 04,3153 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
053033,001104: 04,3154 01502 UPSVFLAG
053034,001105: 04,3155 00000 0
053035,001106: 04,3156 27425 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
053036,001107: 04,3157 77776 EXIT
053037,001108:
053038,001109: 04,3160 05353 TC PHASCHNG
053039,001110: 04,3161 04026 OCT 04026
053040,001111: 04,3162 01167 TC INTWAKUQ
053041,001112:
053042,001113: 04,3163 00002 UPMNSVCD OCT 2
053043,001114: 04,3164 00000 OCT 0
053044,001115:
053045,001116:
053046,001117: 04,3165 77420 GRP2PC STQ EXIT
053047,001118: 04,3166 02711 GRP2SVQ
053048,001119: 04,3167 05353 TC PHASCHNG
053049,001120: 04,3170 04022 OCT 04022
053050,001121: 04,3171 06036 TC INTPRET
053051,001122: 04,3172 77650 GOTO
053052,001123: 04,3173 02711 GRP2SVQ
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc