Source Code

These source-code files are part of a reconstructed copy of Luminary 178, the final release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with source code of Zerlina 56, Luminary 210, and Luminary 131, previously transcribed from digitized copies of those programs. The code was created by combining the three, using Zerlina 56 as a base, since it was based off of Luminary 183. The differences between the three were carefully merged using the Luminary memos as a guide, with all changes made after Luminary 178 being backed out. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 178 listing would be different.

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.

039286,000002:                                                                                                  ## Copyright:   Public domain.
039287,000003:                                                                                                  ## Filename:    FINDCDUW_-_GUIDAP_INTERFACE.agc
039288,000004:                                                                                                  ## Purpose:     A section of Luminary revision 178.
039289,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
039290,000006:                                                                                                  ##              release of the flight software for the Lunar Module's
039291,000007:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
039292,000008:                                                                                                  ##              code has been recreated from copies of Zerlina 56, Luminary
039293,000009:                                                                                                  ##              210, and Luminary 131, as well as many Luminary memos.
039294,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
039295,000011:                                                                                                  ##              exactly match those specified for Luminary 178 in NASA
039296,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
039297,000013:                                                                                                  ##              that the reconstruction is correct.
039298,000014:                                                                                                  ## Reference:   pp. 899-917
039299,000015:                                                                                                  ## Assembler:   yaYUL
039300,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
039301,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
039302,000018:                                                                                                  ## Mod history: 2019-08-14 MAS  Created from Zerlina 56.
039303,000019: 

Page 899

039305,000021:                                                                                                  #  PROGRAM NAME:   FINDCDUW
039306,000022: 
039307,000023:                                                                                                  #  MOD NUMBER:     1         68 07 15
039308,000024: 
039309,000025:                                                                                                  #  MOD AUTHOR:     KLUMPP
039310,000026: 
039311,000027:                                                                                                  #  OBJECTS OF MOD: 1.        TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22.
039312,000028:                                                                                                  #                  2.        TO MAINTAIN CORRECT AND CURRENT THRUST
039313,000029:                                                                                                  #                            DIRECTION DATA IN ALL MODES.  THIS IS DONE BY
039314,000030:                                                                                                  #                            FETCHING FOR THE THRUST DIRECTION FILTER THE
039315,000031:                                                                                                  #                            CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER
039316,000032:                                                                                                  #                            MODES.
039317,000033:                                                                                                  #                  3.        TO SUBSTITUTE A STOPRATE FOR THE NORMAL
039318,000034:                                                                                                  #                            AUTOPILOT COMMANDS WHENEVER
039319,000035:                                                                                                  #                            1) NOT IN PNGCS-AUTO, OR
039320,000036:                                                                                                  #                            2) ENGINE IS OFF.
039321,000037: 
039322,000038:                                                                                                  #  FUNCTIONAL DESCRIPTION:
039323,000039: 
039324,000040:                                                                                                  #  FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS
039325,000041:                                                                                                  #  AND THE DIGITAL AUTOPILOT.  THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR
039326,000042:                                                                                                  #  AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE
039327,000043:                                                                                                  #  INCREMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED
039328,000044:                                                                                                  #  ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR THE ANGLES BY WHICH THE BODY WILL
039329,000045:                                                                                                  #  LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR
039330,000046:                                                                                                  #  ACCELERATIONS AVAILABLE).
039331,000047: 
039332,000048:                                                                                                  #  FINDCDUW ALINES THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION
039333,000049:                                                                                                  #  FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN  XOVINHIB  SET,
039334,000050:                                                                                                  #  ALINES THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR.
039335,000051: 

Page 900

039337,000053:                                                                                                  #  SPECIFICATIONS:
039338,000054: 
039339,000055:                                                                                                  #  INITIALIZATION: A SINGLE INTERPRETIVE CALL TO  INITCDUW  IS REQUIRED
039340,000056:                                                                                                  #                  BEFORE EACH GUIDED MANEUVER USING FINDCDUW.
039341,000057: 
039342,000058:                                                                                                  #  CALL:           INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND
039343,000059:                                                                                                  #                  VECTOR IN MPAC.  INTERPRETIVE CALL TO FINDCDUW -2 WITH
039344,000060:                                                                                                  #                  THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC.
039345,000061: 
039346,000062:                                                                                                  #  RETURNS:        NORMAL INTERPRETIVE IN ALL CASES
039347,000063: 
039348,000064:                                                                                                  #                  1.       NORMALLY ALL AUTOPILOT CMDS ARE ISSUED.
039349,000065: 
039350,000066:                                                                                                  #                  2.       IF NOT PNGCS AUTO, DO STOPRATE AND RETURN
039351,000067:                                                                                                  #                           WITHOUT ISSUING AUTOPILOT CMDS.
039352,000068: 
039353,000069:                                                                                                  #                  3.       IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT
039354,000070:                                                                                                  #                           ISSUING AUTOPILOT CMDS.
039355,000071: 
039356,000072:                                                                                                  #  ALARMS:         00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK.
039357,000073:                                                                                                  #                           FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES,
039358,000074:                                                                                                  #                           BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE.
039359,000075:                                                                                                  #                  00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN
039360,000076:                                                                                                  #                           UNITIZED USING NORMUNIT.  FINDCDUW ISSUES
039361,000077:                                                                                                  #                           STOPRATE AS ONLY INPUT TO AUTOPILOT.
039362,000078: 
039363,000079:                                                                                                  #  INPUTS:         UNFC/2   THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039364,000080:                                                                                                  #                  UNWC/2   WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039365,000081:                                                                                                  #                  OGABIAS  POSSIBLE BIAS FOR OUTER GIMBAL ANGLE (ZEROED IN INITCDUW), UNITS OF PI.
039366,000082:                                                                                                  #                  XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED.
039367,000083:                                                                                                  #                  CSMDOCKD FLAG DENOTING CSM DOCKED.
039368,000084:                                                                                                  #                  STEERSW  FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR.
039369,000085: 
039370,000086:                                                                                                  #  OUTPUTS:        DELCDUX,Y,Z
039371,000087:                                                                                                  #                  OMEGAPD,+1,+2
039372,000088:                                                                                                  #                  DELPEROR,+1,+2
039373,000089:                                                                                                  #                  CPHI,+1,+2 FOR NOUN22
039374,000090: 
039375,000091:                                                                                                  #  DEBRIS:         FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY
039376,000092:                                                                                                  #                  WRITING INTO THESE LOCATIONS THE SINES AND COSINES
039377,000093:                                                                                                  #                  OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE.
039378,000094: 

Page 901

039380,000096:                                                                                                  #  INITIALIZATION FOR FINDCDUW
039381,000097: 
039382,000098: 30,3062                                           BANK     30                                    
039383,000099: 30,2000                                           SETLOC   FCDUW                                 
039384,000100: 30,2000                                           BANK                                           
039385,000101: 
039386,000102: 30,3062  E6,1645                                  EBANK=   ECDUW                                 
039387,000103: 
039388,000104: 30,3062                                           COUNT*   $$/FCDUW                              
039389,000105: 
039390,000106: 30,3062           77331        INITCDUW           SSP      VLOAD                                 
039391,000107: 30,3063           03300                                    OGABIAS                               
039392,000108: 30,3064           00000                                    0                                     
039393,000109: 30,3065           06466                                    UNITX                                 
039394,000110: 30,3066           03267                           STORE    UNFV/2                                
039395,000111: 30,3067           03261                           STORE    UNWC/2                                
039396,000112: 30,3070           77616                           RVQ                                            
039397,000113: 
039398,000114:                                                                                                  #  FINDCDUW PRELIMINARIES
039399,000115: 
039400,000116: 30,3071           77775                           VLOAD                                          #  FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD
039401,000117: 30,3072           03253                                    UNFC/2                                #  INPUT VECTORS NEED NOT BE SEMI-UNIT
039402,000118: 30,3073           40200        FINDCDUW           BOV      SETPD                                 #  FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC
039403,000119: 30,3074           61073                                    FINDCDUW                              #  INTERPRETER NOW INITIALIZED
039404,000120: 30,3075           00023                                    22                                    #  LOCS 0 THRU 21 FOR DIRECTION COSINE MAT
039405,000121: 30,3076           77420                           STQ      EXIT                                  
039406,000122: 30,3077           03246                                    QCDUWUSR                              #  SAVE RETURN ADDRESS
039407,000123: 
039408,000124:                                                                                                  #  MORE HAUSKEEPING
039409,000125: 
039410,000126: 30,3100           33743                           CA       ECDUWL                                
039411,000127: 30,3101           56003                           XCH      EBANK                                 #  SET EBANK
039412,000128: 30,3102           55645                           TS       ECDUWUSR                              #  SAVE USER'S EBANK
039413,000129: 
039414,000130: 30,3103           30111                           CA       DAPBOOLS                              
039415,000131: 30,3104           74737                           MASK     CSMDOCKD                              #  CSMDOCKD MUST NOT BE BIT15
039416,000132: 30,3105           10000                           CCS      A                                     
039417,000133: 30,3106           34753                           CA       ONE                                   #  INDEX IF CSM DOCKED
039418,000134: 30,3107           55647                           TS       NDXCDUW                               
039419,000135: 
039420,000136: 30,3110           34743                           CA       XOVINHIB                              #  XOVINHIB MUST NOT BE BIT15
039421,000137: 30,3111           55651                           TS       FLPAUTNO                              #  SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT
039422,000138: 
039423,000139: 30,3112           70111                           MASK     DAPBOOLS                              
039424,000140: 30,3113           55650                           TS       FLAGOODW                              #  FLAGOODW = ANY PNZ NUMBER IF XOV INHIBTD
039425,000141: 

Page 902

039427,000143:                                                                                                  #  FETCH BASIC DATA
039428,000144: 
039429,000145: 30,3114           00004                           INHINT                                         #  RELINT AT PAUTNO (TC INTPRET)
039430,000146: 
039431,000147: 30,3115           30032                           CA       CDUX                                  #  FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT
039432,000148: 30,3116           54771                           TS       CDUSPOTX                              #       REPLACE BELOW IF PNGCS AUTO
039433,000149: 30,3117           30033                           CA       CDUY                                  
039434,000150: 30,3120           54765                           TS       CDUSPOTY                              
039435,000151: 30,3121           30034                           CA       CDUZ                                  
039436,000152: 30,3122           54767                           TS       CDUSPOTZ                              
039437,000153: 
039438,000154: 30,3123           34742                           CA       BIT10                                 #  PNGCS CONTROL BIT
039439,000155: 30,3124           00006                           EXTEND                                         
039440,000156: 30,3125           02030                           RAND     CHAN30                                
039441,000157: 30,3126           10000                           CCS      A                                     
039442,000158: 30,3127           13144                           TCF      PAUTNO                                #  NOT PNGCS (BITS INVERTED)
039443,000159: 
039444,000160: 30,3130           34736                           CA       BIT14                                 #  AUTO MODE BIT
039445,000161: 30,3131           00006                           EXTEND                                         
039446,000162: 30,3132           02031                           RAND     CHAN31                                
039447,000163: 30,3133           10000                           CCS      A                                     
039448,000164: 30,3134           13144                           TCF      PAUTNO                                #  NOT AUTO (BITS INVERTED)
039449,000165: 
039450,000166: 30,3135           55651                           TS       FLPAUTNO                              #  RESET FLAG PNGCS AUTO NOT
039451,000167: 
039452,000168: 30,3136           31634                           CA       CDUXD                                 #  PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD
039453,000169: 30,3137           54771                           TS       CDUSPOTX                              
039454,000170: 30,3140           31635                           CA       CDUYD                                 
039455,000171: 30,3141           54765                           TS       CDUSPOTY                              
039456,000172: 30,3142           31636                           CA       CDUZD                                 
039457,000173: 30,3143           54767                           TS       CDUSPOTZ                              
039458,000174: 

Page 903

039460,000176:                                                                                                  #  FETCH INPUTS
039461,000177: 
039462,000178: 30,3144           06042        PAUTNO             TC       INTPRET                               #  ENTERING THRUST CMD STILL IN MPAC
039463,000179: 30,3145           77634                           RTB                                            
039464,000180: 30,3146           21727                                    NORMUNIT                              
039465,000181: 30,3147           24001                           STOVL    UNX/2                                 #  SEMI-UNIT THRUST CMD AS INITIAL UNX/2
039466,000182: 30,3150           03261                                    UNWC/2                                
039467,000183: 30,3151           47034                           RTB      RTB                                   
039468,000184: 30,3152           21727                                    NORMUNIT                              
039469,000185: 30,3153           47572                                    QUICTRIG                              #  ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S
039470,000186: 30,3154           24015                           STOVL    UNZ/2                                 #  SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2
039471,000187: 30,3155           00325                                    DELV                                  
039472,000188: 30,3156           53404                           BOVB     UNIT                                  
039473,000189: 30,3157           61732                                    NOATTCNT                              #  AT LEAST ONE ENTERING CMD VCT ZERO
039474,000190: 30,3160           45000                           BOV      CALL                                  
039475,000191: 30,3161           61175                                    AFTRFLTR                              #  IF UNIT DELV OVERFLOWS, SKIP FILTER
039476,000192: 30,3162           47646                                    *SMNB*                                #  YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR
039477,000193: 
039478,000194:                                                                                                  #  THRUST DIRECTION FILTER
039479,000195: 
039480,000196: 30,3163           77776                           EXIT                                           
039481,000197: 
039482,000198: 30,3164           31670                           CA       UNFVY/2                               #  FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC
039483,000199: 30,3165           22157                           LXCH     MPAC       +3                         #       RENEWED AFTER RETURN FROM CALLER,
039484,000200: 30,3166           03465                           TC       FLTRSUB                               #       TWO FILTER UPDATES MAY BE DONE.
039485,000201: 30,3167           55670                           TS       UNFVY/2                               #  UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT.
039486,000202: 
039487,000203: 30,3170           31672                           CA       UNFVZ/2                               
039488,000204: 30,3171           22161                           LXCH     MPAC       +5                         
039489,000205: 30,3172           03465                           TC       FLTRSUB                               
039490,000206: 30,3173           55672                           TS       UNFVZ/2                               
039491,000207: 
039492,000208: 30,3174           06042                           TC       INTPRET                               #  COMPLETES FILTER
039493,000209: 

