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. |
034744,000002: ## Copyright: Public domain.
034745,000003: ## Filename: 206_SERVICER_ROUTINES.agc
034746,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
034747,000005: ## is part of the source code for the Lunar Module's
034748,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
034749,000007: ## Assembler: yaYUL
034750,000008: ## Contact: Ron Burkey <info@sandroid.org>.
034751,000009: ## Website: www.ibiblio.org/apollo/index.html
034752,000010: ## Mod history: 2016-09-30 RSB Created draft version.
034753,000011: ## 2016-10-16 MAS Began transcription.
034754,000012: ## 2016-10-17 MAS Completed transcribing/disassembling/reconstructing. There are gaps in
034755,000013: ## comments, but instruction-wise it should be pretty close.
034756,000014: ## 2016-12-06 RSB Comments proofed using octopus/ProoferComments,
034757,000015: ## changes made, though the general quality of the printout in this
034758,000016: ## section makes this a less-convincing procedure than it would normally
034759,000017: ## be.
034760,000018: ## 2017-06-03 MAS Pulled in corrections from the Shepatin 0 / Sunburst 37 transcription.
034761,000019:
Page 815 |
034763,000021: # **SERVICER ROUTINES**
034764,000022: # MOD NO. 00 MODIFICATION BY A. KOSMALA NOV. 1966
034765,000023: # MOD NO. 1 MODIFICATION BY D. LICKLY JAN 1967
034766,000024: # *FUNCTIONAL DESCRIPTION*
034767,000025:
034768,000026: # THE NORMAL ENTRY TO THE THRUST MISSION CONTROL PROGRAM IS THROUGH PREREAD. PREREAD SCHEDULES THE JOB
034769,000027: # LASTBIAS. BOOST PHASE ENTERS THE PREREAD ROUTINE AT BIBIBIAS, BYPASSING THE LASTBIAS JOB. PIPS ARE CLEARED,
034770,000028: # AVERAGE G FLAG IS SET, DRIFT FLAG IS UNSET. DV MONITOR AND FINDCUD ARE INITIALIZED, THE JOB NORMLIZE IS
034771,000029: # SCHEDULED, AND A WAITLIST CALL IS MADE TO START READACCS IN TWO SECONDS.
034772,000030:
034773,000031: # NORMLIZE PERFORMS THE SCALING AND INITIALIZATION REQUIRED PRIOR TO THE FIRST ENTRY TO AVERAGE G.
034774,000032:
034775,000033: # IN THE READACCS SECTION, THE ACCELEROMETERS ARE READ BY THE PIPASR SUBROUTINE. IF THE AVERAGE G FLAG IS
034776,000034: # SET, READACCS IS CALLED TO RECYCLE IN TWO SECONDS. IF THE AVERAGE G FLAG IS DOWN, AVERAGE G EXIT (AVEGEXIT)
034777,000035: # IS SET FOR THE FINAL PASS, AND READACCS IS NOT CALLED AGAIN. IN EITHER CASE, THE SERVICER JOB IS ESTABLISHED.
034778,000036:
034779,000037: # THE SERVICER ROUTINE CHECKS FOR RUNAWAY PIPS (DELV GREATER THAN 3200 PULSES/SEC FOR 2 SEC) AND SENDS
034780,000038: # ALARM CODE 205 IF BAD PIP IS FOUND. PIPS ARE COMPENSATED IN 1/PIPA SUBROUTINE, MASS IS UPDATED BY MASSMON
034781,000039: # SUBROUTINE, AND AVERAGEG DOES THE NAVIGATION. THE AVERAGE G ROUTINE UPDATES RN, VN, AND GDT/2 VECTORS, USING
034782,000040: # THE SUBROUTINE CALCRVG. CONTROL IS THEN TRANSFERRED TO THE MONITOR SPECIFIED BY DVSELECT. DVSELECT IS SET BY
034783,000041: # THE BOOST PHASE TO BOOSTMON, AND BY THE ENGINEON ROUTINE TO THE PGNCSMON. USERS STARTING SERVICER BEFORE THE
034784,000042: # ENGINE IS ON SHOULD INSURE BYPASSING DVMON INITIALLY BY SETTING DVSELECT TO THE GENADR OF AVERAGE G.
034785,000043:
034786,000044: # THE BOOST MONITOR (BOOSTMON) CHECKS DELV AGAINST THRSHLD+, THE THRESHOLD ACCELERATION FOR THE BOOST PHASE.
034787,000045: # IF DELV IS BELOW THRESHOLD, INDICATING TERMINATION OF BOOST, MISSION PHASE 6 IS SCHEDULED AS A JOB, DVSELECT
034788,000046: # IS ALTERED TO BYPASS BOOSTMON AND PROCEED DIRECTLY TO AVERAGE G.
034789,000047:
034790,000048: # THE PGNCS MONITOR (PGNCSMON) COMPARES ACTUAL THRUST TO THE THRESHOLD VALUE FOR THE +X ACCELERATION
034791,000049: # (100 CM/SEC). IF THRUST IS FOUND BELOW THIS VALUE FOR 3 CYCLES (I.E., 4 TO 6 SECONDS) AS DETERMINED BY DVCNTR,
034792,000050: # AND THE ENGINE FLAG IS REMOVED, (INDICATING THAT THE ENGINE HAS BEEN TURNED OFF) CONTROL IS BRANCHED TO THE
034793,000051: # LOCATION SPECIFIED BY DVMNEXIT, PREVIOUSLY SET BY THE USERS PROGRAM. DVSELECT IS ALTERED TO BYPASS PNGCSMON IN
034794,000052: # SUBSEQUENT PASSES. IF, HOWEVER, THE ENGINE FLAG IS STILL ON AT THIS TIME, CONTROL IS TRANSFERRED TO ENGNFAIL.
034795,000053: # THIS SENDS ALARM CODE 1405 AND KILLS THAT MISSION PHASE. ANY TIME THE THRUST IS LESS THAN THE THRESHOLD VALUE,
034796,000054: # THE STEERING IS DETACHED (NO EXIT VIA AVEGEXIT) AND EXIT IS MADE THRU SERVEXIT.
034797,000055:
034798,000056: # THE NORMAL EXIT IS THRU AVEGEXIT, WHICH MUST HAVE BEEN SET BY THE USER. THE FINAL EXIT, SET INTO AVEGEXIT BY
034799,000057: # READACCS WHEN IT FINDS THE AVERAGE G FLAG DOWN, SETS UP FREE FALL GYRO COMPENSATION, SETS THE DRIFT FLAG ON,
034800,000058: # PERFORMS AVETOMID ROUTINE, AND TRANSFERS CONTROL TO POOH, THUS CLEARING ALL ACTIVITY UNTIL A NEW MISSION
034801,000059: # PHASE IS DUE.
034802,000060:
034803,000061: # ***** WARNING TO USERS *****
034804,000062:
034805,000063: # THE USER MUST SET DVMNEXIT TO THE 2CADR OF A JOB TO BE PERFORMED WHEN ENGINE SHUTDOWN IS DETECTED BY SERVICER.
034806,000064: # IN GENERAL, THE AVERAGE G FLAG WILL BE TURNED OFF BY THE USER AT THAT TIME, ALLOWING JUST ONE MORE PASS THROUGH
034807,000065: # AVERAGE G. ALL ACTIVITY OF THE USERS MISSION PHASE MUST HAVE BEEN COMPLETED BEFORE THIS LAST PASS THROUGH
034808,000066: # AVERAGE G, DUE TO THE PERFORMANCE OF POOH AS DESCRIBED ABOVE.
034809,000067:
034810,000068: # AVGEXIT MUST BE SET BY THE USER TO THE 2CADR OF THE JOB (E.G., STEERING) TO BE PERFORMED AFTER EACH PASS
034811,000069: # THROUGH AVERAGE G. IF NO OTHER JOB IS TO BE DONE, AVEGEXIT SHOULD BE SET TO SERVEXIT.
034812,000070:
Page 816 |
034814,000072: # USER MUST INITIALIZE DVSELECT TO THE GENADR OF AVERAGE G UNLESS THE ENGINEON ROUTINE HAS BEEN PERFORMED
034815,000073: # BEFORE THE START OF SERVICER.
034816,000074:
034817,000075: # USERS (EXCEPT FOR BOOST PHASE) MUST PERFORM MTDTOAVE ROUTINE BEFORE STARTING PREREAD.
034818,000076:
034819,000077: # CALLING SEQUENCE IS NORMAL WAITLIST CALL FOR PREREAD. (READACCS WILL START TWO SECONDS LATER.)
034820,000078:
034821,000079:
034822,000080: # SUBROUTINES CALLED
034823,000081:
034824,000082: # LASTBIAS PIPASR FLAG1UP FLAG2DWN NORMLIZE READACCS SERVICER 1/PIPA MASSMON AVERAGE G CALCRVG
034825,000083: # PHASCHNG AVETOMID POOH FORGETIT
034826,000084:
034827,000085:
034828,000086: # NORMAL EXIT MODES .. AVEGEXIT, DVMNEXIT, TASKOVER, ENDOFJOB.
034829,000087:
034830,000088: # ALARM CODE 205 GIVEN IF RUNAWAY PIP. PROGRAM THEN CONTINUES IN NORMAL SEQUENCE.
034831,000089: # ALARM CODE 1405 GIVEN IF ENGINE FAILURE IS DETECTED. PROGRAM THEN TERMINATES THE MISSION PHASE. (TO FORGETIT)
034832,000090:
034833,000091:
034834,000092: # ERASABLE INITIALIZATION REQUIRED
034835,000093:
034836,000094: # MASS .. INITIALIZED IN ERASABLE LOAD
034837,000095: # RAVEGON AND VAVEGON .. INITIALIZED IN ERASABLE LOAD - UPDATED BEFORE EACH CALL FOR PREREAD.
034838,000096:
034839,000097:
034840,000098: # OUTPUT
034841,000099:
034842,000100: # DELV(6) RN(6) VN(6) GDT/2(6) CDUTEMP(6) MASS(2) DELAREA(2) PIPTIME(2) OLDBT1(1)
034843,000101:
034844,000102:
034845,000103: # DEBRIS
034846,000104:
034847,000105: # CENTRALS ... A, L, Q
034848,000106:
034849,000107: # OTHER .... DVCNTR, ITEMP1, ITEMP2, RN1(6), VN1(6), GDT1/2(6), DAREATMP(2), MASSTEMP(2), PIPAGE, TEMX,
034850,000108:
034851,000109: # TEMY, TEMZ, TEMXY, PIPCTR
034852,000110:
034853,000111:
034854,000112: # *** THRUST MISSION CONTROL IS RESTART PROTECTED AND USES RESTART GROUP 5. ***
034855,000113:
Page 817 |
034857,000115: 30,2000 BANK 30
034858,000116: 30,2000 E5,1511 EBANK= DVCNTR
034859,000117: # ************************************* **************************************************************
034860,000118:
034861,000119: 30,2000 04161 PREREAD TC PHASCHNG
034862,000120: 30,2001 07015 OCT 07015
034863,000121: 30,2002 77777 OCT 77777
034864,000122:
034865,000123: 30,2003 E5,1511 EBANK= DVCNTR
034866,000124: 30,2003 02011 60065 2CADR BIBIBIAS # SKIP LASTBIAS AFTER RESTART
034867,000125:
034868,000126: 30,2005 35653 CAF PRIO32
034869,000127: 30,2006 05505 TC NOVAC
034870,000128: 30,2007 E3,1444 EBANK= NBDX
034871,000129: 30,2007 03575 24063 2CADR LASTBIAS # DO LAST GYRO COMPENSATION IN FREE FALL
034872,000130:
034873,000131: 30,2011 02574 BIBIBIAS TC PIPASR # CLEAR + READ PIPS LAST TIME IN FREE FALL
034874,000132:
034875,000133: 30,2012 06051 TC FLAG1UP # SET AVEG FLAG
034876,000134: 30,2013 00001 OCT 1
034877,000135:
034878,000136: 30,2014 31337 CA STARTDVC # * PLEASE DONT MOVE-DVCNTR SHOULD BE
The following line was not printed, and has been disassembled from the octal listing. Unfortunately, we may never know why CA STARTDVC should not be moved. |
034881,000139: 30,2015 55511 TS DVCNTR
034882,000140:
034883,000141: 30,2016 06076 TC FLAG2DWN # KNOCK DOWN DRIFT FLAG
034884,000142: 30,2017 40000 OCT 40000
034885,000143:
034886,000144: 30,2020 37751 CAF EBANK4
034887,000145: 30,2021 54003 TS EBANK
034888,000146: 30,2022 E4,1640 EBANK= AXIS # CORCT IS DEAD, LONG LIVE AXIS
034889,000147:
034890,000148: 30,2022 37746 CAF BIT14 # INITIALIZE AXIS TO (0.5,0,0)
034891,000149: 30,2023 55640 TS AXIS # FOR FINDCDUD
034892,000150: 30,2024 37767 CAF ZERO
034893,000151: 30,2025 55641 TS AXIS +1
034894,000152: 30,2026 55642 TS AXIS +2
034895,000153: 30,2027 55643 TS AXIS +3
034896,000154: 30,2030 55644 TS AXIS +4
034897,000155: 30,2031 55645 TS AXIS +5
034898,000156:
034899,000157: 30,2032 37762 CAF TWO # DIRECT REREADAC TO READACCS IN CASE
034900,000158: 30,2033 55161 TS PIPAGE # OF A RESTART
034901,000159:
034902,000160: 30,2034 35644 CAF PRIO21 # SET UP TO DO NORMLIZE REQUIRED PRIOR
034903,000161: 30,2035 05516 TC FINDVAC # TO FIRST ENTRY TO AVERAGE G.
034904,000162: 30,2036 E4,1514 EBANK= RAVEGON
034905,000163: 30,2036 02412 60064 2CADR NORMLIZE
034906,000164:
The following line was not printed, and has been disassembled from the octal listing. In its place comes the page header for page 818, which shares the same physical page as 817. |
034909,000167: 30,2040 32235 CAF 200DEC
Page 818 |
034911,000169: 30,2041 05663 TC WAITLIST
034912,000170: 30,2042 E5,1511 EBANK= DVCNTR
034913,000171: 30,2042 02047 60065 2CADR READACCS
034914,000172:
The following line was not printed, and has been disassembled from the octal listing. |
034916,000174: 30,2044 04161 TC PHASCHNG
034917,000175: 30,2045 40025 OCT 40025
The following line was not printed, and has been disassembled from the octal listing. |
034919,000177: 30,2046 15727 TCF TASKOVER
034920,000178:
Page 819 |
034922,000180: # ************************************* READACCS *************************************************************
034923,000181: 30,2047 E5,1537 EBANK= NEGXDV
034924,000182: 30,2047 41000 READACCS CS T5ADR # TO PREVENT LOST DOWNRUPTS, ADJUST THE
034925,000183: 30,2050 62125 AD FILTAD # RELATIVE PHASING BETWEEN READACCS AND
034926,000184: 30,2051 00006 EXTEND # DAP FOR MINIMUM INTERFERENCE. THESE
034927,000185: 30,2052 12060 BZF WASFILT # TESTS ARE NECESSARY ONLY WHEN THE TRIM
034928,000186: # GIMBAL IS BEING USED, BUT IT TAKES TOO
034929,000187: 30,2053 41000 CS T5ADR # LONG TO CHECK FOR THIS SITUATION TO BE
034930,000188: 30,2054 62126 AD GTSAD # WORTH IT.
034931,000189: 30,2055 00006 EXTEND
034932,000190: 30,2056 12121 BZF SLIPONE
034933,000191: 30,2057 12064 TCF PIPREAD
034934,000192:
034935,000193: 30,2060 40030 WASFILT CS TIME5
034936,000194: 30,2061 67743 AD POSMAX
034937,000195: 30,2062 00006 EXTEND
034938,000196: 30,2063 12121 BZF SLIPONE
034939,000197:
034940,000198: 30,2064 02574 PIPREAD TC PIPASR
034941,000199:
034942,000200: 30,2065 00006 PIPSDONE EXTEND # SUPER HIGH-SPEED PHASE CHANGE TO
034943,000201: 30,2066 32130 DCA 5.31SET # MINIMIZE THE TIME SPENT IN THE READACCS
034944,000202: 30,2067 53110 DXCH -PHASE5 # TASK.
034945,000203:
034946,000204: 30,2070 37762 REDO5.31 CAF TWO # SHOW PIPS HAVE BEEN READ FOR REREADAC.
034947,000205: 30,2071 55161 TS PIPAGE
034948,000206:
034949,000207: 30,2072 40075 CHEKAVEG CS FLAGWRD1
034950,000208: 30,2073 77763 MASK BIT1
034951,000209: 30,2074 10000 CCS A # IF AVEG FLAG DOWN SET FINAL EXIT AVEG
034952,000210: 30,2075 02116 TC AVEGOUT
034953,000211:
034954,000212: 30,2076 32235 CAF 200DEC # READ PIPS AT 2 SECOND INTERVALS
034955,000213: 30,2077 05663 TC WAITLIST
034956,000214: 30,2100 E5,1570 EBANK= BMEMORY
034957,000215: 30,2100 02047 60065 2CADR READACCS
034958,000216:
034959,000217: 30,2102 37746 MAKESERV CAF PRIO20 # ESTABLISH SERVICER ROUTINE
034960,000218: 30,2103 05516 TC FINDVAC
034961,000219: 30,2104 E5,1570 EBANK= BMEMORY
034962,000220: 30,2104 02133 60065 2CADR SERVICER
034963,000221:
034964,000222: 30,2106 00006 EXTEND # HIGH SPEED PHASE CHANGE.
034965,000223: 30,2107 32132 DCA 5.6SET # 5.6 FOR REREADAC TASK & SERVICER JOB.
034966,000224: 30,2110 53110 DXCH -PHASE5
034967,000225: 30,2111 40025 CS TIME1 # SET TBASE.
034968,000226: 30,2112 55123 TS TBASE5
034969,000227:
034970,000228: 30,2113 15727 TCF TASKOVER # END PREVIOUS READACCS WAITLIST TASK
034971,000229:
Page 820 |
034973,000231: 30,2114 E5,1570 EBANK= BMEMORY
034974,000232: 30,2114 02574 60065 PIP2CADR 2CADR PIPASR
The printer skipped a line here, but only failed to print the second word of the 2CADR. |
034976,000234:
034977,000235: 30,2116 32124 AVEGOUT CA AVOUTADR
034978,000236: 30,2117 55310 TS DVSELECT
034979,000237: 30,2120 12102 TCF MAKESERV
034980,000238:
034981,000239: 30,2121 47763 SLIPONE CS ONE # RESCHEDULE DAP EVENT TO OCCUR 10 MS
034982,000240: 30,2122 26030 ADS TIME5 # FARTHER INTO THE FUTURE.
The following line wasn't printed. It was instead disassembled from the octal listing and symbol table. |
034984,000242: 30,2123 12064 TCF PIPREAD
034985,000243:
The following two lines were printed on top of each other. The line after them wasn't printed at all. They were teased apart, reconstructed, and put in the right places with help from the octal listing and the symbol table. |
034989,000247: 30,2124 02366 AVOUTADR GENADR AVGEND
034990,000248: 30,2125 02015 FILTAD GENADR FILTER
034991,000249: 30,2126 02572 GTSAD GENADR GTS
End of reconstructed lines. |
034993,000251:
034994,000252: 30,2127 77746 00031 5.31SET 2OCT 7774600031
034995,000253:
034996,000254: 30,2131 77771 00006 5.6SET 2OCT 7777100006
034997,000255:
Page 821 |
034999,000257:
035000,000258: # DO SAVEM AND RESTOREM LATER IF NORMAL RESTARTS SHOULD EVER RETURN
035001,000259:
035002,000260: 30,2133 37762 SERVICER CAF TWO
035003,000261: 30,2134 55512 PIPCHECK TS PIPCTR
035004,000262:
035005,000263: 30,2135 60000 DOUBLE
035006,000264: 30,2136 50000 INDEX A
The next 10 lines were printed on only 2. I'm not sure the exact distribution, but it seems likely that they were split evenly between the two. They were disassembled from the octal section, with help from the symbol table. For the first line, I have chosen DELVX rather than DELV to match SERVICER207 in Colossus 237. Fragments of comments were also printed on the second line. They read: " O UE T [DP] [P.] M" where characters in brackets were printed on top of each other. In place of the original comments, I have transplanted comments from the SERVICER207 section of Colossus 237, which closely mirrors this. They roughly align with the the above string, and so are likely close to correct. |
035015,000273: 30,2137 10403 CCS DELVX
035016,000274: 30,2140 02142 TC +2
035017,000275: 30,2141 02150 TC PIPLOOP
035018,000276:
035019,000277: 30,2142 62233 AD -MAXDELV # DO PIPA-SATURATION TEST BEFORE
035020,000278: 30,2143 00006 EXTEND
035021,000279: 30,2144 62150 BZMF PIPLOOP # COMPENSATION.
035022,000280:
035023,000281: 30,2145 04755 TC ALARM
035024,000282: 30,2146 00205 OCT 00205 # SATURATED-PIPA ALARM ***CHANGE LATER
035025,000283: 30,2147 12152 TCF +3
035026,000284:
035027,000285: 30,2150 11512 PIPLOOP CCS PIPCTR
End of disassembled lines. |
035029,000287: 30,2151 12134 TCF PIPCHECK
035030,000288:
035031,000289: 30,2152 04161 TC PHASCHNG # RESTART REREADAC + SERVICER
035032,000290: 30,2153 16035 OCT 16035
035033,000291: 30,2154 20000 OCT 20000
035034,000292: 30,2155 E5,1570 EBANK= BMEMORY
035035,000293: 30,2155 02161 60065 2CADR GOMASS
035036,000294:
035037,000295: 30,2157 05206 TC BANKCALL # PIPA COMPENSATION CALL
035038,000296: 30,2160 25222 CADR 1/PIPA
035039,000297:
035040,000298: 30,2161 06112 GOMASS TC INTPRET
035041,000299: 30,2162 51575 VLOAD ABVAL
035042,000300: 30,2163 00404 DELV
035043,000301: 30,2164 36535 STCALL ABDELV
035044,000302: 30,2165 61206 MASSMON
035045,000303: 30,2166 77624 CALL
The following line wasn't printed. It was disassembled from the octal listing and symbol table. |
035047,000305: 30,2167 61137 CALCRVG
035048,000306: 30,2170 77776 EXIT
In the right margin is written in green marker "engineon pg 480". |
035050,000308:
035051,000309: 30,2171 04161 TC PHASCHNG
035052,000310: 30,2172 10035 OCT 10035
035053,000311:
035054,000312: 30,2173 00004 COPYCYCL INHINT
035055,000313: 30,2174 37760 CAF EIGHT
035056,000314: 30,2175 54061 TS ITEMP1
Page 822 |
035058,000316: 30,2176 60000 DOUBLE
035059,000317: 30,2177 54062 TS ITEMP2
035060,000318: 30,2200 00006 EXTEND
035061,000319: 30,2201 50062 INDEX ITEMP2
035062,000320: 30,2202 31051 DCA RN1
035063,000321: 30,2203 50062 INDEX ITEMP2
035064,000322: 30,2204 53011 DXCH RN
035065,000323: 30,2205 10061 CCS ITEMP1
035066,000324: 30,2206 12175 TCF COPYCYCL +2
035067,000325: 30,2207 00006 EXTEND
035068,000326: 30,2210 31560 DCA DAREATMP
035069,000327: 30,2211 53552 DXCH DELAREA
035070,000328: 30,2212 00006 EXTEND
035071,000329: 30,2213 31562 DCA MASSTEMP
035072,000330: 30,2214 53321 DXCH MASS
035073,000331: 30,2215 00006 EXTEND
035074,000332: 30,2216 31307 DCA PIPTIME
035075,000333: 30,2217 53327 DXCH STATIME # STATE VECTOR TIME FOR DOWNLINK.
035076,000334:
035077,000335: 30,2220 37760 CAF BIT4 # SIVBGONE BIT
035078,000336: 30,2221 70075 MASK FLAGWRD1
035079,000337: 30,2222 00006 EXTEND
035080,000338: 30,2223 12230 BZF CHGPHASE
035081,000339:
035082,000340: 30,2224 35655 CAF PRIO34
035083,000341: 30,2225 05505 TC NOVAC
035084,000342: 30,2226 E6,1542 EBANK= DT
035085,000343: 30,2226 02713 54066 2BCADR 1/ACCS
035086,000344:
035087,000345: 30,2230 04161 CHGPHASE TC PHASCHNG
035088,000346: 30,2231 10035 OCT 10035
035089,000347:
035090,000348: 30,2232 01310 TC DVSELECT
An arrow is drawn in green marker from the above instruction down to BIT2 lon the PGNCSMON line below. |
035092,000350:
035093,000351:
035094,000352: 30,2233 30,2251 AGSMON EQUALS AVERAGEG
035095,000353:
035096,000354: 30,2233 63401 -MAXDELV DEC -6398 B-14 # 3200 PULSES/SEC FOR 2 SEC. CCS TAKES 1.
035097,000355:
035098,000356: # **************************************************MAINTAIN THE ORDER OF THE CONSTANTS BETWEEN THE ASTERISKS.
035099,000357: 30,2234 00620 PLUSXDVA DEC 400 B-14 # 200 CM/SEC(2)= ASCENT THRESHOLD
035100,000358: 30,2235 00310 200DEC DEC 200 B-14
035101,000359: 30,2236 00055 PLUSXDVD DEC 45 B-14 # 22.5 CM/SEC SQ = DESCENT THRESHHOLD.
035102,000360: # **************************************************
035103,000361:
035104,000362: 30,2237 37762 PGNCSMON CAF BIT2 # CHECK CHANNEL 30 TO SEE IF STAGING HAS
The following line wasn't printed. It has been taken from Sunburst 37/Shepatin 0. |
035106,000364: 30,2240 00006 EXTEND # OCCURRED. IF BIT2 IS ON WE ARE UNSTAGED
035107,000365:
There is a completely empty page in the listing here. Instructions continue on the next page, with no page break header from Yul. |
035110,000368: 30,2241 02030 RAND 30 # AND DESCENT PLUSXDV IS USED -- OTHERWISE
035111,000369: 30,2242 50000 INDEX A # THE ASCENT PLUSXDV IS EMPLOYED.
035112,000370:
Page 823
The next six lines were printed on only two (or maybe three, the header is also garbled). They have
been disassembled from the octal listing and symbol table. A few comment fragments made it through
on the last garbled line. They read:
" HRUS IS K R S H DV M I R"
A single-word comment was pulled in from Sunburst 37/Shepatin 0. Given other context, the above
letters are likely part of something like "THRUST IS OK -- RESET |
035120,000378: 30,2243 42234 CS PLUSXDVA
035121,000379: 30,2244 61534 AD ABDELV # ACCELERATION
035122,000380: 30,2245 00006 EXTEND
035123,000381: 30,2246 62256 BZMF THRUSTLO
035124,000382: 30,2247 31341 CA SETDVCNT
035125,000383: 30,2250 55511 TS DVCNTR
End of disassembled lines. |
035127,000385:
035128,000386: 30,2251 04161 AVERAGEG TC PHASCHNG
The following line was not printed. It was taken from the octal listing, and follows other PHASCHG calling patterns. |
035131,000389: 30,2252 10035 OCT 10035
035132,000390: 30,2253 00006 EXTEND
035133,000391: 30,2254 31073 DCA AVGEXIT
035134,000392: 30,2255 52006 DXCH Z # AVERAGEG EXIT
035135,000393:
035136,000394:
The following three instructions are circled in green marker, with a small checkmark drawn next to DVCNTR. |
035138,000396: 30,2256 11511 THRUSTLO CCS DVCNTR
035139,000397: 30,2257 12323 TCF SERVEXIT -1 # NO STEERING IF NO THRUST.
035140,000398: 30,2260 30075 NODV CA FLAGWRD1
035141,000399: 30,2261 77757 MASK BIT5
The following line was not printed. It was disassembled from the octal listing. |
035143,000401: 30,2262 10000 CCS A
035144,000402: 30,2263 12317 TCF ENGNFAIL # YES. GIVE FAIL ALARM.
035145,000403: 30,2264 04161 TC PHASCHNG # NO. GO OUT THRU DVMNEXIT.
035146,000404: 30,2265 10035 OCT 10035
035147,000405:
The following two instructions have a box drawn around them in green marker. |
035149,000407: 30,2266 32315 CAF AVEGADDR # REMOVE DV MONITOR.
035150,000408: 30,2267 55310 TS DVSELECT
035151,000409:
035152,000410: 30,2270 00006 DVEXIT EXTEND # BRANCH TO SELECTED LOCATION
035153,000411: 30,2271 31075 DCA DVMNEXIT
035154,000412: 30,2272 52006 DXCH Z
035155,000413:
035156,000414: 30,2273 41534 BOOSTMON CS ABDELV # COMPARE ABDELV TO THRSHLD+ TO DETECT
035157,000415: 30,2274 62316 AD THRSHLD+ # BOOSTER SHUTDOWN
035158,000416: 30,2275 00006 EXTEND
035159,000417: 30,2276 62251 BZMF AVERAGEG
035160,000418:
035161,000419: 30,2277 00004 INHINT # SHUTDOWN HAS OCCURRED
035162,000420: 30,2300 37746 CAF PRIO20
035163,000421: 30,2301 05505 TC NOVAC # SET UP MISSION PHASE 6 JOB
035164,000422: 30,2302 E5,1570 EBANK= BMEMORY
035165,000423: 30,2302 02504 56065 2CADR MP6JOB # NO VAC AREA NEEDED
035166,000424:
035167,000425: 30,2304 04161 TC PHASCHNG
The following line was not printed. It was taken from the octal listing and matches other PHASCHNG calls. |
035169,000427: 30,2305 07022 OCT 07022
035170,000428: 30,2306 20000 OCT 20000
035171,000429: 30,2307 E5,1570 EBANK= BMEMORY
035172,000430: 30,2307 02504 56065 2CADR MP6JOB
The printer missed a line here, but it only contained the second word of the 2CADR. |
035174,000432:
Page 824 This page header comes toward the bottom of the previous physical page, and the "824" is underlined in green marker. |
035178,000436: 30,2311 04161 TC PHASCHNG
035179,000437: 30,2312 10035 OCT 10035
035180,000438:
The following two instructions have a green bracket drawn around the operands. |
035182,000440: 30,2313 32315 DVMNKILL CAF AVEGADDR # REMOVE DV MONITOR FROM SERVICER
035183,000441: 30,2314 55310 TS DVSELECT
035184,000442:
035185,000443: 30,2315 02251 AVEGADDR TC AVERAGEG
035186,000444:
035187,000445: 30,2316 01724 THRSHLD+ DEC 980 B-14 # BOOSTER SHUTDOWN AT 1/2 G OVER 2 SECS
035188,000446:
An arrow is drawn to "ALARM" in the line below. This would have been the alarm seen during the flight, so it is likely that this listing was used for debugging the problem. |
035191,000449: 30,2317 04755 ENGNFAIL TC ALARM
035192,000450: 30,2320 01405 OCT 1405 # DVALARM. ENGINE ON BUT NO THRUST.
035193,000451:
035194,000452: 30,2321 05225 TC POSTJUMP
035195,000453: 30,2322 16007 CADR FORGETIT # SHUTDOWN.
There is a physical page break here. The instruction below also has a green check mark next to it. |
035197,000455: 30,2323 55511 -1 TS DVCNTR
035198,000456: 30,2324 04161 SERVEXIT TC PHASCHNG
035199,000457: 30,2325 00035 OCT 00035
035200,000458:
035201,000459: 30,2326 15567 TCF ENDOFJOB
035202,000460:
Page 825 |
035204,000462: # ***** GIMBL MONITOR - USED PRIOR TO PGNCSMON IN DPS BURNS **************
035205,000463:
035206,000464: 30,2327 E5,1534 EBANK= ABDELV
035207,000465: 30,2327 31336 GIMBLMON CA SLOSHCTR # FIRST CONDITION FOR USE OF TRIM GIMBAL-
035208,000466: 30,2330 00006 EXTEND # THAT SLOSH HAS NOT BUILT UP TO THE
035209,000467: 30,2331 12357 BZF GIMBLOFF # POINT THAT THE GIMBAL IS NOT USEFUL
035210,000468: 30,2332 00006 EXTEND
035211,000469: 30,2333 27336 DIM SLOSHCTR
035212,000470:
035213,000471: 30,2334 42365 CS GTHRSHLD # SECOND CONDITION FOR USE OF TRIM GIMBAL-
035214,000472: 30,2335 61534 AD ABDELV # THAT DPS THRUST HAS ATTAINED A FAIR
035215,000473: 30,2336 00006 EXTEND # DEGREE OF STABILITY
The following line was not printed. It was disassembled from the octal listing. |
035217,000475: 30,2337 62357 BZMF GIMBLOFF
035218,000476:
035219,000477: 30,2340 40076 CS FLAGWRD2 # THIRD CONDITION FOR USE OF TRIM GIMBAL-
035220,000478: 30,2341 77760 MASK BIT4 # THAT THROTTLING IS NOT NOW UNDERWAY.
035221,000479: 30,2342 00006 EXTEND # THIS FLAG IS SET WHEN THROTTLING IS
035222,000480: 30,2343 12237 BZF PGNCSMON # BEGUN AND RESET WHEN IT IS OVER.
035223,000481:
035224,000482: 30,2344 37752 CA BIT10 # FOURTH CONDITION FOR USE OF TRIM GIMBAL-
035225,000483: 30,2345 00006 EXTEND # THAT GIMBAL HAS NOT FAILED
035226,000484: 30,2346 02032 RAND 32
035227,000485: 30,2347 00006 EXTEND
The following line was not printed. It was disassembled from the octal listing. |
035229,000487: 30,2350 12357 BZF GIMBLOFF
035230,000488:
035231,000489: 30,2351 00004 GIMBLON INHINT # IF WE GET THIS FAR IT IS OK TO TURN ON
035232,000490: 30,2352 47762 CS USEQRJTS # THE GLORIOUS TRIM GIMBAL
035233,000491: 30,2353 70077 MASK DAPBOOLS
035234,000492: 30,2354 54077 TS DAPBOOLS
035235,000493: 30,2355 00003 RELINT
The following line was not printed. It was disassembled from the octal listing. |
035237,000495: 30,2356 12237 TCF PGNCSMON
035238,000496:
035239,000497: 30,2357 00004 GIMBLOFF INHINT # IT IS NECESSARY FOR SOME REASON TO
035240,000498: 30,2360 40077 CS DAPBOOLS # TURN OFF THE TRIM GIMBAL
035241,000499: 30,2361 77762 MASK USEQRJTS
The following four lines, as well as the header of the next page, were all printed on top of each other. They were disassembled from the octal listing and symbol table. The comment on GTHRSHLD is barely legible, and I may have gotten the number wrong. |
035245,000503: 30,2362 26077 ADS DAPBOOLS
035246,000504: 30,2363 00003 RELINT
035247,000505: 30,2364 12237 TCF PGNCSMON
035248,000506:
035249,000507: 30,2365 00074 GTHRSHLD DEC 60 B-14 # APPROXIMATELY 60 LBS THRUST
035250,000508:
Page 826
The following two lines were printed on top of each other. The first is a line comment which didn't quite
make it through. I've done my best to pick it out from behind the other characters.ROO IN O RMINA R ADACES AND AV RAGE G |
035257,000515: 30,2366 E5,1506 EBANK= DVTOTAL
035258,000516: 30,2366 31307 AVGEND CA PIPTIME +1 # FINAL AVERAGE G EXIT
The following line was not printed. It was instead taken from a picture of SHEPATIN rev 0 provided by Don Eyles, and confirmed to match the octal listing. |
035261,000519: 30,2367 54765 TS OLDBT1 # SET UP FREE FALL GYRO COMPENSATION
035262,000520:
035263,000521: 30,2370 06060 TC FLAG2UP # SET DRIFT FLAG
035264,000522: 30,2371 40000 OCT 40000
035265,000523:
035266,000524: 30,2372 00006 EXTEND
035267,000525: 30,2373 32411 DCA AVEMIDAD # TRANSFER STATE VECTOR VIA AVETOMID
035268,000526: 30,2374 52006 DXCH Z
035269,000527:
035270,000528: 30,2375 04161 TC PHASCHNG
035271,000529: 30,2376 04025 OCT 04025 # POOH WILL TURN OFF PHASE5
035272,000530:
The following line was not printed. It was instead disassembled from the octal listing. |
035274,000532: 30,2377 37756 CA BIT6
035275,000533: 30,2400 70075 MASK FLAGWRD1 # FLAG IS UP BUT RATHER TO ENDOF JOB
035276,000534: 30,2401 00006 EXTEND
035277,000535: 30,2402 14272 BZF POOH
035278,000536: 30,2403 04161 TC PHASCHNG # MAKE GROUP 5 INACTIVE
035279,000537: 30,2404 00005 OCT 5
035280,000538:
035281,000539: 30,2405 06067 TC FLAG1DWN # NOT MORE THAN ONE USE OF THIS FLAG.
035282,000540: 30,2406 00040 OCT 00040
035283,000541:
035284,000542: 30,2407 15567 TCF ENDOFJOB
035285,000543:
035286,000544: 30,2410 E4,1630 EBANK= AVMIDRTN
035287,000545: 30,2410 02116 16064 AVEMIDAD 2CADR AVETOMID
035288,000546:
Page 827 |
035290,000548: # NORMLIZE PERFORMS THE INITIALIZATION REQUIRED PRIOR TO THE FIRST ENTRY TO AVERAGEG, AND SCALES RN SO THAT IT
035291,000549: # HAS 1 LEADING BINARY ZERO. IN MOST MISSIONS, RN WILL BE SCALED AT 2(+29), BUT IN THE 206 MISSION, RN WILL BE
035292,000550: # SCALED AT 2(+24)M. TIME OF RN,VN IS IN STATIME FOR DWNLINK
035293,000551:
035294,000552:
035295,000553: 30,2412 E4,1514 EBANK= RAVEGON
035296,000554: 30,2412 00004 NORMLIZE INHINT
035297,000555: 30,2413 37764 CAF ELEVEN # INITIALIZE INDEX-DEC 11
035298,000556: 30,2414 54070 TS RUPTREG1
The following six instructions were printed on two lines. They were instead disassembled from the octal listing and symbol table. A single letter of a comment made it through: " V ". They have since been confirmed to match Shepatin 0 / Sunburst 37, and the comment has been restored. |
035302,000560: 30,2415 50070 INDEX RUPTREG1
035303,000561: 30,2416 31514 CA RAVEGON
035304,000562: 30,2417 50070 INDEX RUPTREG1
035305,000563: 30,2420 55010 TS RN # STORE RN, VN
035306,000564: 30,2421 10070 CCS RUPTREG1
035307,000565: 30,2422 12414 TCF NORMLIZE +2
End of disassembled instructions. |
035309,000567:
035310,000568: 30,2423 00006 EXTEND
The following five lines were all printed on one. They have been disassembled from the octal listing. Part of a comment made it through: "S A IM F R DWNLINK". The full comment has been restored from Shepatin 0 / Sunburst 37. |
035314,000572: 30,2424 31511 DCA TAVEGON
035315,000573: 30,2425 53327 DXCH STATIME # STATE TIME FOR DWNLINK
035316,000574: 30,2426 00003 RELINT
035317,000575: 30,2427 06112 TC INTPRET
035318,000576: 30,2430 45175 VLOAD CALL
End of disassembled instructions. |
035320,000578: 30,2431 01011 RN # LOAD RN VEC FOR CALCGRAV
035321,000579: 30,2432 61103 CALCGRAV # INITIALIZE UNITR RMAG GDT1
035322,000580: 30,2433 01025 STORE GDT/2
The following two lines, as well as the header for the next page, were all printed on the same line. The instructions have been disassembled from the octal listing. |
035325,000583: 30,2434 77776 EXIT
035326,000584: 30,2435 15567 TCF ENDOFJOB
035327,000585:
Page 828 |
035329,000587: # VPATCHER IS AN ADAPTATION OF NORMLIZE WHICH IS CALLED AFTER MIDTOAVE HAS BEEN PERFORMED AND PRIOR TO
035330,000588: # PREBURN PROGRAMS THAT REQUIRE IGNITION STATE POSITION, VELOCITY, AND GRAVITY VECTORS IN REGISTERS RN,VN, AND
035331,000589: # GDT/2. THE REGISTERS ARE RE-INITIALIZED BY NORMLIZE WHEN PREREAD CALLEDRED BY NORMLIZE WHEN PREREAD IS CALLED
035332,000590:
035333,000591:
035334,000592: # NAME= DATE=
035335,000593: # VPATCHER 20 OCTOBER 1966
035336,000594: # PROGRAMMER SUBROUTINES CALLED
035337,000595: # SCHULENBERG CALCGRAV
035338,000596:
035339,000597: # CALLING SEQUENCE
035340,000598: # IF IN BASIC L-1 TC INTPRET
035341,000599: # L CALL VPATCHER
035342,000600: # L+1 EXIT
035343,000601: # NORMAL EXIT
035344,000602: # AT L+1 OF CALLING SEQUENCE
035345,000603: # DEBRIS
035346,000604: # RN, VN, GDT/2, UNITR, RMAG
035347,000605:
035348,000606: # OUTPUT
The following line was not printed. It was pulled from Shepatin 0 / Sunburst 37. |
035350,000608: # RIGNITION IN RN*2(+24)M
035351,000609: # VIGNITION IN VN*2(+7)M/CS
035352,000610: # GDT/2 AT IGNITION IN GDT/2*2(+7)M/CS
035353,000611: # UNIT RIGNITION IN UNITR *2(+1)M
035354,000612: # RMAG AT 2(+24)M
035355,000613:
035356,000614: 30,2436 77420 VPATCHER STQ EXIT
035357,000615: 30,2437 01155 TEMX
035358,000616: 30,2440 00004 INHINT
035359,000617: 30,2441 37751 CAF EBANK4
035360,000618: 30,2442 56003 XCH EBANK
035361,000619: 30,2443 54071 TS RUPTREG2
035362,000620: 30,2444 37764 CAF ELEVEN # INITIALIZE INDEX TO DEC 11
035363,000621: 30,2445 54070 VPATLOOP TS RUPTREG1
035364,000622: 30,2446 50070 INDEX RUPTREG1
There is a page break here. |
035366,000624: 30,2447 31400 CA RIGNTION
035367,000625: 30,2450 50070 INDEX RUPTREG1
035368,000626: 30,2451 55010 TS RN # STORE RN,VN
035369,000627: 30,2452 10070 CCS RUPTREG1
The following two lines were printed on top of each other. |
035371,000629: 30,2453 12445 TCF VPATLOOP
035372,000630: 30,2454 00006 EXTEND
035373,000631: 30,2455 31777 DCA TIGNTION
035374,000632: 30,2456 53327 DXCH STATIME # STATE TIME FOR DWNLINK
035375,000633: 30,2457 30071 CA RUPTREG2
035376,000634: 30,2460 54003 TS EBANK
035377,000635: 30,2461 00003 RELINT
035378,000636: 30,2462 06112 TC INTPRET
035379,000637: 30,2463 45175 VLOAD CALL
There is a blank page here, with the letters "MTF" written on it. This page marks the end of the printer problems, and probably corresponds to a change of paper. Page 829 |
035383,000641: 30,2464 01011 RN # LOAD RN VEC FOR CALCGRAV
035384,000642: 30,2465 61103 CALCGRAV
035385,000643:
035386,000644: 30,2466 35025 STCALL GDT/2
035387,000645: 30,2467 01155 TEMX
035388,000646:
Page 830 |
035390,000648: # ********************************* FLAG SUBROUTINES *********************************************************
035391,000649:
035392,000650:
035393,000651: 6051 BLOCK 03
035394,000652: # THE FLAG SUBROUTINES ARE USED TO SET OR RESET FLAGS (BITS) IN FLAGWRD1 AND FLAGWRD2. THE BIT(S) TO BE SET OR
035395,000653: # RESET IS(ARE) INDICATED BY THE OCTAL NUMBER FOLLOWING THE TC CALL. THE CALLING SEQUENCES ARE -
035396,000654:
035397,000655: # TC FLAG1UP SET BIT(S) IN FLAGWRD1 CORRESPONDING TO
035398,000656: # OCT XXXXX THE 1 BITS IN NUMBER XXXXX.
035399,000657:
035400,000658: # TC FLAG1DWN RESET BIT(S) IN FLAGWRD1 CORRESPONDING
035401,000659: # OCT XXXXX TO THE 1 BITS IN NUMBER XXXXX.
035402,000660:
035403,000661: # THE CALLING SEQUENCES FOR FLAGWRD2 ARE SIMILAR.
035404,000662:
035405,000663: # NOTE THAT FLAGWRD1 AND FLAGWRD2 CORRESPOND TO INTERPRETIVE SWITCHES 15D THROUGH 44D.
035406,000664:
035407,000665: # FLAGWORD BITS ARE DEFINED IN LOG SECTION "ERASABLE ASSIGNMENTS"
035408,000666:
035409,000667: 6051 00004 FLAG1UP INHINT # SET FLAG 1 SUBROUTINE
035410,000668: 6052 40075 CS FLAGWRD1
035411,000669: 6053 50002 INDEX Q
035412,000670: 6054 70000 MASK 0
035413,000671: 6055 26075 ADS FLAGWRD1
035414,000672:
035415,000673: 6056 00003 RELINT
035416,000674: 6057 17015 TCF Q+1
035417,000675:
035418,000676: 6060 00004 FLAG2UP INHINT # SET FLAG 2 SUBROUTINE
035419,000677: 6061 40076 CS FLAGWRD2
035420,000678: 6062 50002 INDEX Q
035421,000679: 6063 70000 MASK 0
035422,000680: 6064 26076 ADS FLAGWRD2
035423,000681:
035424,000682: 6065 00003 RELINT
035425,000683: 6066 17015 TCF Q+1
035426,000684:
035427,000685: 6067 50002 FLAG1DWN INDEX Q # RESET FLAG 1 SUBROUTINE
035428,000686: 6070 40000 CS 0
035429,000687: 6071 00004 INHINT
035430,000688: 6072 70075 MASK FLAGWRD1
035431,000689: 6073 54075 TS FLAGWRD1
035432,000690: 6074 00003 RELINT
035433,000691: 6075 17015 TCF Q+1
035434,000692:
035435,000693: 6076 50002 FLAG2DWN INDEX Q # RESET FLAG 2 SUBROUTINE
035436,000694: 6077 40000 CS 0
035437,000695: 6100 00004 INHINT
Page 831 |
035439,000697: 6101 70076 MASK FLAGWRD2
035440,000698: 6102 54076 TS FLAGWRD2
035441,000699: 6103 00003 RELINT
035442,000700: 6104 17015 TCF Q+1
035443,000701:
035444,000702: 6105 02327 GMBLMNAD GENADR GIMBLMON
035445,000703:
035446,000704: 6106 02237 PGNSCADR GENADR PGNCSMON
035447,000705:
035448,000706: 6107 00133 BURNDB DEC 0.00556 # 1 DEGREE DEADBAND SCALED AT PI RADIANS
035449,000707: 6110 00033 NARROWDB DEC 0.00167 # .3 DEGREE DEADBAND SCALED AT PI RADIANS
035450,000708: 6111 00707 WIDEDB DEC 0.02778 # 5 DEGREE DEADBAND SCALED AT PI RADIANS
End of include-file 206_SERVICE_ROUTINES.agc. Parent file is MAIN.agc