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