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