Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
037335,000002: ## Copyright: Public domain.
037336,000003: ## Filename: SECOND_DPS_GUIDANCE.agc
037337,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
037338,000005: ## is part of the source code for the Lunar Module's
037339,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
037340,000007: ## Assembler: yaYUL
037341,000008: ## Contact: Ron Burkey <info@sandroid.org>.
037342,000009: ## Website: www.ibiblio.org/apollo/index.html
037343,000010: ## Mod history: 2016-09-30 RSB Created draft version.
037344,000011: ## 2016-10-26 MAS Began.
037345,000012: ## 2016-10-27 MAS Completed transcription.
037346,000013: ## 2016-10-31 RSB Typos.
037347,000014: ## 2016-11-01 RSB In three places, OCT fractional numbers (such as "OCT .6"),
037348,000015: ## which are not supported by yaYUL, have been replaced by
037349,000016: ## decimal equivalents ("DEC .75"), in lieu of modifying
037350,000017: ## yaYUL at this time. Appropriate comments were also added
037351,000018: ## at the points in the code where this happened.
037352,000019: ## 2016-11-02 RSB More typos.
037353,000020: ## 2016-12-06 RSB Comment proofing via octopus/ProoferComments
037354,000021: ## performed, and changes made.
037355,000022:
![]() |
Page 871 |
037357,000024:
037358,000025: # PROGRAM NAME - SECOND DPS GUIDANCE
037359,000026:
037360,000027: # MOD NO. - 0
037361,000028:
037362,000029: # MODIFICATION BY - KLUMPP AND EYLES
037363,000030:
037364,000031: # FUNCTIONAL DESCRIPTION -
037365,000032:
037366,000033: # THERE ARE TWO MODES OF OPERATION OF THE SECOND DPS GUIDANCE PROGRAM (2DPS). PRIOR TO THE IGNITION
037367,000034: # SEQUENCE 2DPS IS OPERATED IN THE PRE-IGNITION MODE FOR THE PURPOSE OF PROVIDING, FOR THE IGNITION
037368,000035: # SEQUENCE, THE TIME OF INITIATION AND THE DIRECTION OF THRUST. IMMEDIATELY AFTER THE IGNITION SEQUENCE
037369,000036: # IS COMPLETED, INCLUDING THE COMMAND OF MAXIMUM THRUST, 2DPS IS ENGAGED IN THE THRUSTING MODE FOR THE
037370,000037: # PURPOSE OF PROVIDING THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS NECESSARY TO CONDUCT THE
037371,000038: # SIMULATED POWERED LANDING MANEUVER.
037372,000039:
037373,000040: # PRIOR TO LAUNCH, ERASABLE MEMORY MUST BE LOADED WITH THE SEMI-UNIT NORMAL TO THE PLANE OF THE
037374,000041: # REQUIRED ORBIT CPT6/2, AND DATA WHICH INDIRECTLY SPECIFICIES THE NOMINAL IGNITION TIME TIGNOM. THESE
037375,000042: # DATA MAY BE ADJUSTED, AS A GROUP, VIA THE UPLINK, UNTIL 200 SECONDS PRIOR TO THE TIGNOM IMPLIED BY THE
037376,000043: # PRE-LAUNCH LOAD OR IMPLIED BY THE UPLINK DATA, WHICHEVER IS EARLIER. A DESCRIPTION OF THE METHOD OF
037377,000044: # UPDATING TIGNOM IS IN THE PROVINCE OF THE MISSION CONTROL PROGRAM (MCP) MISSION PHASE 11 -
037378,000045: # DPS2/FITH/APS1. THE TARGETING IS CONTROLLED BY THE SEMI-UNIT VECTOR CPT6/2 AS DESCRIBED IN THE 206 GSOP.
037379,000046:
037380,000047: # AT APPROXIMATELY 180 SECONDS PRIOR TO TIGNOM, THE MCP ENGAGES 2DPS IN THE PRE-IGNITION MODE BY
037381,000048: # PROVIDING AN EXTRAPOLATED TIME AND STATE IN THE REGISTERS TET, RIGNTION, VIGNTION, AND TRANSFERRING
037382,000049: # CONTROL TO LOCATION PREBURN IN 2DPS. THIS TIME AND STATE ARE AT APPROXIMATELY 50 SECONDS PRIOR TO
037383,000050: # TIGNOM. (THE NAMES RIGNTION, VIGNTION, CHOSEN TO INDICATE USAGE WITH OTHER GUIDANCE PROGRAMS, ARE
037384,000051: # MISLEADING WITH 2DPS IN THAT THE EXTRAPOLATED STATE PROVIDED IN THESE REGISTERS IS NOT THAT EXPECTED AT
037385,000052: # IGNITION BUT RATHER AT 50 SECONDS PRIOR TO IGNITION.) 2DPS TRANSFERS THE CONTENTS OF TET TO PIPTIME
037386,000053: # AND CALLS SUBROUTINE VPATCHER WHICH TRANSFERS THE STATE TO RN, VN AND INITIALIZES FOR CALCRVG.
037387,000054: # USING CALCRVG AS A SUBROUTINE, AND INTERNAL SUBROUTINES IGNITN1 AND IGNITN2, 2DPS MOVES THE TIME AND
037388,000055: # STATE FORWARD TO A TIME GREATER THAN OR EQUAL TO TULLG-6 SECONDS AND LESS THAN OR EQUAL TO TULLG-3.8 SECONDS,
037389,000056: # LEAVING THIS CONSISTENT SET IN PIPTIME, RN, VN, WHERE TULLG IS THE PRECISE TIME FOR ULLAGE TO BE INITIATED
037390,000057: # AND IS LEFT IN THE REGISTER OF THAT NAME. 2DPS LEAVES A SEMI-UNIT VECTOR IN THE DIRECTION IN WHICH
037391,000058: # THRUST IS TO BE COMMANDED DURING THE IGNITION SEQUENCE IN THE REGISTER POINTVSM AND BRANCHES TO
037392,000059: # LOCATION RETPREB IN THE MISSION CONTROL PROGRAM.
037393,000060:
037394,000061: # USING THE DATA LEFT BY THE PRE-IGNITION MODE OF 2DPS, THE MCP ENGAGES KALCMANU TO PROPERLY
037395,000062: # ORIENT THE SPACECRAFT FOR THE IGNITION SEQUENCE, AND ISSUES THE WAITLIST CALLS WHICH CAUSE THE
037396,000063: # READACCS, SERVICER, PGNCSMON LOOP TO BE ESTABLISHED (WITH 2DPS NOT IN THE LOOP) AND PRODUCE ULLAGE,
037397,000064: # ENGINE IGNITION, AND FINALLY MAXIMUM THRUST. IMMEDIATELY AFTER MAXIMUM THRUST IS COMMANDED, THE MCP
037398,000065: # PLACES THE 2BCADR OF BURN (EBANK= E2DPS) IN THE AVGEXIT WHICH CAUSES 2DPS TO BE ADDED TO THE READACCS,
037399,000066: # SERVICER, PGNCSMON LOOP IMMEDIATELY FOLLOWING CALCRVG.
037400,000067:
037401,000068: # WHEN CONTROL IS GIVEN TO 2DPS WITH THE 2BCADR OF BURN IN AVGEXIT, 2DPS OPERATES IN THE THRUSTING
037402,000069: # MODE. IT GENERATES THE SEQUENCING REQUIRED TO CONDUCT THE SIMULATED POWERED LANDING MANEUVER AND ISSUES
037403,000070: # THE THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS.
037404,000071:
037405,000072: # 2DPS GENERATES THE SEQUENCING BY INCREMENTING THE HIGH ORDER PART OF AVGEXIT, BY AN APPROPRIATE
037406,000073: # INTEGER, TO ACCOMPLISH EACH CHANGE OF 2DPS PHASE. THE INCREMENTING OF AVGEXIT CAUSES, ON THE SUBSEQUENT
![]() |
Page 872 |
037408,000075: # PASS THROUGH 2DPS, CONTROL TO BEGIN AT A NEW POINT IN THE SECOND DPS FLITE SEQUENCE TABLE, AND
037409,000076: # CONSEQUENTLY THE CORRESPONDING 2DPS MODING TO BE ESTABLISHED.
037410,000077:
037411,000078: # 2DPS GENERATES THE THRUST ACCELERATION MAGNITUDE AND DIRECTION COMMANDS ON THE BASIS OF THE
037412,000079: # CONTENTS OF PIPTIME, RN, VN, AT THE BEGINNING OF THE PASS. TO ISSUE THE THRUST ACCELERATION DIRECTION
037413,000080: # COMMAND, 2DPS PLACES A SEMI-UNIT VECTOR IN THE REQUIRED DIRECTION IN THE REGISTER AXISD AND CALLS
037414,000081: # FINDCDUD AS A SUBROUTINE. TO ISSUE THE MAGNITUDE COMMAND, 2DPS PLACES THE REQUIRED MAGNITUDE IN THE
037415,000082: # REGISTER /ACF/ AND CALLS THROTCON AS A SUBROUTINE.
037416,000083:
037417,000084: # BEFORE BUT NOT INCLUDING THE LAST PASS, 2DPS TERMINATES THE JOB PERIODICALLY STARTED BY READACCS
037418,000085: # BY BRANCHING TO ENDOFJOB.
037419,000086:
037420,000087: # ON THE LAST PASS 2DPS PLACES THE SEMI-UNIT VECTOR ALONG THE NORMAL TO THE DESIRED ORBITAL PLANE,
037421,000088: # CPT6/2, IN THE REGISTER AXISD, CALLS FINDCDUD, AND BRANCHES TO LOCATION RETBURN IN THE MCP. THE MCP
037422,000089: # REMOVES 2DPS FROM THE READACCS, SERVICER, PGNCSMON LOOP AND ISSUES THE WAITLIST CALLS WHICH PRODUCE THE
037423,000090: # RANDOM THROTTLING. THE MCP DOES NOT CHANGE THE CONTENTS OF AXISD SUPPLIED BY 2DPS. CONSEQUENTLY THE
037424,000091: # THRUST ACCELERATION DURING RANDOM THROTTLING IS NORMAL TO THE ORBITAL PLANE.
037425,000092:
![]() |
Page 873 |
037427,000094: # INTERFACE SPECIFICATIONS -
037428,000095: # SPECIFICATION PRE-IGNITION MODE THRUSTING MODE
037429,000096:
037430,000097: # CALLING SEQUENCE - DTCB TO PREBURN DTCB TO BURN
037431,000098: # (EBANK= E2DPS) (EBANK= E2DPS)
037432,000099:
037433,000100: # NORMAL EXITS - DTCB TO LOCATION PRIOR TO LAST PASS -
037434,000101: # RETPREB (EBANK= TC TO ENDOFJOB
037435,000102: # EMP11JOB) IN MISSION
037436,000103: # CONTROL PROGRAM. LAST PASS -
037437,000104: # DTCB TO LOCATION
037438,000105: # RETBURN (EBANK=
037439,000106: # EMP11JOB) IN MISSION
037440,000107: # CONTROL PROGRAM
037441,000108:
037442,000109: # ABORT EXITS - NONE NONE
037443,000110:
037444,000111: # ALARMS - ON OVERFLOW PRIOR TO OR SAME
037445,000112: # DURING COMPUTATION OF
037446,000113: # ACS OR AFCS, IN ADDITION, IF OVERFLOW
037447,000114: # SET ALARM 00410 OCCURS AFTER COMPUTATION
037448,000115: # AND RETAIN THE VARIABLES OF THE AFOREMENTIONED
037449,000116: # COMPUTED ON THE PREVIOUS VARIABLES,
037450,000117: # PASS. SET ALARM 00412
037451,000118: # AND SKIP ISSUANCE OF
037452,000119: # ON OVERFLOW DURING ATTITUDE AND THROTTLE
037453,000120: # COMPUTATION OF AFCS , COMMANDS.
037454,000121: # 1
037455,000122: # (YIELDS POSMAX),
037456,000123: # RETAIN POSMAX AND
037457,000124: # SET ALARM 00411.
037458,000125:
037459,000126: # ERAS INITIALIZATION - CPT6/2 (IMU COORDS) 2BCADR OF BURN
037460,000127: # OTHER INITIALIZATION (EBANK= E2DPS) MUST
037461,000128: # DONE INTERNALLY BE IN AVGEXIT. OTHER
037462,000129: # INITIALIZATION DONE IN
037463,000130: # PRE-IGNITION MODE.
037464,000131:
037465,000132: # INPUTS - TET PIPTIME
037466,000133: # RIGNTION RN
037467,000134: # VIGNTION VN
037468,000135:
037469,000136: # OUTPUTS - PIPTIME AXISD
037470,000137: # RN /ACF/
037471,000138: # VN
037472,000139: # TULLG
037473,000140: # POINTVSM
037474,000141:
037475,000142: # ERASABLES - AMEMORY THROUGH SAME
![]() |
Page 874 |
037477,000144: # AMEMORY +215 OCT
037478,000145: # PLUS CPT6/2 IN
037479,000146: # NON SHARABLE E4LOAD
037480,000147:
037481,000148: # SUBROUTINES CALLED - ROOTPSRS ROOTPSRS
037482,000149: # VPATCHER FINDCDUD
037483,000150: # CALCRVG THROTCON
037484,000151:
![]() |
Page 875 |
037486,000153: 22,2000 BANK 22
037487,000154: 22,2000 E4,1400 EBANK= E2DPS
037488,000155: # ************************************************************************
037489,000156: # INITIALIZATION OF SECOND DPS GUIDANCE - PREBURN
037490,000157: # ************************************************************************
037491,000158:
037492,000159: 22,2000 22,2000 PREBURN = INIT2DPS
037493,000160: 22,2000 03531 INIT2DPS TC PRETINIT # INITIALIZES INTERPRETER
037494,000161:
037495,000162: # CLEAR ORBITAL INTEGRATION VARIABLES FROM REGISTERS IN COMMON WITH 2DPS
037496,000163:
037497,000164: 22,2001 06112 TC INTPRET
037498,000165: 22,2002 77745 DLOAD
037499,000166: 22,2003 02047 TET # EXTRAPOLATED TIME FROM ORBITAL INTEGRATN
037500,000167: 22,2004 35307 STCALL PIPTIME # TIME REGISTER OF PIPASR
037501,000168: 22,2005 60436 VPATCHER # TRANSFERS RIGNTION, VIGNTION TO RN, VN,
037502,000169: 22,2006 77776 EXIT # AND DUPLICATES FUNCTIONS OF NORMLIZE
037503,000170: 22,2007 04161 TC PHASCHNG # PRE-IGNITION MODE: START 2DPS PROTECTN,
037504,000171: 22,2010 05022 +502 OCT 05022 # ESTABLISHING PRIORITY.
037505,000172: 22,2011 20000 OCT 20000 # PREVENT REREADING ORBITAL INTEGRATION
037506,000173: # VARIABLES AFTER WRITING OVER THEM.
037507,000174:
037508,000175: # COMMON REGISTERS ARE CLEARED
037509,000176:
037510,000177: 22,2012 06112 TC INTPRET
037511,000178: 22,2013 77745 DLOAD
037512,000179: 22,2014 05707 IGNALGL
037513,000180: 22,2015 25073 STOVL AVGEXIT # SET UP RETURN ADDRESS IN AVGEXIT
037514,000181: 22,2016 05722 ZEROPOS
037515,000182: 22,2017 02211 STORE GDOTM1 # DERIVATIVE OF G FOR USE BY IGNITN1
037516,000183: 22,2020 16167 STODL UNAFC/2
037517,000184: 22,2021 05722 ZEROPOS
037518,000185: 22,2022 02055 STORE TTF/4TMP # ZERO AS IF COMING FROM PREVIOUS PHASE
037519,000186: 22,2023 77776 EXIT
037520,000187: 22,2024 33721 CA ZEROPOS
037521,000188: 22,2025 55402 TS FLPASS0 # SHOWS THIS IS INITIAL PASS THIS PHASE
037522,000189: 22,2026 03343 TC XTRTPIP # SETS TPIP EXTRAPOLATED
037523,000190: 22,2027 37743 CA POSMAX
037524,000191: 22,2030 55562 TS /AFC/ # FORCES INITIALIZATION OF COUNTFC
037525,000192: 22,2031 55563 TS /AFC/ +1 # ONLY REASON: TO ASSURE GOOD PARITY
037526,000193: 22,2032 55404 TS COUNTFCT # ONLY REASON: TO ASSURE GOOD PARITY
037527,000194: 22,2033 01072 TC AVGEXIT # RETURNS TO APPROPRIATE LOCATION IN 2DPS
037528,000195:
![]() |
Page 876 |
037530,000197: # ************************************************************************
037531,000198: # SECOND DPS FLITE SEQUENCE TABLE
037532,000199: # ************************************************************************
037533,000200:
037534,000201: # INDIRECT ADDRESSES
037535,000202:
037536,000203: 22,2034 22,2043 BURN = QUAD0X
037537,000204: 22,2034 BRTTFNU = 1
037538,000205: 22,2034 PARL = 2
037539,000206: 22,2034 TBRL = 3
037540,000207: 22,2034 MOD2DPS = 4
037541,000208: 22,2034 TTF/4CR = 5
037542,000209: 22,2034 BRXEND = 6
037543,000210:
037544,000211: 22,2034 12234 IGNALG TCF TTFINCR
037545,000212: 22,2035 12216 TCF ADTTFNU # AS IF COMING FROM PREVIOUS PHASE
037546,000213: 22,2036 00000 OCT 00000
037547,000214: 22,2037 02124 ADRES TBRIGAL
037548,000215: 22,2040 00032 OCT 00032
037549,000216: 22,2041 77664 DEC -1.5 E2 B-15 # -1.5 SECONDS, TTF UNITS, COMPARES TTF/4
037550,000217: 22,2042 12741 TCF EXIGEND
037551,000218:
037552,000219: 22,2043 12234 QUAD0X TCF TTFINCR
037553,000220: 22,2044 12233 TCF RETTTFNU # AS IF CONTINUING PREBURN PHASE
037554,000221: 22,2045 00000 OCT 00000
037555,000222: 22,2046 02130 ADRES TBRQUAD
037556,000223: 22,2047 00042 OCT 00042
037557,000224: 22,2050 73465 DEC -045 E2 B-15 # -045 SECONDS, TTF UNITS, COMPARES TTF/4
037558,000225: 22,2051 13017 TCF EXQDLIN
037559,000226:
037560,000227: 22,2052 12234 QUAD0F TCF TTFINCR
037561,000228: 22,2053 12216 TCF ADTTFNU
037562,000229: 22,2054 00027 OCT 00027
037563,000230: 22,2055 02130 ADRES TBRQUAD
037564,000231: 22,2056 00042 OCT 00042
037565,000232: 22,2057 77551 DEC -3.0 E2 B-15 # -3.0 SECONDS, TTF UNITS, COMPARES TTF/4
037566,000233: 22,2060 13017 TCF EXQDLIN
037567,000234:
037568,000235: 22,2061 13271 LING0F TCF LSETEVN
037569,000236: 22,2062 12233 TCF RETTTFNU
037570,000237: 22,2063 00027 OCT 00027
037571,000238: 22,2064 02134 ADRES TBRLING
037572,000239: 22,2065 00042 OCT 00042
037573,000240: 22,2066 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
037574,000241: 22,2067 13017 TCF EXQDLIN
037575,000242:
![]() |
Page 877 |
037577,000244: 22,2070 13312 LING1F TCF LSETODD
037578,000245: 22,2071 12216 TCF ADTTFNU
037579,000246: 22,2072 00056 OCT 00056
037580,000247: 22,2073 02134 ADRES TBRLING
037581,000248: 22,2074 00042 OCT 00042
037582,000249: 22,2075 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
037583,000250: 22,2076 13017 TCF EXQDLIN
037584,000251:
037585,000252: 22,2077 12234 QUAD2F TCF TTFINCR
037586,000253: 22,2100 12216 TCF ADTTFNU
037587,000254: 22,2101 00065 OCT 00065
037588,000255: 22,2102 02130 ADRES TBRQUAD
037589,000256: 22,2103 00043 OCT 00043
037590,000257: 22,2104 77551 DEC -3.0 E2 B-15 # -3.0 SECONDS, TTF UNITS, COMPARES TTF/4
037591,000258: 22,2105 13017 TCF EXQDLIN
037592,000259:
037593,000260: 22,2106 13271 LING2F TCF LSETEVN
037594,000261: 22,2107 12233 TCF RETTTFNU
037595,000262: 22,2110 00065 OCT 00065
037596,000263: 22,2111 02134 ADRES TBRLING
037597,000264: 22,2112 00043 OCT 00043
037598,000265: 22,2113 77746 DEC -.50 E2 B-15 # -.50 SECONDS, TTF UNITS, COMPARES TTF/4
037599,000266: 22,2114 13017 TCF EXQDLIN
037600,000267:
037601,000268: 22,2115 13312 LING3F TCF LSETODD
037602,000269: 22,2116 12216 TCF ADTTFNU
037603,000270: 22,2117 00114 OCT 00114
037604,000271: 22,2120 02134 ADRES TBRLING
037605,000272: 22,2121 00043 OCT 00043
![]() |
The following line is supposed to read "DEC -.25 E2 B-15", which is supposed to assemble to the octal 77763 ... but actually assembles to 77762. For the present, it is being hard-coded as "OCT 77763" as a workaround. |
037609,000276: 22,2122 77763 OCT 77763 # -.25 SECONDS, TTF UNITS, COMPARES TTF/4
037610,000277: 22,2123 13043 TCF EXFINAL
037611,000278:
![]() |
Page 878 |
037613,000280: # ************************************************************************
037614,000281: # SECOND DPS ROAD MAPS (BRANCH TABLES)
037615,000282: # ************************************************************************
037616,000283:
037617,000284: # INDIRECT ADDRESSES
037618,000285:
037619,000286: 22,2124 BRIGN1 = 0
037620,000287: 22,2124 BRLING = 1
037621,000288: 22,2124 BRIGN2 = 2
037622,000289: 22,2124 BRXMID = 3
037623,000290:
037624,000291: 22,2124 13077 TBRIGAL TCF IGNITN1
037625,000292: 22,2125 12442 TCF TTF/4CL
037626,000293: 22,2126 13172 TCF IGNITN2
037627,000294: 22,2127 12702 TCF EXIGMID
037628,000295:
037629,000296: 22,2130 12210 TBRQUAD TCF RETIGN1
037630,000297: 22,2131 12442 TCF TTF/4CL
037631,000298: 22,2132 12615 TCF RETIGN2
037632,000299: 22,2133 13017 TCF EXQDLIN
037633,000300:
037634,000301: 22,2134 12210 TBRLING TCF RETIGN1
037635,000302: 22,2135 13326 TCF LINGUID
037636,000303: 22,2136 12615 TCF RETIGN2
037637,000304: 22,2137 13017 TCF EXQDLIN
037638,000305:
![]() |
Page 879 |
037640,000307: # ************************************************************************
037641,000308: # INITIALIZATION FOR EACH PASS
037642,000309: # ************************************************************************
037643,000310:
037644,000311: # NTLZPASS SETS INDICES, FILLS TPIPOLD, TPIP, R, V EVERY PASS; BRANCHES TO IGNITN1, ADTTFNU WHEN APPROPRIATE.
037645,000312:
037646,000313: 22,2140 00006 NTLZPASS EXTEND
037647,000314: 22,2141 23406 QXCH RETNTLZ # SAVE RETURN ADDRESS
037648,000315:
037649,000316: 22,2142 41072 CS AVGEXIT
037650,000317: 22,2143 63706 AD IGNALGL
037651,000318: 22,2144 00006 EXTEND
037652,000319: 22,2145 12152 BZF NTLZPSS1 # BRANCH IF AND ONLY IF PRE-IGNITION MODE
037653,000320:
037654,000321: 22,2146 04141 TC 2PHSCHNG # THRUSTING MODE, FIRST PHASCHNG IN 2DPS:
037655,000322: 22,2147 00035 OCT 00035 # IN GROUP 5, RETAIN ONLY PIPA TASK.
037656,000323: 22,2150 05022 +502 OCT 05022 # IN GROUP 2 START 2DPS PROTECTION
037657,000324: 22,2151 20000 OCT 20000 # WITH PRIORITY 20.
037658,000325:
037659,000326: 22,2152 03531 NTLZPSS1 TC PRETINIT # INITIALIZES INTERPRETER
037660,000327:
037661,000328: # SET MODE
037662,000329:
037663,000330: 22,2153 51072 INDEX AVGEXIT
037664,000331: 22,2154 30004 CA MOD2DPS
037665,000332: 22,2155 04122 TC NEWMODEA
037666,000333:
037667,000334: # SET INDICES
037668,000335:
037669,000336: 22,2156 00006 EXTEND
037670,000337: 22,2157 51072 INDEX AVGEXIT
037671,000338: 22,2160 30003 DCA PARL
037672,000339: 22,2161 53401 DXCH NDX2DPS
037673,000340: 22,2162 00006 EXTEND
037674,000341: 22,2163 41401 DCS NDX2DPS
037675,000342: 22,2164 50110 INDEX FIXLOC
037676,000343: 22,2165 52047 DXCH X1 # LOADS BOTH INTRP NDX REGS, NEEDED OR NOT
037677,000344:
037678,000345: # FILL TPIPOLD AND TPIP
037679,000346:
037680,000347: 22,2166 00006 EXTEND
037681,000348: 22,2167 31447 DCA TPIP
037682,000349: 22,2170 53451 DXCH TPIPOLD
037683,000350: 22,2171 04161 TC PHASCHNG # PROTECT TPIPOLD AND
037684,000351: 22,2172 04022 +402 OCT 04022 # PREVENT RETURNING TO PREVIOUS PROGRAM
037685,000352: 22,2173 00006 EXTEND
037686,000353: 22,2174 31307 DCA PIPTIME
037687,000354: 22,2175 53447 DXCH TPIP
037688,000355:
037689,000356: # FILL R AND V
037690,000357:
![]() |
Page 880 |
037692,000359: 22,2176 06112 TC INTPRET
037693,000360: 22,2177 77775 VLOAD
037694,000361: 22,2200 01011 RN
037695,000362: 22,2201 26061 STOVL R # RN TO R WITHOUT RESCALING
037696,000363: 22,2202 01017 VN
037697,000364: 22,2203 77742 VSR2
037698,000365: 22,2204 02067 STORE V # VN TO V WITH SCALING ADJUSTMENT
037699,000366: 22,2205 77776 EXIT
037700,000367:
037701,000368: # IGNITN1 AND ADTTFNU BRANCH DECISIONS
037702,000369:
037703,000370: 22,2206 51401 INDEX NDXBR
037704,000371: 22,2207 10000 TCF BRIGN1 # TO IGNITN1 WHEN APPROPRIATE
037705,000372:
037706,000373: 22,2210 04161 RETIGN1 TC PHASCHNG # RETURN HERE WHETHER OR NOT DO IGNITN1.
037707,000374: 22,2211 04022 +402 OCT 04022 # PROTECT TTF/4TMP AS USED BY IGNITN1 FROM
037708,000375: # WIPEOUT BY ADTTFNU AND TTFINCR. ALSO
037709,000376: # PROTECT RTEMP, VTEMP, GDOTM1T FROM
037710,000377: # RS, VS, ASPRT, (TIME SHARED)
037711,000378:
037712,000379: 22,2212 11402 CCS FLPASS0
037713,000380: 22,2213 12235 TCF TTFINCR +1 # ON OTHER THAN FIRST PASS IN ANY PHASE.
037714,000381: 22,2214 51072 INDEX AVGEXIT
037715,000382: 22,2215 10001 TCF BRTTFNU # TO ADTTFNU WHEN APPROPRIATE
037716,000383:
037717,000384: # ADD TTF/4NU TO TTF/4 FROM LAST PASS
037718,000385:
037719,000386: 22,2216 00006 ADTTFNU EXTEND
037720,000387: 22,2217 31453 DCA TTF/4
037721,000388: 22,2220 53455 DXCH TTF/4TMP
037722,000389: 22,2221 51400 INDEX NDX2DPS
037723,000390: 22,2222 33562 CA TTF/4NU
037724,000391: 22,2223 27454 ADS TTF/4TMP
037725,000392: 22,2224 04161 TC PHASCHNG # PROTECT TTF/4
037726,000393: 22,2225 04022 +402 OCT 04022
037727,000394: 22,2226 00006 EXTEND
037728,000395: 22,2227 31455 DCA TTF/4TMP
037729,000396: 22,2230 53453 DXCH TTF/4 # RENEWED TTF/4
037730,000397:
037731,000398: 22,2231 04161 TC PHASCHNG # PROTECT TTF/4TMP FROM WIPEOUT BY TTFINCR
037732,000399: 22,2232 04022 +402 OCT 04022
037733,000400: 22,2233 01406 RETTTFNU TC RETNTLZ
037734,000401:
037735,000402:
037736,000403:
037737,000404:
037738,000405: # ************************************************************************
037739,000406: # INCREMENT TTF/4
037740,000407: # ************************************************************************
037741,000408:
037742,000409: 22,2234 02140 TTFINCR TC NTLZPASS
![]() |
Page 881 |
037744,000411: 22,2235 00006 +1 EXTEND
037745,000412: 22,2236 41451 DCS TPIPOLD
037746,000413: 22,2237 52145 DXCH MPAC
037747,000414: 22,2240 00006 EXTEND
037748,000415: 22,2241 31447 DCA TPIP
037749,000416: 22,2242 20145 DAS MPAC
037750,000417: 22,2243 37750 CA TSCALE
037751,000418: 22,2244 07375 TC DMPNSUB # (TPIP-TPIPOLD)/4 TO MPAC, TTF UNITS
037752,000419:
037753,000420: 22,2245 00006 EXTEND
037754,000421: 22,2246 31453 DCA TTF/4
037755,000422: 22,2247 20145 DAS MPAC # YIELDS INCREMENTED TTF/4 IN MPAC
037756,000423: 22,2250 52145 DXCH MPAC
037757,000424: 22,2251 53455 DXCH TTF/4TMP
037758,000425: 22,2252 04161 TC PHASCHNG # PROTECT TTF/4
037759,000426: 22,2253 04022 +402 OCT 04022
037760,000427: 22,2254 00006 EXTEND
037761,000428: 22,2255 31455 DCA TTF/4TMP
037762,000429: 22,2256 53453 DXCH TTF/4 # INCREMENTED TTF/4
037763,000430:
037764,000431:
037765,000432:
037766,000433: # ************************************************************************
037767,000434: # SET UP STATE IN LOCAL, PLANE, SPHERICAL COORDINATES
037768,000435: # ************************************************************************
037769,000436:
037770,000437: 22,2257 37743 STUP2DPS CA POSMAX
037771,000438: 22,2260 55524 TS CRS2 # SET CRS2 TO MAXIMUM. RESET LATER ONLY IF
037772,000439: 22,2261 55525 TS CRS2 +1 # RC/RS0 DOES NOT PRODUCE OVERFLOW
037773,000440:
037774,000441: 22,2262 06112 TC INTPRET
037775,000442: 22,2263 53575 VLOAD UNIT
037776,000443: 22,2264 02061 R
037777,000444: 22,2265 26012 STOVL CLT/2 # DEFINITION OF MATRIX CLT/2
037778,000445: 22,2266 02357 CPT6/2
037779,000446: 22,2267 53435 VXV UNIT
037780,000447: 22,2270 02012 CLT/2
037781,000448: 22,2271 26020 STOVL CLT/2 +6
037782,000449: 22,2272 02012 CLT/2
037783,000450: 22,2273 76435 VXV VSL1
037784,000451: 22,2274 02020 CLT/2 +6
037785,000452: 22,2275 26026 STOVL CLT/2 +14
037786,000453: 22,2276 02067 V
037787,000454: 22,2277 76521 MXV VSL1
037788,000455: 22,2300 02012 CLT/2 # - * -
037789,000456: 22,2301 26075 STOVL VL # VL = 2 CLT/2 V
037790,000457: 22,2302 02061 R
037791,000458: 22,2303 72441 DOT SL1
037792,000459: 22,2304 02357 CPT6/2 # - -
037793,000460: 22,2305 02103 STORE RP2 # RP2 = R.CPT6
037794,000461:
![]() |
Page 882 |
037796,000463: 22,2306 63316 DSQ PDVL # PUSH DOWN RP2 SQUARED
037797,000464: 22,2307 02061 R
037798,000465: 22,2310 50235 VXV DOT
037799,000466: 22,2311 02067 V
037800,000467: 22,2312 02357 CPT6/2
037801,000468: 22,2313 77752 SL1 # - - -
037802,000469: 22,2314 26105 STOVL MAP2 # MAP2 = 2 R*V.CPT6/2
037803,000470: 22,2315 02061 R
037804,000471: 22,2316 77646 ABVAL # -
037805,000472: 22,2317 02111 STORE RS # RS0 = ABVAL(R)
037806,000473: 22,2320 45316 DSQ DSU # PUSHING UP RP2 SQUARED
037807,000474: 22,2321 77766 SQRT # 2 2
037808,000475: 22,2322 02107 STORE RC # RC = SQRT(RS0 -RP2 )
037809,000476: 22,2323 51025 DSU BPL # BRANCH IF RC/RS0 WOULD OVERFLOW
037810,000477: 22,2324 02111 RS
037811,000478: 22,2325 44332 SRS2COMP
037812,000479: 22,2326 56345 DLOAD DDV
037813,000480: 22,2327 02107 RC
037814,000481: 22,2330 02111 RS
037815,000482: 22,2331 02125 STORE CRS2 # COSINE(RS2) = RC/RS0
037816,000483: 22,2332 56345 SRS2COMP DLOAD DDV
037817,000484: 22,2333 02103 RP2
037818,000485: 22,2334 02111 RS
037819,000486: 22,2335 02127 STORE SRS2 # SINE(RS2) = RP2/RS0
037820,000487: 22,2336 67562 SR1R ARCSIN
037821,000488: 22,2337 52405 DMP SL3
037822,000489: 22,2340 05740 PI/4
037823,000490: 22,2341 16115 STODL RS +4 # RS2 = ARCSIN(RP2/RS0)
037824,000491: 22,2342 02103 RP2
037825,000492: 22,2343 77671 DDV
037826,000493: 22,2344 02107 RC
037827,000494: 22,2345 16131 STODL TRS2 # TANGENT (RS2) = RP2/RC
037828,000495: 22,2346 02101 VL +4
037829,000496: 22,2347 65271 DDV PDDL # THIS PUSH DOWN IS FOR 3RD COMP OF VS.
037830,000497: 22,2350 02111 RS
037831,000498: 22,2351 02077 VL +2
037832,000499: 22,2352 65271 DDV PDDL # THIS PUSH DOWN IS FOR 2ND COMP OF VS.
037833,000500: 22,2353 02107 RC
037834,000501: 22,2354 02075 VL
037835,000502: 22,2355 77666 VDEF # DEFINITION OF SPHERICAL VELOCITY VECTOR
037836,000503: 22,2356 16117 STODL VS
037837,000504: 22,2357 02121 VS +2
037838,000505: 22,2360 77716 DSQ
037839,000506: 22,2361 41205 DMP DMP
037840,000507: 22,2362 02127 SRS2
037841,000508: 22,2363 02125 CRS2
037842,000509: 22,2364 41325 PDDL DMP
037843,000510: 22,2365 02123 VS +4
037844,000511: 22,2366 02117 VS
037845,000512: 22,2367 72471 DDV SL1
![]() |
Page 883 |
037847,000514: 22,2370 02111 RS
037848,000515: 22,2371 57415 DAD DCOMP
037849,000516: 22,2372 41325 PDDL DMP # THIS PUSH DOWN IS FOR 3RD COMP OF ASPRT.
037850,000517: 22,2373 02121 VS +2
037851,000518: 22,2374 02117 VS
037852,000519: 22,2375 77671 DDV
037853,000520: 22,2376 02111 RS
037854,000521: 22,2377 41325 PDDL DMP
037855,000522: 22,2400 02131 TRS2
037856,000523: 22,2401 02123 VS +4
037857,000524: 22,2402 77605 DMP
037858,000525: 22,2403 02121 VS +2
037859,000526: 22,2404 72425 DSU SL1
037860,000527:
037861,000528: 22,2405 77634 RTB # PREVENT OVERFLOW IN LINSET WHEN
037862,000529: 22,2406 33520 SGNAGREE # AFCS +2 =-POSMAX SGN( ASPRT +2)
037863,000530:
037864,000531: 22,2407 63525 PDDL DSQ # THIS PUSH DOWN IS FOR 2ND COMP OF ASPRT.
037865,000532: 22,2410 02111 RS
037866,000533: 22,2411 77665 BDDV
037867,000534: 22,2412 21203 MUEARTH
037868,000535: 22,2413 63525 PDDL DSQ
037869,000536: 22,2414 02123 VS +4
037870,000537: 22,2415 77605 DMP # -
037871,000538: 22,2416 02111 RS # THIS MONSTER ASPRT REPRESENTS
037872,000539: 22,2417 63525 PDDL DSQ # INCIDENTAL ACCELERATIONS; DUE
037873,000540: 22,2420 02125 CRS2 # TO GRAVITY, CORIOLIS FORCES,
037874,000541: 22,2421 63525 PDDL DSQ # AND SO FORTH.
037875,000542: 22,2422 02121 VS +2
037876,000543: 22,2423 41205 DMP DMP
037877,000544: 22,2424 02111 RS
037878,000545: 22,2425 45215 DAD DSU
037879,000546: 22,2426 77666 VDEF # DEFINITION OF ASPRT
037880,000547: 22,2427 02133 STORE ASPRT
037881,000548: 22,2430 77776 EXIT
037882,000549: 22,2431 37767 CA ZERO # SECOND COMPONENTS
037883,000550: 22,2432 55512 TS RS +2 # OF RS AND VS ARE
037884,000551: 22,2433 55513 TS RS +3 # ZEROED HERE TO PREVENT
037885,000552: 22,2434 55520 TS VS +2 # OVERFLOW TROUBLE IN
037886,000553: 22,2435 55521 TS VS +3 # THE ACS EQUATION.
037887,000554: 22,2436 04161 TC PHASCHNG # TIME ONLY?
037888,000555: 22,2437 04022 +402 OCT 04022
037889,000556: 22,2440 51401 INDEX NDXBR
037890,000557: 22,2441 10001 TCF BRLING # POSSIBLE BRANCH TO LINEAR GUIDANCE
037891,000558:
![]() |
Page 884 |
037893,000560: # ************************************************************************
037894,000561: # TTF/4 COMPUTATION
037895,000562: # ************************************************************************
037896,000563:
037897,000564: 22,2442 00006 TTF/4CL EXTEND
037898,000565: 22,2443 51400 INDEX NDX2DPS
037899,000566: 22,2444 33606 DCA JDS2
037900,000567: 22,2445 53442 DXCH TABLTTF +6 # A(3) = JDS2 TO TABLTTF
037901,000568: 22,2446 00006 EXTEND
037902,000569: 22,2447 51400 INDEX NDX2DPS
037903,000570: 22,2450 33570 DCA ADS +4
037904,000571: 22,2451 20001 DDOUBL
037905,000572: 22,2452 52145 DXCH MPAC
037906,000573: 22,2453 33736 CA SP3/4
037907,000574: 22,2454 07357 TC SHORTMP # LEAVING A(2) IN MPAC
037908,000575: 22,2455 52145 DXCH MPAC
037909,000576: 22,2456 53440 DXCH TABLTTF +4 # A(2) = (6 ADS2)/4 TO TABLTTF
037910,000577: 22,2457 37754 CA BIT8
037911,000578: 22,2460 55443 TS TABLTTF +10 # FRACTIONAL PRECISION FOR TTF TO TABLE
037912,000579: 22,2461 00006 EXTEND
037913,000580: 22,2462 31523 DCA VS +4
037914,000581: 22,2463 52145 DXCH MPAC
037915,000582: 22,2464 33732 CA SP3/8
037916,000583: 22,2465 07357 TC SHORTMP # YIELDS 6/16 VS2 IN MPAC
037917,000584: 22,2466 00006 EXTEND
037918,000585: 22,2467 51400 INDEX NDX2DPS
037919,000586: 22,2470 33604 DCA VDS +4
037920,000587: 22,2471 20001 DDOUBL
037921,000588: 22,2472 52145 DXCH MPAC
037922,000589: 22,2473 53436 DXCH TABLTTF +2 # STORE 6/16 VS2 IN TABLTTF
037923,000590: 22,2474 33733 CA SP9/16
037924,000591: 22,2475 07357 TC SHORTMP # YIELDS 18/16 VDS2 IN MPAC
037925,000592: 22,2476 00006 EXTEND
037926,000593: 22,2477 41515 DCS RS +4
037927,000594: 22,2500 52145 DXCH MPAC # -RS2 TO MPAC, FETCHING 18/16 VDS2
037928,000595: 22,2501 21436 DAS TABLTTF +2 # A(1) = (6 VS2+18 VDS2)/16
037929,000596:
037930,000597: 22,2502 00006 EXTEND
037931,000598: 22,2503 51400 INDEX NDX2DPS
037932,000599: 22,2504 33576 DCA RDS +4
037933,000600: 22,2505 20145 DAS MPAC # YIELDS -RS2+RDS2 IN MPAC
037934,000601: 22,2506 33732 CA SP3/8
037935,000602: 22,2507 07357 TC SHORTMP
037936,000603: 22,2510 00006 EXTEND
037937,000604: 22,2511 30145 DCA MPAC
037938,000605: 22,2512 53434 DXCH TABLTTF # A(0) =-24(RS2-RDS2)/64
037939,000606:
037940,000607: 22,2513 00006 EXTEND
037941,000608: 22,2514 31453 DCA TTF/4
037942,000609: 22,2515 52145 DXCH MPAC # LOADS TTF/4 (INITIAL GUESS) INTO MPAC
![]() |
Page 885 |
037944,000611: 22,2516 00006 EXTEND
037945,000612: 22,2517 33711 DCA TABLTTFL # LOADS A,L WITH TABLTTFL,2
037946,000613: 22,2520 03352 TC ROOTPSRS # YIELDS TTF/4 IN MPAC
037947,000614: 22,2521 00006 EXTEND
037948,000615: 22,2522 30145 DCA MPAC # FETCH TTF/4 KEEPING IT IN MPAC
037949,000616: 22,2523 53453 DXCH TTF/4 # CORRECTED TTF/4
037950,000617:
037951,000618: 22,2524 04161 TC PHASCHNG # TIME ONLY?
037952,000619: 22,2525 04022 +402 OCT 04022
037953,000620:
037954,000621:
037955,000622:
037956,000623: # ************************************************************************
037957,000624: # QUADRATIC GUIDANCE - SPHERICAL ACCELERATION AS QUADRATIC TIME FUNCTION
037958,000625: # ************************************************************************
037959,000626:
037960,000627: # -
037961,000628: # ACS EQUATION IS PROGRAMMED LIKE THIS:
037962,000629: # - -
037963,000630: # - - 1/2(RS-RDS)
037964,000631: # (VS+VDS) - -----------
037965,000632: # - TTF/4 -
037966,000633: # ACS = ---------------------- + ADS
037967,000634: # 2/3(TTF/4)
037968,000635:
037969,000636: 22,2526 06112 TC INTPRET
037970,000637: 22,2527 41345 DLOAD DMP
037971,000638: 22,2530 02053 TTF/4
037972,000639: 22,2531 05735 2DPS2/3
037973,000640: 22,2532 51715 PDVL VSU*
037974,000641: 22,2533 02111 RS
037975,000642: 22,2534 05572 RDS,1
037976,000643: 22,2535 70362 VSR1 V/SC
037977,000644: 22,2536 02053 TTF/4
037978,000645: 22,2537 52715 PDVL VAD*
037979,000646: 22,2540 02117 VS
037980,000647: 22,2541 05600 VDS,1
037981,000648: 22,2542 70251 VSU V/SC
037982,000649: 22,2543 41053 VAD* BOVB # BRANCH, SET ALARM, RETAIN GOOD ACS
037983,000650: 22,2544 05564 ADS,1
037984,000651: 22,2545 45061 OVF2DPS1
037985,000652:
037986,000653: 22,2546 52206 PUSH VSU # PUSH ACS UNTIL SEEN IF AFCS OVERFLOWS
037987,000654: 22,2547 02133 ASPRT
037988,000655: 22,2550 77600 BOV # BRANCH, SET ALARM, RETAIN GOOD AFCS
037989,000656: 22,2551 45057 OVF2DPS2
037990,000657: # - - -
037991,000658: 22,2552 26147 STOVL AFCS # AFCS = ACS-ASPRT
037992,000659: 22,2553 77626 STADR
037993,000660: 22,2554 75636 STORE ACS # BEHOLD, UNWORTHY MORTAL
037994,000661:
![]() |
Page 886 |
037996,000663: 22,2555 63545 RETOVF12 DLOAD DSQ
037997,000664: 22,2556 02107 RC
037998,000665: 22,2557 65205 DMP PDDL
037999,000666: 22,2560 02053 TTF/4
038000,000667: 22,2561 02105 MAP2
038001,000668: 22,2562 64425 DSU SR2R
038002,000669: 22,2563 05610 MADP2
038003,000670: 22,2564 45471 DDV STADR # 2
038004,000671: 22,2565 75626 STORE AFCS +2 # AFCS = (MAP -MADP )/RC TTF
038005,000672: # 1 2 2
038006,000673: 22,2566 77604 BOVB # RETAIN POSMAX ON OVERFLOW, BUT
038007,000674: 22,2567 45066 OVF2DPS3 # BRANCH, SET ALARM, RETURN TO AFCCALC
038008,000675:
038009,000676:
038010,000677:
038011,000678: # ************************************************************************
038012,000679: # THRUST ACCEL POINTING AND MAGNITUDE COMMANDS - DUE TO QUAD OR LINR GUID
038013,000680: # ************************************************************************
038014,000681:
038015,000682: 22,2570 41345 AFCCALC DLOAD DMP # COME HERE FROM LINGUID
038016,000683: 22,2571 02153 AFCS +4
038017,000684: 22,2572 02111 RS
038018,000685: 22,2573 41325 PDDL DMP # PUSH AFCL
038019,000686: 22,2574 02151 AFCS +2 # 2
038020,000687: 22,2575 02107 RC
038021,000688: 22,2576 55525 PDDL VDEF # PUSH AFCL , FORM VECTOR AFCL
038022,000689: 22,2577 02147 AFCS # 1
038023,000690: 22,2600 76505 VXM VSL1
038024,000691: 22,2601 02012 CLT/2 # - *
038025,000692: 22,2602 02155 STORE AFC # AFC = (AFCS , RC AFCS , RS AFCS )CLT
038026,000693: 22,2603 77656 UNIT # 0 1 0 2
038027,000694: 22,2604 16167 STODL UNAFC/2
038028,000695: 22,2605 00045 36D # MAGNITUDE OF AFC, /AFC/
038029,000696: 22,2606 02163 STORE /AFC/ # FOR IGNITION ALGORITHM
038030,000697: 22,2607 77776 EXIT
038031,000698: 22,2610 51401 INDEX NDXBR
038032,000699: 22,2611 10002 TCF BRIGN2
038033,000700:
038034,000701: 22,2612 54111 -3 TS OVFIND # RETURN FROM TTF/4 OVERFLOW
038035,000702: 22,2613 37766 -2 CA FIVE # RETURN RESETTING COUNTFC
038036,000703: 22,2614 55404 -1 TS COUNTFCT # RETURN DECREMENTING COUNTFC
038037,000704: 22,2615 04161 RETIGN2 TC PHASCHNG # RETURN (NORMAL) FROM IGNITN2
038038,000705: 22,2616 04022 +402 OCT 04022 # PREVENT GOING FAR BACK IN 2DPS AFTR EXIT
038039,000706:
038040,000707:
038041,000708:
038042,000709: # ************************************************************************
038043,000710: # PREPARE TO EXIT
038044,000711: # ************************************************************************
038045,000712:
![]() |
Page 887 |
038047,000714: # DOWNLINK ENTRIES
038048,000715:
038049,000716: 22,2617 00006 EXTEND
038050,000717: 22,2620 41453 DCS TTF/4
![]() |
The following line has a short line drawn next to it, marking it for something. |
038052,000719: 22,2621 52145 DXCH MPAC
038053,000720: 22,2622 33720 CA TSCALINV
038054,000721: 22,2623 07357 TC SHORTMP
038055,000722: 22,2624 00004 INHINT
038056,000723: 22,2625 52145 DXCH MPAC
![]() |
The "TTGO" in the following line is circled, with a line leading to the comment column on the right. At the end of the line is written "TTF". |
038059,000726: 22,2626 53746 DXCH TTGO
038060,000727: 22,2627 31447 CA TPIP +1
038061,000728: 22,2630 55723 TS DOWN2DPS
038062,000729: 22,2631 31072 CA AVGEXIT
038063,000730: 22,2632 55724 TS DOWN2DPS +1
038064,000731: 22,2633 35662 CA EBANK7 # MAKE UP A WORD WHICH MAY BE USED TO
038065,000732: 22,2634 56003 XCH EBANK # FIND OUT WHERE THE DOWNLIST POINTER IS
038066,000733: 22,2635 54002 TS Q # AT THE MOMENT.
038067,000734:
038068,000735: 22,2636 E7,1402 EBANK= TMINDEX
038069,000736:
038070,000737: 22,2636 31402 CA TMINDEX
038071,000738: 22,2637 00006 EXTEND
038072,000739: 22,2640 77753 MP BIT9 # PUT LOW 6 BITS OF TMINDEX INTO BITS
038073,000740: 22,2641 31401 CA DNTMGOTO # 14 - 9 OF L.
038074,000741: 22,2642 74564 MASK LOW8
038075,000742: 22,2643 26001 ADS L # ADD LOW 8 BITS OF DNTMGOTO.
038076,000743: 22,2644 00006 EXTEND
038077,000744: 22,2645 22003 QXCH EBANK
038078,000745:
038079,000746: 22,2646 E4,1400 EBANK= E2DPS
038080,000747:
038081,000748: 22,2646 31320 CA MASS
038082,000749: 22,2647 53726 DXCH DOWN2DPS +2
038083,000750: 22,2650 06112 TC INTPRET
038084,000751: 22,2651 77745 DLOAD
038085,000752: 22,2652 02163 /AFC/
![]() |
"DOWN2DPS +4" in the following line is circled. |
038087,000754: 22,2653 26330 STOVL DOWN2DPS +4
038088,000755: 22,2654 02167 UNAFC/2
038089,000756: 22,2655 02332 STORE DOWN2DPS +6
038090,000757: 22,2656 77776 EXIT
038091,000758: 22,2657 00003 RELINT
038092,000759:
038093,000760: 22,2660 25402 INCR FLPASS0 # INCR FIRST PASS FLAG. REPEATS ARE OK.
038094,000761: 22,2661 51072 INDEX AVGEXIT
038095,000762: 22,2662 40005 CS TTF/4CR
038096,000763: 22,2663 61452 AD TTF/4
038097,000764: 22,2664 00006 EXTEND
038098,000765: 22,2665 51401 INDEX NDXBR
038099,000766: 22,2666 60003 BZMF BRXMID # CONTINUE PRESENT PHASE
038100,000767:
![]() |
Page 888 |
038102,000769: 22,2667 31072 CA AVGEXIT # PREPARE FOR NEW PHASE
038103,000770: 22,2670 55405 TS AVGXTEMP # TEMPORARY PROTECTION FOR AVGEXIT
038104,000771: 22,2671 04161 TC PHASCHNG # PROTECT AVGEXIT
038105,000772: 22,2672 04022 +402 OCT 04022
038106,000773: 22,2673 31405 CA AVGXTEMP
038107,000774: 22,2674 67765 AD SEVEN
038108,000775: 22,2675 55072 TS AVGEXIT
038109,000776: 22,2676 37767 CA ZERO
038110,000777: 22,2677 55402 TS FLPASS0 # RESET FLAG INDICATING PASS ZERO (FIRST)
038111,000778: 22,2700 51405 INDEX AVGXTEMP
038112,000779: 22,2701 10006 TCF BRXEND
038113,000780:
![]() |
Page 889 |
038115,000782: # ************************************************************************
038116,000783: # ROUTINES FOR EXITING FROM SECOND DPS GUIDANCE. THESE ARE:
038117,000784: # ************************************************************************
038118,000785:
038119,000786: # 1. EXIGMID CALLS CALCRVG AS AN INTERPRETIVE SUBROUTINE UP UNTIL BUT NOT INCLUDING THE LAST PASS DURING
038120,000787: # THE PREBURN PHASE. UPON RETURN EXIGMID RESTARTS 2DPS.
038121,000788:
038122,000789: # 2. EXIGEND IS USED ON THE LAST PASS DURING PREBURN. IT SETS UP FOR KALCMANU, FOR THE SUBSEQUENT 2DPS
038123,000790: # BURN, AND EXITS TO THE MISSION CONTROL PROGRAM.
038124,000791:
038125,000792: # 3. EXQDLIN IS USED TO TERMINATE EACH PASS UP UNTIL BUT NOT INCLUDING THE LAST PASS ON ALL 2DPS BURN
038126,000793: # PHASES. EXQDLIN OBTAINS ATTITUDE AND THROTTLE CONTROL AND TERMINATES THE JOB.
038127,000794:
038128,000795: # 4. EXFINAL IS THE FINAL 2DPS EXIT. IT SETS UP AND ISSUES THE ATTITUDE COMMAND FOR RANDOM THROTTLING
038129,000796: # AND EXITS TO THE MISSION CONTROL PROGRAM.
038130,000797:
038131,000798:
038132,000799:
038133,000800: # EXIGMID SETS UP FOR CALCRVG TO MOVE STATE FORWARD A SPECIFIED TIME, INITIALIZES THE INTERPRETER, CALLS CALCRVG
038134,000801: # AS AN INTERPRETIVE SUBROUTINE, AND UPON RETURN SETS UP FOR IGNALG AND BRANCHES INDIRECTLY THERETO.
038135,000802:
038136,000803: 22,2702 03531 EXIGMID TC PRETINIT # INITIALIZES INTERPRETER FOR CALCRVG
038137,000804: # SUCCEEDING CODING MUST NOT UNDO
038138,000805:
038139,000806: 22,2703 06112 TC INTPRET
038140,000807: 22,2704 43345 DLOAD DAD
038141,000808: 22,2705 05727 PIGNALG
038142,000809: 22,2706 01307 PIPTIME
038143,000810: 22,2707 26045 STOVL PIPTIMET # UPDATED PIPTIME TEMPORARY STORAGE
038144,000811: 22,2710 05722 ZEROPOS
038145,000812: 22,2711 34404 STCALL DELV # DELV = 0
038146,000813: 22,2712 61137 CALCRVG # STEPS FORWARD IN TIME LEAVING RN1, VN1
038147,000814: 22,2713 77776 EXIT
038148,000815:
038149,000816: 22,2714 33705 CA E2DPSL # ASSURE CORRECT EBANK BEFORE
038150,000817: 22,2715 54003 TS EBANK # DOING PHASCHNG
038151,000818: 22,2716 04161 TC PHASCHNG # PROTECT PIPTIME. PREVENT REDOING CALCRVG
038152,000819: 22,2717 04022 +402 OCT 04022
038153,000820: 22,2720 00004 RNVNSTOR INHINT # SET INHIBITED LOOP TO STORE FOR DWNLINK
038154,000821: 22,2721 33741 CA NSCALR-1
038155,000822: 22,2722 54070 RVSTOR TS RUPTREG1
038156,000823: 22,2723 50070 INDEX RUPTREG1
038157,000824: 22,2724 31050 CA RN1
038158,000825: 22,2725 50070 INDEX RUPTREG1
038159,000826: 22,2726 55010 TS RN # STORE UPDATED RN, VN
038160,000827: 22,2727 10070 CCS RUPTREG1
038161,000828: 22,2730 12722 TCF RVSTOR
038162,000829: 22,2731 00006 EXTEND
038163,000830: 22,2732 31445 DCA PIPTIMET
038164,000831: 22,2733 53307 DXCH PIPTIME # UPDATED PIPTIME
038165,000832:
![]() |
Page 890 |
038167,000834: 22,2734 00006 EXTEND
038168,000835: 22,2735 31307 DCA PIPTIME
038169,000836: 22,2736 53327 DXCH STATIME # TIME FOR DWNLINK
038170,000837: 22,2737 00003 RELINT
038171,000838: 22,2740 01072 TC AVGEXIT # RETURNS TO APPROPRIATE LOCATION IN 2DPS
038172,000839:
038173,000840: # EXIGEND EXTRAPOLATES UNAFC/2 TO TTF/4 = 0, SETS UP FOR MISSION CONTROL PROGRAM, SETS UP FOR THE SUCCEEDING
038174,000841: # BRAKING PHASE, AND EXITS TO THE MISSION CONTROL PROGRAM.
038175,000842:
038176,000843: # EXTRAPOLATE UNAFC/2
038177,000844:
038178,000845: # UNAFC/2 = UNAFC/2+(UNAFC/2-UNAFC/2O)(TTF)/(TPIPOLD-TPIP)
038179,000846:
038180,000847: 22,2741 00006 EXIGEND EXTEND
038181,000848: 22,2742 31451 DCA TPIPOLD
038182,000849: 22,2743 52145 DXCH MPAC
038183,000850: 22,2744 00006 EXTEND
038184,000851: 22,2745 41447 DCS TPIP
038185,000852: 22,2746 20145 DAS MPAC
038186,000853: 22,2747 37750 CA TSCALE
038187,000854: 22,2750 00006 EXTEND
038188,000855: 22,2751 77761 MP BIT3 # MULTIPLIES BY N = 4 LEAVING RESULT IN L
038189,000856: 22,2752 30001 CA L # ASSUMES N(TPIPOLD-TPIP)/4>TTF/4 IN MAGN.
038190,000857: 22,2753 07375 TC DMPNSUB # N(TPIPOLD-TPIP)/4 TO MPAC, TTF UNITS
038191,000858: 22,2754 00006 EXTEND
038192,000859: 22,2755 31453 DCA TTF/4
038193,000860: 22,2756 52145 DXCH MPAC # DIVIDEND TO MPAC
038194,000861: 22,2757 52121 DXCH BUF # DIVISOR TO BUF
038195,000862: 22,2760 05317 TC USPRCADR
038196,000863: 22,2761 00352 CADR DDV/BDDV # (TTF/4)/(N(TPIPOLD-TPIP)/4) TO MPAC
038197,000864:
038198,000865: 22,2762 37767 CA ZERO
038199,000866: 22,2763 54153 TS MODE # TO INDICATE DP IN MPAC
038200,000867:
038201,000868: 22,2764 06112 TC INTPRET
038202,000869: 22,2765 52315 PDVL VSU
038203,000870: 22,2766 02167 UNAFC/2
038204,000871: 22,2767 02175 UNAFC/20
038205,000872: 22,2770 74352 VSL2 VXSC # VSL2 UNDOES MP BIT3 PRECEDING
038206,000873: 22,2771 77655 VAD
038207,000874: 22,2772 02167 UNAFC/2 # YIELDS EXTRAPOLATED UNAFC/2
038208,000875:
038209,000876: # SET UP FOR MISSION CONTROL PROGRAM
038210,000877:
038211,000878: 22,2773 15656 STODL POINTVSM # STORE FOR KALCMANU
038212,000879: 22,2774 02053 TTF/4
038213,000880: 22,2775 41276 DCOMP DMP
038214,000881: 22,2776 05721 TSCALINV
038215,000882: 22,2777 77615 DAD
038216,000883: 22,3000 01307 PIPTIME
038217,000884:
![]() |
Page 891 |
038219,000886: 22,3001 02057 STORE TULLG # TIME AT WHICH ULLAGE IS TO START
038220,000887:
038221,000888: 22,3002 77615 DAD
038222,000889: 22,3003 05547 PULLGCS
038223,000890: 22,3004 02270 STORE TIGN # DISPLAY TIGN FOR DOWNLINK.
038224,000891:
038225,000892: # SET UP FOR BRAKING PHASE
038226,000893:
038227,000894: 22,3005 77776 EXIT
038228,000895: 22,3006 04161 TC PHASCHNG # PROTECT TTF/4 AND PREVENT REREADING REG-
038229,000896: 22,3007 04022 +402 OCT 04022 # ISTERS REWRITTEN BY MISN CONT PROGRAM
038230,000897: 22,3010 00006 EXTEND
038231,000898: 22,3011 31455 DCA TTF/4TMP
038232,000899: 22,3012 53453 DXCH TTF/4
038233,000900:
038234,000901: # RETURN TO MISSION CONTROL PROGRAM
038235,000902:
038236,000903: 22,3013 03531 TC PRETINIT # INITIALIZES INTERPRETER
038237,000904: 22,3014 00006 EXTEND
038238,000905: 22,3015 33713 DCA RETPREBL
038239,000906: 22,3016 52006 DTCB
038240,000907:
![]() |
Page 892 |
038242,000909: # EXQDLIN STORES THE SEMI-UNIT VECTOR DEFINING THE DIRECTION OF COMMANDED THRUST ACCELERATION (UNAFC/2) IN THE
038243,000910: # APPROPRIATE REGISTERS OF FINDCDUD (AXISD) AND CALLS FINDCDUD AND THROTCON AS SUBROUTINES.
038244,000911: # FINALLY EXQDLIN TERMINATES THE JOB.
038245,000912:
038246,000913: 22,3017 10111 EXQDLIN CCS OVFIND # IF OVF AFTER COMPUTING AFCS1, ALARM, AND
038247,000914: 22,3020 13073 TCF OVF2DPS4 # DO NOT ISSUE ATTITUDE OR THROTTLE CMDS.
038248,000915: 22,3021 13023 TCF +2
038249,000916: 22,3022 13073 TCF OVF2DPS4 # IN CASE OVFIND =-1
038250,000917:
038251,000918: 22,3023 06112 TC INTPRET
038252,000919: 22,3024 77775 VLOAD
038253,000920: 22,3025 02167 UNAFC/2
038254,000921: 22,3026 36233 STCALL AXISD
038255,000922: 22,3027 60703 FINDCDUD # ATTITUDE CONTROL
038256,000923:
038257,000924: 22,3030 74545 DLOAD SR1R # LOAD GOOD /AFC/.
038258,000925: 22,3031 02163 /AFC/ # SCALE TO THROTCON UNITS.
038259,000926: 22,3032 01323 STORE /ACF/ # STORE IN THROTCON ACCEL CMD REGISTERS
038260,000927: 22,3033 77776 EXIT
038261,000928: 22,3034 00006 EXTEND
038262,000929: 22,3035 33717 DCA THROTCOL
038263,000930: 22,3036 52006 DTCB # THROTTLE CONTROL
038264,000931:
038265,000932: 22,3037 04141 EXOVFLOW TC 2PHSCHNG # PREVENT RECALLING THROTCON AND FINDCDUD
038266,000933: 22,3040 00034 OCT 00034 # 4.3SPOT FOR ACCLJOB
038267,000934: 22,3041 00002 +002 OCT 00002 # INACTIVATE GROUP 2
038268,000935:
038269,000936: 22,3042 05567 TC ENDOFJOB # TERMINATES THE JOB PERIODICALLY STARTED
038270,000937: # BY A WAITLIST CALL FROM READACCS
038271,000938:
038272,000939:
038273,000940:
038274,000941: # EXFINAL IS THE FINAL EXIT FROM 2DPS. FIRST EXFINAL PLACES THE SEMI-UNIT NORMAL TO THE ORBITAL PLANE (CPT6/2)
038275,000942: # IN AXISD AND CALLS FINDCDUD AS A SUBROUTINE. THIS CAUSES FURTHER THRUSTING TO BE NORMAL TO THE ORBITAL PLANE.
038276,000943: # FINALLY EXFINAL RETURNS TO THE MISSION CONTROL PROGRAM WHICH EXECUTES THE RANDOM THROTTLING.
038277,000944:
038278,000945: 22,3043 06112 EXFINAL TC INTPRET
038279,000946: 22,3044 77775 VLOAD
038280,000947: 22,3045 02357 CPT6/2
038281,000948: 22,3046 36233 STCALL AXISD
038282,000949: 22,3047 60703 FINDCDUD # ATTITUDE CONTROL
038283,000950: 22,3050 77776 EXIT
038284,000951:
038285,000952: 22,3051 04161 TC PHASCHNG # PREVENT RECALLING FINDCDUD
038286,000953: 22,3052 04022 +402 OCT 04022
038287,000954:
038288,000955: 22,3053 03531 TC PRETINIT # INITIALIZES INTERPRETER
038289,000956: 22,3054 00006 EXTEND
038290,000957: 22,3055 33715 DCA RETBURNL
038291,000958: 22,3056 52006 DTCB
038292,000959:
![]() |
Page 893 |
038294,000961: # ************************************************************************
038295,000962: # SPECIAL PURPOSE SUBROUTINES OF SECOND DPS GUIDANCE
038296,000963: # ************************************************************************
038297,000964:
038298,000965: # ************************************************************************
038299,000966: # OVERFLOW ACTIONS
038300,000967: # ************************************************************************
038301,000968:
038302,000969: 22,3057 77775 OVF2DPS2 VLOAD # FROM PUSH LIST, PURPOSE: RESET POINTER
038303,000970: 22,3060 77776 EXIT
038304,000971:
038305,000972: 22,3061 04755 OVF2DPS1 TC ALARM # OVERFLOW PRIOR TO (PRESUMABLY DURING)
038306,000973: 22,3062 00410 OCT 00410 # COMPUTATION OF ACS OR AFCS
038307,000974:
038308,000975: 22,3063 06112 TC INTPRET # OVFIND RESET BY BOVB OR BOV, NO REPEAT
038309,000976: 22,3064 77650 GOTO
038310,000977: 22,3065 44555 RETOVF12
038311,000978:
038312,000979:
038313,000980:
038314,000981: 22,3066 04755 OVF2DPS3 TC ALARM # DIVIDE OVERFLOW DURING COMPUTATION OF
038315,000982: 22,3067 00411 OCT 00411 # AFCS . BOVB RESETS OVFIND.
038316,000983: # 1
038317,000984: 22,3070 06112 TC INTPRET # SET ALARM AND RETURN
038318,000985: 22,3071 77650 GOTO
038319,000986: 22,3072 44570 AFCCALC
038320,000987:
038321,000988:
038322,000989:
038323,000990: 22,3073 54111 OVF2DPS4 TS OVFIND # OVERFLOW AFTER COMPUTATION OF ACS, AFCS,
038324,000991: 22,3074 04755 TC ALARM # AND AFCS . RESET OVFIND, SET ALARM, AND
038325,000992: 22,3075 00412 OCT 00412 # 1
038326,000993: # RETURN SKIPPING CALLS OF FINDCDUD AND
038327,000994: 22,3076 13037 TCF EXOVFLOW # THROTCON.
038328,000995:
![]() |
Page 894 |
038330,000997: # ************************************************************************
038331,000998: # IGNITION ALGORITHM
038332,000999: # ************************************************************************
038333,001000:
038334,001001: # IGNITN1 EXTRAPOLATES THE GIVEN STATE FORWARD THROUGH THE TIME INTERVAL REQUIRED TO ACCOMPLISH ULLAGE AND TO
038335,001002: # LITE AT LOW THRUST AND TRIM THE ENGINE. THE EXTRAPOLATION ENDS AT THE TIME MAXIMUM THRUST WOULD BE COMMANDED
038336,001003: # IF THE LITEUP PROCEDURE WERE INITIATED AT THE CURRENT GIVEN TIME. (THE GIVEN TIME IS NOT TRUE. ALL GIVEN
038337,001004: # CONDITIONS INCLUDE A FREE-FALL EXTRAPOLATION OF THE ACTUAL ORBIT.) THE EXTRAPOLATION PERFORMED BY IGNITN1
038338,001005: # INCLUDES ALL EFFECTS OF ENGINE THRUST DURING THE LITEUP PROCEDURE, AND IT USES THE
038339,001006: # THRUST POINTING DIRECTION WHICH WILL BE COMMANDED AT THE INITIATION OF MAXIMUM THRUST.
038340,001007: # THIS EXTRAPOLATED STATE IS THEN FED TO THE GUIDANCE EQUATIONS, WHICH COMPUTE THE THRUST POINTING
038341,001008: # DIRECTION (UNAFC/2) AND THE THRUST ACCELERATION MAGNITUDE COMMAND (/AFC/).
038342,001009:
038343,001010: # IGNITN2 THEN RECEIVES THIS OUTPUT DATA FROM THE GUIDANCE EQUATIONS AND DETERMINES WHETHER THE THRUST
038344,001011: # ACCELERATION MAGNITUDE COMMAND IS MONOTONICALLY INCREASING. WHEN IT IS, IGNITN2 USES THE PRESENT AND PREVIOUS
038345,001012: # VALUES TO COMPUTE ONE QUARTER OF THE PRESENT TIME (TTF/4) RELATIVE TO THE TIME AT WHICH THE THRUST
038346,001013: # ACCELERATION MAGNITUDE COMMAND WILL REACH THE CRITERION VALUE (/AFC/CR) WHICH CORRESPONDS TO MAXIMUM THROTTLE.
038347,001014: # WHEN TTF/4 SO COMPUTED REACHES THE TIME CRITERION FOR TERMINATING THE PREBURN PHASE (TTF/4CR),
038348,001015: # EXIGEND IS PROCESSED, TERMINATING THE PHASE AND RETURNING CONTROL TO THE MISSION CONTROL PROGRAM.
038349,001016: # THE MISSION CONTROL PROGRAM EXECUTES THE COMPUTED IGNITION SEQUENCE. IGNITN2 MUST ALSO, ON EACH PASS,
038350,001017: # REESTABLISH CERTAIN DATA REQUIRED FOR THE SUBSEQUENT PASS.
038351,001018:
038352,001019: # IGNITION ALGORITHM PART 1
038353,001020: # ************************************************************************
038354,001021:
038355,001022: # DO TEMPORARY STORAGE
038356,001023:
038357,001024: 22,3077 06112 IGNITN1 TC INTPRET
038358,001025: 22,3100 77745 DLOAD
038359,001026: 22,3101 02163 /AFC/
038360,001027: 22,3102 26165 STOVL /AFC/OLD # OLD VALUE OF /AFC/ FOR USE BY IGNITN2
038361,001028:
038362,001029: 22,3103 02167 UNAFC/2
038363,001030: 22,3104 26175 STOVL UNAFC/20 # OLD VALUE OF UNAFC/2
038364,001031:
038365,001032: # EXTRAPOLATE STATE
038366,001033:
038367,001034: 22,3105 02061 R
038368,001035: 22,3106 24011 STOVL RDUM
038369,001036: 22,3107 02067 V
038370,001037: 22,3110 24017 STOVL VDUM
038371,001038: 22,3111 02211 GDOTM1
038372,001039: 22,3112 14025 STODL JDUM
038373,001040: 22,3113 05545 PFCULLG # ULLAGE PERIOD
038374,001041: 22,3114 14007 STODL PDUM # DUMMY PERIOD
038375,001042: 22,3115 05551 AFULLG # LEAVE AFULLG IN MPAC
038376,001043: 22,3116 77624 CALL # EXTRAPOLATES DUMMY STATE AND
038377,001044: 22,3117 45255 XTRIGN1 # LEAVES INITIAL GRAVITY IN GDUM
038378,001045:
038379,001046: 22,3120 77775 VLOAD
![]() |
Page 895 |
038381,001048: 22,3121 00033 GDUM
038382,001049: 22,3122 16203 STODL GDUMPRES # SAVE INITL GRAVITY FOR COMPUTING GDOTM1
038383,001050:
038384,001051: 22,3123 05553 PFCLITE # LITEUP PERIOD
038385,001052: 22,3124 14007 STODL PDUM
038386,001053: 22,3125 05555 AFLITE # LEAVE AFLITE IN MPAC
038387,001054: 22,3126 77624 CALL
038388,001055: 22,3127 45255 XTRIGN1 # EXTRAPOLATE
038389,001056:
038390,001057: 22,3130 77745 DLOAD
038391,001058: 22,3131 05557 PFCTRIM # TRIM PERIOD
038392,001059: 22,3132 14007 STODL PDUM
038393,001060: 22,3133 05561 AFTRIM # LEAVE AFTRIM IN MPAC
038394,001061: 22,3134 77624 CALL
038395,001062: 22,3135 45255 XTRIGN1 # YIELDS FINAL EXTRAPOLATED STATE
038396,001063:
038397,001064: 22,3136 77775 VLOAD
038398,001065: 22,3137 00011 RDUM
038399,001066: 22,3140 26111 STOVL RTEMP # RESTART PROTECTION FOR EXTRAPOLATED R
038400,001067: 22,3141 00017 VDUM
038401,001068: 22,3142 36117 STCALL VTEMP # RESTART PROTECTION FOR EXTRAPOLATED V
038402,001069:
038403,001070: # COMPUTE DERIVATIVE OF GRAVITY
038404,001071:
038405,001072: 22,3143 45521 GDUMCL # YIELDS FINAL GRAVITY IN MPAC AND GDUM
038406,001073: 22,3144 70251 VSU V/SC
038407,001074: 22,3145 02203 GDUMPRES
038408,001075: 22,3146 05537 PPHM1 # COMPLETES COMPUTATION OF DERIV OF G
038409,001076: 22,3147 02133 STORE GDOTM1T # FOR USE NEXT PASS. RESTART PROTECTED.
038410,001077: 22,3150 77776 EXIT
038411,001078:
038412,001079: # GENERATION OF EXTRAPOLATED DATA COMPLETE. PROTECT AND TRANSFER TO STORAGE.
038413,001080:
038414,001081: 22,3151 04161 TC PHASCHNG # PROTECT R, V
038415,001082: 22,3152 04022 +402 OCT 04022
038416,001083: 22,3153 06112 TC INTPRET
038417,001084: 22,3154 77745 DLOAD
038418,001085: 22,3155 02055 TTF/4TMP
038419,001086: 22,3156 26053 STOVL TTF/4 # RESTORES TTF/4 TO LAST VALUE BY GUIDANCE
038420,001087: 22,3157 02111 RTEMP
038421,001088: 22,3160 26061 STOVL R # EXTRAPOLATED R
038422,001089: 22,3161 02117 VTEMP
038423,001090: 22,3162 26067 STOVL V # EXTRAPOLATED V
038424,001091: 22,3163 02133 GDOTM1T
038425,001092: 22,3164 02211 STORE GDOTM1 # DERIVATIVE OF G
038426,001093: 22,3165 77776 EXIT
038427,001094: 22,3166 31404 CA COUNTFCT
038428,001095: 22,3167 55403 TS COUNTFC # FOR IGNITN2
038429,001096: 22,3170 03343 TC XTRTPIP # YIELDS TPIP EXTRAPOLATED
038430,001097: 22,3171 12210 TCF RETIGN1
038431,001098:
![]() |
Page 896 |
038433,001100: # IGNITION ALGORITHM PART 2
038434,001101: # ************************************************************************
038435,001102:
038436,001103: 22,3172 00006 IGNITN2 EXTEND
038437,001104: 22,3173 31453 DCA TTF/4
038438,001105: 22,3174 53455 DXCH TTF/4TMP # SAVE TTF/4 FOR NEXT PASS
038439,001106: 22,3175 04161 TC PHASCHNG # PROTECT TTF/4
038440,001107: 22,3176 04022 +402 OCT 04022
038441,001108: 22,3177 47743 CS POSMAX
038442,001109: 22,3200 55452 TS TTF/4 # PREVENT PREMATURE TERMINATION OF PREBURN
038443,001110:
038444,001111: # TEST WHETHER /AFC/ > /AFC/OLD, IF SO TEST WHETHER COUNTFC = 0.
038445,001112:
038446,001113: 22,3201 00006 EXTEND
038447,001114: 22,3202 31563 DCA /AFC/
038448,001115: 22,3203 52145 DXCH MPAC
038449,001116: 22,3204 00006 EXTEND
038450,001117: 22,3205 41565 DCS /AFC/OLD
038451,001118: 22,3206 20145 DAS MPAC # /AFC/-/AFC/OLD IN MPAC
038452,001119:
038453,001120: 22,3207 10144 CCS MPAC # TEST HI ORDER
038454,001121: 22,3210 13216 TCF TCOUNTFC
038455,001122: 22,3211 13213 TCF TSTLOAFC
038456,001123: 22,3212 12613 TCF RETIGN2 -2 # RESET COUNTFC
038457,001124: 22,3213 30145 TSTLOAFC CA MPAC +1 # TEST LO ORDER
038458,001125: 22,3214 00006 EXTEND
038459,001126: 22,3215 62613 BZMF RETIGN2 -2 # RESET COUNTFC
038460,001127: 22,3216 11403 TCOUNTFC CCS COUNTFC
038461,001128: 22,3217 12614 TCF RETIGN2 -1 # DECREMENT COUNTFC
038462,001129:
038463,001130: # RESET TTF/4 BY EXTRAPOLATING /AFC/
038464,001131:
038465,001132: # TTF/4 = (1/4)(TPIPOLD-TPIP)(/AFC/-/AFC/CR)/(/AFC/OLD-/AFC/)
038466,001133:
038467,001134: 22,3220 00006 EXTEND
038468,001135: 22,3221 31451 DCA TPIPOLD
038469,001136: 22,3222 52145 DXCH MPAC
038470,001137: 22,3223 00006 EXTEND
038471,001138: 22,3224 41447 DCS TPIP
038472,001139: 22,3225 20145 DAS MPAC
038473,001140: 22,3226 37750 CA TSCALE
038474,001141: 22,3227 07375 TC DMPNSUB # (1/4)(TPIPOLD-TPIP) TO MPAC, TTF UNITS
038475,001142:
038476,001143: 22,3230 00006 EXTEND
038477,001144: 22,3231 31563 DCA /AFC/
038478,001145: 22,3232 52150 DXCH MPAC +3
038479,001146: 22,3233 00006 EXTEND
038480,001147: 22,3234 43543 DCS /AFC/CR
038481,001148: 22,3235 20150 DAS MPAC +3
038482,001149: 22,3236 07155 TC DMP
038483,001150:
![]() |
Page 897 |
038485,001152: 22,3237 00147 GENADR MPAC +3
038486,001153:
038487,001154: 22,3240 00006 EXTEND
038488,001155: 22,3241 31565 DCA /AFC/OLD
038489,001156: 22,3242 52121 DXCH BUF
038490,001157: 22,3243 00006 EXTEND
038491,001158: 22,3244 41563 DCS /AFC/
038492,001159: 22,3245 20121 DAS BUF
038493,001160: 22,3246 05317 TC USPRCADR
038494,001161: 22,3247 00352 CADR DDV/BDDV # YIELDS TTF/4 IN MPAC
038495,001162:
038496,001163: 22,3250 10111 CCS OVFIND
038497,001164: 22,3251 12612 TCF RETIGN2 -3 # IF TTF/4 OVFL. RESETS OVFIND, COUNTFC.
038498,001165:
038499,001166: 22,3252 52145 DXCH MPAC
038500,001167: 22,3253 53453 DXCH TTF/4
038501,001168: 22,3254 12615 TCF RETIGN2
038502,001169:
038503,001170:
038504,001171:
038505,001172: # ************************************************************************
038506,001173: # SPECIAL PURPOSE STATE EXTRAPOLATION SUBROUTINE FOR IGNITN1
038507,001174: # ************************************************************************
038508,001175:
038509,001176: # XTRIGN1 RECEIVES THE EXTRAPOLATION PERIOD IN PDUM; THE INITIAL STATE IN RDUM, VDUM; THE THRUST ACCELERATION
038510,001177: # MAGNITUDE IN MPAC, DIRECTION IN UNAFC/2; AND JERK IN JDUM.
038511,001178:
038512,001179: # IT LEAVES GRAVITY IN GDUM, THE TOTAL INITIAL ACCELERATION IN ADUM, AND THE EXTRAPOLATED STATE IN RDUM, VDUM.
038513,001180:
038514,001181: # PRESENTLY THE DUM REGISTERS OCCUPY LOCATIONS FIXLOC +6 THRU FIXLOC +45 OCTAL.
038515,001182:
038516,001183: 22,3255 77620 XTRIGN1 STQ
038517,001184: 22,3256 02007 RETXIGN1 # SAVE QPRET
038518,001185: 22,3257 74352 SL1 VXSC
038519,001186: 22,3260 02167 UNAFC/2
038520,001187: 22,3261 45006 PUSH CALL # PUSHES AF UNAFC
038521,001188: 22,3262 45521 GDUMCL # YIELDS GRAVITY IN MPAC AND GDUM
038522,001189: 22,3263 45455 VAD STADR
038523,001190: 22,3264 77736 STORE ADUM # ADUM = AF UNAFC+G
038524,001191: 22,3265 77624 CALL
038525,001192: 22,3266 45471 XTRDUMST # EXTRAPOLATES RDUM, VDUM
038526,001193: 22,3267 77650 GOTO
038527,001194: 22,3270 02007 RETXIGN1
038528,001195:
![]() |
Page 898 |
038530,001197: # ************************************************************************
038531,001198: # LINEAR GUIDANCE - SPHERICAL ACCELERATION AS LINEAR TIME FUNCTION
038532,001199: # ************************************************************************
038533,001200:
038534,001201: # SET LINEAR GUIDANCE COEFFICIENTS IN EVEN NUMBERED PHASES
038535,001202: # ************************************************************************
038536,001203:
038537,001204: 22,3271 02140 LSETEVN TC NTLZPASS
038538,001205: 22,3272 06112 TC INTPRET
038539,001206: 22,3273 77773 VLOAD*
038540,001207: 22,3274 05564 ADS,1 # - -
038541,001208: 22,3275 16175 STODL ADLINS # ADLINS = ADS, ADLINS = ASPRT SUCH THAT
038542,001209: 22,3276 02135 ASPRT +2 # 1 1
038543,001210: 22,3277 02177 STORE ADLINS +2 # THE TARGET IS ZERO ANGULAR MOMNTUM RATE
038544,001211: 22,3300 40015 DAD BOV
038545,001212: 22,3301 02151 AFCS +2
038546,001213: 22,3302 45307 LSEOVF
038547,001214: 22,3303 26143 LSENOVF STOVL ACS +2 # ACS = ASPRT +AFCS
038548,001215: 22,3304 02175 ADLINS # 1 1 1
038549,001216: 22,3305 77650 GOTO
038550,001217: 22,3306 45317 LINSET
038551,001218:
038552,001219: 22,3307 52034 LSEOVF RTB GOTO # PLACE SIGNED POSMAX INTO MPAC & RETURN.
038553,001220: 22,3310 73501 SIGNMPAC
038554,001221: 22,3311 45303 LSENOVF
038555,001222:
038556,001223: # SET LINEAR GUIDANCE COEFFICIENTS IN ODD NUMBERED PHASES
038557,001224: # ************************************************************************
038558,001225:
038559,001226: 22,3312 02140 LSETODD TC NTLZPASS
038560,001227: 22,3313 06112 TC INTPRET
038561,001228: 22,3314 77773 VLOAD*
038562,001229: 22,3315 05564 ADS,1 # - -
038563,001230: 22,3316 02175 STORE ADLINS # ADLINS = ADS
038564,001231:
038565,001232: # COMMON PARTS OF LSETEVN AND LSETODD
038566,001233: # ************************************************************************
038567,001234:
038568,001235: 22,3317 77645 LINSET BVSU
038569,001236: 22,3320 02141 ACS # - - -
038570,001237: 22,3321 16203 STODL ADELLINS # ADELLINS = ACS-ADLINS
038571,001238: 22,3322 02053 TTF/4
038572,001239: 22,3323 02211 STORE TTFLIN/4
038573,001240: 22,3324 77776 EXIT
038574,001241: 22,3325 12235 TCF TTFINCR +1
038575,001242:
038576,001243: # LINEAR GUIDANCE EQUATIONS
038577,001244: # ************************************************************************
038578,001245:
038579,001246: 22,3326 06112 LINGUID TC INTPRET
038580,001247:
![]() |
Page 899 |
038582,001249: 22,3327 56345 DLOAD DDV
038583,001250: 22,3330 02053 TTF/4
038584,001251: 22,3331 02211 TTFLIN/4
038585,001252: 22,3332 53361 VXSC VAD
038586,001253: 22,3333 02203 ADELLINS
038587,001254: 22,3334 02175 ADLINS
038588,001255: 22,3335 02141 STORE ACS # FOR USE BY LINSET FOR FAZES 6 AND 9
038589,001256: 22,3336 77651 VSU
038590,001257: 22,3337 02133 ASPRT # - - - -
038591,001258: 22,3340 02147 STORE AFCS # AFCS = TTF ADELLINS/TTFLIN+ADLINS-ASPRT
038592,001259: 22,3341 77650 GOTO
038593,001260: 22,3342 44570 AFCCALC
038594,001261:
038595,001262:
038596,001263:
038597,001264: # ************************************************************************
038598,001265: # SUBROUTINE TO SET TPIP EXTRAPOLATED
038599,001266: # ************************************************************************
038600,001267:
038601,001268: 22,3343 00006 XTRTPIP EXTEND
038602,001269: 22,3344 31307 DCA PIPTIME
038603,001270: 22,3345 53447 DXCH TPIP
038604,001271: 22,3346 00006 EXTEND
038605,001272: 22,3347 33541 DCA PPHM1CS
038606,001273: 22,3350 21447 DAS TPIP
038607,001274: 22,3351 00002 TC Q
038608,001275:
![]() |
Page 900 |
038610,001277: # ************************************************************************
038611,001278: # GENERAL PURPOSE SUBROUTINES CONTRIBUTED BY SECOND DPS GUIDANCE
038612,001279: # ************************************************************************
038613,001280:
038614,001281: # ************************************************************************
038615,001282: # DOUBLE PRECISION ROOT FINDER SUBROUTINE
038616,001283: # ************************************************************************
038617,001284:
038618,001285: # N N-1
038619,001286: # ROOTPSRS FINDS ONE ROOT OF THE POWER SERIES A X + A X + ... + A X + A
038620,001287: # N N-1 1 0
038621,001288:
038622,001289: # USING NEWTON'S METHOD STARTING WITH AN INITIAL GUESS FOR THE ROOT. THE ENTERING DATA MUST BE AS FOLLOWS:
038623,001290:
038624,001291: # A SP LOC-3 ADRES FOR REFERENCING PWR COF TABL
038625,001292: # L SP N-1 N IS THE DEGREE OF THE POWER SERIES
038626,001293: # MPAC DP X INITIAL GUESS FOR ROOT
038627,001294:
038628,001295: # LOC-2N DP A(0)
038629,001296: # ...
038630,001297: # LOC DP A(N)
038631,001298: # LOC+2 SP PRECROOT PREC RQD OF ROOT (AS FRACT OF 1ST GUESS)
038632,001299:
038633,001300: # THE DP RESULT IS LEFT IN MPAC UPON EXIT, AND A SP COUNT OF THE ITERATIONS TO CONVERGENCE IS LEFT IN MPAC+2.
038634,001301: # RETURN IS TO LOC(TC POWRSERS)+1.
038635,001302:
038636,001303: # PRECAUTION: ROOTPSRS MAKES NO CHECKS FOR OVERFLOW OR FOR IMPROPER USAGE. IMPROPER USAGE COULD
038637,001304: # PRECLUDE CONVERGENCE OR REQUIRE EXCESSIVE ITERATIONS. AS A SPECIFIC EXAMPLE, ROOTPSRS FORMS A DERIVATIVE
038638,001305: # COEFFICIENT TABLE BY MULTIPLYING EACH A(I) BY I, WHERE I RANGES FROM 1 TO N. IF AN ELEMENT OF THE DERIVATIVE
038639,001306: # COEFFICIENT TABLE = 1 OR > 1 IN MAGNITUDE, ONLY THE EXCESS IS RETAINED. ROOTPSRS MAY CONVERGE ON THE CORRECT
038640,001307: # ROOT NONETHELESS, BUT IT MAY TAKE AN EXCESSIVE NUMBER OF ITERATIONS. THEREFORE THE USER SHOULD RECOGNIZE:
038641,001308:
038642,001309: # 1. USER'S RESPONSIBILITY TO ASSURE THAT I X A(I) < 1 IN MAGNITUDE FOR ALL I.
038643,001310:
038644,001311: # 2. USER'S RESPONSIBILITY TO ASSURE OVERFLOW WILL NOT OCCUR IN EVALUATING EITHER THE RESIDUAL OR THE DERIVATIVE
038645,001312: # POWER SERIES. THIS OVERFLOW WOULD BE PRODUCED BY SUBROUTINE POWRSERS, CALLED BY ROOTPSRS, AND MIGHT NOT
038646,001313: # PRECLUDE EVENTUAL CONVERGENCE.
038647,001314:
038648,001315: # 3. AT PRESENT, ERASABLE LOCATIONS ARE RESERVED ONLY FOR N UP TO 5. AN N IN EXCESS OF 5 WILL PRODUCE CHAOS.
038649,001316: # ALL ERASABLES USED BY ROOTPSRS ARE UNSWITCHED LOCATED IN THE REGION FROM MPAC-33 OCT TO MPAC+7.
038650,001317:
038651,001318: # 4. THE ITERATION COUNT RETURNED IN MPAC+2 MAY BE USED TO DETECT ABNORMAL PERFORMANCE.
038652,001319:
038653,001320: # STORE ENTERING DATA, INITLIZE ERASABLES
038654,001321:
038655,001322: 22,3352 00006 ROOTPSRS EXTEND
038656,001323: 22,3353 22122 QXCH RETROOT # RETURN ADRES
038657,001324: 22,3354 54107 TS PWRPTR # PWR TABL POINTER
038658,001325: 22,3355 52150 DXCH MPAC +3 # PWR TABL ADRES, N-1
038659,001326: 22,3356 33470 CA DERTABLL
![]() |
Page 901 |
038661,001328: 22,3357 54131 TS DERPTR # DER TABL POINTER
038662,001329: 22,3360 54151 TS MPAC +5 # DER TABL ADRES
038663,001330: 22,3361 10150 CCS MPAC +4 # NO POWER SERIES OF DEGREE 1 OR LESS
038664,001331: 22,3362 54152 TS MPAC +6 # N-2
038665,001332: 22,3363 37767 CA ZERO # MODE USED AS ITERATION COUNTER. MODE
038666,001333: 22,3364 54153 TS MODE # MUST BE POS SO ABS WON'T COMP MPAC+3 ETC
038667,001334:
038668,001335: # COMPUTE CRITERION TO STOP ITERATING
038669,001336:
038670,001337: 22,3365 00006 EXTEND
038671,001338: 22,3366 30145 DCA MPAC # FETCH ROOT GUESS, KEEPING IT IN MPAC
038672,001339: 22,3367 52117 DXCH ROOTPS # AND IN ROOTPS
038673,001340: 22,3370 50147 INDEX MPAC +3 # PWR TABL ADRES
038674,001341: 22,3371 30005 CA 5 # PRECROOT TO A
038675,001342: 22,3372 07357 TC SHORTMP # YIELDS DP PRODUCT IN MPAC
038676,001343: 22,3373 05317 TC USPRCADR
038677,001344: 22,3374 01206 CADR ABS # YIELDS ABVAL OF CRITERION ON DX IN MPAC
038678,001345: 22,3375 52145 DXCH MPAC
038679,001346: 22,3376 52115 DXCH DXCRIT # CRITERION
038680,001347:
038681,001348: # SET UP DER COF TABL
038682,001349:
038683,001350: 22,3377 00006 EXTEND
038684,001351: 22,3400 50107 INDEX PWRPTR
038685,001352: 22,3401 30004 DCA 3
038686,001353: 22,3402 52145 DXCH MPAC # A(N) TO MPAC
038687,001354:
038688,001355: 22,3403 30150 CA MPAC +4 # N-1 TO A
038689,001356:
038690,001357: 22,3404 54130 DERCLOOP TS PWRCNT # LOOP COUNTER
038691,001358: 22,3405 67763 AD ONE
038692,001359: 22,3406 07375 TC DMPNSUB # YIELDS DERCOF = I X A(I) IN MPAC
038693,001360: 22,3407 00006 EXTEND
038694,001361: 22,3410 50107 INDEX PWRPTR
038695,001362: 22,3411 30002 DCA 1
038696,001363: 22,3412 52145 DXCH MPAC # A(I-1) TO MPAC, FETCHING DERCOF
038697,001364: 22,3413 50131 INDEX DERPTR
038698,001365: 22,3414 52004 DXCH 3 # DERCOF TO DER TABL
038699,001366: 22,3415 47762 CS TWO
038700,001367: 22,3416 26107 ADS PWRPTR # DECREMENT PWR POINTER
038701,001368: 22,3417 47762 CS TWO
038702,001369: 22,3420 26131 ADS DERPTR # DECREMENT DER POINTER
038703,001370: 22,3421 10130 CCS PWRCNT
038704,001371: 22,3422 13404 TCF DERCLOOP
038705,001372:
038706,001373: # CONVERGE ON ROOT
038707,001374:
038708,001375: 22,3423 00006 ROOTLOOP EXTEND
038709,001376: 22,3424 30117 DCA ROOTPS # FETCH CURRENT ROOT
038710,001377: 22,3425 52145 DXCH MPAC # LEAVE IN MPAC
![]() |
Page 902 |
038712,001379: 22,3426 00006 EXTEND
038713,001380: 22,3427 30152 DCA MPAC +5 # LOAD A, L WITH DER TABL ADRES, N-2
038714,001381: 22,3430 07267 TC POWRSERS # YIELDS DERIVATIVE IN MPAC
038715,001382:
038716,001383: 22,3431 00006 EXTEND
038717,001384: 22,3432 30117 DCA ROOTPS
038718,001385: 22,3433 52145 DXCH MPAC # CURRENT ROOT TO MPAC, FETCHING DERIVTIVE
038719,001386: 22,3434 52121 DXCH BUF # LEAVE DERIVATIVE IN BUF AS DIVISOR
038720,001387: 22,3435 00006 EXTEND
038721,001388: 22,3436 30150 DCA MPAC +3 # LOAD A, L WITH PWR TABL ADRES, N-1
038722,001389: 22,3437 07267 TC POWRSERS # YIELDS RESIDUAL IN MPAC
038723,001390:
038724,001391: 22,3440 05317 TC USPRCADR
038725,001392: 22,3441 00352 CADR DDV/BDDV # YIELDS -DX IN MPAC
038726,001393:
038727,001394: 22,3442 00006 EXTEND
038728,001395: 22,3443 40145 DCS MPAC # FETCH DX, LEAVING -DX IN MPAC
038729,001396: 22,3444 20117 DAS ROOTPS # CORRECTED ROOT NOW IN ROOTPS
038730,001397:
038731,001398: 22,3445 05317 TC USPRCADR
038732,001399: 22,3446 01206 CADR ABS # YIELDS ABS(DX) IN MPAC
038733,001400: 22,3447 00006 EXTEND
038734,001401: 22,3450 40115 DCS DXCRIT
038735,001402: 22,3451 20145 DAS MPAC # ABS(DX)-ABS(DXCRIT) IN MPAC
038736,001403:
038737,001404: 22,3452 24153 INCR MODE # INCREMENT ITERATION COUNTER
038738,001405:
038739,001406: 22,3453 10144 CCS MPAC # TEST HI ORDER DX
038740,001407: 22,3454 13423 TCF ROOTLOOP
038741,001408: 22,3455 13457 TCF TESTLODX
038742,001409: 22,3456 13463 TCF ROOTSTOR
038743,001410: 22,3457 10145 TESTLODX CCS MPAC +1 # TEST LO ORDER DX
038744,001411: 22,3460 13423 TCF ROOTLOOP
038745,001412: 22,3461 13463 TCF ROOTSTOR
038746,001413: 22,3462 13463 TCF ROOTSTOR
038747,001414: 22,3463 52117 ROOTSTOR DXCH ROOTPS
038748,001415: 22,3464 52145 DXCH MPAC # STORE DP ROOT IN MPAC, MPAC+1
038749,001416: 22,3465 30153 CA MODE
038750,001417: 22,3466 54146 TS MPAC +2 # STORE SP ITERATION COUNT IN MPAC+2
038751,001418: 22,3467 00122 TC RETROOT
038752,001419:
038753,001420: 22,3470 00137 DERTABLL ADRES DERCOFN -3
038754,001421:
![]() |
Page 903 |
038756,001423: # ************************************************************************
038757,001424: # GENERAL PURPOSE SUBROUTINE FOR EXTRAPOLATING DUMMY STATE RDUM, VDUM
038758,001425: # ************************************************************************
038759,001426:
038760,001427: # XTRDUMST REQUIRES THE EXTRAPOLATION PERIOD, INITIAL POSITION, INITIAL VELOCITY, INITIAL ACCELERATION, JERK
038761,001428: # TO ARRIVE IN PDUM, RDUM, VDUM, ADUM, JDUM.
038762,001429:
038763,001430: # IT LEAVES THE EXTRAPOLATED STATE IN RDUM, VDUM.
038764,001431:
038765,001432: # PRESENTLY THE DUM REGISTERS ARE LOCATIONS FIXLOC +6 THRU FIXLOC +31 OCTAL, AND FIXLOC +40 OCTAL THRU
038766,001433: # FIXLOC +45 OCTAL.
038767,001434:
038768,001435: # 2 3
038769,001436: # THE EQNS ARE RDUM = RDUM+VDUM PDUM+ADUM PDUM /2+JDUM PDUM /6,
038770,001437: # 2
038771,001438: # VDUM = VDUM+ADUM PDUM+JDUM PDUM /2.
038772,001439:
038773,001440: # THEY ARE PROGRAMMED AS RDUM = ((JDUM PDUM/3+ADUM)PDUM/2+VDUM)PDUM+RDUM
038774,001441:
038775,001442: # VDUM = (JDUM PDUM/2+ADUM)PDUM+VDUM
038776,001443:
038777,001444: 22,3471 77745 XTRDUMST DLOAD
038778,001445: 22,3472 00007 PDUM
038779,001446: 22,3473 74205 DMP VXSC
038780,001447: 22,3474 05731 1/3DP
038781,001448: 22,3475 00025 JDUM
038782,001449: 22,3476 74255 VAD VXSC
038783,001450: 22,3477 00041 ADUM
038784,001451: 22,3500 00007 PDUM
038785,001452: 22,3501 53362 VSR1 VAD
038786,001453: 22,3502 00017 VDUM
038787,001454: 22,3503 53361 VXSC VAD
038788,001455: 22,3504 00007 PDUM
038789,001456: 22,3505 00011 RDUM
038790,001457: 22,3506 14011 STODL RDUM # EXTRAPOLATED RDUM. NO RESTART PROTECTION
038791,001458:
038792,001459: 22,3507 00007 PDUM
038793,001460: 22,3510 74362 SR1R VXSC
038794,001461: 22,3511 00025 JDUM
038795,001462: 22,3512 74255 VAD VXSC
038796,001463: 22,3513 00041 ADUM
038797,001464: 22,3514 00007 PDUM
038798,001465: 22,3515 77655 VAD
038799,001466: 22,3516 00017 VDUM
038800,001467: 22,3517 00017 STORE VDUM # EXTRAPOLATED VDUM. NO RESTART PROTECTION
038801,001468: 22,3520 77616 RVQ
038802,001469:
![]() |
Page 904 |
038804,001471: # ************************************************************************
038805,001472: # DUMMY GRAVITY SUBROUTINE
038806,001473: # ************************************************************************
038807,001474:
038808,001475: # GDUMCL COMPUTES GRAVITY GIVEN POSITION IN RDUM, LEAVING RESULT IN MPAC AND GDUM.
038809,001476:
038810,001477: # 2
038811,001478: # GDUM =-MUEARTH UNIT(RDUM)/((ABVAL(RDUM)) )
038812,001479:
038813,001480: 22,3521 57575 GDUMCL VLOAD VCOMP
038814,001481: 22,3522 00011 RDUM
038815,001482: 22,3523 74256 UNIT VXSC
038816,001483: 22,3524 21203 MUEARTH
038817,001484: 22,3525 76541 V/SC VSL1 # SHIFT COMPENSATES FOR SEMI-UNIT
038818,001485: 22,3526 00043 42
038819,001486: 22,3527 00033 STORE GDUM
038820,001487: 22,3530 77616 RVQ
038821,001488:
038822,001489:
038823,001490:
038824,001491: # ************************************************************************
038825,001492: # INTERPRETER INITIALIZATION SUBROUTINE
038826,001493: # ************************************************************************
038827,001494:
038828,001495: 22,3531 30110 PRETINIT CA FIXLOC
038829,001496: 22,3532 54156 TS PUSHLOC
038830,001497: 22,3533 37767 CA ZERO
038831,001498: 22,3534 54111 TS OVFIND
038832,001499: 22,3535 00002 TC Q
038833,001500:
![]() |
Page 905 |
038835,001502: # ************************************************************************
038836,001503: # SECOND DPS TARGET PARAMETERS
038837,001504: # ************************************************************************
038838,001505:
038839,001506: # PARAMETER TABLE INDIRECT ADDRESSES
038840,001507:
038841,001508: 22,3536 22,3562 TTF/4NU = TTF/4N0X
038842,001509: 22,3536 22,3563 ADS = A0XS
038843,001510: 22,3536 22,3571 RDS = R0XS
038844,001511: 22,3536 22,3577 VDS = V0XS
038845,001512: 22,3536 22,3605 JDS2 = J0XS2
038846,001513: 22,3536 22,3607 MADP2 = MA0XP2
038847,001514:
038848,001515: # A CONSISTENT SET OF UNITS IS USED THRUOUT THE SECOND DPS GUIDANCE. THESE UNITS ARE:
038849,001516: # TIME 2( 15)CS; LENGTH 2( 24)M; ANGLE 2( 0)RAD.
038850,001517:
038851,001518: # IGNITION ALGORITHM - PREBURN PARAMETERS
038852,001519: # ************************************************************************
038853,001520:
038854,001521: 22,3536 03213 00000 PPHM1 2DEC* +3.350000000 E+3 B-15*
038855,001522:
038856,001523: 22,3540 00000 06426 PPHM1CS 2DEC* +3.350000000 E+3 B-28*
038857,001524:
038858,001525: 22,3542 00513 13111 /AFC/CR 2DEC* +3.159982925 E-4 B+6*
038859,001526:
038860,001527: 22,3544 00567 00000 PFCULLG 2DEC* +7.500000000 E+2 B-15*
038861,001528:
038862,001529: 22,3546 00000 01356 PULLGCS 2DEC* +7.500000000 E+2 B-28*
038863,001530:
038864,001531: 22,3550 00015 14247 AFULLG 2DEC* +1.276510908 E-5 B+6*
038865,001532:
038866,001533: 22,3552 00226 00000 PFCLITE 2DEC* +3.000000000 E+2 B-15*
038867,001534:
038868,001535: 22,3554 00047 24767 AFLITE 2DEC* +3.781860583 E-5 B+6*
038869,001536:
038870,001537: 22,3556 02176 00000 PFCTRIM 2DEC* +2.300000000 E+3 B-15*
038871,001538:
038872,001539: 22,3560 00047 27132 AFTRIM 2DEC* +3.788401593 E-5 B+6*
038873,001540:
![]() |
Page 906 |
038875,001542: # PARAMETER TABLE FOR BURN PHASES
038876,001543: # ************************************************************************
038877,001544:
038878,001545: 22,3562 67637 TTF/4N0X DEC* -8.383250000 E+3 B-15*
038879,001546:
038880,001547: 22,3563 77753 42675 A0XS 2DEC* -1.994161737 E-5 B+6*
038881,001548:
038882,001549: 22,3565 00000 00000 2DEC 0 B-28
038883,001550:
038884,001551: 22,3567 02365 21076 2DEC* +7.216471076 E-11 B+30*
038885,001552:
038886,001553: 22,3571 14605 04744 R0XS 2DEC* +6.689950238 E+6 B-24*
038887,001554:
038888,001555: 22,3573 00000 00000 2DEC 0 B-28
038889,001556:
038890,001557: 22,3575 00415 31771 2DEC* +1.646802361 E-2 B-0*
038891,001558:
038892,001559: 22,3577 77766 76522 V0XS 2DEC* -2.825570521 E-1 B-9*
038893,001560:
038894,001561: 22,3601 00000 00000 2DEC 0 B-28
038895,001562:
038896,001563: 22,3603 76663 67211 2DEC* -1.095743551 E-6 B+15*
038897,001564:
038898,001565: 22,3605 01513 17626 J0XS2 2DEC* +1.463228058 E-15 B+45*
038899,001566:
038900,001567: 22,3607 01731 21421 MA0XP2 2DEC* +5.167109434 E+8 B-33*
038901,001568:
![]() |
Page 907 |
038903,001570: 22,3611 75043 TTF/4N0F DEC* -3.000000000 E+3 B-15*
038904,001571:
038905,001572: 22,3612 00007 10202 A0FS 2DEC* +6.921710813 E-6 B+6*
038906,001573:
038907,001574: 22,3614 00000 00000 2DEC 0 B-28
038908,001575:
038909,001576: 22,3616 01412 02011 2DEC* +4.422776218 E-11 B+30*
038910,001577:
038911,001578: 22,3620 14602 07066 R0FS 2DEC* +6.686947349 E+6 B-24*
038912,001579:
038913,001580: 22,3622 00000 00000 2DEC 0 B-28
038914,001581:
038915,001582: 22,3624 00136 37231 2DEC* +5.797001734 E-3 B-0*
038916,001583:
038917,001584: 22,3626 77771 45437 V0FS 2DEC* -2.133175242 E-1 B-9*
038918,001585:
038919,001586: 22,3630 00000 00000 2DEC 0 B-28
038920,001587:
038921,001588: 22,3632 77241 50000 2DEC* -6.533226733 E-7 B+15*
038922,001589:
038923,001590: 22,3634 01303 02015 J0FS2 2DEC* +1.226559287 E-15 B+45*
038924,001591:
038925,001592: 22,3636 01731 21421 MA0FP2 2DEC* +5.167109434 E+8 B-33*
038926,001593:
038927,001594:
038928,001595:
038929,001596: 22,3640 77602 TTF/4NU1 DEC* -2.500000000 E+2 B-15*
038930,001597:
038931,001598: 22,3641 00014 36766 A1FS 2DEC* +1.236735582 E-5 B+6*
038932,001599:
038933,001600: 22,3643 00013 03266 2DEC* +6.312364424 E-13 B+30*
038934,001601:
038935,001602: 22,3645 01372 34106 2DEC* +4.336466703 E-11 B+30*
038936,001603:
![]() |
Page 908 |
038938,001605: 22,3647 73321 TTF/4NU2 DEC* -4.700000000 E+3 B-15*
038939,001606:
038940,001607: 22,3650 00004 15764 A2FS 2DEC* +4.231238847 E-6 B+6*
038941,001608:
038942,001609: 22,3652 00000 00000 2DEC 0 B-28
038943,001610:
038944,001611: 22,3654 00523 24403 2DEC* +1.930634433 E-11 B+30*
038945,001612:
038946,001613: 22,3656 14577 26600 R2FS 2DEC* +6.684376002 E+6 B-24*
038947,001614:
038948,001615: 22,3660 00000 00000 2DEC 0 B-28
038949,001616:
038950,001617: 22,3662 00000 03346 2DEC* +6.577892482 E-6 B-0*
038951,001618:
038952,001619: 22,3664 77775 65065 V2FS 2DEC* -7.313936765 E-2 B-9*
038953,001620:
038954,001621: 22,3666 00000 00000 2DEC 0 B-28
038955,001622:
038956,001623: 22,3670 77770 43440 2DEC* -1.469364771 E-8 B+15*
038957,001624:
038958,001625: 22,3672 76346 50661 J2FS2 2DEC* -1.376890825 E-15 B+45*
038959,001626:
038960,001627: 22,3674 01731 21421 MA2FP2 2DEC* +5.167109434 E+8 B-33*
038961,001628:
038962,001629:
038963,001630:
038964,001631: 22,3676 77602 TTF/4NU3 DEC* -2.500000000 E+2 B-15*
038965,001632:
038966,001633: 22,3677 00011 21371 A3FS 2DEC* +9.104196458 E-6 B+6*
038967,001634:
038968,001635: 22,3701 00004 01370 2DEC* +2.300091883 E-13 B+30*
038969,001636:
038970,001637: 22,3703 00261 13043 2DEC* +1.008094512 E-11 B+30*
038971,001638:
![]() |
Page 909 |
038973,001640: # ************************************************************************
038974,001641: # SECOND DPS CONSTANTS
038975,001642: # ************************************************************************
038976,001643:
038977,001644: # ADDRESS CONSTANTS
038978,001645:
038979,001646: 22,3705 02000 E2DPSL ECADR E2DPS # FOR ACCESSING EBANK OF 2DPS
038980,001647: 22,3706 E4,1400 EBANK= E2DPS
038981,001648: 22,3706 02034 44064 IGNALGL 2BCADR IGNALG
038982,001649:
038983,001650:
038984,001651: # THE NEXT TWO CONSTANTS MUST BE KEPT
038985,001652: # IN ORDER AND ADJACENT
038986,001653: 22,3710 01436 TABLTTFL ADRES TABLTTF +3 # ADRES TO REF TTF TABL
038987,001654: 22,3711 00002 DEGTTF-1 OCT 2 # DEGREE-1 OF TTF POWER SERIES
038988,001655:
038989,001656: 22,3712 E4,1662 EBANK= EMP11JOB
038990,001657: 22,3712 02035 74064 RETPREBL 2BCADR RETPREB
038991,001658:
038992,001659: 22,3714 E4,1662 EBANK= EMP11JOB
038993,001660: 22,3714 02257 74064 RETBURNL 2BCADR RETBURN
038994,001661:
038995,001662: 22,3716 E5,1565 EBANK= ETHROT
038996,001663: 22,3716 03476 60065 THROTCOL 2BCADR THROTCON
038997,001664:
038998,001665: # ARITHMETIC FRACTIONS AND INTEGERS
038999,001666:
039000,001667: 22,3720 7750 TSCALE = BIT12
039001,001668:
039002,001669: 22,3720 00010 TSCALINV OCT 00010
039003,001670: 22,3721 00000 ZEROPOS OCT 00000 # LO ORDER PART OF TSCALINV, AND
039004,001671: 22,3722 00000 OCT 00000 # FIRST COMPONENT OF ZERO VECTOR
039005,001672: 22,3723 77777 ZERONEG OCT 77777
039006,001673: 22,3724 77777 OCT 77777
039007,001674: 22,3725 00000 OCT 00000 # LAST COMPONENT OF ZERO VECTOR, AND
039008,001675: 22,3726 00000 PIGNALG OCT 00000 # HI ORDER PART OF PIGNALG, TPIP UNITS
039009,001676: 22,3727 00310 DEC +2 E+2 B-14 # LO ORDER PART OF PIGNALG, TPIP UNITS
039010,001677:
039011,001678: 22,3730 12525 12525 1/3DP 2DEC .3333333333
039012,001679:
![]() |
The following line is "SP3/8 OCT .3 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
039016,001683: 22,3732 14000 SP3/8 DEC .375 B14
![]() |
The following line is "SP9/16 OCT .44 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
039020,001687: 22,3733 22000 SP9/16 DEC .5625 B14
039021,001688: 22,3734 25252 25253 2/3DP 2DEC .6666666667
039022,001689:
039023,001690: 22,3736 22,3734 2DPS2/3 = 2/3DP
![]() |
The following line is "SP3/4 OCT .6 B14" in the original program listing, but the yaYUL assembler does not syntactically support this syntax for OCT, so it has been replaced by a numerical equivalent that the assembler does support. |
039027,001694: 22,3736 30000 SP3/4 DEC .75 B14
039028,001695: 22,3737 31103 36652 PI/4 2DEC +3.14159265 B-2
039029,001696:
039030,001697: 22,3741 00021 NSCALR-1 OCT 00021 # 6 X 3 - 1 TO XPR 3 VCTRS, RN, VN, GDT/2
039031,001698:
![]() |
Page 910 This page is empty except for a single "remark" line, which is also empty. |
End of include-file SECOND_DPS_GUIDANCE.agc. Parent file is MAIN.agc