Source Code

These source-code files are part of a reconstructed copy of Skylark 048, the Block II Command Module (CM) Apollo Guidance Computer (AGC) software for the Skylab-2, Skylab-3, Skylab-4, and Apollo-Soyuz Test Project missions.

They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on Skylab-2, part numbers 2010802-541, 2010802-551, 2010802-561, 2010802-571, 2010802-581, and 2010802-591. Access to these modules was provided by the New Mexico Museum of Space History, who we are much indebted to.

The source code for the Apollo 15, 16, and 17 software, Artemis 072, was used as a starting point. Heavy use was made of TRW 4900.5-244, Programmed Guidance Equations for Skylark Command Module Earth Orbital Program, dated 14 February 1972. This document contains pseudocode of essentially all of Skylark, using original program labels which have been copied for this source reconstruction.

Since only binary dumps (rather than listings) of Skylark are available as source material, all comments and labels are approximate. They have been taken from the Programmed Guidance Equations or other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

054543,000002:                                                                                                  ## Copyright:   Public domain.
054544,000003:                                                                                                  ## Filename:    POWERED_FLIGHT_SUBROUTINES.agc
054545,000004:                                                                                                  ## Purpose:     A section of Skylark revision 048.
054546,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer (AGC)
054547,000006:                                                                                                  ##              for Skylab-2, Skylab-3, Skylab-4, and ASTP. No original listings of
054548,000007:                                                                                                  ##              this software are available; instead, this file was created via
054549,000008:                                                                                                  ##              disassembly of dumps of the core rope modules actually flown on
054550,000009:                                                                                                  ##              Skylab-2. Access to these modules was provided by the New Mexico
054551,000010:                                                                                                  ##              Museum of Space History.
054552,000011:                                                                                                  ## Assembler:   yaYUL
054553,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
054554,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
054555,000014:                                                                                                  ## Mod history: 2023-09-04 MAS  Created from Artemis 072.
054556,000015:                                                                                                  ##              2024-03-05 MAS  Finished updating for Skylark 48. All of the
054557,000016:                                                                                                  ##                              changes here involved restoring functions that
054558,000017:                                                                                                  ##                              had been deleted from earlier programs.
054559,000018: 
054560,000019: 
054561,000020: 23,2000                                           SETLOC   POWFLITE                              
054562,000021: 23,2000                                           BANK                                           
054563,000022: 
054564,000023: 23,3471     0142                                  EBANK=   DEXDEX                                
054565,000024: 23,3471                                           COUNT*   $$/POWFL                              
054566,000025: 
054567,000026:                                                                                                  #  CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
054568,000027:                                                                                                  #  COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
054569,000028:                                                                                                  #  PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.  AN
054570,000029:                                                                                                  #  ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.  THESE
054571,000030:                                                                                                  #  ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
054572,000031:                                                                                                  #  EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.  THEY DIFFER ONLY IN
054573,000032:                                                                                                  #  WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
054574,000033: 
054575,000034:                                                                                                  #  CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
054576,000035:                                                                                                  #  SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
054577,000036:                                                                                                  #  THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
054578,000037:                                                                                                  #  CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
054579,000038: 
054580,000039:                                                                                                  #  CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
054581,000040: 
054582,000041:                                                                                                  #  CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.  THIS
054583,000042:                                                                                                  #  ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
054584,000043:                                                                                                  #  ANGLES IN AN ORDER OTHER THAN X Y Z.  A CALL TO THIS ROUTINE IS
054585,000044:                                                                                                  #  NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
054586,000045:                                                                                                  #  MODES (SMNB OR NBSM).  SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
054587,000046:                                                                                                  #  COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
054588,000047:                                                                                                  #  IN THIS ORDER.  CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
054589,000048:                                                                                                  #  MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.  NOTE THAT SINCE
054590,000049:                                                                                                  #  IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
054591,000050:                                                                                                  #  CALLED USING BANKCALL.  SORRY.
054592,000051: 
054593,000052:                                                                                                  #  CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
054594,000053:                                                                                                  #  INTERPRETIVE.
054595,000054: 
054596,000055: 23,3471           77776        CDUTRIG            EXIT                                           
054597,000056: 23,3472           03501                           TC       CDUTRIGS                              
054598,000057: 23,3473           06006                           TC       INTPRET                               
054599,000058: 23,3474           77616                           RVQ                                            
054600,000059: 
054601,000060: 23,3475           77776        CD*TR*G            EXIT                                           
054602,000061: 23,3476           03507                           TC       CD*TR*GS                              
054603,000062: 23,3477           06006                           TC       INTPRET                               
054604,000063: 23,3500           77616                           RVQ                                            
054605,000064: 
054606,000065: 23,3501           30032        CDUTRIGS           CA       CDUX                                  
054607,000066: 23,3502           55165                           TS       CDUSPOT    +4                         
054608,000067: 23,3503           30033                           CA       CDUY                                  
054609,000068: 23,3504           55161                           TS       CDUSPOT                               
054610,000069: 23,3505           30034                           CA       CDUZ                                  
054611,000070: 23,3506           55163                           TS       CDUSPOT    +2                         
054612,000071: 
054613,000072: 23,3507           00006        CD*TR*GS           EXTEND                                         
054614,000073: 23,3510           22142                           QXCH     TEM2                                  
054615,000074: 23,3511           34777                           CAF      FOUR                                  
054616,000075: 23,3512           76211        TR*GL**P           MASK     SIX                                   #  MAKE IT EVEN AND SMALLER
054617,000076: 23,3513           54143                           TS       TEM3                                  
054618,000077: 23,3514           50143                           INDEX    TEM3                                  
054619,000078: 23,3515           31161                           CA       CDUSPOT                               
054620,000079: 23,3516           52155                           DXCH     MPAC                                  #  STORING 2'S COMP ANGLE, LOADING MPAC
054621,000080: 23,3517           52127                           DXCH     VBUF       +4                         #  STORING MPAC FOR LATER RESTORATION
054622,000081: 23,3520           04744                           TC       USPRCADR                              
054623,000082: 23,3521           45566                           CADR     CDULOGIC                              
054624,000083: 23,3522           00006                           EXTEND                                         
054625,000084: 23,3523           30155                           DCA      MPAC                                  
054626,000085: 23,3524           50143                           INDEX    TEM3                                  
054627,000086: 23,3525           53162                           DXCH     CDUSPOT                               #  STORING 1'S COMPLEMENT ANGLE
054628,000087: 23,3526           04744                           TC       USPRCADR                              
054629,000088: 23,3527           01514                           CADR     COSINE                                
054630,000089: 23,3530           52155                           DXCH     MPAC                                  
054631,000090: 23,3531           50143                           INDEX    TEM3                                  
054632,000091: 23,3532           53140                           DXCH     COSCDU                                #  STORING COSINE
054633,000092: 23,3533           00006                           EXTEND                                         
054634,000093: 23,3534           50143                           INDEX    TEM3                                  
054635,000094: 23,3535           31162                           DCA      CDUSPOT                               #  LOADING 1'S COMPLEMENT ANGLE
054636,000095: 23,3536           04744                           TC       USPRCADR                              
054637,000096: 23,3537           01526                           CADR     SINE       +1                         #  SINE +1 EXPECTS ARGUMENT IN A AND L
054638,000097: 23,3540           52127                           DXCH     VBUF       +4                         #  BRINGING UP PRIOR MPAC TO BE RESTORED
054639,000098: 23,3541           52155                           DXCH     MPAC                                  
054640,000099: 23,3542           50143                           INDEX    TEM3                                  
054641,000100: 23,3543           53132                           DXCH     SINCDU                                
054642,000101: 23,3544           10143                           CCS      TEM3                                  
054643,000102: 23,3545           13512                           TCF      TR*GL**P                              
054644,000103: 23,3546           00142                           TC       TEM2                                  
054645,000104: 
054646,000105: 
054647,000106:                                                                                                  #  ****************************************************************************************************************
054648,000107: 
054649,000108:                                                                                                  #  QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
054650,000109:                                                                                                  #  QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
054651,000110:                                                                                                  #  AND CDUSPOT +4.  UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
054652,000111:                                                                                                  #  CDUSPOT.  QUICTRIG'S EXECUTION TIME IS 4.1 MS;    THIS IS 10 TIMES AS FAST AS CD*TR*GS.    QUICTRIG MAY BE
054653,000112:                                                                                                  #  CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
054654,000113: 
054655,000114: 23,3547           00004        QUICTRIG           INHINT                                         #  INHINT SINCE DAP USES THE SAME TEMPS
054656,000115: 23,3550           00006                           EXTEND                                         
054657,000116: 23,3551           22061                           QXCH     ITEMP1                                
054658,000117: 23,3552           34777                           CAF      FOUR                                  
054659,000118: 23,3553           76211                 +4        MASK     SIX                                   
054660,000119: 23,3554           54062                           TS       ITEMP2                                
054661,000120: 23,3555           50062                           INDEX    ITEMP2                                
054662,000121: 23,3556           31161                           CA       CDUSPOT                               
054663,000122: 23,3557           05074                           TC       SPSIN                                 
054664,000123: 23,3560           00006                           EXTEND                                         
054665,000124: 23,3561           74764                           MP       BIT14                                 #  SCALE DOWN TO MATCH INTERPRETER OUTPUTS
054666,000125: 23,3562           50062                           INDEX    ITEMP2                                
054667,000126: 23,3563           53132                           DXCH     SINCDU                                
054668,000127: 23,3564           50062                           INDEX    ITEMP2                                
054669,000128: 23,3565           31161                           CA       CDUSPOT                               
054670,000129: 23,3566           05073                           TC       SPCOS                                 
054671,000130: 23,3567           00006                           EXTEND                                         
054672,000131: 23,3570           74764                           MP       BIT14                                 
054673,000132: 23,3571           50062                           INDEX    ITEMP2                                
054674,000133: 23,3572           53140                           DXCH     COSCDU                                
054675,000134: 23,3573           10062                           CCS      ITEMP2                                
054676,000135: 23,3574           13553                           TCF      QUICTRIG   +4                         
054677,000136: 23,3575           30061                           CA       ITEMP1                                
054678,000137: 23,3576           00003                           RELINT                                         
054679,000138: 23,3577           00000                           TC       A                                     
054680,000139: 
054681,000140: 
054682,000141:                                                                                                  #  ****************************************************************************************************************
054683,000142: 
054684,000143:                                                                                                  #  THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
054685,000144:                                                                                                  #  INTERPRETIVE.  LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
054686,000145: 
054687,000146:                                                                                                  #  THESE INTERFACE ROUTINES ARE PERMANENT.  ALL RESTORE USER'S EBANK
054688,000147:                                                                                                  #  SETTING.  ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
054689,000148:                                                                                                  #  RETURNING VIA QPRET.  ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
054690,000149:                                                                                                  #  MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
054691,000150: 
054692,000151:                                                                                                  #  TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
054693,000152:                                                                                                  #  AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
054694,000153:                                                                                                  #  LOCATIONS NEED NOT BE ZEROED).  TRG*NBSM DOES THE NB TO SM TRANSFOR-
054695,000154:                                                                                                  #  MATION;  TRG*SMNB, VICE VERSA.
054696,000155: 
054697,000156:                                                                                                  #  CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
054698,000157:                                                                                                  #  THE CDU COUNTERS.  OTHERWISE IT IS LIKE TRG*NBSM.
054699,000158: 
054700,000159:                                                                                                  #  CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
054701,000160: 
054702,000161: 23,3600           77776        CDU*SMNB           EXIT                                           
054703,000162: 23,3601           03501                           TC       CDUTRIGS                              
054704,000163: 23,3602           13605                           TCF      C*MM*N1                               
054705,000164: 
054706,000165: 23,3603           77776        TRG*SMNB           EXIT                                           
054707,000166: 23,3604           03507                           TC       CD*TR*GS                              
054708,000167: 23,3605           07466        C*MM*N1            TC       MPACVBUF                              #  AX*SR*T EXPECTS VECTOR IN VBUF
054709,000168: 23,3606           46214                           CS       THREE                                 #  SIGNAL FOR SM TO NB TRANSFORMATION
054710,000169: 23,3607           03627        C*MM*N2            TC       AX*SR*T                               
054711,000170: 23,3610           06006                           TC       INTPRET                               
054712,000171: 23,3611           43575                           VLOAD    RVQ                                   
054713,000172: 23,3612           00123                                    VBUF                                  
054714,000173: 
054715,000174: 23,3613           77776        CDU*NBSM           EXIT                                           
054716,000175: 23,3614           03501                           TC       CDUTRIGS                              
054717,000176: 23,3615           13620                           TCF      C*MM*N3                               
054718,000177: 
054719,000178: 23,3616           77776        TRG*NBSM           EXIT                                           
054720,000179: 23,3617           03507                           TC       CD*TR*GS                              
054721,000180: 23,3620           07466        C*MM*N3            TC       MPACVBUF                              #  FOR AX*SR*T
054722,000181: 23,3621           36214                           CA       THREE                                 #  SIGNAL FOR NB TO SM TRANSFORMATION
054723,000182: 23,3622           13607                           TCF      C*MM*N2                               
054724,000183: 
054725,000184:                                                                                                  #  *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
054726,000185:                                                                                                  #  AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.  OTHERWISE THEY ARE
054727,000186:                                                                                                  #  LIKE TRG*NBSM AND TRG*SMNB.
054728,000187: 
054729,000188:                                                                                                  #  NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
054730,000189:                                                                                                  #  OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
054731,000190:                                                                                                  #  AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.  FOR SUBSEQUENT TRANSFOR-
054732,000191:                                                                                                  #  MATIONS USE *NBSM* AND *SMNB*.
054733,000192: 
054734,000193: 23,3623           77776        *SMNB*             EXIT                                           
054735,000194: 23,3624           13605                           TCF      C*MM*N1                               
054736,000195: 
054737,000196: 23,3625           77776        *NBSM*             EXIT                                           
054738,000197: 23,3626           13620                           TCF      C*MM*N3                               
054739,000198: 
054740,000199:                                                                                                  #  AX*SR*T COMBINES THE OLD SMNB AND NBSM.  FOR THE NB TO SM
054741,000200:                                                                                                  #  TRANSFORMATION, ENTER WITH +3 IN A.  FOR SM TO NB, ENTER WITH -3.
054742,000201:                                                                                                  #  THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
054743,000202:                                                                                                  #  AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
054744,000203:                                                                                                  #  AT SINCDU AND COSCDU, IN THE ORDER Y Z X.  A CALL TO CD*TR*GS, WITH
054745,000204:                                                                                                  #  THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
054746,000205:                                                                                                  #  THIS.  HERE IS A SAMPLE CALLING SEQUENCE:-
054747,000206: 
054748,000207:                                                                                                  #                TC      CDUTRIGS
054749,000208:                                                                                                  #                CS      THREE           ("CA THREE" FOR NBSM)
054750,000209:                                                                                                  #                TC      AX*SR*T
054751,000210: 
054752,000211:                                                                                                  #  THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
054753,000212:                                                                                                  #  THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
054754,000213: 
054755,000214:                                                                                                  #  AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
054756,000215:                                                                                                  #  UNITY.  A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
054757,000216:                                                                                                  #  HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
054758,000217:                                                                                                  #  FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
054759,000218: 
054760,000219: 23,3627           54142        AX*SR*T            TS       DEXDEX                                #  WHERE IT BECOMES THE INDEX OF INDEXES
054761,000220: 23,3630           00006                           EXTEND                                         
054762,000221: 23,3631           22145                           QXCH     RTNSAVER                              
054763,000222: 
054764,000223: 23,3632           10142        R*TL**P            CCS      DEXDEX                                #                +3 --> 0        -3 --> 2
054765,000224: 23,3633           40142                           CS       DEXDEX                                #  THUS:         +2 --> 1        -2 --> 1
054766,000225: 23,3634           66214                           AD       THREE                                 #                +1 --> 2        -1 --> 0
054767,000226: 23,3635           00006                           EXTEND                                         
054768,000227: 23,3636           50000                           INDEX    A                                     
054769,000228: 23,3637           33716                           DCA      INDEXI                                
054770,000229: 23,3640           52144                           DXCH     DEXI                                  
054771,000230: 
054772,000231: 23,3641           35001                           CA       ONE                                   
054773,000232: 23,3642           54130                           TS       BUF                                   
054774,000233: 23,3643           00006                           EXTEND                                         
054775,000234: 23,3644           50143                           INDEX    DEX1                                  
054776,000235: 23,3645           40123                           DCS      VBUF                                  
054777,000236: 23,3646           13650                           TCF      LOOP1                                 #  REALLY BE A SUBTRACT, AND VICE VERSA
054778,000237: 
054779,000238: 23,3647           52131        LOOP2              DXCH     BUF                                   #  LOADING VECTOR COMPONENT, STORING INDEX
054780,000239: 
054781,000240: 23,3650           52155        LOOP1              DXCH     MPAC                                  
054782,000241: 23,3651           33714                           CA       SINESLOC                              
054783,000242: 23,3652           60143                           AD       DEX1                                  
054784,000243: 23,3653           54116                           TS       ADDRWD                                
054785,000244: 
054786,000245: 23,3654           07056                           TC       DMPSUB                                #  MULTIPLY BY SIN(CDUANGLE)
054787,000246: 23,3655           10142                           CCS      DEXDEX                                
054788,000247: 23,3656           52155                           DXCH     MPAC                                  #  NBSM CASE
054789,000248: 23,3657           13662                           TCF      +3                                    
054790,000249: 23,3660           00006                           EXTEND                                         #  SMNB CASE
054791,000250: 23,3661           40155                           DCS      MPAC                                  
054792,000251: 23,3662           52134                           DXCH     TERM1TMP                              
054793,000252: 
054794,000253: 23,3663           36211                           CA       SIX                                   #  SINCDU AND COSCDU (EACH 6 WORDS) MUST
054795,000254: 23,3664           26116                           ADS      ADDRWD                                #        BE CONSECUTIVE AND IN THAT ORDER
054796,000255: 
054797,000256: 23,3665           00006                           EXTEND                                         
054798,000257: 23,3666           50130                           INDEX    BUF                                   
054799,000258: 23,3667           50143                           INDEX    DEX1                                  
054800,000259: 23,3670           30123                           DCA      VBUF                                  
054801,000260: 23,3671           52155                           DXCH     MPAC                                  
054802,000261: 23,3672           07056                           TC       DMPSUB                                #  MULTIPLY BY COS(CDUANGLE)
054803,000262: 23,3673           52155                           DXCH     MPAC                                  
054804,000263: 23,3674           20134                           DAS      TERM1TMP                              
054805,000264: 23,3675           52134                           DXCH     TERM1TMP                              
054806,000265: 23,3676           20001                           DDOUBL                                         
054807,000266: 23,3677           50130                           INDEX    BUF                                   
054808,000267: 23,3700           50143                           INDEX    DEX1                                  
054809,000268: 23,3701           52123                           DXCH     VBUF                                  
054810,000269: 23,3702           52131                           DXCH     BUF                                   #  LOADING INDEX, STORING VECTOR COMPONENT
054811,000270: 
054812,000271: 23,3703           10000                           CCS      A                                     #  'CAUSE THAT'S WHERE THE INDEX NOW IS
054813,000272: 23,3704           13647                           TCF      LOOP2                                 
054814,000273: 
054815,000274: 23,3705           00006                           EXTEND                                         
054816,000275: 23,3706           26142                           DIM      DEXDEX                                #  DECREMENT MAGNITUDE PRESERVING SIGN
054817,000276: 
054818,000277: 23,3707           10142        TSTPOINT           CCS      DEXDEX                                #  ONLY THE BRANCHING FUNCTION IS USED
054819,000278: 23,3710           13632                           TCF      R*TL**P                               
054820,000279: 23,3711           00145                           TC       RTNSAVER                              
054821,000280: 23,3712           13632                           TCF      R*TL**P                               
054822,000281: 23,3713           00145                           TC       RTNSAVER                              
054823,000282: 
054824,000283: 23,3714           01131        SINESLOC           ADRES    SINCDU                                #  FOR USE IN SETTING ADDRWD
054825,000284: 
054826,000285: 23,3715           00004        INDEXI             DEC      4          B-14                       #  **********   DON'T   **********
054827,000286: 23,3716           00002                           DEC      2          B-14                       #  **********   TOUCH   **********
054828,000287: 23,3717           00000                           DEC      0          B-14                       #  **********   THESE   **********
054829,000288: 23,3720           00004                           DEC      4          B-14                       #  ********** CONSTANTS **********
054830,000289: 
054831,000290:                                                                                                  #  ****************************************************************************************************************
054832,000291: 
054833,000292: 
054834,000293:                                                                                                  #  THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
054835,000294:                                                                                                  #  REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4).  SIN,COS(CDUY,Z,X) ARE IN
054836,000295:                                                                                                  #  SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY, SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
054837,000296:                                                                                                  #  ONE REVOLUTION.
054838,000297: 
054839,000298:                                                                                                  #        *  COS(IGA)SEC(MGA)             0               -SIN(IGA)SEC(MGA) *
054840,000299:                                                                                                  #        *                                                                 *
054841,000300:                                                                                                  #        * -COS(IGA)TAN(MGA)             1                SIN(IGA)TAN(MGA) *
054842,000301:                                                                                                  #        *                                                                 *
054843,000302:                                                                                                  #        *      SIN(IGA)                 0                    COS(IGA)     *
054844,000303: 
054845,000304: 23,2000                                           SETLOC   POWFLIT1                              
054846,000305: 23,2000                                           BANK                                           
054847,000306: 23,3721                                           COUNT*   $$/POWFL                              
054848,000307: 23,3721           41345        SMCDURES           DLOAD    DMP                                   
054849,000308: 23,3722           03243                                    DTHETASM                              
054850,000309: 23,3723           01140                                    COSCDUY                               
054851,000310: 
054852,000311: 23,3724           41325                           PDDL     DMP                                   
054853,000312: 23,3725           03247                                    DTHETASM   +4                         
054854,000313: 23,3726           01132                                    SINCDUY                               
054855,000314: 
054856,000315: 23,3727           77621                           BDSU                                           
054857,000316: 23,3730           77671                           DDV                                            
054858,000317: 23,3731           01142                                    COSCDUZ                               
054859,000318: 23,3732           03235                           STORE    DCDU                                  
054860,000319: 
054861,000320: 23,3733           72405                           DMP      SL1                                   #  SCALE
054862,000321: 23,3734           01134                                    SINCDUZ                               
054863,000322: 23,3735           77621                           BDSU                                           
054864,000323: 
054865,000324: 23,3736           03245                                    DTHETASM   +2                         
054866,000325: 23,3737           17237                           STODL    DCDU       +2                         
054867,000326: 23,3740           03243                                    DTHETASM                              
054868,000327: 
054869,000328: 23,3741           65205                           DMP      PDDL                                  
054870,000329: 23,3742           01132                                    SINCDUY                               
054871,000330: 23,3743           03247                                    DTHETASM   +4                         
054872,000331: 
054873,000332: 23,3744           43205                           DMP      DAD                                   
054874,000333: 23,3745           01140                                    COSCDUY                               
054875,000334: 23,3746           77752                           SL1                                            
054876,000335: 23,3747           03241                           STORE    DCDU       +4                         
054877,000336: 23,3750           77616                           RVQ                                            

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