Source Code
These source-code files derive from a printout of Luminary 116 (the Apollo 12
Lunar Module guidance computer program), from the personal library of
original AGC developer Don Eyles, digitally photographed at archive.org,
financially sponsored by Ron Burkey, and transcribed to source code by a
team of volunteers. This colorized, syntax-highlighted form was created
by assembling that transcribed source code. Note that the full page images
are available on the
Virtual AGC project page at archive.org, while reduced-size images
are presented at the VirtualAGC project website. Report or fix any
transcription errors at
the Virtual AGC project code repository. Notations on the program listing read, in part: GAP: ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071 19:09 AUG. 11,1969Note that the date is the date of the printout, not the date of the program revision. |
050562,000002: ## Copyright: Public domain.
050563,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
050564,000004: ## Purpose: A section of Luminary revision 116.
050565,000005: ## It is part of the source code for the Lunar Module's (LM)
050566,000006: ## Apollo Guidance Computer (AGC) for Apollo 12.
050567,000007: ## This file is intended to be a faithful transcription, except
050568,000008: ## that the code format has been changed to conform to the
050569,000009: ## requirements of the yaYUL assembler rather than the
050570,000010: ## original YUL assembler.
050571,000011: ## Reference: pp. 1196-1217
050572,000012: ## Assembler: yaYUL
050573,000013: ## Contact: Ron Burkey <info@sandroid.org>.
050574,000014: ## Website: www.ibiblio.org/apollo/index.html
050575,000015: ## Mod history: 2017-01-22 MAS Created from Luminary 99.
050576,000016: ## 2017-03-01 RRB Updated for Luminary 116.
050577,000017: ## 2017-03-09 HG Fix interpretive opcode BCN --> BON
050578,000018: ## operand POOFLAG --> POOHFLAG
050579,000019: ## 2017-03-13 RSB Proofed comment text via 3-way diff vs
050580,000020: ## Luminary 99 and 131.
050581,000021: ## 2017-03-15 RSB Comment-text fixes identified in 5-way
050582,000022: ## side-by-side diff of Luminary 69/99/116/131/210.
050583,000023: ## 2017-03-19 HG Fix missing operator and operand SET POOHFLAG
050584,000024: ## 2017-08-19 MAS Fixed comment errors found transcribing Zerlina 56.
050585,000025: ## 2021-05-30 ABS Fix a couple of page numbers to match scans.
050586,000026:
Page 1196 |
050588,000028: # 1.0 INTRODUCTION
050589,000029: # ----------------
050590,000030:
050591,000031: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
050592,000032: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
050593,000033: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
050594,000034: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
050595,000035: # SIDE THE LUNAR SPHERE OF INFLUENCE.
050596,000036:
050597,000037: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
050598,000038: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
050599,000039: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
050600,000040: # CALL TC INTSTALL.
050601,000041:
050602,000042: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
050603,000043: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
050604,000044: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
050605,000045: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
050606,000046: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
050607,000047:
050608,000048: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
050609,000049: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
050610,000050: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
050611,000051: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
050612,000052:
050613,000053: # 2.0 GENERAL DESCRIPTION
050614,000054: # -----------------------
050615,000055:
050616,000056: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
050617,000057: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
050618,000058: # 2) INTEGRATES THE W-MATRIX
050619,000059: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
050620,000060:
050621,000061: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
050622,000062: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
050623,000063: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
050624,000064: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
050625,000065: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
050626,000066: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
050627,000067: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
050628,000068: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
050629,000069: # AND/OR STATE VECTOR.
050630,000070:
050631,000071: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
050632,000072: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
050633,000073: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
050634,000074:
050635,000075: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
050636,000076: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
050637,000077: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
050638,000078:
Page 1197 |
050640,000080: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
050641,000081:
050642,000082: # 2.1 RESTARTS
050643,000083:
050644,000084: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
050645,000085: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
050646,000086: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
050647,000087: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
050648,000088: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
050649,000089: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
050650,000090: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
050651,000091:
050652,000092: # 2.2 SCALING
050653,000093:
050654,000094: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
050655,000095: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
050656,000096: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
050657,000097: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
050658,000098: # DIFFERENT SCALING.
050659,000099: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
050660,000100:
050661,000101: # 3.0 INPUT/OUTPUT
050662,000102: # ----------------
050663,000103:
050664,000104: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
050665,000105: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
050666,000106: # FOR INTEGRVS, THE RCV,VCV, TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
050667,000107:
050668,000108: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
050669,000109: # EARTH MOON
050670,000110: # 29 27
050671,000111: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
050672,000112:
050673,000113: # 7 5
050674,000114: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
050675,000115:
050676,000116: # 28 28
050677,000117: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
050678,000118: # CUSTOMARILY 0, BUT NOTE LUNAR
050679,000119: # ORBIT DEPENDENCE ON REAL TIME.
050680,000120:
050681,000121: # 22 18
050682,000122: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
050683,000123: # 0 IF TCCSM(LEM) = 0
050684,000124:
050685,000125: # 3 -1
050686,000126: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
050687,000127: # 0 IF TCCSM(LEM) = 0
Page 1198 |
050689,000129: # 29 27
050690,000130: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
050691,000131: # EQUALS RRECTCSM(LEM) IF
050692,000132: # TCCSM(LEM) = 0
050693,000133:
050694,000134: # 7 5
050695,000135: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
050696,000136: # EQUALS VRECTCSM(LEM) IF
050697,000137: # TCCSM(LEM) = 0
050698,000138:
050699,000139: # 28 28
050700,000140: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
050701,000141: # CUSTOMARILY 0
050702,000142:
050703,000143: # 1/2 17 16
050704,000144: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
050705,000145: # 0 IF TCCSM(LEM) = 0
050706,000146:
050707,000147: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
050708,000148: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
050709,000149: # LMOONFLG C = CSM, L = LM 0 0
050710,000150: # LMIDFLG 0,1 0,1
050711,000151:
050712,000152: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
050713,000153:
050714,000154: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
050715,000155: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
050716,000156: # ROUTINE MUST BE PRESET.
050717,000157:
050718,000158: # OUTPUT
050719,000159: # AFTER EVERY CALL TO INTEGRATION
050720,000160: # EARTH MOON
050721,000161: # 29 29
050722,000162: # 0D RATT POSITION METERS 2 2
050723,000163:
050724,000164: # 7 7
050725,000165: # 6D VATT VELOCITY M/CSEC 2 2
050726,000166:
050727,000167: # 28 28
050728,000168: # 12D TAT TIME 2 2
050729,000169:
050730,000170: # 29 27
050731,000171: # 14D RATT1 POSITION METERS 2 2
050732,000172:
050733,000173: # 7 5
050734,000174: # 20D VATT1 VELOCITY M/CSEC 2 2
050735,000175:
050736,000176: # 3 2 36 30
050737,000177: # 26D MU(P) MU M /CS 2 2
050738,000178:
050739,000179: # X1 MUTABLE ENTRY -2 -10D
050740,000180:
050741,000181: # X2 COORDINT
050742,000182: # X2 COORDINATE SYSTEM ORIGEN 0 2
050743,000183: # (THIS, NOT MOONFLAG, SHOULD BE
Page 1199 |
050745,000185: # USED TO DETERMINE ORIGIN.)
050746,000186:
050747,000187: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
050748,000188: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
050749,000189: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
050750,000190: # CALLING PROGRAM.
050751,000191:
050752,000192: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
050753,000193: # -------------------------------------
050754,000194:
050755,000195: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
050756,000196: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
050757,000197: # L CALL
050758,000198: # L+1 CSMPREC (OR LEMPREC)
050759,000199: # L+2 RETURN
050760,000200: # INPUT 28
050761,000201: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
050762,000202: # OUTPUT
050763,000203: # THE DATA LISTED IN SECTION 3.0 PLUS
050764,000204: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
050765,000205: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
050766,000206: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
050767,000207: # L-X STORE TIME IN PUSH LIST (TDEC1)
050768,000208: # L CALL
050769,000209: # L+1 CSMCONIC (OR LEMCONIC)
050770,000210: # INPUT/OUTPUT
050771,000211: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
050772,000212: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
050773,000213: # CALL
050774,000214: # INTSTALL
050775,000215: # VLOAD
050776,000216: # POSITION VECTOR
050777,000217: # STOVL RCV
050778,000218: # VELOCITY VECTOR
050779,000219: # STODL VCV
050780,000220: # TIME STATE VECTOR VALID
050781,000221: # STODL TET
050782,000222: # FINAL RADIUS
050783,000223: # STORE RFINAL
050784,000224: # SET(CLEAR) SET(CLEAR)
050785,000225: # INTYPFLAG
050786,000226: # MOONFLAG
050787,000227: # SET(CLEAR) DLOAD
050788,000228: # DESIRED TIME
050789,000229: # STCALL TDEC1
050790,000230: # INTEGRVS
050791,000231: # INPUT
050792,000232: # RCV POSITION VECTOR METERS
050793,000233: # VCV VELOCITY VECTOR M/CSEC
050794,000234: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
Page 1200 |
050796,000236: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
050797,000237: # (MAY BE INCREMENT IF TET=0)
050798,000238: # OUTPUT
050799,000239: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
050800,000240: # DEPENDING ON INTYPFLG.
050801,000241: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
050802,000242: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
050803,000243: # L-8 CALL
050804,000244: # L-7
050805,000245: # L-6 SET(CLEAR) SET(CLEAR)
050806,000246: # L-5 VINTFLAG 1=CSM, 0=LM
050807,000247: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
050808,000248: # L-3 SET(CLEAR) SET(CLEAR)
050809,000249: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
050810,000250: # L-1 D6OR9FLG 1=9X9, 0=6X6
050811,000251: # L SET DLOAD
050812,000252: # L+1 STATEFLG DESIRE PERMANENT UPDATE
050813,000253: # L+2 FINAL RAD. OF STATE VECTOR
050814,000254: # L+3 STCALL RFINAL
050815,000255: # L+4 INTEGRV
050816,000256: # L CALL NORMAL USE-- WILL UPDATE STATE
050817,000257: # L+1 INTEGRV VECTOR IF DIMOFLAG=1.(STATEFLG IS
050818,000258: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
050819,000259: # IT IS USED.)
050820,000260: # INPUT
050821,000261: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
050822,000262: # OUTPUT
050823,000263: # SAME AS FOR PRECISION OR CONIC INTEGRATION
050824,000264: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
050825,000265: # THE PERMANENT STATE VECTOR REPRESENTATION.
050826,000266:
050827,000267: 11,2404 BANK 11
050828,000268: 13,2000 SETLOC INTINIT
050829,000269: 13,2000 BANK
050830,000270: 13,2604 E3,1554 EBANK= RRECTCSM
050831,000271: 13,2604 COUNT* $$/INTIN
050832,000272: 13,2604 05353 STATEINT TC PHASCHNG
050833,000273: 13,2605 00052 OCT 00052
050834,000274: 13,2606 35017 CAF PRIO5
050835,000275: 13,2607 05105 TC FINDVAC
050836,000276: 13,2610 E3,1554 EBANK= RRECTCSM
050837,000277: 13,2610 02613 26063 2CADR STATINT1
050838,000278:
050839,000279: 13,2612 05261 TC TASKOVER
050840,000280: 13,2613 06042 STATINT1 TC INTPRET
050841,000281: 13,2614 47014 BON RTB
050842,000282: 13,2615 04712 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
050843,000283: 13,2616 26654 NOINT
050844,000284: 13,2617 21574 LOADTIME
050845,000285: 13,2620 00041 STORE TDEC1
Page 1201 |
050847,000287: 13,2621 77624 CALL
050848,000288: 13,2622 27412 INTSTALL
050849,000289: 13,2623 45014 SET CALL
050850,000290: 13,2624 01076 NODOFLAG
050851,000291: 13,2625 26645 SETIFLGS
050852,000292: 13,2626 52014 SET GOTO
050853,000293: 13,2627 01460 POOHFLAG
050854,000294: 13,2630 26026 STATEUP
050855,000295: 13,2631 00003 25140 600SECS 2DEC 60000 B-28
050856,000296:
050857,000297: 13,2633 77414 ENDINT CLEAR EXIT
050858,000298: 13,2634 01672 STATEFLG
050859,000299: 13,2635 05353 TC PHASCHNG
050860,000300: 13,2636 20032 OCT 20032
050861,000301: 13,2637 00006 EXTEND
050862,000302: 13,2640 32632 DCA 600SECS
050863,000303: 13,2641 05277 TC LONGCALL
050864,000304: 13,2642 E3,1626 EBANK= RRECTHIS
050865,000305: 13,2642 02604 26063 2CADR STATEINT
050866,000306:
050867,000307: 13,2644 05155 TC ENDOFJOB
050868,000308: 13,2645 43014 SETIFLGS SET CLEAR
050869,000309: 13,2646 01472 STATEFLG
050870,000310: 13,2647 01673 INTYPFLG
050871,000311: 13,2650 43014 CLEAR CLEAR
050872,000312: 13,2651 01676 DIM0FLAG
050873,000313: 13,2652 01675 D6OR9FLG
050874,000314: 13,2653 77616 RVQ
050875,000315: 13,2654 77776 NOINT EXIT
050876,000316: 13,2655 05353 TC PHASCHNG
050877,000317: 13,2656 00002 OCT 00002
050878,000318:
050879,000319: 13,2657 05516 TC DOWNFLAG
050880,000320: 13,2660 00221 ADRES QUITFLAG
050881,000321: 13,2661 05155 TC ENDOFJOB
050882,000322:
050883,000323: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
050884,000324:
050885,000325: # CALLING SEQUENCE
050886,000326: # L CALL
050887,000327: # L+1 ATOPCSM
050888,000328:
050889,000329: # NORMAL EXIT AT L+2
050890,000330:
050891,000331: 13,2662 47020 ATOPCSM STQ RTB
050892,000332: 13,2663 00051 S2
050893,000333: 13,2664 26675 MOVEACSM
050894,000334: 13,2665 45014 SET CALL
050895,000335: 13,2666 04063 CMOONFLG
050896,000336: 13,2667 26114 SVDWN1
Page 1202 |
050898,000338: 13,2670 43014 BON CLRGO
050899,000339: 13,2671 00303 MOONFLAG
050900,000340: 13,2672 00051 S2
050901,000341: 13,2673 04223 CMOONFLG
050902,000342: 13,2674 00051 S2
050903,000343: 13,2675 03037 MOVEACSM TC SETBANK
050904,000344: 13,2676 55500 TS DIFEQCNT # INITIALIZE INDEX
050905,000345: 13,2677 51500 INDEX DIFEQCNT
050906,000346: 13,2700 31502 CA RRECT
050907,000347: 13,2701 51500 INDEX DIFEQCNT
050908,000348: 13,2702 55554 TS RRECTCSM
050909,000349: 13,2703 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
050910,000350: 13,2704 12676 TCF MOVEACSM +1 # NO-LOOP
050911,000351: 13,2705 06064 TC DANZIG # COMPLETE - RETURN
050912,000352:
050913,000353: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
050914,000354:
050915,000355: # CALLING SEQUENCE
050916,000356: # L CALL
050917,000357: # PTOACSM
050918,000358:
050919,000359: # NORMAL EXIT AT L+2
050920,000360:
050921,000361: 13,2706 43034 PTOACSM RTB BON
050922,000362: 13,2707 26724 MOVEPCSM
050923,000363: 13,2710 04303 CMOONFLG
050924,000364: 13,2711 26717 SETMOON
050925,000365: 13,2712 66214 CLRMOON CLEAR SSP
050926,000366: 13,2713 00263 MOONFLAG
050927,000367: 13,2714 02031 PBODY
050928,000368: 13,2715 00000 0
050929,000369: 13,2716 77616 RVQ
050930,000370: 13,2717 66214 SETMOON SET SSP
050931,000371: 13,2720 00063 MOONFLAG
050932,000372: 13,2721 02031 PBODY
050933,000373: 13,2722 00002 2
050934,000374: 13,2723 77616 RVQ
050935,000375: 13,2724 03037 MOVEPCSM TC SETBANK
050936,000376: 13,2725 55500 TS DIFEQCNT
050937,000377: 13,2726 51500 INDEX DIFEQCNT
050938,000378: 13,2727 31554 CA RRECTCSM
050939,000379: 13,2730 51500 INDEX DIFEQCNT
050940,000380: 13,2731 55502 TS RRECT
050941,000381: 13,2732 11500 CCS DIFEQCNT
050942,000382: 13,2733 12725 TCF MOVEPCSM +1
050943,000383: 13,2734 06064 TC DANZIG
050944,000384:
050945,000385: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
Page 1203 |
050947,000387: 13,2735 47020 ATOPLEM STQ RTB
050948,000388: 13,2736 00051 S2
050949,000389: 13,2737 26750 MOVEALEM
050950,000390: 13,2740 45014 SET CALL
050951,000391: 13,2741 04064 LMOONFLG
050952,000392: 13,2742 26070 SVDWN2
050953,000393: 13,2743 43014 BON CLRGO
050954,000394: 13,2744 00303 MOONFLAG
050955,000395: 13,2745 00051 S2
050956,000396: 13,2746 04224 LMOONFLG
050957,000397: 13,2747 00051 S2
050958,000398: 13,2750 03037 MOVEALEM TC SETBANK
050959,000399: 13,2751 55500 TS DIFEQCNT
050960,000400: 13,2752 51500 INDEX DIFEQCNT
050961,000401: 13,2753 31502 CA RRECT
050962,000402: 13,2754 51500 INDEX DIFEQCNT
050963,000403: 13,2755 55626 TS RRECTLEM
050964,000404: 13,2756 11500 CCS DIFEQCNT
050965,000405: 13,2757 12751 TCF MOVEALEM +1
050966,000406: 13,2760 06064 TC DANZIG
050967,000407:
050968,000408: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
050969,000409:
050970,000410: 13,2761 47014 PTOALEM BON RTB
050971,000411: 13,2762 04307 SURFFLAG
050972,000412: 13,2763 27002 USEPIOS
050973,000413: 13,2764 26771 MOVEPLEM
050974,000414: 13,2765 52014 BON GOTO
050975,000415: 13,2766 04304 LMOONFLG
050976,000416: 13,2767 26717 SETMOON
050977,000417: 13,2770 26712 CLRMOON
050978,000418: 13,2771 03037 MOVEPLEM TC SETBANK
050979,000419: 13,2772 55500 TS DIFEQCNT
050980,000420: 13,2773 51500 INDEX DIFEQCNT
050981,000421: 13,2774 31626 CA RRECTLEM
050982,000422: 13,2775 51500 INDEX DIFEQCNT
050983,000423: 13,2776 55502 TS RRECT
050984,000424: 13,2777 11500 CCS DIFEQCNT
050985,000425: 13,3000 12772 TCF MOVEPLEM +1
050986,000426: 13,3001 06064 TC DANZIG
050987,000427:
050988,000428: 13,3002 77201 USEPIOS SETPD VLOAD
050989,000429: 13,3003 00001 0
050990,000430: 13,3004 02023 RLS
050991,000431: 13,3005 41525 PDDL PUSH
050992,000432: 13,3006 00041 TDEC1
050993,000433: 13,3007 15517 STODL TET
050994,000434: 13,3010 27735 5/8
Page 1204 |
050996,000436: 13,3011 77624 CALL
050997,000437: 13,3012 55716 RP-TO-R
050998,000438: 13,3013 25535 STOVL RCV
050999,000439: 13,3014 24001 ZUNIT
051000,000440: 13,3015 14001 STODL 0D
051001,000441: 13,3016 01517 TET
051002,000442: 13,3017 14007 STODL 6D
051003,000443: 13,3020 27735 5/8
051004,000444: 13,3021 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
051005,000445: 13,3022 00063 MOONFLAG
051006,000446: 13,3023 55716 RP-TO-R
051007,000447: 13,3024 74235 VXV VXSC
051008,000448: 13,3025 01535 RCV
051009,000449: 13,3026 26001 OMEGMOON
051010,000450: 13,3027 25543 STOVL VCV
051011,000451: 13,3030 24007 ZEROVEC
051012,000452: 13,3031 01521 STORE TDELTAV
051013,000453: 13,3032 67174 AXT,2 SXA,2
051014,000454: 13,3033 00002 2
051015,000455: 13,3034 02030 PBODY
051016,000456: 13,3035 35527 STCALL TNUV
051017,000457: 13,3036 27160 A-PCHK
051018,000458: 13,3037 33043 SETBANK CAF INTBANK
051019,000459: 13,3040 54006 TS BBANK
051020,000460: 13,3041 33450 CAF FORTYONE
051021,000461: 13,3042 00002 TC Q
051022,000462: 13,3043 E3,1554 EBANK= RRECTCSM
051023,000463: 13,3043 26063 INTBANK BBCON INTEGRV
051024,000464:
051025,000465: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
051026,000466: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
051027,000467:
051028,000468: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
051029,000469: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
051030,000470: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
051031,000471: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
051032,000472: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
051033,000473: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
051034,000474:
051035,000475: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
051036,000476: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
051037,000477: # CSMPREC CSMCONIC LEMPREC LEMCONIC
051038,000478: # VINTFLAG SET SET CLEAR CLEAR
051039,000479: # INTYPFLG CLEAR SET CLEAR SET
051040,000480: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
051041,000481:
051042,000482: # CALLING SEQUENCE
051043,000483: # L-X STORE TDEC1
Page 1205 |
051045,000485: # L CALL (STCALL TDEC1)
051046,000486: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
051047,000487:
051048,000488: # NORMAL EXIT TO L+2
051049,000489:
051050,000490: # SUBROUTINES CALLED
051051,000491: # INTEGRV1
051052,000492: # PRECOUT FOR CSMPREC AND LEMPREC
051053,000493: # CONICOUT FOR CSMCONIC AND LEMCONIC
051054,000494:
051055,000495: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
051056,000496: # INPUT
051057,000497: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
051058,000498:
051059,000499: 13,3044 45020 CSMPREC STQ CALL
051060,000500: 13,3045 00046 X1
051061,000501: 13,3046 27412 INTSTALL
051062,000502: 13,3047 43130 SXA,1 SET
051063,000503: 13,3050 02102 IRETURN
051064,000504: 13,3051 01474 VINTFLAG
051065,000505:
051066,000506: 13,3052 43014 IFLAGP SET CLEAR
051067,000507: 13,3053 01467 PRECIFLG
051068,000508: 13,3054 01676 DIM0FLAG
051069,000509: 13,3055 77614 CLRGO
051070,000510: 13,3056 01633 INTYPFLG
051071,000511: 13,3057 27137 INTEGRV1
051072,000512: 13,3060 45020 LEMPREC STQ CALL
051073,000513: 13,3061 00046 X1
051074,000514: 13,3062 27412 INTSTALL
051075,000515: 13,3063 43130 SXA,1 CLRGO
051076,000516: 13,3064 02102 IRETURN
051077,000517: 13,3065 01634 VINTFLAG
051078,000518: 13,3066 27052 IFLAGP
051079,000519:
051080,000520: 13,3067 45020 CSMCONIC STQ CALL
051081,000521: 13,3070 00046 X1
051082,000522: 13,3071 27412 INTSTALL
051083,000523: 13,3072 43130 SXA,1 SET
051084,000524: 13,3073 02102 IRETURN
051085,000525: 13,3074 01474 VINTFLAG
051086,000526: 13,3075 43014 IFLAGC CLEAR SETGO
051087,000527: 13,3076 01676 DIM0FLAG
051088,000528: 13,3077 01433 INTYPFLG
051089,000529: 13,3100 27137 INTEGRV1
051090,000530: 13,3101 45020 LEMCONIC STQ CALL
051091,000531: 13,3102 00046 X1
051092,000532: 13,3103 27412 INTSTALL
051093,000533: 13,3104 43130 SXA,1 CLRGO
Page 1206 |
051095,000535: 13,3105 02102 IRETURN
051096,000536: 13,3106 01634 VINTFLAG
051097,000537: 13,3107 27075 IFLAGC
051098,000538:
051099,000539: 13,3110 66214 INTEGRVS SET SSP
051100,000540: 13,3111 01467 PRECIFLG
051101,000541: 13,3112 02031 PBODY
051102,000542: 13,3113 00000 0
051103,000543: 13,3114 66214 BOF SSP
051104,000544: 13,3115 00343 MOONFLAG
051105,000545: 13,3116 27121 +3
051106,000546: 13,3117 02031 PBODY
051107,000547: 13,3120 00002 2
051108,000548: 13,3121 77220 STQ VLOAD
051109,000549: 13,3122 02102 IRETURN
051110,000550: 13,3123 24007 ZEROVEC
051111,000551: 13,3124 01521 STORE TDELTAV
051112,000552: 13,3125 35527 STCALL TNUV
051113,000553: 13,3126 27673 RECTIFY
051114,000554: 13,3127 43014 CLEAR SET
051115,000555: 13,3130 01676 DIM0FLAG
051116,000556: 13,3131 04062 NEWIFLG
051117,000557: 13,3132 77614 SETGO
051118,000558: 13,3133 04020 RPQFLAG
051119,000559: 13,3134 27151 ALOADED
051120,000560:
051121,000561: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
051122,000562: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
051123,000563: # IS ENTERED AT INTEGRV1 BY CSMPREC ET.AL. AND AT ALOADED BY INTEGRVS.
051124,000564: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
051125,000565: # PROGRAM FOR PRECISION OR CONIC
051126,000566:
051127,000567: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
051128,000568: # SETTING ANY FLAGS.
051129,000569: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
051130,000570: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
051131,000571: # INTYPFLG
051132,000572: # DIM0FLAG
051133,000573: # D6OR9FLG
051134,000574:
051135,000575: # CALLING SEQUENCE
051136,000576: # L-X CALL
051137,000577: # L-Y INTSTALL
051138,000578: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
051139,000579: # AND DIM0FLAG IS CLEAR.
051140,000580: # L CALL
051141,000581: # L+1 INTEGRV
051142,000582:
051143,000583: # INITIALIZATION
051144,000584: # FLAGS AS ABOVE
051145,000585: # STORE TIME TO INTEGRATE TO IN TDEC1
051146,000586:
051147,000587: # OUTPUT
051148,000588: # RATT AS
Page 1207 |
051150,000590: # VATT DEFINED
051151,000591: # TAT BEFORE
051152,000592:
051153,000593: 13,3135 77620 INTEGRV STQ
051154,000594: 13,3136 02102 IRETURN
051155,000595: 13,3137 43014 INTEGRV1 SET SET
051156,000596: 13,3140 04060 RPQFLAG
051157,000597: 13,3141 04062 NEWIFLG
051158,000598: 13,3142 77731 INTEGRV2 SSP
051159,000599: 13,3143 00053 QPRET
051160,000600: 13,3144 27151 ALOADED
051161,000601: 13,3145 52014 BON GOTO
051162,000602: 13,3146 01714 VINTFLAG
051163,000603: 13,3147 26706 PTOACSM
051164,000604: 13,3150 26761 PTOALEM
051165,000605: 13,3151 77745 ALOADED DLOAD
051166,000606: 13,3152 00041 TDEC1
051167,000607: 13,3153 01115 STORE TDEC
051168,000608: 13,3154 52014 BOFF GOTO
051169,000609: 13,3155 01753 INTYPFLG
051170,000610: 13,3156 27260 TESTLOOP
051171,000611: 13,3157 27244 RVCON
051172,000612: 13,3160 77414 A-PCHK BOF EXIT
051173,000613: 13,3161 01752 STATEFLG
051174,000614: 13,3162 27201 RECTOUT
051175,000615: 13,3163 05353 TC PHASCHNG
051176,000616: 13,3164 04022 OCT 04022
051177,000617: 13,3165 05504 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
051178,000618: 13,3166 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
051179,000619: 13,3167 06042 TC INTPRET
051180,000620: 13,3170 77731 SSP
051181,000621: 13,3171 00053 QPRET
051182,000622: 13,3172 27177 PHEXIT
051183,000623: 13,3173 52014 BON GOTO
051184,000624: 13,3174 01714 VINTFLAG
051185,000625: 13,3175 26662 ATOPCSM
051186,000626: 13,3176 26735 ATOPLEM
051187,000627: 13,3177 77624 PHEXIT CALL
051188,000628: 13,3200 11226 GRP2PC
051189,000629: 13,3201 45001 RECTOUT SETPD CALL
051190,000630: 13,3202 00001 0
051191,000631: 13,3203 27673 RECTIFY
051192,000632: 13,3204 53775 VLOAD VSL*
051193,000633: 13,3205 01503 RRECT
051194,000634: 13,3206 57576 0,2
051195,000635: 13,3207 53715 PDVL VSL* # RATT TO PD0
051196,000636: 13,3210 01511 VRECT
051197,000637: 13,3211 57576 0,2
051198,000638: 13,3212 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
Page 1208 |
051200,000640: 13,3213 01517 TET
051201,000641: 13,3214 01503 RRECT
051202,000642: 13,3215 64715 PDVL PDDL*
051203,000643: 13,3216 01511 VRECT
051204,000644: 13,3217 51770 MUEARTH,2
051205,000645: 13,3220 76006 PUSH AXT,1
051206,000646: 13,3221 77765 DEC -10 B-14
051207,000647: 13,3222 76014 BON AXT,1
051208,000648: 13,3223 00303 MOONFLAG
051209,000649: 13,3224 27226 +2
051210,000650: 13,3225 77775 DEC -2 B-14
051211,000651: 13,3226 40001 INTEXIT SETPD BOV
051212,000652: 13,3227 00001 0
051213,000653: 13,3230 27231 +1
051214,000654: 13,3231 43014 CLEAR CLEAR
051215,000655: 13,3232 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
051216,000656: 13,3233 01667 PRECIFLG
051217,000657: 13,3234 77614 CLEAR
051218,000658: 13,3235 01672 STATEFLG
051219,000659: 13,3236 77535 SLOAD EXIT
051220,000660: 13,3237 02103 IRETURN
051221,000661: 13,3240 30154 CA MPAC
051222,000662: 13,3241 50120 INDEX FIXLOC
051223,000663: 13,3242 54052 TS QPRET
051224,000664: 13,3243 03423 TC INTWAKE
051225,000665:
051226,000666: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
051227,000667: # VELOCITY FOR THE INTERVAL (TET-TDEC)
051228,000668:
051229,000669: 13,3244 45345 RVCON DLOAD DSU
051230,000670: 13,3245 01115 TDEC
051231,000671: 13,3246 01517 TET
051232,000672: 13,3247 36074 STCALL TAU.
051233,000673: 13,3250 27673 RECTIFY
051234,000674: 13,3251 77624 CALL
051235,000675: 13,3252 22404 KEPPREP
051236,000676: 13,3253 43345 DLOAD DAD
051237,000677: 13,3254 01551 TC
051238,000678: 13,3255 01517 TET
051239,000679: 13,3256 35517 STCALL TET
051240,000680: 13,3257 27201 RECTOUT
051241,000681:
Page 1209 |
051243,000683: # TESTLOOP
051244,000684:
051245,000685: 13,3260 43014 TESTLOOP BOF CLRGO
051246,000686: 13,3261 04752 QUITFLAG
051247,000687: 13,3262 27265 +3
051248,000688: 13,3263 01632 STATEFLG
051249,000689: 13,3264 27226 INTEXIT # STOP INTEGRATION
051250,000690: 13,3265 73001 +3 SETPD LXA,2
051251,000691: 13,3266 00013 10D
051252,000692: 13,3267 02030 PBODY
051253,000693: 13,3270 51575 VLOAD ABVAL
051254,000694: 13,3271 01535 RCV
051255,000695: 13,3272 43006 PUSH CLEAR # RC TO 10D
051256,000696: 13,3273 00262 MIDFLAG
051257,000697: 13,3274 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
051258,000698: 13,3275 53755 RME,2
051259,000699: 13,3276 27301 +3
051260,000700: 13,3277 77614 SET
051261,000701: 13,3300 00062 MIDFLAG
051262,000702: 13,3301 41345 NORFINAL DLOAD DMP
051263,000703: 13,3302 00013 10D
051264,000704: 13,3303 00043 34D
051265,000705: 13,3304 55762 SR1R DDV*
051266,000706: 13,3305 51770 MUEARTH,2
051267,000707: 13,3306 41366 SQRT DMP
051268,000708: 13,3307 25762 .3D
051269,000709: 13,3310 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
051270,000710: 13,3311 54345 DLOAD SL
051271,000711: 13,3312 00155 MPAC
051272,000712: 13,3313 20220 15D # OF 128 CSECS.
051273,000713: 13,3314 40006 PUSH BOV
051274,000714: 13,3315 27342 MAXDT
051275,000715: 13,3316 50021 BDSU BMN
051276,000716: 13,3317 27411 DT/2MAX
051277,000717: 13,3320 27342 MAXDT
051278,000718: 13,3321 45345 DT/2COMP DLOAD DSU
051279,000719: 13,3322 01115 TDEC
051280,000720: 13,3323 01517 TET
051281,000721: 13,3324 54234 RTB SL
051282,000722: 13,3325 21613 SGNAGREE
051283,000723: 13,3326 20211 8D
051284,000724: 13,3327 02076 STORE DT/2 # B-19
051285,000725: 13,3330 51400 BOV ABS
051286,000726: 13,3331 27346 GETMAXDT
051287,000727: 13,3332 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
051288,000728: 13,3333 00015 12D
051289,000729: 13,3334 27352 P00HCHK
051290,000730: 13,3335 75345 USEMAXDT DLOAD SIGN
051291,000731: 13,3336 00015 12D
051292,000732: 13,3337 02076 DT/2
Page 1210 |
051294,000734: 13,3340 36076 STCALL DT/2
051295,000735: 13,3341 27352 P00HCHK
051296,000736: 13,3342 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
051297,000737: 13,3343 27411 DT/2MAX
051298,000738: 13,3344 77650 GOTO
051299,000739: 13,3345 27321 DT/2COMP
051300,000740: 13,3346 77634 GETMAXDT RTB
051301,000741: 13,3347 21713 SIGNMPAC
051302,000742: 13,3350 36076 STCALL DT/2
051303,000743: 13,3351 27335 USEMAXDT
051304,000744: 13,3352 51545 P00HCHK DLOAD ABS
051305,000745: 13,3353 02076 DT/2
051306,000746: 13,3354 50025 DSU BMN
051307,000747: 13,3355 27407 DT/2MIN
051308,000748: 13,3356 27160 A-PCHK
051309,000749: 13,3357 43014 BOFF BON # NO BACKWARDS INTEGRATION
051310,000750: 13,3360 01740 POOHFLAG # WHEN IN POO
051311,000751: 13,3361 23311 TIMESTEP
051312,000752: 13,3362 01707 PRECIFLG
051313,000753: 13,3363 23311 TIMESTEP
051314,000754: 13,3364 45345 DLOAD DSU
051315,000755: 13,3365 02076 DT/2
051316,000756: 13,3366 00015 12D
051317,000757: 13,3367 43040 BMN BOFCLR
051318,000758: 13,3370 27160 A-PCHK
051319,000759: 13,3371 04242 NEWIFLG
051320,000760: 13,3372 23311 TIMESTEP
051321,000761: 13,3373 45345 DLOAD DSU
051322,000762: 13,3374 01115 TDEC
051323,000763: 13,3375 01517 TET
051324,000764: 13,3376 77640 BMN # NO BACKWARD INTEGRATION
051325,000765: 13,3377 27226 INTEXIT
051326,000766: 13,3400 40525 PDDL SR4
051327,000767: 13,3401 02076 DT/2 # IS 4(DT) LS (TDEC - TET)
051328,000768: 13,3402 44322 SR2R BDSU # NO
051329,000769: 13,3403 52040 BMN GOTO
051330,000770: 13,3404 27226 INTEXIT
051331,000771: 13,3405 23311 TIMESTEP
051332,000772: 13,3406 00000 01400 DT/2MIN 2DEC 3 B-20
051333,000773:
051334,000774: 13,3410 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
051335,000775:
051336,000776: 13,3412 77776 INTSTALL EXIT
051337,000777: 13,3413 30106 CA RASFLAG
051338,000778: 13,3414 73464 MASK INTBITAB # IS THIS STALL AREA FREE
051339,000779: 13,3415 00006 EXTEND
051340,000780: 13,3416 13456 BZF OKTOGRAB # YES
051341,000781: 13,3417 33463 CAF WAKESTAL
051342,000782: 13,3420 05133 TC JOBSLEEP
051343,000783: 13,3421 77776 INTWAKE0 EXIT
Page 1211 |
051345,000785: 13,3422 13443 TCF INTWAKE1
051346,000786:
051347,000787: 13,3423 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
051348,000788: 13,3424 74745 MASK REINTBIT # RESTARTED
051349,000789: 13,3425 10000 CCS A
051350,000790: 13,3426 03443 TC INTWAKE1 # NO
051351,000791:
051352,000792: 13,3427 50120 INDEX FIXLOC
051353,000793: 13,3430 30052 CA QPRET
051354,000794: 13,3431 55054 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
051355,000795:
051356,000796: 13,3432 05353 TC PHASCHNG
051357,000797: 13,3433 04022 OCT 04022
051358,000798:
051359,000799: 13,3434 31054 CA TBASE2
051360,000800: 13,3435 50120 INDEX FIXLOC
051361,000801: 13,3436 54052 TS QPRET
051362,000802:
051363,000803: 13,3437 34745 CAF REINTBIT
051364,000804: 13,3440 70106 MASK RASFLAG
051365,000805: 13,3441 00006 EXTEND
051366,000806: 13,3442 13461 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
051367,000807:
051368,000808: 13,3443 33463 INTWAKE1 CAF WAKESTAL
051369,000809: 13,3444 00004 INHINT
051370,000810: 13,3445 05137 TC JOBWAKE
051371,000811: 13,3446 10064 CCS LOCCTR
051372,000812: 13,3447 13443 TCF INTWAKE1
051373,000813: 13,3450 00051 FORTYONE DEC 41 B-14
051374,000814: 13,3451 43464 CS INTBITAB
051375,000815: 13,3452 70106 MASK RASFLAG
051376,000816: 13,3453 54106 TS RASFLAG # RELEASE STALL AREA
051377,000817: 13,3454 00003 RELINT
051378,000818: 13,3455 13461 TCF GOBAC
051379,000819: 13,3456 34736 OKTOGRAB CAF INTFLBIT
051380,000820: 13,3457 00004 INHINT
051381,000821: 13,3460 26106 ADS RASFLAG
051382,000822: 13,3461 06042 GOBAC TC INTPRET
051383,000823: 13,3462 77616 RVQ
051384,000824: 13,3463 27413 WAKESTAL CADR INTSTALL +1
051385,000825: 13,3464 20100 INTBITAB OCT 20100
051386,000826:
Page 1212 |
051388,000828: # AVETOMID
051389,000829:
051390,000830: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
051391,000831: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
051392,000832: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
051393,000833:
051394,000834: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (OR WFLAG OR RENDWFLG IS
051395,000835: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
051396,000836:
051397,000837: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
051398,000838:
051399,000839: # FINALLY TRKMKCNT IS ZEROED
051400,000840:
051401,000841: 13,2000 SETLOC INTINIT
051402,000842: 13,2000 BANK
051403,000843:
051404,000844: 13,3465 COUNT* $$/INTIN
051405,000845: 13,3465 43020 AVETOMID STQ BON
051406,000846: 13,3466 02772 EGRESS
051407,000847: 13,3467 02716 RENDWFLG
051408,000848: 13,3470 27534 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051409,000849: 13,3471 77614 BON
051410,000850: 13,3472 01711 ORBWFLAG
051411,000851: 13,3473 27534 INT/W # W-MATRIX VALID, GO INTEGRATE IT
051412,000852:
051413,000853: 13,3474 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
051414,000854: 13,3475 01234 PIPTIME # DESIRED TIME
051415,000855: 13,3476 27412 INTSTALL
051416,000856: 13,3477 45014 SET CALL
051417,000857: 13,3500 01474 VINTFLAG # CM
051418,000858: 13,3501 26645 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
051419,000859: 13,3502 34041 STCALL TDEC1
051420,000860: 13,3503 27135 INTEGRV
051421,000861:
051422,000862: 13,3504 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
051423,000863: 13,3505 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
051424,000864: 13,3506 27412 INTSTALL
051425,000865: 13,3507 77014 BON AXT,2
051426,000866: 13,3510 04304 MOONTHIS
051427,000867: 13,3511 27513 +2
051428,000868: 13,3512 00000 0
051429,000869: 13,3513 53775 VLOAD VSR*
051430,000870: 13,3514 01220 RN
051431,000871: 13,3515 57176 0,2
051432,000872: 13,3516 01503 STORE RRECT
051433,000873: 13,3517 15535 STODL RCV
051434,000874: 13,3520 01234 PIPTIME
051435,000875: 13,3521 25517 STOVL TET
051436,000876: 13,3522 01226 VN
Page 1213 |
051438,000878: 13,3523 45057 VSR* CALL
051439,000879: 13,3524 57176 0,2
051440,000880: 13,3525 27707 MINIRECT # FINISH SETTING UP STATE VECTOR
051441,000881: 13,3526 66234 RTB SSP
051442,000882: 13,3527 26750 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
051443,000883: 13,3530 03463 TRKMKCNT
051444,000884: 13,3531 00000 0
051445,000885: 13,3532 77650 GOTO
051446,000886: 13,3533 47230 FAZAB5
051447,000887:
051448,000888: 13,3534 45145 INT/W DLOAD CALL
051449,000889: 13,3535 01234 PIPTIME # INTEGRATE W THRU BURN
051450,000890: 13,3536 27412 INTSTALL
051451,000891: 13,3537 43014 SET SET
051452,000892: 13,3540 01476 DIM0FLAG # DO W-MATRIX
051453,000893: 13,3541 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
051454,000894: 13,3542 43014 SET CLEAR
051455,000895: 13,3543 01475 D6OR9FLG # 9X9 FOR LM
051456,000896: 13,3544 01674 VINTFLAG # LM
051457,000897: 13,3545 34041 STCALL TDEC1
051458,000898: 13,3546 27135 INTEGRV
051459,000899: 13,3547 77650 GOTO
051460,000900: 13,3550 27474 OTHERS # NOW GO DO THE OTHER VEHICLE
051461,000901:
Page 1214 |
051463,000903: # MIDTOAV1
051464,000904:
051465,000905: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
051466,000906: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
051467,000907: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
051468,000908: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
051469,000909: # IS DONE TO THE CURRENT TIME.
051470,000910: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
051471,000911:
051472,000912: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
051473,000913: # TO THE RETURN ADDRESS
051474,000914:
051475,000915: # IN EITHER CASE , BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
051476,000916: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
051477,000917: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
051478,000918: # TAT MINUS CURRENT TIME.
051479,000919:
051480,000920: # MIDTOAV2
051481,000921:
051482,000922: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
051483,000923: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
051484,000924: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
051485,000925:
051486,000926: 13,3551 E7,1744 EBANK= IRETURN1
051487,000927: 13,3551 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
051488,000928: 13,3552 03744 IRETURN1
051489,000929: 13,3553 04634 MID1FLAG
051490,000930: 13,3554 27570 ENTMID2
051491,000931:
051492,000932: 13,3555 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
051493,000933: 13,3556 03744 IRETURN1
051494,000934: 13,3557 04474 MID1FLAG
051495,000935: 13,3560 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
051496,000936: 13,3561 21574 LOADTIME
051497,000937: 13,3562 27672 TIMEDELT
051498,000938: 13,3563 51021 BDSU BPL
051499,000939: 13,3564 00041 TDEC1
051500,000940: 13,3565 27574 ENTMID1 # Y5S
051501,000941: 13,3566 77624 CALL
051502,000942: 13,3567 27660 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
051503,000943:
051504,000944: 13,3570 43234 ENTMID2 RTB DAD
051505,000945: 13,3571 21574 LOADTIME
051506,000946: 13,3572 27672 TIMEDELT
051507,000947: 13,3573 00041 STORE TDEC1
051508,000948:
051509,000949: 13,3574 77624 ENTMID1 CALL
051510,000950: 13,3575 27412 INTSTALL
051511,000951: 13,3576 45014 CLEAR CALL
Page 1215 |
051513,000953: 13,3577 01676 DIM0FLAG # NO W-MATRIX
051514,000954: 13,3600 26066 THISVINT
051515,000955: 13,3601 43014 CLEAR SET
051516,000956: 13,3602 01673 INTYPFLG
051517,000957: 13,3603 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
051518,000958: 13,3604 77624 CALL
051519,000959: 13,3605 27135 INTEGRV # GO INTEGRATE
051520,000960: 13,3606 77214 CLEAR VLOAD
051521,000961: 13,3607 04675 MIDAVFLG
051522,000962: 13,3610 00001 RATT
051523,000963: 13,3611 27545 STOVL RN1
051524,000964: 13,3612 00007 VATT
051525,000965: 13,3613 17553 STODL VN1
051526,000966: 13,3614 00015 TAT
051527,000967: 13,3615 03561 STORE PIPTIME1
051528,000968: 13,3616 66134 SXA,2 SXA,1
051529,000969: 13,3617 02777 RTX2
051530,000970: 13,3620 02776 RTX1
051531,000971: 13,3621 77776 EXIT
051532,000972:
051533,000973: 13,3622 00004 INHINT
051534,000974: 13,3623 00006 EXTEND
051535,000975: 13,3624 40025 DCS TIME2
051536,000976: 13,3625 20155 DAS MPAC
051537,000977: 13,3626 07262 TC TPAGREE
051538,000978:
051539,000979: 13,3627 31744 CA IRETURN1
051540,000980: 13,3630 04640 TC BANKJUMP
051541,000981: 13,3631 47014 CKMID2 BOF RTB
051542,000982: 13,3632 04754 MID1FLAG
051543,000983: 13,3633 27650 MID2
051544,000984: 13,3634 21574 LOADTIME
051545,000985: 13,3635 44215 DAD BDSU
051546,000986: 13,3636 27672 TIMEDELT
051547,000987: 13,3637 01115 TDEC
051548,000988: 13,3640 45044 BPL CALL
051549,000989: 13,3641 27260 TESTLOOP # YES
051550,000990: 13,3642 27660 NOTIME
051551,000991:
051552,000992: 13,3643 43234 TIMEINC RTB DAD
051553,000993: 13,3644 21574 LOADTIME
051554,000994: 13,3645 27672 TIMEDELT
051555,000995: 13,3646 35115 STCALL TDEC
051556,000996: 13,3647 27260 TESTLOOP
051557,000997:
051558,000998: 13,3650 45345 MID2 DLOAD DSU
051559,000999: 13,3651 01115 TDEC
051560,001000: 13,3652 01517 TET
051561,001001: 13,3653 45246 ABS DSU
051562,001002: 13,3654 27670 3CSECS
051563,001003:
Page 1216 |
051565,001005: 13,3655 52040 BMN GOTO
051566,001006: 13,3656 27160 A-PCHK
051567,001007: 13,3657 27643 TIMEINC
051568,001008:
051569,001009: 13,3660 77414 NOTIME CLEAR EXIT # TOO LATE
051570,001010: 13,3661 04674 MID1FLAG
051571,001011: 13,3662 25744 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
051572,001012: 13,3663 05567 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
051573,001013: 13,3664 01703 OCT 1703 # TIG WILL BE SLIPPED...
051574,001014: 13,3665 06042 TC INTPRET
051575,001015: 13,3666 77616 RVQ
051576,001016:
051577,001017: 13,3667 00000 00003 3CSECS 2DEC 3 B-28
051578,001018:
051579,001019: 13,3671 00000 03720 TIMEDELT 2DEC 2000 B-28
051580,001020:
051581,001021: 27,3360 BANK 27
051582,001022: 04,2000 SETLOC UPDATE2
051583,001023: 04,2000 BANK
051584,001024: 04,3147 1166 EBANK= INTWAKUQ
051585,001025:
051586,001026: 04,3147 COUNT* $$/INTIN
051587,001027:
051588,001028: 04,3147 1166 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
051589,001029:
051590,001030: 04,3147 00003 INTWAKEU RELINT
051591,001031: 04,3150 00006 EXTEND
051592,001032: 04,3151 23166 QXCH INTWAKUQ # SAVE Q FOR RETURN
051593,001033:
051594,001034: 04,3152 06042 TC INTPRET
051595,001035:
051596,001036: 04,3153 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
051597,001037: 04,3154 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
051598,001038: 04,3155 11214 INTWAKUP
051599,001039:
051600,001040: 04,3156 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
051601,001041: 04,3157 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
051602,001042: 04,3160 25535 STOVL RCV
051603,001043: 04,3161 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
051604,001044: 04,3162 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
051605,001045: 04,3163 27710 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
051606,001046: 04,3164 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
051607,001047: 04,3165 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
051608,001048: 04,3166 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
051609,001049: 04,3167 11225 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
051610,001050: 04,3170 11175 INTWAKEM # SPHERE OF INFLUENCE.........
051611,001051: 04,3171 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
051612,001052: 04,3172 00000 DEC 0 B-14
051613,001053: 04,3173 00223 MOONFLAG
Page 1217 |
051615,001055: 04,3174 11200 INTWAKEC
051616,001056: 04,3175 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
051617,001057: 04,3176 00002 DEC 2 B-14
051618,001058: 04,3177 00063 MOONFLAG
051619,001059: 04,3200 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
051620,001060: # MOONFLAG SET (OR CLEARED).
051621,001061: 04,3201 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
051622,001062: 04,3202 11210 INTWAKLM # STATE VECTOR UPDATE......
051623,001063: 04,3203 77624 CALL # UPDATE CSM STATE VECTOR
051624,001064: 04,3204 26662 ATOPCSM
051625,001065:
051626,001066: 04,3205 52014 CLEAR GOTO
051627,001067: 04,3206 01671 ORBWFLAG
051628,001068: 04,3207 11212 INTWAKEX
051629,001069:
051630,001070: 04,3210 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
051631,001071: 04,3211 26735 ATOPLEM
051632,001072:
051633,001073: 04,3212 77614 INTWAKEX CLEAR
051634,001074: 04,3213 02676 RENDWFLG
051635,001075:
051636,001076: 04,3214 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
051637,001077: 04,3215 01502 UPSVFLAG
051638,001078: 04,3216 00000 0
051639,001079: 04,3217 27421 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
051640,001080: 04,3220 77776 EXIT
051641,001081:
051642,001082: 04,3221 05353 TC PHASCHNG
051643,001083: 04,3222 04026 OCT 04026
051644,001084: 04,3223 01166 TC INTWAKUQ
051645,001085:
051646,001086: 04,3224 00002 UPMNSVCD OCT 2
051647,001087: 04,3225 00000 OCT 0
051648,001088:
051649,001089: 04,3226 77420 GRP2PC STQ EXIT
051650,001090: 04,3227 02711 GRP2SVQ
051651,001091: 04,3230 05353 TC PHASCHNG
051652,001092: 04,3231 04022 OCT 04022
051653,001093: 04,3232 06042 TC INTPRET
051654,001094: 04,3233 77650 GOTO
051655,001095: 04,3234 02711 GRP2SVQ
051656,001096:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc