Source Code
These source-code files are part of a reconstructed copy of Skylark 048, the
Block II Command Module (CM) Apollo Guidance Computer (AGC) software for the
Skylab-2, Skylab-3, Skylab-4, and Apollo-Soyuz Test Project missions.
They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on Skylab-2, part numbers 2010802-541, 2010802-551, 2010802-561, 2010802-571, 2010802-581, and 2010802-591. Access to these modules was provided by the New Mexico Museum of Space History, who we are much indebted to. The source code for the Apollo 15, 16, and 17 software, Artemis 072, was used as a starting point. Heavy use was made of TRW 4900.5-244, Programmed Guidance Equations for Skylark Command Module Earth Orbital Program, dated 14 February 1972. This document contains pseudocode of essentially all of Skylark, using original program labels which have been copied for this source reconstruction. Since only binary dumps (rather than listings) of Skylark are available as source material, all comments and labels are approximate. They have been taken from the Programmed Guidance Equations or other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing. |
020744,000002: ## Copyright: Public domain.
020745,000003: ## Filename: P11.agc
020746,000004: ## Purpose: A section of Skylark revision 048.
020747,000005: ## It is part of the source code for the Apollo Guidance Computer (AGC)
020748,000006: ## for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
020749,000007: ## this software are available; instead, this file was created via
020750,000008: ## disassembly of dumps of the core rope modules actually flown on
020751,000009: ## Skylab-2. Access to these modules was provided by the New Mexico
020752,000010: ## Museum of Space History.
020753,000011: ## Assembler: yaYUL
020754,000012: ## Contact: Ron Burkey <info@sandroid.org>.
020755,000013: ## Website: www.ibiblio.org/apollo/index.html
020756,000014: ## Mod history: 2023-09-04 MAS Created from Artemis 072.
020757,000015: ## 2024-03-05 MAS Updated for Skylark 48.
020758,000016:
020759,000017:
020760,000018: # EARTH ORBIT INSERTION MONITOR PROGRAM
020761,000019: # *************************************
020762,000020:
020763,000021: # PROGRAM DESCRIPTION -P11-
020764,000022:
020765,000023: # MOD NO. 1
020766,000024: # MOD BY ELIASSEN
020767,000025:
020768,000026: # FUNCTIONAL DESCRIPTION
020769,000027:
020770,000028: # P11 IS INITIATED BY
020771,000029:
020772,000030: # A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
020773,000031: # B) BACKUP THRU VERB 75 ENTER
020774,000032:
020775,000033: # PROGRAM WILL
020776,000034: # 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
020777,000035: # 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
020778,000036: # 3. INITIATE SERVICER AT PREREAD1
020779,000037: # 4. CHANGE MAJOR MODE TO 11
020780,000038: # 5. CLEAR DSKY IN CASE OF V 75
020781,000039: # 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
020782,000040: # 7. TERMINATE GYROCOMPASSING - -
020783,000041: # 8. COMPUTE INITIAL VECTORS RN, VN - - -
020784,000042: # 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
020785,000043: # - - X Y Z
020786,000044: # U =UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
020787,000045: # Z
020788,000046: # - - -
020789,000047: # U =UNIT (A), A=HOR VECTOR AT LAUNCH AZIMUTH
020790,000048: # X
020791,000049: # - - -
020792,000050: # U =U * U
020793,000051: # U Z X
020794,000052: #
020795,000053: # 10. SET REFSMMAT KNOWN FLAG
020796,000054: # 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
020797,000055: # COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS
020798,000056:
020799,000057: # R1 V1 - INTERTIAL VELOCITY MAGNITUDE IN FPS
020800,000058: # R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
020801,000059: # R3 H - VEHICLE ALTITUDE ABOVE PAD IN NM
020802,000060: #
020803,000061: # 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
020804,000062:
020805,000063: # A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
020806,000064: # DESIRED ATTITUDE IS AS STORED AT L.O.
020807,000065: # B) FROM RPSTART TO POLYSTOP (APPROX.+10 TO +133SECS AFTER LO)
020808,000066: # DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
020809,000067: # POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
020810,000068: # THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
020811,000069: # EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1
020812,000070:
020813,000071: # SUBROUTINES CALLED
020814,000072:
020815,000073: # 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
020816,000074: # DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
020817,000075: # INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
020818,000076: # POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
020819,000077: # SERVEXIT TASKOVER TCDANZIG V1ST02S WAITLIST
020820,000078:
020821,000079: # ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
020822,000080:
020823,000081: # DSKY -
020824,000082: # MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
020825,000083: # R2 MINUTES
020826,000084:
020827,000085: # DSKY -
020828,000086: # MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
020829,000087: # R2 PERIGEE ALTITUDE IN NAUTICAL MILES
020830,000088: # R3 TFF IN MINUTES/SECS
020831,000089:
020832,000090: # IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
020833,000091: # HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY
020834,000092: # NORMAL EXIT MODE
020835,000093:
020836,000094: # ASTRONAUT VERB 37 ENTER 00 ENTER
020837,000095:
020838,000096: # ALARM MODES - NONE
020839,000097:
020840,000098: # ABORT EXIT MODES -
020841,000099:
020842,000100: # OUTPUT
020843,000101:
020844,000102: # TLIFTOFF (DP) TEPHEM (TP)
020845,000103: # REFSMMAT
020846,000104: # DSKY DISPLAY
020847,000105: # FDAI DISPLAY
020848,000106:
020849,000107: # ERASABLE INITIALIZATION
020850,000108:
020851,000109: # AZO, AXO, -AYO
020852,000110: # LATITUDE
020853,000111: # PADLONG
020854,000112: # TEPHEM
020855,000113: # PGNCSALT
020856,000114: # POLYNUM THRU POLYNUM +14D)
020857,000115: # RPSTART
020858,000116: # POLYSTOP
020859,000117: # FLAGS SET OR RESET
020860,000118: # SET REFSMFLG
020861,000119: # SET DVMON IDLE FLAG
020862,000120: # CLEAR ERADFLAG
020863,000121:
020864,000122: # DEBRIS
020865,000123:
020866,000124: # LIFTTEMP
020867,000125: # POLYNUM THRU POLYNUM +7
020868,000126: # SPOLYARG
020869,000127: # BODY1, BODY2, BODY3
020870,000128: # VMAG2, ALTI, HDOT
020871,000129: # CENTRALS, CORE SET AND VAC AREAS
020872,000130: 36,2243 5022 BITS5-6 = SUPER011
020873,000131: 34,2000 SETLOC P11ONE
020874,000132: 34,2000 BANK
020875,000133:
020876,000134: 34,2000 COUNT* $$/P11
020877,000135: 34,2000 E3,1700 EBANK= TEPHEM
020878,000136: 34,2000 35037 P11 CA EBANK3
020879,000137: 34,2001 54003 TS EBANK
020880,000138:
020881,000139: 34,2002 00006 EXTEND
020882,000140: 34,2003 32271 DCA REP11S # DIRECT RESTARTS TO REP11
020883,000141: 34,2004 53152 DXCH -PHASE3
020884,000142: 34,2005 01,2071 3P11SPT1 = 3.11SPOT
020885,000143: 34,2005 45003 CS ZERO
020886,000144: 34,2006 22007 ZL
020887,000145: 34,2007 55115 TS LIFTTEMP
020888,000146: 34,2010 53156 DXCH -PHASE5 # INACTIVE GROUP 5, PRELAUNCH PROTECTION
020889,000147: 34,2011 00006 P11+7 EXTEND
020890,000148: 34,2012 32273 DCA REP11SA
020891,000149: 34,2013 53015 DXCH TLIFTOFF
020892,000150:
020893,000151: 34,2014 00006 EXTEND
020894,000152: 34,2015 30025 ZROCLOCK DCA TIME2
020895,000153: 34,2016 53116 DXCH LIFTTEMP # FOR RESTARTS
020896,000154:
020897,000155: 34,2017 35003 -5 CAF ZERO
020898,000156: 34,2020 22007 ZL
020899,000157: 34,2021 52025 DXCH TIME2
020900,000158: 34,2022 53015 REP11A-2 DXCH TLIFTOFF
020901,000159: 34,2023 53152 REP11A-1 DXCH -PHASE3 # RESET PHASE
020902,000160:
020903,000161: 34,2024 01,2074 3P13SPT1 = 3.13SPOT
020904,000162: 34,2024 00004 REP11A INHINT
020905,000163: 34,2025 00006 EXTEND
020906,000164: 34,2026 31702 DCA TEPHEM +1
020907,000165: 34,2027 53121 DXCH TEPHEM1 +1
020908,000166: 34,2030 31700 CA TEPHEM
020909,000167: 34,2031 57117 XCH TEPHEM1
020910,000168:
020911,000169: 34,2032 00006 EXTEND
020912,000170: 34,2033 31015 DCA TLIFTOFF
020913,000171: 34,2034 21121 DAS TEPHEM1 +1
020914,000172: 34,2035 27117 ADS TEPHEM1 # CORRECTOFOR OVERFLOW
020915,000173:
020916,000174: 34,2036 05415 TC PHASCHNG
020917,000175: 34,2037 05023 OCT 05023
020918,000176: 34,2040 22000 OCT 22000
020919,000177:
020920,000178: 34,2041 00004 INHINT
020921,000179: 34,2042 00006 EXTEND
020922,000180: 34,2043 31120 DCA TEPHEM1
020923,000181: 34,2044 53701 DXCH TEPHEM
020924,000182: 34,2045 31121 CA TEPHEM1 +2
020925,000183: 34,2046 57702 XCH TEPHEM +2
020926,000184:
020927,000185: 34,2047 35060 CAF EBANK7
020928,000186: 34,2050 54003 TS EBANK
020929,000187: 34,2051 E7,1425 EBANK= DVTOTAL
020930,000188: 34,2051 04725 TC IBNKCALL
020931,000189: 34,2052 76470 CADR PREREAD1 # ZERO PIPS AND INITIALIZE AVERAGEG
020932,000190:
020933,000191: 34,2053 05415 TC PHASCHNG
020934,000192: 34,2054 05023 OCT 05023 # CONTINUE HERE ON RESTART
020935,000193: 34,2055 22000 OCT 22000
020936,000194:
020937,000195: 34,2056 35023 CAF .5SEC # START ATT ERROR DISPLAY
020938,000196: 34,2057 05246 TC WAITLIST # IN .5 SEC
020939,000197: 34,2060 E6,1735 EBANK= SPOLYARG
020940,000198: 34,2060 02312 70066 2CADR ATERTASK
020941,000199:
020942,000200: 34,2062 05357 TC NEWMODEX # DISPLAY MM 11
020943,000201: 34,2063 00013 MM 11 B-14
020944,000202:
020945,000203: 34,2064 07710 TC UPFLAG
020946,000204: 34,2065 00022 ADRES NODOP01
020947,000205:
020948,000206: 34,2066 36214 CA POWDNCOD # SWITCH TO POWERED FLIGHT DOWNLIST
020949,000207: 34,2067 54332 TS DNLSTCOD
020950,000208:
020951,000209: 34,2070 04647 TC BANKCALL
020952,000210: 34,2071 20575 CADR CLEANDSP # CLEAR DSKY IN CASE OF V75
020953,000211:
020954,000212: 34,2072 05375 TC 2PHSCHNG
020955,000213: 34,2073 40514 OCT 40514 # PROTECT ATERTASK
020956,000214: 34,2074 00073 OCT 00073
020957,000215: 34,2075 01,2066 3P7SPT1 = 3.7SPOT
020958,000216: 34,2075 01,2223 4P51SPT1 = 4.51SPOT
020959,000217: 34,2075 35055 CAF EBANK5
020960,000218: 34,2076 54003 TS EBANK
020961,000219:
020962,000220: 34,2077 E5,1426 EBANK= QPLACES
020963,000221: 34,2077 32274 CA P11XIT # SET EXIT FROM PROUT IN EARTHR
020964,000222: 34,2100 55426 TS QPLACES
020965,000223: 34,2101 06006 TC INTPRET
020966,000224: 34,2102 64375 VLOAD MXV
020967,000225: 34,2103 02467 THETAN
020968,000226: 34,2104 02661 XSM
020969,000227: 34,2105 53372 VSL1 VAD
020970,000228: 34,2106 02650 ERCOMP
020971,000229: 34,2107 16650 STODL ERCOMP
020972,000230: 34,2110 01015 TLIFTOFF
020973,000231: 34,2111 52131 SSP GOTO
020974,000232: 34,2112 00052 S2
020975,000233: 34,2113 66221 CADR PROUT # RETURN FROM EARTHR
020976,000234: 34,2114 66170 EARTHR +3
020977,000235: 34,2115 22007 MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
020978,000236: 34,2116 30032 CA CDUX # ERROR DISPLAY AFTER LIFTOFF
020979,000237: 34,2117 53760 DXCH OGC
020980,000238: 34,2120 22007 ZL
020981,000239: 34,2121 30033 CA CDUY
020982,000240: 34,2122 53762 DXCH IGC
020983,000241: 34,2123 22007 ZL
020984,000242: 34,2124 30034 CA CDUZ
020985,000243: 34,2125 53764 DXCH MGC
020986,000244: 34,2126 06006 TC INTPRET # -
020987,000245: 34,2127 74575 VLOAD VSR1 # SCALE OGC B-1
020988,000246: 34,2130 02760 OGC
020989,000247: 34,2131 02760 STORE OGC
020990,000248: 34,2132 65345 DLOAD PDDL
020991,000249: 34,2133 01123 PGNCSALT # ALTITUDE OF PGNCS
020992,000250: 34,2134 01125 PADLONG # LONGITUDE
020993,000251: 34,2135 55525 PDDL VDEF
020994,000252: 34,2136 02403 LATITUDE # GEODETIC LATITUDE
020995,000253: 34,2137 14742 STODL LAT # LAT,LONG,ALT ARE CONSECUTIVE
020996,000254: 34,2140 15204 HI6ZEROS # TIME = 0
020997,000255: 34,2141 45014 CLEAR CALL
020998,000256: 34,2142 00662 ERADFLAG
020999,000257: 34,2143 22523 LALOTORV # CONVERT TO POSITION VECTOR IN REF.COORDS
021000,000258:
021001,000259: 34,2144 35063 STCALL RN1 # -
021002,000260: 34,2145 70326 GETDOWN # RETURN WITH VECTOR FOR DOWN DIRECTION
021003,000261: 34,2146 53476 VCOMP UNIT
021004,000262: 34,2147 25734 STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
021005,000263: 34,2150 01063 RN1
021006,000264: 34,2151 74235 VXV VXSC
021007,000265: 34,2152 02031 UNITW # SCALED AT 1
021008,000266: 34,2153 30276 -ERTHRAT # V = EARTHRATE X R
021009,000267: 34,2154 77712 VSL4 # SCALE TO 2(7) M/CS
021010,000268: 34,2155 25071 STOVL VN1
021011,000269: 34,2156 01734 REFSMMAT +12D
021012,000270: 34,2157 53435 VXV UNIT
021013,000271: 34,2160 02031 UNITW # (REF3 X UNITW) = EAST
021014,000272: 34,2161 47206 PUSH VXV
021015,000273: 34,2162 01734 REFSMMAT +12D # (EAST X REF3) = -SOUTH
021016,000274: 34,2163 65256 UNIT PDDL
021017,000275: 34,2164 02634 LAUNCHAZ # COS(AZ)*SOUTH
021018,000276: 34,2165 74346 COS VXSC
021019,000277: 34,2166 77626 STADR
021020,000278: 34,2167 62057 STODL REFSMMAT # TEMPORARY STORAGE
021021,000279: 34,2170 02634 LAUNCHAZ
021022,000280: 34,2171 74356 SIN VXSC # SIN(AZ)*EAST
021023,000281: 34,2172 53455 VAD UNIT # SIN(AZ)*EAST - COS(AZ)*SOUTH = REF1
021024,000282: 34,2173 01720 REFSMMAT
021025,000283: 34,2174 01720 STORE REFSMMAT
021026,000284:
021027,000285: 34,2175 53435 VXV UNIT # (REF1 X REF3) = -REF3
021028,000286: 34,2176 01734 REFSMMAT +12D
021029,000287: 34,2177 77676 VCOMP
021030,000288: 34,2200 01726 STORE REFSMMAT +6
021031,000289: 34,2201 45345 TRNVNREF DLOAD DSU
021032,000290: 34,2202 15202 DPHALF # 1/2 REV
021033,000291: 34,2203 02634 LAUNCHAZ
021034,000292: 34,2204 65215 DAD PDDL
021035,000293: 34,2205 02401 AZIMUTH
021036,000294: 34,2206 03332 SATRLRT # SET SATRLRT = -SATRLRT IF
021037,000295: 34,2207 45565 SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
021038,000296: 34,2210 74445 STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
021039,000297: 34,2211 77414 SET EXIT
021040,000298: 34,2212 01462 REFSMFLG # SET REFSMMAT KNOWN FLAG
021041,000299:
021042,000300: 34,2213 05415 TC PHASCHNG
021043,000301: 34,2214 04023 OCT 04023
021044,000302:
021045,000303: 34,2215 00006 EXTEND
021046,000304: 34,2216 32300 DCA P11SCADR
021047,000305: 34,2217 53054 DXCH AVGEXIT # SET AVGEXIT
021048,000306:
021049,000307: 34,2220 37652 CA PRIO31 # 2 SECONDS AT 2(+8)
021050,000308: 34,2221 55267 TS 1/PIPADT
021051,000309:
021052,000310: 34,2222 E6,1530 EBANK= RCSFLAGS
021053,000311: 34,2222 04611 TC E6SETTER
021054,000312:
021055,000313: 34,2223 00004 INHINT
021056,000314: 34,2224 45003 CS ZERO
021057,000315: 34,2225 55257 TS TBASE5 # RESTART READACCS 2 SECONDS AFTER LIFTOFF
021058,000316:
021059,000317: 34,2226 40025 CS TIME1
021060,000318: 34,2227 65032 AD 2SECS # DO READACCS 2 SECONDS AFTER LIFTOFF
021061,000319:
021062,000320: 34,2230 10000 CCS A # CHECK TO INSURE DT IS POSITIVE
021063,000321: 34,2231 12234 TCF +3 # TIME POSITIVE
021064,000322: 34,2232 12234 TCF +2 # CANNOT GET HERE
021065,000323: 34,2233 35003 CA ZERO # TIME NEGATIVE - SET TO 1
021066,000324: 34,2234 65001 AD ONE # RESTORE TIME - OR MAKE POSITIVE
021067,000325:
021068,000326: 34,2235 05246 TC WAITLIST
021069,000327: 34,2236 E6,1712 EBANK= AOG
021070,000328: 34,2236 02512 76066 2CADR READACCS
021071,000329: 34,2240 05375 TC 2PHSCHNG
021072,000330: 34,2241 00003 OCT 00003 # TURN OFF GROUP 3
021073,000331: 34,2242 00025 OCT 00025 # PROTECT NORMLIZE AND READACCS
021074,000332:
021075,000333: 34,2243 01,2237 5P2SPT1 = 5.2SPOT
021076,000334: 34,2243 04666 TC POSTJUMP
021077,000335: 34,2244 77044 CADR NORMLIZE # DO NORMLIZE AND ENDOFJOB
021078,000336:
021079,000337:
021080,000338: 34,2245 E3,1700 EBANK= TEPHEM
021081,000339: 34,2245 00004 REP11 INHINT
021082,000340: 34,2246 11156 CCS PHASE5
021083,000341: 34,2247 05220 TC ENDOFJOB
021084,000342:
021085,000343: 34,2250 11115 CCS LIFTTEMP
021086,000344: 34,2251 12255 TCF +4
021087,000345: 34,2252 12255 TCF +3
021088,000346: 34,2253 12255 TCF +2
021089,000347: 34,2254 12011 TCF P11+7
021090,000348:
021091,000349: 34,2255 41014 CS TLIFTOFF
021092,000350: 34,2256 00006 EXTEND
021093,000351: 34,2257 62265 BZMF ENDREP11
021094,000352:
021095,000353: 34,2260 10024 CCS TIME2 # **TIME2 MUST BE NON-ZERO AT LIFTOFF**
021096,000354: 34,2261 12017 TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT
021097,000355:
021098,000356: 34,2262 00006 EXTEND # T2,T1 ZEROED, SET TLIFTOFF
021099,000357: 34,2263 31116 DCA LIFTTEMP
021100,000358: 34,2264 12022 TCF REP11A-2
021101,000359:
021102,000360: 34,2265 00006 ENDREP11 EXTEND
021103,000361: 34,2266 32273 DCA REP11SA
021104,000362: 34,2267 12023 TCF REP11A-1
021105,000363:
021106,000364:
021107,000365: 34,2270 77766 00011 REP11S 2OCT 7776600011
021108,000366: 34,2272 77764 00013 REP11SA 2OCT 7776400013
021109,000367:
021110,000368:
021111,000369: 34,2274 02244 P11XIT GENADR P11OUT
021112,000370: 34,2275 71704 41735 -ERTHRAT 2DEC* -7.292115138 E-7 B18* # - EARTH RATE AT 2(18)
021113,000371: 34,2277 E6,1735 EBANK= SPOLYARG
021114,000372: 34,2277 02301 70066 P11SCADR 2CADR VHHDOT
021115,000373: 34,2301 6214 POWDNCOD EQUALS THREE
021116,000374:
021117,000375:
021118,000376: 34,2301 E6,1735 EBANK= SPOLYARG
021119,000377: # VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
021120,000378: # VI INERTIAL VELOCITY MAGNITUDE
021121,000379: # HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
021122,000380: # H ALTITUDE ABOVE L PAD RADIUS
021123,000381:
021124,000382: 34,2301 06006 VHHDOT TC INTPRET
021125,000383: 34,2302 77624 CALL # LOAD VMAGI, ALTI,
021126,000384: 34,2303 70536 S11.1 # HDOT FOR DISPLAY
021127,000385: 34,2304 77776 EXIT
021128,000386: 34,2305 05415 TC PHASCHNG
021129,000387: 34,2306 00035 OCT 00035
021130,000388:
021131,000389: 34,2307 01,2253 5P3SPT1 = 5.3SPOT
021132,000390: 34,2307 32611 CAF V06N62 # DISPLAY IN R1 R2 R3
021133,000391: 34,2310 04647 TC BANKCALL # VI HDOT H
021134,000392: 34,2311 20601 CADR REGODSP
021135,000393:
021136,000394: 34,2312 34770 ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS
021137,000395: 34,2313 05150 TC FINDVAC # COMES HERE AT L.O. + .33 SEC
021138,000396: 34,2314 E6,1735 EBANK= SPOLYARG
021139,000397: 34,2314 02341 70066 2CADR ATERJOB
021140,000398: 34,2316 41530 CS RCSFLAGS # SET BIT3 FOR
021141,000399: 34,2317 74777 MASK BIT3 # NEEDLER
021142,000400: 34,2320 27530 ADS RCSFLAGS # INITIALIZATION PASS
021143,000401: 34,2321 04725 TC IBNKCALL # AND GO
021144,000402: 34,2322 31660 CADR NEEDLER # DO IT
021145,000403: 34,2323 35001 CA BIT1 # SET SW
021146,000404: 34,2324 55745 TS SATSW # FOR DISPLAY
021147,000405: 34,2325 05327 TC TASKOVER
021148,000406: 34,2326 40220 GETDOWN STQ SETPD
021149,000407: 34,2327 02143 INCORPEX
021150,000408: 34,2330 00001 0D
021151,000409: 34,2331 77745 DLOAD
021152,000410: 34,2332 15204 HI6ZEROS
021153,000411: 34,2333 14007 STODL 6D
021154,000412: 34,2334 00742 LAT
021155,000413: 34,2335 70556 SIN SR1
021156,000414: 34,2336 52125 PDDL GOTO
021157,000415: 34,2337 00742 LAT
021158,000416: 34,2340 22534 LALOTORV +9D
021159,000417: # THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST
021160,000418:
021161,000419: # COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF
021162,000420: # 2 3 4 5 6
021163,000421: # PITCH= A0+A1T+A2T +A3T +A4T +A5T +A6T
021164,000422: # SCALED TO 32 REVS. -14
021165,000423: # IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART)2
021166,000424: # WHERE TL GE RPSTART
021167,000425: # TL LE (-POLYSTOP + RPSTART)
021168,000426: # COMPUTE DESIRED ROLL WHERE ROLL EQUALS ANGLE FROM
021169,000427: # LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
021170,000428: # ROLL = LAUNCHAZ-AZIMUTH-.5 +SATRLRT*T IN REV
021171,000429: # SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
021172,000430: # T,IN CENTI-SEC,IS DEFINED AS ABOVE,INCLUSIVE OF TIME RESTRICTIONS
021173,000431:
021174,000432: # FOR SIMPLICITY, LET P = 2*PI*PITCH
021175,000433: # R = 2*PI*ROLL
021176,000434:
021177,000435: # CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
021178,000436: # TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
021179,000437: # YDC, AND ZDC.
021180,000438:
021181,000439: # * ( SIN(P) 0 -COS(P) ) (XDC)
021182,000440: # TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
021183,000441: # (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
021184,000442:
021185,000443: # XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
021186,000444: # EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
021187,000445: # ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
021188,000446: # AS THE DESIRED CDU ANGLES.
021189,000447:
021190,000448: # (XDC) (OGC)
021191,000449: # (YDC) ---) CALCGTA ---) (IGC)
021192,000450: # (ZDC) (MGC)
021193,000451: # -
021194,000452: # DEFINE THE VECTOR DELTACDU.
021195,000453:
021196,000454: # - (OGC) (CDUX)
021197,000455: # DELTACDU = (IGC) - (CDUY)
021198,000456: # (MGC) (CDUZ)
021199,000457: # - - * -
021200,000458: # COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
021201,000459:
021202,000460: # * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
021203,000461: # TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
021204,000462: # (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX
021205,000463:
021206,000464: # -
021207,000465: # THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
021208,000466: # THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
021209,000467: # ERROR DISPLAY ROUTINE.
021210,000468:
021211,000469: 34,2341 30102 ATERJOB CAE FLAGWRD6 # CHECK FLAGWRD6
021212,000470: 34,2342 74076 MASK DPCONFIG # BITS 14,15
021213,000471: 34,2343 00006 EXTEND
021214,000472: 34,2344 12346 BZF +2 # OK - CONTINUE
021215,000473: 34,2345 05220 TC ENDOFJOB # SATURN STICK ON - KILL JOB
021216,000474: 34,2346 34770 CAF BIT10 # CHECK IF S/C CONTROL
021217,000475: 34,2347 00006 EXTEND # OF SATURN PANEL
021218,000476: 34,2350 02030 RAND CHAN30 # SWITCH IS ON
021219,000477: 34,2351 00006 EXTEND
021220,000478: 34,2352 12504 BZF STRSAT # IT IS - GO STEER
021221,000479: 34,2353 11745 CCS SATSW # IT IS NOT - WAS IT ON LAST CYCLE
021222,000480: 34,2354 12357 WASIU TCF ATTDISP # NO - CONTINUE
021223,000481: 34,2355 12507 WASINIT TCF ATRESET # YES - REINITIALIZE NEEDLER (2ND PASS)
021224,000482: 34,2356 12507 WASCMC TCF ATRESET # YES - REINITIALIZE NEEDLER
021225,000483:
021226,000484: 34,2357 41733 ATTDISP CS RPSTART # PITCH/ROLL START TIME
021227,000485: 34,2360 60025 AD TIME1
021228,000486: 34,2361 00006 EXTEND
021229,000487: 34,2362 62604 BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD
021230,000488: 34,2363 54154 TS MPAC # MPAC=TIME1-RPSTART
021231,000489: 34,2364 55735 TS SPOLYARG # SAVE FOR USE IN ROLL CALUCLATION
021232,000490: 34,2365 61734 AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
021233,000491: 34,2366 00006 EXTEND
021234,000492: 34,2367 62371 BZMF +2
021235,000493: 34,2370 02604 POSTPOLY TC NOPOLY # GO TO ATTITUDE HOLD
021236,000494: 34,2371 30024 CA TIME2
021237,000495: 34,2372 00006 EXTEND
021238,000496: 34,2373 62375 BZMF +2
021239,000497: 34,2374 02604 TC NOPOLY # GO TO ATTITUDE HOLD
021240,000498: 34,2375 31712 CAE POLYNUM
021241,000499: 34,2376 54001 TS L
021242,000500: 34,2377 32610 CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
021243,000501: 34,2400 07164 TC POWRSERS # SCALED TO 32 REVOLUTIONS
021244,000502:
021245,000503: 34,2401 35003 CA ZERO # RETURN WITH PITCH(32REV)
021246,000504: 34,2402 54163 TS MODE # STORED IN MPAC, MPAC +1
021247,000505: 34,2403 06006 TC INTPRET
021248,000506: 34,2404 54201 SETPD SL # 32(PITCH(32REV))=PITCH(REV)
021249,000507: 34,2405 00001 0
021250,000508: 34,2406 20206 5
021251,000509: 34,2407 77606 PUSH # LET P(RAD)=2.PI.PITCH(REV)
021252,000510: 34,2410 77650 GOTO
021253,000511: 34,2411 67474 ATTDISP1 # AROUND SETLOC
021254,000512: # *
021255,000513: # CONSTRUCT SM TO S/C MATRIX, TSMV
021256,000514:
021257,000515: 33,2000 SETLOC P11TWO
021258,000516: 33,2000 BANK # 36 IN COL., 34 IN DISK
021259,000517:
021260,000518:
021261,000519: 33,3474 COUNT* $$/P11
021262,000520: 33,3474 57546 ATTDISP1 COS DCOMP
021263,000521: 33,3475 14017 STODL 14D # -.5*COS(P)
021264,000522: 33,3476 77756 SIN
021265,000523: 33,3477 14013 STODL 10D # .5*SIN(P)
021266,000524: 33,3500 15204 ZEROVECS
021267,000525: 33,3501 00015 STORE 12D # 0
021268,000526:
021269,000527: # EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
021270,000528: 33,3502 41335 SLOAD DMP
021271,000529: 33,3503 03336 SPOLYARG # TIME1 - RPSTART ,CSECS B-14.
021272,000530: 33,3504 03332 SATRLRT
021273,000531: 33,3505 45261 SL DSU
021274,000532: 33,3506 20217 14D
021275,000533: 33,3507 15202 DPHALF
021276,000534: 33,3510 45215 DAD DSU # ASSUMING X(SM) ALONG LAUNCH AZIMUTH,
021277,000535: 33,3511 02634 LAUNCHAZ # LAUNCHAZ = ANGLE FROM NORTH TO X(SM).
021278,000536: 33,3512 02401 AZIMUTH # AZIMUTH = -ANGLE FROM NORTH TO Z(S/C)
021279,000537: 33,3513 77634 RTB # DETERMINE IF ROLLOUT
021280,000538: 33,3514 70573 RLTST # IS COMPLETED
021281,000539: 33,3515 71406 ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
021282,000540: 33,3516 77606 PUSH # LET R(RAD) = 2*PI*ROLL(REV)
021283,000541: 33,3517 72405 DMP SL1
021284,000542: 33,3520 00017 14D
021285,000543: 33,3521 14027 STODL 22D # -.5*COS(R)*COS(P)
021286,000544: 33,3522 77676 DCOMP
021287,000545: 33,3523 00023 STORE 18D # -.5*COS(R)
021288,000546: 33,3524 72405 DMP SL1
021289,000547: 33,3525 00013 10D
021290,000548: 33,3526 14033 STODL 26D # -.5*COS(R)*SIN(P)
021291,000549: 33,3527 41556 SIN PUSH
021292,000550: 33,3530 00031 STORE 24D # .5*SIN(R)
021293,000551: 33,3531 72405 DMP SL1
021294,000552: 33,3532 00017 14D
021295,000553: 33,3533 14021 STODL 16D # -.5*SIN(R)*COS(P)
021296,000554: 33,3534 77676 DCOMP
021297,000555: 33,3535 72405 DMP SL1
021298,000556: 33,3536 00013 10D
021299,000557: 33,3537 24025 STOVL 20D # -.5*SIN(R)*SIN(P)
021300,000558: 33,3540 00013 10D
021301,000559:
021302,000560: # FROM TSMV FIND THE HALF UNIT VECTORS XDC,YDC,ZDC = INPUT TO CALCGTA
021303,000561: 33,3541 77656 UNIT
021304,000562: 33,3542 26703 STOVL XDC # XDC = .5*UNIT(SIN(P),0,-COS(P))
021305,000563: 33,3543 00021 16D
021306,000564: 33,3544 77656 UNIT
021307,000565: 33,3545 26711 STOVL YDC # YDC = .5*UNIT(-SIN(R)*COS(P),-COS(R),
021308,000566: 33,3546 00027 22D # -SIN(R)*SIN(P))
021309,000567: 33,3547 77656 UNIT
021310,000568: 33,3550 36717 STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
021311,000569: 33,3551 47177 CALCGTA # -COS(R)*SIN(P))
021312,000570:
021313,000571: # CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC,AND MGC
021314,000572: # - - -
021315,000573: # FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX
021316,000574:
021317,000575: # ENTER HERE IF ATTITUDE HOLD
021318,000576:
021319,000577: 33,3552 41575 NOPOLYM VLOAD PUSH # OGC IGC
021320,000578: 33,3553 02760 OGC # CHANGE IGC TO MGC FOR COMPATIBILITY
021321,000579: 33,3554 45006 PUSH CALL # MGC OGC
021322,000580: 33,3555 47471 CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT
021323,000581: 33,3556 47175 VLOAD RTB # - DPHI OGC-CDUX ,PD4
021324,000582: 33,3557 00003 2 # DELTACDU = DTHETA = IGC-CDUY , 0
021325,000583: 33,3560 45625 V1STO2S # DPSI MGC-CDUZ , 2
021326,000584: 33,3561 27337 STOVL BOOSTEMP
021327,000585: 33,3562 15204 ZEROVECS
021328,000586: 33,3563 24001 STOVL 0
021329,000587: 33,3564 01162 CDUSPOT
021330,000588: 33,3565 47034 RTB RTB
021331,000589: 33,3566 45625 V1STO2S
021332,000590: 33,3567 70553 DELSTOR
021333,000591: 33,3570 14013 STODL 10D
021334,000592: 33,3571 01134 SINCDUZ
021335,000593: 33,3572 72405 DMP SL1
021336,000594: 33,3573 00001 0
021337,000595: 33,3574 60415 DAD SR2 # CHANGE SCALE OF AK TO 2REVS
021338,000596: 33,3575 00005 4
021339,000597: 33,3576 77650 GOTO
021340,000598: 33,3577 70412 ATTDISP2
021341,000599:
021342,000600: 34,2000 SETLOC P11ONE
021343,000601: 34,2000 BANK
021344,000602: 34,2412 COUNT* $$/P11
021345,000603: 34,2412 14021 ATTDISP2 STODL 16D # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
021346,000604: 34,2413 01142 COSCDUZ
021347,000605: 34,2414 41405 DMP PUSH
021348,000606: 34,2415 00001 0
021349,000607: 34,2416 72405 DMP SL1
021350,000608: 34,2417 01144 COSCDUX
021351,000609: 34,2420 41325 PDDL DMP
021352,000610: 34,2421 01136 SINCDUX
021353,000611: 34,2422 00003 2
021354,000612: 34,2423 72415 DAD SL1
021355,000613: 34,2424 77626 STADR
021356,000614: 34,2425 63755 STODL 17D # 17D, .5(DTHETA*COS(CDUX)*COS(CDUZ)
021357,000615: 34,2426 72405 DMP SL1 # +DPSI*SIN(CDUX))
021358,000616: 34,2427 01136 SINCDUX
021359,000617: 34,2430 41325 PDDL DMP
021360,000618: 34,2431 01144 COSCDUX
021361,000619: 34,2432 00003 2
021362,000620: 34,2433 72425 DSU SL1
021363,000621: 34,2434 77626 STADR
021364,000622: 34,2435 77754 STORE 18D # 18D, .5(-DTHETA*SIN(CDUX)*COS(CDUZ)
021365,000623: 34,2436 77751 TLOAD # +DPSI*COS(CDUX))
021366,000624: 34,2437 00021 16D
021367,000625: 34,2440 03126 STORE AK # STORE ATTITUDE ERRORS IN AK,AK1,AK2
021368,000626: 34,2441 77776 EXIT
021369,000627:
021370,000628: 34,2442 31745 CA SATSW
021371,000629: 34,2443 10000 CCS A # CHK TAKEOVER STATUS
021372,000630: 34,2444 02465 TC SATOUT # POS - DISPLAY ONLY
021373,000631: 34,2445 02473 TC AKLOAD # 0 STORE BIAS
021374,000632: 34,2446 06006 STEERSAT TC INTPRET # NEG STEER L/V
021375,000633: 34,2447 76351 TLOAD TAD
021376,000634: 34,2450 03347 BIASAK
021377,000635: 34,2451 03126 AK
021378,000636: 34,2452 03126 STORE AK # AKS = AKS - STORED BIAS
021379,000637: 34,2453 77776 EXIT
021380,000638: 34,2454 31525 CA AK
021381,000639: 34,2455 02612 TC RESCALES
021382,000640: 34,2456 55525 TS AK
021383,000641: 34,2457 31526 CA AK1
021384,000642: 34,2460 02612 TC RESCALES
021385,000643: 34,2461 55526 TS AK1
021386,000644: 34,2462 31527 CA AK2
021387,000645: 34,2463 02612 TC RESCALES
021388,000646: 34,2464 55527 TS AK2
021389,000647: # DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER
021390,000648:
021391,000649: 34,2465 04647 SATOUT TC BANKCALL
021392,000650: 34,2466 31660 CADR NEEDLER
021393,000651: 34,2467 34125 ATERSET CAF OCT31 # DELAY .25 SEC
021394,000652: 34,2470 04647 TC BANKCALL # EXECUTION + DELAY =.56SEC APPROX
021395,000653: 34,2471 01731 CADR DELAYJOB
021396,000654: 34,2472 02341 TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE
021397,000655:
021398,000656: 34,2473 41525 AKLOAD CS AK # STORE AKS
021399,000657: 34,2474 55746 TS BIASAK # INTO BIAS
021400,000658: 34,2475 41526 CS AK1 # COMPLEMENTED
021401,000659: 34,2476 55747 TS BIASAK +1
021402,000660: 34,2477 41527 CS AK2
021403,000661: 34,2500 55750 TS BIASAK +2
021404,000662: 34,2501 45001 CS BIT1 # SET SW
021405,000663: 34,2502 55745 TS SATSW # TO STEER
021406,000664: 34,2503 02446 TC STEERSAT # GO STEER
021407,000665: 34,2504 31745 STRSAT CA SATSW # CHECK IF NEEDLER
021408,000666: 34,2505 00006 EXTEND # HAS BEEN INITIALIZED
021409,000667: 34,2506 62357 BZMF ATTDISP # YES - CONTINUE
021410,000668: 34,2507 41530 ATRESET CS RCSFLAGS # NO - SET
021411,000669: 34,2510 74777 MASK BIT3 # INITIALIZATION SW
021412,000670: 34,2511 27530 ADS RCSFLAGS # FOR NEEDLER
021413,000671: 34,2512 04647 TC BANKCALL # AND GO
021414,000672: 34,2513 31660 CADR NEEDLER # DO IT
021415,000673: 34,2514 36211 CAF REVCNT # OCT 6
021416,000674: 34,2515 04647 TC BANKCALL # DELAY JOB
021417,000675: 34,2516 01731 CADR DELAYJOB # 60 MS -WAIT TILL IMUERRCNTR ZEROED
021418,000676: 34,2517 11745 CCS SATSW # CHECK SW STATUS
021419,000677: 34,2520 02530 TC TAKEON # POS STEER INIT.
021420,000678: 34,2521 02522 TC +1 # 0 RETURN TO DISPLAY
021421,000679: 34,2522 35001 CA BIT1 # NEG RETURN TO DISPLAY
021422,000680: 34,2523 55745 TS SATSW # SW = DISPLAY ONLY
021423,000681: 34,2524 44771 CS BIT9 # DISABLE
021424,000682: 34,2525 00006 EXTEND # SIVB
021425,000683: 34,2526 03012 WAND CHAN12 # TAKEOVER
021426,000684: 34,2527 02465 TC SATOUT # DISPLAY
021427,000685: 34,2530 34771 TAKEON CAF BIT9 # ENABLE
021428,000686: 34,2531 00006 EXTEND # SIVB
021429,000687: 34,2532 05012 WOR CHAN12 # TAKEOVER
021430,000688: 34,2533 35003 CA ZERO # INDICATE NEEDLER
021431,000689: 34,2534 55745 TS SATSW # WAS INITIALIZED
021432,000690: 34,2535 02465 TC SATOUT
021433,000691: 34,2536 51575 S11.1 VLOAD ABVAL
021434,000692: 34,2537 01030 VN
021435,000693: 34,2540 27723 STOVL VMAGI # VI SCALED 2(7) IN METERS/CSEC
021436,000694: 34,2541 01022 RN
021437,000695: 34,2542 50256 UNIT DOT
021438,000696: 34,2543 01030 VN
021439,000697: 34,2544 77752 SL1
021440,000698: 34,2545 16324 STODL HDOT
021441,000699: 34,2546 05374 RPAD
021442,000700: 34,2547 77621 EARTHALT BDSU
021443,000701: 34,2550 00045 36D
021444,000702: 34,2551 02322 STORE ALTI
021445,000703: 34,2552 77616 RVQ
021446,000704: 34,2553 31736 DELSTOR CA BOOSTEMP
021447,000705: 34,2554 00006 EXTEND # STORE DELTACDU INTO PDL 0,2,4
021448,000706: 34,2555 20154 MSU MPAC
021449,000707: 34,2556 50120 INDEX FIXLOC
021450,000708: 34,2557 54000 TS 0
021451,000709: 34,2560 31737 CA BOOSTEMP +1
021452,000710: 34,2561 00006 EXTEND
021453,000711: 34,2562 20155 MSU MPAC +1
021454,000712: 34,2563 50120 INDEX FIXLOC
021455,000713: 34,2564 54002 TS 2
021456,000714: 34,2565 31740 CA BOOSTEMP +2
021457,000715: 34,2566 00006 EXTEND
021458,000716: 34,2567 20156 MSU MPAC +2
021459,000717: 34,2570 50120 INDEX FIXLOC
021460,000718: 34,2571 54004 TS 4
021461,000719: 34,2572 16030 TCF DANZIG
021462,000720: 34,2573 30154 RLTST CA MPAC # DETERMINE IF ROLLOUT
021463,000721: 34,2574 00006 EXTEND # IS COMPLETED
021464,000722: 34,2575 71732 MP SATRLRT +1
021465,000723: 34,2576 00006 EXTEND
021466,000724: 34,2577 66030 BZMF DANZIG # UNLIKE SIGNS STILL ROLLING
021467,000725: 34,2600 22007 ZL # ROLLOUT COMPLETED
021468,000726: 34,2601 35003 CAF ZERO # ZERO OUT ROLL CONTRIBUTION
021469,000727: 34,2602 52155 DXCH MPAC
021470,000728: 34,2603 06030 TC DANZIG
021471,000729: 34,2604 06006 NOPOLY TC INTPRET # COMES HERE IF
021472,000730: 34,2605 52001 SETPD GOTO # ATTITUDE HOLD
021473,000731: 34,2606 00001 0
021474,000732: 34,2607 67552 NOPOLYM
021475,000733: 34,2610 01724 COEFPOLY ADRES POLYLOC
021476,000734: 34,2611 01476 V06N62 VN 0662
021477,000735: 34,2612 00006 RESCALES EXTEND # RESCALE AK S FOR
021478,000736: 34,2613 71751 MP SATSCALE # NEW HARDWARE
021479,000737: 34,2614 20001 DDOUBL # SCALING FOR
021480,000738: 34,2615 20001 DDOUBL # STEERING
021481,000739: 34,2616 00002 TC Q # SATURN
021482,000740: # SATURN TAKEOVER FUNCTION
021483,000741: # ************************
021484,000742: #
021485,000743: # PROGRAM DESCRIPTION
021486,000744:
021487,000745: # MOD NUMBER 1
021488,000746: # MOD BY ELIASSEN
021489,000747:
021490,000748: # FUNCTIONAL DESCRIPTION
021491,000749:
021492,000750: # DURING THE COASTING PHASE OF SIVB ATTACHED, THE
021493,000751: # ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
021494,000752: # EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ).
021495,000753: # THE CMC REGARDS RHC COMMANDS AS BODY-AXES RATE
021496,000754: # COMMANDS AND IT TRANSMITS THESE TO SATURN AS DC
021497,000755: # VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND
021498,000756: # IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE-
021499,000757: # SULTS IN A ZERO RATE COMMAND.
021500,000758:
021501,000759: # THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
021502,000760: # OF THE RATE COMMAND.
021503,000761:
021504,000762: # CALLING SEQUENCE
021505,000763:
021506,000764: # DAPFIG +9D TC POSTJUMP
021507,000765: # CADR SATSTKON
021508,000766:
021509,000767: # SUBROUTINES CALLED
021510,000768:
021511,000769: # ENDEXT
021512,000770: # IBNKCALL
021513,000771: # STICKCHK
021514,000772: # NEEDLER
021515,000773: # T5RUPT
021516,000774: # RESUME
021517,000775:
021518,000776: # ASTRONAUT REQUESTS
021519,000777:
021520,000778: # ENTRY - VERB 46 ENTER
021521,000779: # (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
021522,000780:
021523,000781: # EXIT - VERB 48 ENTER (FLASH V06N46)
021524,000782: # VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
021525,000783: # VERB 34 ENTER
021526,000784: # VERB 46 ENTER
021527,000785:
021528,000786: # NORMAL EXIT MODE
021529,000787:
021530,000788: # VERB 46 ENTER (SEE ASTRONAUT ABOVE)
021531,000789:
021532,000790: # ALARM OR ABORT EXIT MODES
021533,000791:
021534,000792: # NONE
021535,000793:
021536,000794: # OUTPUT
021537,000795:
021538,000796: # SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD
021539,000797:
021540,000798: # ERASABLE INITIALIZATION
021541,000799:
021542,000800: # DAPDATR1 (BITS 13,14 MUST BE SET)
021543,000801:
021544,000802: # DEBRIS
021545,000803:
021546,000804: # CENTRALS
021547,000805: # CDUXCMD, CDUYCMD, CDUZCMD
021548,000806:
021549,000807: 26,2000 SETLOC P11FOUR
021550,000808: 26,2000 BANK
021551,000809:
021552,000810: 26,2000 COUNT* $$/P11
021553,000811: 26,2000 22016 REDOSAT LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
021554,000812: 26,2001 00006 EXTEND
021555,000813: 26,2002 22012 QXCH QRUPT
021556,000814: 26,2003 41530 CS RCSFLAGS # TURN ON BIT3 OF RCSFLAGX
021557,000815: 26,2004 74777 MASK BIT3 # FOR
021558,000816: 26,2005 27530 ADS RCSFLAGS # NEEDLER INITIALIZATION
021559,000817: 26,2006 04725 TC IBNKCALL
021560,000818: 26,2007 31660 CADR NEEDLER # DISABLE IMU ERR COUNTERS ETC.
021561,000819: 26,2010 34771 CAF BIT9 # SIVB
021562,000820: 26,2011 00006 EXTEND # TAKEOVER
021563,000821: 26,2012 05012 WOR CHAN12 # ENABLE
021564,000822: 26,2013 00006 EXTEND # SET UP T5 CYCLE
021565,000823: 26,2014 34552 DCA 2SATSTCK
021566,000824: 26,2015 52113 DXCH T5LOC
021567,000825: 26,2016 37661 CAF 100MST5 # IN 100 MSECS
021568,000826: 26,2017 54030 TS TIME5
021569,000827: 26,2020 15336 TCF RESUME # END OF SATURN STICK INITIALIZATION
021570,000828:
021571,000829: # THIS SECTION IS EXECUTED EVERY 100 MSECS
021572,000830:
021573,000831: 22,2000 SETLOC P11THREE
021574,000832: 22,2000 BANK
021575,000833:
021576,000834: 22,3237 COUNT* $$/P11
021577,000835: 22,3237 22016 SATSTICK LXCH BANKRUPT
021578,000836: 22,3240 00006 EXTEND
021579,000837: 22,3241 22012 QXCH QRUPT
021580,000838:
021581,000839: 22,3242 34551 CAF 2SATSTCK # SET UP RUPT
021582,000840: 22,3243 54112 TS T5LOC # LO ORDER LOC SET
021583,000841: 22,3244 37661 CAF 100MST5 # 100 MSECS
021584,000842: 22,3245 54030 TS TIME5
021585,000843: 22,3246 33270 CAF STIKBITS
021586,000844: 22,3247 00006 EXTEND
021587,000845: 22,3250 06031 RXOR CHAN31 # CHECK IF MAN ROT BITS SAME
021588,000846: 22,3251 73270 MASK STIKBITS
021589,000847: 22,3252 04725 TC IBNKCALL # SET RATE INDICES
021590,000848: 22,3253 43116 CADR STICKCHK # FOR PITCH YAW AND ROLL
021591,000849:
021592,000850: 22,3254 51707 INDEX RMANNDX # SET SATURN RATES
021593,000851: 22,3255 31741 CA SATRATE
021594,000852: 22,3256 55525 TS AK # ROLL
021595,000853: 22,3257 51710 INDEX PMANNDX
021596,000854: 22,3260 31741 CA SATRATE
021597,000855: 22,3261 55526 TS AK1 # PITCH
021598,000856: 22,3262 51711 INDEX YMANNDX
021599,000857: 22,3263 31741 CA SATRATE
021600,000858: 22,3264 55527 TS AK2 # YAW
021601,000859:
021602,000860: 22,3265 04725 TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
021603,000861: 22,3266 31660 CADR NEEDLER
021604,000862: 22,3267 15336 STICKOUT TCF RESUME # END OF SATURN STICK CONTROL
021605,000863:
021606,000864: 22,3270 00077 STIKBITS OCT 00077
021607,000865: 22,3271 7661 100MST5 = OCT37766
021608,000866: 4000 SETLOC FFTAG2
021609,000867: 4000 BANK
021610,000868:
021611,000869: 4551 COUNT* $$/P11
021612,000870: 4551 E6,1735 EBANK= SPOLYARG
021613,000871: 4551 03237 44066 2SATSTCK 2CADR SATSTICK
End of include-file P11.agc. Parent file is MAIN.agc