Source Code
![]() |
This is the source-code for the Apollo 9 Command Module's Guidance Computer.
These files were derived originally from the scan from MIT's Dibner Institute's
now-discontinued website titled "History of Recent Science and Technology", which
in turn was originally created by Gary Neff, though his high-quality scans were
unfortunately reduced in legibility when presented online.
The markings on the front of the
printout imply that it was the original AGC developer Norm Brodeur's copy.
A scan by Ron Burkey has superceded it, made from a more-legible copy from the collection of original
AGC developer Fred Martin. The source code was transcribed from
those images by Ron Burkey. Note that the page images
presented online are of reduced quality, and that higher-quality images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:ASSEMBLE REVISION 249 OF AGC PROGRAM COLOSSUS BY NASA 2021111-041 20'35 OCT. 28,1968Note that the date is the date of the printout, not the date of the program revision. |
023030,000002: ## Copyright: Public domain.
023031,000003: ## Filename: P11.agc
023032,000004: ## Purpose: Part of the source code for Colossus, build 249.
023033,000005: ## It is part of the source code for the Command Module's (CM)
023034,000006: ## Apollo Guidance Computer (AGC), for Apollo 9.
023035,000007: ## Assembler: yaYUL
023036,000008: ## Reference: pp. 524-540.
023037,000009: ## Contact: Ron Burkey <info@sandroid.org>.
023038,000010: ## Website: www.ibiblio.org/apollo.
023039,000011: ## Mod history: 08/13/04 RSB Began transcribing.
023040,000012: ## 2011-05-07 JL Flag SBANK= workarounds for future removal.
023041,000013: ## 2017-01-06 RSB Page numbers now agree with those on the
023042,000014: ## original hardcopy, as opposed to the PDF page
023043,000015: ## numbers in 1701.pdf.
023044,000016: ## 2017-01-15 RSB Cross-diff'd comment text (not whitespace)
023045,000017: ## vs the already-proofed corresponding Colossus
023046,000018: ## 237 and Comanche 55 source-code files
023047,000019: ## and corrected errors found. Matches Colossus 237
023048,000020: ## comment-text after corrections, but not Comanche 55.
023049,000021: ## 2017-06-17 MAS Globally removed all SBANK= workarounds.
023050,000022: ##
023051,000023: ## The contents of the "Colossus249" files, in general, are transcribed
023052,000024: ## from a scanned copy of the program listing. Notations on this
023053,000025: ## document read, in part:
023054,000026: ##
023055,000027: ## Assemble revision 249 of AGC program Colossus by NASA
023056,000028: ## 2021111-041. October 28, 1968.
023057,000029: ##
023058,000030: ## This AGC program shall also be referred to as
023059,000031: ## Colossus 1A
023060,000032: ##
023061,000033: ## Prepared by
023062,000034: ## Massachusetts Institute of Technology
023063,000035: ## 75 Cambridge Parkway
023064,000036: ## Cambridge, Massachusetts
023065,000037: ## under NASA contract NAS 9-4065.
023066,000038: ##
023067,000039: ## Refer directly to the online document mentioned above for further information.
023068,000040: ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
023069,000041: ##
023070,000042: ## In some cases, where the source code for Luminary 131 overlaps that of
023071,000043: ## Colossus 249, this code is instead copied from the corresponding Luminary 131
023072,000044: ## source file, and then is proofed to incorporate any changes.
023073,000045:
![]() |
Page 524 |
023075,000047: # EARTH ORBIT INSERTION MONITOR PROGRAM
023076,000048: # *************************************
023077,000049:
023078,000050: # PROGRAM DESCRIPTION -P11-
023079,000051:
023080,000052: # MOD NO. 1
023081,000053: # MOD BY ELIASSEN
023082,000054:
023083,000055: # FUNCTIONAL DESCRIPTION
023084,000056:
023085,000057: # P11 IS INITIATED BY
023086,000058:
023087,000059: # A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
023088,000060: # B) BACKUP THRU VERB 75 ENTER
023089,000061:
023090,000062: # PROGRAM WILL
023091,000063:
023092,000064: # 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
023093,000065: # 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
023094,000066: # 3. INITIATE SERVICER AT PREREAD1
023095,000067: # 4. CHANGE MAJOR MODE TO 11
023096,000068: # 5. CLEAR DSKY IN CASE OF V 75
023097,000069: # 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
023098,000070: # 7. TERMINATE GYROCOMPASSING - -
023099,000071: # 8. COMPUTE INITIAL VECTORS RN, VN - - -
023100,000072: # 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
023101,000073: # - - X Y Z
023102,000074: # U =UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
023103,000075: # Z
023104,000076: # - - -
023105,000077: # U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH
023106,000078: # X
023107,000079: # - - -
023108,000080: # U =U * U
023109,000081: # U Z X
023110,000082: # 10. SET REFSMMAT KNOWN FLAG
023111,000083: # 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
023112,000084: # COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS
023113,000085:
023114,000086: # R1 V1 - INTERTIAL VELOCITY MAGNITUDE IN FPS
023115,000087: # R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
023116,000088: # R3 H - VEHICLE ALTITUDE ABOVE PAD IN NM
023117,000089: #
023118,000090: # 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
023119,000091:
023120,000092: # A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
023121,000093: # DESIRED ATTITUDE IS AS STORED AT L.O.
023122,000094: # B) FROM RPSTART TO POLYSTOP (APPROX. +10 TO +133SECS AFTER LO)
023123,000095: # DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
023124,000096: # POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
![]() |
Page 525 |
023126,000098: # THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
023127,000099: # EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1
023128,000100:
023129,000101: # SUBROUTINES CALLED
023130,000102:
023131,000103: # 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
023132,000104: # DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
023133,000105: # INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
023134,000106: # POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
023135,000107: # SERVEXIT TASKOVER TCDANZIG V1ST02S WAITLIST
023136,000108:
023137,000109: # ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
023138,000110:
023139,000111: # DSKY -
023140,000112: # MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
023141,000113: # R2 MINUTES
023142,000114:
023143,000115: # DSKY -
023144,000116: # MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
023145,000117: # R2 PERIGEE ALTITUDE IN NAUTICAL MILES
023146,000118: # R3 TFF IN MINUTES/SECS
023147,000119:
023148,000120: # IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
023149,000121: # HIT KEY RELEASE BUTTON TO RETURN TO NORMAL NOUN 62 DISPLAY
023150,000122:
023151,000123: # NORMAL EXIT MODE
023152,000124:
023153,000125: # ASTRONAUT VERB 37 ENTER 00 ENTER
023154,000126:
023155,000127: # ALARM MODES - NONE
023156,000128:
023157,000129: # ABORT EXIT MODES -
023158,000130:
023159,000131: # EARLY BOOST ABORT FOLLOWED BY REENTRY V 37 E 62 E
023160,000132: # LATE BOOST ABORT FOLLOWED BY REENTRY V 37 E 61 E
023161,000133:
023162,000134: # OUTPUT
023163,000135:
023164,000136: # TLIFTOFF (DP) TEPHEM (TP)
023165,000137: # REFSMMAT
023166,000138: # DSKY DISPLAY
023167,000139: # FDAI DISPLAY
023168,000140:
023169,000141: # ERASABLE INITIALIZATION
023170,000142:
023171,000143: # AZO, AXO, -AYO
023172,000144: # LATITUDE
023173,000145: # PADLONG
023174,000146: # TEPHEM
023175,000147: # PGNCSALT
![]() |
Page 526 |
023177,000149: # POLYNUM THRU POLYNUM +14D)
023178,000150: # RPSTART
023179,000151: # POLYSTOP
023180,000152:
023181,000153: # FLAGS SET OR RESET
023182,000154:
023183,000155: # SET REFSMFLG
023184,000156: # SET DVMON IDLE FLAG
023185,000157: # CLEAR ERADFLAG
023186,000158:
023187,000159: # DEBRIS
023188,000160:
023189,000161: # LIFTTEMP
023190,000162: # POLYNUM THRU POLYNUM +7
023191,000163: # SPOLYARG
023192,000164: # BODY1, BODY2, BODY3
023193,000165: # VMAG2, ALTI, HDOT
023194,000166: # CENTRALS, CORE SET AND VAC AREAS
023195,000167:
023196,000168: 04,3447 COUNT 34/P11
023197,000169:
023198,000170: 04,3447 4730 BITS5-6 = SUPER011
023199,000171: 42,3521 BANK 42
023200,000172: 34,2000 SETLOC P11ONE
023201,000173: 34,2000 BANK
023202,000174:
023203,000175: 34,2002 E3,1706 EBANK= TEPHEM
023204,000176: 34,2002 34744 P11 CA EBANK3
023205,000177: 34,2003 54003 TS EBANK
023206,000178:
023207,000179: 34,2004 00006 EXTEND
023208,000180: 34,2005 32273 DCA REP11S # DIRECT RESTARTS TO REP11
023209,000181: 34,2006 52757 DXCH -PHASE3
023210,000182: 34,2007 44714 CS ZERO
023211,000183: 34,2010 22007 ZL
023212,000184: 34,2011 55265 TS LIFTTEMP
023213,000185: 34,2012 52763 DXCH -PHASE5 # INACTIVE GROUP 5, PRELAUNCH PROTECTION
023214,000186: 34,2013 00006 P11+7 EXTEND
023215,000187: 34,2014 32275 DCA REP11SA
023216,000188: 34,2015 53337 DXCH TLIFTOFF
023217,000189:
023218,000190: 34,2016 00006 EXTEND
023219,000191: 34,2017 30025 DCA TIME2
023220,000192: 34,2020 53266 DXCH LIFTTEMP # FOR RESTARTS
023221,000193:
023222,000194: 34,2021 34714 CA ZERO
023223,000195: 34,2022 22007 ZL
023224,000196: 34,2023 52025 DXCH TIME2
023225,000197: 34,2024 53337 REP11A-2 DXCH TLIFTOFF
023226,000198: 34,2025 52757 REP11A-1 DXCH -PHASE3 # RESET PHASE
![]() |
Page 527 |
023228,000200: 34,2026 00004 REP11A INHINT
023229,000201: 34,2027 00006 EXTEND
023230,000202: 34,2030 31710 DCA TEPHEM +1
023231,000203: 34,2031 53271 DXCH TEPHEM1 +1
023232,000204: 34,2032 31706 CA TEPHEM
023233,000205: 34,2033 57267 XCH TEPHEM1
023234,000206:
023235,000207: 34,2034 00006 EXTEND
023236,000208: 34,2035 31337 DCA TLIFTOFF
023237,000209: 34,2036 21271 DAS TEPHEM1 +1
023238,000210: 34,2037 27267 ADS TEPHEM1 # CORRECTOFOR OVERFLOW
023239,000211:
023240,000212: 34,2040 05301 TC PHASCHNG
023241,000213: 34,2041 05023 OCT 05023
023242,000214: 34,2042 22000 OCT 22000
023243,000215:
023244,000216: 34,2043 00004 INHINT
023245,000217: 34,2044 00006 EXTEND
023246,000218: 34,2045 31270 DCA TEPHEM1
023247,000219: 34,2046 53707 DXCH TEPHEM
023248,000220: 34,2047 31271 CA TEPHEM1 +2
023249,000221: 34,2050 57710 XCH TEPHEM +2
023250,000222:
023251,000223: 34,2051 32000 CAF EBDVCNT
023252,000224: 34,2052 54003 TS EBANK
023253,000225: 34,2053 E7,1431 EBANK= DVCNTR
023254,000226: 34,2053 04633 TC IBNKCALL
023255,000227: 34,2054 76625 CADR PREREAD1 # ZERO PIPS AND INITIALIZE AVERAGEG
023256,000228:
023257,000229: 34,2055 05301 TC PHASCHNG
023258,000230: 34,2056 05023 OCT 05023 # CONTINUE HERE ON RESTART
023259,000231: 34,2057 22000 OCT 22000
023260,000232:
023261,000233: 34,2060 34731 CAF .5SEC # START ATT ERROR DISPLAY
023262,000234: 34,2061 05140 TC WAITLIST # IN .5 SEC
023263,000235: 34,2062 E6,1704 EBANK= BODY3
023264,000236: 34,2062 02314 70066 2CADR ATERTASK
023265,000237:
023266,000238: 34,2064 05243 TC NEWMODEX # DISPLAY MM 11
023267,000239: 34,2065 00013 MM 11 B-14
023268,000240:
023269,000241: 34,2066 04555 TC BANKCALL
023270,000242: 34,2067 20607 CADR CLEANDSP # CLEAR DSKY IN CASE OF V75
023271,000243:
023272,000244: 34,2070 05261 TC 2PHSCHNG
023273,000245: 34,2071 40514 OCT 40514 # PROTECT ATERTASK
023274,000246: 34,2072 00073 OCT 00073
023275,000247: 34,2073 32001 CAF EBQPLACE
023276,000248: 34,2074 54003 TS EBANK
![]() |
Page 528 |
023278,000250: 34,2075 E5,1426 EBANK= QPLACES
023279,000251: 34,2075 32276 CA P11XIT # SET EXIT FROM PROUT IN EARTHR
023280,000252: 34,2076 55426 TS QPLACES
023281,000253: 34,2077 22007 ZL # STORE DP GIMBAL
023282,000254: 34,2100 30032 CA CDUX # ANGLES FOR ATTITUDE
023283,000255: 34,2101 53760 DXCH OGC # ERROR DISPLAY
023284,000256: 34,2102 22007 ZL # AFTER L.O.
023285,000257: 34,2103 30033 CA CDUY
023286,000258: 34,2104 53762 DXCH IGC
023287,000259: 34,2105 22007 ZL
023288,000260: 34,2106 30034 CA CDUZ
023289,000261: 34,2107 53764 DXCH MGC
023290,000262: 34,2110 06006 TC INTPRET # -
023291,000263: 34,2111 74575 VLOAD VSR1 # SCALE OGC B-1
023292,000264: 34,2112 02760 OGC
023293,000265: 34,2113 02760 STORE OGC
023294,000266: 34,2114 64375 VLOAD MXV
023295,000267: 34,2115 02467 THETAN
023296,000268: 34,2116 02672 XSM
023297,000269: 34,2117 53372 VSL1 VAD
023298,000270: 34,2120 02650 ERCOMP
023299,000271: 34,2121 16650 STODL ERCOMP
023300,000272: 34,2122 01337 TLIFTOFF
023301,000273: 34,2123 52131 SSP GOTO
023302,000274: 34,2124 00052 S2
023303,000275: 34,2125 66424 CADR PROUT # RETURN FROM EARTHR
023304,000276: 34,2126 66373 EARTHR +3
023305,000277: 34,2127 06006 MATRXJOB TC INTPRET
023306,000278: 34,2130 77731 SSP # ZERO RTX2
023307,000279: 34,2131 03747 RTX2 # FOR
023308,000280: 34,2132 00000 0 # EARTH
023309,000281: 34,2133 65345 DLOAD PDDL
023310,000282: 34,2134 01273 PGNCSALT # ALTITUDE OF PGNCS
023311,000283: 34,2135 01264 PADLONG # LONGITUDE
023312,000284: 34,2136 55525 PDDL VDEF
023313,000285: 34,2137 02403 LATITUDE # GEODETIC LATITUDE
023314,000286: 34,2140 15104 STODL LAT # LAT,LONG,ALT ARE CONSECUTIVE
023315,000287: 34,2141 15332 HI6ZEROS # TIME = 0
023316,000288: 34,2142 45014 CLEAR CALL
023317,000289: 34,2143 00662 ERADFLAG
023318,000290: 34,2144 26373 LALOTORV # CONVERT TO POSITION VECTOR IN REF. COORDS
023319,000291:
023320,000292: 34,2145 35232 STCALL RN1 # -
023321,000293: 34,2146 77256 CALCGRAV # RETURN WITH GRAVITY
023322,000294: 34,2147 77656 UNIT # IN MPAC
023323,000295: 34,2150 25752 STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
023324,000296: 34,2151 01232 RN1
023325,000297: 34,2152 74235 VXV VXSC
023326,000298: 34,2153 01714 UNITW # SCALED AT 1
023327,000299: 34,2154 30300 -ERTHRAT # V = EARTHRATE X R
![]() |
Page 529 |
023329,000301: 34,2155 77712 VSL4 # SCALE TO 2(7) M/CS
023330,000302: 34,2156 25240 STOVL VN1
023331,000303: 34,2157 01752 REFSMMAT +12D
023332,000304: 34,2160 53435 VXV UNIT
023333,000305: 34,2161 01714 UNITW # (REF3 X UNITW) = EAST
023334,000306: 34,2162 47206 PUSH VXV
023335,000307: 34,2163 01752 REFSMMAT +12D # (EAST X REF3) = -SOUTH
023336,000308: 34,2164 65256 UNIT PDDL
023337,000309: 34,2165 02634 LAUNCHAZ # COS(AZ)*SOUTH
023338,000310: 34,2166 74346 COS VXSC
023339,000311: 34,2167 77626 STADR
023340,000312: 34,2170 62041 STODL REFSMMAT # TEMPORARY STORAGE
023341,000313: 34,2171 02634 LAUNCHAZ
023342,000314: 34,2172 74356 SIN VXSC # SIN(AZ)*EAST
023343,000315: 34,2173 53455 VAD UNIT # SIN(AZ)*EAST - COS(AZ)*SOUTH = REF1
023344,000316: 34,2174 01736 REFSMMAT
023345,000317: 34,2175 01736 STORE REFSMMAT
023346,000318:
023347,000319: 34,2176 53435 VXV UNIT # (REF1 X REF3) = -REF3
023348,000320: 34,2177 01752 REFSMMAT +12D
023349,000321: 34,2200 77676 VCOMP
023350,000322: 34,2201 01744 STORE REFSMMAT +6
023351,000323: 34,2202 45345 DLOAD DSU
023352,000324: 34,2203 15330 DPHALF # 1/2 REV
023353,000325: 34,2204 02634 LAUNCHAZ
023354,000326: 34,2205 65215 DAD PDDL
023355,000327: 34,2206 02401 AZIMUTH
023356,000328: 34,2207 03301 SATRLRT # SET SATRLRT = -SATRLRT IF
023357,000329: 34,2210 45565 SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
023358,000330: 34,2211 74476 STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
023359,000331: 34,2212 77414 SET EXIT
023360,000332: 34,2213 01462 REFSMFLG # SET REFSMMAT KNOWN FLAG
023361,000333:
023362,000334: 34,2214 05301 TC PHASCHNG
023363,000335: 34,2215 04023 OCT 04023
023364,000336:
023365,000337: 34,2216 00006 EXTEND
023366,000338: 34,2217 32302 DCA P11SCADR
023367,000339: 34,2220 53223 DXCH AVGEXIT # SET AVGEXIT
023368,000340:
023369,000341: 34,2221 37665 CA PRIO31 # 2 SECONDS AT 2(+8)
023370,000342: 34,2222 55074 TS 1/PIPADT
023371,000343:
023372,000344: 34,2223 E6,1501 EBANK= RCSFLAGS
023373,000345: 34,2223 34752 CA EBANK6
023374,000346: 34,2224 54003 TS EBANK
023375,000347:
023376,000348: 34,2225 00004 INHINT
023377,000349: 34,2226 44714 CS ZERO
023378,000350: 34,2227 55063 TS TBASE5 # RESTART READACCS 2 SECONDS AFTER LIFTOFF
![]() |
Page 530 |
023380,000352: 34,2230 40025 CS TIME1
023381,000353: 34,2231 64735 AD 2SECS # DO READACCS 2 SECONDS AFTER LIFTOFF
023382,000354:
023383,000355: 34,2232 10000 CCS A # CHECK TO INSURE DT IS POSITIVE
023384,000356: 34,2233 12236 TCF +3 # TIME POSITIVE
023385,000357: 34,2234 12236 TCF +2 # CANNOT GET HERE
023386,000358: 34,2235 34714 CA ZERO # TIME NEGATIVE - SET TO 1
023387,000359: 34,2236 64712 AD ONE # RESTORE TIME - OR MAKE POSITIVE
023388,000360:
023389,000361: 34,2237 05140 TC WAITLIST
023390,000362: 34,2240 E6,1661 EBANK= AOG
023391,000363: 34,2240 02647 76066 2CADR READACCS
023392,000364:
023393,000365: 34,2242 05261 TC 2PHSCHNG
023394,000366: 34,2243 00003 OCT 00003 # TURN OFF GROUP 3
023395,000367: 34,2244 00025 OCT 00025 # PROTECT NORMLIZE AND READACCS
023396,000368:
023397,000369: 34,2245 04574 TC POSTJUMP
023398,000370: 34,2246 77141 CADR NORMLIZE # DO NORMLIZE AND ENDOFJOB
023399,000371: 34,2247 E3,1706 EBANK= TEPHEM
023400,000372: 34,2247 00004 REP11 INHINT
023401,000373: 34,2250 10763 CCS PHASE5
023402,000374: 34,2251 05112 TC ENDOFJOB
023403,000375:
023404,000376: 34,2252 11265 CCS LIFTTEMP
023405,000377: 34,2253 12257 TCF +4
023406,000378: 34,2254 12257 TCF +3
023407,000379: 34,2255 12257 TCF +2
023408,000380: 34,2256 12013 TCF P11+7
023409,000381:
023410,000382: 34,2257 41336 CS TLIFTOFF
023411,000383: 34,2260 00006 EXTEND
023412,000384: 34,2261 62267 BZMF ENDREP11
023413,000385:
023414,000386: 34,2262 10024 CCS TIME2 # ** TIME2 MUST BE NON-ZERO AT LIFTOFF **
023415,000387: 34,2263 12021 TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT
023416,000388:
023417,000389: 34,2264 00006 EXTEND # T2,T1 ZEROED, SET TLIFTOFF
023418,000390: 34,2265 31266 DCA LIFTTEMP
023419,000391: 34,2266 12024 TCF REP11A-2
023420,000392:
023421,000393: 34,2267 00006 ENDREP11 EXTEND
023422,000394: 34,2270 32275 DCA REP11SA
023423,000395: 34,2271 12025 TCF REP11A-1
023424,000396: 34,2272 77766 00011 REP11S 2OCT 7776600011
![]() |
Page 531 |
023426,000398: 34,2274 77764 00013 REP11SA 2OCT 7776400013
023427,000399:
023428,000400: 34,2276 02451 P11XIT GENADR P11OUT
023429,000401: 34,2277 71704 41735 -ERTHRAT 2DEC* -7.292115138 E-7 B18* # - EARTH RATE AT 2(18)
023430,000402:
023431,000403: 34,2301 E6,1704 EBANK= BODY3
023432,000404: 34,2301 02303 70066 P11SCADR 2CADR VHHDOT
023433,000405:
023434,000406: 34,2303 E6,1704 EBANK= BODY3
023435,000407: # VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
023436,000408: # VI INERTIAL VELOCITY MAGNITUDE
023437,000409: # HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
023438,000410: # H ALTITUDE ABOVE L PAD RADIUS
023439,000411:
023440,000412: 34,2303 06006 VHHDOT TC INTPRET
023441,000413: 34,2304 77624 CALL # LOAD VMAGI, ALTI,
023442,000414: 34,2305 70436 S11.1 # HDOT FOR DISPLAY
023443,000415: 34,2306 77776 EXIT
023444,000416: 34,2307 32511 CAF V06N62 # DISPLAY IN R1 R2 R3
023445,000417: 34,2310 04555 TC BANKCALL # VI HDOT H
023446,000418: 34,2311 20621 CADR REGODSPR # DISPLAY INTERFACE - IMMEDIATE RETURN
023447,000419: 34,2312 04555 TC BANKCALL
023448,000420: 34,2313 77132 CADR SERVEXIT # END OF P11SERVE CYCLE
023449,000421: 34,2314 34701 ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS
023450,000422: 34,2315 05042 TC FINDVAC # COMES HERE AT L.O. + .33 SEC
023451,000423: 34,2316 E6,1704 EBANK= BODY3
023452,000424: 34,2316 02326 70066 2CADR ATERJOB
023453,000425:
023454,000426: 34,2320 41501 CS RCSFLAGS # SET BIT3 FOR
023455,000427: 34,2321 74710 MASK BIT3 # NEEDLER
023456,000428: 34,2322 27501 ADS RCSFLAGS # INITIALIZATION PASS
023457,000429: 34,2323 04633 TC IBNKCALL # AND GO
023458,000430: 34,2324 42404 CADR NEEDLER # DO IT
023459,000431: 34,2325 05213 TC TASKOVER
023460,000432:
023461,000433: # THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST
023462,000434:
023463,000435: # COMPUTE DESIRED PITCH W.R.T. LAUNCH SITE LOCAL VERTICAL.
023464,000436: # PITCH = -.0000469184028+.00137571556*T+.0231502280*T*T-.0205929365*T*T*T
023465,000437: # SCALED TO 32 REVOLUTIONS
023466,000438: # IF TL = TIME FROM LAUNCH IN SECONDS, THEN T = 100(TL-10SEC)/(2**14)
023467,000439: # WHERE TL GE 10 SEC
023468,000440: # TL LE 133 SEC .
023469,000441:
023470,000442: # COMPUTE DESIRED ROLL WHERE ROLL EQUALS COUNTER-CLOCKWISE ANGLE FROM
023471,000443: # LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
023472,000444: # ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T IN REV
023473,000445: # SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
023474,000446: # T, IN CENTI-SEC, IS DEFINED AS ABOVE, INCLUSIVE OF TIME RESTRICTIONS
![]() |
Page 532 |
023476,000448:
023477,000449: # FOR SIMPLICITY, LET P = 2*PI*PITCH
023478,000450: # R = 2*PI*ROLL
023479,000451:
023480,000452: # CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
023481,000453: # TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
023482,000454: # YDC, AND ZDC.
023483,000455:
023484,000456: # * ( SIN(P) 0 -COS(P) ) (XDC)
023485,000457: # TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
023486,000458: # (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
023487,000459:
023488,000460: # XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
023489,000461: # EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
023490,000462: # ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
023491,000463: # AS THE DESIRED CDU ANGLES.
023492,000464:
023493,000465: # (XDC) (OGC)
023494,000466: # (YDC) ---) CALCGTA ---) (IGC)
023495,000467: # (ZDC) (MGC)
023496,000468: # -
023497,000469: # DEFINE THE VECTOR DELTACDU.
023498,000470:
023499,000471: # - (OGC) (CDUX)
023500,000472: # DELTACDU = (IGC) - (CDUY)
023501,000473: # (MGC) (CDUZ)
023502,000474: # - - * -
023503,000475: # COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
023504,000476:
023505,000477: # * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
023506,000478: # TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
023507,000479: # (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX
023508,000480: # -
023509,000481: # THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
023510,000482: # THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
023511,000483: # ERROR DISPLAY ROUTINE.
023512,000484:
023513,000485: 34,2326 30024 ATERJOB CAE TIME2 # CHECK IF MORE THAN
023514,000486: 34,2327 00006 EXTEND # 164 SECONDS FROM L.O.
023515,000487: 34,2330 62332 BZMF +2
023516,000488: 34,2331 12424 TCF SATCLEAR # YES - CLEAR ERROR COUNTER + EXIT
023517,000489: 34,2332 30102 CAE FLAGWRD6 # CHECK FLAGWRD6
023518,000490: 34,2333 74105 MASK OCT60000 # BITS 14 + 15
023519,000491: 34,2334 00006 EXTEND
023520,000492: 34,2335 12337 BZF ATTDISP # NO SATURN STICK ON
023521,000493: 34,2336 02420 TC ATERSET # EXIT - SATURN STICK IN USE
023522,000494: 34,2337 41702 ATTDISP CS RPSTART # PITCH/ROLL START TIME
023523,000495: 34,2340 60025 AD TIME1
![]() |
Page 533 |
023525,000497: 34,2341 00006 EXTEND
023526,000498: 34,2342 62504 BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD
023527,000499: 34,2343 54154 TS MPAC # MPAC = TIME1 - RPSTART
023528,000500: 34,2344 55707 TS SPOLYARG # SAVE FOR USE IN ROLL CALCULATION
023529,000501: 34,2345 61703 AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
023530,000502: 34,2346 00006 EXTEND
023531,000503: 34,2347 62351 BZMF +2
023532,000504: 34,2350 12416 TCF SATOUT # EXIT IF TIME1 GR THAN (RPSTART-POLYSTOP)
023533,000505: 34,2351 31661 CAE POLYNUM
023534,000506: 34,2352 54001 TS L
023535,000507: 34,2353 32510 CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
023536,000508: 34,2354 07164 TC POWRSERS # SCALED TO 32 REVOLUTIONS
023537,000509:
023538,000510: # THE FOLLOWING PAD LOADED COEFFICIENTS ARE
023539,000511: # USED TO COMPUTE THE PITCH POLYNOMIAL
023540,000512:
023541,000513: # ----- SUNDISK SI COEFS -----
023542,000514: # POLYNUM FIVE POLYNOMIAL DEGREE -1
023543,000515: # +1 2DEC -.469184028 E-4 A0
023544,000516: # +3 2DEC .137571556 E-2 A1
023545,000517: # +5 2DEC .231502280 E-1 A2
023546,000518: # +7 2DEC -.205929365 E-1 A3
023547,000519: # +9D 2DEC 0 A4
023548,000520: # +11D 2DEC 0 A5
023549,000521: # +13D 2DEC 0 A6
023550,000522: # POLYLOC = POLYNUM +10D
023551,000523:
023552,000524: 34,2355 34714 CA ZERO # RETURN WITH PITCH(32REV)
023553,000525: 34,2356 54163 TS MODE # STORED IN MPAC, MPAC +1
023554,000526: 34,2357 06006 TC INTPRET
023555,000527: 34,2360 54201 SETPD SL # 32(PITCH(32REV)) = PITCH(REV)
023556,000528: 34,2361 00001 0
023557,000529: 34,2362 20206 5
023558,000530: 34,2363 77606 PUSH # LET P(RAD) = 2*PI*PITCH(REV)
023559,000531:
023560,000532: 34,2364 77650 GOTO
023561,000533: 34,2365 76103 ATTDISP1 # AROUND SETLOC
023562,000534:
023563,000535: # *
023564,000536: # CONSTRUCT SM TO S/C MATRIX, TSMV
023565,000537:
023566,000538: 37,2000 SETLOC P11TWO
023567,000539: 37,2000 BANK # 36 IN COL., 34 IN DISK
023568,000540:
023569,000541: 37,2103 COUNT 36/P11
023570,000542:
023571,000543: 37,2103 57546 ATTDISP1 COS DCOMP
023572,000544: 37,2104 14017 STODL 14D # -.5*COS(P)
023573,000545: 37,2105 77756 SIN
023574,000546: 37,2106 14013 STODL 10D # .5*SIN(P)
023575,000547: 37,2107 15332 ZEROVECS
![]() |
Page 534 |
023577,000549: 37,2110 00015 STORE 12D # 0
023578,000550:
023579,000551: # EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
023580,000552:
023581,000553: 37,2111 41335 SLOAD DMP
023582,000554: 37,2112 03310 SPOLYARG # TIME1 - RPSTART, CSECS B-14.
023583,000555: 37,2113 03301 SATRLRT
023584,000556: 37,2114 45261 SL DSU
023585,000557: 37,2115 20217 14D
023586,000558: 37,2116 15330 DPHALF
023587,000559: 37,2117 45215 DAD DSU # ASSUMING X(SM) ALONG LAUNCH AZIMUTH,
023588,000560: 37,2120 02634 LAUNCHAZ # LAUNCHAZ = ANGLE FROM NORTH TO X(SM).
023589,000561: 37,2121 02401 AZIMUTH # AZIMUTH = -ANGLE FROM NORTH TO Z(S/C)
023590,000562: 37,2122 77634 RTB # DETERMINE IF ROLLOUT
023591,000563: 37,2123 70473 RLTST # IS COMPLETED
023592,000564: 37,2124 71406 ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
023593,000565: 37,2125 77606 PUSH # LET R(RAD) = 2*PI*ROLL(REV)
023594,000566: 37,2126 72405 DMP SL1
023595,000567: 37,2127 00017 14D
023596,000568: 37,2130 14027 STODL 22D # -.5*COS(R)*COS(P)
023597,000569: 37,2131 77676 DCOMP
023598,000570: 37,2132 00023 STORE 18D # -.5*COS(R)
023599,000571: 37,2133 72405 DMP SL1
023600,000572: 37,2134 00013 10D
023601,000573: 37,2135 14033 STODL 26D # -.5*COS(R)*SIN(P)
023602,000574: 37,2136 41556 SIN PUSH
023603,000575: 37,2137 00031 STORE 24D # .5*SIN(R)
023604,000576: 37,2140 72405 DMP SL1
023605,000577: 37,2141 00017 14D
023606,000578: 37,2142 14021 STODL 16D # -.5*SIN(R)*COS(P)
023607,000579: 37,2143 77676 DCOMP
023608,000580: 37,2144 72405 DMP SL1
023609,000581: 37,2145 00013 10D
023610,000582: 37,2146 24025 STOVL 20D # -.5*SIN(R)*SIN(P)
023611,000583: 37,2147 00013 10D
023612,000584:
023613,000585: # FROM TSMV FIND THE HALF UNIT VECTORS XDC,YDC,ZDC = INPUT TO CALCGTA
023614,000586:
023615,000587: 37,2150 77656 UNIT
023616,000588: 37,2151 26714 STOVL XDC # XDC = .5*UNIT(SIN(P),0,-COS(P))
023617,000589: 37,2152 00021 16D
023618,000590: 37,2153 77656 UNIT
023619,000591: 37,2154 26722 STOVL YDC # YDC = .5*UNIT(-SIN(R)*COS(P),-COS(R),
023620,000592: 37,2155 00027 22D # -SIN(R)*SIN(P))
023621,000593: 37,2156 77656 UNIT
023622,000594: 37,2157 36730 STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
023623,000595: 37,2160 47140 CALCGTA # -COS(R)*SIN(P))
023624,000596:
023625,000597: # CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC, AND MGC
023626,000598: # - - -
023627,000599: # FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX
![]() |
Page 535 |
023629,000601: # ENTER HERE IF ATTITUDE HOLD
023630,000602:
023631,000603: 37,2161 41575 NOPOLYM VLOAD PUSH # OGC IGC
023632,000604: 37,2162 02760 OGC # CHANGE IGC TO MGC FOR COMPATIBILITY
023633,000605: 37,2163 45006 PUSH CALL # MGC OGC
023634,000606: 37,2164 47432 CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT
023635,000607: 37,2165 47175 VLOAD RTB # - DPHI OGC-CDUX , PD4
023636,000608: 37,2166 00003 2 # DELTACDU = DTHETA = IGC-CDUY , 0
023637,000609: 37,2167 45547 V1STO2S # DPSI MGC-CDUZ , 2
023638,000610: 37,2170 27317 STOVL BOOSTEMP
023639,000611: 37,2171 15332 ZEROVECS
023640,000612: 37,2172 24001 STOVL 0
023641,000613: 37,2173 00767 CDUSPOT
023642,000614: 37,2174 47034 RTB RTB
023643,000615: 37,2175 45547 V1STO2S
023644,000616: 37,2176 70453 DELSTOR
023645,000617: 37,2177 14013 STODL 10D
023646,000618: 37,2200 00741 SINCDUZ
023647,000619: 37,2201 72405 DMP SL1
023648,000620: 37,2202 00001 0
023649,000621: 37,2203 60415 DAD SR2 # CHANGE SCALE OF AK TO 2REVS
023650,000622: 37,2204 00005 4
023651,000623: 37,2205 77650 GOTO
023652,000624: 37,2206 70366 ATTDISP2
023653,000625:
023654,000626: 34,2000 SETLOC P11ONE
023655,000627: 34,2000 BANK
023656,000628: 34,2366 COUNT 34/P11
023657,000629:
023658,000630: 34,2366 14021 ATTDISP2 STODL 16D # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
023659,000631: 34,2367 00747 COSCDUZ
023660,000632: 34,2370 41405 DMP PUSH
023661,000633: 34,2371 00001 0
023662,000634: 34,2372 72405 DMP SL1
023663,000635: 34,2373 00751 COSCDUX
023664,000636: 34,2374 41325 PDDL DMP
023665,000637: 34,2375 00743 SINCDUX
023666,000638: 34,2376 00003 2
023667,000639: 34,2377 72415 DAD SL1
023668,000640: 34,2400 77626 STADR
023669,000641: 34,2401 63755 STODL 17D # 17D, .5(DTHETA*COS(CDUX)*COS(CDUZ)
023670,000642: 34,2402 72405 DMP SL1 # +DPSI*SIN(CDUX))
023671,000643: 34,2403 00743 SINCDUX
023672,000644: 34,2404 41325 PDDL DMP
023673,000645: 34,2405 00751 COSCDUX
023674,000646: 34,2406 00003 2
023675,000647: 34,2407 72425 DSU SL1
023676,000648: 34,2410 77626 STADR
023677,000649: 34,2411 77754 STORE 18D # 18D, .5(-DTHETA*SIN(CDUX)*COS(CDUZ)
023678,000650: 34,2412 77751 TLOAD # +DPSI*COS(CDUX))
![]() |
Page 536 |
023680,000652: 34,2413 00021 16D
023681,000653: 34,2414 03077 STORE AK # STORE ATTITUDE ERRORS IN AK,AK1,AK2
023682,000654: 34,2415 77776 EXIT
023683,000655:
023684,000656: # DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER
023685,000657:
023686,000658: 34,2416 04555 SATOUT TC BANKCALL
023687,000659: 34,2417 42404 CADR NEEDLER
023688,000660: 34,2420 34113 ATERSET CAF OCT31 # DELAY .25 SEC
023689,000661: 34,2421 04555 TC BANKCALL # EXECUTION + DELAY = .56SEC APPROX
023690,000662: 34,2422 01732 CADR DELAYJOB
023691,000663: 34,2423 02326 TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE
023692,000664:
023693,000665: 34,2424 44705 SATCLEAR CS BIT6
023694,000666: 34,2425 00006 EXTEND
023695,000667: 34,2426 03012 WAND CHAN12 # CLEAR IMU ERROR COUNTER
023696,000668: 34,2427 05301 TC PHASCHNG # TURN OFF PROTECTION
023697,000669: 34,2430 00004 OCT 00004 # FOR ATTITUDE ERROR DISPLAY
023698,000670: 34,2431 34714 CAF ZERO
023699,000671: 34,2432 55476 TS AK # ZERO OUT
023700,000672: 34,2433 55477 TS AK1 # AKS FOR
023701,000673: 34,2434 55500 TS AK2 # DOWNLINK
023702,000674: 34,2435 05112 TC ENDOFJOB
023703,000675:
023704,000676: 34,2436 51575 S11.1 VLOAD ABVAL
023705,000677: 34,2437 01177 VN
023706,000678: 34,2440 27723 STOVL VMAGI # VI SCALED 2(7) IN METERS/CSEC
023707,000679: 34,2441 01171 RN
023708,000680: 34,2442 45246 ABVAL DSU
023709,000681: 34,2443 05311 RPAD
023710,000682: 34,2444 27735 STOVL ALTI # H SCALED 2(29) IN METERS
023711,000683: 34,2445 01171 RN
023712,000684: 34,2446 50256 UNIT DOT
023713,000685: 34,2447 01177 VN
023714,000686: 34,2450 77752 SL1
023715,000687: 34,2451 03737 STORE HDOT # HDOT SCALED 2(7) IN METERS/CSEC
023716,000688: 34,2452 77616 RVQ
023717,000689: 34,2453 31716 DELSTOR CA BOOSTEMP
023718,000690: 34,2454 00006 EXTEND # STORE DELTACDU INTO PDL 0,2,4
023719,000691: 34,2455 20154 MSU MPAC
023720,000692: 34,2456 50120 INDEX FIXLOC
023721,000693: 34,2457 54000 TS 0
023722,000694: 34,2460 31717 CA BOOSTEMP +1
023723,000695: 34,2461 00006 EXTEND
023724,000696: 34,2462 20155 MSU MPAC +1
023725,000697: 34,2463 50120 INDEX FIXLOC
023726,000698: 34,2464 54002 TS 2
023727,000699: 34,2465 31720 CA BOOSTEMP +2
023728,000700: 34,2466 00006 EXTEND
023729,000701: 34,2467 20156 MSU MPAC +2
![]() |
Page 537 |
023731,000703: 34,2470 50120 INDEX FIXLOC
023732,000704: 34,2471 54004 TS 4
023733,000705: 34,2472 16030 TCF DANZIG
023734,000706: 34,2473 30154 RLTST CA MPAC # DETERMINE IF ROLLOUT
023735,000707: 34,2474 00006 EXTEND # IS COMPLETED
023736,000708: 34,2475 71701 MP SATRLRT +1
023737,000709: 34,2476 00006 EXTEND
023738,000710: 34,2477 66030 BZMF DANZIG # UNLIKE SIGNS STILL ROLLING
023739,000711: 34,2500 00006 EXTEND # ROLLOUT COMPLETED
023740,000712: 34,2501 33561 DCA MBDYTCTL +2 # ZERO OUT ROLL CONTRIBUTION
023741,000713: 34,2502 52155 DXCH MPAC
023742,000714: 34,2503 06030 TC DANZIG
023743,000715: 34,2504 06006 NOPOLY TC INTPRET # COMES HERE IF
023744,000716: 34,2505 52001 SETPD GOTO # ATTITUDE HOLD
023745,000717: 34,2506 00001 0
023746,000718: 34,2507 76161 NOPOLYM
023747,000719: 34,2510 01673 COEFPOLY ADRES POLYLOC
023748,000720: 34,2511 01476 V06N62 VN 0662
023749,000721:
023750,000722: # SATURN TAKEOVER FUNCTION
023751,000723: # ************************
023752,000724: #
023753,000725: # PROGRAM DESCRIPTION
023754,000726:
023755,000727: # MOD NUMBER 1
023756,000728: # MOD BY ELIASSEN
023757,000729:
023758,000730: # FUNCTIONAL DESCRIPTION
023759,000731:
023760,000732: # DURING THE COASTING PHASE OF SIVB ATTACHED, THE
023761,000733: # ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
023762,000734: # EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET).
023763,000735: # THE CMC REGARDS RHC COMMANDS AS BODY-AXES RATE
023764,000736: # COMMANDS AND IT TRANSMITS THESE TO SATURN AS DC
023765,000737: # VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND
023766,000738: # IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE-
023767,000739: # SULTS IN A ZERO RATE COMMAND.
023768,000740:
023769,000741: # THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
023770,000742: # OF THE RATE COMMAND.
023771,000743:
023772,000744: # CALLING SEQUENCE
023773,000745:
023774,000746: # DAPFIG +9D TC POSTJUMP
023775,000747: # CADR SATSTKON
023776,000748:
023777,000749: # SUBROUTINES CALLED
023778,000750:
023779,000751: # ENDEXT
023780,000752: # IBNKCALL
023781,000753: # STICKCHK
![]() |
Page 538 |
023783,000755: # NEEDLER
023784,000756: # T5RUPT
023785,000757: # RESUME
023786,000758:
023787,000759: # ASTRONAUT REQUESTS
023788,000760:
023789,000761: # ENTRY - VERB 46 ENTER
023790,000762: # (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
023791,000763:
023792,000764: # EXIT - VERB 48 ENTER (FLASH V06N46)
023793,000765: # VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
023794,000766: # VERB 34 ENTER
023795,000767: # VERB 46 ENTER
023796,000768:
023797,000769: # NORMAL EXIT MODE
023798,000770:
023799,000771: # VERB 46 ENTER (SEE ASTRONAUT ABOVE)
023800,000772:
023801,000773: # ALARM OR ABORT EXIT MODES
023802,000774:
023803,000775: # NONE
023804,000776:
023805,000777: # OUTPUT
023806,000778:
023807,000779: # SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD
023808,000780:
023809,000781: # ERASABLE INITIALIZATION
023810,000782:
023811,000783: # DAPDATR1 (BITS 13, 14 MUST BE SET)
023812,000784:
023813,000785: # DEBRIS
023814,000786:
023815,000787: # CENTRALS
023816,000788: # CDUXCMD, CDUYCMD, CDUZCMD
023817,000789:
023818,000790: 43,3211 BANK 43
023819,000791: 43,2000 SETLOC EXTVERBS
023820,000792: 43,2000 BANK
023821,000793:
023822,000794: 43,3211 COUNT 23/STTKE
023823,000795: 43,3211 00006 SATSTKON EXTEND
023824,000796: 43,3212 33227 DCA 2REDOSAT
023825,000797: 43,3213 00004 INHINT
023826,000798: 43,3214 53313 DXCH T5LOC
023827,000799: 43,3215 34672 CAF POSMAX
023828,000800: 43,3216 54030 TS TIME5
023829,000801: 43,3217 40102 CS FLAGWRD6 # TURN ON BITS 15,14 OF
023830,000802: 43,3220 74105 MASK RELTAB11 # FLAGWRD6
023831,000803: 43,3221 26102 ADS FLAGWRD6 # SATSTICK CONTROL OF T5
023832,000804: 43,3222 04633 TC IBNKCALL # ZERO JET CHANNELS IN 14 MS AND THEN
![]() |
Page 539 |
023834,000806: 43,3223 42616 CADR ZEROJET # LEAVE THE T6 CLOCK DISABLED
023835,000807: 43,3224 00003 RELINT
023836,000808: 43,3225 02121 TC GOPIN # EXIT THUS BECAUSE WE CAME VIA V46
023837,000809:
023838,000810: 43,3226 E6,1704 EBANK= BODY3
023839,000811: 43,3226 02765 46106 2REDOSAT 2CADR REDOSAT
023840,000812:
023841,000813: 32,2017 BANK 32
023842,000814: 23,2000 SETLOC P11FOUR
023843,000815: 23,2000 BANK
023844,000816:
023845,000817: 23,2765 22016 REDOSAT LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
023846,000818: 23,2766 00006 EXTEND
023847,000819: 23,2767 22012 QXCH QRUPT
023848,000820: 23,2770 41501 CS RCSFLAGS # TURN ON BIT3 OF RCSFLAGX
023849,000821: 23,2771 74710 MASK BIT3 # FOR
023850,000822: 23,2772 27501 ADS RCSFLAGS # NEEDLER INITIALIZATION
023851,000823: 23,2773 04633 TC IBNKCALL
023852,000824: 23,2774 42404 CADR NEEDLER # DISABLE IMU ERR COUNTERS ETC.
023853,000825: 23,2775 34702 CAF BIT9 # SIVB
023854,000826: 23,2776 00006 EXTEND # TAKEOVER
023855,000827: 23,2777 05012 WOR CHAN12 # ENABLE
023856,000828: 23,3000 00006 EXTEND # SET UP T5 CYCLE
023857,000829: 23,3001 33046 DCA 2SATSTCK
023858,000830: 23,3002 53313 DXCH T5LOC
023859,000831: 23,3003 33044 CAF 100MST5 # IN 100 MSECS
023860,000832: 23,3004 54030 TS TIME5
023861,000833: 23,3005 15222 TCF RESUME # END OF SATURN STICK INITIALIZATION
023862,000834:
023863,000835: # THIS SECTION IS EXECUTED EVERY 100 MSECS
023864,000836:
023865,000837: 23,3006 22016 SATSTICK LXCH BANKRUPT
023866,000838: 23,3007 00006 EXTEND
023867,000839: 23,3010 22012 QXCH QRUPT
023868,000840:
023869,000841: 23,3011 33045 CAF 2SATSTCK # SET UP RUPT
023870,000842: 23,3012 55312 TS T5LOC # LO ORDER LOC SET
023871,000843: 23,3013 33044 CAF 100MST5 # 100 MSECS
023872,000844: 23,3014 54030 TS TIME5
023873,000845: 23,3015 33043 CAF STIKBITS
023874,000846: 23,3016 00006 EXTEND
023875,000847: 23,3017 06031 RXOR CHAN31 # CHECK IF MAN ROT BITS SAME
023876,000848: 23,3020 73043 MASK STIKBITS
023877,000849: 23,3021 04633 TC IBNKCALL # SET RATE INDICES
023878,000850: 23,3022 43114 CADR STICKCHK # FOR PITCH YAW AND ROLL
023879,000851:
023880,000852: 23,3023 51656 INDEX RMANNDX # SET SATURN RATES
023881,000853: 23,3024 33037 CA SATRATE
023882,000854: 23,3025 55476 TS AK # ROLL
![]() |
Page 540 |
023884,000856: 23,3026 51657 INDEX PMANNDX
023885,000857: 23,3027 33037 CA SATRATE
023886,000858: 23,3030 55477 TS AK1 # PITCH
023887,000859: 23,3031 51660 INDEX YMANNDX
023888,000860: 23,3032 33037 CA SATRATE
023889,000861: 23,3033 55500 TS AK2 # YAW
023890,000862:
023891,000863: 23,3034 04633 TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
023892,000864: 23,3035 42404 CADR NEEDLER
023893,000865: 23,3036 15222 TCF RESUME # END OF SATURN STICK CONTROL
023894,000866: 23,3037 00000 SATRATE DEC 0 B-14 # IN DETENT - ZERO RATE
023895,000867: 23,3040 00476 DEC +318 B-14 # POS RATE .5D/S R, .3D/S P AND Y
023896,000868: 23,3041 77301 DEC -318 B-14 # NEG RATE DITTO
023897,000869: 23,3042 00000 DEC 0 B-14 # POS NEG BITS ON ASSUME IN DETENT
023898,000870:
023899,000871: 23,3043 00077 STIKBITS OCT 00077
023900,000872: 23,3044 37766 100MST5 DEC 16374 B-14
023901,000873: 23,3045 E6,1704 EBANK= BODY3
023902,000874: 23,3045 03006 46106 2SATSTCK 2CADR SATSTICK
023903,000875:
End of include-file P11.agc. Parent file is MAIN.agc