Source Code
These source code files are a reconstruction of Sundance, the Apollo 9 LM (Lunar Module) AGC
(Apollo Guidance Computer) flight software, created from binary dumps of original core rope
program modules, as follows:
Since only binary dumps (rather than listings) of Sundance are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
046569,000002: ## Copyright: Public domain.
046570,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
046571,000004: ## Purpose: A section of a reconstructed, mixed version of Sundance
046572,000005: ## It is part of the reconstructed source code for the Lunar
046573,000006: ## Module's (LM) Apollo Guidance Computer (AGC) for Apollo 9.
046574,000007: ## No original listings of this program are available;
046575,000008: ## instead, this file was created via disassembly of dumps
046576,000009: ## of various revisions of Sundance core rope modules.
046577,000010: ## Assembler: yaYUL
046578,000011: ## Contact: Ron Burkey <info@sandroid.org>.
046579,000012: ## Website: www.ibiblio.org/apollo/index.html
046580,000013: ## Mod history: 2020-06-17 MAS Created from Luminary 69.
046581,000014:
046582,000015: ## Sundance 302
046583,000016:
046584,000017: # 1.0 INTRODUCTION
046585,000018: # ----------------
046586,000019:
046587,000020: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
046588,000021: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
046589,000022: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
046590,000023: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
046591,000024: # SIDE THE LUNAR SPHERE OF INFLUENCE.
046592,000025:
046593,000026: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
046594,000027: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
046595,000028: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
046596,000029: # CALL TC INTSTALL.
046597,000030:
046598,000031: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
046599,000032: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
046600,000033: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
046601,000034: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
046602,000035: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
046603,000036:
046604,000037: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
046605,000038: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
046606,000039: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
046607,000040: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
046608,000041:
046609,000042: # 2.0 GENERAL DESCRIPTION
046610,000043: # -----------------------
046611,000044:
046612,000045: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS---
046613,000046: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
046614,000047: # 2) INTEGRATES THE W-MATRIX
046615,000048: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
046616,000049:
046617,000050: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
046618,000051: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
046619,000052: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
046620,000053: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
046621,000054: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
046622,000055: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
046623,000056: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
046624,000057: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
046625,000058: # AND/OR STATE VECTOR.
046626,000059:
046627,000060: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
046628,000061: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
046629,000062: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
046630,000063:
046631,000064: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
046632,000065: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
046633,000066: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
046634,000067:
046635,000068: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
046636,000069:
046637,000070: # 2.1 RESTARTS
046638,000071:
046639,000072: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
046640,000073: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
046641,000074: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
046642,000075: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
046643,000076: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
046644,000077: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
046645,000078: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
046646,000079:
046647,000080: # 2.2 SCALING
046648,000081:
046649,000082: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
046650,000083: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTORDEPENDS ON THE ORIGIN OF THE COORDINATE
046651,000084: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
046652,000085: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
046653,000086: # DIFFERENT SCALING.
046654,000087: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
046655,000088:
046656,000089: # 3.0 INPUT/OUTPUT
046657,000090: # ----------------
046658,000091:
046659,000092: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
046660,000093: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
046661,000094: # FOR INTEGRVS, THE RCV,VCV, TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
046662,000095:
046663,000096: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
046664,000097: # EARTH MOON
046665,000098: # 29 27
046666,000099: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
046667,000100:
046668,000101: # 7 5
046669,000102: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
046670,000103:
046671,000104: # 28 28
046672,000105: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
046673,000106: # CUSTOMARILY 0, BUT NOTE LUNAR
046674,000107: # ORBIT DEPENDENCE ON REAL TIME.
046675,000108:
046676,000109: # 22 18
046677,000110: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
046678,000111: # 0 IF TCCSM(LEM) = 0
046679,000112:
046680,000113: # 3 -1
046681,000114: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
046682,000115: # 0 IF TCCSM(LEM) = 0
046683,000116: # 29 27
046684,000117: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
046685,000118: # EQUALS RRECTCSM(LEM) IF
046686,000119: # TCCSM(LEM) = 0
046687,000120:
046688,000121: # 7 5
046689,000122: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
046690,000123: # EQUALS VRECTCSM(LEM) IF
046691,000124: # TCCSM(LEM) = 0
046692,000125:
046693,000126: # 28 28
046694,000127: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
046695,000128: # CUSTOMARILY 0
046696,000129:
046697,000130: # 1/2 17 16
046698,000131: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
046699,000132: # 0 IF TCCSM(LEM) = 0
046700,000133:
046701,000134: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
046702,000135: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
046703,000136: # LMOONFLG C = CSM, L = LM 0 0
046704,000137: # LMIDFLG 0,1 0,1
046705,000138:
046706,000139: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
046707,000140:
046708,000141: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
046709,000142: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
046710,000143: # ROUTINE MUST BE PRESET.
046711,000144:
046712,000145: # OUTPUT
046713,000146: # AFTER EVERY CALL TO INTEGRATION
046714,000147: # EARTH MOON
046715,000148: # 29 29
046716,000149: # 0D RATT POSITION METERS 2 2
046717,000150: # 7 7
046718,000151: # 6D VATT VELOCITY M/CSEC 2 2
046719,000152: # 28 28
046720,000153: # 12D TAT TIME 2 2
046721,000154: # 29 27
046722,000155: # 14D RATT1 POSITION METERS 2 2
046723,000156: # 7 5
046724,000157: # 20D VATT1 VELOCITY M/CSEC 2 2
046725,000158: # 3 2 36 30
046726,000159: # 26D MU(P) MU M /CS 2 2
046727,000160:
046728,000161: # X1 MUTABLE ENTRY -2 -10D
046729,000162:
046730,000163: # X2 COORDINT
046731,000164: # X2 COORDINATE SYSTEM ORIGEN 0 2
046732,000165: # (THIS, NOT MOONFLAG, SHOULD BE
046733,000166: # USED TO DETERMINE ORIGIN.)
046734,000167:
046735,000168: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
046736,000169: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
046737,000170: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
046738,000171: # CALLING PROGRAM.
046739,000172:
046740,000173: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
046741,000174: # -------------------------------------
046742,000175:
046743,000176: # A) PRECISION ORBITAL INTEGRATION. CSMPREC,LEMPREC ENTRANCES
046744,000177: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
046745,000178: # L CALL
046746,000179: # L+1 CSMPREC (OR LEMPREC)
046747,000180: # L+2 RETURN
046748,000181: # INPUT 28
046749,000182: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
046750,000183: # OUTPUT
046751,000184: # THE DATA LISTED IN SECTION 3.0 PLUS
046752,000185: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
046753,000186: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
046754,000187: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
046755,000188: # L-X STORE TIME IN PUSH LIST (TDEC1)
046756,000189: # L CALL
046757,000190: # L+1 CSMCONIC (OR LEMCONIC)
046758,000191: # INPUT/OUTPUT
046759,000192: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
046760,000193: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
046761,000194: # CALL
046762,000195: # INTSTALL
046763,000196: # VLOAD
046764,000197: # POSITION VECTOR
046765,000198: # STOVL RCV
046766,000199: # VELOCITY VECTOR
046767,000200: # STODL VCV
046768,000201: # TIME STATE VECTOR VALID
046769,000202: # STODL TET
046770,000203: # FINAL RADIUS
046771,000204: # STORE RFINAL
046772,000205: # SET(CLEAR) SET(CLEAR)
046773,000206: # INTYPFLAG
046774,000207: # MOONFLAG
046775,000208: # SET(CLEAR) DLOAD
046776,000209: # DESIRED TIME
046777,000210: # STCALL TDEC1
046778,000211: # INTEGRVS
046779,000212: # INPUT
046780,000213: # RCV POSITION VECTOR METERS
046781,000214: # VCV VELOCITY VECTOR M/CSEC
046782,000215: # TET TIME OF STATE VECTOR(MAY = 0) CSEC B-28
046783,000216: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
046784,000217: # (MAY BE INCREMENT IF TET=0)
046785,000218: # OUTPUT
046786,000219: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
046787,000220: # DEPENDING ON INTYPFLG.
046788,000221: # D) INTEGRATE STATE VECTOR.INTGRV ENTRANCE
046789,000222: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
046790,000223: # L-8 CALL
046791,000224: # L-7
046792,000225: # L-6 SET(CLEAR) SET(CLEAR)
046793,000226: # L-5 VINTFLAG 1=CSM, 0=LM
046794,000227: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
046795,000228: # L-3 SET(CLEAR) SET(CLEAR)
046796,000229: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
046797,000230: # L-1 D6OR9FLG 1=9X9, 0=6X6
046798,000231: # L SET DLOAD
046799,000232: # L+1 STATEFLG DESIRE PERMANENT UPDATE
046800,000233: # L+2 FINAL RAD. OF STATE VECTOR
046801,000234: # L+3 STCALL RFINAL
046802,000235: # L+4 INTEGRV
046803,000236: # L CALL NORMAL USE-- WILL UPDATE STATE
046804,000237: # L+1 INTEGRV VECTOR IF DIMOFLAG=1.(STATEFLG IS
046805,000238: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
046806,000239: # IT IS USED.)
046807,000240: # INPUT
046808,000241: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
046809,000242: # OUTPUT
046810,000243: # SAME AS FOR PRECISION OR CONIC INTEGRATION
046811,000244: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
046812,000245: # THE PERMANENT STATE VECTOR REPRESENTATION.
046813,000246:
046814,000247: 11,2312 BANK 11
046815,000248: 13,2000 SETLOC INTINIT
046816,000249: 13,2000 BANK
046817,000250: 13,2562 E3,1554 EBANK= RRECTCSM
046818,000251: 13,2562 COUNT* $$/INTIN
046819,000252: 13,2562 05413 STATEINT TC PHASCHNG
046820,000253: 13,2563 00052 OCT 00052
046821,000254: 13,2564 35067 CAF PRIO5
046822,000255: 13,2565 05155 TC FINDVAC
046823,000256: 13,2566 E3,1554 EBANK= RRECTCSM
046824,000257: 13,2566 02571 26063 2CADR STATINT1
046825,000258:
046826,000259: 13,2570 05321 TC TASKOVER
046827,000260: 13,2571 06014 STATINT1 TC INTPRET
046828,000261: 13,2572 47014 BONCLR RTB
046829,000262: 13,2573 04612 QUITFLAG # KILL INTEGRATION UNTIL NEXT POO.
046830,000263: 13,2574 26610 ENDINT
046831,000264: 13,2575 21454 LOADTIME
046832,000265: 13,2576 00041 STORE TDEC1
046833,000266: 13,2577 77624 CALL
046834,000267: 13,2600 27362 INTSTALL
046835,000268: 13,2601 45014 SET CALL
046836,000269: 13,2602 01076 NODOFLAG
046837,000270: 13,2603 26622 SETIFLGS
046838,000271: 13,2604 77650 GOTO
046839,000272: 13,2605 26000 STATEUP
046840,000273: 13,2606 00003 25140 600SECS 2DEC 60000 B-28
046841,000274:
046842,000275: 13,2610 77414 ENDINT CLEAR EXIT
046843,000276: 13,2611 01672 STATEFLG
046844,000277: 13,2612 05413 TC PHASCHNG
046845,000278: 13,2613 20032 OCT 20032
046846,000279: 13,2614 00006 EXTEND
046847,000280: 13,2615 32607 DCA 600SECS
046848,000281: 13,2616 05337 TC LONGCALL
046849,000282: 13,2617 E3,1626 EBANK= RRECTHIS
046850,000283: 13,2617 02562 26063 2CADR STATEINT
046851,000284:
046852,000285: 13,2621 05225 TC ENDOFJOB
046853,000286: 13,2622 43014 SETIFLGS SET CLEAR
046854,000287: 13,2623 01472 STATEFLG
046855,000288: 13,2624 01673 INTYPFLG
046856,000289: 13,2625 43014 CLEAR CLEAR
046857,000290: 13,2626 01676 DIM0FLAG
046858,000291: 13,2627 01675 D6OR9FLG
046859,000292: 13,2630 77616 RVQ
046860,000293:
046861,000294: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
046862,000295:
046863,000296: # CALLING SEQUENCE
046864,000297: # L CALL
046865,000298: # L+1 ATOPCSM
046866,000299:
046867,000300: # NORMAL EXIT AT L+2
046868,000301:
046869,000302: 13,2631 47020 ATOPCSM STQ RTB
046870,000303: 13,2632 00051 S2
046871,000304: 13,2633 26644 MOVEACSM
046872,000305: 13,2634 45014 SET CALL
046873,000306: 13,2635 04063 CMOONFLG
046874,000307: 13,2636 26066 SVDWN1
046875,000308: 13,2637 43014 BON CLRGO
046876,000309: 13,2640 00303 MOONFLAG
046877,000310: 13,2641 00051 S2
046878,000311: 13,2642 04223 CMOONFLG
046879,000312: 13,2643 00051 S2
046880,000313: 13,2644 03007 MOVEACSM TC SETBANK
046881,000314: 13,2645 55500 TS DIFEQCNT # INITIALIZE INDEX
046882,000315: 13,2646 51500 INDEX DIFEQCNT
046883,000316: 13,2647 31502 CA RRECT
046884,000317: 13,2650 51500 INDEX DIFEQCNT
046885,000318: 13,2651 55554 TS RRECTCSM
046886,000319: 13,2652 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
046887,000320: 13,2653 12645 TCF MOVEACSM +1 # NO-LOOP
046888,000321: 13,2654 06035 TC DANZIG # COMPLETE - RETURN
046889,000322:
046890,000323:
046891,000324: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
046892,000325:
046893,000326: # CALLING SEQUENCE
046894,000327: # L CALL
046895,000328: # PTOACSM
046896,000329:
046897,000330: # NORMAL EXIT AT L+2
046898,000331: 13,2655 43034 PTOACSM RTB BON
046899,000332: 13,2656 26673 MOVEPCSM
046900,000333: 13,2657 04303 CMOONFLG
046901,000334: 13,2660 26666 SETMOON
046902,000335: 13,2661 66214 CLRMOON CLEAR SSP
046903,000336: 13,2662 00263 MOONFLAG
046904,000337: 13,2663 02033 PBODY
046905,000338: 13,2664 00000 0
046906,000339: 13,2665 77616 RVQ
046907,000340: 13,2666 66214 SETMOON SET SSP
046908,000341: 13,2667 00063 MOONFLAG
046909,000342: 13,2670 02033 PBODY
046910,000343: 13,2671 00002 2
046911,000344: 13,2672 77616 RVQ
046912,000345: 13,2673 03007 MOVEPCSM TC SETBANK
046913,000346: 13,2674 55500 TS DIFEQCNT
046914,000347: 13,2675 51500 INDEX DIFEQCNT
046915,000348: 13,2676 31554 CA RRECTCSM
046916,000349: 13,2677 51500 INDEX DIFEQCNT
046917,000350: 13,2700 55502 TS RRECT
046918,000351: 13,2701 11500 CCS DIFEQCNT
046919,000352: 13,2702 12674 TCF MOVEPCSM +1
046920,000353: 13,2703 06035 TC DANZIG
046921,000354:
046922,000355:
046923,000356: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
046924,000357:
046925,000358: 13,2704 47020 ATOPLEM STQ RTB
046926,000359: 13,2705 00051 S2
046927,000360: 13,2706 26717 MOVEALEM
046928,000361: 13,2707 45014 SET CALL
046929,000362: 13,2710 04064 LMOONFLG
046930,000363: 13,2711 26042 SVDWN2
046931,000364: 13,2712 43014 BON CLRGO
046932,000365: 13,2713 00303 MOONFLAG
046933,000366: 13,2714 00051 S2
046934,000367: 13,2715 04224 LMOONFLG
046935,000368: 13,2716 00051 S2
046936,000369: 13,2717 03007 MOVEALEM TC SETBANK
046937,000370: 13,2720 55500 TS DIFEQCNT
046938,000371: 13,2721 51500 INDEX DIFEQCNT
046939,000372: 13,2722 31502 CA RRECT
046940,000373: 13,2723 51500 INDEX DIFEQCNT
046941,000374: 13,2724 55626 TS RRECTLEM
046942,000375: 13,2725 11500 CCS DIFEQCNT
046943,000376: 13,2726 12720 TCF MOVEALEM +1
046944,000377: 13,2727 06035 TC DANZIG
046945,000378:
046946,000379:
046947,000380: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
046948,000381:
046949,000382: 13,2730 47014 PTOALEM BON RTB
046950,000383: 13,2731 04307 SURFFLAG
046951,000384: 13,2732 26751 USEPIOS
046952,000385: 13,2733 26740 MOVEPLEM
046953,000386: 13,2734 52014 BON GOTO
046954,000387: 13,2735 04304 LMOONFLG
046955,000388: 13,2736 26666 SETMOON
046956,000389: 13,2737 26661 CLRMOON
046957,000390: 13,2740 03007 MOVEPLEM TC SETBANK
046958,000391: 13,2741 55500 TS DIFEQCNT
046959,000392: 13,2742 51500 INDEX DIFEQCNT
046960,000393: 13,2743 31626 CA RRECTLEM
046961,000394: 13,2744 51500 INDEX DIFEQCNT
046962,000395: 13,2745 55502 TS RRECT
046963,000396: 13,2746 11500 CCS DIFEQCNT
046964,000397: 13,2747 12741 TCF MOVEPLEM +1
046965,000398: 13,2750 06035 TC DANZIG
046966,000399:
046967,000400:
046968,000401: 13,2751 77201 USEPIOS SETPD VLOAD
046969,000402: 13,2752 00001 0
046970,000403: 13,2753 02025 RLS
046971,000404: 13,2754 41525 PDDL PUSH
046972,000405: 13,2755 00041 TDEC1
046973,000406: 13,2756 15517 STODL TET
046974,000407: 13,2757 23757 5/8
046975,000408: 13,2760 77624 CALL
046976,000409: 13,2761 51220 RP-TO-R
046977,000410: 13,2762 25535 STOVL RCV
046978,000411: 13,2763 22270 ZUNIT
046979,000412: 13,2764 14001 STODL 0D
046980,000413: 13,2765 01517 TET
046981,000414: 13,2766 14007 STODL 6D
046982,000415: 13,2767 23757 5/8
046983,000416: 13,2770 77624 CALL
046984,000417: 13,2771 51220 RP-TO-R
046985,000418: 13,2772 74235 VXV VXSC
046986,000419: 13,2773 01535 RCV
046987,000420: 13,2774 27006 OMEGMOON
046988,000421: 13,2775 25543 STOVL VCV
046989,000422: 13,2776 22276 ZEROVEC
046990,000423: 13,2777 01521 STORE TDELTAV
046991,000424: 13,3000 67174 AXT,2 SXA,2
046992,000425: 13,3001 00002 2
046993,000426: 13,3002 02032 PBODY
046994,000427: 13,3003 35527 STCALL TNUV
046995,000428: 13,3004 27130 A-PCHK
046996,000429:
046997,000430: 13,3005 07112 06620 OMEGMOON 2DEC* 2.66169947 E-8 B+23*
046998,000431:
046999,000432: 13,3007 33013 SETBANK CAF INTBANK
047000,000433: 13,3010 54006 TS BBANK
047001,000434: 13,3011 33432 CAF FORTYONE
047002,000435: 13,3012 00002 TC Q
047003,000436: 13,3013 E3,1554 EBANK= RRECTCSM
047004,000437: 13,3013 26063 INTBANK BBCON INTEGRV
047005,000438:
047006,000439:
047007,000440: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
047008,000441: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
047009,000442:
047010,000443: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
047011,000444: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
047012,000445: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
047013,000446: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
047014,000447: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
047015,000448: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
047016,000449:
047017,000450: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
047018,000451: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
047019,000452: # CSMPREC CSMCONIC LEMPREC LEMCONIC
047020,000453: # VINTFLAG SET SET CLEAR CLEAR
047021,000454: # INTYPFLG CLEAR SET CLEAR SET
047022,000455: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
047023,000456:
047024,000457:
047025,000458: # CALLING SEQUENCE
047026,000459: # L-X STORE TDEC1
047027,000460: # L CALL (STCALL TDEC1)
047028,000461: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
047029,000462:
047030,000463: # NORMAL EXIT TO L+2
047031,000464:
047032,000465:
047033,000466: # SUBROUTINES CALLED
047034,000467: # INTEGRV1
047035,000468: # PRECOUT FOR CSMPREC AND LEMPREC
047036,000469: # CONICOUT FOR CSMCONIC AND LEMCONIC
047037,000470:
047038,000471:
047039,000472: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
047040,000473: # INPUT
047041,000474: # TDEC1 TIME TO INTEGRATE TO . CSECS B-28
047042,000475: 13,3014 45020 CSMPREC STQ CALL
047043,000476: 13,3015 00046 X1
047044,000477: 13,3016 27362 INTSTALL
047045,000478: 13,3017 43130 SXA,1 SET
047046,000479: 13,3020 02104 IRETURN
047047,000480: 13,3021 01474 VINTFLAG
047048,000481:
047049,000482: 13,3022 43014 IFLAGP SET CLEAR
047050,000483: 13,3023 01467 PRECIFLG
047051,000484: 13,3024 01676 DIM0FLAG
047052,000485: 13,3025 77614 CLRGO
047053,000486: 13,3026 01633 INTYPFLG
047054,000487: 13,3027 27107 INTEGRV1
047055,000488: 13,3030 45020 LEMPREC STQ CALL
047056,000489: 13,3031 00046 X1
047057,000490: 13,3032 27362 INTSTALL
047058,000491: 13,3033 43130 SXA,1 CLRGO
047059,000492: 13,3034 02104 IRETURN
047060,000493: 13,3035 01634 VINTFLAG
047061,000494: 13,3036 27022 IFLAGP
047062,000495:
047063,000496: 13,3037 45020 CSMCONIC STQ CALL
047064,000497: 13,3040 00046 X1
047065,000498: 13,3041 27362 INTSTALL
047066,000499: 13,3042 43130 SXA,1 SET
047067,000500: 13,3043 02104 IRETURN
047068,000501: 13,3044 01474 VINTFLAG
047069,000502: 13,3045 43014 IFLAGC CLEAR SETGO
047070,000503: 13,3046 01676 DIM0FLAG
047071,000504: 13,3047 01433 INTYPFLG
047072,000505: 13,3050 27107 INTEGRV1
047073,000506: 13,3051 45020 LEMCONIC STQ CALL
047074,000507: 13,3052 00046 X1
047075,000508: 13,3053 27362 INTSTALL
047076,000509: 13,3054 43130 SXA,1 CLRGO
047077,000510: 13,3055 02104 IRETURN
047078,000511: 13,3056 01634 VINTFLAG
047079,000512: 13,3057 27045 IFLAGC
047080,000513:
047081,000514: 13,3060 66214 INTEGRVS SET SSP
047082,000515: 13,3061 01467 PRECIFLG
047083,000516: 13,3062 02033 PBODY
047084,000517: 13,3063 00000 0
047085,000518: 13,3064 66214 BOF SSP
047086,000519: 13,3065 00343 MOONFLAG
047087,000520: 13,3066 27071 +3
047088,000521: 13,3067 02033 PBODY
047089,000522: 13,3070 00002 2
047090,000523: 13,3071 77220 STQ VLOAD
047091,000524: 13,3072 02104 IRETURN
047092,000525: 13,3073 22276 ZEROVEC
047093,000526: 13,3074 01521 STORE TDELTAV
047094,000527: 13,3075 35527 STCALL TNUV
047095,000528: 13,3076 23340 RECTIFY
047096,000529: 13,3077 43014 CLEAR SET
047097,000530: 13,3100 01676 DIM0FLAG
047098,000531: 13,3101 04062 NEWIFLG
047099,000532: 13,3102 77614 SETGO
047100,000533: 13,3103 04020 RPQFLAG
047101,000534: 13,3104 27121 ALOADED
047102,000535: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER ,
047103,000536: # NORMALLY THE NAVIGATION PROGRAM ,TO SET THE INTEG. FLAGS. THE ROUTINE
047104,000537: # IS ENTERED AT INTEGRV1 BY CSMPREC ET.AL. AND AT ALOADED BY INTEGRVS.
047105,000538: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
047106,000539: # PROGRAM FOR PRECISION OR CONIC
047107,000540:
047108,000541: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
047109,000542: # SETTING ANY FLAGS.
047110,000543: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
047111,000544: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
047112,000545: # INTYPFLG
047113,000546: # DIM0FLAG
047114,000547: # D6OR9FLG
047115,000548: # CALLING SEQUENCE
047116,000549: # L-X CALL
047117,000550: # L-Y INTSTALL
047118,000551: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
047119,000552: # AND DIM0FLAG IS CLEAR.
047120,000553: # L CALL
047121,000554: # L+1 INTEGRV
047122,000555: # INITIALIZATION
047123,000556: # FLAGS AS ABOVE
047124,000557: # STORE TIME TO INTEGRATE TO IN TDEC1
047125,000558: # OUTPUT
047126,000559: # RATT AS
047127,000560: # VATT DEFINED
047128,000561: # TAT BEFORE
047129,000562:
047130,000563:
047131,000564: 13,3105 77620 INTEGRV STQ
047132,000565: 13,3106 02104 IRETURN
047133,000566: 13,3107 43014 INTEGRV1 SET SET
047134,000567: 13,3110 04060 RPQFLAG
047135,000568: 13,3111 04062 NEWIFLG
047136,000569: 13,3112 77731 INTEGRV2 SSP
047137,000570: 13,3113 00053 QPRET
047138,000571: 13,3114 27121 ALOADED
047139,000572: 13,3115 52014 BON GOTO
047140,000573: 13,3116 01714 VINTFLAG
047141,000574: 13,3117 26655 PTOACSM
047142,000575: 13,3120 26730 PTOALEM
047143,000576: 13,3121 77745 ALOADED DLOAD
047144,000577: 13,3122 00041 TDEC1
047145,000578: 13,3123 01121 STORE TDEC
047146,000579: 13,3124 52014 BOFF GOTO
047147,000580: 13,3125 01753 INTYPFLG
047148,000581: 13,3126 27227 TESTLOOP
047149,000582: 13,3127 27213 RVCON
047150,000583: 13,3130 77414 A-PCHK BOFCLR EXIT
047151,000584: 13,3131 01652 STATEFLG
047152,000585: 13,3132 27152 RECTOUT
047153,000586: 13,3133 05413 TC PHASCHNG
047154,000587: 13,3134 04022 OCT 04022
047155,000588: 13,3135 40774 CS RASFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
047156,000589: 13,3136 75020 MASK REINTBIT # INTSTALL AND INTWAKE
047157,000590: 13,3137 26774 ADS RASFLAG
047158,000591: 13,3140 06014 TC INTPRET
047159,000592: 13,3141 77731 SSP
047160,000593: 13,3142 00053 QPRET
047161,000594: 13,3143 27150 PHEXIT
047162,000595: 13,3144 52014 BON GOTO
047163,000596: 13,3145 01714 VINTFLAG
047164,000597: 13,3146 26631 ATOPCSM
047165,000598: 13,3147 26704 ATOPLEM
047166,000599: 13,3150 77624 PHEXIT CALL
047167,000600: 13,3151 11054 GRP2PC
047168,000601: 13,3152 45001 RECTOUT SETPD CALL
047169,000602: 13,3153 00001 0
047170,000603: 13,3154 23340 RECTIFY
047171,000604: 13,3155 53775 VLOAD VSL*
047172,000605: 13,3156 01503 RRECT
047173,000606: 13,3157 57576 0,2
047174,000607: 13,3160 53715 PDVL VSL* # RATT TO PD0
047175,000608: 13,3161 01511 VRECT
047176,000609: 13,3162 57576 0,2
047177,000610: 13,3163 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
047178,000611: 13,3164 01517 TET
047179,000612: 13,3165 01503 RRECT
047180,000613: 13,3166 64715 PDVL PDDL*
047181,000614: 13,3167 01511 VRECT
047182,000615: 13,3170 54040 MUEARTH,2
047183,000616: 13,3171 76006 PUSH AXT,1
047184,000617: 13,3172 77765 DEC -10 B-14
047185,000618: 13,3173 76014 BON AXT,1
047186,000619: 13,3174 00303 MOONFLAG
047187,000620: 13,3175 27177 +2
047188,000621: 13,3176 77775 DEC -2 B-14
047189,000622: 13,3177 40001 INTEXIT SETPD BOV
047190,000623: 13,3200 00001 0
047191,000624: 13,3201 27202 +1
047192,000625: 13,3202 43014 CLEAR CLEAR
047193,000626: 13,3203 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
047194,000627: 13,3204 01667 PRECIFLG
047195,000628: 13,3205 77535 SLOAD EXIT
047196,000629: 13,3206 02105 IRETURN
047197,000630: 13,3207 30154 CA MPAC
047198,000631: 13,3210 50120 INDEX FIXLOC
047199,000632: 13,3211 54052 TS QPRET
047200,000633: 13,3212 03400 TC INTWAKE
047201,000634: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
047202,000635: # VELOCITY FOR THE INTERVAL (TET-TDEC)
047203,000636:
047204,000637: 13,3213 45345 RVCON DLOAD DSU
047205,000638: 13,3214 01121 TDEC
047206,000639: 13,3215 01517 TET
047207,000640: 13,3216 36076 STCALL TAU.
047208,000641: 13,3217 23340 RECTIFY
047209,000642: 13,3220 77624 CALL
047210,000643: 13,3221 22312 KEPPREP
047211,000644: 13,3222 43345 DLOAD DAD
047212,000645: 13,3223 01551 TC
047213,000646: 13,3224 01517 TET
047214,000647: 13,3225 35517 STCALL TET
047215,000648: 13,3226 27152 RECTOUT
047216,000649:
047217,000650: # TESTLOOP
047218,000651:
047219,000652: 13,3227 43014 TESTLOOP BOF CLRGO
047220,000653: 13,3230 04752 QUITFLAG
047221,000654: 13,3231 27234 +3
047222,000655: 13,3232 01632 STATEFLG
047223,000656: 13,3233 27177 INTEXIT # STOP INTEGRATION
047224,000657: 13,3234 73001 +3 SETPD LXA,2
047225,000658: 13,3235 00013 10D
047226,000659: 13,3236 02032 PBODY
047227,000660: 13,3237 51575 VLOAD ABVAL
047228,000661: 13,3240 01535 RCV
047229,000662: 13,3241 43006 PUSH CLEAR # RC TO 10D
047230,000663: 13,3242 00262 MIDFLAG
047231,000664: 13,3243 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
047232,000665: 13,3244 55466 RME,2
047233,000666: 13,3245 27250 +3
047234,000667: 13,3246 77614 SET
047235,000668: 13,3247 00062 MIDFLAG
047236,000669: 13,3250 41345 NORFINAL DLOAD DMP
047237,000670: 13,3251 00013 10D
047238,000671: 13,3252 00043 34D
047239,000672: 13,3253 55762 SR1R DDV*
047240,000673: 13,3254 54040 MUEARTH,2
047241,000674: 13,3255 41366 SQRT DMP
047242,000675: 13,3256 23672 .3D
047243,000676: 13,3257 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
047244,000677: 13,3260 54345 DLOAD SL
047245,000678: 13,3261 00155 MPAC
047246,000679: 13,3262 20220 15D # OF 128 CSECS.
047247,000680: 13,3263 40006 PUSH BOV
047248,000681: 13,3264 27311 MAXDT
047249,000682: 13,3265 50021 BDSU BMN
047250,000683: 13,3266 27361 DT/2MAX
047251,000684: 13,3267 27311 MAXDT
047252,000685: 13,3270 45345 DT/2COMP DLOAD DSU
047253,000686: 13,3271 01121 TDEC
047254,000687: 13,3272 01517 TET
047255,000688: 13,3273 54234 RTB SL
047256,000689: 13,3274 21510 SGNAGREE
047257,000690: 13,3275 20211 8D
047258,000691: 13,3276 02100 STORE DT/2 # B-19
047259,000692: 13,3277 51400 BOV ABS
047260,000693: 13,3300 27315 GETMAXDT
047261,000694: 13,3301 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
047262,000695: 13,3302 00015 12D
047263,000696: 13,3303 27321 P00HCHK
047264,000697: 13,3304 75345 USEMAXDT DLOAD SIGN
047265,000698: 13,3305 00015 12D
047266,000699: 13,3306 02100 DT/2
047267,000700: 13,3307 36100 STCALL DT/2
047268,000701: 13,3310 27321 P00HCHK
047269,000702: 13,3311 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
047270,000703: 13,3312 27361 DT/2MAX
047271,000704: 13,3313 77650 GOTO
047272,000705: 13,3314 27270 DT/2COMP
047273,000706: 13,3315 77634 GETMAXDT RTB
047274,000707: 13,3316 21656 SIGNMPAC
047275,000708: 13,3317 36100 STCALL DT/2
047276,000709: 13,3320 27304 USEMAXDT
047277,000710: 13,3321 51545 P00HCHK DLOAD ABS
047278,000711: 13,3322 02100 DT/2
047279,000712: 13,3323 50025 DSU BMN
047280,000713: 13,3324 27357 DT/2MIN
047281,000714: 13,3325 27130 A-PCHK
047282,000715: 13,3326 46135 SLOAD BHIZ
047283,000716: 13,3327 01013 MODREG
047284,000717: 13,3330 27333 +3
047285,000718: 13,3331 77650 GOTO
047286,000719: 13,3332 23153 TIMESTEP
047287,000720: 13,3333 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC
047288,000721: 13,3334 01707 PRECIFLG
047289,000722: 13,3335 23153 TIMESTEP # YES
047290,000723: 13,3336 45345 DLOAD DSU
047291,000724: 13,3337 02100 DT/2
047292,000725: 13,3340 00015 12D
047293,000726: 13,3341 43040 BMN BOFCLR
047294,000727: 13,3342 27130 A-PCHK
047295,000728: 13,3343 04242 NEWIFLG
047296,000729: 13,3344 23153 TIMESTEP
047297,000730: 13,3345 45345 DLOAD DSU
047298,000731: 13,3346 01121 TDEC
047299,000732: 13,3347 01517 TET
047300,000733: 13,3350 40525 PDDL SR4
047301,000734: 13,3351 02100 DT/2 # IS 4(DT) LS (TDEC - TET)
047302,000735: 13,3352 44322 SR2R BDSU # NO
047303,000736: 13,3353 52040 BMN GOTO
047304,000737: 13,3354 27177 INTEXIT
047305,000738: 13,3355 23153 TIMESTEP
047306,000739: 13,3356 00000 01400 DT/2MIN 2DEC 3 B-20
047307,000740:
047308,000741: 13,3360 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
047309,000742:
047310,000743: 13,3362 77776 INTSTALL EXIT
047311,000744: 13,3363 05563 TC UPFLAG
047312,000745: 13,3364 00114 ADRES INTFLG2
047313,000746: 13,3365 35030 CAF ZERO
047314,000747: 13,3366 54001 ALLSTALL TS L
047315,000748: 13,3367 30774 CA RASFLAG
047316,000749: 13,3370 50001 INDEX L
047317,000750: 13,3371 73463 MASK INTBITAB # IS THIS STALL AREA FREE
047318,000751: 13,3372 00006 EXTEND
047319,000752: 13,3373 13441 BZF OKTOGRAB # YES
047320,000753: 13,3374 50001 INDEX L
047321,000754: 13,3375 33460 CAF WAKESTAL
047322,000755: 13,3376 05203 TC JOBSLEEP
047323,000756: 13,3377 77776 INTWAKE0 EXIT
047324,000757:
047325,000758: 13,3400 40774 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
047326,000759: 13,3401 75020 MASK REINTBIT # RESTARTED
047327,000760: 13,3402 10000 CCS A
047328,000761: 13,3403 03420 TC INTWAKE1 # NO
047329,000762:
047330,000763: 13,3404 50120 INDEX FIXLOC
047331,000764: 13,3405 30052 CA QPRET
047332,000765: 13,3406 55056 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
047333,000766:
047334,000767: 13,3407 05413 TC PHASCHNG
047335,000768: 13,3410 04022 OCT 04022
047336,000769:
047337,000770: 13,3411 31056 CA TBASE2
047338,000771: 13,3412 50120 INDEX FIXLOC
047339,000772: 13,3413 54052 TS QPRET
047340,000773:
047341,000774: 13,3414 35020 CAF REINTBIT
047342,000775: 13,3415 70774 MASK RASFLAG
047343,000776: 13,3416 00006 EXTEND
047344,000777: 13,3417 13444 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
047345,000778:
047346,000779: 13,3420 05575 INTWAKE1 TC DOWNFLAG
047347,000780: 13,3421 00114 ADRES INTFLG2
047348,000781: 13,3422 35030 CAF ZERO
047349,000782: 13,3423 54154 WAKE TS STALTEM # INDEX OF ANY STALL USER
047350,000783: 13,3424 50154 WAKE1 INDEX STALTEM
047351,000784: 13,3425 33460 CAF WAKESTAL
047352,000785: 13,3426 00004 INHINT
047353,000786: 13,3427 05207 TC JOBWAKE
047354,000787: 13,3430 10064 CCS LOCCTR
047355,000788: 13,3431 13424 TCF WAKE1 # MAY BE MORE TO WAKE UP
047356,000789: 13,3432 00051 FORTYONE DEC 41 B-14
047357,000790: 13,3433 50154 INDEX STALTEM
047358,000791: 13,3434 43463 CS INTBITAB
047359,000792: 13,3435 70774 MASK RASFLAG
047360,000793: 13,3436 54774 TS RASFLAG # RELEASE STALL AREA
047361,000794: 13,3437 00003 RELINT
047362,000795: 13,3440 13444 TCF GOBAC
047363,000796: 13,3441 50001 OKTOGRAB INDEX L # NO, WAIT UNTIL AVAILABLE
047364,000797: 13,3442 35011 CAF INTFLBIT
047365,000798: 13,3443 26774 ADS RASFLAG
047366,000799: 13,3444 06014 GOBAC TC INTPRET
047367,000800: 13,3445 77616 RVQ
047368,000801: 13,3446 77776 ERASTAL1 EXIT
047369,000802: 13,3447 35026 CAF ONE
047370,000803: 13,3450 13366 TCF ALLSTALL
047371,000804: 13,3451 77776 ERASTAL2 EXIT
047372,000805: 13,3452 35025 CAF TWO
047373,000806: 13,3453 13366 TCF ALLSTALL
047374,000807: 13,3454 35026 ERASWAK1 CAF ONE
047375,000808: 13,3455 13423 TCF WAKE
047376,000809: 13,3456 35025 ERASWAK2 CAF TWO
047377,000810: 13,3457 13423 TCF WAKE
047378,000811: 13,3460 27363 WAKESTAL CADR INTSTALL +1
047379,000812: 13,3461 27447 CADR ERASTAL1 +1
047380,000813: 13,3462 27452 CADR ERASTAL2 +1
047381,000814: 13,3463 0154 STALTEM EQUALS MPAC
047382,000815: 13,3463 20100 INTBITAB OCT 20100
047383,000816: 13,3464 10040 OCT 10040
047384,000817: 13,3465 04020 OCT 04020
047385,000818:
047386,000819: # AVETOMID
047387,000820:
047388,000821: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
047389,000822: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
047390,000823: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
047391,000824:
047392,000825: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (ORWFLAG OR RENDWFLG IS
047393,000826: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
047394,000827:
047395,000828: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
047396,000829:
047397,000830: # FINALLY TRKMKCNT IS ZEROED
047398,000831:
047399,000832: 13,2000 SETLOC INTINIT
047400,000833: 13,2000 BANK
047401,000834:
047402,000835: 13,3466 COUNT* $$/INTIN
047403,000836: 13,3466 43020 AVETOMID STQ BON
047404,000837: 13,3467 02772 EGRESS
047405,000838: 13,3470 02716 RENDWFLG
047406,000839: 13,3471 27541 INT/W # W-MATRIX VALID ,GO INTEGRATE IT
047407,000840: 13,3472 77614 BON
047408,000841: 13,3473 01711 ORBWFLAG
047409,000842: 13,3474 27541 INT/W # W-MATRIX VALID ,GO INTEGRATE IT
047410,000843:
047411,000844: 13,3475 45145 OTHERS DLOAD CALL # GET SET FOR OTHER VEHICLE INTEGRATION
047412,000845: 13,3476 01234 PIPTIME # DESIRED TIME
047413,000846: 13,3477 27362 INTSTALL
047414,000847: 13,3500 45014 SET CALL
047415,000848: 13,3501 01474 VINTFLAG # CM
047416,000849: 13,3502 26622 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
047417,000850: 13,3503 43014 BOF CLEAR
047418,000851: 13,3504 02747 COMPUTER
047419,000852: 13,3505 27507 +2 # COMPUTER IS LM ,INTEG CM
047420,000853: 13,3506 01674 VINTFLAG # COMPUTER IS CM ,INTEG LM
047421,000854: 13,3507 34041 STCALL TDEC1
047422,000855: 13,3510 27105 INTEGRV
047423,000856:
047424,000857: 13,3511 45174 AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,UN AS WELL AS
047425,000858: 13,3512 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
047426,000859: 13,3513 27362 INTSTALL
047427,000860: 13,3514 77014 BON AXT,2
047428,000861: 13,3515 04304 MOONTHIS
047429,000862: 13,3516 27520 +2
047430,000863: 13,3517 00000 0
047431,000864: 13,3520 53775 VLOAD VSR*
047432,000865: 13,3521 01220 RN
047433,000866: 13,3522 57176 0,2
047434,000867: 13,3523 01503 STORE RRECT
047435,000868: 13,3524 15535 STODL RCV
047436,000869: 13,3525 01234 PIPTIME
047437,000870: 13,3526 25517 STOVL TET
047438,000871: 13,3527 01226 VN
047439,000872: 13,3530 45057 VSR* CALL
047440,000873: 13,3531 57176 0,2
047441,000874: 13,3532 23354 MINIRECT # FINISH SETTING UP STATE VECTOR
047442,000875: 13,3533 66234 RTB SSP
047443,000876: 13,3534 26717 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
047444,000877: 13,3535 03450 TRKMKCNT
047445,000878: 13,3536 00000 0
047446,000879: 13,3537 77650 GOTO
047447,000880: 13,3540 46736 FAZAB5
047448,000881:
047449,000882: 13,3541 45145 INT/W DLOAD CALL
047450,000883: 13,3542 01234 PIPTIME # INTEGRATE W THRU BURN
047451,000884: 13,3543 27362 INTSTALL
047452,000885: 13,3544 43014 SET SET
047453,000886: 13,3545 01476 DIM0FLAG # DO W-MATRIX
047454,000887: 13,3546 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
047455,000888: 13,3547 43014 SET CLEAR
047456,000889: 13,3550 01475 D6OR9FLG # 9X9 FOR LM
047457,000890: 13,3551 01674 VINTFLAG # LM
047458,000891: 13,3552 43014 BOF SET
047459,000892: 13,3553 02747 COMPUTER
047460,000893: 13,3554 27560 +4 # LM TO DO
047461,000894: 13,3555 01474 VINTFLAG
047462,000895: 13,3556 77614 CLEAR
047463,000896: 13,3557 01675 D6OR9FLG # 6X6 FOR CM
047464,000897: 13,3560 34041 STCALL TDEC1
047465,000898: 13,3561 27105 INTEGRV
047466,000899: 13,3562 77650 GOTO
047467,000900: 13,3563 27475 OTHERS # NOW GO DO THE OTHER VEHICLE
047468,000901:
047469,000902: # MIDTOAV1
047470,000903:
047471,000904: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
047472,000905: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
047473,000906: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
047474,000907: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
047475,000908: # IS DONE TO THE CURRENT TIME.
047476,000909: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
047477,000910:
047478,000911: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
047479,000912: # TO THE RETURN ADDRESS
047480,000913:
047481,000914: # IN EITHER CASE , BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
047482,000915: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
047483,000916: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
047484,000917: # TAT MINUS CURRENT TIME.
047485,000918:
047486,000919:
047487,000920: # MIDTOAV2
047488,000921:
047489,000922: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
047490,000923: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
047491,000924: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
047492,000925:
047493,000926: 13,3564 E7,1730 EBANK= IRETURN1
047494,000927: 13,3564 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
047495,000928: 13,3565 03730 IRETURN1
047496,000929: 13,3566 04634 MID1FLAG
047497,000930: 13,3567 27603 ENTMID2
047498,000931:
047499,000932: 13,3570 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
047500,000933: 13,3571 03730 IRETURN1
047501,000934: 13,3572 04474 MID1FLAG
047502,000935: 13,3573 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
047503,000936: 13,3574 21454 LOADTIME
047504,000937: 13,3575 27702 TIMEDELT
047505,000938: 13,3576 51021 BDSU BPL
047506,000939: 13,3577 00041 TDEC1
047507,000940: 13,3600 27607 ENTMID1 # Y5S
047508,000941: 13,3601 77624 CALL
047509,000942: 13,3602 27670 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
047510,000943:
047511,000944: 13,3603 43234 ENTMID2 RTB DAD
047512,000945: 13,3604 21454 LOADTIME
047513,000946: 13,3605 27702 TIMEDELT
047514,000947: 13,3606 00041 STORE TDEC1
047515,000948:
047516,000949: 13,3607 77624 ENTMID1 CALL
047517,000950: 13,3610 27362 INTSTALL
047518,000951: 13,3611 45014 CLEAR CALL
047519,000952: 13,3612 01676 DIM0FLAG # NO W-MATRIX
047520,000953: 13,3613 26040 THISVINT
047521,000954: 13,3614 43014 CLEAR SET
047522,000955: 13,3615 01673 INTYPFLG
047523,000956: 13,3616 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
047524,000957: 13,3617 77624 CALL
047525,000958: 13,3620 27105 INTEGRV # GO INTEGRATE
047526,000959: 13,3621 77214 CLEAR VLOAD
047527,000960: 13,3622 04675 MIDAVFLG
047528,000961: 13,3623 00001 RATT
047529,000962: 13,3624 27532 STOVL RN1
047530,000963: 13,3625 00007 VATT
047531,000964: 13,3626 17540 STODL VN1
047532,000965: 13,3627 00015 TAT
047533,000966: 13,3630 03546 STORE PIPTIME1
047534,000967: 13,3631 77776 EXIT
047535,000968:
047536,000969: 13,3632 00004 INHINT
047537,000970: 13,3633 00006 EXTEND
047538,000971: 13,3634 40025 DCS TIME2
047539,000972: 13,3635 20155 DAS MPAC
047540,000973: 13,3636 07231 TC TPAGREE
047541,000974:
047542,000975: 13,3637 31730 CA IRETURN1
047543,000976: 13,3640 04677 TC BANKJUMP
047544,000977: 13,3641 47014 CKMID2 BOF RTB
047545,000978: 13,3642 04754 MID1FLAG
047546,000979: 13,3643 27660 MID2
047547,000980: 13,3644 21454 LOADTIME
047548,000981: 13,3645 44215 DAD BDSU
047549,000982: 13,3646 27702 TIMEDELT
047550,000983: 13,3647 01121 TDEC
047551,000984: 13,3650 45044 BPL CALL
047552,000985: 13,3651 27227 TESTLOOP # YES
047553,000986: 13,3652 27670 NOTIME
047554,000987:
047555,000988: 13,3653 43234 TIMEINC RTB DAD
047556,000989: 13,3654 21454 LOADTIME
047557,000990: 13,3655 27702 TIMEDELT
047558,000991: 13,3656 35121 STCALL TDEC
047559,000992: 13,3657 27227 TESTLOOP
047560,000993:
047561,000994: 13,3660 45345 MID2 DLOAD DSU
047562,000995: 13,3661 01121 TDEC
047563,000996: 13,3662 01517 TET
047564,000997: 13,3663 45246 ABS DSU
047565,000998: 13,3664 27700 3CSECS
047566,000999:
047567,001000: 13,3665 52040 BMN GOTO
047568,001001: 13,3666 27130 A-PCHK
047569,001002: 13,3667 27653 TIMEINC
047570,001003:
047571,001004: 13,3670 77414 NOTIME CLEAR EXIT # TOO LATE
047572,001005: 13,3671 04674 MID1FLAG
047573,001006: 13,3672 25730 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
047574,001007: 13,3673 05646 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
047575,001008: 13,3674 01703 OCT 1703 # TIG WILL BE SLIPPED...
047576,001009: 13,3675 06014 TC INTPRET
047577,001010: 13,3676 77616 RVQ
047578,001011:
047579,001012: 13,3677 00000 00003 3CSECS 2DEC 3 B-28
047580,001013:
047581,001014: 13,3701 00000 01750 TIMEDELT 2DEC 1000 B-28
047582,001015:
Sundance 292 |
047584,001017:
047585,001018: 27,3313 BANK 27
047586,001019: 04,2000 SETLOC UPDATE2
047587,001020: 04,2000 BANK
047588,001021: 04,2775 0301 EBANK= INTWAKUQ
047589,001022:
047590,001023: 04,2775 COUNT* $$/INTIN
047591,001024:
047592,001025: 04,2775 0301 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
047593,001026:
047594,001027: 04,2775 00003 INTWAKEU RELINT
047595,001028: 04,2776 00006 EXTEND
047596,001029: 04,2777 22301 QXCH INTWAKUQ # SAVE Q FOR RETURN
047597,001030:
047598,001031: 04,3000 06014 TC INTPRET
047599,001032:
047600,001033: 04,3001 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
047601,001034: 04,3002 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
047602,001035: 04,3003 11042 INTWAKUP
047603,001036:
047604,001037: 04,3004 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
047605,001038: 04,3005 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
047606,001039: 04,3006 25535 STOVL RCV
047607,001040: 04,3007 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
047608,001041: 04,3010 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
047609,001042: 04,3011 23355 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
047610,001043: 04,3012 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
047611,001044: 04,3013 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
047612,001045: 04,3014 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
047613,001046: 04,3015 11053 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
047614,001047: 04,3016 11023 INTWAKEM # SPHERE OF INFLUENCE.........
047615,001048: 04,3017 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
047616,001049: 04,3020 00000 DEC 0 B-14
047617,001050: 04,3021 00223 MOONFLAG
047618,001051: 04,3022 11026 INTWAKEC
047619,001052: 04,3023 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
047620,001053: 04,3024 00002 DEC 2 B-14
047621,001054: 04,3025 00063 MOONFLAG
047622,001055: 04,3026 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
047623,001056: # MOONFLAG SET (OR CLEARED).
047624,001057: 04,3027 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
047625,001058: 04,3030 11036 INTWAKLM # STATE VECTOR UPDATE......
047626,001059: 04,3031 77624 CALL # UPDATE CSM STATE VECTOR
047627,001060: 04,3032 26631 ATOPCSM
047628,001061:
047629,001062: 04,3033 52014 CLEAR GOTO
047630,001063: 04,3034 01671 ORBWFLAG
047631,001064: 04,3035 11040 INTWAKEX
047632,001065:
047633,001066: 04,3036 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
047634,001067: 04,3037 26704 ATOPLEM
047635,001068:
047636,001069: 04,3040 77614 INTWAKEX CLEAR
047637,001070: 04,3041 02676 RENDWFLG
047638,001071:
047639,001072: 04,3042 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
047640,001073: 04,3043 01502 UPSVFLAG
047641,001074: 04,3044 00000 0
047642,001075: 04,3045 27377 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
047643,001076: 04,3046 77776 EXIT
047644,001077:
047645,001078: 04,3047 05413 TC PHASCHNG
047646,001079: 04,3050 04026 OCT 04026
047647,001080: 04,3051 00301 TC INTWAKUQ
047648,001081:
047649,001082: 04,3052 00002 UPMNSVCD OCT 2
047650,001083: 04,3053 00000 OCT 0
047651,001084:
047652,001085:
047653,001086: 04,3054 77420 GRP2PC STQ EXIT
047654,001087: 04,3055 02711 GRP2SVQ
047655,001088: 04,3056 05413 TC PHASCHNG
047656,001089: 04,3057 04022 OCT 04022
047657,001090: 04,3060 06014 TC INTPRET
047658,001091: 04,3061 77650 GOTO
047659,001092: 04,3062 02711 GRP2SVQ
047660,001093:
047661,001094:
This function, which we have called TIGINT, performs integration to TIG-30 for BURNBABY, and integration to TIG for P47. Both were rewritten to use MIDTOAVE in Luminary. Unfortunately, it was located in bank 36 in Sundance 292, and in bank 32 in Sundance 306. We only have revision 292 of bank 32, and revision 306 of bank 36 -- which means that we are completely missing this function. The below implementation was created by Mike Stewart and Niklas Beug to perform all of the needed functions. It has been tested and confirmed working in NASSP, although it is shorter than the original implementation, which means something (hopefully unimportant) is possibly still missing. Furthermore, it was very likely located in BURN, BABY, BURN -- MASTER IGNITION ROUTINE in Sundance, but it is placed here in this reconstruction to minimize the assembled differences from the dumped binaries. |
047673,001106: 32,3672 BANK 32
047674,001107: 32,2000 SETLOC P40S2
047675,001108: 32,2000 BANK
047676,001109:
047677,001110: 32,3672 COUNT* $$/P40
047678,001111:
047679,001112: 32,3672 00041 -1 STORE TDEC1
047680,001113: 32,3673 77620 TIGINT STQ
047681,001114: 32,3674 03730 IRETURN1
047682,001115: 32,3675 77624 CALL
047683,001116: 32,3676 27030 LEMPREC
047684,001117: 32,3677 77775 VLOAD
047685,001118: 32,3700 00001 RATT
047686,001119: 32,3701 27532 STOVL RN1
047687,001120: 32,3702 00007 VATT
047688,001121: 32,3703 17540 STODL VN1
047689,001122: 32,3704 00015 TAT
047690,001123: 32,3705 03546 STORE PIPTIME1
047691,001124: 32,3706 77650 GOTO
047692,001125: 32,3707 03730 IRETURN1
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc