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