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