Page 904

039495,000211:                                                                                                  #  FIND A SUITABLE WINDOW POINTING VECTOR
039496,000212: 
039497,000213: 30,3175           46135        AFTRFLTR           SLOAD    BHIZ                                  #  IF XOV NOT INHIBITED, GO FETCH ZNB
039498,000214: 30,3176           03251                                    FLAGOODW                              
039499,000215: 30,3177           61203                                    FETCHZNB                              
039500,000216: 30,3200           45175                           VLOAD    CALL                                  
039501,000217: 30,3201           00015                                    UNZ/2                                 
039502,000218: 30,3202           61505                                    UNWCTEST                              
039503,000219: 
039504,000220: 30,3203           77775        FETCHZNB           VLOAD                                          
039505,000221: 30,3204           02162                                    ZNBPIP                                
039506,000222: 30,3205           34015                           STCALL   UNZ/2                                 
039507,000223: 30,3206           61505                                    UNWCTEST                              
039508,000224: 
039509,000225: 30,3207           57575                           VLOAD    VCOMP                                 #  Z AND -X CAN'T BOTH PARALLEL UNFC/2
039510,000226: 30,3210           02146                                    XNBPIP                                
039511,000227: 30,3211           00015                           STORE    UNZ/2                                 
039512,000228: 
039513,000229:                                                                                                  #  COMPUTE THE REQUIRED DIRECTION COSINE MATRIX
039514,000230: 
039515,000231: 30,3212           47375        DCMCL              VLOAD    VXV                                   
039516,000232: 30,3213           00015                                    UNZ/2                                 
039517,000233: 30,3214           00001                                    UNX/2                                 
039518,000234: 30,3215           41456                           UNIT     PUSH                                  #  UNY/2 FIRST ITERATION
039519,000235: 30,3216           76435                           VXV      VSL1                                  
039520,000236: 30,3217           00001                                    UNX/2                                 
039521,000237: 30,3220           00015                           STORE    UNZ/2                                 #  -UNZ/2 FIRST ITERATION
039522,000238: 30,3221           63361                           VXSC     PDVL                                  #  EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2
039523,000239: 30,3222           03273                                    UNFVZ/2                               #  MUST BE SMALL
039524,000240: 30,3223           51361                           VXSC     BVSU                                  #  YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2
039525,000241: 30,3224           03271                                    UNFVY/2                               #  MUST BE SMALL
039526,000242: 30,3225           53372                           VSL1     VAD                                   
039527,000243: 30,3226           00001                                    UNX/2                                 
039528,000244: 30,3227           77656                           UNIT                                           #  TOTALLY ELIMINATES THRUST POINTING ERROR
039529,000245: 30,3230           00001                           STORE    UNX/2                                 #  UNX/2
039530,000246: 30,3231           76435                           VXV      VSL1                                  
039531,000247: 30,3232           00015                                    UNZ/2                                 #  -UNZ/2 WAS STORED HERE REMEMBER
039532,000248: 30,3233           00007                           STORE    UNY/2                                 #  UNY/2
039533,000249: 30,3234           47276                           VCOMP    VXV                                   
039534,000250: 30,3235           00001                                    UNX/2                                 
039535,000251: 30,3236           77772                           VSL1                                           
039536,000252: 30,3237           00015                           STORE    UNZ/2                                 #  UNZ/2
039537,000253: 

Page 905

039539,000255:                                                                                                  #  COMPUTE THE REQUIRED GIMBAL ANGLES
039540,000256: 
039541,000257: 30,3240           77624                           CALL                                           
039542,000258: 30,3241           61515                                    NB2CDUSP                              #  YIELDS THE RQD GIMBAL ANGLES, 2'S, PI
039543,000259: 30,3242           77776                           EXIT                                           
039544,000260: 
039545,000261:                                                                                                  #  BIAS OUTER GIMBAL ANGLE
039546,000262: 
039547,000263: 30,3243           31677                           CA       OGABIAS                               
039548,000264: 30,3244           26154                           ADS      MPAC                                  
039549,000265: 
039550,000266:                                                                                                  #  LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS
039551,000267: 
039552,000268: 30,3245           30156                           CA       MPAC       +2                         #  LIMIT THE MGA
039553,000269: 30,3246           54001                           TS       L                                     #  CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM
039554,000270: 30,3247           33755                           CA       CDUZDLIM                              
039555,000271: 30,3250           03711                           TC       LIMITSUB                              #  YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE
039556,000272: 30,3251           56156                           XCH      MPAC       +2                         #       BECAUSE USING 2'S COMP. WHO CARES?
039557,000273: 30,3252           00006                           EXTEND                                         
039558,000274: 30,3253           20156                           MSU      MPAC       +2                         #  THIS BETTER YIELD ZERO
039559,000275: 30,3254           00006                           EXTEND                                         
039560,000276: 30,3255           13257                           BZF      +2                                    
039561,000277: 30,3256           13740                           TCF      ALARMMGA                              
039562,000278: 
039563,000279: 30,3257           00004        MGARET             INHINT                                         #  RELINT AT TC INTPRET AFTER TCQCDUW
039564,000280: 
039565,000281: 30,3260           22007                           ZL                                             
039566,000282: 30,3261           34752                           CA       TWO                                   
039567,000283: 30,3262           54142        DELGMBLP           TS       TEM2                                  
039568,000284: 
039569,000285: 30,3263           30001                           CA       L                                     #  TO PREVENT FALSE STARTS ABOUT X, ZERO
039570,000286: 30,3264           00006                           EXTEND                                         #       FLAGOODW IF DELGMBZ OR Y TOO BIG.
039571,000287: 30,3265           70000                           SQUARE                                         
039572,000288: 30,3266           64350                           AD       HI5                                   #  WITHIN 1 BIT OF -(45 DEG SQUARED)
039573,000289: 30,3267           00006                           EXTEND                                         
039574,000290: 30,3270           63273                           BZMF     +3                                    
039575,000291: 30,3271           34755                           CA       ZERO                                  
039576,000292: 30,3272           55650                           TS       FLAGOODW                              
039577,000293: 
039578,000294: 30,3273           50142                           INDEX    TEM2                                  
039579,000295: 30,3274           30154                           CA       MPAC                                  
039580,000296: 30,3275           50142                           INDEX    TEM2                                  
039581,000297: 30,3276           54321                           TS       CPHI                                  #  OUTPUTS TO NOUN22
039582,000298: 30,3277           00006                           EXTEND                                         
039583,000299: 30,3300           50142                           INDEX    TEM2                                  
039584,000300: 30,3301           21634                           MSU      CDUXD                                 #  NO MATTER THAT THESE SLIGHTLY DIFFERENT
039585,000301: 30,3302           40000                           COM                                            #       FROM WHEN WE INITIALLY FETCHED THEM
039586,000302: 30,3303           50142                           INDEX    TEM2                                  
039587,000303: 30,3304           55674                           TS       -DELGMB                               #  -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI
039588,000304: 30,3305           54001                           TS       L                                     #  FOR PRECEDING TEST ON NEXT LOOP PASS

