Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

017713,000002:                                                                                                  ## Copyright:   Public domain.
017714,000003:                                                                                                  ## Filename:    INFLIGHT_ALIGNMENT_ROUTINES.agc
017715,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
017716,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
017717,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
017718,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
017719,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
017720,000009:                                                                                                  ##              Validation.
017721,000010:                                                                                                  ## Assembler:   yaYUL
017722,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
017723,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
017724,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
017725,000014: 
017726,000015: 15,2367                                           SETLOC   ENDDNTMS                              
017727,000016: 15,2367  E5,1400                                  EBANK=   XSM                                   
017728,000017: 
017729,000018: 
017730,000019: 
017731,000020:                                                                                                  #  CALCGTA COMPUTES THE GYRO TORQUE ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
017732,000021: 
017733,000022:                                                                                                  #  THE INPUT IS THE DESIRED STABLE MEMBER COORDINATES REFERRED TO PRESENT STABLE MEMBER COORDINATES. THE THREE
017734,000023:                                                                                                  #  HALF-UNIT VECTORS ARE STORED AT XDC, YDC, AND ZDC.
017735,000024: 
017736,000025:                                                                                                  #  THE OUTPUTS ARE THE THREE GYRO TORQUING ANGLES TO BE APPLIED TO THE Y, Z, AND X GYROS AND ARE STORED DP AT IGC,
017737,000026:                                                                                                  #  MGC, AND OGC RESPECTIVELY. ANGLES ARE SCALED PROPERLY FOR IMUPULSE.
017738,000027: 
017739,000028: 
017740,000029: 
017741,000030: 15,2367           71220        CALCGTA            ITA      DLOAD                                 #  PUSHDOWN 00,02,16D,18D,22D-26D,32D-36D
017742,000031: 15,2370           00051                                    S2                                    #  XDC = (XD1 XD2 XD3)
017743,000032: 15,2371           02423                                    XDC                                   #  YDC = (YD1 YD2 YD3)
017744,000033: 15,2372           65325                           PDDL     PDDL                                  #  ZDC = (ZD1 ZD2 ZD3)
017745,000034: 15,2373           33042                                    ZERODP                                
017746,000035: 15,2374           02427                                    XDC        +4                         
017747,000036: 15,2375           55476                           DCOMP    VDEF                                  
017748,000037: 15,2376           77656                           UNIT                                           
017749,000038: 15,2377           14027                           STODL    ZPRIME                                #  ZP = UNIT(-XD3 O XD1) = (ZP1 ZP2 ZP3)
017750,000039: 15,2400           00027                                    ZPRIME                                
017751,000040: 
017752,000041: 15,2401           77742                           SR1                                            
017753,000042: 15,2402           14023                           STODL    SINTH                                 #  SIN(IGC) = ZP1
017754,000043: 15,2403           00033                                    ZPRIME     +4                         
017755,000044: 15,2404           77742                           SR1                                            
017756,000045: 15,2405           34021                           STCALL   COSTH                                 #  COS(IGC) = ZP3
017757,000046: 15,2406           32440                                    ARCTRIG                               
017758,000047: 
017759,000048: 15,2407           16503                           STODL    IGC                                   #  Y GYRO TORQUING ANGLE  FRACTION OF REV.
017760,000049: 15,2410           02425                                    XDC        +2                         
017761,000050: 15,2411           77742                           SR1                                            
017762,000051: 15,2412           14023                           STODL    SINTH                                 #  SIN(MGC) = XD2
017763,000052: 15,2413           00027                                    ZPRIME                                
017764,000053: 
017765,000054: 15,2414           65205                           DMP      PDDL                                  
017766,000055: 15,2415           02427                                    XDC        +4                         #  PD00 = (ZP1)(XD3)
017767,000056: 15,2416           00033                                    ZPRIME     +4                         
017768,000057: 
017769,000058: 15,2417           45205                           DMP      DSU                                   
017770,000059: 15,2420           02423                                    XDC                                   #  MPAC = (ZP3)(XD1)
017771,000060: 15,2421           77626                           STADR                                          
017772,000061: 15,2422           43756                           STCALL   COSTH                                 #  COS(MGC) = MPAC - PD00
017773,000062: 15,2423           32440                                    ARCTRIG                               
017774,000063: 
017775,000064: 15,2424           26505                           STOVL    MGC                                   #  Z GYRO TORQUING ANGLE  FRACTION OF REV.
017776,000065: 15,2425           00027                                    ZPRIME                                
017777,000066: 15,2426           77641                           DOT                                            
017778,000067: 15,2427           02437                                    ZDC                                   
017779,000068: 15,2430           24021                           STOVL    COSTH                                 #  COS(OGC) = ZP . ZDC
017780,000069: 15,2431           00027                                    ZPRIME                                
017781,000070: 15,2432           77641                           DOT                                            
017782,000071: 15,2433           02431                                    YDC                                   
017783,000072: 15,2434           34023                           STCALL   SINTH                                 #  SIN(OGC) = ZP . YDC
017784,000073: 15,2435           32440                                    ARCTRIG                               
017785,000074: 
017786,000075: 15,2436           36501                           STCALL   OGC                                   #  X GYRO TORQUING ANGLE  FRACTION OF REV.
017787,000076: 15,2437           00051                                    S2                                    
017788,000077: 
017789,000078:                                                                                                  #  ARCTRIG COMPUTES AN ANGLE GIVEN THE SINE AND COSINE OF THIS ANGLE.
017790,000079: 
017791,000080:                                                                                                  #  THE INPUTS ARE SIN/4 AND COS/4 STORED DP AT SINTH AND COSTH.
017792,000081: 
017793,000082:                                                                                                  #  THE OUTPUT IS THE CALCULATED ANGLE BETWEEN +.5 AND -.5 REVOLUTIONS AND STORED AT THETA. THE OUTPUT IS ALSO
017794,000083:                                                                                                  #  AVAILABLE AT MPAC.
017795,000084: 
017796,000085: 
017797,000086: 
017798,000087: 15,2440           51545        ARCTRIG            DLOAD    ABS                                   #  PUSHDOWN 16D,18D,20D,22D-26D
017799,000088: 15,2441           00023                                    SINTH                                 
017800,000089: 15,2442           50025                           DSU      BMN                                   
017801,000090: 15,2443           33030                                    QTSN45                                #  ABS(SIN/4) - SIN(45)/4
017802,000091: 15,2444           32453                                    TRIG1                                 #  IF (-45,45) OR (135,-135)
017803,000092: 
017804,000093: 
017805,000094: 
017806,000095: 15,2445           72545                           DLOAD    SL1                                   #  (45,135) OR (-135,-45)
017807,000096: 15,2446           00021                                    COSTH                                 
017808,000097: 15,2447           75326                           ACOS     SIGN                                  
017809,000098: 15,2450           00023                                    SINTH                                 
017810,000099: 15,2451           00025                           STORE    THETA                                 #  X = ARCCOS(COS) WITH SIGN(SIN)
017811,000100: 15,2452           77616                           RVQ                                            
017812,000101: 
017813,000102: 
017814,000103: 
017815,000104: 15,2453           72545        TRIG1              DLOAD    SL1                                   #  (-45,45) OR (135,-135)
017816,000105: 15,2454           00023                                    SINTH                                 
017817,000106: 15,2455           77736                           ASIN                                           
017818,000107: 15,2456           14025                           STODL    THETA                                 #  X = ARCSIN(SIN) WITH SIGN(SIN)
017819,000108: 15,2457           00021                                    COSTH                                 
017820,000109: 15,2460           77640                           BMN                                            
017821,000110: 15,2461           32464                                    TRIG2                                 #  IF (135,-135)
017822,000111: 
017823,000112: 15,2462           43545                           DLOAD    RVQ                                   
017824,000113: 15,2463           00025                                    THETA                                 #  X = ARCSIN(SIN)   (-45,45)
017825,000114: 
017826,000115: 
017827,000116: 
017828,000117: 15,2464           75345        TRIG2              DLOAD    SIGN                                  #  (135,-135)
017829,000118: 15,2465           33032                                    HALFDP                                
017830,000119: 15,2466           00023                                    SINTH                                 
017831,000120: 15,2467           77625                           DSU                                            
017832,000121: 15,2470           00025                                    THETA                                 
017833,000122: 15,2471           00025                           STORE    THETA                                 #  X = .5 WITH SIGN(SIN) - ARCSIN(SIN)
017834,000123: 15,2472           77616                           RVQ                                            #                   (+) - (+) OR (-) - (-)
017835,000124: 
017836,000125:                                                                                                  #  SMNB TRANSFORMS A STAR DIRECTION FROM STABLE MEMBER TO NAVIGATION BASE COORDINATES.
017837,000126: 
017838,000127:                                                                                                  #  THE INPUTS ARE 1) THE STAR VECTOR REFERRED TO PRESENT STABLE MEMBER COORDINATES STORED AT LOCATION 32D OF THE
017839,000128:                                                                                                  #  VAC AREA. 2) THE GIMBAL ANGLES (CDUY,CDUZ,CDUX) STORED AT ALTERNATING LOCATIONS RESPECTIVELY. THE ANGLES ARE
017840,000129:                                                                                                  #  USUALLY STORED AT LOCATIONS 2,4, AND 6 OF THE MARK VAC AREA. THEY CAN BE STORED AT LOCATIONS 20,22, AND 24 OF
017841,000130:                                                                                                  #  YOUR JOB VAC AREA. 3) THE BASE ADDRESS OF THE GIMBAL ANGLES STORED SP AT LOCATION S1 OF yOUR JOB VAC AREA.
017842,000131: 
017843,000132:                                                                                                  #  THE OUTPUT IS THE STAR VECTOR REFERRED TO NAVIGATION BASE COORDINATES STORED AT 32D OF THE VAC AREA. THE OUTPUT
017844,000133:                                                                                                  #  IS ALSO AVAILABLE AT MPAC.
017845,000134: 
017846,000135: 
017847,000136: 
017848,000137: 15,2473           43020        SMNB               ITA      CLEAR                                 #  PUSHDOWN 00,02,04-10D,30D,32D-36D
017849,000138: 15,2474           00051                                    S2                                    
017850,000139: 15,2475           00264                                    NBSMBIT                               #  SET NBSMBIT = 0
017851,000140: 
017852,000141: 15,2476           77170        SMNB1              AXT,1    AXT,2                                 #  ROTATE X,Z, ABOUT Y
017853,000142: 15,2477           00004                                    4                                     
017854,000143: 15,2500           00000                                    0                                     
017855,000144: 15,2501           77624                           CALL                                           
017856,000145: 15,2502           32543                                    AXISROT                               
017857,000146: 
017858,000147: 15,2503           77170                           AXT,1    AXT,2                                 #  ROTATE Y,X ABOUT Z
017859,000148: 15,2504           00002                                    2                                     
017860,000149: 15,2505           00004                                    4                                     
017861,000150: 15,2506           77624                           CALL                                           
017862,000151: 15,2507           32543                                    AXISROT                               
017863,000152: 
017864,000153: 15,2510           77170                           AXT,1    AXT,2                                 #  ROTATE Z,Y ABOUT X
017865,000154: 15,2511           00000                                    0                                     
017866,000155: 15,2512           00002                                    2                                     
017867,000156: 15,2513           77624                           CALL                                           
017868,000157: 15,2514           32543                                    AXISROT                               
017869,000158: 
017870,000159: 15,2515           77650                           GOTO                                           
017871,000160: 15,2516           00051                                    S2                                    
017872,000161: 
017873,000162:                                                                                                  #  NBSM TRANSFORMS A STAR DIRECTION FROM NAVIGATION BASE TO STABLE MEMBER COORDINATES.
017874,000163: 
017875,000164:                                                                                                  #  THE INPUTS ARE  1) THE STAR VECTOR REFERRED TO NAVIGATION BASE COORDINATES STORED AT LOCATION 32D OF THE VAC
017876,000165:                                                                                                  #  AREA.  2) THE GIMBAL ANGLES (CDUY,CDUZ,CDUX) STORED AT ALTERNATING LOCATIONS RESPECTIVELY. THE ANGLES ARE 
017877,000166:                                                                                                  #  USUALLY STORED AT LOCATIONS 2,4, AND 6 OF THE MARK VAC AREA. THEY CAN BE STORED AT LOCATIONS 20,22, AND 24 OF
017878,000167:                                                                                                  #  YOUR JOB VAC AREA.  3) THE BASE ADDRESS OF THE GIMBAL ANGLES STORED SP AT LOCATION S1 OF YOUR JOB VAC AREA.
017879,000168: 
017880,000169:                                                                                                  #  THE OUTPUT IS THE STAR VECTOR REFERRED TO PRESENT STABLE MEMBER COORDINATES STORED AT LOCATION 32D OF THE VAC
017881,000170:                                                                                                  #  AREA. THE OUTPUT IS ALSO AVAILABLE AT MPAC.
017882,000171: 
017883,000172: 
017884,000173: 
017885,000174: 15,2517           43020        NBSM               ITA      SET                                   #  PUSHDOWN 00,02,04-10D,30D,32D-36D
017886,000175: 15,2520           00051                                    S2                                    
017887,000176: 15,2521           00064                                    NBSMBIT                               #  SET NBSMBIT = 1
017888,000177: 
017889,000178: 15,2522           77170        NBSM2              AXT,1    AXT,2                                 #  ROTATE Z,Y ABOUT X
017890,000179: 15,2523           00000                                    0                                     
017891,000180: 15,2524           00002                                    2                                     
017892,000181: 15,2525           77624                           CALL                                           
017893,000182: 15,2526           32543                                    AXISROT                               
017894,000183: 
017895,000184: 15,2527           77170                           AXT,1    AXT,2                                 #  ROTATE Y,X ABOUT Z
017896,000185: 15,2530           00002                                    2                                     
017897,000186: 15,2531           00004                                    4                                     
017898,000187: 15,2532           77624                           CALL                                           
017899,000188: 15,2533           32543                                    AXISROT                               
017900,000189: 
017901,000190: 15,2534           77170                           AXT,1    AXT,2                                 #  ROTATE X,Z, ABOUT Y
017902,000191: 15,2535           00004                                    4                                     
017903,000192: 15,2536           00000                                    0                                     
017904,000193: 15,2537           77624                           CALL                                           
017905,000194: 15,2540           32543                                    AXISROT                               
017906,000195: 
017907,000196: 15,2541           77650                           GOTO                                           
017908,000197: 15,2542           00051                                    S2                                    
017909,000198: 
017910,000199:                                                                                                  #  AXISROT IS UTILIZED BY THE SMNB AND NBSM ROUTINES. SEE REMARKS ON THESE ROUTINES FOR INPUTS AND OUTPUTS.
017911,000200: 
017912,000201: 
017913,000202: 
017914,000203: 15,2543           66660        AXISROT            XSU,1    SLOAD*                                
017915,000204: 15,2544           00050                                    S1                                    #       SMNB         .       NBSM
017916,000205: 15,2545           00005                                    4,1                                   #  IG    MG    OG    .  OG    MG    IG
017917,000206: 15,2546           56034                           RTB      XAD,1                                 
017918,000207: 15,2547           33345                                    CDULOGIC                              
017919,000208: 15,2550           00050                                    S1                                    
017920,000209: 15,2551           00037                           STORE    30D                                   
017921,000210: 
017922,000211: 15,2552           77746        ACCUROT            COS                                            
017923,000212: 15,2553           20011                           STODL    8D,1                                  #               COS(ANGLE)
017924,000213: 15,2554           00037                                    30D                                   
017925,000214: 15,2555           77756                           SIN                                            
017926,000215: 15,2556           04013                           STORE    10D,1                                 #               SIN(ANGLE)
017927,000216: 
017928,000217: 15,2557           72403                           DMP*     SL1                                   
017929,000218: 15,2560           77732                                    32D        +4,2                       
017930,000219: 15,2561           40723                           PDDL*    DMP*                                  #                   PD0
017931,000220: 15,2562           00011                                    8D,1                                  #  S3SIN S1SIN S2SIN . S2SIN S1SIN S3SIN
017932,000221: 15,2563           77732                                    32D        +4,2                       
017933,000222: 
017934,000223: 15,2564           64752                           SL1      PDDL*                                 #                   PD2
017935,000224: 15,2565           00013                                    10D,1                                 #  S3COS S1COS S2COS . S2COS S1COS S3COS
017936,000225: 
017937,000226: 15,2566           72403                           DMP*     SL1                                   #                  MPAC
017938,000227: 15,2567           00045                                    32D        +4,1                       #  S1SIN S2SIN S3SIN . S3SIN S2SIN S1SIN
017939,000228: 
017940,000229: 15,2570           77614                           BOFF                                           
017941,000230: 15,2571           00344                                    NBSMBIT                               
017942,000231: 15,2572           32604                                    AXISROT1                              
017943,000232: 
017944,000233: 15,2573           45421                           BDSU     STADR                                 #                    .   PD2 - MPAC
017945,000234: 15,2574           47732                           STODL*   32D        +4,2                       #                    . S2    S1    S3
017946,000235: 15,2575           00011                                    8D,1                                  
017947,000236: 
017948,000237: 15,2576           72403                           DMP*     SL1                                   #                    .      MPAC
017949,000238: 15,2577           00045                                    32D        +4,1                       #                    . S3COS S2COS S1COS
017950,000239: 
017951,000240: 15,2600           45415                           DAD      STADR                                 #                    .   PD0 + MPAC
017952,000241: 15,2601           47732                           STOVL    32D        +4,1                       #                    . S3    S2    S1
017953,000242: 15,2602           00041                                    32D                                   
017954,000243: 15,2603           77616                           RVQ                                            
017955,000244: 
017956,000245: 15,2604           45415        AXISROT1           DAD      STADR                                 #    MPAC + PD2      .
017957,000246: 15,2605           47732                           STODL*   32D        +4,2                       #  S3    S1    S2    .
017958,000247: 15,2606           00011                                    8D,1                                  
017959,000248: 15,2607           72403                           DMP*     SL1                                   #       MPAC         .
017960,000249: 15,2610           00045                                    32D        +4,1                       #  S1COS S2COS S3COS .
017961,000250: 
017962,000251: 15,2611           45425                           DSU      STADR                                 #    MPAC - PD0      .
017963,000252: 15,2612           47732                           STOVL    32D        +4,1                       #  S1    S2    S3    .
017964,000253: 15,2613           00041                                    32D                                   
017965,000254: 15,2614           77616                           RVQ                                            
017966,000255: 
017967,000256:                                                                                                  #  CALCGA COMPUTES THE CDU DRIVING ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
017968,000257: 
017969,000258:                                                                                                  #  THE INPUTS ARE  1) THE NAVIGATION BASE COORDINATES REFERRED TO ANY COORDINATE SYSTEM.  THE THREE HALF-UNIT
017970,000259:                                                                                                  #  VECTORS ARE STORED AT XNB, YNB, AND ZNB.  2) THE DESIRED STABLE MEMBER COORDINATES REFERRED TO THE SAME
017971,000260:                                                                                                  #  COORDINATE SYSTEM ARE STORED AT XSM, YSM, AND ZSM.
017972,000261: 
017973,000262:                                                                                                  #  THE OUTPUTS ARE THE THREE CDU DRIVING ANGLES AND ARE STORED SP AT THETAD, THETAD +1, AND THETAD +2.
017974,000263: 
017975,000264: 15,2615           47375        CALCGA             VLOAD    VXV                                   #  PUSHDOWN 00-04,16D,18D
017976,000265: 15,2616           02423                                    XNB                                   #  XNB = OGA (OUTER GIMBAL AXIS)
017977,000266: 15,2617           02407                                    YSM                                   #  YSM = IGA (INNER GIMBAL AXIS)
017978,000267: 15,2620           41456                           UNIT     PUSH                                  #  PD0 = UNIT(OGA X IGA) = MGA
017979,000268: 
017980,000269: 15,2621           44041                           DOT      ITA                                   
017981,000270: 15,2622           02437                                    ZNB                                   
017982,000271: 15,2623           00051                                    S2                                    
017983,000272: 15,2624           24021                           STOVL    COSTH                                 #  COS(OG) = MGA . ZNB
017984,000273: 15,2625           00001                                    0                                     
017985,000274: 15,2626           77641                           DOT                                            
017986,000275: 15,2627           02431                                    YNB                                   
017987,000276: 15,2630           34023                           STCALL   SINTH                                 #  SIN(OG) = MGA . YNB
017988,000277: 15,2631           32440                                    ARCTRIG                               
017989,000278: 15,2632           26501                           STOVL    OGC                                   
017990,000279: 15,2633           00001                                    0                                     
017991,000280: 
017992,000281: 15,2634           50235                           VXV      DOT                                   #  PROVISION FOR MG ANGLE OF 90 DEGREES
017993,000282: 15,2635           02423                                    XNB                                   
017994,000283: 15,2636           02407                                    YSM                                   
017995,000284: 15,2637           77752                           SL1                                            
017996,000285: 15,2640           24021                           STOVL    COSTH                                 #  COS(MG) = IGA . (MGA X OGA)
017997,000286: 15,2641           02407                                    YSM                                   
017998,000287: 15,2642           77641                           DOT                                            
017999,000288: 15,2643           02423                                    XNB                                   
018000,000289: 15,2644           34023                           STCALL   SINTH                                 #  SIN(MG) = IGA . OGA
018001,000290: 15,2645           32440                                    ARCTRIG                               
018002,000291: 15,2646           02505                           STORE    MGC                                   
018003,000292: 
018004,000293: 15,2647           45246                           ABS      DSU                                   
018005,000294: 15,2650           33050                                    .166...                               
018006,000295: 15,2651           77644                           BPL                                            
018007,000296: 15,2652           32671                                    GIMLOCK1                              #  IF ANGLE GREATER THAN 60 DEGREES
018008,000297: 
018009,000298: 15,2653           50375        CALCGA1            VLOAD    DOT                                   
018010,000299: 15,2654           02415                                    ZSM                                   
018011,000300: 15,2655           00001                                    0                                     
018012,000301: 15,2656           24021                           STOVL    COSTH                                 #  COS(IG) = ZSM . MGA
018013,000302: 15,2657           02401                                    XSM                                   
018014,000303: 15,2660           45441                           DOT      STADR                                 
018015,000304: 15,2661           43754                           STCALL   SINTH                                 #  SIN(IG) = XSM . MGA
018016,000305: 15,2662           32440                                    ARCTRIG                               
018017,000306: 
018018,000307: 15,2663           26503                           STOVL    IGC                                   
018019,000308: 15,2664           02501                                    OGC                                   
018020,000309: 15,2665           77634                           RTB                                            
018021,000310: 15,2666           33414                                    V1STO2S                               
018022,000311: 15,2667           34401                           STCALL   THETAD                                
018023,000312: 15,2670           00051                                    S2                                    
018024,000313: 
018025,000314: 15,2671           77776        GIMLOCK1           EXIT                                           
018026,000315: 15,2672           05405                           TC       ALARM                                 
018027,000316: 15,2673           00401                           OCT      00401                                 
018028,000317: 15,2674           06000                           TC       INTPRET                               
018029,000318: 15,2675           77650                           GOTO                                           
018030,000319: 15,2676           32653                                    CALCGA1                               
018031,000320: 
018032,000321:                                                                                                  #  AXISGEN COMPUTES THE COORDINATES OF ONE COORDINATE SYSTEM REFERRED TO ANOTHER COORDINATE SYSTEM.
018033,000322: 
018034,000323:                                                                                                  #  THE INPUTS ARE  1) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM A STORED AT STARAD.  2) THE STAR2 VECTOR
018035,000324:                                                                                                  #  REFERRED TO COORDINATE SYSTEM A STORED AT STARAD +6.  3) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM B STORED
018036,000325:                                                                                                  #  AT LOCATION 6 OF THE VAC AREA.  4) THE STAR2 VECTOR REFERRED TO COORDINATE SYSTEM B STORED AT LOCATION 12D OF
018037,000326:                                                                                                  #  THE VAC AREA.
018038,000327: 
018039,000328:                                                                                                  #  THE OUTPUT DEFINES COORDINATE SYSTEM A REFERRED TO COORDINATE SYSTEM B.  THE THREE HALF-UNIT VECTORS ARE STORED
018040,000329:                                                                                                  #  AT LOCATIONS XDC, XDC +6, XDC +12D, AND STARAD, STARAD +6, STARAD +12D.
018041,000330: 
018042,000331: 15,2677           66370        AXISGEN            AXT,1    SSP                                   #  PUSHDOWN 00-22D,24D-28D,30D
018043,000332: 15,2700           02452                                    STARAD     +6                         
018044,000333: 15,2701           00051                                    S1                                    
018045,000334: 15,2702           02436                                    STARAD     -6                         
018046,000335: 
018047,000336: 15,2703           46773        AXISGEN1           VLOAD*   VXV*                                  #  06D   UA = S1
018048,000337: 15,2704           02461                                    STARAD     +12D,1                     #        STARAD +00D     UB = S1
018049,000338: 15,2705           02467                                    STARAD     +18D,1                     
018050,000339: 15,2706           77656                           UNIT                                           #  12D   VA = UNIT(S1 X S2)
018051,000340: 15,2707           36467                           STOVL*   STARAD     +18D,1                     #        STARAD +06D     VB = UNIT(S1 X S2)
018052,000341: 15,2710           02461                                    STARAD     +12D,1                     
018053,000342: 
018054,000343: 15,2711           76433                           VXV*     VSL1                                  
018055,000344: 15,2712           02467                                    STARAD     +18D,1                     #  18D   WA = UA X VA
018056,000345: 15,2713           06475                           STORE    STARAD     +24D,1                     #        STARAD +12D     WB = UB X VB
018057,000346: 
018058,000347: 15,2714           77700                           TIX,1                                          
018059,000348: 15,2715           32703                                    AXISGEN1                              
018060,000349: 
018061,000350: 15,2716           66160                           AXC,1    SXA,1                                 
018062,000351: 15,2717           00006                                    6                                     
018063,000352: 15,2720           00036                                    30D                                   
018064,000353: 
018065,000354: 15,2721           66370                           AXT,1    SSP                                   
018066,000355: 15,2722           00022                                    18D                                   
018067,000356: 15,2723           00051                                    S1                                    
018068,000357: 15,2724           00006                                    6                                     
018069,000358: 
018070,000359: 15,2725           66374                           AXT,2    SSP                                   
018071,000360: 15,2726           00006                                    6                                     
018072,000361: 15,2727           00052                                    S2                                    
018073,000362: 15,2730           00002                                    2                                     
018074,000363: 
018075,000364: 15,2731           76720        AXISGEN2           XCHX,1   VLOAD*                                
018076,000365: 15,2732           00036                                    30D                                   #  X1=-6 X2=+6   X1=-6 X2=+4     X1=-6 X2=+2
018077,000366: 15,2733           00001                                    0,1                                   
018078,000367: 15,2734           62757                           VXSC*    PDVL*                                 #  J=(UA)(UB1)   J=(UA)(UB2)     J=(UA)(UB3)
018079,000368: 15,2735           75324                                    STARAD     +6,2                       
018080,000369: 15,2736           00007                                    6,1                                   
018081,000370: 15,2737           77757                           VXSC*                                          
018082,000371: 15,2740           75316                                    STARAD     +12D,2                     
018083,000372: 15,2741           30031                           STOVL*   24D                                   #  K=(VA)(VB1)   J=(VA)(VB2)     J=(VA)(VB3)
018084,000373: 15,2742           00015                                    12D,1                                 
018085,000374: 
018086,000375: 15,2743           53357                           VXSC*    VAD                                   
018087,000376: 15,2744           75310                                    STARAD     +18D,2                     #  L=(WA)(WB1)   J=(WA)(WB2)     J=(WA)(WB3)
018088,000377: 15,2745           76455                           VAD      VSL1                                  
018089,000378: 15,2746           00031                                    24D                                   
018090,000379: 15,2747           77720                           XCHX,1                                         
018091,000380: 15,2750           00036                                    30D                                   
018092,000381: 15,2751           06445                           STORE    XDC        +18D,1                     #  XDC = L+J+K   YDC = L+J+K     ZDC = L+J+K
018093,000382: 
018094,000383: 15,2752           77700                           TIX,1                                          
018095,000384: 15,2753           32754                                    AXISGEN3                              
018096,000385: 
018097,000386: 15,2754           77704        AXISGEN3           TIX,2                                          
018098,000387: 15,2755           32731                                    AXISGEN2                              
018099,000388: 
018100,000389: 15,2756           77775                           VLOAD                                          
018101,000390: 15,2757           02423                                    XDC                                   
018102,000391: 15,2760           26445                           STOVL    STARAD                                
018103,000392: 15,2761           02431                                    YDC                                   
018104,000393: 15,2762           26453                           STOVL    STARAD     +6                         
018105,000394: 15,2763           02437                                    ZDC                                   
018106,000395: 15,2764           02461                           STORE    STARAD     +12D                       
018107,000396: 
018108,000397: 15,2765           77616                           RVQ                                            
018109,000398: 
018110,000399: 
018111,000400:                                                                                                  #  TRANSPSE COMPUTES THE TRANSPOSE OF A MATRIX (TRANSPOSE = INVERSE OF ORTHOGONAL TRANSFORMATION).
018112,000401: 
018113,000402:                                                                                                  #  THE INPUT IS A MATRIX DEFINING COORDINATE SYSTEM A WITH RESPECT TO COORDINATE SYSTEM B STORED IN STARAD THRU
018114,000403:                                                                                                  #  STARAD +17D.
018115,000404: 
018116,000405:                                                                                                  #  THE OUTPUT IS A MATRIX DEFINING COORDINATE SYSTEM B WITH RESPECT TO COORDINATE SYSTEM A STORED IN STARAD THRU
018117,000406:                                                                                                  #  STARAD +17D.
018118,000407: 
018119,000408: 15,2766           53447        TRANSPSE           DXCH     STARAD     +2                         #  PUSHDOWN NONE
018120,000409: 15,2767           53453                           DXCH     STARAD     +6                         
018121,000410: 15,2770           53447                           DXCH     STARAD     +2                         
018122,000411: 
018123,000412: 15,2771           53451                           DXCH     STARAD     +4                         
018124,000413: 15,2772           53461                           DXCH     STARAD     +12D                       
018125,000414: 15,2773           53451                           DXCH     STARAD     +4                         
018126,000415: 
018127,000416: 15,2774           53457                           DXCH     STARAD     +10D                       
018128,000417: 15,2775           53463                           DXCH     STARAD     +14D                       
018129,000418: 15,2776           53457                           DXCH     STARAD     +10D                       
018130,000419: 15,2777           16012                           TCF      DANZIG                                
018131,000420: 
018132,000421: 
018133,000422: 
018134,000423:                                                                                                  #  SMD/EREF TRANSFORMS STABLE MEMBER DESIRED COORDINATES FROM STABLE MEMBER DESIRED (DESIRED = PRESENT HERE) TO
018135,000424:                                                                                                  #  EARTH REFERENCE COORDINATES TO ALIGN THE STABLE MEMBER TO SPECIFIED GIMBAL ANGLES.
018136,000425: 
018137,000426:                                                                                                  #  THE INPUTS ARE 1) THE MATRIX DEFINING THE EARTH REFERENCE COORDINATE FRAME WITH RESPECT TO THE NAVIGATION BASE
018138,000427:                                                                                                  #  COORDINATE FRAME. 2) SAME AS 2) AND 3) OF SMNB.
018139,000428: 
018140,000429:                                                                                                  #  THE OUTPUT IS THE DESIRED STABLE MEMBER COORDINATES WITH RESPECT TO THE EARTH REFERENCE COORDINATE FRAME. THE
018141,000430:                                                                                                  #  THREE UNIT VECTORS ARE STORED AT XSM, YSM, AND ZSM.
018142,000431: 
018143,000432: 15,3000           77220        SMD/EREF           ITA      VLOAD                                 #  PUSHDOWN 00,02,04-10D,30D,32D-36D
018144,000433: 15,3001           00014                                    12D                                   
018145,000434: 15,3002           33040                                    XUNIT                                 
018146,000435: 15,3003           34041                           STCALL   32D                                   
018147,000436: 15,3004           32473                                    SMNB                                  #  STABLE MEMBER TO NAVIGATION BASE
018148,000437: 15,3005           76521                           MXV      VSL1                                  
018149,000438: 15,3006           02445                                    STARAD                                #  THEN TO EARTH REFERENCE
018150,000439: 15,3007           26401                           STOVL    XSM                                   
018151,000440: 15,3010           33036                                    YUNIT                                 
018152,000441: 
018153,000442: 15,3011           34041                           STCALL   32D                                   
018154,000443: 15,3012           32473                                    SMNB                                  #  STABLE MEMBER TO NAVIGATION BASE
018155,000444: 15,3013           76521                           MXV      VSL1                                  
018156,000445: 15,3014           02445                                    STARAD                                #  THEN TO EARTH REFERENCE
018157,000446: 15,3015           26407                           STOVL    YSM                                   
018158,000447: 15,3016           33034                                    ZUNIT                                 
018159,000448: 
018160,000449: 15,3017           34041                           STCALL   32D                                   
018161,000450: 15,3020           32473                                    SMNB                                  #  STABLE MEMBER TO NAVIGATION BASE
018162,000451: 15,3021           76521                           MXV      VSL1                                  
018163,000452: 15,3022           02445                                    STARAD                                #  THEN TO EARTH REFERENCE
018164,000453: 15,3023           36415                           STCALL   ZSM                                   
018165,000454: 15,3024           00014                                    12D                                   
018166,000455: 
018167,000456: 15,3025           67777 77777  270DEG             2DEC     -.25                                  
018168,000457: 
018169,000458: 15,3027           05520 26075  QTSN45             2DEC     .1768                                 
018170,000459: 
018171,000460: 15,3031           20000 00000  HALFDP             2DEC     .5                                    
018172,000461: 
018173,000462: 15,3033           00000 00000  ZUNIT              2DEC     0          B-28                       
018174,000463: 
018175,000464: 15,3035           00000 00000  YUNIT              2DEC     0          B-28                       
018176,000465: 
018177,000466: 15,3037           20000 00000  XUNIT              2DEC     0.5                                   
018178,000467: 
018179,000468: 15,3041           00000 00000  ZERODP             2DEC     0          B-28                       
018180,000469: 
018181,000470: 15,3043           00000 00000                     2DEC     0          B-28                       
018182,000471: 
018183,000472: 15,3045           00000 00000                     2DEC     0          B-28                       
018184,000473: 
018185,000474: 15,3047           05252 25253  .166...            2DEC     .1666666667                            
018186,000475: 
018187,000476: 
018188,000477:                                                                                                  #  AOTNB CONVERTS THE TWO RETICLE ROTATION ANGLES (YROT AND SROT) AND
018189,000478:                                                                                                  #  THE DETENT SETTING TO A HALF UNIT STAR VECTOR REFERRED TO THE
018190,000479:                                                                                                  #  NAVIGATION BASE.
018191,000480: 
018192,000481:                                                                                                  #  THE INPUTS ARE 
018193,000482: 
018194,000483:                                                                                                  #     Y RET. LINE RATATION S(YROT) STORED IN LOC 3 OF THE MARK VAC AREA
018195,000484:                                                                                                  #     SPIRAL ROTATION ANGLE S(SROT) STORED IN LOC 5 OF MARC VAC AREA
018196,000485:                                                                                                  #     ANGLE OF CENTER OF FIELD OF VIEW S(ELV) STORED IN LOC 9 OF MARK VAC
018197,000486:                                                                                                  #     AOT ASZIMUTH ANGLE S(DET) STORED IN LOC 8 OF MARK VAC AREA
018198,000487:                                                                                                  #     THE COMPLEMENT OF BASE ADDRESS OF MARK VAC IS STORED AT X1
018199,000488: 
018200,000489:                                                                                                  #  THE OUTPUT IS A HALF UNIT STAR VECTOR IN NB COORDINATES STORED
018201,000490:                                                                                                  #  AT 32D AND AVAILABLE IN VAC ON RETURN TO THE CALLING PROGRAM
018202,000491: 
018203,000492: 15,3051           66601        AOTNB              SETPD    SLOAD*                                
018204,000493: 15,3052           00001                                    0                                     
018205,000494: 15,3053           00004                                    3,1                                   
018206,000495: 15,3054           41434                           RTB      PUSH                                  
018207,000496: 15,3055           33345                                    CDULOGIC                              
018208,000497: 15,3056           00017                           STORE    14D                                   
018209,000498: 15,3057           65346                           COS      PDDL                                  
018210,000499: 15,3060           41556                           SIN      PUSH                                  
018211,000500: 15,3061           47133                           SLOAD*   RTB                                   
018212,000501: 15,3062           00006                                    5,1                                   
018213,000502: 15,3063           33345                                    CDULOGIC                              
018214,000503: 15,3064           00021                           STORE    16D                                   #  STORE S IF S AND Y ARE ZERO, S=0
018215,000504: 15,3065           52054                           BZE      GOTO                                  #  S NOT ZERO
018216,000505: 15,3066           33070                                    SISZ                                  #  S=0
018217,000506: 15,3067           33100                                    SCOMP                                 
018218,000507: 15,3070           53145        SISZ               DLOAD    BZE                                   #  IS Y ZERO
018219,000508: 15,3071           00017                                    14D                                   
018220,000509: 15,3072           33075                                    YISZ                                  #  Y=0
018221,000510: 15,3073           77650                           GOTO                                           
018222,000511: 15,3074           33100                                    SCOMP                                 
018223,000512: 15,3075           52145        YISZ               DLOAD    GOTO                                  
018224,000513: 15,3076           33042                                    ZERODP                                
018225,000514: 15,3077           33105                                    SGOT                                  
018226,000515: 15,3100           45345        SCOMP              DLOAD    DSU                                   
018227,000516: 15,3101           00017                                    14D                                   
018228,000517: 15,3102           00021                                    16D                                   #  Y=S
018229,000518: 15,3103           77621                           BDSU                                           
018230,000519: 15,3104           33172                                    NEARONE                               #  S=360-(Y-S)
018231,000520: 15,3105           41405        SGOT               DMP      PUSH                                  
018232,000521: 15,3106           33170                                    DP1/12                                
018233,000522: 15,3107           65346                           COS      PDDL                                  
018234,000523: 15,3110           41556                           SIN      PUSH                                  
018235,000524: 15,3111           72405                           DMP      SL1                                   
018236,000525: 15,3112           00001                                    0                                     
018237,000526: 15,3113           14001                           STODL    0                                     
018238,000527: 15,3114           00003                                    2                                     
018239,000528: 15,3115           45405                           DMP      STADR                                 
018240,000529: 15,3116           77774                           STORE    2                                     
018241,000530: 
018242,000531: 15,3117           47133                           SLOAD*   RTB                                   
018243,000532: 15,3120           00012                                    9D,1                                  
018244,000533: 15,3121           33345                                    CDULOGIC                              
018245,000534: 15,3122           73406                           PUSH     SIN                                   
018246,000535: 15,3123           71525                           PDDL     COS                                   
018247,000536: 15,3124           41206                           PUSH     DMP                                   
018248,000537: 15,3125           00001                                    0                                     
018249,000538: 15,3126           41325                           PDDL     DMP                                   
018250,000539: 15,3127           00005                                    4                                     
018251,000540: 15,3130           00007                                    6                                     
018252,000541: 15,3131           72415                           DAD      SL1                                   
018253,000542: 15,3132           77626                           STADR                                          
018254,000543: 15,3133           63736                           STODL    32D                                   
018255,000544: 
018256,000545: 15,3134           77605                           DMP                                            
018257,000546: 15,3135           00005                                    4                                     
018258,000547: 15,3136           14005                           STODL    4                                     
018259,000548: 
018260,000549: 15,3137           44205                           DMP      BDSU                                  
018261,000550: 15,3140           00001                                    0                                     
018262,000551: 15,3141           66606                           PUSH     SLOAD*                                
018263,000552: 15,3142           00011                                    8D,1                                  
018264,000553: 15,3143           41434                           RTB      PUSH                                  
018265,000554: 15,3144           33345                                    CDULOGIC                              
018266,000555: 15,3145           65346                           COS      PDDL                                  
018267,000556: 15,3146           77756                           SIN                                            
018268,000557: 15,3147           00001                           STORE    0                                     
018269,000558: 
018270,000559: 15,3150           65205                           DMP      PDDL                                  
018271,000560: 15,3151           00005                                    4                                     
018272,000561: 15,3152           00007                                    6                                     
018273,000562: 15,3153           43205                           DMP      DAD                                   
018274,000563: 15,3154           00003                                    2                                     
018275,000564: 15,3155           77712                           SL2                                            
018276,000565: 15,3156           14043                           STODL    34D                                   
018277,000566: 
018278,000567: 15,3157           45405                           DMP      STADR                                 
018279,000568: 15,3160           63732                           STODL    36D                                   
018280,000569: 
018281,000570: 15,3161           77605                           DMP                                            
018282,000571: 15,3162           62421                           BDSU     SL2                                   
018283,000572: 15,3163           00045                                    36D                                   
018284,000573: 15,3164           24045                           STOVL    36D                                   
018285,000574: 15,3165           00041                                    32D                                   
018286,000575: 15,3166           77616                           RVQ                                            
018287,000576: 15,3167           02525 12525  DP1/12             2DEC     .0833333333                            
018288,000577: 
018289,000578: 15,3171           37777 37777  NEARONE            2DEC     .999999999                            
018290,000579: 
018291,000580: 
018292,000581:                                                                                                  #  AOTSM CALCULATES A HALF UNIT STAR VECTOR IN STABLE MEMBER COORDINATES
018293,000582:                                                                                                  #  FROM TWO PLANES CONTAINING THE STAR REFERRED TO NB
018294,000583: 
018295,000584:                                                                                                  #  THE INPUTS ARE
018296,000585: 
018297,000586:                                                                                                  #     AOT AZIMUTH AND ELEVATION STORED IN 8D AND 9D RESP. OF VAC AREA
018298,000587:                                                                                                  #     CDUY, CDUZ AND CDUX FROM A YMARK STORED AT 3, 5, AND 7 OF VAC AREA
018299,000588:                                                                                                  #     CDUY, CDUZ AND CDUX FROM A XMARK STORED AT 2, 4, AND 6 OF VAC AREA
018300,000589:                                                                                                  #  THE BASE ADDRESS OF THE CDUS IS STORED AT LOCATION S1
018301,000590: 
018302,000591:                                                                                                  #  THE OUTPUT IS A STAR VECTOR REFERRED TO STABLE MEMBER AT LOC 32D
018303,000592:                                                                                                  #  AND AVAILBLE IN MPAC
018304,000593: 
018305,000594: 
018306,000595: 15,3173           77620        AOTSM              ITA                                            
018307,000596: 15,3174           00035                                    29D                                   
018308,000597: 15,3175           70001                           SETPD    LXC,1                                 #  PUT BASE ADR OF VAC AREA IN X1
018309,000598: 15,3176           00015                                    12D                                   
018310,000599: 15,3177           00050                                    S1                                    
018311,000600: 15,3200           41545                           DLOAD    PUSH                                  #  ZERO 12 - 13
018312,000601: 15,3201           33042                                    ZERODP                                
018313,000602: 15,3202           47133                           SLOAD*   RTB                                   #  LOAD AZIMUTH ANGLE (D)
018314,000603: 15,3203           00007                                    6,1                                   
018315,000604: 15,3204           33345                                    CDULOGIC                              
018316,000605: 15,3205           71406                           PUSH     COS                                   
018317,000606: 15,3206           73525                           PDDL     SIN                                   #  1/2 COSD 14-15
018318,000607: 15,3207           41476                           DCOMP    PUSH                                  #  -1/2 SIND 16-17
018319,000608: 15,3210           47133                           SLOAD*   RTB                                   #  LOAD ELEVATION ANGLE (E)
018320,000609: 15,3211           00010                                    7,1                                   
018321,000610: 15,3212           33345                                    CDULOGIC                              
018322,000611: 15,3213           71406                           PUSH     COS                                   
018323,000612: 15,3214           14041                           STODL    32D                                   #  1/2COSE
018324,000613: 15,3215           41556                           SIN      PUSH                                  #  1/2 SINE 18-19
018325,000614: 15,3216           72405                           DMP      SL1                                   
018326,000615: 15,3217           00021                                    16D                                   
018327,000616: 15,3220           14043                           STODL    34D                                   #  -1/2 SINE SIND UP 18-19
018328,000617: 15,3221           57405                           DMP      DCOMP                                 
018329,000618: 15,3222           00017                                    14D                                   
018330,000619: 15,3223           77752                           SL1                                            
018331,000620: 15,3224           34045                           STCALL   36D                                   #  -1/2SINE COSD
018332,000621: 15,3225           32517                                    NBSM                                  #  GET X PLANE IN SM
018333,000622: 15,3226           45515                           PDVL     STADR                                 #  X PLANE IN SM IN 12-17
018334,000623: 15,3227           77736                           STORE    32D                                   #  Y PLANE IN NB
018335,000624: 15,3230           62120                           XCHX,1   INCR,1                                
018336,000625: 15,3231           00050                                    S1                                    #  ADD ONE TO BASE ADR OF VAC AREA
018337,000626: 15,3232           00001                                    1                                     
018338,000627: 15,3233           45120                           XCHX,1   CALL                                  
018339,000628: 15,3234           00050                                    S1                                    #  PUT NEW BASE ADR BACK IN S1
018340,000629: 15,3235           32517                                    NBSM                                  #  GET Y PLANE IN SM
018341,000630: 15,3236           76435                           VXV      VSL1                                  
018342,000631: 15,3237           77676                           VCOMP                                          
018343,000632: 15,3240           00041                           STORE    32D                                   #  STORE STAR VEC REFERRED TO SM
018344,000633: 15,3241           77650                           GOTO                                           
018345,000634: 15,3242           00035                                    29D                                   
018346,000635: 
018347,000636: 
018348,000637:                                                                                                  #           GIVEN RR TRUNION AND SHAFT (T,S) IN TANG,+1, FIND THE ASSOCIATED LINE OF SIGNT IN NAV BASE AXES.
018349,000638:                                                                                                  #  THE HALF UNIT VECTOR, .5( SIN(S)COS(T),-SIN(T),COS(S)COS(T) ) IS LEFT IN MPAC AND 32D.
018350,000639: 
018351,000640: 15,3243           47135        RRNB               SLOAD    RTB                                   
018352,000641: 15,3244           00424                                    TANG                                  
018353,000642: 15,3245           33345                                    CDULOGIC                              
018354,000643: 15,3246           41401                           SETPD    PUSH                                  #  TRUNNION ANGLE TO 0.
018355,000644: 15,3247           00001                                    0                                     
018356,000645: 15,3250           57556                           SIN      DCOMP                                 
018357,000646: 15,3251           14043                           STODL    34D                                   #  Y COMPONENT.
018358,000647: 
018359,000648: 15,3252           41546                           COS      PUSH                                  #  .5 COS(T) TO 0.
018360,000649: 15,3253           47135                           SLOAD    RTB                                   
018361,000650: 15,3254           00425                                    TANG       +1                         
018362,000651: 15,3255           33345                                    CDULOGIC                              
018363,000652: 15,3256           71406                           PUSH     COS                                   #  SHAFT ANGLE TO 2.
018364,000653: 15,3257           72405                           DMP      SL1                                   
018365,000654: 15,3260           00001                                    0                                     
018366,000655: 15,3261           14045                           STODL    36D                                   #  Z COMPONENT
018367,000656: 
018368,000657: 15,3262           41356                           SIN      DMP                                   
018369,000658: 15,3263           77752                           SL1                                            
018370,000659: 15,3264           24041                           STOVL    32D                                   
018371,000660: 15,3265           00041                                    32D                                   
018372,000661: 15,3266           77616                           RVQ                                            
018373,000662: 
018374,000663: 
018375,000664:                                                                                                  #            THE FOLLOWING ROUTINE TAKES A HALF UNIT TARGET VECTOR REFERRED TO NAV BASE COORDINATES AND FINDS BOTH
018376,000665:                                                                                                  #  GIMBAL ORIENTATIONS AT WHICH THE RR MIGHT SIGHT THE TARGET. THE GIMBAL ANGLES CORRESPONDING TO THE PRESENT MODE
018377,000666:                                                                                                  #  ARE LEFT IN MODEA AND THOSE WHICH WOULD BE USED AFTER A REMODE IN MODEB. THIS ROUTINE ASSUMES MODE 1 IS TRUNNION
018378,000667:                                                                                                  #  ANGLE LESS THAN 90 DEGS IN ABS VALUE WITH ARBITRARY SHAFT, WITH A CORRESPONDING DEFINITION FOR MODE 2. MODE
018379,000668:                                                                                                  #  SELECTION AND LIMIT CHECKING ARE DONE ELSEWHERE.
018380,000669: 
018381,000670:                                                                                                  #            THE MODE 1 CONFIGURATION IS CALCULATED FROM THE VECTOR AND THEN MODE 2 IS FOUND USING THE RELATIONS
018382,000671: 
018383,000672:                                                                                                  #            S(2) = 180 + S(1)
018384,000673:                                                                                                  #            T(2) = 180 - T(1)
018385,000674: 
018386,000675: 15,3267           57545        RRANGLES           DLOAD    DCOMP                                 #  SINCE WE WILL FIND THE MODE 1 SHAFT
018387,000676: 15,3270           00043                                    34D                                   #  ANGLE LATER, WE CAN FIND THE MODE 1
018388,000677: 15,3271           67401                           SETPD    ASIN                                  #  TRUNNION BY SIMPLY TAKING THE ARCSIN OF
018389,000678: 15,3272           00001                                    0                                     #  THE Y COMPONENT, THE ASIN GIVING AN
018390,000679: 15,3273           44206                           PUSH     BDSU                                  #  ANSWER WHOSE ABS VAL IS LESS THAN 90 DEG
018391,000680: 15,3274           33032                                    HALFDP                                
018392,000681: 15,3275           14005                           STODL    4                                     #  MODE 2 TRUNNION TO 4.
018393,000682: 
018394,000683: 15,3276           33042                                    ZERODP                                
018395,000684: 15,3277           24043                           STOVL    34D                                   #  UNIT THE PROJECTION OF THE VECTOR IN THE
018396,000685: 15,3300           00041                                    32D                                   #  X-Z PLANE.
018397,000686: 15,3301           41056                           UNIT     BOVB                                  #  CALL FOR S/C MANEUVER ON GIMBAL LOCK.
018398,000687: 15,3302           20346                                    DESRETRN   +1                         
018399,000688: 15,3303           14041                           STODL    32D                                   #  PROJECTION VECTOR.
018400,000689: 15,3304           00041                                    32D                                   
018401,000690: 15,3305           44142                           SR1      STQ                                   
018402,000691: 15,3306           00051                                    S2                                    
018403,000692: 15,3307           14023                           STODL    SINTH                                 #  USE ARCTRIG SINCE SHAFT COULD BE ARB.
018404,000693: 15,3310           00045                                    36D                                   
018405,000694: 15,3311           77742                           SR1                                            
018406,000695: 15,3312           34021                           STCALL   COSTH                                 
018407,000696: 15,3313           32440                                    ARCTRIG                               
018408,000697: 15,3314           43206                           PUSH     DAD                                   #  MODE 1 SHAFT TO 2.
018409,000698: 15,3315           33032                                    HALFDP                                #  (OVERFLOW DOESNT MATTER SINCE SCALED REV
018410,000699: 15,3316           24007                           STOVL    6                                     
018411,000700: 15,3317           00005                                    4                                     
018412,000701: 15,3320           77634                           RTB                                            #  FIND MODE 2 CDU ANGLES.
018413,000702: 15,3321           33431                                    2V1STO2S                              
018414,000703: 15,3322           24426                           STOVL    MODEB                                 
018415,000704: 15,3323           00001                                    0                                     
018416,000705: 15,3324           77634                           RTB                                            #  MODE 1 ANGLES TO MODE A.
018417,000706: 15,3325           33431                                    2V1STO2S                              
018418,000707: 15,3326           00424                           STORE    MODEA                                 
018419,000708: 15,3327           77776                           EXIT                                           
018420,000709: 
018421,000710: 15,3330           40413                           CS       RADMODES                              #  SWAP MODEA AND MODEB IF RR IN MODE2.
018422,000711: 15,3331           77656                           MASK     BIT12                                 
018423,000712: 15,3332           10000                           CCS      A                                     
018424,000713: 15,3333           13337                           TCF      +4                                    
018425,000714: 
018426,000715: 15,3334           52424                           DXCH     MODEA                                 
018427,000716: 15,3335           52426                           DXCH     MODEB                                 
018428,000717: 15,3336           52424                           DXCH     MODEA                                 
018429,000718: 
018430,000719: 15,3337           06000                           TC       INTPRET                               
018431,000720: 15,3340           77650                           GOTO                                           
018432,000721: 15,3341           00051                                    S2                                    
018433,000722: 
018434,000723: 15,3342                        ENDINFSS           EQUALS                                         

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