Source Code

These source-code files are part of a reconstructed copy of Luminary 69/2, the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation.

Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

054080,000002:                                                                                                  ## Copyright:   Public domain.
054081,000003:                                                                                                  ## Filename:    POWERED_FLIGHT_SUBROUTINES.agc
054082,000004:                                                                                                  ## Purpose:     A section of LUM69 revision 2.
054083,000005:                                                                                                  ##              It is part of the reconstructed source code for the flown
054084,000006:                                                                                                  ##              version of the flight software for the Lunar Module's (LM)
054085,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 10. The code has
054086,000008:                                                                                                  ##              been recreated from a copy of Luminary revsion 069, using
054087,000009:                                                                                                  ##              changes present in Luminary 099 which were described in
054088,000010:                                                                                                  ##              Luminary memos 75 and 78. The code has been adapted such
054089,000011:                                                                                                  ##              that the resulting bugger words exactly match those specified
054090,000012:                                                                                                  ##              for LUM69 revision 2 in NASA drawing 2021152B, which gives
054091,000013:                                                                                                  ##              relatively high confidence that the reconstruction is correct.
054092,000014:                                                                                                  ## Reference:   pp. 1254-1261
054093,000015:                                                                                                  ## Assembler:   yaYUL
054094,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
054095,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
054096,000018:                                                                                                  ## Mod history: 2019-07-27 MAS  Created from Luminary 69.
054097,000019:                                                                                                  ##              2021-05-30 ABS  SINSLOC -> SINESLOC
054098,000020: 

Page 1254

054100,000022: 14,3711                                           BANK     14                                    #  SAME FBANK AS THE FINDCDUD SUB-PROGRAM
054101,000023: 23,2000                                           SETLOC   POWFLITE                              
054102,000024: 23,2000                                           BANK                                           
054103,000025: 
054104,000026: 23,3443     0142                                  EBANK=   DEXDEX                                
054105,000027: 23,3443                                           COUNT*   $$/POWFL                              
054106,000028: 
054107,000029:                                                                                                  #      CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
054108,000030:                                                                                                  #  COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
054109,000031:                                                                                                  #  PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.   AN
054110,000032:                                                                                                  #  ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.   THESE
054111,000033:                                                                                                  #  ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
054112,000034:                                                                                                  #  EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.  THEY DIFFER ONLY IN
054113,000035:                                                                                                  #  WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
054114,000036: 
054115,000037:                                                                                                  #      CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
054116,000038:                                                                                                  #  SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
054117,000039:                                                                                                  #  THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
054118,000040:                                                                                                  #  CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
054119,000041: 
054120,000042:                                                                                                  #      CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
054121,000043: 
054122,000044:                                                                                                  #      CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.   THIS
054123,000045:                                                                                                  #  ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
054124,000046:                                                                                                  #  ANGLES IN AN ORDER OTHER THAN X Y Z.   A CALL TO THIS ROUTINE IS
054125,000047:                                                                                                  #  NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
054126,000048:                                                                                                  #  MODES (SMNB OR NBSM).   SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
054127,000049:                                                                                                  #  COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
054128,000050:                                                                                                  #  IN THIS ORDER.   CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
054129,000051:                                                                                                  #  MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.   NOTE THAT SINCE
054130,000052:                                                                                                  #  IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
054131,000053:                                                                                                  #  CALLED USING BANKCALL.   SORRY.
054132,000054: 
054133,000055:                                                                                                  #      CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
054134,000056:                                                                                                  #  INTERPRETIVE.
054135,000057: 
054136,000058: 23,3443           77776        CDUTRIG            EXIT                                           
054137,000059: 23,3444           03453                           TC       CDUTRIGS                              
054138,000060: 23,3445           06036                           TC       INTPRET                               
054139,000061: 23,3446           77616                           RVQ                                            
054140,000062: 
054141,000063: 23,3447           77776        CD*TR*G            EXIT                                           
054142,000064: 23,3450           03461                           TC       CD*TR*GS                              
054143,000065: 23,3451           06036                           TC       INTPRET                               
054144,000066: 23,3452           77616                           RVQ                                            
054145,000067: 
054146,000068: 23,3453           30032        CDUTRIGS           CA       CDUX                                  
054147,000069: 23,3454           54772                           TS       CDUSPOT    +4                         
054148,000070: 23,3455           30033                           CA       CDUY                                  
054149,000071: 23,3456           54766                           TS       CDUSPOT                               

Page 1255

054151,000073: 23,3457           30034                           CA       CDUZ                                  
054152,000074: 23,3460           54770                           TS       CDUSPOT    +2                         
054153,000075: 
054154,000076: 23,3461           00006        CD*TR*GS           EXTEND                                         
054155,000077: 23,3462           22142                           QXCH     TEM2                                  
054156,000078: 23,3463           34751                           CAF      FOUR                                  
054157,000079: 23,3464           76241        TR*GL**P           MASK     SIX                                   #  MAKE IT EVEN AND SMALLER
054158,000080: 23,3465           54143                           TS       TEM3                                  
054159,000081: 23,3466           50143                           INDEX    TEM3                                  
054160,000082: 23,3467           30766                           CA       CDUSPOT                               
054161,000083: 23,3470           52155                           DXCH     MPAC                                  #  STORING 2'S COMP ANGLE, LOADING MPAC
054162,000084: 23,3471           52127                           DXCH     VBUF       +4                         #  STORING MPAC FOR LATER RESTORATION
054163,000085: 23,3472           04713                           TC       USPRCADR                              
054164,000086: 23,3473           21465                           CADR     CDULOGIC                              
054165,000087: 23,3474           00006                           EXTEND                                         
054166,000088: 23,3475           30155                           DCA      MPAC                                  
054167,000089: 23,3476           50143                           INDEX    TEM3                                  
054168,000090: 23,3477           52767                           DXCH     CDUSPOT                               #  STORING 1'S COMPLEMENT ANGLE
054169,000091: 23,3500           04713                           TC       USPRCADR                              
054170,000092: 23,3501           01517                           CADR     COSINE                                
054171,000093: 23,3502           52155                           DXCH     MPAC                                  
054172,000094: 23,3503           50143                           INDEX    TEM3                                  
054173,000095: 23,3504           52745                           DXCH     COSCDU                                #  STORING COSINE
054174,000096: 23,3505           00006                           EXTEND                                         
054175,000097: 23,3506           50143                           INDEX    TEM3                                  
054176,000098: 23,3507           30767                           DCA      CDUSPOT                               #  LOADING 1'S COMPLEMENT ANGLE
054177,000099: 23,3510           04713                           TC       USPRCADR                              
054178,000100: 23,3511           01531                           CADR     SINE       +1                         #  SINE +1 EXPECTS ARGUMENT IN A AND L
054179,000101: 23,3512           52127                           DXCH     VBUF       +4                         #  BRINGING UP PRIOR MPAC TO BE RESTORED
054180,000102: 23,3513           52155                           DXCH     MPAC                                  
054181,000103: 23,3514           50143                           INDEX    TEM3                                  
054182,000104: 23,3515           52737                           DXCH     SINCDU                                
054183,000105: 23,3516           10143                           CCS      TEM3                                  
054184,000106: 23,3517           13464                           TCF      TR*GL**P                              
054185,000107: 23,3520           00142                           TC       TEM2                                  

Page 1256

