Source Code

   YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS       BY MSTEWART MAR. 27,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.

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

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