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.

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

Page 899

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

Page 900

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

Page 901

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

Page 902

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

Page 903

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

Page 904

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

Page 905

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

Page 906

039599,000306: 30,3306           10142                           CCS      TEM2                                  
039600,000307: 30,3307           13262                           TCF      DELGMBLP                              
039601,000308: 

Page 907

039603,000310:                                                                                                  #  BRANCHES TO NOATTCNT
039604,000311: 
039605,000312: 30,3310           11651                           CCS      FLPAUTNO                              
039606,000313: 30,3311           13734                           TCF      NOATTCNT   +2                         #  NOT PNGCS AUTO
039607,000314: 
039608,000315: 30,3312           30101                           CA       FLAGWRD5                              
039609,000316: 30,3313           74745                           MASK     ENGONBIT                              
039610,000317: 30,3314           00006                           EXTEND                                         
039611,000318: 30,3315           13734                           BZF      NOATTCNT   +2                         #  ENGINE NOT ON
039612,000319: 

Page 908

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

Page 909

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

Page 910

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

Page 911

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

Page 912

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

Page 913

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

Page 914

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

Page 915

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

Page 916

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

Page 917

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

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