054187,000109:                                                                                                  #  ****************************************************************************************************************
054188,000110:                                                                                                  #      QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
054189,000111:                                                                                                  #  QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
054190,000112:                                                                                                  #  AND CDUSPOT +4.   UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
054191,000113:                                                                                                  #  CDUSPOT.   QUICTRIG'S EXECUTION TIME IS 4.1 MS;  THIS IS 10 TIMES AS FAST AS CD*TR*GS.    QUICTRIG MAY BE
054192,000114:                                                                                                  #  CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
054193,000115: 
054194,000116: 23,3521           00004        QUICTRIG           INHINT                                         #  INHINT SINCE DAP USES THE SAME TEMPS
054195,000117: 23,3522           00006                           EXTEND                                         
054196,000118: 23,3523           22061                           QXCH     ITEMP1                                
054197,000119: 23,3524           34751                           CAF      FOUR                                  
054198,000120: 23,3525           76241                 +4        MASK     SIX                                   
054199,000121: 23,3526           54062                           TS       ITEMP2                                
054200,000122: 23,3527           50062                           INDEX    ITEMP2                                
054201,000123: 23,3530           30766                           CA       CDUSPOT                               
054202,000124: 23,3531           05033                           TC       SPSIN                                 
054203,000125: 23,3532           00006                           EXTEND                                         
054204,000126: 23,3533           74736                           MP       BIT14                                 #  SCALE DOWN TO MATCH INTERPRETER OUTPUTS
054205,000127: 23,3534           50062                           INDEX    ITEMP2                                
054206,000128: 23,3535           52737                           DXCH     SINCDU                                
054207,000129: 23,3536           50062                           INDEX    ITEMP2                                
054208,000130: 23,3537           30766                           CA       CDUSPOT                               
054209,000131: 23,3540           05032                           TC       SPCOS                                 
054210,000132: 23,3541           00006                           EXTEND                                         
054211,000133: 23,3542           74736                           MP       BIT14                                 
054212,000134: 23,3543           50062                           INDEX    ITEMP2                                
054213,000135: 23,3544           52745                           DXCH     COSCDU                                
054214,000136: 23,3545           10062                           CCS      ITEMP2                                
054215,000137: 23,3546           13525                           TCF      QUICTRIG   +4                         
054216,000138: 23,3547           30061                           CA       ITEMP1                                
054217,000139: 23,3550           00003                           RELINT                                         
054218,000140: 23,3551           00000                           TC       A                                     
054219,000141: 

Page 1257

054221,000143:                                                                                                  #  ****************************************************************************************************************
054222,000144:                                                                                                  #      THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
054223,000145:                                                                                                  #  INTERPRETIVE.  LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
054224,000146: 
054225,000147:                                                                                                  #      THESE INTERFACE ROUTINES ARE PERMANENT.   ALL RESTORE USER'S EBANK
054226,000148:                                                                                                  #  SETTING.   ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
054227,000149:                                                                                                  #  RETURNING VIA QPRET.   ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
054228,000150:                                                                                                  #  MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
054229,000151: 
054230,000152:                                                                                                  #       TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
054231,000153:                                                                                                  #  AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
054232,000154:                                                                                                  #  LOCATIONS NEED NOT BE ZEROED).   TRG*NBSM DOES THE NB TO SM TRANSFOR-
054233,000155:                                                                                                  #  MATION;  TRG*SMNB, VICE VERSA.
054234,000156: 
054235,000157:                                                                                                  #      CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
054236,000158:                                                                                                  #  THE CDU COUNTERS.   OTHERWISE IT IS LIKE TRG*NBSM.
054237,000159: 
054238,000160:                                                                                                  #      CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
054239,000161: 
054240,000162: 23,3552           77776        CDU*SMNB           EXIT                                           
054241,000163: 23,3553           03453                           TC       CDUTRIGS                              
054242,000164: 23,3554           13557                           TCF      C*MM*N1                               
054243,000165: 
054244,000166: 23,3555           77776        TRG*SMNB           EXIT                                           
054245,000167: 23,3556           03461                           TC       CD*TR*GS                              
054246,000168: 23,3557           07531        C*MM*N1            TC       MPACVBUF                              #  AX*SR*T EXPECTS VECTOR IN VBUF
054247,000169: 23,3560           46244                           CS       THREE                                 #  SIGNAL FOR SM TO NB TRANSFORMATION
054248,000170: 23,3561           03601        C*MM*N2            TC       AX*SR*T                               
054249,000171: 23,3562           06036                           TC       INTPRET                               
054250,000172: 23,3563           43575                           VLOAD    RVQ                                   
054251,000173: 23,3564           00123                                    VBUF                                  
054252,000174: 
054253,000175: 23,3565           77776        CDU*NBSM           EXIT                                           
054254,000176: 23,3566           03453                           TC       CDUTRIGS                              
054255,000177: 23,3567           13572                           TCF      C*MM*N3                               
054256,000178: 
054257,000179: 23,3570           77776        TRG*NBSM           EXIT                                           
054258,000180: 23,3571           03461                           TC       CD*TR*GS                              
054259,000181: 23,3572           07531        C*MM*N3            TC       MPACVBUF                              #  FOR AX*SR*T
054260,000182: 23,3573           36244                           CA       THREE                                 #  SIGNAL FOR NB TO SM TRANSFORMATION
054261,000183: 23,3574           13561                           TCF      C*MM*N2                               
054262,000184: 
054263,000185:                                                                                                  #      *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
054264,000186:                                                                                                  #  AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.   OTHERWISE THEY ARE
054265,000187:                                                                                                  #  LIKE TRG*NBSM AND TRG*SMNB.
054266,000188: 
054267,000189:                                                                                                  #       NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
054268,000190:                                                                                                  #  OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM

Page 1258

054270,000192:                                                                                                  #  AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.   FOR SUBSEQUENT TRANSFOR-
054271,000193:                                                                                                  #  MATIONS USE *NBSM* AND *SMNB*.
054272,000194: 
054273,000195: 23,3575           77776        *SMNB*             EXIT                                           
054274,000196: 23,3576           13557                           TCF      C*MM*N1                               
054275,000197: 
054276,000198: 23,3577           77776        *NBSM*             EXIT                                           
054277,000199: 23,3600           13572                           TCF      C*MM*N3                               
054278,000200: 
054279,000201:                                                                                                  #        AX*SR*T COMBINES THE OLD SMNB AND NBSM.   FOR THE NB TO SM
054280,000202:                                                                                                  #  TRANSFORMATION, ENTER WITH +3 IN A.   FOR SM TO NB, ENTER WITH -3.
054281,000203:                                                                                                  #  THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
054282,000204:                                                                                                  #  AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
054283,000205:                                                                                                  #  AT SINCDU AND COSCDU, IN THE ORDER Y Z X.  A CALL TO CD*TR*GS, WITH
054284,000206:                                                                                                  #  THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
054285,000207:                                                                                                  #  THIS.  HERE IS A SAMPLE CALLING SEQUENCE:-
054286,000208:                                                                                                  #                TC      CDUTRIGS
054287,000209:                                                                                                  #                CS      THREE           ("CA THREE" FOR NBSM)
054288,000210:                                                                                                  #                TC      AX*SR*T
054289,000211:                                                                                                  #  THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
054290,000212:                                                                                                  #  THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
054291,000213: 
054292,000214:                                                                                                  #      AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
054293,000215:                                                                                                  #  UNITY.   A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
054294,000216:                                                                                                  #  HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
054295,000217:                                                                                                  #  FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
054296,000218: 
054297,000219: 23,3601           54142        AX*SR*T            TS       DEXDEX                                #  WHERE IT BECOMES THE INDEX OF INDEXES
054298,000220: 23,3602           00006                           EXTEND                                         
054299,000221: 23,3603           22145                           QXCH     RTNSAVER                              
054300,000222: 
054301,000223: 23,3604           10142        R*TL**P            CCS      DEXDEX                                #                +3 --> 0        -3 --> 2
054302,000224: 23,3605           40142                           CS       DEXDEX                                #  THUS:         +2 --> 1        -2 --> 1
054303,000225: 23,3606           66244                           AD       THREE                                 #                +1 --> 2        -1 --> 0
054304,000226: 23,3607           00006                           EXTEND                                         
054305,000227: 23,3610           50000                           INDEX    A                                     
054306,000228: 23,3611           33670                           DCA      INDEXI                                
054307,000229: 23,3612           52144                           DXCH     DEXI                                  
054308,000230: 
054309,000231: 23,3613           34753                           CA       ONE                                   
054310,000232: 23,3614           54130                           TS       BUF                                   
054311,000233: 23,3615           00006                           EXTEND                                         
054312,000234: 23,3616           50143                           INDEX    DEX1                                  
054313,000235: 23,3617           40123                           DCS      VBUF                                  
054314,000236: 23,3620           13622                           TCF      LOOP1                                 #  REALLY BE A SUBTRACT, AND VICE VERSA
054315,000237: 
054316,000238: 23,3621           52131        LOOP2              DXCH     BUF                                   #  LOADING VECTOR COMPONENT, STORING INDEX

Page 1259

054318,000240: 23,3622           52155        LOOP1              DXCH     MPAC                                  
054319,000241: 23,3623           33666                           CA       SINESLOC                              
054320,000242: 23,3624           60143                           AD       DEX1                                  
054321,000243: 23,3625           54116                           TS       ADDRWD                                
054322,000244: 
054323,000245: 23,3626           07106                           TC       DMPSUB                                #  MULTIPLY BY SIN(CDUANGLE)
054324,000246: 23,3627           10142                           CCS      DEXDEX                                
054325,000247: 23,3630           52155                           DXCH     MPAC                                  #  NBSM CASE
054326,000248: 23,3631           13634                           TCF      +3                                    
054327,000249: 23,3632           00006                           EXTEND                                         #  SMNB CASE
054328,000250: 23,3633           40155                           DCS      MPAC                                  
054329,000251: 23,3634           52160                           DXCH     TERM1TMP                              
054330,000252: 
054331,000253: 23,3635           36241                           CA       SIX                                   #  SINCDU AND COSCDU (EACH 6 WORDS) MUST
054332,000254: 23,3636           26116                           ADS      ADDRWD                                #    BE CONSECUTIVE AND IN THAT ORDER
054333,000255: 
054334,000256: 23,3637           00006                           EXTEND                                         
054335,000257: 23,3640           50130                           INDEX    BUF                                   
054336,000258: 23,3641           50143                           INDEX    DEX1                                  
054337,000259: 23,3642           30123                           DCA      VBUF                                  
054338,000260: 23,3643           52155                           DXCH     MPAC                                  
054339,000261: 23,3644           07106                           TC       DMPSUB                                #  MULTIPLY BY COS(CDUANGLE)
054340,000262: 23,3645           52155                           DXCH     MPAC                                  
054341,000263: 23,3646           20160                           DAS      TERM1TMP                              
054342,000264: 23,3647           52160                           DXCH     TERM1TMP                              
054343,000265: 23,3650           20001                           DDOUBL                                         
054344,000266: 23,3651           50130                           INDEX    BUF                                   
054345,000267: 23,3652           50143                           INDEX    DEX1                                  
054346,000268: 23,3653           52123                           DXCH     VBUF                                  
054347,000269: 23,3654           52131                           DXCH     BUF                                   #  LOADING INDEX, STORING VECTOR COMPONENT
054348,000270: 
054349,000271: 23,3655           10000                           CCS      A                                     #  'CAUSE THAT'S WHERE THE INDEX NOW IS
054350,000272: 23,3656           13621                           TCF      LOOP2                                 
054351,000273: 
054352,000274: 23,3657           00006                           EXTEND                                         
054353,000275: 23,3660           26142                           DIM      DEXDEX                                #  DECREMENT MAGNITUDE PRESERVING SIGN
054354,000276: 
054355,000277: 23,3661           10142        TSTPOINT           CCS      DEXDEX                                #  ONLY THE BRANCHING FUNCTION IS USED
054356,000278: 23,3662           13604                           TCF      R*TL**P                               
054357,000279: 23,3663           00145                           TC       RTNSAVER                              
054358,000280: 23,3664           13604                           TCF      R*TL**P                               
054359,000281: 23,3665           00145                           TC       RTNSAVER                              
054360,000282: 
054361,000283: 23,3666           00736        SINESLOC           ADRES    SINCDU                                #  FOR USE IN SETTING ADDRWD
054362,000284: 
054363,000285: 23,3667           00004        INDEXI             DEC      4          B-14                       #  **********   DON'T   **********
054364,000286: 23,3670           00002                           DEC      2          B-14                       #  **********   TOUCH   **********
054365,000287: 23,3671           00000                           DEC      0          B-14                       #  **********   THESE   **********

