Source Code
This is the source-code for the Apollo 9 Command Module's Guidance Computer.
These files were derived originally from the scan from MIT's Dibner Institute's
now-discontinued website titled "History of Recent Science and Technology", which
in turn was originally created by Gary Neff, though his high-quality scans were
unfortunately reduced in legibility when presented online.
The markings on the front of the
printout imply that it was the original AGC developer Norm Brodeur's copy.
A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original
AGC developer Fred Martin. The source code was transcribed from
those images by Ron Burkey. Note that the page images
presented online are of reduced quality, and that higher-quality images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:ASSEMBLE REVISION 249 OF AGC PROGRAM COLOSSUS BY NASA 2021111-041 20'35 OCT. 28,1968Note that the date is the date of the printout, not the date of the program revision. |
055854,000002: ## Copyright: Public domain.
055855,000003: ## Filename: INTEGRATION_INITIALIZATION.agc
055856,000004: ## Purpose: Part of the source code for Colossus, build 249.
055857,000005: ## It is part of the source code for the Command Module's (CM)
055858,000006: ## Apollo Guidance Computer (AGC), for Apollo 9.
055859,000007: ## Assembler: yaYUL
055860,000008: ## Reference: Starts on p. 1279
055861,000009: ## Contact: Ron Burkey <info@sandroid.org>.
055862,000010: ## Website: www.ibiblio.org/apollo.
055863,000011: ## Mod history: 08/29/04 RSB. Began adapting from corresponding Luminary131 file.
055864,000012: ## 2010-10-24 JL Indentation fixes.
055865,000013: ## 2017-01-06 RSB Page numbers now agree with those on the
055866,000014: ## original harcopy, as opposed to the PDF page
055867,000015: ## numbers in 1701.pdf.
055868,000016: ## 2017-01-14 RSB Cross-diff'd comment text (not whitespace)
055869,000017: ## vs the already-proofed corresponding Colossus
055870,000018: ## 237 and Comanche 55 source-code files
055871,000019: ## and corrected errors found.
055872,000020: ## 2017-08-19 MAS Fixed comment errors found transcribing Zerlina 56.
055873,000021: ##
055874,000022: ## The contents of the "Colossus249" files, in general, are transcribed
055875,000023: ## from a scanned copy of the program listing. Notations on this
055876,000024: ## document read, in part:
055877,000025: ##
055878,000026: ## Assemble revision 249 of AGC program Colossus by NASA
055879,000027: ## 2021111-041. October 28, 1968.
055880,000028: ##
055881,000029: ## This AGC program shall also be referred to as
055882,000030: ## Colossus 1A
055883,000031: ##
055884,000032: ## Prepared by
055885,000033: ## Massachusetts Institute of Technology
055886,000034: ## 75 Cambridge Parkway
055887,000035: ## Cambridge, Massachusetts
055888,000036: ## under NASA contract NAS 9-4065.
055889,000037: ##
055890,000038: ## Refer directly to the online document mentioned above for further information.
055891,000039: ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
055892,000040: ##
055893,000041: ## In some cases, where the source code for Luminary 131 overlaps that of
055894,000042: ## Colossus 249, this code is instead copied from the corresponding Luminary 131
055895,000043: ## source file, and then is proofed to incorporate any changes.
055896,000044:
Page 1279 |
055898,000046: # 1.0 INTRODUCTION
055899,000047: # ----------------
055900,000048:
055901,000049: # FROM A USERS POINT OF VIEW, ORBITAL INTEGRATION IS ESSENTIALLY THE SAME AS THE 278 INTEGRATION
055902,000050: # PROGRAM. THE SAME ENTRANCES TO THE PROGRAM WILL BE MAINTAINED, THE SAME STALLING ROUTINE WILL BE USED AND
055903,000051: # OUTPUT WILL STILL BE VIA THE PUSHLIST. THE PRIMARY DIFFERENCES TO A USER INVOLVE THE ADDED CAPABILITY OF
055904,000052: # TERMINATING INTEGRATION AT A SPECIFIC FINAL RADIUS AND THE DIFFERENCE IN STATE VECTOR SCALING INSIDE AND OUT-
055905,000053: # SIDETHE LUNAR SPHERE OF INFLUENCE.
055906,000054:
055907,000055: # IN ORDER TO MAKE THE CSM(LEM)PREC AND CSM(LEM)CONIC ENTRANCES SIMILAR TO FLIGHT 278, THE INTEGRATION PROGRAM
055908,000056: # WILL ITSELF SET THE FINAL RADIUS (RFINAL) TO 0 SO THAT REACHING THE DESIRED TIME ONLY WILL TERMINATE
055909,000057: # INTEGRATION. THE DP REGISTER RFINAL MUST BE SET BY USERS OF INTEGRVS AND INTEGRV, AND MUST BE DONE AFTER THE
055910,000058: # CALL TC INTSTALL.
055911,000059:
055912,000060: # WHEN THE LM IS ON THE LUNAR SURFACE (INDICATED BY LUNAR SURFACE FLAG SET) CALLS TO LEMCONIC, LEMPREC, AND
055913,000061: # INTEGRV WITH VINFLAG = 0 WILL RESULT IN THE USE OF THE PLANETARY INERTIAL ORIENTATION SUBROUTINES TO PROVIDE
055914,000062: # BOTH THE LMS POSITION AND VELOCITY IN THE REFERENCE COORDINATE SYSTEM.
055915,000063: # THE PROGRAM WILL PROVIDE OUTPUT AS IF INTEGRATION WAS USED. THAT IS, THE PUSHLIST WILL BE SET AS NOTED BELOW AND
055916,000064: # THE PERMANENT STATE VECTOR UPDATED WHEN SPECIFIED BY AN INTEGRV CALL.
055917,000065:
055918,000066: # USERS OF INTEGRVS DESIRING INTEGRATION (INTYPFLG = 0) SHOULD NOTE THAT THE OBLATENESS PERTURBATION COMPUTATION
055919,000067: # IN LUNAR ORBIT IS TIME DEPENDENT. THEREFORE, THE USER SHOULD SUPPLY AN INITIAL STATE VECTOR VALID AT SOME REAL
055920,000068: # TIME AND THE DESIRED TIME (TDEC1) ALSO AT SOME REAL TIME. FOR CONIC ,,INTEGRATION,, THE USER MAY STILL USE ZERO
055921,000069: # AS THE INITIAL TIME AND DELTA TIME AS THE DESIRED TIME.
055922,000070:
055923,000071: # 2.0 GENERAL DESCRIPTION
055924,000072: # -----------------------
055925,000073:
055926,000074: # THE INTEGRATION PROGRAM OPERATES AS A CLOSED INTERPRETIVE SUBROUTINE AND PERFORMS THESE FUNCTIONS ---
055927,000075: # 1) INTEGRATES (PRECISION OR CONIC) EITHER CSM OR LM STATE VECTOR
055928,000076: # 2) INTEGRATES THE W-MATRIX
055929,000077: # 3) PERMANENT OR TEMPORARY UPDATE OF THE STATE VECTOR
055930,000078:
055931,000079: # THERE ARE SIX ENTRANCES TO THE INTEGRATION PROGRAM. FOUR OF THESE (CSMPREC, LEMPREC, CSMCONIC, LEMCONIC) SET
055932,000080: # ALL THE FLAGS REQUIRED IN THE INTEGRATION PROGRAM ITSELF TO CAUSE THE PRECISION OR CONIC INTEGRATION (KEPLER) OF
055933,000081: # THE LM OR CSM STATE VECTOR, AS THE NAMES SUGGEST. ONE ENTRANCE (INTEGRVS) PERMITS THE CALLING PROGRAM TO
055934,000082: # PROVIDE A STATE VECTOR TO BE INTEGRATED. THE CALLING PROGRAM MUST SET THE FLAGS INDICATING (1) PRECISION OR
055935,000083: # CONIC INTEGRATION, (2) IN OR OUT OF LUNAR SPHERE, (3) MIDCOURSE OR NOT, AND THE INTEGRATION PROGRAM COMPLETES
055936,000084: # THE FLAG SETTING TO BYPASS W-MATRIX INTEGRATION. THE LAST ENTRANCE (INTEGRV, USED IN GENERAL BY THE
055937,000085: # NAVIGATION PROGRAMS) PERMITS THE CALLER TO SET FIVE FLAGS (NOT MOONFLAG OR MIDFLAG) BUT NOT TO INPUT A STATE
055938,000086: # VECTOR. ANY PROGRAM WHICH CALLS INTEGRVS OR INTEGRV MUST CALL INTSTALL BEFORE IT SETS THE INTEGRATION FLAGS
055939,000087: # AND/OR STATE VECTOR.
055940,000088:
055941,000089: # THREE SETS OF 42 REGISTERS AND 2 FLAGS ARE USED FOR THE STATE VECTORS. TWO SETS, WHICH MAY NOT BE OVERLAYED, ARE
055942,000090: # USED FOR THE PERMANENT STATE VECTORS FOR THE CSM AND LM. THE THIRD SET, WHICH MAY BE OVERLAYED WHEN INTEGRATION
055943,000091: # IS NOT BEING DONE, IS USED IN THE COMPUTATIONS.
055944,000092:
055945,000093: # THE PERMANENT STATE VECTORS WILL BE PERIODICALLY UPDATED SO THAT THE VECTORS WILL NOT BE OLDER THAN 4 TIMESTEPS.
055946,000094: # THE PERMANENT STATE VECTORS WILL ALSO BE UPDATED WHENEVER THE W-MATRIX IS INTEGRATED OR WHEN A CALLER OF INTEGRV
055947,000095: # SETS STATEFLG (THE NAVIGATION PROGRAMS P20, P22.)
055948,000096:
Page 1280 |
055950,000098: # APPENDIX B OF THE USERS GUIDE LISTS THE STATE VECTOR QUANTITIES.
055951,000099:
055952,000100: # 2.1 RESTARTS
055953,000101:
055954,000102: # PHASE CHANGES WILL BE MADE IN THE INTEGRATION PROGRAM ONLY FOR THE INTEGRV ENTRANCE (I.E., WHEN THE W-MATRIX IS
055955,000103: # INTEGRATED OR PERMANENT STATE VECTOR IS UPDATED.) THE GROUP NUMBER USED WILL BE THAT FOR THE P20-25 PROGRAMS
055956,000104: # (I.E., GROUP2) SINCE THE INTEGRV ENTRANCE WILL ONLY BE USED BY THESE PROGRAMS. IF A RESTART OCCURS DURING AN
055957,000105: # INTEGRATION OF THE STATE VECTOR ONLY, THE RECOVERY WILL BE TO THE LAST PHASE IN THE CALLING PROGRAM. CALLING
055958,000106: # PROGRAMS WHICH USE THE INTEGRV OR INTEGRVS ENTRANCE OF INTEGRATION SHOULD ENSURE THAT IF PHASE CHANGING IS DONE
055959,000107: # THAT IT IS PRIOR TO SETTING THE INTEGRATION INPUTS IN THE PUSHLIST.
055960,000108:
055961,000109: # THIS IS BECAUSE THE PUSHLIST IS LOST DURING A RESTART.
055962,000110:
055963,000111: # 2.2 SCALING
055964,000112:
055965,000113: # THE INTEGRATION ROUTINE WILL MAINTAIN THE PERMANENT MEMORY STATE VECTORS IN THE SCALING AND UNITS DEFINED IN
055966,000114: # APPENDIX B OF THE USERS GUIDE. THE SCALING OF THE OUTPUT POSITION VECTOR DEPENDS ON THE ORIGIN OF THE COORDINATE
055967,000115: # SYSTEM AT THE DESIRED INTEGRATION TIME. THE COORDINATE SYSTEM TRANSFORMATION WILL BE DONE AUTOMATICALLY ON
055968,000116: # MULTIPLE TIMESTEP ENCKE INTEGRATION ONLY. THUS IT IS POSSIBLE TO HAVE OUTPUT FROM SUCCESSIVE INTEGRATIONS IN
055969,000117: # DIFFERENT SCALING.
055970,000118:
055971,000119: # HOWEVER, RATT, VATT WILL ALWAYS BE SCALED THE SAME.
055972,000120:
055973,000121: # 3.0 INPUT/OUTPUT
055974,000122: # ----------------
055975,000123:
055976,000124: # PROGRAM INPUTS ARE THE FLAGS DESCRIBED IN APPENDIX A AND THE PERMANENT STATE VECTOR QUANTITIES DESCRIBED IN AP-
055977,000125: # PENDIX B OF THE USERS GUIDE, PLUS THE DESIRED TIME TO INTEGRATE TO IN TDEC1 (A PUSH LIST LOCATION).
055978,000126: # FOR INTEGRVS, THE RCV,VCV,TET OF THE TEMPORARY STATE VECTOR MUST BE SET, PLUS MOONFLAG AND MIDFLAG
055979,000127:
055980,000128: # FOR SIMULATION THE FOLLOWING QUANTITIES MUST BE PRESET ---
055981,000129: # EARTH MOON
055982,000130: # 29 27
055983,000131: # RRECTCSM(LEM) - RECTIFIED POSITION VECTOR METERS 2 2
055984,000132:
055985,000133: # 7 5
055986,000134: # VRECTCSM(LEM) - RECTIFIED VELOCITY VECTOR M/CSEC 2 2
055987,000135:
055988,000136: # 28 28
055989,000137: # TETCSM(LEM) - TIME STATE VECTOR IS VALID CSEC 2 2
055990,000138: # CUSTOMARILY 0, BUT NOTE LUNAR
055991,000139: # ORBIT DEPENDENCE ON REAL TIME.
055992,000140:
055993,000141: # 22 18
055994,000142: # DELTAVCSM(LEM) - POSITION DEVIATION METERS 2 2
055995,000143: # 0 IF TCCSM(LEM) = 0
055996,000144:
055997,000145: # 3 -1
055998,000146: # NUVCSM(LEM) - VELOCITY DEVIATION M/CSEC 2 2
055999,000147: # 0 IF TCCSM(LEM) = 0
Page 1281 |
056001,000149: # 29 27
056002,000150: # RCVCSM(LEM) - CONIC POSITION METERS 2 2
056003,000151: # EQUALS RRECTCSM(LEM) IF
056004,000152: # TCCSM(LEM) = 0
056005,000153:
056006,000154: # 7 5
056007,000155: # VCVCSM(LEM) - CONIC VELOCITY M/CSEC 2 2
056008,000156: # EQUALS VRECTCSM(LEM) IF
056009,000157: # TCCSM(LEM) = 0
056010,000158:
056011,000159: # 28 28
056012,000160: # TCCSM(LEM) - TIME SINCE RECTIFICATION CSECS 2 2
056013,000161: # CUSTOMARILY 0
056014,000162:
056015,000163: # 1/2 17 16
056016,000164: # XKEPCSM(LEM) - ROOT OF KEPLERS EQUATION M 2 2
056017,000165: # 0 IF TCCSM(LEM) = 0
056018,000166:
056019,000167: # CMOONFLG - PERMANENT FLAGS CORRESPONDING 0 0
056020,000168: # CMIDFLAG TO MOONFLAG AND MIDFLAG 0,1 0,1
056021,000169: # LMOONFLG C = CSM, L = LM 0 0
056022,000170: # LMIDFLG 0,1 0,1
056023,000171:
056024,000172: # SURFFLAG - LUNAR SURFACE FLAG 0,1 0,1
056025,000173:
056026,000174: # IN ADDITION, IF (L)CMIDFLAG IS SET, THE INITIAL INPUT VALUES FOR LUNAR
056027,000175: # SOLAR EPHEMERIDES SUBROUTINE AND PLANETARY INERTIAL ORIENTATION SUB-
056028,000176: # ROUTINE MUST BE PRESET.
056029,000177:
056030,000178: # OUTPUT
056031,000179: # AFTER EVERY CALL TO INTEGRATION
056032,000180: # EARTH MOON
056033,000181: # 29 29
056034,000182: # 0D RATT POSITION METERS 2 2
056035,000183:
056036,000184: # 7 7
056037,000185: # 6D VATT VELOCITY M/CSEC 2 2
056038,000186:
056039,000187: # 28 28
056040,000188: # 12D TAT TIME 2 2
056041,000189:
056042,000190: # 29 27
056043,000191: # 14D RATT1 POSITION METERS 2 2
056044,000192:
056045,000193: # 7 5
056046,000194: # 20D VATT1 VELOCITY M/CSEC 2 2
056047,000195:
056048,000196: # 3 2 36 30
056049,000197: # 26D MU(P) MU M /CS 2 2
056050,000198:
056051,000199: # X1 MUTABLE ENTRY -2 -10D
056052,000200:
056053,000201: # X2 COORDINT
056054,000202: # X2 COORDINATE SYSTEM ORIGEN 0 2
056055,000203: # (THIS, NOT MOONFLAG, SHOULD BE
Page 1282 |
056057,000205: # USED TO DETERMINE ORIGIN.)
056058,000206:
056059,000207: # IN ADDITION TO THE ABOVE, THE PERMANENT STATE VECTOR IS UPDATED WHENEVER
056060,000208: # STATEFLG WAS SET AND WHENEVER A W-MATRIX IS TO BE INTEGRATED. THE PUSH
056061,000209: # COUNTER IS SET TO 0 AND OVERFLOW IS CLEARED BEFORE RETURNING TO THE
056062,000210: # CALLING PROGRAM.
056063,000211:
056064,000212: # 4.0 CALLING SEQUENCES AND SAMPLE CODE
056065,000213: # -------------------------------------
056066,000214:
056067,000215: # A) PRECISION ORBITAL INTEGRATION. CSMPREC, LEMPREC ENTRANCES
056068,000216: # L-X STORE TIME TO 95T5791T5 T 95 PUS L9ST (T4531)
056069,000217: # L CALL
056070,000218: # L+1 CSMPREC (OR LEMPREC)
056071,000219: # L+2 RETURN
056072,000220: # INPUT 28
056073,000221: # TDEC1 (PD 32D) TIME TO INTEGRATE TO...CENTISECONDS SCALED 2
056074,000222: # OUTPUT
056075,000223: # THE DATA LISTED IN SECTION 3.0 PLUS
056076,000224: # RQVV POSITION VECTOR OF VEHICLE WITH RESPECT TO SECONDARY
056077,000225: # BODY... METERS B-29 ONLY IF MIDFLAG = DIMOFLAG = 1
056078,000226: # B) CONIC INTEGRATION. CSMCONIC, LEMCONIC ENTRANCES
056079,000227: # L-X STORE TIME IN PUSH LIST (TDEC1)
056080,000228: # L CALL
056081,000229: # L+1 CSMCONIC (OR LEMCONIC)
056082,000230: # INPUT/OUTPUT
056083,000231: # SAME AS PRECISION INTEGRATION, EXCEPT RQVV NOT SET
056084,000232: # C) INTEGRATE GIVEN STATE VECTOR. INTEGRVS ENTRANCE
056085,000233: # CALL
056086,000234: # INTSTALL
056087,000235: # VLOAD
056088,000236: # POSITION VECTOR
056089,000237: # STOVL RCV
056090,000238: # VELOCITY VECTOR
056091,000239: # STODL VCV
056092,000240: # TIME STATE VECTOR VALID
056093,000241: # STODL TET
056094,000242: # FINAL RADIUS
056095,000243: # STORE RFINAL
056096,000244: # SET(CLEAR) SET(CLEAR)
056097,000245: # INTYPFLAG
056098,000246: # MOONFLAG
056099,000247: # SET(CLEAR) DLOAD
056100,000248: # DESIRED TIME
056101,000249: # STCALL TDEC1
056102,000250: # INTEGRVS
056103,000251: # INPUT
056104,000252: # RCV POSITION VECTOR METERS
056105,000253: # VCV VELOCITY VECTOR M/CSEC
056106,000254: # TET TIME OF STATE VECTOR (MAY = 0) CSEC B-28
Page 1283 |
056108,000256: # TDEC1 TIME TO INTEGRATE TO CSEC B-28 (PD 32D)
056109,000257: # (MAY BE INCREMENT IF TET=0)
056110,000258: # OUTPUT
056111,000259: # SAME AS FOR PRECISION OR CONIC INTEGRATION,
056112,000260: # DEPENDING ON INTYPFLG.
056113,000261: # D) INTEGRATE STATE VECTOR. INTGRV ENTRANCE
056114,000262: # L-X STORE TIME IN PUSH LIST (TDEC1) (MAY BE DONE AFTER CALL TO INTSTALL)
056115,000263: # L-8 CALL
056116,000264: # L-7
056117,000265: # L-6 SET(CLEAR) SET(CLEAR)
056118,000266: # L-5 VINTFLAG 1=CSM, 0=LM
056119,000267: # L-4 INTYPFLAG 1=CONIC, 0=PRECISION
056120,000268: # L-3 SET(CLEAR) SET(CLEAR)
056121,000269: # L-2 DIMOFLAG 1=W-MATRIX, 0=NO W-MATRIX
056122,000270: # L-1 D6OR9FLG 1=9X9, 0=6X6
056123,000271: # L SET DLOAD
056124,000272: # L+1 STATEFLG DESIRE PERMANENT UPDATE
056125,000273: # L+2 FINAL RAD. OF STATE VECTOR
056126,000274: # L+3 STCALL RFINAL
056127,000275: # L+4 INTEGRV
056128,000276: # L CALL NORMAL USE -- WILL UPDATE STATE
056129,000277: # L+1 INTEGRV VECTOR IF DIMOFLAG=1. (STATEFLG IS
056130,000278: # L+2 RETURN ALWAYS RESET IN INTEGRATION AFTER
056131,000279: # IT IS USED.)
056132,000280: # INPUT
056133,000281: # TDEC1 (PD 32D) TIME TO INTEGRATE TO CSEC B-28
056134,000282: # OUTPUT
056135,000283: # SAME AS FOR PRECISION OR CONIC INTEGRATION
056136,000284: # THE PROGRAM WILL SET MOONFLAG, MIDFLAG DEPENDING ON
056137,000285: # THE PERMANENT STATE VECTOR REPRESENTATION.
056138,000286:
056139,000287: 11,2310 BANK 11
056140,000288: 13,2000 SETLOC INTINIT
056141,000289: 13,2000 BANK
056142,000290: 13,2561 E3,1554 EBANK= RRECTCSM
056143,000291: 13,2561 COUNT 13/INTIN
056144,000292:
056145,000293: 13,2561 05301 STATEINT TC PHASCHNG
056146,000294: 13,2562 00052 OCT 00052
056147,000295: 13,2563 34754 CAF PRIO5
056148,000296: 13,2564 05042 TC FINDVAC
056149,000297: 13,2565 E3,1554 EBANK= RRECTCSM
056150,000298: 13,2565 02570 26063 2CADR STATINT1
056151,000299:
056152,000300: 13,2567 05213 TC TASKOVER
056153,000301: 13,2570 06006 STATINT1 TC INTPRET
056154,000302: 13,2571 47014 BON RTB
056155,000303: 13,2572 04712 QUITFLAG
056156,000304: 13,2573 26630 NOINT # NO STATEINT IF V96
056157,000305: 13,2574 45505 LOADTIME
Page 1284 |
056159,000307: 13,2575 00041 STORE TDEC1
056160,000308: 13,2576 77624 CALL
056161,000309: 13,2577 27371 INTSTALL
056162,000310: 13,2600 45014 SET CALL
056163,000311: 13,2601 01076 NODOFLAG
056164,000312: 13,2602 26621 SETIFLGS
056165,000313: 13,2603 77650 GOTO
056166,000314: 13,2604 26000 STATEUP
056167,000315: 13,2605 00003 25140 600SECS 2DEC 60000 B-28
056168,000316:
056169,000317: 13,2607 77414 ENDINT CLEAR EXIT
056170,000318: 13,2610 01672 STATEFLG
056171,000319: 13,2611 05301 TC PHASCHNG
056172,000320: 13,2612 20032 OCT 20032
056173,000321: 13,2613 00006 EXTEND
056174,000322: 13,2614 32606 DCA 600SECS
056175,000323: 13,2615 05231 TC LONGCALL
056176,000324: 13,2616 E3,1554 EBANK= RRECTHIS
056177,000325: 13,2616 02561 26063 2CADR STATEINT
056178,000326:
056179,000327: 13,2620 05112 TC ENDOFJOB
056180,000328: 13,2621 43014 SETIFLGS SET CLEAR
056181,000329: 13,2622 01472 STATEFLG
056182,000330: 13,2623 01673 INTYPFLG
056183,000331: 13,2624 43014 CLEAR CLEAR
056184,000332: 13,2625 01676 DIM0FLAG
056185,000333: 13,2626 01675 D6OR9FLG
056186,000334: 13,2627 77616 RVQ
056187,000335: 13,2630 77776 NOINT EXIT
056188,000336: 13,2631 05301 TC PHASCHNG
056189,000337: 13,2632 00002 OCT 2
056190,000338:
056191,000339: 13,2633 05447 TC DOWNFLAG
056192,000340: 13,2634 00221 ADRES QUITFLAG
056193,000341:
056194,000342: 13,2635 05112 TC ENDOFJOB
056195,000343:
056196,000344: # ATOPCSM TRANSFERS RRECT TO RRECT +41 TO RRECTCSM TO RRECTCSM +41
056197,000345:
056198,000346: # CALLING SEQUENCE
056199,000347: # L CALL
056200,000348: # L+1 ATOPCSM
056201,000349:
056202,000350: # NORMAL EXIT AT L+2
056203,000351:
056204,000352: 13,2636 47020 ATOPCSM STQ RTB
056205,000353: 13,2637 00051 S2
056206,000354: 13,2640 26651 MOVEACSM
056207,000355: 13,2641 45014 SET CALL
056208,000356: 13,2642 04063 CMOONFLG
Page 1285 |
056210,000358: 13,2643 20237 SVDWN1
056211,000359: 13,2644 43014 BON CLRGO
056212,000360: 13,2645 00303 MOONFLAG
056213,000361: 13,2646 00051 S2
056214,000362: 13,2647 04223 CMOONFLG
056215,000363: 13,2650 00051 S2
056216,000364: 13,2651 03015 MOVEACSM TC SETBANK
056217,000365: 13,2652 55500 TS DIFEQCNT # INITIALIZE INDEX
056218,000366: 13,2653 51500 INDEX DIFEQCNT
056219,000367: 13,2654 31502 CA RRECT
056220,000368: 13,2655 51500 INDEX DIFEQCNT
056221,000369: 13,2656 55554 TS RRECTCSM
056222,000370: 13,2657 11500 CCS DIFEQCNT # IS TRANSFER COMPLETE
056223,000371: 13,2660 12652 TCF MOVEACSM +1 # NO-LOOP
056224,000372: 13,2661 06030 TC DANZIG # COMPLETE - RETURN
056225,000373:
056226,000374: # PTOACSM TRANSFERS RRECTCSM TO RRECTCSM +41 TO RRECT TO RRECT +41
056227,000375:
056228,000376: # CALLING SEQUENCE
056229,000377: # L CALL
056230,000378: # PTOACSM
056231,000379:
056232,000380: # NORMAL EXIT AT L+2
056233,000381:
056234,000382: 13,2662 43034 PTOACSM RTB BON
056235,000383: 13,2663 26700 MOVEPCSM
056236,000384: 13,2664 04303 CMOONFLG
056237,000385: 13,2665 26673 SETMOON
056238,000386: 13,2666 66214 CLRMOON CLEAR SSP
056239,000387: 13,2667 00263 MOONFLAG
056240,000388: 13,2670 02151 PBODY
056241,000389: 13,2671 00000 0
056242,000390: 13,2672 77616 RVQ
056243,000391: 13,2673 66214 SETMOON SET SSP
056244,000392: 13,2674 00063 MOONFLAG
056245,000393: 13,2675 02151 PBODY
056246,000394: 13,2676 00002 2
056247,000395: 13,2677 77616 RVQ
056248,000396: 13,2700 03015 MOVEPCSM TC SETBANK
056249,000397: 13,2701 55500 TS DIFEQCNT
056250,000398: 13,2702 51500 INDEX DIFEQCNT
056251,000399: 13,2703 31554 CA RRECTCSM
056252,000400: 13,2704 51500 INDEX DIFEQCNT
056253,000401: 13,2705 55502 TS RRECT
056254,000402: 13,2706 11500 CCS DIFEQCNT
056255,000403: 13,2707 12701 TCF MOVEPCSM +1
056256,000404: 13,2710 06030 TC DANZIG
056257,000405:
056258,000406: # ATOPLEM TRANSFERS RRECT TO RRECT +41 TO RRECTLEM TO RRECTLEM +41
Page 1286 |
056260,000408: 13,2711 47020 ATOPLEM STQ RTB
056261,000409: 13,2712 00051 S2
056262,000410: 13,2713 26724 MOVEALEM
056263,000411: 13,2714 45014 SET CALL
056264,000412: 13,2715 04064 LMOONFLG
056265,000413: 13,2716 20263 SVDWN2
056266,000414: 13,2717 43014 BON CLRGO
056267,000415: 13,2720 00303 MOONFLAG
056268,000416: 13,2721 00051 S2
056269,000417: 13,2722 04224 LMOONFLG
056270,000418: 13,2723 00051 S2
056271,000419: 13,2724 03015 MOVEALEM TC SETBANK
056272,000420: 13,2725 55500 TS DIFEQCNT
056273,000421: 13,2726 51500 INDEX DIFEQCNT
056274,000422: 13,2727 31502 CA RRECT
056275,000423: 13,2730 51500 INDEX DIFEQCNT
056276,000424: 13,2731 55626 TS RRECTLEM
056277,000425: 13,2732 11500 CCS DIFEQCNT
056278,000426: 13,2733 12725 TCF MOVEALEM +1
056279,000427: 13,2734 06030 TC DANZIG
056280,000428:
056281,000429: # PTOALEM TRANSFERS RRECTLEM TO RRECTLEM +41 TO RRECT TO RRECT +41
056282,000430:
056283,000431: 13,2735 47014 PTOALEM BON RTB
056284,000432: 13,2736 04307 SURFFLAG
056285,000433: 13,2737 26756 USEPIOS
056286,000434: 13,2740 26745 MOVEPLEM
056287,000435: 13,2741 52014 BON GOTO
056288,000436: 13,2742 04304 LMOONFLG
056289,000437: 13,2743 26673 SETMOON
056290,000438: 13,2744 26666 CLRMOON
056291,000439: 13,2745 03015 MOVEPLEM TC SETBANK
056292,000440: 13,2746 55500 TS DIFEQCNT
056293,000441: 13,2747 51500 INDEX DIFEQCNT
056294,000442: 13,2750 31626 CA RRECTLEM
056295,000443: 13,2751 51500 INDEX DIFEQCNT
056296,000444: 13,2752 55502 TS RRECT
056297,000445: 13,2753 11500 CCS DIFEQCNT
056298,000446: 13,2754 12746 TCF MOVEPLEM +1
056299,000447: 13,2755 06030 TC DANZIG
056300,000448:
056301,000449: 13,2756 77201 USEPIOS SETPD VLOAD
056302,000450: 13,2757 00001 0
056303,000451: 13,2760 02026 RLS
056304,000452: 13,2761 41525 PDDL PUSH
056305,000453: 13,2762 00041 TDEC1
056306,000454: 13,2763 15517 STODL TET
056307,000455: 13,2764 27756 5/8
Page 1287 |
056309,000457: 13,2765 77624 CALL
056310,000458: 13,2766 55341 RP-TO-R
056311,000459: 13,2767 25535 STOVL RCV
056312,000460: 13,2770 11450 ZUNIT
056313,000461: 13,2771 14001 STODL 0D
056314,000462: 13,2772 01517 TET
056315,000463: 13,2773 14007 STODL 6D
056316,000464: 13,2774 27756 5/8
056317,000465: 13,2775 45014 SET CALL # NEEDED FOR SETTING X1 ON EXIT
056318,000466: 13,2776 00063 MOONFLAG
056319,000467: 13,2777 55341 RP-TO-R
056320,000468: 13,3000 74235 VXV VXSC
056321,000469: 13,3001 01535 RCV
056322,000470: 13,3002 27014 OMEGMOON
056323,000471: 13,3003 25543 STOVL VCV
056324,000472: 13,3004 11456 ZEROVEC
056325,000473: 13,3005 01521 STORE TDELTAV
056326,000474: 13,3006 67174 AXT,2 SXA,2
056327,000475: 13,3007 00002 2
056328,000476: 13,3010 02150 PBODY
056329,000477: 13,3011 35527 STCALL TNUV
056330,000478: 13,3012 27136 A-PCHK
056331,000479: 13,3013 07112 06620 OMEGMOON 2DEC* 2.66169947 E-8 B+23*
056332,000480:
056333,000481: 13,3015 33021 SETBANK CAF INTBANK
056334,000482: 13,3016 54006 TS BBANK
056335,000483: 13,3017 33436 CAF FORTYONE
056336,000484: 13,3020 00002 TC Q
056337,000485: 13,3021 E3,1554 EBANK= RRECTCSM
056338,000486: 13,3021 26063 INTBANK BBCON INTEGRV
056339,000487:
056340,000488: # SPECIAL PURPOSE ENTRIES TO ORBITAL INTEGRATION. THESE ROUTINES PROVIDE ENTRANCES TO INTEGRATION WITH
056341,000489: # APPROPRIATE SWITCHES SET OR CLEARED FOR THE DESIRED INTEGRATION.
056342,000490:
056343,000491: # CSMPREC AND LEMPREC PERFORM ORBIT INTEGRATION BY THE ENCKE METHOD TO THE TIME INDICATED IN TDEC1
056344,000492: # ACCELERATIONS DUE TO OBLATENESS ARE INCLUDED. NO W-MATRIX INT. IS DONE.
056345,000493: # THE PERMANENT STATE VECTOR IS NOT UPDATED.
056346,000494:
056347,000495: # CSMCONIC AND LEMCONIC PERFORM ORBIT INTEG. BY KEPLERS METHOD TO THE TIME INDICATED IN TDEC1
056348,000496: # NO DISTURBING ACCELERATIONS ARE INCLUDED. IN THE PROGRAM FLOW THE GIVEN
056349,000497: # STATE VECTOR IS RECTIFIED BEFORE SOLUTION OF KEPLERS EQUATION
056350,000498:
056351,000499: # THE ROUTINES ASSUME THAT THE CSM (LEM) STATE VECTOR IN P-MEM IS VALID.
056352,000500: # SWITCHES SET PRIOR TO ENTRY TO THE MAIN INTEG. PROG ARE AS FOLLOWS
056353,000501: # CSMPREC CSMCONIC LEMPREC LEMCONIC
056354,000502: # VINTFLAG SET SET CLEAR CLEAR
056355,000503: # INTYPFLG CLEAR SET CLEAR SET
056356,000504: # DIM0FLAG CLEAR CLEAR CLEAR CLEAR
Page 1288 |
056358,000506:
056359,000507: # CALLING SEQUENCE
056360,000508: # L-X STORE TDEC1
056361,000509: # L CALL (STCALL TDEC1)
056362,000510: # L+1 CSMPREC (CSMCONIC, LEMPREC, LEMCONIC)
056363,000511:
056364,000512: # NORMAL EXIT TO L+2
056365,000513:
056366,000514: # SUBROUTINES CALLED
056367,000515: # INTEGRV1
056368,000516: # PRECOUT FOR CSMPREC AND LEMPREC
056369,000517: # CONICOUT FOR CSMCONIC AND LEMCONIC
056370,000518:
056371,000519: # OUTPUT - SEE PAGE 2 OF THIS LOG SECTION
056372,000520:
056373,000521: # INPUT
056374,000522: # TDEC1 TIME TO INTEGRATE TO. CSECS B-28
056375,000523:
056376,000524: 13,3022 45020 CSMPREC STQ CALL
056377,000525: 13,3023 00046 X1
056378,000526: 13,3024 27371 INTSTALL
056379,000527: 13,3025 43130 SXA,1 SET
056380,000528: 13,3026 02214 IRETURN
056381,000529: 13,3027 01474 VINTFLAG
056382,000530:
056383,000531: 13,3030 43014 IFLAGP SET CLEAR
056384,000532: 13,3031 01467 PRECIFLG
056385,000533: 13,3032 01676 DIM0FLAG
056386,000534: 13,3033 77614 CLRGO
056387,000535: 13,3034 01633 INTYPFLG
056388,000536: 13,3035 27115 INTEGRV1
056389,000537: 13,3036 45020 LEMPREC STQ CALL
056390,000538: 13,3037 00046 X1
056391,000539: 13,3040 27371 INTSTALL
056392,000540: 13,3041 43130 SXA,1 CLRGO
056393,000541: 13,3042 02214 IRETURN
056394,000542: 13,3043 01634 VINTFLAG
056395,000543: 13,3044 27030 IFLAGP
056396,000544:
056397,000545: 13,3045 45020 CSMCONIC STQ CALL
056398,000546: 13,3046 00046 X1
056399,000547: 13,3047 27371 INTSTALL
056400,000548: 13,3050 43130 SXA,1 SET
056401,000549: 13,3051 02214 IRETURN
056402,000550: 13,3052 01474 VINTFLAG
056403,000551: 13,3053 43014 IFLAGC CLEAR SETGO
056404,000552: 13,3054 01676 DIM0FLAG
056405,000553: 13,3055 01433 INTYPFLG
056406,000554: 13,3056 27115 INTEGRV1
056407,000555: 13,3057 45020 LEMCONIC STQ CALL
056408,000556: 13,3060 00046 X1
Page 1289 |
056410,000558: 13,3061 27371 INTSTALL
056411,000559: 13,3062 43130 SXA,1 CLRGO
056412,000560: 13,3063 02214 IRETURN
056413,000561: 13,3064 01634 VINTFLAG
056414,000562: 13,3065 27053 IFLAGC
056415,000563:
056416,000564: 13,3066 66214 INTEGRVS SET SSP
056417,000565: 13,3067 01467 PRECIFLG
056418,000566: 13,3070 02151 PBODY
056419,000567: 13,3071 00000 0
056420,000568: 13,3072 66214 BOF SSP
056421,000569: 13,3073 00343 MOONFLAG
056422,000570: 13,3074 27077 +3
056423,000571: 13,3075 02151 PBODY
056424,000572: 13,3076 00002 2
056425,000573: 13,3077 77220 STQ VLOAD
056426,000574: 13,3100 02214 IRETURN
056427,000575: 13,3101 11456 ZEROVEC
056428,000576: 13,3102 01521 STORE TDELTAV
056429,000577: 13,3103 35527 STCALL TNUV
056430,000578: 13,3104 23344 RECTIFY
056431,000579: 13,3105 43014 CLEAR SET
056432,000580: 13,3106 01676 DIM0FLAG
056433,000581: 13,3107 04062 NEWIFLG
056434,000582: 13,3110 77614 SETGO
056435,000583: 13,3111 04020 RPQFLAG
056436,000584: 13,3112 27127 ALOADED
056437,000585:
056438,000586: # INTEGRV IS AN ENTRY TO ORBIT INTEGRATION WHICH PERMITS THE CALLER,
056439,000587: # NORMALLY THE NAVIGATION PROGRAM, TO SET THE INTEG. FLAGS. THE ROUTINE
056440,000588: # IS ENTERED AT INTEGRV1 BY CSMPREC ET. AL. AND AT ALOADED BY INTEGRVS.
056441,000589: # THE ROUTINE SETS UP A-MEMORY IF ENTERED AT INTEGRV,1 AND SETS THE INTEG.
056442,000590: # PROGRAM FOR PRECISION OR CONIC
056443,000591:
056444,000592: # THE CALLER MUST FIRST CALL INTSTALL TO CHECK IF INTEG. IS IN USE BEFORE
056445,000593: # SETTING ANY FLAGS.
056446,000594:
056447,000595: # THE FLAGS WHICH SHOULD BE SET OR CLEARED ARE
056448,000596: # VINTFLAG (IGNORED WHEN ENTERED FROM INTEGRVS)
056449,000597: # INTYPFLG
056450,000598: # DIM0FLAG
056451,000599: # D6OR9FLG
056452,000600:
056453,000601: # CALLING SEQUENCE
056454,000602: # L-X CALL
056455,000603: # L-Y INTSTALL
056456,000604: # L-1 SET OR CLEAR ALL FOUR FLAGS. ALSO CAN SET STATEFLG IF DESIRED
056457,000605: # AND DIM0FLAG IS CLEAR.
056458,000606: # L CALL
056459,000607: # L+1 INTEGRV
056460,000608:
056461,000609: # INITIALIZATION
056462,000610: # FLAGS AS ABOVE
056463,000611: # STORE TIME TO INTEGRATE TO IN TDEC1
056464,000612:
Page 1290 |
056466,000614: # OUTPUT
056467,000615: # RATT AS
056468,000616: # VATT DEFINED
056469,000617: # TAT BEFORE
056470,000618:
056471,000619: 13,3113 77620 INTEGRV STQ
056472,000620: 13,3114 02214 IRETURN
056473,000621: 13,3115 43014 INTEGRV1 SET SET
056474,000622: 13,3116 04060 RPQFLAG
056475,000623: 13,3117 04062 NEWIFLG
056476,000624: 13,3120 77731 INTEGRV2 SSP
056477,000625: 13,3121 00053 QPRET
056478,000626: 13,3122 27127 ALOADED
056479,000627: 13,3123 52014 BON GOTO
056480,000628: 13,3124 01714 VINTFLAG
056481,000629: 13,3125 26662 PTOACSM
056482,000630: 13,3126 26735 PTOALEM
056483,000631: 13,3127 77745 ALOADED DLOAD
056484,000632: 13,3130 00041 TDEC1
056485,000633: 13,3131 01101 STORE TDEC
056486,000634: 13,3132 52014 BOFF GOTO
056487,000635: 13,3133 01753 INTYPFLG
056488,000636: 13,3134 27234 TESTLOOP
056489,000637: 13,3135 27220 RVCON
056490,000638: 13,3136 77414 A-PCHK BOFCLR EXIT
056491,000639: 13,3137 01652 STATEFLG
056492,000640: 13,3140 27157 RECTOUT
056493,000641: 13,3141 05301 TC PHASCHNG
056494,000642: 13,3142 04022 OCT 04022
056495,000643: 13,3143 05435 TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
056496,000644: 13,3144 00236 ADRES REINTFLG # INTSTALL AND INTWAKE
056497,000645: 13,3145 06006 TC INTPRET
056498,000646: 13,3146 77731 SSP
056499,000647: 13,3147 00053 QPRET
056500,000648: 13,3150 27155 PHEXIT
056501,000649: 13,3151 52014 BON GOTO
056502,000650: 13,3152 01714 VINTFLAG
056503,000651: 13,3153 26636 ATOPCSM
056504,000652: 13,3154 26711 ATOPLEM
056505,000653: 13,3155 77624 PHEXIT CALL
056506,000654: 13,3156 56741 GRP2PC
056507,000655: 13,3157 45001 RECTOUT SETPD CALL
056508,000656: 13,3160 00001 0
056509,000657: 13,3161 23344 RECTIFY
056510,000658: 13,3162 53775 VLOAD VSL*
056511,000659: 13,3163 01503 RRECT
056512,000660: 13,3164 57576 0,2
056513,000661: 13,3165 53715 PDVL VSL* # RATT TO PD0
056514,000662: 13,3166 01511 VRECT
Page 1291 |
056516,000664: 13,3167 57576 0,2
056517,000665: 13,3170 63325 PDDL PDVL # VATT TO PD6 TAT TO PD12
056518,000666: 13,3171 01517 TET
056519,000667: 13,3172 01503 RRECT
056520,000668: 13,3173 64715 PDVL PDDL*
056521,000669: 13,3174 01511 VRECT
056522,000670: 13,3175 50041 MUEARTH,2
056523,000671: 13,3176 76006 PUSH AXT,1
056524,000672: 13,3177 77765 DEC -10 B-14
056525,000673: 13,3200 76014 BON AXT,1
056526,000674: 13,3201 00303 MOONFLAG
056527,000675: 13,3202 27204 +2
056528,000676: 13,3203 77775 DEC -2 B-14
056529,000677: 13,3204 40001 INTEXIT SETPD BOV
056530,000678: 13,3205 00001 0
056531,000679: 13,3206 27207 +1
056532,000680: 13,3207 43014 CLEAR CLEAR
056533,000681: 13,3210 04676 AVEMIDSW # ALLOW UPDATE OF DOWNLINK STATE VECTOR
056534,000682: 13,3211 01667 PRECIFLG
056535,000683: 13,3212 77535 SLOAD EXIT
056536,000684: 13,3213 02215 IRETURN
056537,000685: 13,3214 30154 CA MPAC
056538,000686: 13,3215 50120 INDEX FIXLOC
056539,000687: 13,3216 54052 TS QPRET
056540,000688: 13,3217 03406 TC INTWAKE
056541,000689:
056542,000690: # RVCON SETS UP ORBIT INTEGRATION TO DO A CONIC SOLUTION FOR POSITION AND
056543,000691: # VELOCITY FOR THE INTERVAL (TET-TDEC)
056544,000692:
056545,000693: 13,3220 45345 RVCON DLOAD DSU
056546,000694: 13,3221 01101 TDEC
056547,000695: 13,3222 01517 TET
056548,000696: 13,3223 36312 STCALL TAU.
056549,000697: 13,3224 23344 RECTIFY
056550,000698: 13,3225 77624 CALL
056551,000699: 13,3226 22310 KEPPREP
056552,000700: 13,3227 43345 DLOAD DAD
056553,000701: 13,3230 01551 TC
056554,000702: 13,3231 01517 TET
056555,000703: 13,3232 35517 STCALL TET
056556,000704: 13,3233 27157 RECTOUT
056557,000705:
Page 1292 |
056559,000707: # TESTLOOP
056560,000708:
056561,000709: 13,3234 43014 TESTLOOP BOF CLRGO
056562,000710: 13,3235 04752 QUITFLAG
056563,000711: 13,3236 27241 +3
056564,000712: 13,3237 01632 STATEFLG
056565,000713: 13,3240 27204 INTEXIT # STOP INTEGRATION
056566,000714: 13,3241 73001 +3 SETPD LXA,2
056567,000715: 13,3242 00013 10D
056568,000716: 13,3243 02150 PBODY
056569,000717: 13,3244 51575 VLOAD ABVAL
056570,000718: 13,3245 01535 RCV
056571,000719: 13,3246 43006 PUSH CLEAR # RC TO 10D
056572,000720: 13,3247 00262 MIDFLAG
056573,000721: 13,3250 50023 DSU* BMN # MIDFLAG=0 IF R G.T. RMP
056574,000722: 13,3251 67241 RME,2
056575,000723: 13,3252 27255 +3
056576,000724: 13,3253 77614 SET
056577,000725: 13,3254 00062 MIDFLAG
056578,000726: 13,3255 41345 NORFINAL DLOAD DMP
056579,000727: 13,3256 00013 10D
056580,000728: 13,3257 00043 34D
056581,000729: 13,3260 55762 SR1R DDV*
056582,000730: 13,3261 50041 MUEARTH,2
056583,000731: 13,3262 41366 SQRT DMP
056584,000732: 13,3263 23675 .3D
056585,000733: 13,3264 40442 SR3 SR4 # DT IS TRUNCATED TO A MULTIPLE
056586,000734: 13,3265 54345 DLOAD SL
056587,000735: 13,3266 00155 MPAC
056588,000736: 13,3267 20220 15D # OF 128 CSECS.
056589,000737: 13,3270 40006 PUSH BOV
056590,000738: 13,3271 27316 MAXDT
056591,000739: 13,3272 50021 BDSU BMN
056592,000740: 13,3273 27370 DT/2MAX
056593,000741: 13,3274 27316 MAXDT
056594,000742: 13,3275 45345 DT/2COMP DLOAD DSU
056595,000743: 13,3276 01101 TDEC
056596,000744: 13,3277 01517 TET
056597,000745: 13,3300 54234 RTB SL
056598,000746: 13,3301 45541 SGNAGREE
056599,000747: 13,3302 20211 8D
056600,000748: 13,3303 02314 STORE DT/2 # B-19
056601,000749: 13,3304 51400 BOV ABS
056602,000750: 13,3305 27322 GETMAXDT
056603,000751: 13,3306 50025 DSU BMN # IS TIME TO INTEG. TO GR THAN MAXTIME
056604,000752: 13,3307 00015 12D
056605,000753: 13,3310 27326 P00HCHK
056606,000754: 13,3311 75345 USEMAXDT DLOAD SIGN
056607,000755: 13,3312 00015 12D
056608,000756: 13,3313 02314 DT/2
Page 1293 |
056610,000758: 13,3314 36314 STCALL DT/2
056611,000759: 13,3315 27326 P00HCHK
056612,000760: 13,3316 65345 MAXDT DLOAD PDDL # EXCHANGE DT/2MAX WITH COMPUTED MAX.
056613,000761: 13,3317 27370 DT/2MAX
056614,000762: 13,3320 77650 GOTO
056615,000763: 13,3321 27275 DT/2COMP
056616,000764: 13,3322 77634 GETMAXDT RTB
056617,000765: 13,3323 45707 SIGNMPAC
056618,000766: 13,3324 36314 STCALL DT/2
056619,000767: 13,3325 27311 USEMAXDT
056620,000768: 13,3326 51545 P00HCHK DLOAD ABS
056621,000769: 13,3327 02314 DT/2
056622,000770: 13,3330 50025 DSU BMN
056623,000771: 13,3331 27366 DT/2MIN
056624,000772: 13,3332 27136 A-PCHK
056625,000773: 13,3333 46135 SLOAD BHIZ
056626,000774: 13,3334 01012 MODREG
056627,000775: 13,3335 27340 +3
056628,000776: 13,3336 77650 GOTO
056629,000777: 13,3337 23155 TIMESTEP
056630,000778: 13,3340 77614 BON # WAS THIS CALL VIA CSM(LEM)PREC
056631,000779: 13,3341 01707 PRECIFLG
056632,000780: 13,3342 23155 TIMESTEP # YES
056633,000781: 13,3343 45345 DLOAD DSU
056634,000782: 13,3344 02314 DT/2
056635,000783: 13,3345 00015 12D
056636,000784: 13,3346 43040 BMN BOFCLR
056637,000785: 13,3347 27136 A-PCHK
056638,000786: 13,3350 04242 NEWIFLG
056639,000787: 13,3351 23155 TIMESTEP
056640,000788: 13,3352 45345 DLOAD DSU
056641,000789: 13,3353 01101 TDEC
056642,000790: 13,3354 01517 TET
056643,000791: 13,3355 77640 BMN # NO BACKWARD INTEGRATION
056644,000792: 13,3356 27204 INTEXIT
056645,000793: 13,3357 40525 PDDL SR4
056646,000794: 13,3360 02314 DT/2 # IS 4(DT) LS (TDEC - TET)
056647,000795: 13,3361 44322 SR2R BDSU # NO
056648,000796: 13,3362 52040 BMN GOTO
056649,000797: 13,3363 27204 INTEXIT
056650,000798: 13,3364 23155 TIMESTEP
056651,000799: 13,3365 00000 01400 DT/2MIN 2DEC 3 B-20
056652,000800: 13,3367 14152 00000 DT/2MAX 2DEC 4000 E2 B-20
056653,000801:
056654,000802: 13,3371 77776 INTSTALL EXIT
056655,000803: 13,3372 34714 CAF ZERO
056656,000804: 13,3373 54001 ALLSTALL TS L
056657,000805: 13,3374 30106 CA RASFLAG
056658,000806: 13,3375 50001 INDEX L
Page 1294 |
056660,000808: 13,3376 73467 MASK INTBITAB # IS THIS STALL AREA FREE
056661,000809: 13,3377 00006 EXTEND
056662,000810: 13,3400 13445 BZF OKTOGRAB # YES
056663,000811: 13,3401 50001 INDEX L
056664,000812: 13,3402 33464 CAF WAKESTAL
056665,000813: 13,3403 05070 TC JOBSLEEP
056666,000814: 13,3404 77776 INTWAKE0 EXIT
056667,000815: 13,3405 13426 TCF INTWAKE1
056668,000816:
056669,000817: 13,3406 40106 INTWAKE CS RASFLAG # IS THIS INTSTALLED ROUTINE TO BE
056670,000818: 13,3407 74704 MASK REINTBIT # RESTARTED
056671,000819: 13,3410 10000 CCS A
056672,000820: 13,3411 03426 TC INTWAKE1 # NO
056673,000821:
056674,000822: 13,3412 50120 INDEX FIXLOC
056675,000823: 13,3413 30052 CA QPRET
056676,000824: 13,3414 55055 TS TBASE2 # YES, DONT RESTART WITH SOMEONE ELSES Q
056677,000825:
056678,000826: 13,3415 05301 TC PHASCHNG
056679,000827: 13,3416 04022 OCT 04022
056680,000828:
056681,000829: 13,3417 31055 CA TBASE2
056682,000830: 13,3420 50120 INDEX FIXLOC
056683,000831: 13,3421 54052 TS QPRET
056684,000832:
056685,000833: 13,3422 34704 CAF REINTBIT
056686,000834: 13,3423 70106 MASK RASFLAG
056687,000835: 13,3424 00006 EXTEND
056688,000836: 13,3425 13450 BZF GOBAC # DONT INTWAKE IF WE CAME HERE VIA RESTART
056689,000837:
056690,000838: 13,3426 34714 INTWAKE1 CAF ZERO
056691,000839: 13,3427 54154 WAKE TS STALTEM # INDEX OF ANY STALL USER
056692,000840: 13,3430 50154 WAKE1 INDEX STALTEM
056693,000841: 13,3431 33464 CAF WAKESTAL
056694,000842: 13,3432 00004 INHINT
056695,000843: 13,3433 05074 TC JOBWAKE
056696,000844: 13,3434 10064 CCS LOCCTR
056697,000845: 13,3435 13430 TCF WAKE1 # MAY BE MORE TO WAKE UP
056698,000846: 13,3436 00051 FORTYONE DEC 41 B-14
056699,000847: 13,3437 50154 INDEX STALTEM
056700,000848: 13,3440 43467 CS INTBITAB
056701,000849: 13,3441 70106 MASK RASFLAG
056702,000850: 13,3442 54106 TS RASFLAG # RELEASE STALL AREA
056703,000851: 13,3443 00003 RELINT
056704,000852: 13,3444 13450 TCF GOBAC
056705,000853: 13,3445 50001 OKTOGRAB INDEX L # NO, WAIT UNTIL AVAILABLE
056706,000854: 13,3446 34675 CAF INTFLBIT
056707,000855: 13,3447 26106 ADS RASFLAG
056708,000856: 13,3450 06006 GOBAC TC INTPRET
056709,000857: 13,3451 77616 RVQ
Page 1295 |
056711,000859: 13,3452 77776 ERASTAL1 EXIT
056712,000860: 13,3453 34712 CAF ONE
056713,000861: 13,3454 13373 TCF ALLSTALL
056714,000862: 13,3455 77776 ERASTAL2 EXIT
056715,000863: 13,3456 34711 CAF TWO
056716,000864: 13,3457 13373 TCF ALLSTALL
056717,000865: 13,3460 34712 ERASWAK1 CAF ONE
056718,000866: 13,3461 13427 TCF WAKE
056719,000867: 13,3462 34711 ERASWAK2 CAF TWO
056720,000868: 13,3463 13427 TCF WAKE
056721,000869: 13,3464 27372 WAKESTAL CADR INTSTALL +1
056722,000870: 13,3465 27453 CADR ERASTAL1 +1
056723,000871: 13,3466 27456 CADR ERASTAL2 +1
056724,000872: 13,3467 0154 STALTEM EQUALS MPAC
056725,000873: 13,3467 20100 INTBITAB OCT 20100
056726,000874: 13,3470 10040 OCT 10040
056727,000875: 13,3471 04020 OCT 04020
056728,000876:
Page 1296 |
056730,000878: # AVETOMID
056731,000879:
056732,000880: # THIS ROUTINE PERFORMS THE TRANSITION FROM A THRUSTING PHASE TO THE COAST
056733,000881: # PHASE BY INITIALIZING THIS VEHICLES PERMANENT STATE VECTOR WITH THE
056734,000882: # VALUES LEFT BY THE AVERAGEG ROUTINE IN RN,VN,PIPTIME.
056735,000883:
056736,000884: # BEFORE THIS IS DONE THE W-MATRIX, IF ITS VALID (ORWFLAG OR RENDWFLG IS
056737,000885: # SET) IS INTEGRATED FORWARD TO PIPTIME WITH THE PRE-THRUST STATE VECTOR.
056738,000886:
056739,000887: # IN ADDITION, THE OTHER VEHICLE IS INTEGRATED (PERMANENT) TO PIPTIME.
056740,000888:
056741,000889: # FINALLY TRKMKCNT IS ZEROED
056742,000890:
056743,000891: 13,2000 SETLOC INTINIT
056744,000892: 13,2000 BANK
056745,000893:
056746,000894: 13,3472 COUNT* $$/INTIN
056747,000895: 13,3472 43020 AVETOMID STQ BON
056748,000896: 13,3473 02317 EGRESS
056749,000897: 13,3474 02716 RENDWFLG
056750,000898: 13,3475 27550 INT/W # W-MATRIX VALID, GO INTEGRATE IT
056751,000899: 13,3476 77614 BON
056752,000900: 13,3477 01711 ORBWFLAG
056753,000901: 13,3500 27550 INT/W # W-MATRIX VALID, GO INTEGRATE IT
056754,000902:
056755,000903: 13,3501 77614 OTHERS BON # FOR
056756,000904: 13,3502 04307 SURFFLAG # CSM
056757,000905: 13,3503 27520 SETCOAST # DONT DO LM ONLY
056758,000906: 13,3504 45145 DLOAD CALL # GET SET FOR NON W-MAT PERMANENT INTEG.
056759,000907: 13,3505 01205 PIPTIME # DESIRED TIME
056760,000908: 13,3506 27371 INTSTALL
056761,000909: 13,3507 45014 SET CALL
056762,000910: 13,3510 01474 VINTFLAG # CM
056763,000911: 13,3511 26621 SETIFLGS # SETS UP NONE W-MAT. PERMANENT INTEG.
056764,000912: 13,3512 43014 BOF CLEAR
056765,000913: 13,3513 02747 COMPUTER
056766,000914: 13,3514 27516 +2 # COMPUTER IS LM ,INTEG CM
056767,000915: 13,3515 01674 VINTFLAG # COMPUTER IS CM ,INTEG LM
056768,000916: 13,3516 34041 STCALL TDEC1
056769,000917: 13,3517 27113 INTEGRV
056770,000918:
056771,000919: 13,3520 45174 SETCOAST AXT,2 CALL # NOW MOVE PROPERLY SCALE RN,VN AND
056772,000920: 13,3521 00002 2 # PIPTIME TO INTEGRATION ERASABLES.
056773,000921: 13,3522 27371 INTSTALL
056774,000922: 13,3523 77014 BON AXT,2
056775,000923: 13,3524 04303 MOONTHIS
056776,000924: 13,3525 27527 +2
056777,000925: 13,3526 00000 0
056778,000926: 13,3527 53775 VLOAD VSR*
Page 1297 |
056780,000928: 13,3530 01171 RN
056781,000929: 13,3531 57176 0,2
056782,000930: 13,3532 01503 STORE RRECT
056783,000931: 13,3533 15535 STODL RCV
056784,000932: 13,3534 01205 PIPTIME
056785,000933: 13,3535 25517 STOVL TET
056786,000934: 13,3536 01177 VN
056787,000935: 13,3537 45057 VSR* CALL
056788,000936: 13,3540 57176 0,2
056789,000937: 13,3541 23360 MINIRECT # FINISH SETTING UP STATE VECTOR
056790,000938: 13,3542 66234 RTB SSP
056791,000939: 13,3543 26651 MOVATHIS # PUT TEMP STATE VECTOR INTO PERMANENT
056792,000940: 13,3544 01127 TRKMKCNT
056793,000941: 13,3545 00000 0
056794,000942: 13,3546 77650 GOTO
056795,000943: 13,3547 75745 FAZAB5
056796,000944:
056797,000945: 13,3550 45145 INT/W DLOAD CALL
056798,000946: 13,3551 01205 PIPTIME # INTEGRATE W THRU BURN
056799,000947: 13,3552 27371 INTSTALL
056800,000948: 13,3553 43014 SET SET
056801,000949: 13,3554 01476 DIM0FLAG # DO W-MATRIX
056802,000950: 13,3555 04476 AVEMIDSW # SO WONT CLOBBER RN,VN,PIPTIME
056803,000951: 13,3556 43014 SET CLEAR
056804,000952: 13,3557 01475 D6OR9FLG # 9X9 FOR LM
056805,000953: 13,3560 01674 VINTFLAG # LM
056806,000954: 13,3561 43014 BOF SET
056807,000955: 13,3562 02747 COMPUTER
056808,000956: 13,3563 27567 +4 # LM TO DO
056809,000957: 13,3564 01474 VINTFLAG
056810,000958: 13,3565 77614 CLEAR
056811,000959: 13,3566 01675 D6OR9FLG # 6X6 FOR CM
056812,000960: 13,3567 34041 STCALL TDEC1
056813,000961: 13,3570 27113 INTEGRV
056814,000962: 13,3571 77650 GOTO
056815,000963: 13,3572 27501 OTHERS # NOW GO DO THE OTHER VEHICLE
056816,000964:
Page 1298 |
056818,000966: # MIDTOAV1
056819,000967:
056820,000968: # THIS ROUTINE INTEGRATES (PRECISION) TO THE TIME SPECIFIED IN TDEC1.
056821,000969: # IF, AT THE END OF AN INTEGRATION TIME STEP, CURRENT TIME PLUS A DELTA
056822,000970: # TIME (SEE TIMEDELT.....BASED ON THE COMPUTATUON TIME FOR ONE TIME STEP)
056823,000971: # IS GREATER THAN THE DESIRED TIME, ALARM 1703 IS SET AND THE INTEGRATION
056824,000972: # IS DONE TO THE CURRENT TIME.
056825,000973: # RETURN IS IN BASIC TO THE RETURN ADDRESS PLUS ONE.
056826,000974:
056827,000975: # IF THE INTEGRATION IS FINISHED TO THE DESIRED TIME, RETURN IS IN BASIC
056828,000976: # TO THE RETURN ADDRESS
056829,000977:
056830,000978: # IN EITHER CASE, BEFORE RETURNING, THE EXTRAPOLATED STATE VECTOR IS TRAN
056831,000979: # FERRED FROM R,VATT TO R,VN1-PIPTIME1 IS SET TO THE FINISHING INTEGRA-
056832,000980: # TION TIME AND MPAC IS SET TO THE DELTA TIME---
056833,000981: # TAT MINUS CURRENT TIME.
056834,000982:
056835,000983: # MIDTOAV2
056836,000984:
056837,000985: # THIS ROUTINE INTEGRATES THIS VEHICLES STATE VECTOR TO THE CURRENT TIME.
056838,000986: # NO INPUTS ARE REQUIRED OF THE CALLER. RETURN IS IN BASIC TO THE RETURN
056839,000987: # ADDRESS WITH THE ABOVE TRANSFERS TO R,VN1-PIPTIME1-AND MPAC DONE
056840,000988:
056841,000989: 13,3573 1127 EBANK= IRETURN1
056842,000990: 13,3573 43020 MIDTOAV2 STQ CLRGO # INTEGRATE TO PRESENT TIME PLUS TIMEDELT
056843,000991: 13,3574 01127 IRETURN1
056844,000992: 13,3575 04634 MID1FLAG
056845,000993: 13,3576 27612 ENTMID2
056846,000994:
056847,000995: 13,3577 43020 MIDTOAV1 STQ SET # INTEGRATE TO TDEC1
056848,000996: 13,3600 01127 IRETURN1
056849,000997: 13,3601 04474 MID1FLAG
056850,000998: 13,3602 43234 RTB DAD # INITIAL CHECK, IS TDEC1 IN THE FUTURE
056851,000999: 13,3603 45505 LOADTIME
056852,001000: 13,3604 27714 TIMEDELT
056853,001001: 13,3605 51021 BDSU BPL
056854,001002: 13,3606 00041 TDEC1
056855,001003: 13,3607 27616 ENTMID1 # Y5S
056856,001004: 13,3610 77624 CALL
056857,001005: 13,3611 27702 NOTIME # NO, SET ALARM, SWITCH TO MIDTOAV2
056858,001006:
056859,001007: 13,3612 43234 ENTMID2 RTB DAD
056860,001008: 13,3613 45505 LOADTIME
056861,001009: 13,3614 27714 TIMEDELT
056862,001010: 13,3615 00041 STORE TDEC1
056863,001011:
056864,001012: 13,3616 77624 ENTMID1 CALL
056865,001013: 13,3617 27371 INTSTALL
056866,001014: 13,3620 45014 CLEAR CALL
Page 1299 |
056868,001016: 13,3621 01676 DIM0FLAG # NO W-MATRIX
056869,001017: 13,3622 26034 THISVINT
056870,001018: 13,3623 43014 CLEAR SET
056871,001019: 13,3624 01673 INTYPFLG
056872,001020: 13,3625 04475 MIDAVFLG # LET INTEG. KNOW THE CALL IS FOR MIDTOAV.
056873,001021: 13,3626 77624 CALL
056874,001022: 13,3627 27113 INTEGRV # GO INTEGRATE
056875,001023: 13,3630 77214 CLEAR VLOAD
056876,001024: 13,3631 04675 MIDAVFLG
056877,001025: 13,3632 00001 RATT
056878,001026: 13,3633 25232 STOVL RN1
056879,001027: 13,3634 00007 VATT
056880,001028: 13,3635 15240 STODL VN1
056881,001029: 13,3636 00015 TAT
056882,001030: 13,3637 01246 STORE PIPTIME1
056883,001031: 13,3640 66134 SXA,2 SXA,1
056884,001032: 13,3641 03746 RTX2
056885,001033: 13,3642 03745 RTX1
056886,001034: 13,3643 77776 EXIT
056887,001035:
056888,001036: 13,3644 00004 INHINT
056889,001037: 13,3645 00006 EXTEND
056890,001038: 13,3646 40025 DCS TIME2
056891,001039: 13,3647 20155 DAS MPAC
056892,001040: 13,3650 07226 TC TPAGREE
056893,001041:
056894,001042: 13,3651 31127 CA IRETURN1
056895,001043: 13,3652 04577 TC BANKJUMP
056896,001044: 13,3653 47014 CKMID2 BOF RTB
056897,001045: 13,3654 04754 MID1FLAG
056898,001046: 13,3655 27672 MID2
056899,001047: 13,3656 45505 LOADTIME
056900,001048: 13,3657 44215 DAD BDSU
056901,001049: 13,3660 27714 TIMEDELT
056902,001050: 13,3661 01101 TDEC
056903,001051: 13,3662 45044 BPL CALL
056904,001052: 13,3663 27234 TESTLOOP # YES
056905,001053: 13,3664 27702 NOTIME
056906,001054:
056907,001055: 13,3665 43234 TIMEINC RTB DAD
056908,001056: 13,3666 45505 LOADTIME
056909,001057: 13,3667 27714 TIMEDELT
056910,001058: 13,3670 35101 STCALL TDEC
056911,001059: 13,3671 27234 TESTLOOP
056912,001060:
056913,001061: 13,3672 45345 MID2 DLOAD DSU
056914,001062: 13,3673 01101 TDEC
056915,001063: 13,3674 01517 TET
056916,001064: 13,3675 45246 ABS DSU
056917,001065: 13,3676 27712 3CSECS
056918,001066:
Page 1300 |
056920,001068: 13,3677 52040 BMN GOTO
056921,001069: 13,3700 27136 A-PCHK
056922,001070: 13,3701 27665 TIMEINC
056923,001071:
056924,001072: 13,3702 77414 NOTIME CLEAR EXIT # TOO LATE
056925,001073: 13,3703 04674 MID1FLAG
056926,001074: 13,3704 25127 INCR IRETURN1 # SET ERROR EXIT (CALLOC +2)
056927,001075: 13,3705 05537 TC ALARM # INSUFFICIENT TIME FOR INTEGRATION --
056928,001076: 13,3706 01703 OCT 1703 # TIG WILL BE SLIPPED...
056929,001077: 13,3707 06006 TC INTPRET
056930,001078: 13,3710 77616 RVQ
056931,001079:
056932,001080: 13,3711 00000 00003 3CSECS 2DEC 3 B-28
056933,001081: 13,3713 00000 02342 TIMEDELT 2DEC 1250 B-28
056934,001082:
056935,001083: 27,2662 BANK 27
056936,001084: 27,2000 SETLOC UPDATE2
056937,001085: 27,2000 BANK
056938,001086: 27,2662 0330 EBANK= INTWAKUQ
056939,001087:
056940,001088: 27,2662 COUNT* $$/INTIN
056941,001089:
056942,001090: 27,2662 0330 INTWAKUQ = INTWAK1Q # TEMPORARY UNTIL NAME OF INTWAK1Q IS CHNG
056943,001091:
056944,001092: 27,2662 00003 INTWAKEU RELINT
056945,001093: 27,2663 00006 EXTEND
056946,001094: 27,2664 22330 QXCH INTWAKUQ # SAVE Q FOR RETURN
056947,001095:
056948,001096: 27,2665 06006 TC INTPRET
056949,001097:
056950,001098: 27,2666 53135 SLOAD BZE # IS THIS A CSM/LEM STATE VECTOR UPDATE
056951,001099: 27,2667 01502 UPSVFLAG # REQUEST. IF NOT GO TO INTWAKUP.
056952,001100: 27,2670 56727 INTWAKUP
056953,001101:
056954,001102: 27,2671 77775 VLOAD # MOVE RRECT(6) AND VRECT(6) INTO
056955,001103: 27,2672 01503 RRECT # RCV(6) AND VCV(6) RESPECTIVELY.
056956,001104: 27,2673 25535 STOVL RCV
056957,001105: 27,2674 01511 VRECT # NOW GO TO 'RECTIFY +13D' TO
056958,001106: 27,2675 77624 CALL # STORE VRECT INTO VCV AND ZERO OUT
056959,001107: 27,2676 23361 RECTIFY +13D # TDELTAV(6),TNUV(6),TC(2) AND XKEP(2)
056960,001108: 27,2677 51535 SLOAD ABS # COMPARE ABSOLUTE VALUE OF 'UPSVFLAG'
056961,001109: 27,2700 01502 UPSVFLAG # TO 'UPDATE MOON STATE VECTOR CODE'
056962,001110: 27,2701 53025 DSU BZE # TO DETERMINE WHETHER THE STATE VECTOR TO
056963,001111: 27,2702 16740 UPMNSVCD # BE UPDATED IS IN THE EARTH OR LUNAR
056964,001112: 27,2703 56710 INTWAKEM # SPHERE OF INFLUENCE.........
056965,001113: 27,2704 43174 AXT,2 CLRGO # EARTH SPHERE OF INFLUENCE.
056966,001114: 27,2705 00000 DEC 0 B-14
056967,001115: 27,2706 00223 MOONFLAG
Page 1301 |
056969,001117: 27,2707 56713 INTWAKEC
056970,001118: 27,2710 43174 INTWAKEM AXT,2 SET # LUNAR SPHERE OF INFLUENCE.
056971,001119: 27,2711 00002 DEC 2 B-14
056972,001120: 27,2712 00063 MOONFLAG
056973,001121: 27,2713 50135 INTWAKEC SLOAD BMN # COMMON CODING AFTER X2 INITIALIZED AND
056974,001122: # MOONFLAG SET (OR CLEARED).
056975,001123: 27,2714 01502 UPSVFLAG # IS THIS A REQUEST FOR A LEM OR CSM
056976,001124: 27,2715 56723 INTWAKLM # STATE VECTOR UPDATE......
056977,001125: 27,2716 77624 CALL # UPDATE CSM STATE VECTOR
056978,001126: 27,2717 26636 ATOPCSM
056979,001127:
056980,001128: 27,2720 52014 CLEAR GOTO
056981,001129: 27,2721 01671 ORBWFLAG
056982,001130: 27,2722 56725 INTWAKEX
056983,001131:
056984,001132: 27,2723 77624 INTWAKLM CALL # UPDATE LM STATE VECTOR
056985,001133: 27,2724 26711 ATOPLEM
056986,001134:
056987,001135: 27,2725 77614 INTWAKEX CLEAR
056988,001136: 27,2726 02676 RENDWFLG
056989,001137:
056990,001138: 27,2727 45131 INTWAKUP SSP CALL # REMOVE :UPDATE STATE VECTOR INDICATOR:
056991,001139: 27,2730 01502 UPSVFLAG
056992,001140: 27,2731 00000 0
056993,001141: 27,2732 27404 INTWAKE0 # RELEASE :GRAB: OF ORBIT INTEG
056994,001142: 27,2733 77776 EXIT
056995,001143:
056996,001144: 27,2734 05301 TC PHASCHNG
056997,001145: 27,2735 04026 OCT 04026
056998,001146: 27,2736 00330 TC INTWAKUQ
056999,001147:
057000,001148: 27,2737 00002 UPMNSVCD OCT 2
057001,001149: 27,2740 00000 OCT 0
057002,001150:
057003,001151: 27,2741 77420 GRP2PC STQ EXIT
057004,001152: 27,2742 03536 GRP2SVQ
057005,001153: 27,2743 05301 TC PHASCHNG
057006,001154: 27,2744 04022 OCT 04022
057007,001155: 27,2745 06006 TC INTPRET
057008,001156: 27,2746 77650 GOTO
057009,001157: 27,2747 03536 GRP2SVQ
057010,001158:
057011,001159:
057012,001160:
End of include-file INTEGRATION_INITIALIZATION.agc. Parent file is MAIN.agc