Page 906

039590,000306: 30,3306           10142                           CCS      TEM2                                  
039591,000307: 30,3307           13262                           TCF      DELGMBLP                              
039592,000308: 

Page 907

039594,000310:                                                                                                  #  BRANCHES TO NOATTCNT
039595,000311: 
039596,000312: 30,3310           11651                           CCS      FLPAUTNO                              
039597,000313: 30,3311           13734                           TCF      NOATTCNT   +2                         #  NOT PNGCS AUTO
039598,000314: 
039599,000315: 30,3312           30101                           CA       FLAGWRD5                              
039600,000316: 30,3313           74745                           MASK     ENGONBIT                              
039601,000317: 30,3314           00006                           EXTEND                                         
039602,000318: 30,3315           13734                           BZF      NOATTCNT   +2                         #  ENGINE NOT ON
039603,000319: 

Page 908

039605,000321:                                                                                                  #  LIMIT THE ATTITUDE ANGLE CHANGES
039606,000322: 
039607,000323:                                                                                                  #  THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME.
039608,000324:                                                                                                  #  THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO.  THE PRIME SYSTEM IS
039609,000325:                                                                                                  #  THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALINEMENT WITH THE MIDDLE GIMBAL
039610,000326:                                                                                                  #  AXIS.  ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY:
039611,000327: 
039612,000328:                                                                                                  #  * -DELATTX      *   * 1  SIN(CDUZD)  0 * * -DELGMBX *
039613,000329:                                                                                                  #  *               *   *                  * *          *
039614,000330:                                                                                                  #  * -DELATTYPRIME * = * 0  COS(CDUZD)  0 * * -DELGMBY *
039615,000331:                                                                                                  #  *               *   *                  * *          *
039616,000332:                                                                                                  #  * -DELATTZPRIME *   * 0  0           1 * * -DELGMBZ *
039617,000333: 
039618,000334: 30,3316           23676                           LXCH     -DELGMB    +2                         #  SAME AS -DELATTZPRIME UNLIMITED
039619,000335: 30,3317           51647                           INDEX    NDXCDUW                               
039620,000336: 30,3320           33751                           CA       DAZMAX                                
039621,000337: 30,3321           03711                           TC       LIMITSUB                              
039622,000338: 30,3322           55676                           TS       -DELGMB    +2                         #  -DELGMBZ
039623,000339: 
039624,000340: 30,3323           31675                           CA       -DELGMB    +1                         
039625,000341: 30,3324           00006                           EXTEND                                         
039626,000342: 30,3325           70745                           MP       COSCDUZ                               #  YIELDS -DELATTYPRIME/2 UNLIMITED
039627,000343: 30,3326           54001                           TS       L                                     
039628,000344: 30,3327           51647                           INDEX    NDXCDUW                               
039629,000345: 30,3330           33753                           CA       DAY/2MAX                              
039630,000346: 30,3331           03711                           TC       LIMITSUB                              
039631,000347: 30,3332           00006                           EXTEND                                         
039632,000348: 30,3333           10745                           DV       COSCDUZ                               
039633,000349: 30,3334           57675                           XCH      -DELGMB    +1                         #  -DELGMBY, FETCHING UNLIMITED VALUE
039634,000350: 
039635,000351: 30,3335           00006                           EXTEND                                         
039636,000352: 30,3336           70737                           MP       SINCDUZ                               
039637,000353: 30,3337           20001                           DDOUBL                                         
039638,000354: 30,3340           40000                           COM                                            
039639,000355: 30,3341           00006                           EXTEND                                         #  YIELDS +DELATTX UNLIMITD, MAG < 180 DEG,
039640,000356: 30,3342           21674                           MSU      -DELGMB                               #       BASED ON UNLIMITED DELGMBY.
039641,000357: 30,3343           54001                           TS       L                                     #       ONE BIT ERROR IF OPERANDS IN MSU
039642,000358: 30,3344           51647                           INDEX    NDXCDUW                               #       OF MIXED SIGNS.  WHO CARES?
039643,000359: 30,3345           33751                           CA       DAXMAX                                
039644,000360: 30,3346           03711                           TC       LIMITSUB                              
039645,000361: 30,3347           55674                           TS       -DELGMB                               #  SAVE LIMITED +DELATTX
039646,000362: 30,3350           11650                           CCS      FLAGOODW                              
039647,000363: 30,3351           41674                           CS       -DELGMB                               #  FETCH IT BACK CHGING SIGN IF WINDOW GOOD
039648,000364: 30,3352           55674                           TS       -DELGMB                               #  OTHERWISE USE ZERO FOR -DELATTX
039649,000365: 30,3353           41675                           CS       -DELGMB    +1                         
039650,000366: 30,3354           00006                           EXTEND                                         
039651,000367: 30,3355           70737                           MP       SINCDUZ                               
039652,000368: 30,3356           20001                           DDOUBL                                         #  YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY
039653,000369: 30,3357           27674                           ADS      -DELGMB                               #  -DELGMBX.  NO OVERFLOW SINCE LIMITED TO
039654,000370:                                                                                                  #  20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG
039655,000371: 

Page 909

