Source Code
![]() |
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the
second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
052360,000002: ## Copyright: Public domain.
052361,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
052362,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
052363,000005: ## otherwise known as Luminary Rev 99, the second release
052364,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
052365,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
052366,000008: ## placement of a single label. The corrections shown here have
052367,000009: ## been verified to have the same bank checksums as AGC developer
052368,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
052369,000011: ## to be accurate. This file is intended to be a faithful
052370,000012: ## recreation, except that the code format has been changed to
052371,000013: ## conform to the requirements of the yaYUL assembler rather than
052372,000014: ## the original YUL assembler.
052373,000015: ##
052374,000016: ## Assembler: yaYUL
052375,000017: ## Contact: Ron Burkey <info@sandroid.org>.
052376,000018: ## Website: www.ibiblio.org/apollo.
052377,000019: ## Pages: 1205-1226
052378,000020: ## Mod history: 2009-05-26 RSB Adapted from the corresponding
052379,000021: ## Luminary131 file, using page
052380,000022: ## images from Luminary 1A.
052381,000023: ## 2011-01-06 JL Fixed pseudo-label indentation.
052382,000024: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
052383,000025: ## and corrected the errors found.
052384,000026: ## 2017-01-22 MAS Fixed some lingering comment errors.
052385,000027: ## 2017-03-13 RSB Comment-text fixes noted in proofing Luminary 116.
052386,000028: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
052387,000029: ## side-by-side diff of Luminary 69/99/116/131/210.
052388,000030: ## 2017-08-01 MAS Created from LMY99 Rev 1.
052389,000031:
052390,000032: ## This source code has been transcribed or otherwise adapted from
052391,000033: ## digitized images of a hardcopy from the MIT Museum. The digitization
052392,000034: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
052393,000035: ## the Museum. Many thanks to both. The images (with suitable reduction
052394,000036: ## in storage size and consequent reduction in image quality as well) are
052395,000037: ## available online at www.ibiblio.org/apollo. If for some reason you
052396,000038: ## find that the images are illegible, contact me at info@sandroid.org
052397,000039: ## about getting access to the (much) higher-quality images which Paul
052398,000040: ## actually created.
052399,000041: ##
052400,000042: ## The code has been modified to match LMY99 Revision 0, otherwise
052401,000043: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
052402,000044: ## the listing from which it was transcribed. It has been verified to
052403,000045: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
052404,000046: ## of Luminary Revision 99 (for which we do not have scans).
052405,000047: ##
052406,000048: ## Notations on Allan Klumpp's listing read, in part:
052407,000049: ##
052408,000050: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
052409,000051:
![]() |
Page 1205 |
052411,000053: # 1.0 INTRODUCTION
052412,000054: # ----------------
052413,000055:
052414,000056: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
052415,000057: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
052416,000058: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
052417,000059: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
052418,000060: # SIDE THE LUNAR SPHERE OF INFLUENCE.
052419,000061:
052420,000062: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
052421,000063: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
052422,000064: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
052423,000065: # CALL TC INTSTALL.
052424,000066:
052425,000067: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
052426,000068: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
052427,000069: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
052428,000070: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
052429,000071: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
052430,000072:
052431,000073: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
052432,000074: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
052433,000075: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
052434,000076: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
052435,000077:
052436,000078: # 2.0 GENERAL DESCRIPTION
052437,000079: # -----------------------
052438,000080:
052439,000081: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS ---
052440,000082: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
052441,000083: # 2) INTEGRATES THE W-MATRIX
052442,000084: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
052443,000085:
052444,000086: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
052445,000087: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
052446,000088: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
052447,000089: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
052448,000090: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
052449,000091: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
052450,000092: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
052451,000093: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
052452,000094: # AND/OR STATE VECTOR.
052453,000095:
052454,000096: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
052455,000097: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
052456,000098: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
052457,000099:
052458,000100: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
052459,000101: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
052460,000102: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
052461,000103:
![]() |
Page 1206 |
052463,000105: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
052464,000106:
052465,000107: # 2.1 RESTARTS
052466,000108:
052467,000109: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
052468,000110: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
052469,000111: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
052470,000112: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
052471,000113: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
052472,000114: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
052473,000115: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
052474,000116:
052475,000117: # 2.2 SCALING
052476,000118:
052477,000119: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
052478,000120: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
052479,000121: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
052480,000122: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
052481,000123: # DIFFERENT SCALING.
052482,000124: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
052483,000125:
052484,000126: # 3.0 INPUT/OUTPUT
052485,000127: # ----------------
052486,000128:
052487,000129: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
052488,000130: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
052489,000131: # FOR INTEGRVS, THE RCV,VCV,TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
052490,000132:
052491,000133: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
052492,000134: # EARTH MOON
052493,000135: # 29 27
052494,000136: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
052495,000137:
052496,000138: # 7 5
052497,000139: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
052498,000140:
052499,000141: # 28 28
052500,000142: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
052501,000143: # CUSTOMARILY 0, BUT NOTE LUNAR
052502,000144: # ORBIT DEPENDENCE ON REAL TIME.
052503,000145:
052504,000146: # 22 18
052505,000147: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
052506,000148: # 0 IF TCCSM(LEM) = 0
052507,000149:
052508,000150: # 3 -1
052509,000151: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
052510,000152: # 0 IF TCCSM(LEM) = 0
![]() |
Page 1207 |
052512,000154: # 29 27
052513,000155: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
052514,000156: # EQUALS RRECTCSM(LEM) IF
052515,000157: # TCCSM(LEM) = 0
052516,000158:
052517,000159: # 7 5
052518,000160: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
052519,000161: # EQUALS VRECTCSM(LEM) IF
052520,000162: # TCCSM(LEM) = 0
052521,000163:
052522,000164: # 28 28
052523,000165: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
052524,000166: # CUSTOMARILY 0
052525,000167:
052526,000168: # 1/2 17 16
052527,000169: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
052528,000170: # 0 IF TCCSM(LEM) = 0
052529,000171:
052530,000172: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
052531,000173: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
052532,000174: # LMOONFLG C = CSM, L = LM 0 0
052533,000175: # LMIDFLG 0,1 0,1
052534,000176:
052535,000177: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
052536,000178:
052537,000179: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
052538,000180: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
052539,000181: # ROUTINE MUST BE PRESET.
052540,000182:
052541,000183: # OUTPUT
052542,000184: # AFTER EVERY CALL TO INTEGRATION
052543,000185: # EARTH MOON
052544,000186: # 29 29
052545,000187: # 0D RATT POSITION METERS 2 2
052546,000188:
052547,000189: # 7 7
052548,000190: # 6D VATT VELOCITY M/CSEC 2 2
052549,000191:
052550,000192: # 28 28
052551,000193: # 12D TAT TIME 2 2
052552,000194:
052553,000195: # 29 27
052554,000196: # 14D RATT1 POSITION METERS 2 2
052555,000197:
052556,000198: # 7 5
052557,000199: # 20D VATT1 VELOCITY M/CSEC 2 2
052558,000200:
052559,000201: # 3 2 36 30
052560,000202: # 26D MU(P) MU M /CS 2 2
052561,000203:
052562,000204: # X1 MUTABLE ENTRY -2 -10D
052563,000205:
052564,000206: # X2 COORDINT
052565,000207: # X2 COORDINATE SYSTEM ORIGEN 0 2
052566,000208: # (THIS, NOT MOONFLAG, SHOULD BE
![]() |
Page 1208 |
052568,000210: # USED TO DETERMINE ORIGIN.)
052569,000211:
052570,000212: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
052571,000213: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
052572,000214: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
052573,000215: # CALLING PROGRAM.
052574,000216:
052575,000217: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
052576,000218: # -------------------------------------
052577,000219:
052578,000220: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
052579,000221: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
052580,000222: # L CALL
052581,000223: # L+1 CSMPREC (OR LEMPREC)
052582,000224: # L+2 RETURN
052583,000225: # INPUT 28
052584,000226: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
052585,000227: # OUTPUT
052586,000228: # THE DATA LISTED IN SECTION 3.0 PLUS
052587,000229: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
052588,000230: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
052589,000231: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
052590,000232: # L-X STORE TIME IN PUSH LIST (TDEC1)
052591,000233: # L CALL
052592,000234: # L+1 CSMCONIC (OR LEMCONIC)
052593,000235: # INPUT/OUTPUT
052594,000236: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
052595,000237: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
052596,000238: # CALL
052597,000239: # INTSTALL
052598,000240: # VLOAD
052599,000241: # POSITION VECTOR
052600,000242: # STOVL RCV
052601,000243: # VELOCITY VECTOR
052602,000244: # STODL VCV
052603,000245: # TIME STATE VECTOR VALID
052604,000246: # STODL TET
052605,000247: # FINAL RADIUS
052606,000248: # STORE RFINAL
052607,000249: # SET(CLEAR) SET(CLEAR)
052608,000250: # INTYPFLAG
052609,000251: # MOONFLAG
052610,000252: # SET(CLEAR) DLOAD
052611,000253: # DESIRED TIME
052612,000254: # STCALL TDEC1
052613,000255: # INTEGRVS
052614,000256: # INPUT
052615,000257: # RCV POSITION VECTOR METERS
052616,000258: # VCV VELOCITY VECTOR M/CSEC
052617,000259: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
![]() |
Page 1209 |
052619,000261: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
052620,000262: # (MAY BE INCREMENT IF TET=0)
052621,000263: # OUTPUT
052622,000264: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
052623,000265: # DEPENDING ON INTYPFLG.
052624,000266: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
052625,000267: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
052626,000268: # L-8 CALL
052627,000269: # L-7
052628,000270: # L-6 SET(CLEAR) SET(CLEAR)
052629,000271: # L-5 VINTFLAG 1=CSM, 0=LM
052630,000272: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
052631,000273: # L-3 SET(CLEAR) SET(CLEAR)
052632,000274: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
052633,000275: # L-1 D6OR9FLG 1=9X9, 0=6X6
052634,000276: # L SET DLOAD
052635,000277: # L+1 STATEFLG DESIRE PERMANENT UPDATE
052636,000278: # L+2 FINAL RAD. OF STATE VECTOR
052637,000279: # L+3 STCALL RFINAL
052638,000280: # L+4 INTEGRV
052639,000281: # L CALL NORMAL USE -- WILL UPDATE STATE
052640,000282: # L+1 INTEGRV VECTOR IF DIMOFLAG=1. (STATEFLG IS
052641,000283: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
052642,000284: # IT IS USED.)
052643,000285: # INPUT
052644,000286: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
052645,000287: # OUTPUT
052646,000288: # SAME AS FOR PRECISION OR CONIC INTEGRATION
052647,000289: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
052648,000290: # THE PERMANENT STATE VECTOR REPRESENTATION.
052649,000291:
052650,000292: 11,2376 BANK 11
052651,000293: 13,2000 SETLOC INTINIT
052652,000294: 13,2000 BANK
052653,000295: 13,2604 E3,1554 EBANK= RRECTCSM
052654,000296: 13,2604 COUNT* $$/INTIN
052655,000297: 13,2604 05353 STATEINT TC PHASCHNG
052656,000298: 13,2605 00052 OCT 00052
052657,000299: 13,2606 35017 CAF PRIO5
052658,000300: 13,2607 05105 TC FINDVAC
052659,000301: 13,2610 E3,1554 EBANK= RRECTCSM
052660,000302: 13,2610 02613 26063 2CADR STATINT1
052661,000303:
052662,000304: 13,2612 05261 TC TASKOVER
052663,000305: 13,2613 06037 STATINT1 TC INTPRET
052664,000306: 13,2614 47014 BON RTB
052665,000307: 13,2615 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
052666,000308: 13,2616 26653 NOINT
052667,000309: 13,2617 21573 LOADTIME
052668,000310: 13,2620 00041 STORE TDEC1
![]() |
Page 1210 |
052670,000312: 13,2621 77624 CALL
052671,000313: 13,2622 27414 INTSTALL
052672,000314: 13,2623 45014 SET CALL
052673,000315: 13,2624 01076 NODOFLAG
052674,000316: 13,2625 26644 SETIFLGS
052675,000317: 13,2626 77650 GOTO
052676,000318: 13,2627 26026 STATEUP
052677,000319: 13,2630 00003 25140 600SECS 2DEC 60000 B-28
052678,000320:
052679,000321: 13,2632 77414 ENDINT CLEAR EXIT
052680,000322: 13,2633 01672 STATEFLG
052681,000323: 13,2634 05353 TC PHASCHNG
052682,000324: 13,2635 20032 OCT 20032
052683,000325: 13,2636 00006 EXTEND
052684,000326: 13,2637 32631 DCA 600SECS
052685,000327: 13,2640 05277 TC LONGCALL
052686,000328: 13,2641 E3,1626 EBANK= RRECTHIS
052687,000329: 13,2641 02604 26063 2CADR STATEINT
052688,000330:
052689,000331: 13,2643 05155 TC ENDOFJOB
052690,000332: 13,2644 43014 SETIFLGS SET CLEAR
052691,000333: 13,2645 01472 STATEFLG
052692,000334: 13,2646 01673 INTYPFLG
052693,000335: 13,2647 43014 CLEAR CLEAR
052694,000336: 13,2650 01676 DIM0FLAG
052695,000337: 13,2651 01675 D6OR9FLG
052696,000338: 13,2652 77616 RVQ
052697,000339: 13,2653 77776 NOINT EXIT
052698,000340: 13,2654 05353 TC PHASCHNG
052699,000341: 13,2655 00002 OCT 00002
052700,000342:
052701,000343: 13,2656 05516 TC DOWNFLAG
052702,000344: 13,2657 00221 ADRES QUITFLAG
052703,000345: 13,2660 05155 TC ENDOFJOB
052704,000346:
052705,000347: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
052706,000348:
052707,000349: # CALLING SEQUENCE
052708,000350: # L CALL
052709,000351: # L+1 ATOPCSM
052710,000352:
052711,000353: # NORMAL EXIT AT L+2
052712,000354:
052713,000355: 13,2661 47020 ATOPCSM STQ RTB
052714,000356: 13,2662 00051 S2
052715,000357: 13,2663 26674 MOVEACSM
052716,000358: 13,2664 45014 SET CALL
052717,000359: 13,2665 04063 CMOONFLG
052718,000360: 13,2666 26114 SVDWN1
052719,000361: 13,2667 43014 BON CLRGO
![]() |
Page 1211 |
052721,000363: 13,2670 00303 MOONFLAG
052722,000364: 13,2671 00051 S2
052723,000365: 13,2672 04223 CMOONFLG
052724,000366: 13,2673 00051 S2
052725,000367: 13,2674 03036 MOVEACSM TC SETBANK
052726,000368: 13,2675 55500 TS DIFEQCNT # INITIALIZE INDEX
052727,000369: 13,2676 51500 INDEX DIFEQCNT
052728,000370: 13,2677 31502 CA RRECT
052729,000371: 13,2700 51500 INDEX DIFEQCNT
052730,000372: 13,2701 55554 TS RRECTCSM
052731,000373: 13,2702 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
052732,000374: 13,2703 12675 TCF MOVEACSM +1 # NO-LOOP
052733,000375: 13,2704 06061 TC DANZIG # COMPLETE - RETURN
052734,000376:
052735,000377: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
052736,000378:
052737,000379: # CALLING SEQUENCE
052738,000380: # L CALL
052739,000381: # PTOACSM
052740,000382:
052741,000383: # NORMAL EXIT AT L+2
052742,000384:
052743,000385: 13,2705 43034 PTOACSM RTB BON
052744,000386: 13,2706 26723 MOVEPCSM
052745,000387: 13,2707 04303 CMOONFLG
052746,000388: 13,2710 26716 SETMOON
052747,000389: 13,2711 66214 CLRMOON CLEAR SSP
052748,000390: 13,2712 00263 MOONFLAG
052749,000391: 13,2713 02031 PBODY
052750,000392: 13,2714 00000 0
052751,000393: 13,2715 77616 RVQ
052752,000394: 13,2716 66214 SETMOON SET SSP
052753,000395: 13,2717 00063 MOONFLAG
052754,000396: 13,2720 02031 PBODY
052755,000397: 13,2721 00002 2
052756,000398: 13,2722 77616 RVQ
052757,000399: 13,2723 03036 MOVEPCSM TC SETBANK
052758,000400: 13,2724 55500 TS DIFEQCNT
052759,000401: 13,2725 51500 INDEX DIFEQCNT
052760,000402: 13,2726 31554 CA RRECTCSM
052761,000403: 13,2727 51500 INDEX DIFEQCNT
052762,000404: 13,2730 55502 TS RRECT
052763,000405: 13,2731 11500 CCS DIFEQCNT
052764,000406: 13,2732 12724 TCF MOVEPCSM +1
052765,000407: 13,2733 06061 TC DANZIG
052766,000408:
052767,000409: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
052768,000410: 13,2734 47020 ATOPLEM STQ RTB
![]() |
Page 1212 |
052770,000412: 13,2735 00051 S2
052771,000413: 13,2736 26747 MOVEALEM
052772,000414: 13,2737 45014 SET CALL
052773,000415: 13,2740 04064 LMOONFLG
052774,000416: 13,2741 26070 SVDWN2
052775,000417: 13,2742 43014 BON CLRGO
052776,000418: 13,2743 00303 MOONFLAG
052777,000419: 13,2744 00051 S2
052778,000420: 13,2745 04224 LMOONFLG
052779,000421: 13,2746 00051 S2
052780,000422: 13,2747 03036 MOVEALEM TC SETBANK
052781,000423: 13,2750 55500 TS DIFEQCNT
052782,000424: 13,2751 51500 INDEX DIFEQCNT
052783,000425: 13,2752 31502 CA RRECT
052784,000426: 13,2753 51500 INDEX DIFEQCNT
052785,000427: 13,2754 55626 TS RRECTLEM
052786,000428: 13,2755 11500 CCS DIFEQCNT
052787,000429: 13,2756 12750 TCF MOVEALEM +1
052788,000430: 13,2757 06061 TC DANZIG
052789,000431:
052790,000432: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
052791,000433:
052792,000434: 13,2760 47014 PTOALEM BON RTB
052793,000435: 13,2761 04307 SURFFLAG
052794,000436: 13,2762 27001 USEPIOS
052795,000437: 13,2763 26770 MOVEPLEM
052796,000438: 13,2764 52014 BON GOTO
052797,000439: 13,2765 04304 LMOONFLG
052798,000440: 13,2766 26716 SETMOON
052799,000441: 13,2767 26711 CLRMOON
052800,000442: 13,2770 03036 MOVEPLEM TC SETBANK
052801,000443: 13,2771 55500 TS DIFEQCNT
052802,000444: 13,2772 51500 INDEX DIFEQCNT
052803,000445: 13,2773 31626 CA RRECTLEM
052804,000446: 13,2774 51500 INDEX DIFEQCNT
052805,000447: 13,2775 55502 TS RRECT
052806,000448: 13,2776 11500 CCS DIFEQCNT
052807,000449: 13,2777 12771 TCF MOVEPLEM +1
052808,000450: 13,3000 06061 TC DANZIG
052809,000451:
052810,000452: 13,3001 77201 USEPIOS SETPD VLOAD
052811,000453: 13,3002 00001 0
052812,000454: 13,3003 02023 RLS
052813,000455: 13,3004 41525 PDDL PUSH
052814,000456: 13,3005 00041 TDEC1
052815,000457: 13,3006 15517 STODL TET
052816,000458: 13,3007 27712 5/8
052817,000459: 13,3010 77624 CALL
![]() |
Page 1213 |
052819,000461: 13,3011 55716 RP-TO-R
052820,000462: 13,3012 25535 STOVL RCV
052821,000463: 13,3013 24001 ZUNIT
052822,000464: 13,3014 14001 STODL 0D
052823,000465: 13,3015 01517 TET
052824,000466: 13,3016 14007 STODL 6D
052825,000467: 13,3017 27712 5/8
052826,000468: 13,3020 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
052827,000469: 13,3021 00063 MOONFLAG
052828,000470: 13,3022 55716 RP-TO-R
052829,000471: 13,3023 74235 VXV VXSC
052830,000472: 13,3024 01535 RCV
052831,000473: 13,3025 26001 OMEGMOON
052832,000474: 13,3026 25543 STOVL VCV
052833,000475: 13,3027 24007 ZEROVEC
052834,000476: 13,3030 01521 STORE TDELTAV
052835,000477: 13,3031 67174 AXT,2 SXA,2
052836,000478: 13,3032 00002 2
052837,000479: 13,3033 02030 PBODY
052838,000480: 13,3034 35527 STCALL TNUV
052839,000481: 13,3035 27157 A-PCHK
052840,000482: 13,3036 33042 SETBANK CAF INTBANK
052841,000483: 13,3037 54006 TS BBANK
052842,000484: 13,3040 33452 CAF FORTYONE
052843,000485: 13,3041 00002 TC Q
052844,000486: 13,3042 E3,1554 EBANK= RRECTCSM
052845,000487: 13,3042 26063 INTBANK BBCON INTEGRV
052846,000488:
052847,000489: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
052848,000490: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
052849,000491:
052850,000492: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
052851,000493: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
052852,000494: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
052853,000495:
052854,000496: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
052855,000497: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
052856,000498: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
052857,000499:
052858,000500: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
052859,000501: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
052860,000502: # CSMPREC CSMCONIC LEMPREC LEMCONIC
052861,000503: # VINTFLAG SET SET CLEAR CLEAR
052862,000504: # INTYPFLG CLEAR SET CLEAR SET
052863,000505: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
052864,000506:
052865,000507: # CALLING SEQUENCE
052866,000508: # L-X STORE TDEC1
052867,000509: # L CALL (STCALL TDEC1)
![]() |
Page 1214 |
052869,000511: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
052870,000512:
052871,000513: # NORMAL EXIT TO L+2
052872,000514:
052873,000515: # SUBROUTINES CALLED
052874,000516: # INTEGRV1
052875,000517: # PRECOUT FOR CSMPREC AND LEMPREC
052876,000518: # CONICOUT FOR CSMCONIC AND LEMCONIC
052877,000519:
052878,000520: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
052879,000521:
052880,000522: # INPUT
052881,000523: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
052882,000524:
052883,000525: 13,3043 45020 CSMPREC STQ CALL
052884,000526: 13,3044 00046 X1
052885,000527: 13,3045 27414 INTSTALL
052886,000528: 13,3046 43130 SXA,1 SET
052887,000529: 13,3047 02102 IRETURN
052888,000530: 13,3050 01474 VINTFLAG
052889,000531:
052890,000532: 13,3051 43014 IFLAGP SET CLEAR
052891,000533: 13,3052 01467 PRECIFLG
052892,000534: 13,3053 01676 DIM0FLAG
052893,000535: 13,3054 77614 CLRGO
052894,000536: 13,3055 01633 INTYPFLG
052895,000537: 13,3056 27136 INTEGRV1
052896,000538: 13,3057 45020 LEMPREC STQ CALL
052897,000539: 13,3060 00046 X1
052898,000540: 13,3061 27414 INTSTALL
052899,000541: 13,3062 43130 SXA,1 CLRGO
052900,000542: 13,3063 02102 IRETURN
052901,000543: 13,3064 01634 VINTFLAG
052902,000544: 13,3065 27051 IFLAGP
052903,000545:
052904,000546: 13,3066 45020 CSMCONIC STQ CALL
052905,000547: 13,3067 00046 X1
052906,000548: 13,3070 27414 INTSTALL
052907,000549: 13,3071 43130 SXA,1 SET
052908,000550: 13,3072 02102 IRETURN
052909,000551: 13,3073 01474 VINTFLAG
052910,000552: 13,3074 43014 IFLAGC CLEAR SETGO
052911,000553: 13,3075 01676 DIM0FLAG
052912,000554: 13,3076 01433 INTYPFLG
052913,000555: 13,3077 27136 INTEGRV1
052914,000556: 13,3100 45020 LEMCONIC STQ CALL
052915,000557: 13,3101 00046 X1
052916,000558: 13,3102 27414 INTSTALL
052917,000559: 13,3103 43130 SXA,1 CLRGO
052918,000560: 13,3104 02102 IRETURN
![]() |
Page 1215 |
052920,000562: 13,3105 01634 VINTFLAG
052921,000563: 13,3106 27074 IFLAGC
052922,000564:
052923,000565: 13,3107 66214 INTEGRVS SET SSP
052924,000566: 13,3110 01467 PRECIFLG
052925,000567: 13,3111 02031 PBODY
052926,000568: 13,3112 00000 0
052927,000569: 13,3113 66214 BOF SSP
052928,000570: 13,3114 00343 MOONFLAG
052929,000571: 13,3115 27120 +3
052930,000572: 13,3116 02031 PBODY
052931,000573: 13,3117 00002 2
052932,000574: 13,3120 77220 STQ VLOAD
052933,000575: 13,3121 02102 IRETURN
052934,000576: 13,3122 24007 ZEROVEC
052935,000577: 13,3123 01521 STORE TDELTAV
052936,000578: 13,3124 35527 STCALL TNUV
052937,000579: 13,3125 23441 RECTIFY
052938,000580: 13,3126 43014 CLEAR SET
052939,000581: 13,3127 01676 DIM0FLAG
052940,000582: 13,3130 04062 NEWIFLG
052941,000583: 13,3131 77614 SETGO
052942,000584: 13,3132 04020 RPQFLAG
052943,000585: 13,3133 27150 ALOADED
052944,000586:
052945,000587: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
052946,000588: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
052947,000589: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS.
052948,000590: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
052949,000591: # PROGRAM FOR PRECISION OR CONIC
052950,000592:
052951,000593: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
052952,000594: # SETTING ANY FLAGS.
052953,000595:
052954,000596: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
052955,000597: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
052956,000598: # INTYPFLG
052957,000599: # DIM0FLAG
052958,000600: # D6OR9FLG
052959,000601:
052960,000602: # CALLING SEQUENCE
052961,000603: # L-X CALL
052962,000604: # L-Y INTSTALL
052963,000605: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
052964,000606: # AND DIM0FLAG IS CLEAR.
052965,000607: # L CALL
052966,000608: # L+1 INTEGRV
052967,000609:
052968,000610: # INITIALIZATION
052969,000611: # FLAGS AS ABOVE
052970,000612: # STORE TIME TO INTEGRATE TO IN TDEC1
052971,000613:
052972,000614: # OUTPUT
052973,000615: # RATT AS
052974,000616: # VATT DEFINED
![]() |
Page 1216 |
052976,000618: # TAT BEFORE
052977,000619:
052978,000620: 13,3134 77620 INTEGRV STQ
052979,000621: 13,3135 02102 IRETURN
052980,000622: 13,3136 43014 INTEGRV1 SET SET
052981,000623: 13,3137 04060 RPQFLAG
052982,000624: 13,3140 04062 NEWIFLG
052983,000625: 13,3141 77731 INTEGRV2 SSP
052984,000626: 13,3142 00053 QPRET
052985,000627: 13,3143 27150 ALOADED
052986,000628: 13,3144 52014 BON GOTO
052987,000629: 13,3145 01714 VINTFLAG
052988,000630: 13,3146 26705 PTOACSM
052989,000631: 13,3147 26760 PTOALEM
052990,000632: 13,3150 77745 ALOADED DLOAD
052991,000633: 13,3151 00041 TDEC1
052992,000634: 13,3152 01116 STORE TDEC
052993,000635: 13,3153 52014 BOFF GOTO
052994,000636: 13,3154 01753 INTYPFLG
052995,000637: 13,3155 27257 TESTLOOP
052996,000638: 13,3156 27243 RVCON
052997,000639: 13,3157 77414 A-PCHK BOF EXIT
052998,000640: 13,3160 01752 STATEFLG
052999,000641: 13,3161 27200 RECTOUT
053000,000642: 13,3162 05353 TC PHASCHNG
053001,000643: 13,3163 04022 OCT 04022
053002,000644: 13,3164 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
053003,000645: 13,3165 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
053004,000646: 13,3166 06037 TC INTPRET
053005,000647: 13,3167 77731 SSP
053006,000648: 13,3170 00053 QPRET
053007,000649: 13,3171 27176 PHEXIT
053008,000650: 13,3172 52014 BON GOTO
053009,000651: 13,3173 01714 VINTFLAG
053010,000652: 13,3174 26661 ATOPCSM
053011,000653: 13,3175 26734 ATOPLEM
053012,000654: 13,3176 77624 PHEXIT CALL
053013,000655: 13,3177 11244 GRP2PC
053014,000656: 13,3200 45001 RECTOUT SETPD CALL
053015,000657: 13,3201 00001 0
053016,000658: 13,3202 23441 RECTIFY
053017,000659: 13,3203 53775 VLOAD VSL*
053018,000660: 13,3204 01503 RRECT
053019,000661: 13,3205 57576 0,2
053020,000662: 13,3206 53715 PDVL VSL* # RATT TO PD0
053021,000663: 13,3207 01511 VRECT
053022,000664: 13,3210 57576 0,2
053023,000665: 13,3211 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
053024,000666: 13,3212 01517 TET
![]() |
Page 1217 |
053026,000668: 13,3213 01503 RRECT
053027,000669: 13,3214 64715 PDVL PDDL*
053028,000670: 13,3215 01511 VRECT
053029,000671: 13,3216 51770 MUEARTH,2
053030,000672: 13,3217 76006 PUSH AXT,1
053031,000673: 13,3220 77765 DEC -10 B-14
053032,000674: 13,3221 76014 BON AXT,1
053033,000675: 13,3222 00303 MOONFLAG
053034,000676: 13,3223 27225 +2
053035,000677: 13,3224 77775 DEC -2 B-14
053036,000678: 13,3225 40001 INTEXIT SETPD BOV
053037,000679: 13,3226 00001 0
053038,000680: 13,3227 27230 +1
053039,000681: 13,3230 43014 CLEAR CLEAR
053040,000682: 13,3231 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
053041,000683: 13,3232 01667 PRECIFLG
053042,000684: 13,3233 77614 CLEAR
053043,000685: 13,3234 01672 STATEFLG
053044,000686: 13,3235 77535 SLOAD EXIT
053045,000687: 13,3236 02103 IRETURN
053046,000688: 13,3237 30154 CA MPAC
053047,000689: 13,3240 50120 INDEX FIXLOC
053048,000690: 13,3241 54052 TS QPRET
053049,000691: 13,3242 03425 TC INTWAKE
053050,000692:
053051,000693: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
053052,000694: # VELOCITY FOR THE INTERVAL (TET-TDEC)
053053,000695:
053054,000696: 13,3243 45345 RVCON DLOAD DSU
053055,000697: 13,3244 01116 TDEC
053056,000698: 13,3245 01517 TET
053057,000699: 13,3246 36074 STCALL TAU.
053058,000700: 13,3247 23441 RECTIFY
053059,000701: 13,3250 77624 CALL
053060,000702: 13,3251 22376 KEPPREP
053061,000703: 13,3252 43345 DLOAD DAD
053062,000704: 13,3253 01551 TC
053063,000705: 13,3254 01517 TET
053064,000706: 13,3255 35517 STCALL TET
053065,000707: 13,3256 27200 RECTOUT
053066,000708:
![]() |
Page 1218 |
053068,000710: # TESTLOOP
053069,000711:
053070,000712: 13,3257 43014 TESTLOOP BOF CLRGO
053071,000713: 13,3260 04752 QUITFLAG
053072,000714: 13,3261 27264 +3
053073,000715: 13,3262 01632 STATEFLG
053074,000716: 13,3263 27225 INTEXIT # STOP INTEGRATION
053075,000717: 13,3264 73001 +3 SETPD LXA,2
053076,000718: 13,3265 00013 10D
053077,000719: 13,3266 02030 PBODY
053078,000720: 13,3267 51575 VLOAD ABVAL
053079,000721: 13,3270 01535 RCV
053080,000722: 13,3271 43006 PUSH CLEAR # RC TO 10D
053081,000723: 13,3272 00262 MIDFLAG
053082,000724: 13,3273 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
053083,000725: 13,3274 53755 RME,2
053084,000726: 13,3275 27300 +3
053085,000727: 13,3276 77614 SET
053086,000728: 13,3277 00062 MIDFLAG
053087,000729: 13,3300 41345 NORFINAL DLOAD DMP
053088,000730: 13,3301 00013 10D
053089,000731: 13,3302 00043 34D
053090,000732: 13,3303 55762 SR1R DDV*
053091,000733: 13,3304 51770 MUEARTH,2
053092,000734: 13,3305 41366 SQRT DMP
053093,000735: 13,3306 25752 .3D
053094,000736: 13,3307 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
053095,000737: 13,3310 54345 DLOAD SL
053096,000738: 13,3311 00155 MPAC
053097,000739: 13,3312 20220 15D # OF 128 CSECS.
053098,000740: 13,3313 40006 PUSH BOV
053099,000741: 13,3314 27341 MAXDT
053100,000742: 13,3315 50021 BDSU BMN
053101,000743: 13,3316 27413 DT/2MAX
053102,000744: 13,3317 27341 MAXDT
053103,000745: 13,3320 45345 DT/2COMP DLOAD DSU
053104,000746: 13,3321 01116 TDEC
053105,000747: 13,3322 01517 TET
053106,000748: 13,3323 54234 RTB SL
053107,000749: 13,3324 21612 SGNAGREE
053108,000750: 13,3325 20211 8D
053109,000751: 13,3326 02076 STORE DT/2 # B-19
053110,000752: 13,3327 51400 BOV ABS
053111,000753: 13,3330 27345 GETMAXDT
053112,000754: 13,3331 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
053113,000755: 13,3332 00015 12D
053114,000756: 13,3333 27351 P00HCHK
053115,000757: 13,3334 75345 USEMAXDT DLOAD SIGN
053116,000758: 13,3335 00015 12D
053117,000759: 13,3336 02076 DT/2
![]() |
Page 1219 |
053119,000761: 13,3337 36076 STCALL DT/2
053120,000762: 13,3340 27351 P00HCHK
053121,000763: 13,3341 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
053122,000764: 13,3342 27413 DT/2MAX
053123,000765: 13,3343 77650 GOTO
053124,000766: 13,3344 27320 DT/2COMP
053125,000767: 13,3345 77634 GETMAXDT RTB
053126,000768: 13,3346 21712 SIGNMPAC
053127,000769: 13,3347 36076 STCALL DT/2
053128,000770: 13,3350 27334 USEMAXDT
053129,000771: 13,3351 51545 P00HCHK DLOAD ABS
053130,000772: 13,3352 02076 DT/2
053131,000773: 13,3353 50025 DSU BMN
053132,000774: 13,3354 27411 DT/2MIN
053133,000775: 13,3355 27157 A-PCHK
053134,000776: 13,3356 46135 SLOAD BHIZ
053135,000777: 13,3357 01012 MODREG
053136,000778: 13,3360 27363 +3
053137,000779: 13,3361 77650 GOTO
053138,000780: 13,3362 23252 TIMESTEP
053139,000781: 13,3363 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC
053140,000782: 13,3364 01707 PRECIFLG
053141,000783: 13,3365 23252 TIMESTEP # YES
053142,000784: 13,3366 45345 DLOAD DSU
053143,000785: 13,3367 02076 DT/2
053144,000786: 13,3370 00015 12D
053145,000787: 13,3371 43040 BMN BOFCLR
053146,000788: 13,3372 27157 A-PCHK
053147,000789: 13,3373 04242 NEWIFLG
053148,000790: 13,3374 23252 TIMESTEP
053149,000791: 13,3375 45345 DLOAD DSU
053150,000792: 13,3376 01116 TDEC
053151,000793: 13,3377 01517 TET
053152,000794: 13,3400 77640 BMN # NO BACKWARD INTEGRATION
053153,000795: 13,3401 27225 INTEXIT
053154,000796: 13,3402 40525 PDDL SR4
053155,000797: 13,3403 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
053156,000798: 13,3404 44322 SR2R BDSU # NO
053157,000799: 13,3405 52040 BMN GOTO
053158,000800: 13,3406 27225 INTEXIT
053159,000801: 13,3407 23252 TIMESTEP
053160,000802: 13,3410 00000 01400 DT/2MIN 2DEC 3 B-20
053161,000803:
053162,000804: 13,3412 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
053163,000805:
053164,000806: 13,3414 77776 INTSTALL EXIT
053165,000807: 13,3415 30106 CA RASFLAG
053166,000808: 13,3416 73466 MASK INTBITAB # IS THIS STALL AREA FREE
053167,000809: 13,3417 00006 EXTEND
053168,000810: 13,3420 13460 BZF OKTOGRAB # YES
![]() |
Page 1220 |
053170,000812: 13,3421 33465 CAF WAKESTAL
053171,000813: 13,3422 05133 TC JOBSLEEP
053172,000814: 13,3423 77776 INTWAKE0 EXIT
053173,000815: 13,3424 13445 TCF INTWAKE1
053174,000816:
053175,000817: 13,3425 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
053176,000818: 13,3426 74745 MASK REINTBIT # RESTARTED
053177,000819: 13,3427 10000 CCS A
053178,000820: 13,3430 03445 TC INTWAKE1 # NO
053179,000821:
053180,000822: 13,3431 50120 INDEX FIXLOC
053181,000823: 13,3432 30052 CA QPRET
053182,000824: 13,3433 55055 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
053183,000825:
053184,000826: 13,3434 05353 TC PHASCHNG
053185,000827: 13,3435 04022 OCT 04022
053186,000828:
053187,000829: 13,3436 31055 CA TBASE2
053188,000830: 13,3437 50120 INDEX FIXLOC
053189,000831: 13,3440 54052 TS QPRET
053190,000832:
053191,000833: 13,3441 34745 CAF REINTBIT
053192,000834: 13,3442 70106 MASK RASFLAG
053193,000835: 13,3443 00006 EXTEND
053194,000836: 13,3444 13463 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
053195,000837:
053196,000838: 13,3445 33465 INTWAKE1 CAF WAKESTAL
053197,000839: 13,3446 00004 INHINT
053198,000840: 13,3447 05137 TC JOBWAKE
053199,000841: 13,3450 10064 CCS LOCCTR
053200,000842: 13,3451 13445 TCF INTWAKE1
053201,000843: 13,3452 00051 FORTYONE DEC 41 B-14
053202,000844: 13,3453 43466 CS INTBITAB
053203,000845: 13,3454 70106 MASK RASFLAG
053204,000846: 13,3455 54106 TS RASFLAG # RELEASE STALL AREA
053205,000847: 13,3456 00003 RELINT
053206,000848: 13,3457 13463 TCF GOBAC
053207,000849: 13,3460 34736 OKTOGRAB CAF INTFLBIT
053208,000850: 13,3461 00004 INHINT
053209,000851: 13,3462 26106 ADS RASFLAG
053210,000852: 13,3463 06037 GOBAC TC INTPRET
053211,000853: 13,3464 77616 RVQ
053212,000854: 13,3465 27415 WAKESTAL CADR INTSTALL +1
053213,000855: 13,3466 20100 INTBITAB OCT 20100
053214,000856:
![]() |
Page 1221 |
053216,000858: # AVETOMID
053217,000859:
053218,000860: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
053219,000861: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
053220,000862: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
053221,000863:
053222,000864: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLG IS
053223,000865: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
053224,000866:
053225,000867: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
053226,000868:
053227,000869: # FINALLY TRKMKCNT IS ZEROED
053228,000870:
053229,000871: 13,2000 SETLOC INTINIT
053230,000872: 13,2000 BANK
053231,000873:
053232,000874: 13,3467 COUNT* $$/INTIN
053233,000875: 13,3467 43020 AVETOMID STQ BON
053234,000876: 13,3470 02772 EGRESS
053235,000877: 13,3471 02716 RENDWFLG
053236,000878: 13,3472 27536 INT/W # W-MATRIX VALID, GO INTEGRATE IT
053237,000879: 13,3473 77614 BON
053238,000880: 13,3474 01711 ORBWFLAG
053239,000881: 13,3475 27536 INT/W # W-MATRIX VALID, GO INTEGRATE IT
053240,000882:
053241,000883: 13,3476 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
053242,000884: 13,3477 01235 PIPTIME # DESIRED TIME
053243,000885: 13,3500 27414 INTSTALL
053244,000886: 13,3501 45014 SET CALL
053245,000887: 13,3502 01474 VINTFLAG # CM
053246,000888: 13,3503 26644 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
053247,000889: 13,3504 34041 STCALL TDEC1
053248,000890: 13,3505 27134 INTEGRV
053249,000891:
053250,000892: 13,3506 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
053251,000893: 13,3507 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
053252,000894: 13,3510 27414 INTSTALL
053253,000895: 13,3511 77014 BON AXT,2
053254,000896: 13,3512 04304 MOONTHIS
053255,000897: 13,3513 27515 +2
053256,000898: 13,3514 00000 0
053257,000899: 13,3515 53775 VLOAD VSR*
053258,000900: 13,3516 01221 RN
053259,000901: 13,3517 57176 0,2
053260,000902: 13,3520 01503 STORE RRECT
053261,000903: 13,3521 15535 STODL RCV
053262,000904: 13,3522 01235 PIPTIME
053263,000905: 13,3523 25517 STOVL TET
053264,000906: 13,3524 01227 VN
![]() |
Page 1222 |
053266,000908: 13,3525 45057 VSR* CALL
053267,000909: 13,3526 57176 0,2
053268,000910: 13,3527 23455 MINIRECT # FINISH SETTING UP STATE VECTOR
053269,000911: 13,3530 66234 RTB SSP
053270,000912: 13,3531 26747 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
053271,000913: 13,3532 03463 TRKMKCNT
053272,000914: 13,3533 00000 0
053273,000915: 13,3534 77650 GOTO
053274,000916: 13,3535 47226 FAZAB5
053275,000917:
053276,000918: 13,3536 45145 INT/W DLOAD CALL
053277,000919: 13,3537 01235 PIPTIME # INTEGRATE W THRU BURN
053278,000920: 13,3540 27414 INTSTALL
053279,000921: 13,3541 43014 SET SET
053280,000922: 13,3542 01476 DIM0FLAG # DO W-MATRIX
053281,000923: 13,3543 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
053282,000924: 13,3544 43014 SET CLEAR
053283,000925: 13,3545 01475 D6OR9FLG # 9X9 FOR LM
053284,000926: 13,3546 01674 VINTFLAG # LM
053285,000927: 13,3547 34041 STCALL TDEC1
053286,000928: 13,3550 27134 INTEGRV
053287,000929: 13,3551 77650 GOTO
053288,000930: 13,3552 27476 OTHERS # NOW GO DO THE OTHER VEHICLE
053289,000931:
![]() |
Page 1223 |
053291,000933: # MIDTOAV1
053292,000934:
053293,000935: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
053294,000936: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
053295,000937: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
053296,000938: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
053297,000939: # IS DONE TO THE CURRENT TIME.
053298,000940: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
053299,000941:
053300,000942: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
053301,000943: # TO THE RETURN ADDRESS
053302,000944:
053303,000945: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
053304,000946: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
053305,000947: # TION TIME AND MPAC IS SET TO THE DELTA TIME ---
053306,000948: # TAT MINUS CURRENT TIME.
053307,000949:
053308,000950: # MIDTOAV2
053309,000951:
053310,000952: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
053311,000953: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
053312,000954: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
053313,000955:
053314,000956: 13,3553 E7,1744 EBANK= IRETURN1
053315,000957: 13,3553 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
053316,000958: 13,3554 03744 IRETURN1
053317,000959: 13,3555 04634 MID1FLAG
053318,000960: 13,3556 27572 ENTMID2
053319,000961:
053320,000962: 13,3557 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
053321,000963: 13,3560 03744 IRETURN1
053322,000964: 13,3561 04474 MID1FLAG
053323,000965: 13,3562 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
053324,000966: 13,3563 21573 LOADTIME
053325,000967: 13,3564 27674 TIMEDELT
053326,000968: 13,3565 51021 BDSU BPL
053327,000969: 13,3566 00041 TDEC1
053328,000970: 13,3567 27576 ENTMID1 # Y5S
053329,000971: 13,3570 77624 CALL
053330,000972: 13,3571 27662 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
053331,000973:
053332,000974: 13,3572 43234 ENTMID2 RTB DAD
053333,000975: 13,3573 21573 LOADTIME
053334,000976: 13,3574 27674 TIMEDELT
053335,000977: 13,3575 00041 STORE TDEC1
053336,000978:
053337,000979: 13,3576 77624 ENTMID1 CALL
053338,000980: 13,3577 27414 INTSTALL
053339,000981: 13,3600 45014 CLEAR CALL
![]() |
Page 1224 |
053341,000983: 13,3601 01676 DIM0FLAG # NO W-MATRIX
053342,000984: 13,3602 26066 THISVINT
053343,000985: 13,3603 43014 CLEAR SET
053344,000986: 13,3604 01673 INTYPFLG
053345,000987: 13,3605 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
053346,000988: 13,3606 77624 CALL
053347,000989: 13,3607 27134 INTEGRV # GO INTEGRATE
053348,000990: 13,3610 77214 CLEAR VLOAD
053349,000991: 13,3611 04675 MIDAVFLG
053350,000992: 13,3612 00001 RATT
053351,000993: 13,3613 27545 STOVL RN1
053352,000994: 13,3614 00007 VATT
053353,000995: 13,3615 17553 STODL VN1
053354,000996: 13,3616 00015 TAT
053355,000997: 13,3617 03561 STORE PIPTIME1
053356,000998: 13,3620 66134 SXA,2 SXA,1
053357,000999: 13,3621 02777 RTX2
053358,001000: 13,3622 02776 RTX1
053359,001001: 13,3623 77776 EXIT
053360,001002:
053361,001003: 13,3624 00004 INHINT
053362,001004: 13,3625 00006 EXTEND
053363,001005: 13,3626 40025 DCS TIME2
053364,001006: 13,3627 20155 DAS MPAC
053365,001007: 13,3630 07257 TC TPAGREE
053366,001008:
053367,001009: 13,3631 31744 CA IRETURN1
053368,001010: 13,3632 04640 TC BANKJUMP
053369,001011: 13,3633 47014 CKMID2 BOF RTB
053370,001012: 13,3634 04754 MID1FLAG
053371,001013: 13,3635 27652 MID2
053372,001014: 13,3636 21573 LOADTIME
053373,001015: 13,3637 44215 DAD BDSU
053374,001016: 13,3640 27674 TIMEDELT
053375,001017: 13,3641 01116 TDEC
053376,001018: 13,3642 45044 BPL CALL
053377,001019: 13,3643 27257 TESTLOOP # YES
053378,001020: 13,3644 27662 NOTIME
053379,001021:
053380,001022: 13,3645 43234 TIMEINC RTB DAD
053381,001023: 13,3646 21573 LOADTIME
053382,001024: 13,3647 27674 TIMEDELT
053383,001025: 13,3650 35116 STCALL TDEC
053384,001026: 13,3651 27257 TESTLOOP
053385,001027:
053386,001028: 13,3652 45345 MID2 DLOAD DSU
053387,001029: 13,3653 01116 TDEC
053388,001030: 13,3654 01517 TET
053389,001031: 13,3655 45246 ABS DSU
053390,001032: 13,3656 27672 3CSECS
053391,001033:
![]() |
Page 1225 |
053393,001035: 13,3657 52040 BMN GOTO
053394,001036: 13,3660 27157 A-PCHK
053395,001037: 13,3661 27645 TIMEINC
053396,001038:
053397,001039: 13,3662 77414 NOTIME CLEAR EXIT # TOO LATE
053398,001040: 13,3663 04674 MID1FLAG
053399,001041: 13,3664 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
053400,001042: 13,3665 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
053401,001043: 13,3666 01703 OCT 1703 # TIG WILL BE SLIPPED...
053402,001044: 13,3667 06037 TC INTPRET
053403,001045: 13,3670 77616 RVQ
053404,001046:
053405,001047: 13,3671 00000 00003 3CSECS 2DEC 3 B-28
053406,001048:
053407,001049: 13,3673 00000 03720 TIMEDELT 2DEC 2000 B-28
053408,001050:
053409,001051: 27,3360 BANK 27
053410,001052: 04,2000 SETLOC UPDATE2
053411,001053: 04,2000 BANK
053412,001054: 04,3165 1167 EBANK= INTWAKUQ
053413,001055:
053414,001056: 04,3165 COUNT* $$/INTIN
053415,001057:
053416,001058: 04,3165 1167 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
053417,001059:
053418,001060: 04,3165 00003 INTWAKEU RELINT
053419,001061: 04,3166 00006 EXTEND
053420,001062: 04,3167 23167 QXCH INTWAKUQ # SAVE Q FOR RETURN
053421,001063:
053422,001064: 04,3170 06037 TC INTPRET
053423,001065:
053424,001066: 04,3171 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
053425,001067: 04,3172 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
053426,001068: 04,3173 11232 INTWAKUP
053427,001069:
053428,001070: 04,3174 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
053429,001071: 04,3175 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
053430,001072: 04,3176 25535 STOVL RCV
053431,001073: 04,3177 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
053432,001074: 04,3200 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
053433,001075: 04,3201 23456 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
053434,001076: 04,3202 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
053435,001077: 04,3203 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
053436,001078: 04,3204 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
053437,001079: 04,3205 11243 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
053438,001080: 04,3206 11213 INTWAKEM # SPHERE OF INFLUENCE.........
053439,001081: 04,3207 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
053440,001082: 04,3210 00000 DEC 0 B-14
053441,001083: 04,3211 00223 MOONFLAG
![]() |
Page 1226 |
053443,001085: 04,3212 11216 INTWAKEC
053444,001086: 04,3213 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
053445,001087: 04,3214 00002 DEC 2 B-14
053446,001088: 04,3215 00063 MOONFLAG
053447,001089: 04,3216 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
053448,001090: # MOONFLAG SET (OR CLEARED).
053449,001091: 04,3217 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
053450,001092: 04,3220 11226 INTWAKLM # STATE VECTOR UPDATE......
053451,001093: 04,3221 77624 CALL # UPDATE CSM STATE VECTOR
053452,001094: 04,3222 26661 ATOPCSM
053453,001095:
053454,001096: 04,3223 52014 CLEAR GOTO
053455,001097: 04,3224 01671 ORBWFLAG
053456,001098: 04,3225 11230 INTWAKEX
053457,001099:
053458,001100: 04,3226 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
053459,001101: 04,3227 26734 ATOPLEM
053460,001102:
053461,001103: 04,3230 77614 INTWAKEX CLEAR
053462,001104: 04,3231 02676 RENDWFLG
053463,001105:
053464,001106: 04,3232 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
053465,001107: 04,3233 01502 UPSVFLAG
053466,001108: 04,3234 00000 0
053467,001109: 04,3235 27423 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
053468,001110: 04,3236 77776 EXIT
053469,001111:
053470,001112: 04,3237 05353 TC PHASCHNG
053471,001113: 04,3240 04026 OCT 04026
053472,001114: 04,3241 01167 TC INTWAKUQ
053473,001115:
053474,001116: 04,3242 00002 UPMNSVCD OCT 2
053475,001117: 04,3243 00000 OCT 0
053476,001118:
053477,001119: 04,3244 77420 GRP2PC STQ EXIT
053478,001120: 04,3245 02711 GRP2SVQ
053479,001121: 04,3246 05353 TC PHASCHNG
053480,001122: 04,3247 04022 OCT 04022
053481,001123: 04,3250 06037 TC INTPRET
053482,001124: 04,3251 77650 GOTO
053483,001125: 04,3252 02711 GRP2SVQ
053484,001126:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc