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