039657,000373:                                                                                                  #  COMPUTE COMMANDED ATTITUDE RATES
039658,000374: 
039659,000375:                                                                                                  #  * OMEGAPD *   * -2  -4 SINCDUZ          +0         * * -DELGMBX *
039660,000376:                                                                                                  #  *         *   *                                    * *          *
039661,000377:                                                                                                  #  * OMEGAQD * = * +0  -8 COSCDUZ COSCDUX  -4 SINCDUX * * -DELGMBY *
039662,000378:                                                                                                  #  *         *   *                                    * *          *
039663,000379:                                                                                                  #  * OMEGARD *   * +0  +8 COSCDUZ SINCDUX  -4 COSCDUX * * -DELGMBZ *
039664,000380: 
039665,000381:                                                                                                  #  ATTITUDE ANGLE RATES IN UNITS OF PI/4 RAD/SEC = K TRIG FCNS IN UNITS OF 2 X GIMBAL ANGLE RATES IN UNITS OF
039666,000382:                                                                                                  #  PI/2 RAD/SEC.  THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS,
039667,000383:                                                                                                  #  AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW).
039668,000384: 
039669,000385: 30,3360           41674                           CS       -DELGMB                               
039670,000386: 30,3361           55642                           TS       OMEGAPD                               
039671,000387: 30,3362           41675                           CS       -DELGMB    +1                         
039672,000388: 30,3363           00006                           EXTEND                                         
039673,000389: 30,3364           70737                           MP       SINCDUZ                               
039674,000390: 30,3365           20001                           DDOUBL                                         
039675,000391: 30,3366           27642                           ADS      OMEGAPD                               
039676,000392: 30,3367           27642                           ADS      OMEGAPD                               
039677,000393: 
039678,000394: 30,3370           41675                           CS       -DELGMB    +1                         
039679,000395: 30,3371           00006                           EXTEND                                         
039680,000396: 30,3372           70747                           MP       COSCDUX                               
039681,000397: 30,3373           20001                           DDOUBL                                         
039682,000398: 30,3374           00006                           EXTEND                                         
039683,000399: 30,3375           70745                           MP       COSCDUZ                               
039684,000400: 30,3376           55643                           TS       OMEGAQD                               
039685,000401: 30,3377           41676                           CS       -DELGMB    +2                         
039686,000402: 30,3400           00006                           EXTEND                                         
039687,000403: 30,3401           70741                           MP       SINCDUX                               
039688,000404: 30,3402           27643                           ADS      OMEGAQD                               
039689,000405: 30,3403           27643                           ADS      OMEGAQD                               
039690,000406: 30,3404           27643                           ADS      OMEGAQD                               
039691,000407: 
039692,000408: 30,3405           31675                           CA       -DELGMB    +1                         
039693,000409: 30,3406           00006                           EXTEND                                         
039694,000410: 30,3407           70741                           MP       SINCDUX                               
039695,000411: 30,3410           20001                           DDOUBL                                         
039696,000412: 30,3411           00006                           EXTEND                                         
039697,000413: 30,3412           70745                           MP       COSCDUZ                               
039698,000414: 30,3413           55644                           TS       OMEGARD                               
039699,000415: 30,3414           41676                           CS       -DELGMB    +2                         
039700,000416: 30,3415           00006                           EXTEND                                         
039701,000417: 30,3416           70747                           MP       COSCDUX                               
039702,000418: 30,3417           27644                           ADS      OMEGARD                               
039703,000419: 30,3420           27644                           ADS      OMEGARD                               
039704,000420: 30,3421           27644                           ADS      OMEGARD                               
039705,000421: 

Page 910

039707,000423:                                                                                                  #  FINAL TRANSFER
039708,000424: 
039709,000425: 30,3422           34752                           CA       TWO                                   
039710,000426: 30,3423           54142        CDUWXFR            TS       TEM2                                  
039711,000427: 30,3424           50142                           INDEX    TEM2                                  
039712,000428: 30,3425           31674                           CA       -DELGMB                               
039713,000429: 30,3426           00006                           EXTEND                                         
039714,000430: 30,3427           73756                           MP       DT/DELT                               #  RATIO OF DAP INTERVAL TO CDUW INTERVAL
039715,000431: 30,3430           03725                           TC       ONESTO2S                              
039716,000432: 30,3431           50142                           INDEX    TEM2                                  
039717,000433: 30,3432           55637                           TS       DELCDUX                               #  ANGLE INTERFACE
039718,000434: 
039719,000435: 30,3433           50142                           INDEX    TEM2                                  
039720,000436: 30,3434           11642                           CCS      OMEGAPD                               
039721,000437: 30,3435           64753                           AD       ONE                                   
039722,000438: 30,3436           13440                           TCF      +2                                    
039723,000439: 30,3437           64753                           AD       ONE                                   
039724,000440: 30,3440           00006                           EXTEND                                         #  WE NOW HAVE ABS(OMEGAPD,QD,RD)
039725,000441: 30,3441           50142                           INDEX    TEM2                                  
039726,000442: 30,3442           71642                           MP       OMEGAPD                               
039727,000443: 30,3443           00006                           EXTEND                                         
039728,000444: 30,3444           74741                           MP       BIT11                                 #  1/16
039729,000445: 30,3445           00006                           EXTEND                                         
039730,000446: 30,3446           50142                           INDEX    TEM2                                  #                    2
039731,000447: 30,3447           11530                           DV       1JACC                                 #  UNITS PI/4 RAD/SEC
039732,000448: 30,3450           54001                           TS       L                                     
039733,000449: 30,3451           33753                           CA       DELERLIM                              
039734,000450: 30,3452           03711                           TC       LIMITSUB                              
039735,000451: 30,3453           50142                           INDEX    TEM2                                  
039736,000452: 30,3454           55274                           TS       DELPEROR                              #  LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL
039737,000453: 30,3455           10142                           CCS      TEM2                                  
039738,000454: 30,3456           13423                           TCF      CDUWXFR                               
039739,000455: 
039740,000456:                                                                                                  #  HAUSKEEPING AND RETURN
039741,000457: 
039742,000458: 30,3457           31645        TCQCDUW            CA       ECDUWUSR                              
039743,000459: 30,3460           54003                           TS       EBANK                                 #  RETURN USER'S EBANK
039744,000460: 
039745,000461: 30,3461           06042                           TC       INTPRET                               
039746,000462: 30,3462           52001                           SETPD    GOTO                                  
039747,000463: 30,3463           00001                                    0                                     
039748,000464: 30,3464           03246                                    QCDUWUSR                              #  NORMAL AND ABNORMAL RETURN TO USER
039749,000465: 

Page 911

