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. |
016818,000002: ## Copyright: Public domain.
016819,000003: ## Filename: R60_62.agc
016820,000004: ## Purpose: Part of the source code for Colossus, build 249.
016821,000005: ## It is part of the source code for the Command Module's (CM)
016822,000006: ## Apollo Guidance Computer (AGC), for Apollo 9.
016823,000007: ## Assembler: yaYUL
016824,000008: ## Reference: pp. 383-391.
016825,000009: ## Contact: Ron Burkey <info@sandroid.org>.
016826,000010: ## Website: www.ibiblio.org/apollo.
016827,000011: ## Mod history: 08/10/04 RSB. Began adapting from corresponding Luminary131
016828,000012: ## source file.
016829,000013: ## 2017-01-06 RSB Page numbers now agree with those on the
016830,000014: ## original harcopy, as opposed to the PDF page
016831,000015: ## numbers in 1701.pdf.
016832,000016: ## 2017-01-18 RSB Cross-diff'd comment text (not whitespace)
016833,000017: ## vs the already-proofed corresponding Colossus
016834,000018: ## 237 and Comanche 55 source-code files
016835,000019: ## and corrected errors found.
016836,000020: ##
016837,000021: ## The contents of the "Colossus249" files, in general, are transcribed
016838,000022: ## from a scanned copy of the program listing. Notations on this
016839,000023: ## document read, in part:
016840,000024: ##
016841,000025: ## Assemble revision 249 of AGC program Colossus by NASA
016842,000026: ## 2021111-041. October 28, 1968.
016843,000027: ##
016844,000028: ## This AGC program shall also be referred to as
016845,000029: ## Colossus 1A
016846,000030: ##
016847,000031: ## Prepared by
016848,000032: ## Massachusetts Institute of Technology
016849,000033: ## 75 Cambridge Parkway
016850,000034: ## Cambridge, Massachusetts
016851,000035: ## under NASA contract NAS 9-4065.
016852,000036: ##
016853,000037: ## Refer directly to the online document mentioned above for further information.
016854,000038: ## Please report any errors (relative to the scanned pages) to info@sandroid.org.
016855,000039: ##
016856,000040: ## In some cases, where the source code for Luminary 131 overlaps that of
016857,000041: ## Colossus 249, this code is instead copied from the corresponding Luminary 131
016858,000042: ## source file, and then is proofed to incorporate any changes.
016859,000043:
![]() |
Page 383 |
016861,000045: 34,2002 BANK 34
016862,000046: 27,2000 SETLOC MANUVER
016863,000047: 27,2000 BANK
016864,000048:
016865,000049: 27,2000 1146 EBANK= TEMPR60
016866,000050:
016867,000051: 27,2000 COUNT 27/R60
016868,000052:
016869,000053: # R60CSM
016870,000054: # REV 13 CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18, 1968
016871,000055:
016872,000056: 27,2000 04604 R60CSM TC MAKECADR
016873,000057: 27,2001 55146 TS TEMPR60
016874,000058:
016875,000059: # INSERT PRIODSP CHECK WITH R22 (V06N49) WITH JENNINGS BRODEUR
016876,000060:
016877,000061: 27,2002 34705 REDOMANN CAF BIT6
016878,000062: 27,2003 70101 MASK FLAGWRD5 # IS 3-AXIS FLAG SET
016879,000063: 27,2004 10000 CCS A
016880,000064: 27,2005 12013 TCF TOBALL # YES
016881,000065: 27,2006 06006 TC INTPRET
016882,000066: 27,2007 77624 CALL
016883,000067: 27,2010 56126 VECPOINT # TO COMPUTE FINAL ANGLES
016884,000068: 27,2011 01156 STORE CPHI # STORE FINAL ANGLES - CPHI, CTHETA, CPSI
016885,000069: 27,2012 77776 EXIT
016886,000070:
016887,000071: 27,2013 32125 TOBALL CAF V06N18
016888,000072: 27,2014 04555 TC BANKCALL
016889,000073: 27,2015 21036 CADR GOPERF2R # DISPLAY PLEASE PERFORM AUTO MANEUVER
016890,000074: 27,2016 02114 TC R61TEST
016891,000075: 27,2017 02023 TC REDOMANC # PROCEED
016892,000076: 27,2020 12052 TCF ENDMANU1 # ENTER I.E. FINISHED WITH R60
016893,000077: 27,2021 02056 TC CHKLINUS # TO CHECK FOR PRIORITY DISPLAYS
016894,000078: 27,2022 05112 TC ENDOFJOB
016895,000079:
016896,000080: 27,2023 34705 REDOMANC CAF BIT6
016897,000081: 27,2024 70101 MASK FLAGWRD5 # IS 3-AXIS FLAG SET
016898,000082: 27,2025 10000 CCS A
016899,000083: 27,2026 12034 TCF TOBALLC # YES
016900,000084: 27,2027 06006 TC INTPRET
016901,000085: 27,2030 77624 CALL
016902,000086: 27,2031 56126 VECPOINT # TO COMPUTE FINAL ANGLES
016903,000087: 27,2032 01156 STORE CPHI # STORE ANGLES
016904,000088: 27,2033 77776 EXIT
016905,000089:
016906,000090: 27,2034 34371 TOBALLC CAF PRIO30 # IS MODE AUTO AND CTL GNC
![]() |
Page 384 |
016908,000092: 27,2035 00006 EXTEND
016909,000093: 27,2036 06031 RXOR CHAN31
016910,000094: 27,2037 77707 MASK 13,14,15
016911,000095: 27,2040 00006 EXTEND
016912,000096: 27,2041 12043 BZF +2 # AUTO, NON-FLASH N18
016913,000097: 27,2042 12013 TCF TOBALL # NOT AUTO
016914,000098:
016915,000099: 27,2043 32125 CAF V06N18 # SET UP NON-FLASHING V06 N18
016916,000100: 27,2044 04555 TC BANKCALL
016917,000101: 27,2045 20602 CADR GODSPR
016918,000102: 27,2046 02056 TC CHKLINUS
016919,000103:
016920,000104: 27,2047 04555 STARTMNV TC BANKCALL
016921,000105: 27,2050 17547 CADR GOMANUR
016922,000106: 27,2051 12013 ENDMANUV TCF TOBALL # FINISHED MANEUVER
016923,000107:
016924,000108: 27,2052 05447 ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG
016925,000109: 27,2053 00124 ADRES 3AXISFLG # BIT 6 FLAG 5
016926,000110: 27,2054 31146 CAE TEMPR60 # -
016927,000111: 27,2055 04577 TC BANKJUMP # -
016928,000112:
016929,000113: 27,2056 40100 CHKLINUS CS FLAGWRD4
016930,000114: 27,2057 74677 MASK BIT12 # IS PRIORITY DISPLAY FLAG SET -
016931,000115: 27,2060 10000 CCS A # -
016932,000116: 27,2061 00002 TC Q # NO - EXIT
016933,000117: 27,2062 30002 CA Q
016934,000118: 27,2063 54156 TS MPAC +2 # SAVE RETURN
016935,000119: 27,2064 46214 CS THREE # OBTAIN LOCATION FOR RESTART.
016936,000120: 27,2065 60133 AD BUF2 # HOLDS Q OF LAST DISPALY
016937,000121: 27,2066 55053 TS TBASE1
016938,000122:
016939,000123: 27,2067 05301 TC PHASCHNG
016940,000124: 27,2070 00071 OCT 71 # 1.7SPOT FOR RELINUS
016941,000125: 27,2071 34704 CAF BIT7
016942,000126: 27,2072 05415 TC LINUS # GO SET BITS FOR PRIORITY DISPLAY -
016943,000127: 27,2073 00156 TC MPAC +2
016944,000128:
016945,000129: 27,2074 34706 RELINUS CAF BIT5 # IS TRACK FLAG ON
016946,000130: 27,2075 70075 MASK FLAGWRD1
016947,000131: 27,2076 00006 EXTEND
016948,000132: 27,2077 12111 BZF GOREDO20 # NO
016949,000133:
016950,000134: 27,2100 05435 TC UPFLAG
016951,000135: 27,2101 00077 ADRES PDSPFLAG # R60 PRIODSP FLAG
016952,000136:
016953,000137: 27,2102 05435 TC UPFLAG
016954,000138: 27,2103 00024 ADRES TARG1FLG # FOR R52
016955,000139:
016956,000140: 27,2104 34714 CAF ZERO # RESET TO ZERO, SINCE
![]() |
Page 385 |
016958,000142: 27,2105 55303 TS OPTIND # OPTIND WAS SET TO -1 BY V379
016959,000143:
016960,000144: 27,2106 34761 CAF PRIO14 # RESTORE ORIGINAL PRIORITY
016961,000145: 27,2107 05103 TC PRIOCHNG
016962,000146:
016963,000147: 27,2110 01053 TC TBASE1
016964,000148:
016965,000149: 27,2111 05301 GOREDO20 TC PHASCHNG
016966,000150: 27,2112 00111 OCT 111 # 1.11 FOR PIKUP20
016967,000151:
016968,000152: 27,2113 05112 TC ENDOFJOB
016969,000153:
016970,000154: 27,2114 31011 R61TEST CA MODREG # ARE WE IN P00. IF YES THIS MUST BE
016971,000155: 27,2115 00006 EXTEND # VERB49 OR VERB89 SO DO ENDEXT.
016972,000156: 27,2116 12052 BZF ENDMANU1 # RESET 3-AXIS & RUTURN. USER DOES ENDEXT
016973,000157: 27,2117 30100 CA FLAGWRD4 # ARE WE IN R61 (P20)
016974,000158: 27,2120 74677 MASK BIT12
016975,000159: 27,2121 00006 EXTEND
016976,000160: 27,2122 14106 BZF GOTOPOOH # NO
016977,000161: 27,2123 04550 TC GOTOV56 # YES
016978,000162:
016979,000163: 27,2124 20100 BIT14+7 OCT 20100 # -
016980,000164: 27,2125 01422 V06N18 VN 0618
016981,000165:
![]() |
Page 386 |
016983,000167: # PROGRAM DESCRIPTION - VECPOINT
016984,000168:
016985,000169: # THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION. THE AXIS
016986,000170: # TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN SUCCESSIVE LOCATIONS OF ERASABLE MEMORY
016987,000171: # BEGINNING WITH THE LOCATION CALLED SCAXIS. THE COMPONENTS OF THIS VECTOR ARE GIVEN IN SPACECRAFT COORDINATES.
016988,000172: # THE DIRECTION IN WHICH THIS AXIS IS TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN
016989,000173: # SUCCESSIVE LOCATIONS OF ERASABLE MEMORY BEGINNING WITH THE ADDRESS CALLED POINTVSM. THE COMPONENTS OF THIS
016990,000174: # VECTOR ARE GIVEN IN STABLE MEMBER COORDINATES. WITH THIS INFORMATION VECPOINT COMPUTES A SET OF THREE GIMBAL
016991,000175: # ANGLES (2S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM
016992,000176: # IN T(MPAC) BEFORE RETURNING TO THE CALLER.
016993,000177:
016994,000178: # THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK. WHEN POINTING A VECTOR IN THE Y-Z PLANE,
016995,000179: # THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROBLEM BY ROTATING THE CROSS-
016996,000180: # PRODUCT ATTITUDE ABOUT POINTVSM BY A FIXED AMOUNT SUFFICIENT TO ROTATE THE DESIRED S/C ATTITUDE OUT OF GIMBAL
016997,000181: # LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR -X) AXIS,
016998,000182: # THE ADDITIONAL ROTATION TO AVOID GIMAL LOCK IS 35 DEGREES. IF THE AXIS IS MORE THAN 60.5 DEGEES FROM +X (OR -X)
016999,000183: # THE ADDITIONAL ROTATION IS 35 DEGREES. THE GIMBAL ANGLES CORRESPONDING TO THIS ATTITUDE ARE THEN COMPUTED AND
017000,000184: # STORED AS 2S COMPLIMENT ANGLES IN T(MPAC) BEFORE RETURNING TO THE CALLER.
017001,000185:
017002,000186: # WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT
017003,000187: # CANNOT CORRECT FOR A CROSS-PRODUCT ROTATION INTO GIMBAL LOCK. IN THIS CASE A PLATFORM REALIGNMENT WOULD BE
017004,000188: # REQUIRED TO POINT THE VECTOR IN THE DESIRED DIRECTION. AT PRESENT NO INDICATION IS GIVEN FOR THIS SITUATION
017005,000189: # EXCEPT THAT THE FINAL MIDDLE GIMBAL ANGLE IN MPAC +2 IS GREATER THAN 59 DEGREES.
017006,000190:
017007,000191: # CALLING SEQUENCE -
017008,000192:
017009,000193: # 1) LOAD SCAXIS, POINTVSM
017010,000194: # 2) CALL
017011,000195: # VECPOINT
017012,000196:
017013,000197: # RETURNS WITH
017014,000198:
017015,000199: # 1) DESIRED OUTER GIMBAL ANGLE IN MPAC
017016,000200: # 2) DESIRED INNER GIMBAL ANGLE IN MPAC +1
017017,000201: # 3) DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2
017018,000202:
017019,000203: # ERASABLES USED -
017020,000204:
017021,000205: # 1) SCAXIS 6
017022,000206: # 2) POINTVSM 6
017023,000207: # 3) MIS 18
017024,000208: # 4) DEL 18
017025,000209: # 5) COF 6
017026,000210: # 6) VECQTEMP 1
017027,000211: # 7) ALL OF VAC AREA 43
017028,000212:
017029,000213: # TOTAL 99
017030,000214:
017031,000215: 27,2000 SETLOC VECPT
017032,000216: 27,2000 BANK
![]() |
Page 387 |
017034,000218: 27,2126 E6,1661 EBANK= BCDU
017035,000219: 27,2126 COUNT 27/VECPT
017036,000220:
017037,000221: 27,2126 40020 VECPOINT STQ BOV # SAVE RETURN ADDRESS
017038,000222: 27,2127 03310 VECQTEMP
017039,000223: 27,2130 56131 VECLEAR # AND CLEAR OVFIND
017040,000224: 27,2131 47164 VECLEAR AXC,2 RTB
017041,000225: 27,2132 03320 MIS # READ THE PRESENT CDU ANGLES AND
017042,000226: 27,2133 44376 READCDUK # STORE THEM IN PD25, 26, 27
017043,000227: 27,2134 34032 STORANG STCALL 25D
017044,000228: 27,2135 44405 CDUTODCM # S/C AXES TO STABLE MEMBER AXES (MIS)
017045,000229: 27,2136 61375 VLOAD VXM
017046,000230: 27,2137 03357 POINTVSM # RESOLVE THE POINTING DIRECTION VF INTO
017047,000231: 27,2140 03321 MIS # INITIAL S/C AXES (VF = POINTVSM)
017048,000232: 27,2141 77656 UNIT
017049,000233: 27,2142 00035 STORE 28D
017050,000234: # PD 28 29 30 31 32 33
017051,000235: 27,2143 53435 VXV UNIT # TAKE THE CROSS PRODUCT VF X VI
017052,000236: 27,2144 03351 SCAXIS # WHERE VI = SCAXIS
017053,000237: 27,2145 57400 BOV VCOMP
017054,000238: 27,2146 56256 PICKAXIS
017055,000239: 27,2147 17343 STODL COF # CHECK MAGNITUDE
017056,000240: 27,2150 00045 36D # OF CROSS PRODUCT
017057,000241: 27,2151 50025 DSU BMN # VECTOR, IF LESS
017058,000242: 27,2152 16327 DPB-14 # THAN B-14 ASSUME
017059,000243: 27,2153 56256 PICKAXIS # UNIT OPERATION
017060,000244: 27,2154 50375 VLOAD DOT # INVALID.
017061,000245: 27,2155 03351 SCAXIS
017062,000246: 27,2156 00035 28D
017063,000247: 27,2157 65552 SL1 ARCCOS
017064,000248: 27,2160 77624 COMPMATX CALL # NOW COMPUTE THE TRANSFORMATION FROM
017065,000249: 27,2161 44530 DELCOMP # FINAL S/C AXES TO INITIAL S/C AXES MFI
017066,000250: 27,2162 75160 AXC,1 AXC,2
017067,000251: 27,2163 03320 MIS # COMPUTE THE TRANSFORMATION FROM FINAL
017068,000252: 27,2164 03425 DEL # S/C AXES TO STABLE MEMBER AXES
017069,000253: 27,2165 77624 CALL # MFS = MIS MFI
017070,000254: 27,2166 44304 MXM3 # (IN PD LIST)
017071,000255:
017072,000256: 27,2167 51545 DLOAD ABS
017073,000257: 27,2170 00007 6 # MFS6 = SIN(CPSI) $2
017074,000258: 27,2171 50025 DSU BMN
017075,000259: 27,2172 16314 SINGIMLC # = SIN(59 DEGS) $2
017076,000260: 27,2173 56246 FINDGIMB # /CPSI/ LESS THAN 59 DEGS
017077,000261: # I.E. DESIRED ATTITUDE NOT IN GIMBAL LOCK
017078,000262:
017079,000263: 27,2174 51545 DLOAD ABS # CHECK TO SEE IF WE ARE POINTING
017080,000264: 27,2175 03351 SCAXIS # THE THRUST AXIS
017081,000265: 27,2176 51025 DSU BPL
017082,000266: 27,2177 16316 SINVEC1 # SIN 49.4 DEGS $2
![]() |
Page 388 |
017084,000268: 27,2200 56246 FINDGIMB # IF SO, WE ARE TRYING TO POINT IT INTO
017085,000269: 27,2201 77775 VLOAD # GIMBAL LOCK, ABORT COULD GO HERE
017086,000270: 27,2202 77626 STADR
017087,000271: 27,2203 50442 STOVL MIS +12D
017088,000272: 27,2204 77626 STADR # STORE MFS (IN PD LIST) IN MIS
017089,000273: 27,2205 50450 STOVL MIS +6
017090,000274: 27,2206 77626 STADR
017091,000275: 27,2207 50456 STOVL MIS
017092,000276: 27,2210 03327 MIS +6 # INNER GIMBAL AXIS IN FINAL S/C AXES
017093,000277: 27,2211 57444 BPL VCOMP # LOCATE THE IG AXIS DIRECTION CLOSEST TO
017094,000278: 27,2212 56213 IGSAMEX # FINAL X S/C AXIS
017095,000279:
017096,000280: 27,2213 50035 IGSAMEX VXV BMN # FIND THE SHORTEST WAY OF ROTATING THE
017097,000281: 27,2214 03351 SCAXIS # S/C OUT OF GIMBAL LOCK BY A ROTATION
017098,000282: 27,2215 56222 U=SCAXIS # ABOUT +- SCAXIS, I.E. IF (IG (SGN MFS3)
017099,000283: # X SCAXIS . XF) LESS THAN 0, U = SCAXIS
017100,000284: # OTHERWISE U = -SCAXIS
017101,000285:
017102,000286: 27,2216 57575 VLOAD VCOMP
017103,000287: 27,2217 03351 SCAXIS
017104,000288: 27,2220 37343 STCALL COF # ROTATE ABOUT -SCAXIS
017105,000289: 27,2221 56225 CHEKAXIS
017106,000290: 27,2222 77775 U=SCAXIS VLOAD
017107,000291: 27,2223 03351 SCAXIS
017108,000292: 27,2224 03343 STORE COF # ROTATE ABOUT + SCAXIS
017109,000293: 27,2225 51545 CHEKAXIS DLOAD ABS
017110,000294: 27,2226 03351 SCAXIS # SEE IF WE ARE POINTING THE AOT
017111,000295: 27,2227 51025 DSU BPL
017112,000296: 27,2230 16320 SINVEC2 # SIN 29.5 DEGS $2
017113,000297: 27,2231 56235 PICKANG1 # IF SO, ROTATE 50 DEGS ABOUT +- SCAXIS
017114,000298: 27,2232 52145 DLOAD GOTO # IF NOT, MUST BE POINTING THE TRANSPONDER
017115,000299: 27,2233 16324 VECANG2 # OR SOME VECTOR IN THE Y, OR Z PLANE
017116,000300: 27,2234 56237 COMPMFSN # IN THIS CASE ROTATE 35 DEGS TO GET OUT
017117,000301: # OF GIMBAL LOCK (VECANG2 $360)
017118,000302: 27,2235 77745 PICKANG1 DLOAD
017119,000303: 27,2236 16322 VECANG1 # = 50 DEGS $ 360
017120,000304: 27,2237 77624 COMPMFSN CALL
017121,000305: 27,2240 44530 DELCOMP # COMPUTE THE ROTATION ABOUT SCAXIS TO
017122,000306: 27,2241 75160 AXC,1 AXC,2 # BRING MFS OUT OF GIMBAL LOCK
017123,000307: 27,2242 03320 MIS
017124,000308: 27,2243 03425 DEL
017125,000309: 27,2244 77624 CALL # COMPUTE THE NEW TRANSFORMATION FROM
017126,000310: 27,2245 44304 MXM3 # DESIRED S/C AXES TO STABLE MEMBER AXES
017127,000311: # WHICH WILL ALIGN VI WITH VF AND AVOID
017128,000312: # GIMBAL LOCK
017129,000313: 27,2246 45160 FINDGIMB AXC,1 CALL
017130,000314: 27,2247 00000 0 # EXTRACT THE COMMANDED CDU ANGLES FROM
017131,000315: 27,2250 44655 DCMTOCDU # THIS MATRIX
017132,000316: 27,2251 40234 RTB SETPD
017133,000317: 27,2252 45547 V1STO2S # CONVERT TO 2:S COMPLEMENT
![]() |
Page 389 |
017135,000319: 27,2253 00001 0
017136,000320: 27,2254 77650 GOTO
017137,000321: 27,2255 03310 VECQTEMP # RETURN TO CALLER
017138,000322:
017139,000323: 27,2256 50375 PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF . VI
017140,000324: 27,2257 00035 28D
017141,000325: 27,2260 03351 SCAXIS
017142,000326: 27,2261 72240 BMN TLOAD
017143,000327: 27,2262 56266 ROT180
017144,000328: 27,2263 00032 25D
017145,000329: 27,2264 77650 GOTO # IF VF = VI, CDU DESIRED = PRESENT CDU
017146,000330: 27,2265 03310 VECQTEMP # PRESENT CDU ANGLES
017147,000331:
017148,000332: 27,2266 47375 ROT180 VLOAD VXV # IF VF, VI ANTIPARALLEL, 180 DEG ROTATION
017149,000333: 27,2267 03327 MIS +6 # IS REQUIRED. Y STABLE MEMBER AXIS IN
017150,000334: 27,2270 15330 HIUNITX # INITIAL S/C AXIS.
017151,000335: 27,2271 47256 UNIT VXV # FIND Y(SM) X X(I)
017152,000336: 27,2272 03351 SCAXIS # FIND UNIT(VI X UNIT(Y(SM) X X(I)))
017153,000337: 27,2273 40056 UNIT BOV # I.E. PICK A VECTOR IN THE PLANE OF X(I),
017154,000338: 27,2274 56310 PICKX # Y(SM) PERPENDICULAR TO VI
017155,000339: 27,2275 17343 STODL COF
017156,000340: 27,2276 00045 36D # CHECK MAGNITUDE
017157,000341: 27,2277 50025 DSU BMN # OF THIS VECTOR.
017158,000342: 27,2300 16327 DPB-14 # IF LESS THAN B-14,
017159,000343: 27,2301 56310 PICKX # PICK X-AXIS.
017160,000344: 27,2302 77775 VLOAD
017161,000345: 27,2303 03343 COF
017162,000346: 27,2304 17343 XROT STODL COF
017163,000347: 27,2305 15330 HIDPHALF
017164,000348: 27,2306 77650 GOTO
017165,000349: 27,2307 56160 COMPMATX
017166,000350: 27,2310 52175 PICKX VLOAD GOTO # PICK THE XAXIS IN THIS CASE
017167,000351: 27,2311 15330 HIUNITX
017168,000352: 27,2312 56304 XROT
017169,000353: 35,2000 BANK 35
017170,000354: 27,2000 SETLOC MANUVER1
017171,000355: 27,2000 BANK
017172,000356:
017173,000357: 27,2313 15555 35172 SINGIMLC 2DEC .4285836003 # = SIN(59) $2
017174,000358: 27,2315 14113 36326 SINVEC1 2DEC .3796356537 # = SIN(49.4) $2
017175,000359: 27,2317 07701 35703 SINVEC2 2DEC .2462117800 # = SIN(29.5) $2
017176,000360: 27,2321 04343 21616 VECANG1 2DEC .1388888889 # = 50 DEGREES $360
017177,000361: 27,2323 03070 34344 VECANG2 2DEC .09722222222 # = 35 DEGREES $360
017178,000362:
017179,000363: 27,2325 00000 1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) *********
017180,000364: 27,2326 00001 DPB-14 OCT 00001
![]() |
Page 390 |
017182,000366: 27,2327 00000 OCT 00000
017183,000367: 34,2002 BANK 34
017184,000368: 27,2000 SETLOC MANUVER
017185,000369: 27,2000 BANK
017186,000370:
![]() |
Page 391 |
017188,000372: # ROUTINE FOR INITIATING AUTOMATIC MANEUVER VIA KEYBOARD (V49)
017189,000373:
017190,000374: 27,2330 1155 EBANK= CPHI
017191,000375:
017192,000376: 27,2330 COUNT 27/R62
017193,000377:
017194,000378: 27,2330 34745 R62DISP CAF V06N22 # DISPLAY COMMAND ICDUS CPHI, CTHETA, CPHI
017195,000379: 27,2331 04555 TC BANKCALL
017196,000380: 27,2332 20624 CADR GOFLASH
017197,000381: 27,2333 15423 TCF ENDEXT
017198,000382: 27,2334 12336 TCF GOMOVE # PROCEED
017199,000383: 27,2335 12330 TCF R62DISP # ENTER
017200,000384:
017201,000385: # ASTRONAUT MAY LOAD NEW ICDUS AT THIS
017202,000386: # POINT
017203,000387: 27,2336 05435 GOMOVE TC UPFLAG # SET 3-AXIS FLAG
017204,000388: 27,2337 00124 ADRES 3AXISFLG # BIT 6 FLAG 5
017205,000389:
017206,000390: 27,2340 04555 TC BANKCALL
017207,000391: 27,2341 56000 CADR R60CSM
017208,000392: 27,2342 15423 TCF ENDEXT
017209,000393:
End of include-file R60,R62.agc. Parent file is MAIN.agc