Source Code
|
These source-code files are part of a reconstructed copy of Artemis 071, the
first release of the Apollo 15 through 17 Command Module (CM) Apollo Guidance
Computer (AGC) software.
The reconstruction began with source code of Artemis 072 previously transcribed from a digitized copy of that program. The code was then updated by undoing changes between the two versions. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021154-. Note that page numbers in the reconstructed code match those on the Artemis 072 printout, although the changed code would likely have changed page numbers for a real Artemis 071 listing. Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. |
055920,000002: ## Copyright: Public domain.
055921,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
055922,000004: ## Purpose: A section of Artemis revision 071.
055923,000005: ## It is part of the reconstructed source code for the first
055924,000006: ## release of the flight software for the Command Module's
055925,000007: ## (CM) Apollo Guidance Computer (AGC) for Apollo 15 through
055926,000008: ## 17. The code has been recreated from a copy of Artemis 072.
055927,000009: ## It has been adapted such that the resulting bugger words
055928,000010: ## exactly match those specified for Artemis 071 in NASA
055929,000011: ## drawing 2021154-, which gives relatively high confidence
055930,000012: ## that the reconstruction is correct.
055931,000013: ## Reference: 1309
055932,000014: ## Assembler: yaYUL
055933,000015: ## Contact: Ron Burkey <info@sandroid.org>.
055934,000016: ## Website: www.ibiblio.org/apollo/index.html
055935,000017: ## Mod history: 2019-08-14 MAS Created from Artemis 072.
055936,000018:
|
Page 1309 |
055938,000020: # 1.0 INTRODUCTION
055939,000021: # ----------------
055940,000022:
055941,000023: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
055942,000024: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
055943,000025: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
055944,000026: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
055945,000027: # SIDE THE LUNAR SPHERE OF INFLUENCE.
055946,000028:
055947,000029: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
055948,000030: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
055949,000031: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
055950,000032: # CALL TC INTSTALL.
055951,000033:
055952,000034: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
055953,000035: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
055954,000036: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
055955,000037: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
055956,000038: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
055957,000039:
055958,000040: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
055959,000041: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
055960,000042: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
055961,000043: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
055962,000044:
055963,000045: # 2.0 GENERAL DESCRIPTION
055964,000046: # -----------------------
055965,000047:
055966,000048: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
055967,000049: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
055968,000050: # 2) INTEGRATES THE W-MATRIX
055969,000051: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
055970,000052:
055971,000053: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
055972,000054: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
055973,000055: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
055974,000056: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
055975,000057: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
055976,000058: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
055977,000059: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
055978,000060: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
055979,000061: # AND/OR STATE VECTOR.
055980,000062:
055981,000063: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
055982,000064: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
055983,000065: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
055984,000066:
055985,000067: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
055986,000068: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
055987,000069: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
055988,000070:
|
Page 1310 |
055990,000072: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
055991,000073:
055992,000074: # 2.1 RESTARTS
055993,000075:
055994,000076: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
055995,000077: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
055996,000078: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
055997,000079: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
055998,000080: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
055999,000081: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
056000,000082: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
056001,000083:
056002,000084: # 2.2 SCALING
056003,000085:
056004,000086: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
056005,000087: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
056006,000088: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
056007,000089: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
056008,000090: # DIFFERENT SCALING.
056009,000091: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
056010,000092:
056011,000093: # 3.0 INPUT/OUTPUT
056012,000094: # ----------------
056013,000095:
056014,000096: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
056015,000097: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
056016,000098: # FOR INTEGRVS, THE RCV,VCV, TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
056017,000099:
056018,000100: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
056019,000101: # EARTH MOON
056020,000102: # 29 27
056021,000103: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
056022,000104:
056023,000105: # 7 5
056024,000106: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
056025,000107:
056026,000108: # 28 28
056027,000109: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
056028,000110: # CUSTOMARILY 0, BUT NOTE LUNAR
056029,000111: # ORBIT DEPENDENCE ON REAL TIME.
056030,000112:
056031,000113: # 22 18
056032,000114: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
056033,000115: # 0 IF TCCSM(LEM) = 0
056034,000116:
056035,000117: # 3 -1
056036,000118: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
056037,000119: # 0 IF TCCSM(LEM) = 0
|
Page 1311 |
056039,000121: # 29 27
056040,000122: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
056041,000123: # EQUALS RRECTCSM(LEM) IF
056042,000124: # TCCSM(LEM) = 0
056043,000125:
056044,000126: # 7 5
056045,000127: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
056046,000128: # EQUALS VRECTCSM(LEM) IF
056047,000129: # TCCSM(LEM) = 0
056048,000130:
056049,000131: # 28 28
056050,000132: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
056051,000133: # CUSTOMARILY 0
056052,000134:
056053,000135: # 1/2 17 16
056054,000136: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
056055,000137: # 0 IF TCCSM(LEM) = 0
056056,000138:
056057,000139: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
056058,000140: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
056059,000141: # LMOONFLG C = CSM, L = LM 0 0
056060,000142: # LMIDFLG 0,1 0,1
056061,000143:
056062,000144: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
056063,000145:
056064,000146: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
056065,000147: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
056066,000148: # ROUTINE MUST BE PRESET.
056067,000149:
056068,000150: # OUTPUT
056069,000151: # AFTER EVERY CALL TO INTEGRATION
056070,000152: # EARTH MOON
056071,000153: # 29 29
056072,000154: # 0D RATT POSITION METERS 2 2
056073,000155: # 7 7
056074,000156: # 6D VATT VELOCITY M/CSEC 2 2
056075,000157: # 28 28
056076,000158: # 12D TAT TIME 2 2
056077,000159: # 29 27
056078,000160: # 14D RATT1 POSITION METERS 2 2
056079,000161: # 7 5
056080,000162: # 20D VATT1 VELOCITY M/CSEC 2 2
056081,000163: # 3 2 36 30
056082,000164: # 26D MU(P) MU M /CS 2 2
056083,000165:
056084,000166: # X1 MUTABLE ENTRY -2 -10D
056085,000167:
056086,000168: # X2 COORDINT
056087,000169: # X2 COORDINATE SYSTEM ORIGEN 0 2
056088,000170: # (THIS, NOT MOONFLAG, SHOULD BE
|
Page 1312 |
056090,000172: # USED TO DETERMINE ORIGIN.)
056091,000173:
056092,000174: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
056093,000175: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
056094,000176: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
056095,000177: # CALLING PROGRAM.
056096,000178:
056097,000179: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
056098,000180: # -------------------------------------
056099,000181:
056100,000182: # A) PRECISION ORBITAL INTEGRATION. CSMPREC,LEMPREC ENTRANCES
056101,000183: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
056102,000184: # L CALL
056103,000185: # L+1 CSMPREC (OR LEMPREC)
056104,000186: # L+2 RETURN
056105,000187: # INPUT 28
056106,000188: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
056107,000189: # OUTPUT
056108,000190: # THE DATA LISTED IN SECTION 3.0 PLUS
056109,000191: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
056110,000192: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
056111,000193: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
056112,000194: # L-X STORE TIME IN PUSH LIST (TDEC1)
056113,000195: # L CALL
056114,000196: # L+1 CSMCONIC (OR LEMCONIC)
056115,000197: # INPUT/OUTPUT
056116,000198: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
056117,000199: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
056118,000200: # CALL
056119,000201: # INTSTALL
056120,000202: # VLOAD
056121,000203: # POSITION VECTOR
056122,000204: # STOVL RCV
056123,000205: # VELOCITY VECTOR
056124,000206: # STODL VCV
056125,000207: # TIME STATE VECTOR VALID
056126,000208: # STODL TET
056127,000209: # FINAL RADIUS
056128,000210: # STORE RFINAL
056129,000211: # SET(CLEAR) SET(CLEAR)
056130,000212: # INTYPFLAG
056131,000213: # MOONFLAG
056132,000214: # SET(CLEAR) DLOAD
056133,000215: # DESIRED TIME
056134,000216: # STCALL TDEC1
056135,000217: # INTEGRVS
056136,000218: # INPUT
056137,000219: # RCV POSITION VECTOR METERS
056138,000220: # VCV VELOCITY VECTOR M/CSEC
056139,000221: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
|
Page 1313 |
056141,000223: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
056142,000224: # (MAY BE INCREMENT IF TET=0)
056143,000225: # OUTPUT
056144,000226: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
056145,000227: # DEPENDING ON INTYPFLG.
056146,000228: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
056147,000229: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
056148,000230: # L-8 CALL
056149,000231: # L-7
056150,000232: # L-6 SET(CLEAR) SET(CLEAR)
056151,000233: # L-5 VINTFLAG 1=CSM, 0=LM
056152,000234: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
056153,000235: # L-3 SET(CLEAR) SET(CLEAR)
056154,000236: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
056155,000237: # L-1 D6OR9FLG 1=9X9, 0=6X6
056156,000238: # L SET DLOAD
056157,000239: # L+1 STATEFLG DESIRE PERMANENT UPDATE
056158,000240: # L+2 FINAL RAD. OF STATE VECTOR
056159,000241: # L+3 STCALL RFINAL
056160,000242: # L+4 INTEGRV
056161,000243: # L CALL NORMAL USE-- WILL UPDATE STATE
056162,000244: # L+1 INTEGRV VECTOR IF DIMOFLAG=1. (STATEFLG IS
056163,000245: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
056164,000246: # IT IS USED.)
056165,000247: # INPUT
056166,000248: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
056167,000249: # OUTPUT
056168,000250: # SAME AS FOR PRECISION OR CONIC INTEGRATION
056169,000251: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
056170,000252: # THE PERMANENT STATE VECTOR REPRESENTATION.
056171,000253:
056172,000254: 13,2000 SETLOC INTINIT
056173,000255: 13,2000 BANK
056174,000256: 13,2702 E3,1554 EBANK= RRECTCSM
056175,000257: 13,2702 COUNT* $$/INTIN
056176,000258: 13,2702 05402 STATEINT TC PHASCHNG
056177,000259: 13,2703 00052 OCT 00052
056178,000260: 13,2704 01,2036 2P5SPT4 = 2.5SPOT
056179,000261: 13,2704 35047 CAF PRIO5
056180,000262: 13,2705 05135 TC FINDVAC
056181,000263: 13,2706 E3,1554 EBANK= RRECTCSM
056182,000264: 13,2706 02711 26063 2CADR STATINT1
056183,000265:
056184,000266: 13,2710 05314 TC TASKOVER
056185,000267: 13,2711 06006 STATINT1 TC INTPRET
056186,000268: 13,2712 47014 BON RTB
056187,000269: 13,2713 04712 QUITFLAG
056188,000270: 13,2714 26753 NOINT # NO STATEINT IF V96
056189,000271: 13,2715 51751 LOADTIME
056190,000272: 13,2716 00041 STORE TDEC1
|
Page 1314 |
056192,000274: 13,2717 45014 CLEAR CALL
056193,000275: 13,2720 04274 V96ONFLG
056194,000276: 13,2721 27516 INTSTALL
056195,000277: 13,2722 45014 SET CALL
056196,000278: 13,2723 01076 NODOFLAG
056197,000279: 13,2724 26744 SETIFLGS
056198,000280: 13,2725 52014 SET GOTO # INHIBIT BACKWARDS INTEGRATION
056199,000281: 13,2726 01466 POOFLAG
056200,000282: 13,2727 26000 STATEUP
056201,000283: 13,2730 00003 25140 600SECS 2DEC 60000 B-28
056202,000284:
056203,000285: 13,2732 77414 ENDINT CLEAR EXIT
056204,000286: 13,2733 01672 STATEFLG
056205,000287: 13,2734 05402 TC PHASCHNG
056206,000288: 13,2735 20032 OCT 20032
056207,000289: 13,2736 01,2033 SP3SPT1 = 2.3SPOT
056208,000290: 13,2736 00006 EXTEND
056209,000291: 13,2737 32731 DCA 600SECS
056210,000292: 13,2740 05332 TC LONGCALL
056211,000293: 13,2741 E3,1554 EBANK= RRECTHIS
056212,000294: 13,2741 02702 26063 2CADR STATEINT
056213,000295:
056214,000296: 13,2743 05205 TC ENDOFJOB
056215,000297: 13,2744 43014 SETIFLGS SET CLEAR
056216,000298: 13,2745 01472 STATEFLG
056217,000299: 13,2746 01673 INTYPFLG
056218,000300: 13,2747 43014 CLEAR CLEAR
056219,000301: 13,2750 01676 DIM0FLAG
056220,000302: 13,2751 01675 D6OR9FLG
056221,000303: 13,2752 77616 RVQ
056222,000304: 13,2753 77776 NOINT EXIT
056223,000305: 13,2754 05402 TC PHASCHNG
056224,000306: 13,2755 00002 OCT 2
056225,000307:
056226,000308: 13,2756 05561 TC DOWNFLAG
056227,000309: 13,2757 00221 ADRES QUITFLAG
056228,000310:
056229,000311: 13,2760 05205 TC ENDOFJOB
056230,000312:
056231,000313: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
056232,000314:
056233,000315: # CALLING SEQUENCE
056234,000316: # L CALL
056235,000317: # L+1 ATOPCSM
056236,000318:
056237,000319: # NORMAL EXIT AT L+2
056238,000320:
056239,000321: 13,2761 47020 ATOPCSM STQ RTB
056240,000322: 13,2762 00051 S2
056241,000323: 13,2763 26774 MOVEACSM
|
Page 1315 |
056243,000325: 13,2764 45014 SET CALL
056244,000326: 13,2765 04063 CMOONFLG
056245,000327: 13,2766 20240 SVDWN1
056246,000328: 13,2767 43014 BON CLRGO
056247,000329: 13,2770 00303 MOONFLAG
056248,000330: 13,2771 00051 S2
056249,000331: 13,2772 04223 CMOONFLG
056250,000332: 13,2773 00051 S2
056251,000333: 13,2774 03140 MOVEACSM TC SETBANK
056252,000334: 13,2775 55500 +1 TS DIFEQCNT # INITIALIZE INDEX
056253,000335: 13,2776 51500 INDEX DIFEQCNT
056254,000336: 13,2777 31502 CA RRECT
056255,000337: 13,3000 51500 INDEX DIFEQCNT
056256,000338: 13,3001 55554 TS RRECTCSM
056257,000339: 13,3002 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
056258,000340: 13,3003 12775 TCF MOVEACSM +1 # NO-LOOP
056259,000341: 13,3004 06030 TC DANZIG # COMPLETE- RETURN
056260,000342:
056261,000343:
056262,000344: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
056263,000345:
056264,000346: # CALLING SEQUENCE
056265,000347: # L CALL
056266,000348: # PTOACSM
056267,000349:
056268,000350: # NORMAL EXIT AT L+2
056269,000351:
056270,000352: 13,3005 43034 PTOACSM RTB BON
056271,000353: 13,3006 27023 MOVEPCSM
056272,000354: 13,3007 04303 CMOONFLG
056273,000355: 13,3010 27016 SETMOON
056274,000356: 13,3011 66214 CLRMOON CLEAR SSP
056275,000357: 13,3012 00263 MOONFLAG
056276,000358: 13,3013 02151 PBODY
056277,000359: 13,3014 00000 0
056278,000360: 13,3015 77616 RVQ
056279,000361: 13,3016 66214 SETMOON SET SSP
056280,000362: 13,3017 00063 MOONFLAG
056281,000363: 13,3020 02151 PBODY
056282,000364: 13,3021 00002 2
056283,000365: 13,3022 77616 RVQ
056284,000366: 13,3023 03140 MOVEPCSM TC SETBANK
056285,000367: 13,3024 55500 +1 TS DIFEQCNT
056286,000368: 13,3025 51500 INDEX DIFEQCNT
056287,000369: 13,3026 31554 CA RRECTCSM
056288,000370: 13,3027 51500 INDEX DIFEQCNT
056289,000371: 13,3030 55502 TS RRECT
056290,000372: 13,3031 11500 CCS DIFEQCNT
056291,000373: 13,3032 13024 TCF MOVEPCSM +1
056292,000374: 13,3033 06030 TC DANZIG
056293,000375:
|
Page 1316 |
056295,000377: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
056296,000378: 13,3034 47020 ATOPLEM STQ RTB
056297,000379: 13,3035 00051 S2
056298,000380: 13,3036 27047 MOVEALEM
056299,000381: 13,3037 45014 SET CALL
056300,000382: 13,3040 04064 LMOONFLG
056301,000383: 13,3041 20264 SVDWN2
056302,000384: 13,3042 43014 BON CLRGO
056303,000385: 13,3043 00303 MOONFLAG
056304,000386: 13,3044 00051 S2
056305,000387: 13,3045 04224 LMOONFLG
056306,000388: 13,3046 00051 S2
056307,000389: 13,3047 03140 MOVEALEM TC SETBANK
056308,000390: 13,3050 55500 +1 TS DIFEQCNT
056309,000391: 13,3051 51500 INDEX DIFEQCNT
056310,000392: 13,3052 31502 CA RRECT
056311,000393: 13,3053 51500 INDEX DIFEQCNT
056312,000394: 13,3054 55626 TS RRECTLEM
056313,000395: 13,3055 11500 CCS DIFEQCNT
056314,000396: 13,3056 13050 TCF MOVEALEM +1
056315,000397: 13,3057 06030 TC DANZIG
056316,000398:
056317,000399:
056318,000400: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
056319,000401:
056320,000402: 13,3060 47014 PTOALEM BON RTB
056321,000403: 13,3061 04307 SURFFLAG
056322,000404: 13,3062 27101 USEPIOS
056323,000405: 13,3063 27070 MOVEPLEM
056324,000406: 13,3064 52014 BON GOTO
056325,000407: 13,3065 04304 LMOONFLG
056326,000408: 13,3066 27016 SETMOON
056327,000409: 13,3067 27011 CLRMOON
056328,000410: 13,3070 03140 MOVEPLEM TC SETBANK
056329,000411: 13,3071 55500 +1 TS DIFEQCNT
056330,000412: 13,3072 51500 INDEX DIFEQCNT
056331,000413: 13,3073 31626 CA RRECTLEM
056332,000414: 13,3074 51500 INDEX DIFEQCNT
056333,000415: 13,3075 55502 TS RRECT
056334,000416: 13,3076 11500 CCS DIFEQCNT
056335,000417: 13,3077 13071 TCF MOVEPLEM +1
056336,000418: 13,3100 06030 TC DANZIG
056337,000419:
056338,000420:
056339,000421: 13,3101 77201 USEPIOS SETPD VLOAD
056340,000422: 13,3102 00001 0
056341,000423: 13,3103 02026 RLS
056342,000424: 13,3104 41525 PDDL PUSH
056343,000425: 13,3105 00041 TDEC1
|
Page 1317 |
056345,000427: 13,3106 15517 STODL TET
056346,000428: 13,3107 27756 5/8
056347,000429: 13,3110 77624 CALL
056348,000430: 13,3111 55345 RP-TO-R
056349,000431: 13,3112 25535 STOVL RCV
056350,000432: 13,3113 11754 ZUNIT
056351,000433: 13,3114 14001 STODL 0D
056352,000434: 13,3115 01517 TET
056353,000435: 13,3116 14007 STODL 6D
056354,000436: 13,3117 27756 5/8
056355,000437: 13,3120 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
056356,000438: 13,3121 00063 MOONFLAG
056357,000439: 13,3122 55345 RP-TO-R
056358,000440: 13,3123 74235 VXV VXSC
056359,000441: 13,3124 01535 RCV
056360,000442: 13,3125 27137 OMEGMOON
056361,000443: 13,3126 25543 STOVL VCV
056362,000444: 13,3127 11762 ZEROVEC
056363,000445: 13,3130 01521 STORE TDELTAV
056364,000446: 13,3131 67174 AXT,2 SXA,2
056365,000447: 13,3132 00002 2
056366,000448: 13,3133 02150 PBODY
056367,000449: 13,3134 35527 STCALL TNUV
056368,000450: 13,3135 27252 A-PCHK
056369,000451: 13,3136 07112 06620 OMEGMOON 2DEC* 2.66169947 E-8 B+23*
056370,000452: 13,3140 33144 SETBANK CAF INTBANK
056371,000453: 13,3141 54006 TS BBANK
056372,000454: 13,3142 33553 CAF FORTYONE
056373,000455: 13,3143 00002 TC Q
056374,000456: 13,3144 E3,1554 EBANK= RRECTCSM
056375,000457: 13,3144 26063 INTBANK BBCON INTEGRV
056376,000458:
056377,000459:
056378,000460: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
056379,000461: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
056380,000462:
056381,000463: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
056382,000464: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
056383,000465: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
056384,000466: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
056385,000467: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
056386,000468: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
056387,000469:
056388,000470: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
056389,000471: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
056390,000472: # CSMPREC CSMCONIC LEMPREC LEMCONIC
056391,000473: # VINTFLAG SET SET CLEAR CLEAR
056392,000474: # INTYPFLG CLEAR SET CLEAR SET
056393,000475: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
|
Page 1318 |
056395,000477:
056396,000478: # CALLING SEQUENCE
056397,000479: # L-X STORE TDEC1
056398,000480: # L CALL (STCALL TDEC1)
056399,000481: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
056400,000482:
056401,000483: # NORMAL EXIT TO L+2
056402,000484:
056403,000485: # SUBROUTINES CALLED
056404,000486: # INTEGRV1
056405,000487: # PRECOUT FOR CSMPREC AND LEMPREC
056406,000488: # CONICOUT FOR CSMCONIC AND LEMCONIC
056407,000489:
056408,000490:
056409,000491: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
056410,000492: # INPUT
056411,000493: # TDEC1 TIME TO INTEGRATE TO . CSECS B-28
056412,000494:
056413,000495: 13,3145 45020 CSMPREC STQ CALL
056414,000496: 13,3146 00046 X1
056415,000497: 13,3147 27516 INTSTALL
056416,000498: 13,3150 43130 SXA,1 SET
056417,000499: 13,3151 02213 IRETURN
056418,000500: 13,3152 01474 VINTFLAG
056419,000501:
056420,000502: 13,3153 43014 IFLAGP SET CLEAR
056421,000503: 13,3154 01467 PRECIFLG
056422,000504: 13,3155 01676 DIM0FLAG
056423,000505: 13,3156 77614 CLRGO
056424,000506: 13,3157 01633 INTYPFLG
056425,000507: 13,3160 27240 INTEGRV1
056426,000508: 13,3161 45020 LEMPREC STQ CALL
056427,000509: 13,3162 00046 X1
056428,000510: 13,3163 27516 INTSTALL
056429,000511: 13,3164 43130 SXA,1 CLRGO
056430,000512: 13,3165 02213 IRETURN
056431,000513: 13,3166 01634 VINTFLAG
056432,000514: 13,3167 27153 IFLAGP
056433,000515:
056434,000516: 13,3170 45020 CSMCONIC STQ CALL
056435,000517: 13,3171 00046 X1
056436,000518: 13,3172 27516 INTSTALL
056437,000519: 13,3173 43130 SXA,1 SET
056438,000520: 13,3174 02213 IRETURN
056439,000521: 13,3175 01474 VINTFLAG
056440,000522: 13,3176 43014 IFLAGC CLEAR SETGO
056441,000523: 13,3177 01676 DIM0FLAG
056442,000524: 13,3200 01433 INTYPFLG
056443,000525: 13,3201 27240 INTEGRV1
056444,000526: 13,3202 45020 LEMCONIC STQ CALL
056445,000527: 13,3203 00046 X1
|
Page 1319 |
056447,000529: 13,3204 27516 INTSTALL
056448,000530: 13,3205 43130 SXA,1 CLRGO
056449,000531: 13,3206 02213 IRETURN
056450,000532: 13,3207 01634 VINTFLAG
056451,000533: 13,3210 27176 IFLAGC
056452,000534:
056453,000535: 13,3211 66214 INTEGRVS SET SSP
056454,000536: 13,3212 01467 PRECIFLG
056455,000537: 13,3213 02151 PBODY
056456,000538: 13,3214 00000 0
056457,000539: 13,3215 66214 BOF SSP
056458,000540: 13,3216 00343 MOONFLAG
056459,000541: 13,3217 27222 +3
056460,000542: 13,3220 02151 PBODY
056461,000543: 13,3221 00002 2
056462,000544: 13,3222 77220 STQ VLOAD
056463,000545: 13,3223 02213 IRETURN
056464,000546: 13,3224 11762 ZEROVEC
056465,000547: 13,3225 01521 STORE TDELTAV
056466,000548: 13,3226 35527 STCALL TNUV
056467,000549: 13,3227 23420 RECTIFY
056468,000550: 13,3230 43014 CLEAR SET
056469,000551: 13,3231 01676 DIM0FLAG
056470,000552: 13,3232 04062 NEWIFLG
056471,000553: 13,3233 77614 SETGO
056472,000554: 13,3234 04020 RPQFLAG
056473,000555: 13,3235 22320 ALOADED
056474,000556:
056475,000557: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
056476,000558: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
056477,000559: # IS ENTERED AT INTEGRV1 BY CSMPREC ET.AL. AND AT ALOADED BY INTEGRVS.
056478,000560: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
056479,000561: # PROGRAM FOR PRECISION OR CONIC
056480,000562:
056481,000563: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
056482,000564: # SETTING ANY FLAGS.
056483,000565: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
056484,000566: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
056485,000567: # INTYPFLG
056486,000568: # DIM0FLAG
056487,000569: # D6OR9FLG
056488,000570:
056489,000571: # CALLING SEQUENCE
056490,000572: # L-X CALL
056491,000573: # L-Y INTSTALL
056492,000574: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
056493,000575: # AND DIM0FLAG IS CLEAR.
056494,000576: # L CALL
056495,000577: # L+1 INTEGRV
056496,000578:
056497,000579: # INITIALIZATION
056498,000580: # FLAGS AS ABOVE
056499,000581: # STORE TIME TO INTEGRATE TO IN TDEC1
056500,000582:
|
Page 1320 |
056502,000584: # OUTPUT
056503,000585: # RATT AS
056504,000586: # VATT DEFINED
056505,000587: # TAT BEFORE
056506,000588:
056507,000589:
056508,000590: 13,3236 77620 INTEGRV STQ
056509,000591: 13,3237 02213 IRETURN
056510,000592: 13,3240 43014 INTEGRV1 SET SET
056511,000593: 13,3241 04060 RPQFLAG
056512,000594: 13,3242 04062 NEWIFLG
056513,000595: 13,3243 77731 INTEGRV2 SSP
056514,000596: 13,3244 00053 QPRET
056515,000597: 13,3245 22320 ALOADED
056516,000598: 13,3246 52014 BON GOTO
056517,000599: 13,3247 01714 VINTFLAG
056518,000600: 13,3250 27005 PTOACSM
056519,000601: 13,3251 27060 PTOALEM
056520,000602: 11,2000 SETLOC INTINIT1
056521,000603: 11,2000 BANK
056522,000604: 11,2320 COUNT* $$/INTIN
056523,000605: 11,2320 77745 ALOADED DLOAD
056524,000606: 11,2321 00041 TDEC1
056525,000607: 11,2322 00745 STORE TDEC
056526,000608: 11,2323 52014 BOFF GOTO
056527,000609: 11,2324 01753 INTYPFLG
056528,000610: 11,2325 27364 TESTLOOP
056529,000611: 11,2326 27350 RVCON
056530,000612: 13,2000 SETLOC INTINIT
056531,000613: 13,2000 BANK
056532,000614: 13,3252 COUNT* $$/INTIN
056533,000615: 13,3252 45014 A-PCHK BOF CALL
056534,000616: 13,3253 00342 MIDFLAG
056535,000617: 13,3254 27263 ANDOUT # DONT MAKE ORIGIN CHANGE CHECK
056536,000618: 13,3255 23317 CHKSWTCH
056537,000619: 13,3256 45044 BPL CALL
056538,000620: 13,3257 27263 ANDOUT # NO ORIGIN CHANGE
056539,000621: 13,3260 23360 ORIGCHNG # MAKE THE SWITCH
056540,000622: 13,3261 77754 LXA,2 # SET X2 FOR MOON OR EARTH SCALING
056541,000623: 13,3262 02150 PBODY
056542,000624: 13,3263 77414 ANDOUT BOFCLR EXIT
056543,000625: 13,3264 01652 STATEFLG
056544,000626: 13,3265 27304 RECTOUT
056545,000627: 13,3266 05402 TC PHASCHNG
056546,000628: 13,3267 04022 OCT 04022
056547,000629: 13,3270 05547 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
056548,000630: 13,3271 00230 ADRES REINTFLG # INTSTALL AND INTWAKE
056549,000631: 13,3272 06006 TC INTPRET
056550,000632: 13,3273 77731 SSP
056551,000633: 13,3274 00053 QPRET
|
Page 1321 |
056553,000635: 13,3275 27302 PHEXIT
056554,000636: 13,3276 52014 BON GOTO
056555,000637: 13,3277 01714 VINTFLAG
056556,000638: 13,3300 26761 ATOPCSM
056557,000639: 13,3301 27034 ATOPLEM
056558,000640: 13,3302 77624 PHEXIT CALL
056559,000641: 13,3303 22327 GRP2PC
056560,000642: 13,3304 45001 RECTOUT SETPD CALL
056561,000643: 13,3305 00001 0
056562,000644: 13,3306 23420 RECTIFY
056563,000645: 13,3307 53775 VLOAD VSL*
056564,000646: 13,3310 01503 RRECT
056565,000647: 13,3311 57576 0,2
056566,000648: 13,3312 53715 PDVL VSL* # RATT TO PD0
056567,000649: 13,3313 01511 VRECT
056568,000650: 13,3314 57576 0,2
056569,000651: 13,3315 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
056570,000652: 13,3316 01517 TET
056571,000653: 13,3317 01503 RRECT
056572,000654: 13,3320 64715 PDVL PDDL*
056573,000655: 13,3321 01511 VRECT
056574,000656: 13,3322 50037 MUEARTH,2
056575,000657: 13,3323 76006 PUSH AXT,1
056576,000658: 13,3324 77765 DEC -10 B-14
056577,000659: 13,3325 76014 BON AXT,1
056578,000660: 13,3326 00303 MOONFLAG
056579,000661: 13,3327 27331 +2
056580,000662: 13,3330 77775 DEC -2 B-14
056581,000663: 13,3331 40001 INTEXIT SETPD BOV
056582,000664: 13,3332 00001 0
056583,000665: 13,3333 27334 +1
056584,000666: 13,3334 43014 CLEAR CLEAR
056585,000667: 13,3335 04675 MIDAVFLG
056586,000668: 13,3336 01672 STATEFLG
056587,000669: 13,3337 43014 CLEAR CLEAR
056588,000670: 13,3340 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
056589,000671: 13,3341 01667 PRECIFLG
056590,000672: 13,3342 77535 SLOAD EXIT
056591,000673: 13,3343 02214 IRETURN
056592,000674: 13,3344 30154 CA MPAC
056593,000675: 13,3345 50120 INDEX FIXLOC
056594,000676: 13,3346 54052 TS QPRET
056595,000677: 13,3347 03527 TC INTWAKE
056596,000678:
056597,000679: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
056598,000680: # VELOCITY FOR THE INTERVAL (TET-TDEC)
056599,000681:
056600,000682: 13,3350 45345 RVCON DLOAD DSU
056601,000683: 13,3351 00745 TDEC
056602,000684: 13,3352 01517 TET
056603,000685: 13,3353 36303 STCALL TAU.
|
Page 1322 |
056605,000687: 13,3354 23420 RECTIFY
056606,000688: 13,3355 77624 CALL
056607,000689: 13,3356 22336 KEPPREP
056608,000690: 13,3357 43345 DLOAD DAD
056609,000691: 13,3360 01551 TC
056610,000692: 13,3361 01517 TET
056611,000693: 13,3362 35517 STCALL TET
056612,000694: 13,3363 27304 RECTOUT
056613,000695:
|
Page 1323 |
056615,000697: 13,3364 43014 TESTLOOP BOF CLRGO
056616,000698: 13,3365 04752 QUITFLAG
056617,000699: 13,3366 27371 +3
056618,000700: 13,3367 01632 STATEFLG
056619,000701: 13,3370 27331 INTEXIT # STOP INTEGRATION
056620,000702: 13,3371 73001 +3 SETPD LXA,2
056621,000703: 13,3372 00013 10D
056622,000704: 13,3373 02150 PBODY
056623,000705: 13,3374 51575 VLOAD ABVAL
056624,000706: 13,3375 01535 RCV
056625,000707: 13,3376 43006 PUSH CLEAR # RC TO 10D
056626,000708: 13,3377 00262 MIDFLAG
056627,000709: 13,3400 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
056628,000710: 13,3401 66600 RME,2
056629,000711: 13,3402 27405 +3
056630,000712: 13,3403 77614 SET
056631,000713: 13,3404 00062 MIDFLAG
056632,000714: 13,3405 41345 NORFINAL DLOAD DMP
056633,000715: 13,3406 00013 10D
056634,000716: 13,3407 00043 34D
056635,000717: 13,3410 55762 SR1R DDV*
056636,000718: 13,3411 50037 MUEARTH,2
056637,000719: 13,3412 41366 SQRT DMP
056638,000720: 13,3413 23751 .3D
056639,000721: 13,3414 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
056640,000722: 13,3415 54345 DLOAD SL
056641,000723: 13,3416 00155 MPAC
056642,000724: 13,3417 20220 15D # OF 128 CSECS.
056643,000725: 13,3420 40006 PUSH BOV
056644,000726: 13,3421 27446 MAXDT
056645,000727: 13,3422 50021 BDSU BMN
056646,000728: 13,3423 27515 DT/2MAX
056647,000729: 13,3424 27446 MAXDT
056648,000730: 13,3425 45345 DT/2COMP DLOAD DSU
056649,000731: 13,3426 00745 TDEC
056650,000732: 13,3427 01517 TET
056651,000733: 13,3430 54234 RTB SL
056652,000734: 13,3431 45636 SGNAGREE
056653,000735: 13,3432 20211 8D
056654,000736: 13,3433 02305 STORE DT/2 # B-19
056655,000737: 13,3434 51400 BOV ABS
056656,000738: 13,3435 27452 GETMAXDT
056657,000739: 13,3436 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
056658,000740: 13,3437 00015 12D
056659,000741: 13,3440 27456 P00HCHK
056660,000742: 13,3441 75345 USEMAXDT DLOAD SIGN
056661,000743: 13,3442 00015 12D
056662,000744: 13,3443 02305 DT/2
|
Page 1324 |
056664,000746: 13,3444 36305 STCALL DT/2
056665,000747: 13,3445 27456 P00HCHK
056666,000748: 13,3446 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
056667,000749: 13,3447 27515 DT/2MAX
056668,000750: 13,3450 77650 GOTO
056669,000751: 13,3451 27425 DT/2COMP
056670,000752: 13,3452 77634 GETMAXDT RTB
056671,000753: 13,3453 45761 SIGNMPAC
056672,000754: 13,3454 36305 STCALL DT/2
056673,000755: 13,3455 27441 USEMAXDT
056674,000756: 13,3456 51545 P00HCHK DLOAD ABS
056675,000757: 13,3457 02305 DT/2
056676,000758: 13,3460 50025 DSU BMN
056677,000759: 13,3461 27513 DT/2MIN
056678,000760: 13,3462 27252 A-PCHK
056679,000761: 13,3463 43014 BOFF BON
056680,000762: 13,3464 01746 POOFLAG # IS BACKWARDS INTEGRATION INHIBITED
056681,000763: 13,3465 23237 TIMESTEP # NO
056682,000764: 13,3466 01707 PRECIFLG # WAS THIS CALL VIA CSM(LEM)PREC
056683,000765: 13,3467 23237 TIMESTEP # YES
056684,000766: 13,3470 45345 DLOAD DSU
056685,000767: 13,3471 02305 DT/2
056686,000768: 13,3472 00015 12D
056687,000769: 13,3473 43040 BMN BOFCLR
056688,000770: 13,3474 27252 A-PCHK
056689,000771: 13,3475 04242 NEWIFLG
056690,000772: 13,3476 23237 TIMESTEP
056691,000773: 13,3477 45345 DLOAD DSU
056692,000774: 13,3500 00745 TDEC
056693,000775: 13,3501 01517 TET
056694,000776: 13,3502 77640 BMN # NO BACKWARD INTEGRATION
056695,000777: 13,3503 27331 INTEXIT
056696,000778: 13,3504 40525 PDDL SR4
056697,000779: 13,3505 02305 DT/2 # IS 4(DT) LS (TDEC - TET)
056698,000780: 13,3506 44322 SR2R BDSU # NO
056699,000781: 13,3507 52040 BMN GOTO
056700,000782: 13,3510 27331 INTEXIT
056701,000783: 13,3511 23237 TIMESTEP
056702,000784: 13,3512 00000 01400 DT/2MIN 2DEC 3 B-20
056703,000785: 13,3514 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
056704,000786: 13,3516 77776 INTSTALL EXIT
056705,000787: 13,3517 30106 +1 CA FLGWRD10
056706,000788: 13,3520 74346 MASK PRIO30
056707,000789: 13,3521 00006 EXTEND
056708,000790: 13,3522 13561 BZF OKTOGRAB # YES
056709,000791: 13,3523 33565 CAF WAKESTAL
056710,000792: 13,3524 05163 TC JOBSLEEP
056711,000793: 13,3525 77776 INTWAKE0 EXIT
|
Page 1325 |
056713,000795: 13,3526 13547 TCF INTWAKE1
056714,000796:
056715,000797: 13,3527 40106 INTWAKE CS FLGWRD10 # IS THIS INTSTALLED ROUTINE TO BE
056716,000798: 13,3530 74754 MASK REINTBIT # RESTARTED
056717,000799: 13,3531 10000 CCS A
056718,000800: 13,3532 03547 TC INTWAKE1 # NO
056719,000801:
056720,000802: 13,3533 50120 INDEX FIXLOC
056721,000803: 13,3534 30052 CA QPRET
056722,000804: 13,3535 55261 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
056723,000805:
056724,000806: 13,3536 05402 TC PHASCHNG
056725,000807: 13,3537 04022 OCT 04022
056726,000808:
056727,000809: 13,3540 31261 CA TBASE2
056728,000810: 13,3541 50120 INDEX FIXLOC
056729,000811: 13,3542 54052 TS QPRET
056730,000812:
056731,000813: 13,3543 34754 CAF REINTBIT
056732,000814: 13,3544 70106 MASK FLGWRD10
056733,000815: 13,3545 00006 EXTEND
056734,000816: 13,3546 13563 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
056735,000817:
056736,000818: 13,3547 33565 INTWAKE1 CAF WAKESTAL
056737,000819: 13,3550 05167 TC JOBWAKE
056738,000820: 13,3551 10064 CCS LOCCTR
056739,000821: 13,3552 13547 TCF INTWAKE1
056740,000822: 13,3553 00051 FORTYONE DEC 41 B-14
056741,000823: 13,3554 44346 CS PRIO30
056742,000824: 13,3555 70106 MASK FLGWRD10
056743,000825: 13,3556 54106 TS FLGWRD10 # RELEASE STALL AREA
056744,000826: 13,3557 00003 RELINT
056745,000827: 13,3560 13563 TCF GOBAC
056746,000828: 13,3561 34753 OKTOGRAB CAF INTFLBIT
056747,000829: 13,3562 26106 ADS FLGWRD10
056748,000830: 13,3563 06006 GOBAC TC INTPRET
056749,000831: 13,3564 77616 RVQ
056750,000832: 13,3565 27517 WAKESTAL CADR INTSTALL +1
|
Page 1326 |
056752,000834: # AVETOMID
056753,000835:
056754,000836: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
056755,000837: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
056756,000838: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
056757,000839:
056758,000840: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (ORWFLAG OR RENDWFLG IS
056759,000841: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
056760,000842:
056761,000843: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
056762,000844:
056763,000845: # FINALLY TRKMKCNT IS ZEROED
056764,000846:
056765,000847: 35,2000 SETLOC INTINIT2
056766,000848: 35,2000 BANK
056767,000849:
056768,000850: 35,3677 COUNT* $$/INTIN
056769,000851: 35,3677 43020 AVETOMID STQ BON
056770,000852: 35,3700 02310 EGRESS
056771,000853: 35,3701 02716 RENDWFLG
056772,000854: 35,3702 73753 INT/W # W-MATRIX VALID, GO INTEGRATE IT
056773,000855: 35,3703 77614 BON
056774,000856: 35,3704 01711 ORBWFLAG
056775,000857: 35,3705 73753 INT/W # W-MATRIX VALID, GO INTEGRATE IT
056776,000858:
056777,000859: 35,3706 45174 SETCOAST AXT,2 CALL # NOW MOVE PROPERLY SCALED RN,VN AND
056778,000860: 35,3707 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
056779,000861: 35,3710 27516 INTSTALL
056780,000862: 35,3711 77014 BON AXT,2
056781,000863: 35,3712 00315 AMOONFLG
056782,000864: 35,3713 73715 +2
056783,000865: 35,3714 00000 0
056784,000866: 35,3715 53775 VLOAD VSR*
056785,000867: 35,3716 01030 RN
056786,000868: 35,3717 57176 0,2
056787,000869: 35,3720 01503 STORE RRECT
056788,000870: 35,3721 15535 STODL RCV
056789,000871: 35,3722 01044 PIPTIME
056790,000872: 35,3723 25517 STOVL TET
056791,000873: 35,3724 01036 VN
056792,000874: 35,3725 45057 VSR* CALL
056793,000875: 35,3726 57176 0,2
056794,000876: 35,3727 23434 MINIRECT # FINISH SETTING UP STATE VECTOR
056795,000877: 35,3730 77634 RTB
056796,000878: 35,3731 26774 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
056797,000879: 35,3732 43014 SET BON
056798,000880: 35,3733 04063 CMOONFLG
056799,000881: 35,3734 00315 AMOONFLG
056800,000882: 35,3735 73740 +3
|
Page 1327 |
056802,000884: 35,3736 77614 CLEAR
056803,000885: 35,3737 04263 CMOONFLG
056804,000886:
056805,000887: 35,3740 71214 BON DLOAD # NOW DO LM
056806,000888: 35,3741 04307 SURFFLAG
056807,000889: 35,3742 75735 FAZAB5 # NO COASTING LM
056808,000890: 35,3743 01044 PIPTIME
056809,000891: 35,3744 34041 STCALL TDEC1
056810,000892: 35,3745 26744 SETIFLGS
056811,000893: 35,3746 45014 CLEAR CALL
056812,000894: 35,3747 01674 VINTFLAG
056813,000895: 35,3750 27236 INTEGRV
056814,000896: 35,3751 77650 GOTO
056815,000897: 35,3752 02310 EGRESS
056816,000898: 35,3753 45145 INT/W DLOAD CALL
056817,000899: 35,3754 01044 PIPTIME # INTEGRATE W THRU BURN
056818,000900: 35,3755 27516 INTSTALL
056819,000901: 35,3756 43014 SET SET
056820,000902: 35,3757 01476 DIM0FLAG # DO W-MATRIX
056821,000903: 35,3760 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
056822,000904: 35,3761 43014 CLEAR SET
056823,000905: 35,3762 01675 D6OR9FLG
056824,000906: 35,3763 01474 VINTFLAG
056825,000907: 35,3764 34041 STCALL TDEC1
056826,000908: 35,3765 27236 INTEGRV
056827,000909: 35,3766 77650 GOTO
056828,000910: 35,3767 73706 SETCOAST
056829,000911:
|
Page 1328 |
056831,000913: # MIDTOAV1
056832,000914:
056833,000915: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
056834,000916: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
056835,000917: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
056836,000918: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
056837,000919: # IS DONE AS IT IS FOR MIDTOAV2.
056838,000920: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
056839,000921:
056840,000922: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
056841,000923: # TO THE RETURN ADDRESS
056842,000924:
056843,000925: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
056844,000926: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
056845,000927: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
056846,000928: # TAT MINUS CURRENT TIME.
056847,000929:
056848,000930:
056849,000931: # MIDTOAV2
056850,000932:
056851,000933: # THIS ROUTINE INTEGRATES THE CSM STATE VECTOR TO CURRENT TIME PLUS
056852,000934: # INCREMENTS OF TIMEDELT SUCH THAT THE DIFFERENCE BETWEEN CURRENT TIME
056853,000935: # AND THE STATE VECTOR TIME AT THE END OF THE LAST STEP IS AT LEAST 5.6
056854,000936: # SECS.
056855,000937: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
056856,000938: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
056857,000939:
056858,000940: 13,2000 SETLOC INTINIT
056859,000941: 13,2000 BANK
056860,000942: 13,3566 COUNT* $$/R41
056861,000943: 13,3566 0773 EBANK= IRETURN1
056862,000944: 13,3566 45020 MIDTOAV2 STQ CALL
056863,000945: 13,3567 00773 IRETURN1
056864,000946: 13,3570 27516 INTSTALL
056865,000947: 13,3571 43145 DLOAD CLEAR
056866,000948: 13,3572 13771 TIMEDELT
056867,000949: 13,3573 04674 MID1FLAG
056868,000950: 13,3574 37466 STCALL T-TO-ADD
056869,000951: 13,3575 27612 ENTMID2
056870,000952:
056871,000953: 13,3576 45020 MIDTOAV1 STQ CALL
056872,000954: 13,3577 00773 IRETURN1
056873,000955: 13,3600 27516 INTSTALL
056874,000956: 13,3601 47014 SET RTB
056875,000957: 13,3602 04474 MID1FLAG
056876,000958: 13,3603 51751 LOADTIME
056877,000959: 13,3604 44215 DAD BDSU # INITIAL CHECK, IS TDEC1 IN THE FUTURE.
056878,000960: 13,3605 13771 TIMEDELT
056879,000961: 13,3606 00041 TDEC1
056880,000962: 13,3607 45044 BPL CALL
|
Page 1329 |
056882,000964: 13,3610 27616 ENTMID1
056883,000965: 13,3611 13756 NOTIME # NO SET ALARM.SWITCH TO MIDTOAV2
056884,000966:
056885,000967: 13,3612 43234 ENTMID2 RTB DAD
056886,000968: 13,3613 51751 LOADTIME
056887,000969: 13,3614 03466 T-TO-ADD
056888,000970: 13,3615 00041 STORE TDEC1
056889,000971:
056890,000972: 13,3616 45014 ENTMID1 CLEAR CALL
056891,000973: 13,3617 01676 DIM0FLAG # NO W-MATRIX
056892,000974: 13,3620 26034 THISVINT
056893,000975: 13,3621 43014 CLEAR SET
056894,000976: 13,3622 01673 INTYPFLG
056895,000977: 13,3623 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
056896,000978: 13,3624 77624 CALL
056897,000979: 13,3625 27236 INTEGRV # GO INTEGRATE
056898,000980: 13,3626 66134 SXA,2 SXA,1
056899,000981: 13,3627 03746 RTX2
056900,000982: 13,3630 03745 RTX1
056901,000983: 13,3631 67214 CLEAR SLOAD
056902,000984: 13,3632 00275 AMOONFLG
056903,000985: 13,3633 03747 RTX2
056904,000986: 13,3634 43054 BZE SET
056905,000987: 13,3635 27637 +2
056906,000988: 13,3636 00075 AMOONFLG
056907,000989: 13,3637 77775 VLOAD
056908,000990: 13,3640 00001 RATT
056909,000991: 13,3641 25071 STOVL RN1
056910,000992: 13,3642 00007 VATT
056911,000993: 13,3643 15077 STODL VN1
056912,000994: 13,3644 00015 TAT
056913,000995: 13,3645 01105 STORE PIPTIME1
056914,000996: 13,3646 77776 EXIT
056915,000997:
056916,000998: 13,3647 00004 INHINT
056917,000999: 13,3650 00006 EXTEND
056918,001000: 13,3651 40025 DCS TIME2
056919,001001: 13,3652 20155 DAS MPAC
056920,001002: 13,3653 07226 TC TPAGREE
056921,001003:
056922,001004: 13,3654 30773 CA IRETURN1
056923,001005: 13,3655 04660 TC BANKJUMP
056924,001006: 13,3656 47014 CKMID2 BOF RTB
056925,001007: 13,3657 04754 MID1FLAG
056926,001008: 13,3660 27675 MID2
056927,001009: 13,3661 51751 LOADTIME
056928,001010: 13,3662 44215 DAD BDSU
056929,001011: 13,3663 13771 TIMEDELT
056930,001012: 13,3664 00745 TDEC
056931,001013: 13,3665 45044 BPL CALL
|
Page 1330 |
056933,001015: 13,3666 27364 TESTLOOP # YES
056934,001016: 13,3667 13756 NOTIME
056935,001017:
056936,001018: 13,3670 43234 TIMEINC RTB DAD
056937,001019: 13,3671 51751 LOADTIME
056938,001020: 13,3672 03466 T-TO-ADD
056939,001021: 13,3673 34745 STCALL TDEC
056940,001022: 13,3674 27364 TESTLOOP
056941,001023:
056942,001024: 13,3675 45345 MID2 DLOAD DSU
056943,001025: 13,3676 00745 TDEC
056944,001026: 13,3677 01517 TET
056945,001027: 13,3700 45246 ABS DSU
056946,001028: 13,3701 13755 3CSECS
056947,001029: 13,3702 77644 BPL
056948,001030: 13,3703 27670 TIMEINC
056949,001031:
056950,001032: 13,3704 44234 RTB BDSU # SEE IF 5.6 SECS. AVAILABLE TO CALLER.
056951,001033: 13,3705 51751 LOADTIME
056952,001034: 13,3706 01517 TET
056953,001035: 13,3707 51025 DSU BPL
056954,001036: 13,3710 13773 5.6SECS
056955,001037: 13,3711 27252 A-PCHK # YES,GET OUT.
056956,001038:
056957,001039: 13,3712 43345 DLOAD DAD # NO, ADD TIMEDELT TO T-TO-ADD AND TRY
056958,001040: 13,3713 03466 T-TO-ADD # AGAIN.
056959,001041: 13,3714 13771 TIMEDELT
056960,001042: 13,3715 37466 STCALL T-TO-ADD
056961,001043: 13,3716 27670 TIMEINC
056962,001044:
056963,001045:
056964,001046: 05,2000 SETLOC INTINIT3
056965,001047: 05,2000 BANK
056966,001048:
056967,001049: 05,3754 COUNT* $$/R41
056968,001050: 05,3754 00000 00003 3CSECS 2DEC 3 B-28
056969,001051:
056970,001052: 05,3756 77414 NOTIME CLEAR EXIT # TOO LATE
056971,001053: 05,3757 04674 MID1FLAG
056972,001054: 05,3760 24773 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
056973,001055: 05,3761 05671 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
056974,001056: 05,3762 01703 OCT 1703 # TIG WILL BE SLIPPED...
056975,001057: 05,3763 06006 TC INTPRET
056976,001058: 05,3764 77745 DLOAD
056977,001059: 05,3765 13771 TIMEDELT
056978,001060: 05,3766 03466 STORE T-TO-ADD
056979,001061: 05,3767 77616 RVQ
056980,001062:
056981,001063: 05,3770 00000 02342 TIMEDELT 2DEC 1250 B-28
|
Page 1331 |
056983,001065: 05,3772 00000 01060 5.6SECS 2DEC 560 B-28
056984,001066: 27,2000 SETLOC UPDATE2
056985,001067: 27,2000 BANK
056986,001068: 27,3072 COUNT* $$/INTIN
056987,001069:
056988,001070: 27,3072 E3,1706 EBANK= TEPHEM
056989,001071: 27,3072 06006 INTWAKEU TC INTPRET
056990,001072:
056991,001073: 27,3073 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
056992,001074: 27,3074 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
056993,001075: 27,3075 57141 INTWAKUP
056994,001076:
056995,001077: 27,3076 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
056996,001078: 27,3077 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
056997,001079: 27,3100 25535 STOVL RCV
056998,001080: 27,3101 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
056999,001081: 27,3102 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
057000,001082: 27,3103 23435 TINIRECT # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
057001,001083: 27,3104 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
057002,001084: 27,3105 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
057003,001085: 27,3106 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
057004,001086: 27,3107 17150 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
057005,001087: 27,3110 57115 INTWAKEM # SPHERE OF INFLUENCE.........
057006,001088: 27,3111 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
057007,001089: 27,3112 00000 DEC 0 B-14
057008,001090: 27,3113 00223 MOONFLAG
057009,001091: 27,3114 57120 INTWAKEC
057010,001092: 27,3115 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
057011,001093: 27,3116 00002 DEC 2 B-14
057012,001094: 27,3117 00063 MOONFLAG
057013,001095: 27,3120 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
057014,001096: # MOONFLAG SET (OR CLEARED).
057015,001097: 27,3121 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
057016,001098: 27,3122 57130 INTWAKLM # STATE VECTOR UPDATE......
057017,001099: 27,3123 77624 CALL # UPDATE CSM STATE VECTOR
057018,001100: 27,3124 26761 ATOPCSM
057019,001101:
057020,001102: 27,3125 52014 CLEAR GOTO
057021,001103: 27,3126 01671 ORBWFLAG
057022,001104: 27,3127 57132 INTWAKEX
057023,001105:
057024,001106: 27,3130 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
057025,001107: 27,3131 27034 ATOPLEM
057026,001108:
057027,001109: 27,3132 77414 INTWAKEX CLEAR EXIT
057028,001110: 27,3133 02676 RENDWFLG
057029,001111:
057030,001112: 27,3134 34772 CAF ZERO
057031,001113: 27,3135 00006 EXTEND
|
Page 1332 |
057033,001115:
057034,001116: 27,3136 01077 WRITE CHAN77 # ZERO CHANNEL 77
057035,001117: 27,3137 55501 TS UPSVFLAG
057036,001118:
057037,001119: 27,3140 06006 TC INTPRET
057038,001120: 27,3141 77624 INTWAKUP CALL
057039,001121: 27,3142 27525 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
057040,001122: 27,3143 77776 EXIT
057041,001123:
057042,001124: 27,3144 05402 TC PHASCHNG
057043,001125: 27,3145 04026 OCT 04026
057044,001126: 27,3146 03706 TC UPOUT +1
057045,001127:
057046,001128: 27,3147 00002 UPMNSVCD OCT 2
057047,001129: 27,3150 00000 OCT 0
057048,001130:
057049,001131: 11,2000 SETLOC ORBITAL
057050,001132: 11,2000 BANK
057051,001133:
057052,001134: 11,2327 COUNT* $$/ORBIT
057053,001135: 11,2327 77420 GRP2PC STQ EXIT
057054,001136: 11,2330 03536 GRP2SVQ
057055,001137: 11,2331 05402 TC PHASCHNG
057056,001138: 11,2332 04022 OCT 04022
057057,001139: 11,2333 06006 TC INTPRET
057058,001140: 11,2334 77650 GOTO
057059,001141: 11,2335 03536 GRP2SVQ
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc