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