039751,000467:                                                                                                  #  THRUST VECTOR FILTER SUBROUTINE
039752,000468: 
039753,000469: 30,3465           00006        FLTRSUB            EXTEND                                         
039754,000470: 30,3466           22142                           QXCH     TEM2                                  
039755,000471: 30,3467           54143                           TS       TEM3                                  #  SAVE ORIGINAL OFFSET
039756,000472: 30,3470           40000                           COM                                            #  ONE MCT, NO WDS, CAN BE SAVED IF NEG OF
039757,000473: 30,3471           60001                           AD       L                                     #       ORIG OFFSET ARRIVES IN A, BUT IT'S
039758,000474: 30,3472           00006                           EXTEND                                         #       NOT WORTH THE INCREASED OBSCURITY.
039759,000475: 30,3473           51647                           INDEX    NDXCDUW                               
039760,000476: 30,3474           73744                           MP       GAINFLTR                              
039761,000477: 30,3475           54001                           TS       L                                     #  INCR TO OFFSET, UNLIMITED
039762,000478: 30,3476           33746                           CA       DUNFVLIM                              #  SAME LIMIT FOR Y AND Z
039763,000479: 30,3477           03711                           TC       LIMITSUB                              #  YIELDS INCR TO OFFSET, LIMITED
039764,000480: 30,3500           60143                           AD       TEM3                                  #  ORIGINAL OFFSET
039765,000481: 30,3501           54001                           TS       L                                     #  TOTAL OFFSET, UNLIMITED
039766,000482: 30,3502           33747                           CA       UNFVLIM                               #  SAME LIMIT FOR Y AND Z
039767,000483: 30,3503           03711                           TC       LIMITSUB                              #  YIELDS TOTAL OFFSET, LIMITED
039768,000484: 30,3504           00142                           TC       TEM2                                  
039769,000485: 
039770,000486:                                                                                                  #  SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS
039771,000487: 
039772,000488: 30,3505           63441        UNWCTEST           DOT      DSQ                                   
039773,000489: 30,3506           00001                                    UNX/2                                 
039774,000490: 30,3507           50025                           DSU      BMN                                   
039775,000491: 30,3510           21751                                    DOTSWFMX                              
039776,000492: 30,3511           61212                                    DCMCL                                 
039777,000493: 30,3512           43531                           SSP      RVQ                                   #  RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE
039778,000494: 30,3513           03251                                    FLAGOODW                              #       ZEROING WINDOW GOOD FLAG
039779,000495: 30,3514           00000                                    0                                     
039780,000496: 

Page 912

039782,000498:                                                                                                  #  NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS
039783,000499:                                                                                                  #  ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,Z EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST.
039784,000500: 
039785,000501:                                                                                                  #  NB2CDUSP USES ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS.
039786,000502: 
039787,000503: 30,3515           63545        NB2CDUSP           DLOAD    DSQ                                   
039788,000504: 30,3516           00003                                    2                                     
039789,000505: 30,3517           51021                           BDSU     BPL                                   
039790,000506: 30,3520           06460                                    DP1/4TH                               
039791,000507: 30,3521           61524                                    +3                                    
039792,000508: 30,3522           77745                           DLOAD                                          
039793,000509: 30,3523           06470                                    ZEROVECS                              #  IN CASE SIN WAS SLIGHTLY > 1/2
039794,000510: 30,3524           77566                           SQRT     EXIT                                  #  YIELDS COS(CDUZ) IN UNITS OF 2
039795,000511: 
039796,000512: 30,3525           00006                           EXTEND                                         
039797,000513: 30,3526           30155                           DCA      MPAC                                  
039798,000514: 30,3527           20001                           DDOUBL                                         
039799,000515: 30,3530           54145                           TS       TEM5                                  
039800,000516: 30,3531           13534                           TCF      +3                                    
039801,000517: 30,3532           34733                           CA       POSMAX                                #  OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS
039802,000518: 30,3533           54145                           TS       TEM5                                  #  COS(CDUZ) IN TEM5, UNITS 1
039803,000519: 
039804,000520: 30,3534           50120                           INDEX    FIXLOC                                
039805,000521: 30,3535           30002                           CA       2                                     
039806,000522: 30,3536           22154                           LXCH     MPAC                                  
039807,000523: 30,3537           03604                           TC       ARCTRGSP                              
039808,000524: 30,3540           54156                           TS       MPAC       +2                         #  CDUZ
039809,000525: 
039810,000526: 30,3541           34755                           CA       ZERO                                  
039811,000527: 30,3542           03562                           TC       DVBYCOSM                              
039812,000528: 30,3543           34751                           CA       FOUR                                  
039813,000529: 30,3544           03562                           TC       DVBYCOSM                              
039814,000530: 30,3545           40141                           CS       TEM1                                  
039815,000531: 30,3546           03604                           TC       ARCTRGSP                              
039816,000532: 30,3547           54155                           TS       MPAC       +1                         #  CDUY
039817,000533: 
039818,000534: 30,3550           34750                           CA       BIT4                                  
039819,000535: 30,3551           03562                           TC       DVBYCOSM                              
039820,000536: 30,3552           33561                           CA       16OCT                                 
039821,000537: 30,3553           03562                           TC       DVBYCOSM                              
039822,000538: 30,3554           40141                           CS       TEM1                                  
039823,000539: 30,3555           03604                           TC       ARCTRGSP                              
039824,000540: 30,3556           54154                           TS       MPAC                                  #  CDUX
039825,000541: 
039826,000542: 30,3557           06042                           TC       INTPRET                               
039827,000543: 30,3560           77616                           RVQ                                            
039828,000544: 
039829,000545: 30,3561           00016        16OCT              OCT      16                                    
039830,000546: 

Page 913

039832,000548:                                                                                                  #  THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA)
039833,000549:                                                                                                  #  ALREADY CONTAIN COS(MGA)/2 AS A FACTOR.  THEREFORE THE QUOTIENT SHOULD
039834,000550:                                                                                                  #  ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE.  BUT IF THE MGA IS NEAR PI/2
039835,000551:                                                                                                  #  THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER
039836,000552:                                                                                                  #  ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION.
039837,000553:                                                                                                  #  BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER
039838,000554:                                                                                                  #  THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND.
039839,000555: 
039840,000556:                                                                                                  #  IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE
039841,000557:                                                                                                  #  REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL
039842,000558:                                                                                                  #  ANGLES ARE INDETERMINATE.  THE INNER AND OUTER GIMBAL ANGLES RETURNED
039843,000559:                                                                                                  #  IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2.
039844,000560: 
039845,000561: 30,3562           60120        DVBYCOSM           AD       FIXLOC                                
039846,000562: 30,3563           54116                           TS       ADDRWD                                #  ADRES OF OPERAND
039847,000563: 
039848,000564: 30,3564           50116                           INDEX    ADDRWD                                #  FETCH NEG ABS OF OPERAND, AD TEM5, AND
039849,000565: 30,3565           30000                           CA       0                                     #      SKIP DIVIDE IF RESULT NEG OR ZERO
039850,000566: 30,3566           00006                           EXTEND                                         
039851,000567: 30,3567           63571                           BZMF     +2                                    
039852,000568: 30,3570           40000                           COM                                            
039853,000569: 30,3571           60145                           AD       TEM5                                  #  C(A) ZERO OR NEG, C(TEM5) ZERO OR POS
039854,000570: 30,3572           00006                           EXTEND                                         
039855,000571: 30,3573           63601                           BZMF     TSL&TCQ                               #  DIFFERENCE ALWAYS SMALL IF BRANCH
039856,000572: 
039857,000573: 30,3574           00006                           EXTEND                                         #  TEM5 EXCEEDS ABS HIGH ORDER PART OF
039858,000574: 30,3575           50116                           INDEX    ADDRWD                                #       OPERAND BY AT LEAST ONE BIT.
039859,000575: 30,3576           30001                           DCA      0                                     #       THEREFORE IT EXCEEDS THE DP OPERAND
039860,000576: 30,3577           00006                           EXTEND                                         #       AND DIVISION WILL ALWAYS SUCCEED.
039861,000577: 30,3600           10145                           DV       TEM5                                  
039862,000578: 30,3601           54001        TSL&TCQ            TS       L                                     
039863,000579: 30,3602           22141                           LXCH     TEM1                                  
039864,000580: 30,3603           00002                           TC       Q                                     
039865,000581: 

Page 914

039867,000583:                                                                                                  #  ARCTRGSP RETURNS THE 2'S COMPLEMENT, PI, SP ANGLE IN THE A REGISTER GIVEN ITS SINE IN A AND ITS COSINE IN L IN
039868,000584:                                                                                                  #  UNITS OF 2.  THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS.
039869,000585:                                                                                                  #  THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES.
039870,000586: 
039871,000587: 30,3604           00006        ARCTRGSP           EXTEND                                         
039872,000588: 30,3605           13647                           BZF      SINZERO                               #  TO AVOID DIVIDING BY ZERO
039873,000589: 
039874,000590: 30,3606           00006                           EXTEND                                         
039875,000591: 30,3607           22144                           QXCH     TEM4                                  
039876,000592: 30,3610           54142                           TS       TEM2                                  
039877,000593: 30,3611           30001                           CA       L                                     
039878,000594: 30,3612           54143                           TS       TEM3                                  
039879,000595: 30,3613           34755                           CA       ZERO                                  
039880,000596: 30,3614           00006                           EXTEND                                         
039881,000597: 30,3615           10142                           DV       TEM2                                  
039882,000598: 30,3616           00006                           EXTEND                                         
039883,000599: 30,3617           13636                           BZF      USECOS                                
039884,000600: 
039885,000601: 30,3620           10143                           CCS      TEM3                                  #  SIN IS SMALLER OR EQUAL
039886,000602: 30,3621           34755                           CA       ZERO                                  
039887,000603: 30,3622           13626                           TCF      +4                                    
039888,000604: 30,3623           40142                           CS       TEM2                                  #  IF COS NEG, REVERSE SIGN OF SIN,
039889,000605: 30,3624           54142                           TS       TEM2                                  #       ANGLE = PI-ARCSIN(SIN)
039890,000606: 30,3625           34735                           CA       NEGMAX                                #  PICK UP PI, 2'S COMPLEMENT
039891,000607: 30,3626           54143                           TS       TEM3                                  #  WE NO LONGER NEED COS
039892,000608: 30,3627           30142                           CA       TEM2                                  
039893,000609: 30,3630           03654                           TC       SPARCSIN   -1                         
039894,000610: 30,3631           03725                           TC       ONESTO2S                              
039895,000611: 30,3632           00006                           EXTEND                                         
039896,000612: 30,3633           20143                           MSU      TEM3                                  
039897,000613: 30,3634           03725        1TO2&TCQ           TC       ONESTO2S                              
039898,000614: 30,3635           00144                           TC       TEM4                                  
039899,000615: 
039900,000616: 30,3636           40143        USECOS             CS       TEM3                                  #  COS IS SMALLER
039901,000617: 30,3637           03654                           TC       SPARCSIN   -1                         #  ANGLE = SIGN(SIN)(PI/2-ARCSIN(COS))
039902,000618: 30,3640           64736                           AD       HALF                                  
039903,000619: 30,3641           54143                           TS       TEM3                                  #  WE NO LONGER NEED COS
039904,000620: 30,3642           10142                           CCS      TEM2                                  
039905,000621: 30,3643           30143                           CA       TEM3                                  
039906,000622: 30,3644           13634                           TCF      1TO2&TCQ                              
039907,000623: 30,3645           40143                           CS       TEM3                                  
039908,000624: 30,3646           13634                           TCF      1TO2&TCQ                              
039909,000625: 
039910,000626: 30,3647           10001        SINZERO            CCS      L                                     
039911,000627: 30,3650           34755                           CA       ZERO                                  
039912,000628: 30,3651           00002                           TC       Q                                     
039913,000629: 30,3652           34735                           CA       NEGMAX                                #  PI, 2'S COMP
039914,000630: 30,3653           00002                           TC       Q                                     
039915,000631: 

Page 915

039917,000633:                                                                                                  #  SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED
039918,000634:                                                                                                  #  180 DEGREES IN A.  IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+- 70
039919,000635:                                                                                                  #  DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF
039920,000636:                                                                                                  #  450 MICROSECONDS.  SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO.(BOB CRISP)
039921,000637: 
039922,000638: 30,3654           60000                           DOUBLE                                         
039923,000639: 30,3655           54021        SPARCSIN           TS       SR                                    
039924,000640: 30,3656           13662                           TCF      +4                                    
039925,000641: 30,3657           50000                           INDEX    A                                     
039926,000642: 30,3660           44734                           CS       LIMITS                                
039927,000643: 30,3661           54021                           TS       SR                                    
039928,000644: 30,3662           00006                           EXTEND                                         
039929,000645: 30,3663           70000                           MP       A                                     
039930,000646: 30,3664           54141                           TS       TEM1                                  
039931,000647: 30,3665           00006                           EXTEND                                         
039932,000648: 30,3666           73710                           MP       DPL9                                  
039933,000649: 30,3667           63707                           AD       DPL7                                  
039934,000650: 30,3670           00006                           EXTEND                                         
039935,000651: 30,3671           70141                           MP       TEM1                                  
039936,000652: 30,3672           63706                           AD       DPL5                                  
039937,000653: 30,3673           00006                           EXTEND                                         
039938,000654: 30,3674           70141                           MP       TEM1                                  
039939,000655: 30,3675           63705                           AD       DPL3                                  
039940,000656: 30,3676           00006                           EXTEND                                         
039941,000657: 30,3677           70141                           MP       TEM1                                  
039942,000658: 30,3700           63704                           AD       DPL1                                  
039943,000659: 30,3701           00006                           EXTEND                                         
039944,000660: 30,3702           70021                           MP       SR                                    
039945,000661: 30,3703           00002                           TC       Q                                     
039946,000662: 30,3704           24406        DPL1               DEC      10502      B-14                       
039947,000663: 30,3705           00660        DPL3               DEC      432        B-14                       
039948,000664: 30,3706           16204        DPL5               DEC      7300       B-14                       
039949,000665: 30,3707           50744        DPL7               DEC      -11803     B-14                       
039950,000666: 30,3710           20315        DPL9               DEC      8397       B-14                       
039951,000667: 

