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