Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

057909,000002:                                                                                                 #  Copyright:     Public domain.
057910,000003:                                                                                                 #  Filename:      INFLIGHT_ALIGNMENT_ROUTINES.agc
057911,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
057912,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
057913,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
057914,000007:                                                                                                 #                 Apollo 15-17.
057915,000008:                                                                                                 #  Assembler:     yaYUL
057916,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
057917,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
057918,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
057919,000012:                                                                                                 #  Mod history:   2009-08-20 JL   Adapted from corresponding Comanche 055 file.
057920,000013:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
057921,000014: 
057922,000015:                                                                                                 # # Page 1354
057923,000016: 
057924,000017: 23,2000                                          SETLOC   INFLIGHT                              
057925,000018: 23,2000                                          BANK                                           
057926,000019: 
057927,000020: 23,3240  0002671                                 EBANK=   XSM                                   
057928,000021: 
057929,000022:                                                                                                 #  CALCGTA COMPUTES THE GYRO TORQUE ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
057930,000023: 
057931,000024:                                                                                                 #  THE INPUT IS THE DESIRED STABLE MEMBER COORDINATES REFERRED TO PRESENT STABLE MEMBER COORDINATES. THE THREE
057932,000025:                                                                                                 #  HALF-UNIT VECTORS ARE STORED AT XDC, YDC, AND ZDC.
057933,000026: 
057934,000027:                                                                                                 #  THE OUTPUTS ARE THE THREE GYRO TORQUE ANGLES TO BE APPLIED TO THE Y, Z, AND X GYROS AND ARE STORED DP AT IGC,
057935,000028:                                                                                                 #  MGC, AND OGC RESPECTIVELY.
057936,000029: 
057937,000030: 23,3240                                          COUNT*   $$/INFLT                              
057938,000031: 23,3240           71220        CALCGTA           ITA      DLOAD                                 #  PUSHDOWN 00-03,16D-27D,34D-37D
057939,000032: 23,3241           00051                                   S2                                    #  XDC = (XD1 XD2 XD3)
057940,000033: 23,3242           02714                                   XDC                                   #  YDC = (YD1 YD2 YD3)
057941,000034: 23,3243           65325                          PDDL     PDDL                                  #  ZDC = (ZD1 ZD2 ZD3)
057942,000035: 23,3244           15336                                   HI6ZEROS                              
057943,000036: 23,3245           02720                                   XDC        +4                         
057944,000037: 23,3246           55476                          DCOMP    VDEF                                  
057945,000038: 23,3247           77656                          UNIT                                           
057946,000039: 23,3250           14027                          STODL    ZPRIME                                #  ZP = UNIT(-XD3 0 XD1) = (ZP1 ZP2 ZP3)
057947,000040: 23,3251           00027                                   ZPRIME                                
057948,000041: 
057949,000042: 23,3252           77742                          SR1                                            
057950,000043: 23,3253           14023                          STODL    SINTH                                 #  SIN(IGC) = ZP1
057951,000044: 23,3254           00033                                   ZPRIME     +4                         
057952,000045: 23,3255           77742                          SR1                                            
057953,000046: 23,3256           34021                          STCALL   COSTH                                 #  COS(IGC) = ZP3
057954,000047: 23,3257           47311                                   ARCTRIG                               
057955,000048: 
057956,000049: 23,3260           16762                          STODL    IGC                                   #  Y GYRO TORQUING ANGLE   FRACTION OF REV.
057957,000050: 23,3261           02716                                   XDC        +2                         
057958,000051: 23,3262           77742                          SR1                                            
057959,000052: 23,3263           14023                          STODL    SINTH                                 #  SIN(MGC) = XD2
057960,000053: 23,3264           00027                                   ZPRIME                                
057961,000054: 
057962,000055: 23,3265           65205                          DMP      PDDL                                  
057963,000056: 23,3266           02720                                   XDC        +4                         #  PD00 = (ZP1)(XD3)
057964,000057: 23,3267           00033                                   ZPRIME     +4                         
057965,000058: 
057966,000059: 23,3270           45205                          DMP      DSU                                   
057967,000060: 23,3271           02714                                   XDC                                   #  MPAC = (ZP3)(XD1)
057968,000061: 23,3272           77626                          STADR                                          
057969,000062: 23,3273           43756                          STCALL   COSTH                                 #  COS(MGC) = MPAC - PD00
057970,000063: 23,3274           47311                                   ARCTRIG                               
057971,000064: 23,3275           26764                          STOVL    MGC                                   #  Z GYRO TORQUING ANGLE   FRACTION OF REV.
057972,000065:                                                                                                 # # Page 1355
057973,000066: 23,3276           00027                                   ZPRIME                                
057974,000067: 23,3277           77641                          DOT                                            
057975,000068: 23,3300           02730                                   ZDC                                   
057976,000069: 23,3301           24021                          STOVL    COSTH                                 #  COS(OGC) = ZP . ZDC
057977,000070: 23,3302           00027                                   ZPRIME                                
057978,000071: 23,3303           77641                          DOT                                            
057979,000072: 23,3304           02722                                   YDC                                   
057980,000073: 23,3305           34023                          STCALL   SINTH                                 #  SIN(OGC) = ZP . YDC
057981,000074: 23,3306           47311                                   ARCTRIG                               
057982,000075: 
057983,000076: 23,3307           36760                          STCALL   OGC                                   #  X GYRO TORQUING ANGLE   FRACTION OF REV.
057984,000077: 23,3310           00051                                   S2                                    
057985,000078: 
057986,000079:                                                                                                 # # Page 1356
057987,000080: 
057988,000081:                                                                                                 #  ARCTRIG COMPUTES AN ANGLE GIVEN THE SINE AND COSINE OF THIS ANGLE.
057989,000082: 
057990,000083:                                                                                                 #  THE INPUTS ARE SIN/4 AND COS/4 STORED DP AT SINTH AND COSTH.
057991,000084: 
057992,000085:                                                                                                 #  THE OUTPUT IS THE CALCULATED ANGLE BETWEEN +.5 AND -.5 REVOLUTIONS AND STORED AT THETA. THE OUTPUT IS ALSO
057993,000086:                                                                                                 #  AVAILABLE AT MPAC.
057994,000087: 
057995,000088: 23,3311           51545        ARCTRIG           DLOAD    ABS                                   #  PUSHDOWN  16D-21D
057996,000089: 23,3312           00023                                   SINTH                                 
057997,000090: 23,3313           50025                          DSU      BMN                                   
057998,000091: 23,3314           07525                                   QTSN45                                #  ABS(SIN/4) - SIN(45)/4
057999,000092: 23,3315           47324                                   TRIG1                                 #  IF (-45,45) OR (135,-135)
058000,000093: 
058001,000094: 23,3316           72545                          DLOAD    SL1                                   #  (45,135) OR (-135,-45)
058002,000095: 23,3317           00021                                   COSTH                                 
058003,000096: 23,3320           75326                          ACOS     SIGN                                  
058004,000097: 23,3321           00023                                   SINTH                                 
058005,000098: 23,3322           00025                          STORE    THETA                                 #  X = ARCCOS(COS) WITH SIGN(SIN)
058006,000099: 23,3323           77616                          RVQ                                            
058007,000100: 
058008,000101: 23,3324           72545        TRIG1             DLOAD    SL1                                   #  (-45,45) OR (135,-135)
058009,000102: 23,3325           00023                                   SINTH                                 
058010,000103: 23,3326           77736                          ASIN                                           
058011,000104: 23,3327           14025                          STODL    THETA                                 #  X = ARCSIN(SIN) WITH SIGN(SIN)
058012,000105: 23,3330           00021                                   COSTH                                 
058013,000106: 23,3331           77640                          BMN                                            
058014,000107: 23,3332           47335                                   TRIG2                                 #  IF (135,-135)
058015,000108: 
058016,000109: 23,3333           43545                          DLOAD    RVQ                                   
058017,000110: 23,3334           00025                                   THETA                                 #  X = ARCSIN(SIN)   (-45,45)
058018,000111: 
058019,000112: 23,3335           75345        TRIG2             DLOAD    SIGN                                  #  (135,-135)
058020,000113: 23,3336           15334                                   HIDPHALF                              
058021,000114: 23,3337           00023                                   SINTH                                 
058022,000115: 23,3340           77625                          DSU                                            
058023,000116: 23,3341           00025                                   THETA                                 
058024,000117: 23,3342           00025                          STORE    THETA                                 #  X = .5 WITH SIGN(SIN) - ARCSIN(SIN)
058025,000118: 23,3343           77616                          RVQ                                            #         (+) - (+) OR (-) - (-)
058026,000119: 
058027,000120:                                                                                                 # # Page 1357
058028,000121:                                                                                                 #  SMNB, NBSM, AND AXISROT, WHICH USED TO APPEAR HERE, HAVE BEEN
058029,000122:                                                                                                 #  COMBINED IN A ROUTINE CALLED AX*SR*T, WHICH APPEARS AMONG THE POWERED
058030,000123:                                                                                                 #  FLIGHT SUBROUTINES.
058031,000124: 
058032,000125:                                                                                                 # # Page 1358
058033,000126:                                                                                                 #  CALCGA COMPUTES THE CDU DRIVING ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
058034,000127: 
058035,000128:                                                                                                 #  THE INPUTS ARE  1) THE NAVIGATION BASE COORDINATES REFERRED TO ANY COORDINATE SYSTEM. THE THREE HALF-UNIT
058036,000129:                                                                                                 #  VECTORS ARE STORED AT XNB, YNB, AND ZNB.  2) THE DESIRED STABLE MEMBER COORDINATES REFERRED TO THE SAME
058037,000130:                                                                                                 #  COORDINATE SYSTEM ARE STORED AT XSM, YSM, AND ZSM.
058038,000131: 
058039,000132:                                                                                                 #  THE OUTPUTS ARE THE THREE CDU DRIVING ANGLES AND ARE STORED SP AT THETAD, THETAD +1, AND THETAD +2.
058040,000133: 
058041,000134: 23,3344           77601        CALCGA            SETPD                                          #  PUSHDOWN 00-05, 16D-21D, 34D-37D
058042,000135: 23,3345           00001                                   0                                     
058043,000136: 23,3346           47375                          VLOAD    VXV                                   
058044,000137: 23,3347           02714                                   XNB                                   #  XNB = OGA (OUTER GIMBAL AXIS)
058045,000138: 23,3350           02700                                   YSM                                   #  YSM = IGA (INNER GIMBAL AXIS)
058046,000139: 23,3351           41456                          UNIT     PUSH                                  #  PD0 = UNIT(OGA X IGA) = MGA
058047,000140: 
058048,000141: 23,3352           44041                          DOT      ITA                                   
058049,000142: 23,3353           02730                                   ZNB                                   
058050,000143: 23,3354           00051                                   S2                                    
058051,000144: 23,3355           24021                          STOVL    COSTH                                 #  COS(OG) = MGA . ZNB
058052,000145: 23,3356           00001                                   0                                     
058053,000146: 23,3357           77641                          DOT                                            
058054,000147: 23,3360           02722                                   YNB                                   
058055,000148: 23,3361           34023                          STCALL   SINTH                                 #  SIN(OG) = MGA . YNB
058056,000149: 23,3362           47311                                   ARCTRIG                               
058057,000150: 23,3363           26760                          STOVL    OGC                                   
058058,000151: 23,3364           00001                                   0                                     
058059,000152: 
058060,000153: 23,3365           50235                          VXV      DOT                                   #  PROVISION FOR MG ANGLE OF 90 DEGREES
058061,000154: 23,3366           02714                                   XNB                                   
058062,000155: 23,3367           02700                                   YSM                                   
058063,000156: 23,3370           77752                          SL1                                            
058064,000157: 23,3371           24021                          STOVL    COSTH                                 #  COS(MG) = IGA . (MGA X OGA)
058065,000158: 23,3372           02700                                   YSM                                   
058066,000159: 23,3373           77641                          DOT                                            
058067,000160: 23,3374           02714                                   XNB                                   
058068,000161: 23,3375           34023                          STCALL   SINTH                                 #  SIN(MG) = IGA . OGA
058069,000162: 23,3376           47311                                   ARCTRIG                               
058070,000163: 23,3377           02764                          STORE    MGC                                   
058071,000164: 
058072,000165: 23,3400           45246                          ABS      DSU                                   
058073,000166: 23,3401           07527                                   .166...                               
058074,000167: 23,3402           77644                          BPL                                            
058075,000168: 23,3403           47422                                   GIMLOCK1                              #  IF ANGLE GREATER THAN 60 DEGREES
058076,000169: 
058077,000170: 23,3404           50375        CALCGA1           VLOAD    DOT                                   
058078,000171: 23,3405           02706                                   ZSM                                   
058079,000172: 23,3406           00001                                   0                                     
058080,000173: 23,3407           24021                          STOVL    COSTH                                 #  COS(IG) = ZSM . MGA
058081,000174: 23,3410           02672                                   XSM                                   
058082,000175:                                                                                                 # # Page 1359
058083,000176: 23,3411           45441                          DOT      STADR                                 
058084,000177: 23,3412           43754                          STCALL   SINTH                                 #  SIN(IG) = XSM . MGA
058085,000178: 23,3413           47311                                   ARCTRIG                               
058086,000179: 
058087,000180: 23,3414           26762                          STOVL    IGC                                   
058088,000181: 23,3415           02760                                   OGC                                   
058089,000182: 23,3416           77634                          RTB                                            
058090,000183: 23,3417           45644                                   V1STO2S                               
058091,000184: 23,3420           35310                          STCALL   THETAD                                
058092,000185: 23,3421           00051                                   S2                                    
058093,000186: 
058094,000187: 23,3422           77776        GIMLOCK1          EXIT                                           
058095,000188: 23,3423           05671                          TC       ALARM                                 
058096,000189: 23,3424           00401                          OCT      00401                                 
058097,000190: 23,3425           05547                          TC       UPFLAG                                #  GIMBAL LOCK HAS OCCURRED
058098,000191: 23,3426           00056                          ADRES    GLOKFAIL                              
058099,000192: 
058100,000193: 23,3427           06006                          TC       INTPRET                               
058101,000194: 23,3430           77650                          GOTO                                           
058102,000195: 23,3431           47404                                   CALCGA1                               
058103,000196: 
058104,000197:                                                                                                 # # Page 1360
058105,000198: 
058106,000199:                                                                                                 #  AXISGEN COMPUTES THE COORDINATES OF ONE COORDINATE SYSTEM REFERRED TO ANOTHER COORDINATE SYSTEM.
058107,000200: 
058108,000201:                                                                                                 #  THE INPUTS ARE  1) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM A STORED AT STARAD.  2) THE STAR2 VECTOR
058109,000202:                                                                                                 #  REFERRED TO COORDINATE SYSTEM A STORED AT STARAD +6.  3) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM B STORED
058110,000203:                                                                                                 #  AT LOCATION 6 OF THE VAC AREA.  4) THE STAR2 VECTOR REFERRED TO COORDINATE SYSTEM B STORED AT LOCATION 12D OF
058111,000204:                                                                                                 #  THE VAC AREA.
058112,000205: 
058113,000206:                                                                                                 #  THE OUTPUT DEFINES COORDINATE SYSTEM A REFERRED TO COORDINATE SYSTEM B. THE THREE HALF-UNIT VECTORS ARE STORED
058114,000207:                                                                                                 #  AT LOCATIONS XDC, XDC +6, XDC +12D, AND STARAD, STARAD +6, STARAD +12D.
058115,000208: 
058116,000209: 23,3432           66370        AXISGEN           AXT,1    SSP                                   #  PUSHDOWN 00-30D,34D-37D
058117,000210: 23,3433           02743                                   STARAD     +6                         
058118,000211: 23,3434           00051                                   S1                                    
058119,000212: 23,3435           02727                                   STARAD     -6                         
058120,000213: 
058121,000214: 23,3436           77601                          SETPD                                          
058122,000215: 23,3437           00001                                   0                                     
058123,000216: 23,3440           46773        AXISGEN1          VLOAD*   VXV*                                  #  06D    UA = S1
058124,000217: 23,3441           02752                                   STARAD     +12D,1                     #         STARAD +00D     UB = S1
058125,000218: 23,3442           02760                                   STARAD     +18D,1                     
058126,000219: 23,3443           77656                          UNIT                                           #  12D    VA = UNIT(S1 X S2)
058127,000220: 23,3444           06760                          STORE    STARAD     +18D,1                     #         STARAD +06D     VB = UNIT(S1 X S2)
058128,000221: 23,3445           77773                          VLOAD*                                         
058129,000222: 23,3446           02752                                   STARAD     +12D,1                     
058130,000223: 
058131,000224: 23,3447           76433                          VXV*     VSL1                                  
058132,000225: 23,3450           02760                                   STARAD     +18D,1                     #  18D    WA = UA X VA
058133,000226: 23,3451           06766                          STORE    STARAD     +24D,1                     #         STARAD +12D     WB = UB X VB
058134,000227: 
058135,000228: 23,3452           77700                          TIX,1                                          
058136,000229: 23,3453           47440                                   AXISGEN1                              
058137,000230: 
058138,000231: 23,3454           66160                          AXC,1    SXA,1                                 
058139,000232: 23,3455           00006                                   6                                     
058140,000233: 23,3456           00036                                   30D                                   
058141,000234: 
058142,000235: 23,3457           66370                          AXT,1    SSP                                   
058143,000236: 23,3460           00022                                   18D                                   
058144,000237: 23,3461           00051                                   S1                                    
058145,000238: 23,3462           00006                                   6                                     
058146,000239: 
058147,000240: 23,3463           66374                          AXT,2    SSP                                   
058148,000241: 23,3464           00006                                   6                                     
058149,000242: 23,3465           00052                                   S2                                    
058150,000243: 23,3466           00002                                   2                                     
058151,000244: 
058152,000245: 23,3467           76720        AXISGEN2          XCHX,1   VLOAD*                                
058153,000246: 23,3470           00036                                   30D                                   #  X1=-6 X2=+6    X1=-6 X2=+4     X1=-6 X2=+2
058154,000247: 23,3471           00001                                   0,1                                   
058155,000248: 
058156,000249:                                                                                                 # # Page 1361
058157,000250: 23,3472           62757                          VXSC*    PDVL*                                 #  J=(UA)(UB1)    J=(UA)(UB2)     J=(UA)(UB3)
058158,000251: 23,3473           75033                                   STARAD     +6,2                       
058159,000252: 23,3474           00007                                   6,1                                   
058160,000253: 23,3475           77757                          VXSC*                                          
058161,000254: 23,3476           75025                                   STARAD     +12D,2                     
058162,000255: 23,3477           30031                          STOVL*   24D                                   #  K=(VA)(VB1)    J=(VA)(VB2)     J=(VA)(VB3)
058163,000256: 23,3500           00015                                   12D,1                                 
058164,000257: 
058165,000258: 23,3501           53357                          VXSC*    VAD                                   
058166,000259: 23,3502           75017                                   STARAD     +18D,2                     #  L=(WA)(WB1)    J=(WA)(WB2)     J=(WA)(WB3)
058167,000260: 23,3503           76455                          VAD      VSL1                                  
058168,000261: 23,3504           00031                                   24D                                   
058169,000262: 23,3505           53520                          XCHX,1   UNIT                                  
058170,000263: 23,3506           00036                                   30D                                   
058171,000264: 23,3507           06736                          STORE    XDC        +18D,1                     #  XDC = L+J+K    YDC = L+J+K     ZDC = L+J+K
058172,000265: 
058173,000266: 23,3510           77700                          TIX,1                                          
058174,000267: 23,3511           47512                                   AXISGEN3                              
058175,000268: 
058176,000269: 23,3512           77704        AXISGEN3          TIX,2                                          
058177,000270: 23,3513           47467                                   AXISGEN2                              
058178,000271: 
058179,000272: 23,3514           77775                          VLOAD                                          
058180,000273: 23,3515           02714                                   XDC                                   
058181,000274: 23,3516           26736                          STOVL    STARAD                                
058182,000275: 23,3517           02722                                   YDC                                   
058183,000276: 23,3520           26744                          STOVL    STARAD     +6                         
058184,000277: 23,3521           02730                                   ZDC                                   
058185,000278: 23,3522           02752                          STORE    STARAD     +12D                       
058186,000279: 
058187,000280: 23,3523           77616                          RVQ                                            
058188,000281: 
058189,000282:                                                                                                 # # Page 1362
058190,000283: 23,3524           05520 26075  QTSN45            2DEC     .1768                                 
058191,000284: 23,3526           05252 25253  .166...           2DEC     .1666666667                            
058192,000285: 
058193,000286:                                                                                                 # # Page 1363 (empty page)
058194,000287: 
058195,000288: 

End of include-file INFLIGHT_ALIGNMENT_ROUTINES.agc.  Parent file is MAIN.agc