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. |
034237,000002: ## Copyright: Public domain.
034238,000003: ## Filename: AS206_MISSION_SCHEDULING_PACKAGE.agc
034239,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
034240,000005: ## is part of the source code for the Lunar Module's
034241,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
034242,000007: ## Assembler: yaYUL
034243,000008: ## Contact: Ron Burkey <info@sandroid.org>.
034244,000009: ## Website: www.ibiblio.org/apollo/index.html
034245,000010: ## Mod history: 2016-09-30 RSB Created draft version.
034246,000011: ## 2016-10-29 MAS Transcribed.
034247,000012: ## 2016-12-06 RSB Comments proofed using octopus/ProoferComments,
034248,000013: ## changes made.
034249,000014:
Page 801 |
034251,000016: # THE FOLLOWING ROUTINES IMPLEMENT THE MISSION SCHEDULING LOGIC AS DESCRIBED IN CHAPTER 4 OF THE
034252,000017: # AS206 OPERATIONS PLAN. THE FOLLOWING ROUTINE IS ENTERED ONCE EACH SECOND FOR MOST OF THE DURATION OF THE
034253,000018: # FLIGHT, ONCE LIFT-OFF HAS OCCURRED. AN EXCEPTION TO THIS IS THE TIME-CRI
034254,000019:
034255,000020: # RESTART GROUP FOR MISSION SCHEDULING PACKAGE IS GROUP 3.
034256,000021:
034257,000022: 31,2000 BANK 31
034258,000023: 31,2000 1164 EBANK= MTIMER4
034259,000024:
034260,000025: 31,2000 36311 MMAINT CAF THREE # LOOP TO PROCESS ALL FOUR TIMERS.
034261,000026: 31,2001 54070 MLOOP TS RUPTREG1
034262,000027:
034263,000028: 31,2002 50000 INDEX A # LOOK AT TIMER.
034264,000029: 31,2003 11164 CCS MTIMER4
034265,000030: 31,2004 12010 TCF MCOUNT # PNZ - ACTIVE AND COUNTING DOWN.
034266,000031: 31,2005 12055 TCF MDUE # +0 - MISSION PHASE DUE.
034267,000032: 31,2006 67763 AD ONE # NNZ - FREE BUT LOADED BY GROUND.
034268,000033: 31,2007 40000 COM # -0 - FREE.
034269,000034: 31,2010 50070 MCOUNT INDEX RUPTREG1 # PLACE UPDATED TIMERS AND PHASE REGISTERS
034270,000035: 31,2011 55174 TS MTIMER4T # INTO COPY BUFFER FOR RESTART PROTECTION.
034271,000036:
034272,000037: 31,2012 10070 MDUERET CCS RUPTREG1
034273,000038: 31,2013 12001 TCF MLOOP
034274,000039:
034275,000040: 31,2014 11201 MCHKST CCS STATECTR # SEE IF POSSIBLY TIME FOR INTERNAL STATE
034276,000041: 31,2015 12034 TCF MSTATEOK # VECTOR EXTRAPOLATION.
034277,000042:
034278,000043: 31,2016 36311 CAF THREE # IF SO, DO UPDATE UNLESS WE ARE WITHIN 16
034279,000044: 31,2017 54070 MSTATECK TS RUPTREG1 # SECONDS OF THE INITIATION OF ANY MISSION
034280,000045: 31,2020 45343 CS LOW4 # PHASE.
034281,000046: 31,2021 50070 INDEX RUPTREG1
034282,000047: 31,2022 71164 MASK MTIMER4
034283,000048: 31,2023 00006 EXTEND
034284,000049: 31,2024 12033 BZF MSTATEOK -1 # BRANCH IF PHASE DUE WITHIN 16 SECS.
034285,000050:
034286,000051: 31,2025 10070 CCS RUPTREG1
034287,000052: 31,2026 12017 TCF MSTATECK
034288,000053:
034289,000054: 31,2027 35633 CAF PRIO5
034290,000055: 31,2030 05516 TC FINDVAC # TO DO THE INTEGRATION.
034291,000056: 31,2031 E4,1566 EBANK= TDEC
034292,000057: 31,2031 02247 16064 2CADR STATEINT
034293,000058:
034294,000059: 31,2033 35204 -1 CAF STATECRI
034295,000060: 31,2034 55201 MSTATEOK TS STATECTR
034296,000061:
034297,000062: 31,2035 04161 TC PHASCHNG
034298,000063: 31,2036 00113 OCT 00113
034299,000064:
034300,000065: 31,2037 32054 REDO3.11 CAF 1SEC
Page 802 |
034302,000067: 31,2040 05663 TC WAITLIST
034303,000068: 31,2041 1164 EBANK= MTIMER4
034304,000069: 31,2041 02000 62062 2CADR MMAINT
034305,000070:
034306,000071: 31,2043 00006 EXTEND
034307,000072: 31,2044 31175 DCA MTIMER4T
034308,000073: 31,2045 53165 DXCH MTIMER4
034309,000074: 31,2046 00006 EXTEND
034310,000075: 31,2047 31177 DCA MTIMER4T +2
034311,000076: 31,2050 53167 DXCH MTIMER2
034312,000077:
034313,000078: 31,2051 04161 TC PHASCHNG
034314,000079: 31,2052 40133 OCT 40133
034315,000080:
034316,000081: 31,2053 05727 TC TASKOVER
034317,000082:
034318,000083: 31,2054 00144 1SEC DEC 100 B-14
034319,000084:
Page 803 |
034321,000086: # THE FOLLOWING CODING DISPATCHES DUE MISSION PHASES VIA A TABLE OF EXECUTIVE PRIORITIES AND 2CADRS.
034322,000087:
034323,000088: 31,2055 30070 MDUE CA RUPTREG1
034324,000089: 31,2056 55200 TS MDUETEMP # COPY FOR RESTART PROTECTION
034325,000090:
034326,000091: 31,2057 50070 INDEX RUPTREG1 # GET NUMBER OF NEW PHASE AND MP BY NUMBER
034327,000092: 31,2060 31170 CA MPHASE4 # OF TABLE ENTRIES PER PHASE TO GET ADDRES
034328,000093: 31,2061 00006 EXTEND # OF TABLE ENTRY FOR THIS PHASE.
034329,000094: 31,2062 12410 BZF BADPHASE # INACTIVE MPHASE HERE IS VERY BAD.
034330,000095: 31,2063 54764 TS PHASENUM # HOLDS CURRENT MP NUMBER FOR DOWNLINK
034331,000096: 31,2064 00006 EXTEND
034332,000097: 31,2065 76311 MP THREE
034333,000098: 31,2066 50001 INDEX L
034334,000099: 31,2067 32333 CA MTABLE # PRIO, INHIBIT/ENABLE INFO., ETC.
034335,000100: 31,2070 54071 TS RUPTREG2
034336,000101: 31,2071 77765 MASK SEVEN # HONOR INHIBIT/ENABLE FUNCTION.
034337,000102: 31,2072 70076 MASK FLAGWRD2
034338,000103: 31,2073 10000 CCS A
034339,000104: 31,2074 12117 TCF MBYPASS
034340,000105:
034341,000106: 31,2075 35660 CAF PRIO37
034342,000107: 31,2076 70071 MASK RUPTREG2
034343,000108: 31,2077 54063 TS NEWPRIO
034344,000109: 31,2100 00006 EXTEND
034345,000110: 31,2101 50001 INDEX L # PICK UP 2CADR AND DO FINDVAC.
034346,000111: 31,2102 32335 DCA MTABLE +1
034347,000112: 31,2103 05526 TC SPVAC
034348,000113:
034349,000114: 31,2104 04141 TC 2PHSCHNG
034350,000115: 31,2105 00032 OCT 32 # 2.3 SPOT FOR REDOMDUE
034351,000116: 31,2106 00003 OCT 3 # GROUP 3 OFF
034352,000117:
034353,000118: 31,2107 02121 MTIMEDWN TC MTIMEFIX
034354,000119:
034355,000120: 31,2110 35210 CAF PRIO30
034356,000121: 31,2111 05505 TC NOVAC
034357,000122: 31,2112 1164 EBANK= MTIMER4
034358,000123: 31,2112 02145 62062 2CADR UPDATKIL
034359,000124:
034360,000125: 31,2114 06076 TC FLAG2DWN
034361,000126: 31,2115 00020 OCT 20
034362,000127:
034363,000128: 31,2116 05727 TC TASKOVER
034364,000129:
034365,000130: 31,2117 02121 MBYPASS TC MTIMEFIX
034366,000131: 31,2120 12012 TCF MDUERET
034367,000132:
034368,000133: 31,2121 47767 MTIMEFIX CS ZERO
034369,000134: 31,2122 51200 INDEX MDUETEMP # MAKE THIS MTIMER/MPHASE PAIR AVAILABLE.
034370,000135: 31,2123 55164 TS MTIMER4
034371,000136:
Page 804 |
034373,000138: 31,2124 51200 INDEX MDUETEMP
034374,000139: 31,2125 55170 TS MPHASE4
034375,000140: 31,2126 51200 INDEX MDUETEMP
034376,000141: 31,2127 55174 TS MTIMER4T
034377,000142: 31,2130 00002 TC Q
034378,000143:
Page 805 |
034380,000145: # RESTART ROUTIN E TO RESCHEDULE MISSION PHASE
034381,000146:
034382,000147: 31,2131 30764 REDOMDUE CA PHASENUM # FIND PRIO AND 2CADR OF NEW MP IN TABLE.
034383,000148: 31,2132 00006 EXTEND
034384,000149: 31,2133 76311 MP THREE
034385,000150: 31,2134 50001 INDEX L
034386,000151: 31,2135 32333 CA MTABLE
034387,000152: 31,2136 75660 MASK PRIO37
034388,000153: 31,2137 54063 TS NEWPRIO
034389,000154: 31,2140 00006 EXTEND
034390,000155: 31,2141 50001 INDEX L
034391,000156: 31,2142 32335 DCA MTABLE +1
034392,000157: 31,2143 05526 TC SPVAC # DO FINDVAC WITH 2CADR IN A + L
034393,000158: 31,2144 12107 TCF MTIMEDWN
034394,000159:
034395,000160:
034396,000161:
034397,000162: # DO A PSEUDO VERB 34 ENTER TO KILL AN UPDATE IN PROGRESS, AND TO RELEASE THE DSKY.
034398,000163:
034399,000164: 31,2145 32373 UPDATKIL CAF 34OCT
034400,000165: 31,2146 54304 TS REQRET
034401,000166: 31,2147 05206 TC BANKCALL
034402,000167: 31,2150 12314 CADR UPDATVB -1
034403,000168:
034404,000169: 31,2151 05225 TC POSTJUMP
034405,000170: 31,2152 11333 CADR VBTERM # GOES TO ENDOFJOB WHEN DONE
034406,000171:
Page 806 |
034408,000173: # THE FOLLOWING SUBROUTINE MAY BE USED BY MISSION PROGRAMS TO SET MISSION PHASE/TIMER PAIRS TO INITIATE
034409,000174: # THE VARIOUS MISSION PHASES (SEE CHAPTER 4 OF THE GSOP).
034410,000175:
034411,000176: # CALLING SEQUENCE IS AS FOLLOWS:
034412,000177:
034413,000178: # TC MPENTRY UNDER CONTROL OF EXEC OR RUPT.
034414,000179: # DEC INDEX INDEX OF TIMER (1 TO 4).
034415,000180: # DEC PHASE MISSION PHASE NUMBER.
034416,000181: # ADRES DT DT = TIME (SECONDS) TO INITIATION.
034417,000182: # (EBANK MUST ALREADY BE SET.)
034418,000183:
034419,000184: 5126 BLOCK 02
034420,000185: 5126 00004 MPENTRY INHINT
034421,000186: 5127 50002 INDEX Q # MAKE INTERNAL INDEX.
034422,000187: 5130 40000 CS 0
034423,000188: 5131 67761 AD FOUR
034424,000189: 5132 54070 TS RUPTREG1
034425,000190:
034426,000191: 5133 50000 INDEX A # IF THIS MISSION PHASE REGISTER IS NOT
034427,000192: 5134 11170 CCS MPHASE4 # -0, IT HAS BEEN CHANGED BY THE GROUND,
034428,000193: 5135 15144 TCF MENTRYT # SO LEAVE IT ALONE.
034429,000194: 5136 15144 TCF MENTRYT
034430,000195: 5137 15144 TCF MENTRYT
034431,000196:
034432,000197: 5140 50002 INDEX Q
034433,000198: 5141 30001 CAF 1
034434,000199: 5142 50070 INDEX RUPTREG1
034435,000200: 5143 55170 TS MPHASE4
034436,000201:
034437,000202: 5144 50070 MENTRYT INDEX RUPTREG1 # IF THE TIMER IS -0, SET IT TO THE INPUT
034438,000203: 5145 11164 CCS MTIMER4 # VALUE, OTHERWISE, ASSUME IT HAS BEEN
034439,000204: 5146 67763 AD ONE # SET BY THE GROUND AND JUST FORCE IT POS.
034440,000205: 5147 15155 TCF MENTABS
034441,000206: 5150 15146 TCF -2
034442,000207:
034443,000208: 5151 50002 INDEX Q
034444,000209: 5152 30002 CAF 2
034445,000210: 5153 50000 INDEX A
034446,000211: 5154 30000 CA 0
034447,000212: 5155 50070 MENTABS INDEX RUPTREG1
034448,000213: 5156 55164 TS MTIMER4
034449,000214:
034450,000215: 5157 36311 CAF THREE # MAKE UP RETURN SO COMMON ROUTINE CAN BE
034451,000216: 5160 60002 AD Q # USED TO INITATE TIMER COUNTING.
034452,000217: 5161 55207 -1 TS MRETURN
034453,000218:
Page 807 |
034455,000220: # SUBROUTINE TO START MISSION TIMERS IF THEY ARE NOT GOING ALREADY.
034456,000221:
034457,000222: 5162 30076 MSTART CA FLAGWRD2 # SEE IF TIMERS ENABLED ALREADY.
034458,000223: 5163 77757 MASK BIT5
034459,000224: 5164 10000 CCS A
034460,000225: 5165 15202 TCF MDONE # YES - RETURN.
034461,000226:
034462,000227: 5166 15171 TCF +3 # THERE USED TO BE A PHASE CHANGE HERE.
034463,000228: 5167 04736 TC CCSHOLE
034464,000229: 5170 04736 TC CCSHOLE
034465,000230:
034466,000231: 5171 06060 TC FLAG2UP # SHOW TIMERS ENABLED.
034467,000232: 5172 00020 OCT 20
034468,000233:
034469,000234: 5173 00004 INHINT
034470,000235:
034471,000236: 5174 35204 CAF STATECRI # INITIALIZE STATE VECTOR EXTRAPOLATION
034472,000237: 5175 55201 TS STATECTR # TIMER.
034473,000238:
034474,000239: 5176 37763 CAF ONE
034475,000240: 5177 05663 TC WAITLIST
034476,000241: 5200 1164 EBANK= MTIMER4
034477,000242: 5200 02000 62062 2CADR MMAINT # START COUNTER MAINTENANCE.
034478,000243:
034479,000244: 5202 00003 MDONE RELINT
034480,000245: 5203 01207 TC MRETURN
034481,000246:
034482,000247: 5204 01033 STATECRI DEC 539 B-14 # CALLS FOR INTEGRATION EVERY 539 SEC.
034483,000248: 5205 00145 1SEC+1 DEC 101 B-14
034484,000249:
Page 808 |
034486,000251: # SUBROUTINE CALLS FOR VARIOUS UPDATE OPTIONS (SEE GSOP). ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034487,000252:
034488,000253: 31,2153 BANK 31
034489,000254: 31,2153 02265 DOV70 TC MTIMERUP # VERB 70
034490,000255: 31,2154 12351 TCF ENDUP
034491,000256:
034492,000257: 31,2155 02221 DOV71 TC MPHASEUP # VERB 71
034493,000258: 31,2156 12161 TCF DOV72 +2
034494,000259:
034495,000260: 31,2157 02221 DOV72 TC MPHASEUP # VERB 72
034496,000261: 31,2160 02265 TC MTIMERUP
034497,000262: 31,2161 31202 +2 CA UPPHASE # FOR V72, WE DON'T ALTER THE MPHASE
034498,000263: 31,2162 50070 INDEX RUPTREG1 # REGISTER UNTIL SURE THAT TIMER CHANGE
034499,000264: 31,2163 55170 TS MPHASE4 # IS LEGAL.
034500,000265: 31,2164 12351 TCFENDUP TCF ENDUP
034501,000266:
Page 809 |
034503,000268: # INVERT INHIBIT/ENABLE SWITCH WHOSE INDEX IS IN UPINDEX (1 TO 3). ENTER UNDER EXEC WITH INTERRUPT INHIBITED.
034504,000269:
034505,000270: 31,2165 47762 DOV73 CS TWO
034506,000271: 31,2166 61204 AD UPINDEX
034507,000272: 31,2167 04323 TC MAGSUB # SEE IF INDEX LEGIT.
034508,000273: 31,2170 77776 DEC -1 B-14
034509,000274: 31,2171 12356 TCF UPERROR
034510,000275:
034511,000276: 31,2172 51204 INDEX UPINDEX
034512,000277: 31,2173 37760 CAF BIT3 -1 # BITS IN POSITIONS 3, 2, AND 1 OF
034513,000278: 31,2174 54001 TS L # FLAGWRD2 (SEE SWITCH ASSIGNMENTS).
034514,000279: 31,2175 30076 CA FLAGWRD2
034515,000280: 31,2176 00006 EXTEND
034516,000281: 31,2177 06001 RXOR L
034517,000282: 31,2200 54076 TS FLAGWRD2
034518,000283: 31,2201 12351 TCF ENDUP
034519,000284:
034520,000285: # THE FOLLOWING CODING ISSUES THE SINGLE LMP COMMAND FOUND IN UPINDEX PROVIDED THE TIMERS ARE ENABLED
034521,000286: # (NON TIME CRITICAL PHASE OF MISSION).
034522,000287:
034523,000288: 31,2202 40076 DOV67 CS FLAGWRD2
034524,000289: 31,2203 77757 MASK BIT5
034525,000290: 31,2204 10000 CCS A
034526,000291: 31,2205 12356 TCF UPERROR
034527,000292:
034528,000293: 31,2206 47754 CS BIT8 # COMMAND MUST BE BETWEEN 1 AND 255.
034529,000294: 31,2207 61204 AD UPINDEX
034530,000295: 31,2210 04323 TC MAGSUB
034531,000296: 31,2211 77600 DEC -127 B-14
034532,000297: 31,2212 12356 TCF UPERROR
034533,000298:
034534,000299: 31,2213 32220 CAF TC1LMP
034535,000300: 31,2214 55203 TS UPINDEX -1
034536,000301: 31,2215 32164 CAF TCFENDUP
034537,000302: 31,2216 55205 TS UPINDEX +1
034538,000303: 31,2217 01203 TC UPINDEX -1
034539,000304:
034540,000305: 31,2220 05060 TC1LMP TC 1LMP # FOR ERASABLE CALL.
034541,000306:
Page 810 |
034543,000308: # THE FOLLOWING CODING UPDATES A MISSION PHASE NUMBER WHOSE INDEX IS IN UPINDEX TO THE VALUE FOUND
034544,000309: # IN UPPHASE. RETURN IS TO CALLER IF DATA OK, OR TO UPERROR IF DATA OUT OF RANGE.
034545,000310:
034546,000311: 31,2221 30002 MPHASEUP CA Q
034547,000312: 31,2222 02250 TC CHKUPDEX # CHECK INDEX VALUE AND MAKE INTERNAL NDX.
034548,000313:
034549,000314: 31,2223 11202 CCS UPPHASE # CHECK ON SIZE OF PHASE.
034550,000315: 31,2224 12230 TCF +4
034551,000316: 31,2225 12356 TCF UPERROR
034552,000317: 31,2226 12356 TCF UPERROR
034553,000318: 31,2227 12356 TCF UPERROR
034554,000319:
034555,000320: 31,2230 04323 +4 TC MAGSUB
034556,000321: 31,2231 77756 OCT -21 # ALLOW PHASES 1 - 18D ONLY.
034557,000322: 31,2232 12356 TCF UPERROR # FOR BAD RETURN FROM MAGSUB
034558,000323: 31,2233 41202 CS UPPHASE # CHECK LEGALITY OF UPPHASE
034559,000324: 31,2234 66306 AD SIX
034560,000325: 31,2235 10000 CCS A
034561,000326: 31,2236 12356 TCF UPERROR
034562,000327: 31,2237 72400 MPLEGAL OCT 72400 # BITS 15 - 1 = 1 FOR MP 7 - 21 LEGAL
034563,000328: 31,2240 12242 TCF +2
034564,000329: 31,2241 12356 TCF UPERROR
034565,000330:
034566,000331: 31,2242 50000 INDEX A
034567,000332: 31,2243 37745 CA BIT15
034568,000333: 31,2244 72237 MASK MPLEGAL
034569,000334: 31,2245 00006 EXTEND
034570,000335: 31,2246 12356 BZF UPERROR
034571,000336:
034572,000337: 31,2247 01207 TC MRETURN
034573,000338:
034574,000339: # MINOR SUBROUTINE TO CHECK MISSION TIMER/PHASE UPDATE INDEX AND LEAVE CORRESPONDING VALUE IN RUPTREG1.
034575,000340:
034576,000341: # TO BE ENTERED WITH INTERRUPT INHIBITED:
034577,000342:
034578,000343: 31,2250 55207 CHKUPDEX TS MRETURN # CALLER'S RETURN ARRIVES IN A.
034579,000344: 31,2251 11204 +1 CCS UPINDEX
034580,000345: 31,2252 12256 TCF +4
034581,000346: 31,2253 12356 TCF UPERROR
034582,000347: 31,2254 12356 TCF UPERROR
034583,000348: 31,2255 12356 TCF UPERROR
034584,000349:
034585,000350: 31,2256 75340 +4 MASK NEG3
034586,000351: 31,2257 10000 CCS A
034587,000352: 31,2260 12356 TCF UPERROR
034588,000353:
034589,000354: 31,2261 41204 CS UPINDEX # MAKE INTERNAL VALUE.
034590,000355: 31,2262 67761 AD FOUR
034591,000356: 31,2263 54070 TS RUPTREG1
034592,000357: 31,2264 00002 TC Q
034593,000358:
Page 811 |
034595,000360: # THE FOLLOWING CODING UPDATES THE MISSION TIMER WHOSE INDEX IS IN UPINDEX BY ADDING THE CONTENTS OF UPDT
034596,000361: # TO IT. OUTCOMES DEPEND ON WHETHER THE TIMER WAS COUNTING AT THE TIME, AND THE SIGN OF THE RESULT (SEE GSOP).
034597,000362:
034598,000363: 31,2265 30002 MTIMERUP CA Q # GO TO COMMON SUBROUTINE TO SAVE RETURN
034599,000364: 31,2266 02250 TC CHKUPDEX # AND CHECK INDEX.
034600,000365: 31,2267 50070 INDEX RUPTREG1 # SEE IF TIMER IS COUNTING NOW.
034601,000366: 31,2270 11164 CCS MTIMER4
034602,000367: 31,2271 12276 TCF TUPBUSY # POS INDICATES IT IS.
034603,000368: 31,2272 12276 TCF TUPBUSY
034604,000369: 31,2273 12274 NOOP
034605,000370:
034606,000371: 31,2274 31203 CA UPDT # IF NOT BUSY, LOAD WITH DT DIRECTLY, WITH
034607,000372: 31,2275 12303 TCF CTRABS # NO CHANGE TO THE MAINTENANCE FLAG STATE.
034608,000373:
034609,000374: 31,2276 11203 TUPBUSY CCS UPDT # IF TIMER COUNTING, SEE IF DT ZERO.
034610,000375: 31,2277 12306 TCF CTRAD # NZ - DO ADD.
034611,000376: 31,2300 12303 TCF CTRABS # +0 - PHASE DUE NEXT MAINTENANCE CYCLE.
034612,000377: 31,2301 12306 TCF CTRAD
034613,000378:
034614,000379: 31,2302 47767 CS ZERO # IF -0, DISABLE TIMER.
034615,000380: 31,2303 50070 CTRABS INDEX RUPTREG1
034616,000381: 31,2304 55164 TS MTIMER4
034617,000382: 31,2305 01207 TC MRETURN
034618,000383:
034619,000384: 31,2306 02314 CTRAD TC CTRADSUB
034620,000385: 31,2307 10000 CCS A # IF RESULT NEGATIVE OR ZERO, PHASE DUE
034621,000386: 31,2310 01207 TC MRETURN # NEXT MAINTENANCE CYCLE.
034622,000387: 31,2311 01207 TC MRETURN
034623,000388: 31,2312 37767 CAF ZERO
034624,000389: 31,2313 12303 TCF CTRABS # (THIS ALONE REVERTS -0 TO +0.)
034625,000390:
034626,000391:
034627,000392:
034628,000393: 31,2314 31203 CTRADSUB CA UPDT
034629,000394: 31,2315 50070 INDEX RUPTREG1
034630,000395: 31,2316 61164 AD MTIMER4
034631,000396: 31,2317 54000 OVSK
034632,000397: 31,2320 12322 TCF +2 # NO OVERFLOW (NORMAL CASE).
034633,000398: 31,2321 02356 TC UPERROR # IF OVFLO, GO TO UPERROR WITH TIMER
034634,000399: 31,2322 50070 INDEX RUPTREG1 # UNCHANGED.
034635,000400: 31,2323 55164 TS MTIMER4
034636,000401: 31,2324 00002 TC Q
034637,000402:
Page 812 |
034639,000404: # THE FOLLOWING CODING IS THE SAME AS MTIMERUP BUT ACCEPTS DP GET IN UPGET (SEE GSOP).
034640,000405:
034641,000406: 31,2325 06112 MGETUP TC INTPRET # MAKE SURE THIS ENTERED WITH VAC AREA.
034642,000407:
034643,000408: 31,2326 44234 RTB BDSU # TIME IN CS.
034644,000409: 31,2327 33454 LOADTIME
034645,000410: 31,2330 01206 UPGET
034646,000411: 31,2331 54205 DMP SL # CONVERT TO SEC & MOVE TO MAJOR PART.
034647,000412: 31,2332 22372 1/100
034648,000413: 31,2333 20217 14D
034649,000414: 31,2334 50004 BOVB BMN
034650,000415: 31,2335 62356 UPERROR
034651,000416: 31,2336 62355 UPERROR -1 # (DOES AN EXIT.)
034652,000417:
034653,000418: 31,2337 77776 EXIT
034654,000419:
034655,000420: 31,2340 00004 INHINT
034656,000421: 31,2341 37757 CA BIT5 # INSURE THAT MAINTENANCE IS STILL ENABLED
034657,000422: 31,2342 70076 MASK FLAGWRD2
034658,000423: 31,2343 00006 EXTEND
034659,000424: 31,2344 12356 BZF UPERROR
034660,000425:
034661,000426: 31,2345 02251 TC CHKUPDEX +1
034662,000427: 31,2346 30144 CA MPAC # CONTAINS DT IN SECONDS.
034663,000428: 31,2347 50070 INDEX RUPTREG1
034664,000429: 31,2350 55164 TS MTIMER4 # INSERT DT DIRECTLY INTO TIMER.
034665,000430:
034666,000431: # GENERAL EXIT LOCATION FOR SUCCESSFULLY COMPLETED UPDATE:
034667,000432:
034668,000433: 31,2351 37767 ENDUP CAF ZERO # TURN OFF GROUP 6.
034669,000434: 31,2352 04246 TC NEWPHASE
034670,000435: 31,2353 00006 OCT 6
034671,000436:
034672,000437: 31,2354 15567 TCF ENDOFJOB
034673,000438:
034674,000439: # EXIT FOR GENERAL UPDATE ERRORS (RANGE OF DATA, ETC.)
034675,000440:
034676,000441: 31,2355 77776 -1 EXIT
034677,000442:
034678,000443: 31,2356 04571 UPERROR TC FALTON
034679,000444: 31,2357 12351 TCF ENDUP # RELINT, & ENDOFJOB.
034680,000445:
Page 813 |
034682,000447: # THE FOLLOWING TABLE SPECIFIES STARTING LOCATIONS AND PRIORITIES OF ALL 206 MISSION PHASES INITIATED BY
034683,000448: # THE MISSION TIMERS (S4B-LEM SEP AND BEYOND). IT ALSO CONTAINS INHIBIT/ENABLE INFORMATION, ETC. EACH ENTRY
034684,000449: # CONSISTS OF THREE WORDS. THE FIRST IS PACKED WITH SEVERAL PIECES OF INFORMATION, AND THE SECOND TWO CONTAIN THE
034685,000450: # 2CADR OF THE LOCATION AT WHICH THE PHASE IS TO BEGIN. THE INTERPRETATION OF WORD 1 IS AS FOLLOWS:
034686,000451:
034687,000452: # BIT15: SPARE
034688,000453: # BITS 14-10: JOB PRIORITY.
034689,000454: # BITS 9-5: SPARE
034690,000455: # BIT4: 1 IF TIMERS TO BE DISABLED ON PHASE INITIATION.
034691,000456: # BIT3: 1 IF RCS TESTS (INHIBIT/ENABLE INFO).
034692,000457: # BIT2: 1 IF DPS COLD SOAK
034693,000458: # BIT1: 1 IF RCS COLD SOAK
034694,000459:
034695,000460: # NOTE SPARES COULD BE USED FOR SWITCHING DOWNLISTS, ETC.
034696,000461:
034697,000462: # PHASES 1 - 6 ARE NOT INCLUDED SINCE THEY ARE NOT INITIATED BY THE MISSION SCHEDULING ROUTINES.
034698,000463: 31,2360 20010 MTABLE1 OCT 20010 # MP7
034699,000464: 31,2361 E4,1566 EBANK= TDEC
034700,000465: 31,2361 02474 52064 2CADR MP07JOB
034701,000466:
034702,000467: 31,2363 20012 OCT 20012 # MP8
034703,000468: 31,2364 E3,1652 EBANK= RATEINDX
034704,000469: 31,2364 02564 56063 2CADR MP8JOB
034705,000470:
034706,000471: 31,2366 20010 OCT 20010 # MP9
034707,000472: 31,2367 E4,1566 EBANK= TDEC
034708,000473: 31,2367 02724 66064 2CADR MP9JOB
034709,000474:
034710,000475: 31,2371 00243 32703 1/100 2DEC 0.01 # MP 10. UNUSED SLOT.
034711,000476:
034712,000477: 31,2373 00034 34OCT OCT 00034
034713,000478:
034714,000479: 31,2374 20010 OCT 20010 # MP11
034715,000480: 31,2375 E4,1566 EBANK= TDEC
034716,000481: 31,2375 02000 74064 2CADR MP11JOB
034717,000482:
034718,000483: 31,2377 04736 TC CCSHOLE # MP 12. UNUSED SLOT.
034719,000484: 31,2400 04736 TC CCSHOLE
034720,000485: 31,2401 04736 TC CCSHOLE
034721,000486:
034722,000487: 31,2402 20010 OCT 20010 # MP13
034723,000488: 31,2403 E4,1566 EBANK= TDEC
034724,000489: 31,2403 03114 56064 2CADR MP13JOB
034725,000490:
034726,000491: 31,2405 04736 TC CCSHOLE # MP 14. UNUSED SLOT.
034727,000492: 31,2406 04736 TC CCSHOLE
034728,000493: 31,2407 04736 TC CCSHOLE
034729,000494:
034730,000495: 31,2410 31,2333 MTABLE EQUALS MTABLE1 -21D # MP 1-6 NOT ACTUALLY INCLUDED IN TABLE.
034731,000496:
Page 814 |
034733,000498: 31,2410 04755 BADPHASE TC ALARM # ALARM WHEN MPHASE COMES DUE BUT MPHASE
034734,000499: 31,2411 00601 OCT 00601 # REGISTER IS ZERO (-0 MEANS INACTIVE).
034735,000500:
034736,000501: 31,2412 35660 CAF PRIO37
034737,000502: 31,2413 05505 TC NOVAC
034738,000503: 31,2414 E3,1400 EBANK= LST1
034739,000504: 31,2414 02007 16063 2CADR FORGETIT
034740,000505:
034741,000506: 31,2416 05727 TC TASKOVER
End of include-file AS206_MISSION_SCHEDULING_PACKAGE.agc. Parent file is MAIN.agc