Page 1260

054367,000289: 23,3672           00004                           DEC      4          B-14                       #  ********** CONSTANTS **********
054368,000290: 
054369,000291:                                                                                                  #  ****************************************************************************************************************

Page 1261

054371,000293:                                                                                                  #  THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
054372,000294:                                                                                                  #  REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4).  SIN,COS(CDUY,Z,X) ARE IN
054373,000295:                                                                                                  #  SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
054374,000296:                                                                                                  #  ONE REVOLUTION.
054375,000297: 
054376,000298:                                                                                                  #         *  COS(IGA)SEC(MGA)          0           -SIN(IGA)SEC(MGA) *
054377,000299:                                                                                                  #         *                                                          *
054378,000300:                                                                                                  #         * -COS(IGA)TAN(MGA)          1            SIN(IGA)TAN(MGA) *
054379,000301:                                                                                                  #         *                                                          *
054380,000302:                                                                                                  #         *      SIN(IGA)              0                COS(IGA)     *
054381,000303: 
054382,000304: 14,3711                                           BANK     14                                    
054383,000305: 23,2000                                           SETLOC   POWFLIT1                              
054384,000306: 23,2000                                           BANK                                           
054385,000307: 23,3673           41345        SMCDURES           DLOAD    DMP                                   
054386,000308: 23,3674           01265                                    DTHETASM                              
054387,000309: 23,3675           00745                                    COSCDUY                               
054388,000310: 
054389,000311: 23,3676           41325                           PDDL     DMP                                   
054390,000312: 23,3677           01271                                    DTHETASM   +4                         
054391,000313: 23,3700           00737                                    SINCDUY                               
054392,000314: 
054393,000315: 23,3701           77621                           BDSU                                           
054394,000316: 23,3702           77671                           DDV                                            
054395,000317: 23,3703           00747                                    COSCDUZ                               
054396,000318: 23,3704           03234                           STORE    DCDU                                  
054397,000319: 
054398,000320: 23,3705           72405                           DMP      SL1                                   #  SCALE
054399,000321: 23,3706           00741                                    SINCDUZ                               
054400,000322: 23,3707           77621                           BDSU                                           
054401,000323: 
054402,000324: 23,3710           01267                                    DTHETASM   +2                         
054403,000325: 23,3711           17236                           STODL    DCDU       +2                         
054404,000326: 23,3712           01265                                    DTHETASM                              
054405,000327: 
054406,000328: 23,3713           65205                           DMP      PDDL                                  
054407,000329: 23,3714           00737                                    SINCDUY                               
054408,000330: 23,3715           01271                                    DTHETASM   +4                         
054409,000331: 
054410,000332: 23,3716           43205                           DMP      DAD                                   
054411,000333: 23,3717           00745                                    COSCDUY                               
054412,000334: 23,3720           77752                           SL1                                            
054413,000335: 23,3721           03240                           STORE    DCDU       +4                         
054414,000336: 23,3722           77616                           RVQ                                            
054415,000337: 

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