Source Code
These source-code files are part of a reconstructed copy of Comanche 51, the
initial release (though not the final mission release) of the Apollo 11
Command Module (CM) Apollo Guidance Computer (AGC) software. The flown, final
release was Comanche 55. The reconstruction is believed to be exactly accurate,
but in the absence of an actual Apollo-era listing of Comanche 51, some
explanation of the reconstruction process is needed to insure confidence in
that accuracy.
The starting point was the source code of Comanche 55, whose original source code is available. Comanche 55 source code was then modified by undoing changes known to have been made between revisions 51 and 55. The most-significant steps involved reverting changes related to the R-2 lunar potential model, the details of which were known from the previous, separate, independent reconstruction of the Apollo 10 Lunar Module software Luminary 69/2. The now-reconstructed Comanche 51 source code was verified by assembling it and checking that the assembled code had the expected known-correct memory-bank checksums. Note that page numbers in the reconstructed code match those on the Comanche 55 or Luminary 69 printouts, although the source code would likely have different page numbers in a contemporary Comanche 51 listing. Annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change relative to Comanche 55. Here's a guide to some of the Apollo documentation relevant to those annotations:
Comments expected to have been present in the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC Project's GitHub repository. |
022812,000002: ## Copyright: Public domain.
022813,000003: ## Filename: P11.agc
022814,000004: ## Purpose: A section of Comanche revision 051.
022815,000005: ## It is part of the reconstructed source code for the
022816,000006: ## original release of the flight software for the Command
022817,000007: ## Module's (CM) Apollo Guidance Computer (AGC) for Apollo 11.
022818,000008: ## The code has been recreated from a copy of Comanche 055. It
022819,000009: ## has been adapted such that the resulting bugger words
022820,000010: ## exactly match those specified for Comanche 51 in NASA drawing
022821,000011: ## 2021153D, which gives relatively high confidence that the
022822,000012: ## reconstruction is correct.
022823,000013: ## Reference: pp. 533-550
022824,000014: ## Assembler: yaYUL
022825,000015: ## Contact: Ron Burkey <info@sandroid.org>.
022826,000016: ## Website: www.ibiblio.org/apollo/index.html
022827,000017: ## Mod history: 2019-07-30 MAS Created from Comanche 55.
022828,000018:
Page 533 |
022830,000020:
022831,000021: # EARTH ORBIT INSERTION MONITOR PROGRAM
022832,000022: # *************************************
022833,000023:
022834,000024: # PROGRAM DESCRIPTION -P11-
022835,000025:
022836,000026: # MOD NO. 1
022837,000027: # MOD BY ELIASSEN
022838,000028:
022839,000029: # FUNCTIONAL DESCRIPTION
022840,000030:
022841,000031: # P11 IS INITIATED BY
022842,000032:
022843,000033: # A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
022844,000034: # B) BACKUP THRU VERB 75 ENTER
022845,000035:
022846,000036: # PROGRAM WILL
022847,000037: # 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
022848,000038: # 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
022849,000039: # 3. INITIATE SERVICER AT PREREAD1
022850,000040: # 4. CHANGE MAJOR MODE TO 11
022851,000041: # 5. CLEAR DSKY IN CASE OF V 75
022852,000042: # 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
022853,000043: # 7. TERMINATE GYROCOMPASSING - -
022854,000044: # 8. COMPUTE INITIAL VECTORS RN, VN - - -
022855,000045: # 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
022856,000046: # - - X Y Z
022857,000047: # U =UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
022858,000048: # Z
022859,000049: # - - -
022860,000050: # U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH
022861,000051: # X
022862,000052: # - - -
022863,000053: # U =U * U
022864,000054: # U Z X
022865,000055: # 10. SET REFSMMAT KNOWN FLAG
022866,000056: # 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
022867,000057: # COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS
022868,000058:
022869,000059: # R1 V1 - INTERTIAL VELOCITY MAGNITUDE IN FPS
022870,000060: # R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
022871,000061: # R3 H - VEHICLE ALTITUDE ABOVE PAD IN NM
022872,000062: #
022873,000063: # 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
022874,000064:
022875,000065: # A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
022876,000066: # DESIRED ATTITUDE IS AS STORED AT L.O.
022877,000067: # B) FROM RPSTART TO POLYSTOP (APPROX. +10 TO +133SECS AFTER LO)
022878,000068: # DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
022879,000069: # POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
Page 534 |
022881,000071: # THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
022882,000072: # EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1
022883,000073:
022884,000074: # SUBROUTINES CALLED
022885,000075:
022886,000076: # 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
022887,000077: # DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
022888,000078: # INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
022889,000079: # POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
022890,000080: # SERVEXIT TASKOVER TCDANZIG V1ST02S WAITLIST
022891,000081:
022892,000082: # ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
022893,000083:
022894,000084: # DSKY -
022895,000085: # MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
022896,000086: # R2 MINUTES
022897,000087:
022898,000088: # DSKY -
022899,000089: # MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
022900,000090: # R2 PERIGEE ALTITUDE IN NAUTICAL MILES
022901,000091: # R3 TFF IN MINUTES/SECS
022902,000092:
022903,000093: # IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
022904,000094: # HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY
022905,000095: # NORMAL EXIT MODE
022906,000096:
022907,000097: # ASTRONAUT VERB 37 ENTER 00 ENTER
022908,000098:
022909,000099: # ALARM MODES - NONE
022910,000100:
022911,000101: # ABORT EXIT MODES -
022912,000102:
022913,000103: # OUTPUT
022914,000104:
022915,000105: # TLIFTOFF (DP) TEPHEM (TP)
022916,000106: # REFSMMAT
022917,000107: # DSKY DISPLAY
022918,000108: # FDAI DISPLAY
022919,000109:
022920,000110: # ERASABLE INITIALIZATION
022921,000111:
022922,000112: # AZO, AXO, -AYO
022923,000113: # LATITUDE
022924,000114: # PADLONG
022925,000115: # TEPHEM
022926,000116: # PGNCSALT
022927,000117: # POLYNUM THRU POLYNUM +14D)
022928,000118: # RPSTART
022929,000119: # POLYSTOP
022930,000120: # FLAGS SET OR RESET
Page 535 |
022932,000122: # SET REFSMFLG
022933,000123: # SET DVMON IDLE FLAG
022934,000124: # CLEAR ERADFLAG
022935,000125:
022936,000126: # DEBRIS
022937,000127:
022938,000128: # LIFTTEMP
022939,000129: # POLYNUM THRU POLYNUM +7
022940,000130: # SPOLYARG
022941,000131: # BODY1, BODY2, BODY3
022942,000132: # VMAG2, ALTI, HDOT
022943,000133: # CENTRALS, CORE SET AND VAC AREAS
022944,000134:
022945,000135: 04,3303 COUNT 34/P11
022946,000136:
022947,000137: 04,3303 5035 BITS5-6 = SUPER011
022948,000138: 42,3606 BANK 42
022949,000139: 34,2000 SETLOC P11ONE
022950,000140: 34,2000 BANK
022951,000141:
022952,000142: 34,2002 E3,1706 EBANK= TEPHEM
022953,000143: 34,2002 35051 P11 CA EBANK3
022954,000144: 34,2003 54003 TS EBANK
022955,000145:
022956,000146: 34,2004 00006 EXTEND
022957,000147: 34,2005 32277 DCA REP11S # DIRECT RESTARTS TO REP11
022958,000148: 34,2006 52757 DXCH -PHASE3
022959,000149: 34,2007 45021 CS ZERO
022960,000150: 34,2010 22007 ZL
022961,000151: 34,2011 55265 TS LIFTTEMP
022962,000152: 34,2012 52763 DXCH -PHASE5 # INACTIVE GROUP 5, PRELAUNCH PROTECTION
022963,000153: 34,2013 00006 P11+7 EXTEND
022964,000154: 34,2014 32301 DCA REP11SA
022965,000155: 34,2015 53337 DXCH TLIFTOFF
022966,000156:
022967,000157: 34,2016 00006 EXTEND
022968,000158: 34,2017 30025 DCA TIME2
022969,000159: 34,2020 53266 DXCH LIFTTEMP # FOR RESTARTS
022970,000160:
022971,000161: 34,2021 35021 CA ZERO
022972,000162: 34,2022 22007 ZL
022973,000163: 34,2023 52025 DXCH TIME2
022974,000164: 34,2024 53337 REP11A-2 DXCH TLIFTOFF
022975,000165: 34,2025 52757 REP11A-1 DXCH -PHASE3 # RESET PHASE
022976,000166:
022977,000167: 34,2026 00004 REP11A INHINT
022978,000168: 34,2027 00006 EXTEND
022979,000169: 34,2030 31710 DCA TEPHEM +1
022980,000170: 34,2031 53271 DXCH TEPHEM1 +1
022981,000171: 34,2032 31706 CA TEPHEM
Page 536 |
022983,000173: 34,2033 57267 XCH TEPHEM1
022984,000174:
022985,000175: 34,2034 00006 EXTEND
022986,000176: 34,2035 31337 DCA TLIFTOFF
022987,000177: 34,2036 21271 DAS TEPHEM1 +1
022988,000178: 34,2037 27267 ADS TEPHEM1 # CORRECTOFOR OVERFLOW
022989,000179:
022990,000180: 34,2040 05412 TC PHASCHNG
022991,000181: 34,2041 05023 OCT 05023
022992,000182: 34,2042 22000 OCT 22000
022993,000183:
022994,000184: 34,2043 00004 INHINT
022995,000185: 34,2044 00006 EXTEND
022996,000186: 34,2045 31270 DCA TEPHEM1
022997,000187: 34,2046 53707 DXCH TEPHEM
022998,000188: 34,2047 31271 CA TEPHEM1 +2
022999,000189: 34,2050 57710 XCH TEPHEM +2
023000,000190:
023001,000191: 34,2051 32000 CAF EBDVCNT
023002,000192: 34,2052 54003 TS EBANK
023003,000193: 34,2053 E7,1431 EBANK= DVCNTR
023004,000194: 34,2053 04740 TC IBNKCALL
023005,000195: 34,2054 76722 CADR PREREAD1 # ZERO PIPS AND INITIALIZE AVERAGEG
023006,000196:
023007,000197: 34,2055 05412 TC PHASCHNG
023008,000198: 34,2056 05023 OCT 05023 # CONTINUE HERE ON RESTART
023009,000199: 34,2057 22000 OCT 22000
023010,000200:
023011,000201: 34,2060 35036 CAF .5SEC # START ATT ERROR DISPLAY
023012,000202: 34,2061 05245 TC WAITLIST # IN .5 SEC
023013,000203: 34,2062 E6,1704 EBANK= BODY3
023014,000204: 34,2062 02320 70066 2CADR ATERTASK
023015,000205:
023016,000206: 34,2064 05354 TC NEWMODEX # DISPLAY MM 11
023017,000207: 34,2065 00013 MM 11 B-14
023018,000208:
023019,000209: 34,2066 05546 TC UPFLAG
023020,000210: 34,2067 00022 ADRES NODOP01
023021,000211:
023022,000212: 34,2070 36214 CA POWDNCOD # SWITCH TO POWERED FLIGHT DOWNLIST
023023,000213: 34,2071 54332 TS DNLSTCOD
023024,000214:
023025,000215: 34,2072 04662 TC BANKCALL
023026,000216: 34,2073 20703 CADR CLEANDSP # CLEAR DSKY IN CASE OF V75
023027,000217:
023028,000218: 34,2074 05372 TC 2PHSCHNG
023029,000219: 34,2075 40514 OCT 40514 # PROTECT ATERTASK
023030,000220: 34,2076 00073 OCT 00073
023031,000221: 34,2077 32001 CAF EBQPLACE
Page 537 |
023033,000223: 34,2100 54003 TS EBANK
023034,000224:
023035,000225: 34,2101 E5,1426 EBANK= QPLACES
023036,000226: 34,2101 32302 CA P11XIT # SET EXIT FROM PROUT IN EARTHR
023037,000227: 34,2102 55426 TS QPLACES
023038,000228: 34,2103 06006 TC INTPRET
023039,000229: 34,2104 64375 VLOAD MXV
023040,000230: 34,2105 02467 THETAN
023041,000231: 34,2106 02672 XSM
023042,000232: 34,2107 53372 VSL1 VAD
023043,000233: 34,2110 02650 ERCOMP
023044,000234: 34,2111 16650 STODL ERCOMP
023045,000235: 34,2112 01337 TLIFTOFF
023046,000236: 34,2113 52131 SSP GOTO
023047,000237: 34,2114 00052 S2
023048,000238: 34,2115 66424 CADR PROUT # RETURN FROM EARTHR
023049,000239: 34,2116 66373 EARTHR +3
023050,000240: 34,2117 22007 MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
023051,000241: 34,2120 30032 CA CDUX # ERROR DISPLAY AFTER LIFTOFF
023052,000242: 34,2121 53760 DXCH OGC
023053,000243: 34,2122 22007 ZL
023054,000244: 34,2123 30033 CA CDUY
023055,000245: 34,2124 53762 DXCH IGC
023056,000246: 34,2125 22007 ZL
023057,000247: 34,2126 30034 CA CDUZ
023058,000248: 34,2127 53764 DXCH MGC
023059,000249: 34,2130 06006 TC INTPRET # -
023060,000250: 34,2131 74575 VLOAD VSR1 # SCALE OGC B-1
023061,000251: 34,2132 02760 OGC
023062,000252: 34,2133 02760 STORE OGC
023063,000253: 34,2134 77731 SSP # ZERO RTX2
023064,000254: 34,2135 03747 RTX2 # FOR
023065,000255: 34,2136 00000 0 # EARTH
023066,000256: 34,2137 65345 DLOAD PDDL
023067,000257: 34,2140 01273 PGNCSALT # ALTITUDE OF PGNCS
023068,000258: 34,2141 01264 PADLONG # LONGITUDE
023069,000259: 34,2142 55525 PDDL VDEF
023070,000260: 34,2143 02403 LATITUDE # GEODETIC LATITUDE
023071,000261: 34,2144 15104 STODL LAT # LAT,LONG,ALT ARE CONSECUTIVE
023072,000262: 34,2145 15335 HI6ZEROS # TIME = 0
023073,000263: 34,2146 45014 CLEAR CALL
023074,000264: 34,2147 00662 ERADFLAG
023075,000265: 34,2150 26441 LALOTORV # CONVERT TO POSITION VECTOR IN REF.COORDS
023076,000266:
023077,000267: 34,2151 35232 STCALL RN1 # -
023078,000268: 34,2152 70334 GETDOWN # RETURN WITH VECTOR FOR DOWN DIRECTION
023079,000269: 34,2153 53476 VCOMP UNIT
023080,000270: 34,2154 25752 STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
023081,000271: 34,2155 01232 RN1
023082,000272: 34,2156 74235 VXV VXSC
Page 538 |
023084,000274: 34,2157 01714 UNITW # SCALED AT 1
023085,000275: 34,2160 30304 -ERTHRAT # V = EARTHRATE X R
023086,000276: 34,2161 77712 VSL4 # SCALE TO 2(7) M/CS
023087,000277: 34,2162 25240 STOVL VN1
023088,000278: 34,2163 01752 REFSMMAT +12D
023089,000279: 34,2164 53435 VXV UNIT
023090,000280: 34,2165 01714 UNITW # (REF3 X UNITW) = EAST
023091,000281: 34,2166 47206 PUSH VXV
023092,000282: 34,2167 01752 REFSMMAT +12D # (EAST X REF3) = -SOUTH
023093,000283: 34,2170 65256 UNIT PDDL
023094,000284: 34,2171 02634 LAUNCHAZ # COS(AZ)*SOUTH
023095,000285: 34,2172 74346 COS VXSC
023096,000286: 34,2173 77626 STADR
023097,000287: 34,2174 62041 STODL REFSMMAT # TEMPORARY STORAGE
023098,000288: 34,2175 02634 LAUNCHAZ
023099,000289: 34,2176 74356 SIN VXSC # SIN(AZ)*EAST
023100,000290: 34,2177 53455 VAD UNIT # SIN(AZ)*EAST - COS(AZ)*SOUTH = REF1
023101,000291: 34,2200 01736 REFSMMAT
023102,000292: 34,2201 01736 STORE REFSMMAT
023103,000293:
023104,000294: 34,2202 53435 VXV UNIT # (REF1 X REF3) = -REF3
023105,000295: 34,2203 01752 REFSMMAT +12D
023106,000296: 34,2204 77676 VCOMP
023107,000297: 34,2205 01744 STORE REFSMMAT +6
023108,000298: 34,2206 45345 DLOAD DSU
023109,000299: 34,2207 15333 DPHALF # 1/2 REV
023110,000300: 34,2210 02634 LAUNCHAZ
023111,000301: 34,2211 65215 DAD PDDL
023112,000302:
023113,000303: 34,2212 02401 AZIMUTH
023114,000304: 34,2213 03301 SATRLRT # SET SATRLRT = -SATRLRT IF
023115,000305: 34,2214 45565 SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
023116,000306: 34,2215 74476 STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
023117,000307: 34,2216 77414 SET EXIT
023118,000308: 34,2217 01462 REFSMFLG # SET REFSMMAT KNOWN FLAG
023119,000309:
023120,000310: 34,2220 05412 TC PHASCHNG
023121,000311: 34,2221 04023 OCT 04023
023122,000312:
023123,000313: 34,2222 00006 EXTEND
023124,000314: 34,2223 32306 DCA P11SCADR
023125,000315: 34,2224 53223 DXCH AVGEXIT # SET AVGEXIT
023126,000316:
023127,000317: 34,2225 37665 CA PRIO31 # 2 SECONDS AT 2(+8)
023128,000318: 34,2226 55074 TS 1/PIPADT
023129,000319:
023130,000320: 34,2227 E6,1501 EBANK= RCSFLAGS
023131,000321: 34,2227 35057 CA EBANK6
023132,000322: 34,2230 54003 TS EBANK
023133,000323:
023134,000324: 34,2231 00004 INHINT
Page 539 |
023136,000326: 34,2232 45021 CS ZERO
023137,000327: 34,2233 55063 TS TBASE5 # RESTART READACCS 2 SECONDS AFTER LIFTOFF
023138,000328:
023139,000329: 34,2234 40025 CS TIME1
023140,000330: 34,2235 65042 AD 2SECS # DO READACCS 2 SECONDS AFTER LIFTOFF
023141,000331:
023142,000332: 34,2236 10000 CCS A # CHECK TO INSURE DT IS POSITIVE
023143,000333: 34,2237 12242 TCF +3 # TIME POSITIVE
023144,000334: 34,2240 12242 TCF +2 # CANNOT GET HERE
023145,000335: 34,2241 35021 CA ZERO # TIME NEGATIVE - SET TO 1
023146,000336: 34,2242 65017 AD ONE # RESTORE TIME - OR MAKE POSITIVE
023147,000337:
023148,000338: 34,2243 05245 TC WAITLIST
023149,000339: 34,2244 E6,1661 EBANK= AOG
023150,000340: 34,2244 02744 76066 2CADR READACCS
023151,000341:
023152,000342: 34,2246 05372 TC 2PHSCHNG
023153,000343: 34,2247 00003 OCT 00003 # TURN OFF GROUP 3
023154,000344: 34,2250 00025 OCT 00025 # PROTECT NORMLIZE AND READACCS
023155,000345:
023156,000346: 34,2251 04701 TC POSTJUMP
023157,000347: 34,2252 77236 CADR NORMLIZE # DO NORMLIZE AND ENDOFJOB
023158,000348:
023159,000349:
023160,000350: 34,2253 E3,1706 EBANK= TEPHEM
023161,000351: 34,2253 00004 REP11 INHINT
023162,000352: 34,2254 10763 CCS PHASE5
023163,000353: 34,2255 05217 TC ENDOFJOB
023164,000354:
023165,000355: 34,2256 11265 CCS LIFTTEMP
023166,000356: 34,2257 12263 TCF +4
023167,000357: 34,2260 12263 TCF +3
023168,000358: 34,2261 12263 TCF +2
023169,000359: 34,2262 12013 TCF P11+7
023170,000360:
023171,000361: 34,2263 41336 CS TLIFTOFF
023172,000362: 34,2264 00006 EXTEND
023173,000363: 34,2265 62273 BZMF ENDREP11
023174,000364:
023175,000365: 34,2266 10024 CCS TIME2 # ** TIME2 MUST BE NON-ZERO AT LIFTOFF **
023176,000366: 34,2267 12021 TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT
023177,000367:
023178,000368: 34,2270 00006 EXTEND # T2,T1 ZEROED, SET TLIFTOFF
023179,000369: 34,2271 31266 DCA LIFTTEMP
023180,000370: 34,2272 12024 TCF REP11A-2
023181,000371:
023182,000372: 34,2273 00006 ENDREP11 EXTEND
023183,000373: 34,2274 32301 DCA REP11SA
023184,000374: 34,2275 12025 TCF REP11A-1
Page 540 |
023186,000376: 34,2276 77766 00011 REP11S 2OCT 7776600011
023187,000377:
023188,000378: 34,2300 77764 00013 REP11SA 2OCT 7776400013
023189,000379:
023190,000380: 34,2302 02451 P11XIT GENADR P11OUT
023191,000381: 34,2303 71704 41735 -ERTHRAT 2DEC* -7.292115138 E-7 B18* # - EARTH RATE AT 2(18)
023192,000382:
023193,000383: 34,2305 E6,1704 EBANK= BODY3
023194,000384: 34,2305 02307 70066 P11SCADR 2CADR VHHDOT
023195,000385:
023196,000386: 34,2307 6214 POWDNCOD EQUALS THREE
023197,000387:
023198,000388: 34,2307 E6,1704 EBANK= BODY3
023199,000389: # VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
023200,000390: # VI INERTIAL VELOCITY MAGNITUDE
023201,000391: # HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
023202,000392: # H ALTITUDE ABOVE L PAD RADIUS
023203,000393:
023204,000394: 34,2307 06006 VHHDOT TC INTPRET
023205,000395: 34,2310 77624 CALL # LOAD VMAGI, ALTI,
023206,000396: 34,2311 70542 S11.1 # HDOT FOR DISPLAY
023207,000397: 34,2312 77776 EXIT
023208,000398: 34,2313 05412 TC PHASCHNG
023209,000399: 34,2314 00035 OCT 00035
023210,000400:
023211,000401: 34,2315 32622 CAF V06N62 # DISPLAY IN R1 R2 R3
023212,000402: 34,2316 04662 TC BANKCALL # VI HDOT H
023213,000403: 34,2317 20707 CADR REGODSP
023214,000404:
023215,000405: 34,2320 35006 ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS
023216,000406: 34,2321 05147 TC FINDVAC # COMES HERE AT L.O. + .33 SEC
023217,000407: 34,2322 E6,1704 EBANK= BODY3
023218,000408: 34,2322 02345 70066 2CADR ATERJOB
023219,000409:
023220,000410: 34,2324 41501 CS RCSFLAGS # SET BIT3 FOR
023221,000411: 34,2325 75015 MASK BIT3 # NEEDLER
023222,000412: 34,2326 27501 ADS RCSFLAGS # INITIALIZATION PASS
023223,000413: 34,2327 04740 TC IBNKCALL # AND GO
023224,000414: 34,2330 42420 CADR NEEDLER # DO IT
023225,000415: 34,2331 35017 CA BIT1 # SET SW
023226,000416: 34,2332 55725 TS SATSW # FOR DISPLAY
023227,000417: 34,2333 05324 TC TASKOVER
023228,000418: 34,2334 40220 GETDOWN STQ SETPD
023229,000419: 34,2335 02242 INCORPEX
023230,000420: 34,2336 00001 0D
023231,000421: 34,2337 77745 DLOAD
023232,000422: 34,2340 15335 HI6ZEROS
Page 541 |
023234,000424: 34,2341 14007 STODL 6D
023235,000425: 34,2342 15333 DPHALF
023236,000426: 34,2343 34011 STCALL 8D
023237,000427: 34,2344 26446 LALOTORV +5
023238,000428: # THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST
023239,000429:
023240,000430: # COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF
023241,000431: # 2 3 4 5 6
023242,000432: # PITCH = A0+A1T+A2T +A3T +A4T +A5T +A6T
023243,000433: # SCALED TO 32 REVS. -14
023244,000434: # IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART)2
023245,000435: # WHERE TL GE RPSTART
023246,000436: # TL LE (-POLYSTOP + RPSTART)
023247,000437: # COMPUTE DESIRED ROLL WHERE ROLL EQUALS ANGLE FROM
023248,000438: # LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
023249,000439: # ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T IN REV
023250,000440: # SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
023251,000441: # T, IN CENTI-SEC, IS DEFINED AS ABOVE, INCLUSIVE OF TIME RESTRICTIONS
023252,000442:
023253,000443: # FOR SIMPLICITY, LET P = 2*PI*PITCH
023254,000444: # R = 2*PI*ROLL
023255,000445:
023256,000446: # CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
023257,000447: # TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
023258,000448: # YDC, AND ZDC.
023259,000449:
023260,000450: # * ( SIN(P) 0 -COS(P) ) (XDC)
023261,000451: # TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
023262,000452: # (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
023263,000453:
023264,000454: # XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
023265,000455: # EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
023266,000456: # ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
023267,000457: # AS THE DESIRED CDU ANGLES.
023268,000458:
023269,000459: # (XDC) (OGC)
023270,000460: # (YDC) ---) CALCGTA ---) (IGC)
023271,000461: # (ZDC) (MGC)
023272,000462: # -
023273,000463: # DEFINE THE VECTOR DELTACDU.
023274,000464:
023275,000465: # - (OGC) (CDUX)
023276,000466: # DELTACDU = (IGC) - (CDUY)
023277,000467: # (MGC) (CDUZ)
023278,000468: # - - * -
023279,000469: # COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
023280,000470:
023281,000471: # * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
Page 542 |
023283,000473: # TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
023284,000474: # (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX
023285,000475: # -
023286,000476: # THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
023287,000477: # THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
023288,000478: # ERROR DISPLAY ROUTINE.
023289,000479:
023290,000480: 34,2345 30102 ATERJOB CAE FLAGWRD6 # CHECK FLAGWRD6
023291,000481: 34,2346 74105 MASK OCT60000 # BITS 14, 15
023292,000482: 34,2347 00006 EXTEND
023293,000483: 34,2350 12352 BZF +2 # OK - CONTINUE
023294,000484: 34,2351 05217 TC ENDOFJOB # SATURN STICK ON - KILL JOB
023295,000485: 34,2352 35006 CAF BIT10 # CHECK IF S/C CONTROL
023296,000486: 34,2353 00006 EXTEND # OF SATURN PANEL
023297,000487: 34,2354 02030 RAND CHAN30 # SWITCH IS ON
023298,000488: 34,2355 00006 EXTEND
023299,000489: 34,2356 12510 BZF STRSAT # IT IS - GO STEER
023300,000490: 34,2357 11725 CCS SATSW # IT IS NOT - WAS IT ON LAST CYCLE
023301,000491: 34,2360 02363 TC ATTDISP # NO - CONTINUE
023302,000492: 34,2361 02513 TC ATRESET # YES - REINITIALIZE NEEDLER
023303,000493: 34,2362 02513 TC ATRESET # YES - REINITIALIZE NEEDLER
023304,000494: 34,2363 41702 ATTDISP CS RPSTART # PITCH/ROLL START TIME
023305,000495: 34,2364 60025 AD TIME1
023306,000496: 34,2365 00006 EXTEND
023307,000497: 34,2366 62615 BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD
023308,000498: 34,2367 54154 TS MPAC # MPAC = TIME1 - RPSTART
023309,000499: 34,2370 55707 TS SPOLYARG # SAVE FOR USE IN ROLL CALUCLATION
023310,000500: 34,2371 61703 AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
023311,000501: 34,2372 00006 EXTEND
023312,000502: 34,2373 62375 BZMF +2
023313,000503: 34,2374 02615 TC NOPOLY # GO TO ATTITUDE HOLD
023314,000504: 34,2375 30024 CA TIME2
023315,000505: 34,2376 00006 EXTEND
023316,000506: 34,2377 62401 BZMF +2
023317,000507: 34,2400 02615 TC NOPOLY # GO TO ATTITUDE HOLD
023318,000508: 34,2401 31661 CAE POLYNUM
023319,000509: 34,2402 54001 TS L
023320,000510: 34,2403 32621 CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
023321,000511: 34,2404 07164 TC POWRSERS # SCALED TO 32 REVOLUTIONS
023322,000512: 34,2405 35021 CA ZERO # RETURN WITH PITCH(32REV)
023323,000513: 34,2406 54163 TS MODE # STORED IN MPAC, MPAC +1
023324,000514: 34,2407 06006 TC INTPRET
023325,000515: 34,2410 54201 SETPD SL # 32(PITCH(32REV)) = PITCH(REV)
023326,000516: 34,2411 00001 0
023327,000517: 34,2412 20206 5
023328,000518: 34,2413 77606 PUSH # LET P(RAD) = 2.PI.PITCH(REV)
023329,000519: 34,2414 77650 GOTO
023330,000520: 34,2415 76155 ATTDISP1 # AROUND SETLOC
Page 543 |
023332,000522: # *
023333,000523: # CONSTRUCT SM TO S/C MATRIX, TSMV
023334,000524:
023335,000525: 37,2000 SETLOC P11TWO
023336,000526: 37,2000 BANK # 36 IN COL., 34 IN DISK
023337,000527:
023338,000528: 37,2155 COUNT 36/P11
023339,000529:
023340,000530: 37,2155 57546 ATTDISP1 COS DCOMP
023341,000531: 37,2156 14017 STODL 14D # -.5*COS(P)
023342,000532: 37,2157 77756 SIN
023343,000533: 37,2160 14013 STODL 10D # .5*SIN(P)
023344,000534: 37,2161 15335 ZEROVECS
023345,000535: 37,2162 00015 STORE 12D # 0
023346,000536:
023347,000537: # EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
023348,000538: 37,2163 41335 SLOAD DMP
023349,000539: 37,2164 03310 SPOLYARG # TIME1 - RPSTART, CSECS B-14.
023350,000540: 37,2165 03301 SATRLRT
023351,000541: 37,2166 45261 SL DSU
023352,000542: 37,2167 20217 14D
023353,000543: 37,2170 15333 DPHALF
023354,000544: 37,2171 45215 DAD DSU # ASSUMING X(SM) ALONG LAUNCH AZIMUTH,
023355,000545: 37,2172 02634 LAUNCHAZ # LAUNCHAZ = ANGLE FROM NORTH TO X(SM).
023356,000546: 37,2173 02401 AZIMUTH # AZIMUTH = -ANGLE FROM NORTH TO Z(S/C)
023357,000547: 37,2174 77634 RTB # DETERMINE IF ROLLOUT
023358,000548: 37,2175 70604 RLTST # IS COMPLETED
023359,000549: 37,2176 71406 ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
023360,000550: 37,2177 77606 PUSH # LET R(RAD) = 2*PI*ROLL(REV)
023361,000551: 37,2200 72405 DMP SL1
023362,000552: 37,2201 00017 14D
023363,000553: 37,2202 14027 STODL 22D # -.5*COS(R)*COS(P)
023364,000554: 37,2203 77676 DCOMP
023365,000555: 37,2204 00023 STORE 18D # -.5*COS(R)
023366,000556: 37,2205 72405 DMP SL1
023367,000557: 37,2206 00013 10D
023368,000558: 37,2207 14033 STODL 26D # -.5*COS(R)*SIN(P)
023369,000559: 37,2210 41556 SIN PUSH
023370,000560: 37,2211 00031 STORE 24D # .5*SIN(R)
023371,000561: 37,2212 72405 DMP SL1
023372,000562: 37,2213 00017 14D
023373,000563: 37,2214 14021 STODL 16D # -.5*SIN(R)*COS(P)
023374,000564: 37,2215 77676 DCOMP
023375,000565: 37,2216 72405 DMP SL1
023376,000566: 37,2217 00013 10D
023377,000567: 37,2220 24025 STOVL 20D # -.5*SIN(R)*SIN(P)
023378,000568: 37,2221 00013 10D
023379,000569:
023380,000570: # FROM TSMV FIND THE HALF UNIT VECTORS XDC,YDC,ZDC = INPUT TO CALCGTA
Page 544 |
023382,000572: 37,2222 77656 UNIT
023383,000573: 37,2223 26714 STOVL XDC # XDC = .5*UNIT(SIN(P),0,-COS(P))
023384,000574: 37,2224 00021 16D
023385,000575: 37,2225 77656 UNIT
023386,000576: 37,2226 26722 STOVL YDC # YDC = .5*UNIT(-SIN(R)*COS(P),-COS(R),
023387,000577: 37,2227 00027 22D # -SIN(R)*SIN(P))
023388,000578: 37,2230 77656 UNIT
023389,000579: 37,2231 36730 STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
023390,000580: 37,2232 47205 CALCGTA # -COS(R)*SIN(P))
023391,000581:
023392,000582: # CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC, AND MGC
023393,000583: # - - -
023394,000584: # FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX
023395,000585: #
023396,000586: # ENTER HERE IF ATTITUDE HOLD
023397,000587:
023398,000588: 37,2233 41575 NOPOLYM VLOAD PUSH # OGC IGC
023399,000589: 37,2234 02760 OGC # CHANGE IGC TO MGC FOR COMPATIBILITY
023400,000590: 37,2235 45006 PUSH CALL # MGC OGC
023401,000591: 37,2236 47477 CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT
023402,000592: 37,2237 47175 VLOAD RTB # - DPHI OGC-CDUX , PD4
023403,000593: 37,2240 00003 2 # DELTACDU = DTHETA = IGC-CDUY , 0
023404,000594: 37,2241 45552 V1STO2S # DPSI MGC-CDUZ , 2
023405,000595: 37,2242 27317 STOVL BOOSTEMP
023406,000596: 37,2243 15335 ZEROVECS
023407,000597: 37,2244 24001 STOVL 0
023408,000598: 37,2245 00767 CDUSPOT
023409,000599: 37,2246 47034 RTB RTB
023410,000600: 37,2247 45552 V1STO2S
023411,000601: 37,2250 70564 DELSTOR
023412,000602: 37,2251 14013 STODL 10D
023413,000603: 37,2252 00741 SINCDUZ
023414,000604: 37,2253 72405 DMP SL1
023415,000605: 37,2254 00001 0
023416,000606: 37,2255 60415 DAD SR2 # CHANGE SCALE OF AK TO 2REVS
023417,000607: 37,2256 00005 4
023418,000608: 37,2257 77650 GOTO
023419,000609: 37,2260 70416 ATTDISP2
023420,000610:
023421,000611: 34,2000 SETLOC P11ONE
023422,000612: 34,2000 BANK
023423,000613: 34,2416 COUNT 34/P11
023424,000614:
023425,000615: 34,2416 14021 ATTDISP2 STODL 16D # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
023426,000616: 34,2417 00747 COSCDUZ
023427,000617: 34,2420 41405 DMP PUSH
023428,000618: 34,2421 00001 0
023429,000619: 34,2422 72405 DMP SL1
023430,000620: 34,2423 00751 COSCDUX
023431,000621: 34,2424 41325 PDDL DMP
Page 545 |
023433,000623: 34,2425 00743 SINCDUX
023434,000624: 34,2426 00003 2
023435,000625: 34,2427 72415 DAD SL1
023436,000626: 34,2430 77626 STADR
023437,000627: 34,2431 63755 STODL 17D # 17D, .5(DTHETA*COS(CDUX)*COS(CDUZ)
023438,000628: 34,2432 72405 DMP SL1 # +DPSI*SIN(CDUX))
023439,000629: 34,2433 00743 SINCDUX
023440,000630: 34,2434 41325 PDDL DMP
023441,000631: 34,2435 00751 COSCDUX
023442,000632: 34,2436 00003 2
023443,000633: 34,2437 72425 DSU SL1
023444,000634: 34,2440 77626 STADR
023445,000635: 34,2441 77754 STORE 18D # 18D, .5(-DTHETA*SIN(CDUX)*COS(CDUZ)
023446,000636: 34,2442 77751 TLOAD # +DPSI*COS(CDUX))
023447,000637: 34,2443 00021 16D
023448,000638: 34,2444 03077 STORE AK # STORE ATTITUDE ERRORS IN AK,AK1,AK2
023449,000639: 34,2445 77776 EXIT
023450,000640:
023451,000641: 34,2446 31725 CA SATSW
023452,000642: 34,2447 10000 CCS A # CHK TAKEOVER STATUS
023453,000643: 34,2450 02471 TC SATOUT # POS - DISPLAY ONLY
023454,000644: 34,2451 02477 TC AKLOAD # 0 STORE BIAS
023455,000645: 34,2452 06006 STEERSAT TC INTPRET # NEG STEER L/V
023456,000646: 34,2453 76351 TLOAD TAD
023457,000647: 34,2454 03327 BIASAK
023458,000648: 34,2455 03077 AK
023459,000649: 34,2456 03077 STORE AK # AKS = AKS - STORED BIAS
023460,000650: 34,2457 77776 EXIT
023461,000651: 34,2460 31476 CA AK
023462,000652: 34,2461 02623 TC RESCALES
023463,000653: 34,2462 55476 TS AK
023464,000654: 34,2463 31477 CA AK1
023465,000655: 34,2464 02623 TC RESCALES
023466,000656: 34,2465 55477 TS AK1
023467,000657: 34,2466 31500 CA AK2
023468,000658: 34,2467 02623 TC RESCALES
023469,000659: 34,2470 55500 TS AK2
023470,000660: # DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER
023471,000661:
023472,000662: 34,2471 04662 SATOUT TC BANKCALL
023473,000663: 34,2472 42420 CADR NEEDLER
023474,000664: 34,2473 34113 ATERSET CAF OCT31 # DELAY .25 SEC
023475,000665: 34,2474 04662 TC BANKCALL # EXECUTION + DELAY = .56SEC APPROX
023476,000666: 34,2475 01732 CADR DELAYJOB
023477,000667: 34,2476 02345 TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE
023478,000668:
023479,000669: 34,2477 41476 AKLOAD CS AK # STORE AKS
023480,000670: 34,2500 55726 TS BIASAK # INTO BIAS
023481,000671: 34,2501 41477 CS AK1 # COMPLEMENTED
023482,000672: 34,2502 55727 TS BIASAK +1
Page 546 |
023484,000674: 34,2503 41500 CS AK2
023485,000675: 34,2504 55730 TS BIASAK +2
023486,000676: 34,2505 45017 CS BIT1 # SET SW
023487,000677: 34,2506 55725 TS SATSW # TO STEER
023488,000678: 34,2507 02452 TC STEERSAT # GO STEER
023489,000679: 34,2510 31725 STRSAT CA SATSW # CHECK IF NEEDLER
023490,000680: 34,2511 00006 EXTEND # HAS BEEN INITIALIZED
023491,000681: 34,2512 62363 BZMF ATTDISP # YES - CONTINUE
023492,000682: 34,2513 41501 ATRESET CS RCSFLAGS # NO - SET
023493,000683: 34,2514 75015 MASK BIT3 # INITIALIZATION SW
023494,000684: 34,2515 27501 ADS RCSFLAGS # FOR NEEDLER
023495,000685: 34,2516 04662 TC BANKCALL # AND GO
023496,000686: 34,2517 42420 CADR NEEDLER # DO IT
023497,000687: 34,2520 36211 CAF REVCNT # OCT 6
023498,000688: 34,2521 04662 TC BANKCALL # DELAY JOB
023499,000689: 34,2522 01732 CADR DELAYJOB # 60 MS -WAIT TILL IMUERRCNTR ZEROED
023500,000690: 34,2523 11725 CCS SATSW # CHECK SW STATUS
023501,000691: 34,2524 02534 TC TAKEON # POS STEER INIT.
023502,000692: 34,2525 02526 TC +1 # 0 RETURN TO DISPLAY
023503,000693: 34,2526 35017 CA BIT1 # NEG RETURN TO DISPLAY
023504,000694: 34,2527 55725 TS SATSW # SW = DISPLAY ONLY
023505,000695: 34,2530 45007 CS BIT9 # DISABLE
023506,000696: 34,2531 00006 EXTEND # SIVB
023507,000697: 34,2532 03012 WAND CHAN12 # TAKEOVER
023508,000698: 34,2533 02471 TC SATOUT # DISPLAY
023509,000699: 34,2534 35007 TAKEON CAF BIT9 # ENABLE
023510,000700: 34,2535 00006 EXTEND # SIVB
023511,000701: 34,2536 05012 WOR CHAN12 # TAKEOVER
023512,000702: 34,2537 35021 CA ZERO # INDICATE NEEDLER
023513,000703: 34,2540 55725 TS SATSW # WAS INITIALIZED
023514,000704: 34,2541 02471 TC SATOUT
023515,000705: 34,2542 51575 S11.1 VLOAD ABVAL
023516,000706: 34,2543 01177 VN
023517,000707: 34,2544 27723 STOVL VMAGI # VI SCALED 2(7) IN METERS/CSEC
023518,000708: 34,2545 01171 RN
023519,000709: 34,2546 50256 UNIT DOT
023520,000710: 34,2547 01177 VN
023521,000711: 34,2550 77752 SL1
023522,000712: 34,2551 17737 STODL HDOT
023523,000713: 34,2552 05152 RPAD
023524,000714: 34,2553 77214 BOF VLOAD
023525,000715: 34,2554 00355 AMOONFLG
023526,000716: 34,2555 70560 EARTHALT
023527,000717: 34,2556 02026 RLS
023528,000718: 34,2557 60446 ABVAL SR2
023529,000719: 34,2560 77621 EARTHALT BDSU
023530,000720: 34,2561 00045 36D
023531,000721: 34,2562 03735 STORE ALTI
023532,000722: 34,2563 77616 RVQ
023533,000723: 34,2564 31716 DELSTOR CA BOOSTEMP
Page 547 |
023535,000725: 34,2565 00006 EXTEND # STORE DELTACDU INTO PDL 0,2,4
023536,000726: 34,2566 20154 MSU MPAC
023537,000727: 34,2567 50120 INDEX FIXLOC
023538,000728: 34,2570 54000 TS 0
023539,000729: 34,2571 31717 CA BOOSTEMP +1
023540,000730: 34,2572 00006 EXTEND
023541,000731: 34,2573 20155 MSU MPAC +1
023542,000732: 34,2574 50120 INDEX FIXLOC
023543,000733: 34,2575 54002 TS 2
023544,000734: 34,2576 31720 CA BOOSTEMP +2
023545,000735: 34,2577 00006 EXTEND
023546,000736: 34,2600 20156 MSU MPAC +2
023547,000737: 34,2601 50120 INDEX FIXLOC
023548,000738: 34,2602 54004 TS 4
023549,000739: 34,2603 16030 TCF DANZIG
023550,000740: 34,2604 30154 RLTST CA MPAC # DETERMINE IF ROLLOUT
023551,000741: 34,2605 00006 EXTEND # IS COMPLETED
023552,000742: 34,2606 71701 MP SATRLRT +1
023553,000743: 34,2607 00006 EXTEND
023554,000744: 34,2610 66030 BZMF DANZIG # UNLIKE SIGNS STILL ROLLING
023555,000745: 34,2611 00006 EXTEND # ROLLOUT COMPLETED
023556,000746: 34,2612 33672 DCA MBDYTCTL +2 # ZERO OUT ROLL CONTRIBUTION
023557,000747: 34,2613 52155 DXCH MPAC
023558,000748: 34,2614 06030 TC DANZIG
023559,000749: 34,2615 06006 NOPOLY TC INTPRET # COMES HERE IF
023560,000750: 34,2616 52001 SETPD GOTO # ATTITUDE HOLD
023561,000751: 34,2617 00001 0
023562,000752: 34,2620 76233 NOPOLYM
023563,000753: 34,2621 01673 COEFPOLY ADRES POLYLOC
023564,000754: 34,2622 01476 V06N62 VN 0662
023565,000755: 34,2623 00006 RESCALES EXTEND # RESCALE AK S FOR
023566,000756: 34,2624 71731 MP SATSCALE # NEW HARDWARE
023567,000757: 34,2625 20001 DDOUBL # SCALING FOR
023568,000758: 34,2626 20001 DDOUBL # STEERING
023569,000759: 34,2627 00002 TC Q # SATURN
023570,000760:
023571,000761: # SATURN TAKEOVER FUNCTION
023572,000762: # ************************
023573,000763: #
023574,000764: # PROGRAM DESCRIPTION
023575,000765:
023576,000766: # MOD NUMBER 1
023577,000767: # MOD BY ELIASSEN
023578,000768:
023579,000769: # FUNCTIONAL DESCRIPTION
023580,000770:
023581,000771: # DURING THE COASTING PHASE OF SIVB ATTACHED, THE
023582,000772: # ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
023583,000773: # EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ).
023584,000774: # THE CMC REGARDS RHC COMMANDS AS BODY-AXES RATE
023585,000775: # COMMANDS AND IT TRANSMITS THESE TO SATURN AS DC
Page 548 |
023587,000777: # VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND
023588,000778: # IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE-
023589,000779: # SULTS IN A ZERO RATE COMMAND.
023590,000780:
023591,000781: # THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
023592,000782: # OF THE RATE COMMAND.
023593,000783:
023594,000784: # CALLING SEQUENCE
023595,000785:
023596,000786: # DAPFIG +9D TC POSTJUMP
023597,000787: # CADR SATSTKON
023598,000788:
023599,000789: # SUBROUTINES CALLED
023600,000790:
023601,000791: # ENDEXT
023602,000792: # IBNKCALL
023603,000793: # STICKCHK
023604,000794: # NEEDLER
023605,000795: # T5RUPT
023606,000796: # RESUME
023607,000797:
023608,000798: # ASTRONAUT REQUESTS
023609,000799:
023610,000800: # ENTRY - VERB 46 ENTER
023611,000801: # (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
023612,000802:
023613,000803: # EXIT - VERB 48 ENTER (FLASH V06N46)
023614,000804: # VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
023615,000805: # VERB 34 ENTER
023616,000806: # VERB 46 ENTER
023617,000807:
023618,000808: # NORMAL EXIT MODE
023619,000809:
023620,000810: # VERB 46 ENTER (SEE ASTRONAUT ABOVE)
023621,000811:
023622,000812: # ALARM OR ABORT EXIT MODES
023623,000813:
023624,000814: # NONE
023625,000815:
023626,000816: # OUTPUT
023627,000817:
023628,000818: # SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD
023629,000819:
023630,000820: # ERASABLE INITIALIZATION
023631,000821:
023632,000822: # DAPDATR1 (BITS 13, 14 MUST BE SET)
023633,000823:
023634,000824: # DEBRIS
023635,000825:
023636,000826: # CENTRALS
Page 549 |
023638,000828: # CDUXCMD, CDUYCMD, CDUZCMD
023639,000829:
023640,000830: 43,3215 BANK 43
023641,000831: 43,2000 SETLOC EXTVERBS
023642,000832: 43,2000 BANK
023643,000833:
023644,000834: 43,3215 COUNT 23/STTKE
023645,000835: 43,3215 00006 SATSTKON EXTEND
023646,000836: 43,3216 33233 DCA 2REDOSAT
023647,000837: 43,3217 00004 INHINT
023648,000838: 43,3220 53313 DXCH T5LOC
023649,000839: 43,3221 34777 CAF POSMAX
023650,000840: 43,3222 54030 TS TIME5
023651,000841: 43,3223 40102 CS FLAGWRD6 # TURN ON BITS 15,14 OF
023652,000842: 43,3224 74105 MASK RELTAB11 # FLAGWRD6
023653,000843: 43,3225 26102 ADS FLAGWRD6 # SATSTICK CONTROL OF T5
023654,000844: 43,3226 04740 TC IBNKCALL # ZERO JET CHANNELS IN 14 MS AND THEN
023655,000845: 43,3227 42632 CADR ZEROJET # LEAVE THE T6 CLOCK DISABLED
023656,000846: 43,3230 00003 RELINT
023657,000847: 43,3231 02121 TC GOPIN # EXIT THUS BECAUSE WE CAME VIA V46
023658,000848:
023659,000849: 43,3232 E6,1704 EBANK= BODY3
023660,000850: 43,3232 02765 46106 2REDOSAT 2CADR REDOSAT
023661,000851:
023662,000852:
023663,000853: 43,3234 30,2000 SBANK= LOWSUPER
023664,000854: 32,2017 BANK 32
023665,000855: 23,2000 SETLOC P11FOUR
023666,000856: 23,2000 BANK
023667,000857:
023668,000858: 23,2765 22016 REDOSAT LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
023669,000859: 23,2766 00006 EXTEND
023670,000860: 23,2767 22012 QXCH QRUPT
023671,000861: 23,2770 41501 CS RCSFLAGS # TURN ON BIT3 OF RCSFLAGX
023672,000862: 23,2771 75015 MASK BIT3 # FOR
023673,000863: 23,2772 27501 ADS RCSFLAGS # NEEDLER INITIALIZATION
023674,000864: 23,2773 04740 TC IBNKCALL
023675,000865: 23,2774 42420 CADR NEEDLER # DISABLE IMU ERR COUNTERS ETC.
023676,000866: 23,2775 35007 CAF BIT9 # SIVB
023677,000867: 23,2776 00006 EXTEND # TAKEOVER
023678,000868: 23,2777 05012 WOR CHAN12 # ENABLE
023679,000869: 23,3000 00006 EXTEND # SET UP T5 CYCLE
023680,000870: 23,3001 33042 DCA 2SATSTCK
023681,000871: 23,3002 53313 DXCH T5LOC
023682,000872: 23,3003 33040 CAF 100MST5 # IN 100 MSECS
023683,000873: 23,3004 54030 TS TIME5
023684,000874: 23,3005 15333 TCF RESUME # END OF SATURN STICK INITIALIZATION
023685,000875:
023686,000876: # THIS SECTION IS EXECUTED EVERY 100 MSECS
Page 550 |
023688,000878: 23,3006 22016 SATSTICK LXCH BANKRUPT
023689,000879: 23,3007 00006 EXTEND
023690,000880: 23,3010 22012 QXCH QRUPT
023691,000881:
023692,000882: 23,3011 33041 CAF 2SATSTCK # SET UP RUPT
023693,000883: 23,3012 55312 TS T5LOC # LO ORDER LOC SET
023694,000884: 23,3013 33040 CAF 100MST5 # 100 MSECS
023695,000885: 23,3014 54030 TS TIME5
023696,000886: 23,3015 33037 CAF STIKBITS
023697,000887: 23,3016 00006 EXTEND
023698,000888: 23,3017 06031 RXOR CHAN31 # CHECK IF MAN ROT BITS SAME
023699,000889: 23,3020 73037 MASK STIKBITS
023700,000890: 23,3021 04740 TC IBNKCALL # SET RATE INDICES
023701,000891: 23,3022 43130 CADR STICKCHK # FOR PITCH YAW AND ROLL
023702,000892:
023703,000893: 23,3023 51656 INDEX RMANNDX # SET SATURN RATES
023704,000894: 23,3024 31721 CA SATRATE
023705,000895: 23,3025 55476 TS AK # ROLL
023706,000896: 23,3026 51657 INDEX PMANNDX
023707,000897: 23,3027 31721 CA SATRATE
023708,000898: 23,3030 55477 TS AK1 # PITCH
023709,000899: 23,3031 51660 INDEX YMANNDX
023710,000900: 23,3032 31721 CA SATRATE
023711,000901: 23,3033 55500 TS AK2 # YAW
023712,000902:
023713,000903: 23,3034 04740 TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
023714,000904: 23,3035 42420 CADR NEEDLER
023715,000905: 23,3036 15333 TCF RESUME # END OF SATURN STICK CONTROL
023716,000906:
023717,000907: 23,3037 00077 STIKBITS OCT 00077
023718,000908: 23,3040 37766 100MST5 DEC 16374 B-14
023719,000909: 23,3041 E6,1704 EBANK= BODY3
023720,000910: 23,3041 03006 46066 2SATSTCK 2CADR SATSTICK
End of include-file P11.agc. Parent file is MAIN.agc