Page 916

039953,000669:                                                                                                  #  LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE
039954,000670:                                                                                                  #  ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A.
039955,000671:                                                                                                  #  THE SIGNED LIMITED VARIABLE IS RETURNED IN A.
039956,000672: 
039957,000673:                                                                                                  #  VERSION COURTESY HUGH BLAIR-SMITH
039958,000674: 
039959,000675: 30,3711           54141        LIMITSUB           TS       TEM1                                  
039960,000676: 30,3712           34755                           CA       ZERO                                  
039961,000677: 30,3713           00006                           EXTEND                                         
039962,000678: 30,3714           10141                           DV       TEM1                                  
039963,000679: 30,3715           10000                           CCS      A                                     
039964,000680: 30,3716           22141                           LXCH     TEM1                                  
039965,000681: 30,3717           13721                           TCF      +2                                    
039966,000682: 30,3720           13723                           TCF      +3                                    
039967,000683: 30,3721           30001                           CA       L                                     
039968,000684: 30,3722           00002                           TC       Q                                     
039969,000685: 30,3723           40141                           CS       TEM1                                  
039970,000686: 30,3724           00002                           TC       Q                                     
039971,000687: 
039972,000688:                                                                                                  #  SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP
039973,000689: 
039974,000690: 30,3725           10000        ONESTO2S           CCS      A                                     
039975,000691: 30,3726           64753                           AD       ONE                                   
039976,000692: 30,3727           00002                           TC       Q                                     
039977,000693: 30,3730           40000                           CS       A                                     
039978,000694: 30,3731           00002                           TC       Q                                     
039979,000695: 
039980,000696:                                                                                                  #  NO ATTITUDE CONTROL
039981,000697: 
039982,000698: 30,3732           05600        NOATTCNT           TC       ALARM                                 
039983,000699: 30,3733           00402                           OCT      00402                                 #  NO ATTITUDE CONTROL
039984,000700: 
039985,000701: 30,3734           00004                 +2        INHINT                                         #  COME HERE FOR NOATTCNT WITHOUT ALARM
039986,000702: 30,3735           04674                           TC       IBNKCALL                              #  RELINT AT TC INTPRET AFTER TCQCDUW
039987,000703: 30,3736           40166                           FCADR    STOPRATE                              
039988,000704: 30,3737           13457                           TCF      TCQCDUW                               #  RETURN TO USER SKIPPING AUTOPILOT CMDS
039989,000705: 
039990,000706:                                                                                                  #  MIDDLE GIMBAL ANGLE ALARM
039991,000707: 
039992,000708: 30,3740           05600        ALARMMGA           TC       ALARM                                 
039993,000709: 30,3741           00401                           OCT      00401                                 
039994,000710: 30,3742           13257                           TCF      MGARET                                
039995,000711: 

Page 917

039997,000713:                                                                                                  #  ************************************************************************
039998,000714:                                                                                                  #  CONSTANTS
039999,000715:                                                                                                  #  ************************************************************************
040000,000716: 
040001,000717:                                                                                                  #  ADDRESS CONSTANTS
040002,000718: 
040003,000719: 30,3743           03245        ECDUWL             ECADR    ECDUW                                 
040004,000720: 
040005,000721:                                                                                                  #  THRUST DIRECTION FILTER CONSTANTS
040006,000722: 
040007,000723: 30,3744           06315        GAINFLTR           DEC      .2                                    #  GAIN FILTER SANS CSM
040008,000724: 30,3745           03146                           DEC      .1                                    #  GAIN FILTER WITH CSM
040009,000725: 
040010,000726: 30,3746           00071        DUNFVLIM           DEC      .007       B-1                        #  7 MR MAX CHG IN F DIR IN VEH IN 2 SECS.
040011,000727:                                                                                                  #  THIS DOES NOT ALLOW FOR S/C ROT RATE.
040012,000728: 
040013,000729: 30,3747           02041        UNFVLIM            DEC      .129       B-1                        #  129 MR MAX THRUST OFFSET. 105 MR TRAVEL
040014,000730:                                                                                                  #  +10MR DEFL+5MR MECH MOUNT+9MR ABLATION.
040015,000731: 
040016,000732:                                                                                                  #  CONSTANTS RELATED TO GIMBAL ANGLE COMPUTATIONS
040017,000733: 
040018,000734: 30,3750           01673        DOTSWFMX           DEC      .93302     B-4                        #  LIM COLNRTY OF UNWC/2 & UNFC/2 TO 85 DEG
040019,000735:                                                                                                  #  LOWER PART COMES FROM NEXT CONSTANT
040020,000736: 
040021,000737: 30,3751           03434        DAXMAX             DEC      .11111111111                            #  DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI
040022,000738: 30,3752           00266                           DEC      .0111111111                            #  2 DEG WHEN CSM DOCKED
040023,000739: 
040024,000740: 30,3753           01616        DAY/2MAX           DEC      .05555555555                            #  LIKEWISE FOR DELATTY
040025,000741: 30,3754           00133                           DEC      .0055555555                            
040026,000742: 
040027,000743: 30,3755  30,3751               DAZMAX             =        DAXMAX                                #  LIKEWISE FOR DELATTZ
040028,000744: 
040029,000745: 30,3755           14344        CDUZDLIM           DEC      .3888888888                            #  70 DEG LIMIT FOR MGA, 1'S, PI
040030,000746: 
040031,000747:                                                                                                  #  CONSTANTS FOR DATA TRANSFER
040032,000748: 
040033,000749: 30,3756           01463        DT/DELT            DEC      .05                                   #  .1 SEC/2 SEC WHICH IS THE AUTOPILOT
040034,000750:                                                                                                  #  CONTROL SAMPLE PERIOD/COMPUTATION PERIOD
040035,000751: 
040036,000752: 30,3757  30,3753               DELERLIM           =        DAY/2MAX                              #  10 DEG LIMIT FOR LAG ANGLES, 1'S, PI
040037,000753: 

End of include-file FINDCDUW_-_GUIDAP_INTERFACE.agc.  Parent file is MAIN.agc