Source Code

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

The reconstruction began with reconstructed source code for Luminary 173. Changes between revision 163 and 173 were backed out, as described by Luminary memos 157 and 158. 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 163 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.

039138,000002:                                                                                                  ## Copyright:   Public domain.
039139,000003:                                                                                                  ## Filename:    FINDCDUW_-_GUIDAP_INTERFACE.agc
039140,000004:                                                                                                  ## Purpose:     A section of Luminary revision 163.
039141,000005:                                                                                                  ##              It is part of the reconstructed source code for the first
039142,000006:                                                                                                  ##              (unflown) release of the flight software for the Lunar
039143,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
039144,000008:                                                                                                  ##              The code has been recreated from a reconstructed copy of
039145,000009:                                                                                                  ##              Luminary 173, as well as Luminary memos 157 amd 158.
039146,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
039147,000011:                                                                                                  ##              exactly match those specified for Luminary 163 in NASA
039148,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
039149,000013:                                                                                                  ##              that the reconstruction is correct.
039150,000014:                                                                                                  ## Reference:   pp. 899-917
039151,000015:                                                                                                  ## Assembler:   yaYUL
039152,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
039153,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
039154,000018:                                                                                                  ## Mod history: 2019-08-21 MAS  Created from Luminary 173.
039155,000019: 

Page 899

039157,000021:                                                                                                  #  PROGRAM NAME:   FINDCDUW
039158,000022: 
039159,000023:                                                                                                  #  MOD NUMBER:     1         68 07 15
039160,000024: 
039161,000025:                                                                                                  #  MOD AUTHOR:     KLUMPP
039162,000026: 
039163,000027:                                                                                                  #  OBJECTS OF MOD: 1.        TO SUPPLY COMMANDED GIMBAL ANGLES FOR NOUN 22.
039164,000028:                                                                                                  #                  2.        TO MAINTAIN CORRECT AND CURRENT THRUST
039165,000029:                                                                                                  #                            DIRECTION DATA IN ALL MODES.  THIS IS DONE BY
039166,000030:                                                                                                  #                            FETCHING FOR THE THRUST DIRECTION FILTER THE
039167,000031:                                                                                                  #                            CDUD'S IN PNGCS-AUTO, THE CDU'S IN ALL OTHER
039168,000032:                                                                                                  #                            MODES.
039169,000033:                                                                                                  #                  3.        TO SUBSTITUTE A STOPRATE FOR THE NORMAL
039170,000034:                                                                                                  #                            AUTOPILOT COMMANDS WHENEVER
039171,000035:                                                                                                  #                            1) NOT IN PNGCS-AUTO, OR
039172,000036:                                                                                                  #                            2) ENGINE IS OFF.
039173,000037: 
039174,000038:                                                                                                  #  FUNCTIONAL DESCRIPTION:
039175,000039: 
039176,000040:                                                                                                  #  FINDCDUW PROVIDES THE INTERFACES BETWEEN THE VARIOUS POWERED FLITE GUIDANCE PROGRAMS
039177,000041:                                                                                                  #  AND THE DIGITAL AUTOPILOT.  THE INPUTS TO FINDCDUW ARE THE THRUST COMMAND VECTOR
039178,000042:                                                                                                  #  AND THE WINDOW COMMAND VECTOR, AND THE OUTPUTS ARE THE GIMBAL ANGLE
039179,000043:                                                                                                  #  INCREMENTS, THE COMMANDED ATTITUDE ANGLE RATES, AND THE COMMANDED
039180,000044:                                                                                                  #  ATTITUDE LAG ANGLES (WHICH ACCOUNT FOR THE ANGLES BY WHICH THE BODY WILL
039181,000045:                                                                                                  #  LAG BEHIND A RAMP COMMAND IN ATTITUDE ANGLE DUE TO THE FINITE ANGULAR
039182,000046:                                                                                                  #  ACCELERATIONS AVAILABLE).
039183,000047: 
039184,000048:                                                                                                  #  FINDCDUW ALINES THE ESTIMATED THRUST VECTOR FROM THE THRUST DIRECTION
039185,000049:                                                                                                  #  FILTER WITH THE THRUST COMMAND VECTOR, AND, WHEN  XOVINHIB  SET,
039186,000050:                                                                                                  #  ALINES THE +Z HALF OF THE LM ZX PLANE WITH THE WINDOW COMMAND VECTOR.
039187,000051: 

Page 900

039189,000053:                                                                                                  #  SPECIFICATIONS:
039190,000054: 
039191,000055:                                                                                                  #  INITIALIZATION: A SINGLE INTERPRETIVE CALL TO  INITCDUW  IS REQUIRED
039192,000056:                                                                                                  #                  BEFORE EACH GUIDED MANEUVER USING FINDCDUW.
039193,000057: 
039194,000058:                                                                                                  #  CALL:           INTERPRETIVE CALL TO FINDCDUW WITH THE THRUST COMMAND
039195,000059:                                                                                                  #                  VECTOR IN MPAC.  INTERPRETIVE CALL TO FINDCDUW -2 WITH
039196,000060:                                                                                                  #                  THE THRUST COMMAND VECTOR IN UNFC/2 AND NOT IN MPAC.
039197,000061: 
039198,000062:                                                                                                  #  RETURNS:        NORMAL INTERPRETIVE IN ALL CASES
039199,000063: 
039200,000064:                                                                                                  #                  1.       NORMALLY ALL AUTOPILOT CMDS ARE ISSUED.
039201,000065: 
039202,000066:                                                                                                  #                  2.       IF NOT PNGCS AUTO, DO STOPRATE AND RETURN
039203,000067:                                                                                                  #                           WITHOUT ISSUING AUTOPILOT CMDS.
039204,000068: 
039205,000069:                                                                                                  #                  3.       IF ENGINE OFF, DO STOPRATE AND RETURN WITHOUT
039206,000070:                                                                                                  #                           ISSUING AUTOPILOT CMDS.
039207,000071: 
039208,000072:                                                                                                  #  ALARMS:         00401 IF INPUTS DETERMINE AN ATTITUDE IN GIMBAL LOCK.
039209,000073:                                                                                                  #                           FINDCDUW DRIVES CDUXD AND CDUYD TO THE RQD VALUES,
039210,000074:                                                                                                  #                           BUT DRIVES CDUZD ONLY TO THE GIMBAL LOCK CONE.
039211,000075:                                                                                                  #                  00402 IF UNFC/2 OR UNWC/2 PRODUCE OVERFLOW WHEN
039212,000076:                                                                                                  #                           UNITIZED USING NORMUNIT.  FINDCDUW ISSUES
039213,000077:                                                                                                  #                           STOPRATE AS ONLY INPUT TO AUTOPILOT.
039214,000078: 
039215,000079:                                                                                                  #  INPUTS:         UNFC/2   THRUST COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039216,000080:                                                                                                  #                  UNWC/2   WINDOW COMMAND VECTOR, NEED NOT BE SEMI-UNIT.
039217,000081:                                                                                                  #                  OGABIAS  POSSIBLE BIAS FOR OUTER GIMBAL ANGLE (ZEROED IN INITCDUW), UNITS OF PI.
039218,000082:                                                                                                  #                  XOVINHIB FLAG DENOTING X AXIS OVERRIDE INHIBITED.
039219,000083:                                                                                                  #                  CSMDOCKD FLAG DENOTING CSM DOCKED.
039220,000084:                                                                                                  #                  STEERSW  FLAG DENOTING INSUFF THRUST FOR THRUST DIR FLTR.
039221,000085: 
039222,000086:                                                                                                  #  OUTPUTS:        DELCDUX,Y,Z
039223,000087:                                                                                                  #                  OMEGAPD,+1,+2
039224,000088:                                                                                                  #                  DELPEROR,+1,+2
039225,000089:                                                                                                  #                  CPHI,+1,+2 FOR NOUN22
039226,000090: 
039227,000091:                                                                                                  #  DEBRIS:         FINDCDUW DESTROYS SINCDUX,Y,Z AND COSCDUX,Y,Z BY
039228,000092:                                                                                                  #                  WRITING INTO THESE LOCATIONS THE SINES AND COSINES
039229,000093:                                                                                                  #                  OF THE CDUD'S IN PNGCS-AUTO, OF THE CDU'S OTHERWISE.
039230,000094: 

Page 901

039232,000096:                                                                                                  #  INITIALIZATION FOR FINDCDUW
039233,000097: 
039234,000098: 30,3063                                           BANK     30                                    
039235,000099: 30,2000                                           SETLOC   FCDUW                                 
039236,000100: 30,2000                                           BANK                                           
039237,000101: 
039238,000102: 30,3063  E6,1645                                  EBANK=   ECDUW                                 
039239,000103: 
039240,000104: 30,3063                                           COUNT*   $$/FCDUW                              
039241,000105: 
039242,000106: 30,3063           77331        INITCDUW           SSP      VLOAD                                 
039243,000107: 30,3064           03300                                    OGABIAS                               
039244,000108: 30,3065           00000                                    0                                     
039245,000109: 30,3066           06516                                    UNITX                                 
039246,000110: 30,3067           03267                           STORE    UNFV/2                                
039247,000111: 30,3070           03261                           STORE    UNWC/2                                
039248,000112: 30,3071           77616                           RVQ                                            
039249,000113: 
039250,000114:                                                                                                  #  FINDCDUW PRELIMINARIES
039251,000115: 
039252,000116: 30,3072           77775                           VLOAD                                          #  FINDCDUW -2: ENTRY WHEN UNFC/2 PRE-STORD
039253,000117: 30,3073           03253                                    UNFC/2                                #  INPUT VECTORS NEED NOT BE SEMI-UNIT
039254,000118: 30,3074           40200        FINDCDUW           BOV      SETPD                                 #  FINDCDUW: ENTRY WHEN UNFC/2 IN MPAC
039255,000119: 30,3075           61074                                    FINDCDUW                              #  INTERPRETER NOW INITIALIZED
039256,000120: 30,3076           00023                                    22                                    #  LOCS 0 THRU 21 FOR DIRECTION COSINE MAT
039257,000121: 30,3077           77420                           STQ      EXIT                                  
039258,000122: 30,3100           03246                                    QCDUWUSR                              #  SAVE RETURN ADDRESS
039259,000123: 
039260,000124:                                                                                                  #  MORE HAUSKEEPING
039261,000125: 
039262,000126: 30,3101           33744                           CA       ECDUWL                                
039263,000127: 30,3102           56003                           XCH      EBANK                                 #  SET EBANK
039264,000128: 30,3103           55645                           TS       ECDUWUSR                              #  SAVE USER'S EBANK
039265,000129: 
039266,000130: 30,3104           30111                           CA       DAPBOOLS                              
039267,000131: 30,3105           74737                           MASK     CSMDOCKD                              #  CSMDOCKD MUST NOT BE BIT15
039268,000132: 30,3106           10000                           CCS      A                                     
039269,000133: 30,3107           34753                           CA       ONE                                   #  INDEX IF CSM DOCKED
039270,000134: 30,3110           55647                           TS       NDXCDUW                               
039271,000135: 
039272,000136: 30,3111           34743                           CA       XOVINHIB                              #  XOVINHIB MUST NOT BE BIT15
039273,000137: 30,3112           55651                           TS       FLPAUTNO                              #  SET TO POS-NON-ZERO FLAG PNGCS AUTO NOT
039274,000138: 
039275,000139: 30,3113           70111                           MASK     DAPBOOLS                              
039276,000140: 30,3114           55650                           TS       FLAGOODW                              #  FLAGOODW = ANY PNZ NUMBER IF XOV INHIBTD
039277,000141: 

Page 902

039279,000143:                                                                                                  #  FETCH BASIC DATA
039280,000144: 
039281,000145: 30,3115           00004                           INHINT                                         #  RELINT AT PAUTNO (TC INTPRET)
039282,000146: 
039283,000147: 30,3116           30032                           CA       CDUX                                  #  FETCH CDUX,CDUY,CDUZ IN ALL CASES, BUT
039284,000148: 30,3117           54771                           TS       CDUSPOTX                              #       REPLACE BELOW IF PNGCS AUTO
039285,000149: 30,3120           30033                           CA       CDUY                                  
039286,000150: 30,3121           54765                           TS       CDUSPOTY                              
039287,000151: 30,3122           30034                           CA       CDUZ                                  
039288,000152: 30,3123           54767                           TS       CDUSPOTZ                              
039289,000153: 
039290,000154: 30,3124           34742                           CA       BIT10                                 #  PNGCS CONTROL BIT
039291,000155: 30,3125           00006                           EXTEND                                         
039292,000156: 30,3126           02030                           RAND     CHAN30                                
039293,000157: 30,3127           10000                           CCS      A                                     
039294,000158: 30,3130           13145                           TCF      PAUTNO                                #  NOT PNGCS (BITS INVERTED)
039295,000159: 
039296,000160: 30,3131           34736                           CA       BIT14                                 #  AUTO MODE BIT
039297,000161: 30,3132           00006                           EXTEND                                         
039298,000162: 30,3133           02031                           RAND     CHAN31                                
039299,000163: 30,3134           10000                           CCS      A                                     
039300,000164: 30,3135           13145                           TCF      PAUTNO                                #  NOT AUTO (BITS INVERTED)
039301,000165: 
039302,000166: 30,3136           55651                           TS       FLPAUTNO                              #  RESET FLAG PNGCS AUTO NOT
039303,000167: 
039304,000168: 30,3137           31634                           CA       CDUXD                                 #  PNGCS AUTO: FETCH CDUXD,CDUYD,CDUZD
039305,000169: 30,3140           54771                           TS       CDUSPOTX                              
039306,000170: 30,3141           31635                           CA       CDUYD                                 
039307,000171: 30,3142           54765                           TS       CDUSPOTY                              
039308,000172: 30,3143           31636                           CA       CDUZD                                 
039309,000173: 30,3144           54767                           TS       CDUSPOTZ                              
039310,000174: 

Page 903

039312,000176:                                                                                                  #  FETCH INPUTS
039313,000177: 
039314,000178: 30,3145           06042        PAUTNO             TC       INTPRET                               #  ENTERING THRUST CMD STILL IN MPAC
039315,000179: 30,3146           77634                           RTB                                            
039316,000180: 30,3147           21727                                    NORMUNIT                              
039317,000181: 30,3150           24001                           STOVL    UNX/2                                 #  SEMI-UNIT THRUST CMD AS INITIAL UNX/2
039318,000182: 30,3151           03261                                    UNWC/2                                
039319,000183: 30,3152           47034                           RTB      RTB                                   
039320,000184: 30,3153           21727                                    NORMUNIT                              
039321,000185: 30,3154           47622                                    QUICTRIG                              #  ALWAYS RQD TO OBTAIN TRIGS OF CDUD'S
039322,000186: 30,3155           24015                           STOVL    UNZ/2                                 #  SEMI-UNIT WINDOW CMD AS INITIAL UNZ/2
039323,000187: 30,3156           00325                                    DELV                                  
039324,000188: 30,3157           53404                           BOVB     UNIT                                  
039325,000189: 30,3160           61733                                    NOATTCNT                              #  AT LEAST ONE ENTERING CMD VCT ZERO
039326,000190: 30,3161           45000                           BOV      CALL                                  
039327,000191: 30,3162           61176                                    AFTRFLTR                              #  IF UNIT DELV OVERFLOWS, SKIP FILTER
039328,000192: 30,3163           47676                                    *SMNB*                                #  YIELDS UNIT(DELV) IN VEH COORDS FOR FLTR
039329,000193: 
039330,000194:                                                                                                  #  THRUST DIRECTION FILTER
039331,000195: 
039332,000196: 30,3164           77776                           EXIT                                           
039333,000197: 
039334,000198: 30,3165           31670                           CA       UNFVY/2                               #  FOR RESTARTS, UNFV/2 ALWAYS INTACT, MPAC
039335,000199: 30,3166           22157                           LXCH     MPAC       +3                         #       RENEWED AFTER RETURN FROM CALLER,
039336,000200: 30,3167           03466                           TC       FLTRSUB                               #       TWO FILTER UPDATES MAY BE DONE.
039337,000201: 30,3170           55670                           TS       UNFVY/2                               #  UNFV/2 NEED NOT BE EXACTLY SEMI-UNIT.
039338,000202: 
039339,000203: 30,3171           31672                           CA       UNFVZ/2                               
039340,000204: 30,3172           22161                           LXCH     MPAC       +5                         
039341,000205: 30,3173           03466                           TC       FLTRSUB                               
039342,000206: 30,3174           55672                           TS       UNFVZ/2                               
039343,000207: 
039344,000208: 30,3175           06042                           TC       INTPRET                               #  COMPLETES FILTER
039345,000209: 

Page 904

039347,000211:                                                                                                  #  FIND A SUITABLE WINDOW POINTING VECTOR
039348,000212: 
039349,000213: 30,3176           46135        AFTRFLTR           SLOAD    BHIZ                                  #  IF XOV NOT INHIBITED, GO FETCH ZNB
039350,000214: 30,3177           03251                                    FLAGOODW                              
039351,000215: 30,3200           61204                                    FETCHZNB                              
039352,000216: 30,3201           45175                           VLOAD    CALL                                  
039353,000217: 30,3202           00015                                    UNZ/2                                 
039354,000218: 30,3203           61506                                    UNWCTEST                              
039355,000219: 
039356,000220: 30,3204           77775        FETCHZNB           VLOAD                                          
039357,000221: 30,3205           02162                                    ZNBPIP                                
039358,000222: 30,3206           34015                           STCALL   UNZ/2                                 
039359,000223: 30,3207           61506                                    UNWCTEST                              
039360,000224: 
039361,000225: 30,3210           57575                           VLOAD    VCOMP                                 #  Z AND -X CAN'T BOTH PARALLEL UNFC/2
039362,000226: 30,3211           02146                                    XNBPIP                                
039363,000227: 30,3212           00015                           STORE    UNZ/2                                 
039364,000228: 
039365,000229:                                                                                                  #  COMPUTE THE REQUIRED DIRECTION COSINE MATRIX
039366,000230: 
039367,000231: 30,3213           47375        DCMCL              VLOAD    VXV                                   
039368,000232: 30,3214           00015                                    UNZ/2                                 
039369,000233: 30,3215           00001                                    UNX/2                                 
039370,000234: 30,3216           41456                           UNIT     PUSH                                  #  UNY/2 FIRST ITERATION
039371,000235: 30,3217           76435                           VXV      VSL1                                  
039372,000236: 30,3220           00001                                    UNX/2                                 
039373,000237: 30,3221           00015                           STORE    UNZ/2                                 #  -UNZ/2 FIRST ITERATION
039374,000238: 30,3222           63361                           VXSC     PDVL                                  #  EXCHANGE -UNFVZ/2 UNZ/2 FOR UNY/2
039375,000239: 30,3223           03273                                    UNFVZ/2                               #  MUST BE SMALL
039376,000240: 30,3224           51361                           VXSC     BVSU                                  #  YIELDS -UNFVY/2 UNY/2-UNFVZ/2 UNZ/2
039377,000241: 30,3225           03271                                    UNFVY/2                               #  MUST BE SMALL
039378,000242: 30,3226           53372                           VSL1     VAD                                   
039379,000243: 30,3227           00001                                    UNX/2                                 
039380,000244: 30,3230           77656                           UNIT                                           #  TOTALLY ELIMINATES THRUST POINTING ERROR
039381,000245: 30,3231           00001                           STORE    UNX/2                                 #  UNX/2
039382,000246: 30,3232           76435                           VXV      VSL1                                  
039383,000247: 30,3233           00015                                    UNZ/2                                 #  -UNZ/2 WAS STORED HERE REMEMBER
039384,000248: 30,3234           00007                           STORE    UNY/2                                 #  UNY/2
039385,000249: 30,3235           47276                           VCOMP    VXV                                   
039386,000250: 30,3236           00001                                    UNX/2                                 
039387,000251: 30,3237           77772                           VSL1                                           
039388,000252: 30,3240           00015                           STORE    UNZ/2                                 #  UNZ/2
039389,000253: 

Page 905

039391,000255:                                                                                                  #  COMPUTE THE REQUIRED GIMBAL ANGLES
039392,000256: 
039393,000257: 30,3241           77624                           CALL                                           
039394,000258: 30,3242           61516                                    NB2CDUSP                              #  YIELDS THE RQD GIMBAL ANGLES, 2'S, PI
039395,000259: 30,3243           77776                           EXIT                                           
039396,000260: 
039397,000261:                                                                                                  #  BIAS OUTER GIMBAL ANGLE
039398,000262: 
039399,000263: 30,3244           31677                           CA       OGABIAS                               
039400,000264: 30,3245           26154                           ADS      MPAC                                  
039401,000265: 
039402,000266:                                                                                                  #  LIMIT THE MIDDLE GIMBAL ANGLE & COMPUTE THE UNLIMITED GIMBAL ANGLE CHGS
039403,000267: 
039404,000268: 30,3246           30156                           CA       MPAC       +2                         #  LIMIT THE MGA
039405,000269: 30,3247           54001                           TS       L                                     #  CAN'T LXCH: NEED UNLIMITED MGA FOR ALARM
039406,000270: 30,3250           33756                           CA       CDUZDLIM                              
039407,000271: 30,3251           03712                           TC       LIMITSUB                              #  YIELDS LIMITED MGA. 1 BIT ERROR POSSIBLE
039408,000272: 30,3252           56156                           XCH      MPAC       +2                         #       BECAUSE USING 2'S COMP. WHO CARES?
039409,000273: 30,3253           00006                           EXTEND                                         
039410,000274: 30,3254           20156                           MSU      MPAC       +2                         #  THIS BETTER YIELD ZERO
039411,000275: 30,3255           00006                           EXTEND                                         
039412,000276: 30,3256           13260                           BZF      +2                                    
039413,000277: 30,3257           13741                           TCF      ALARMMGA                              
039414,000278: 
039415,000279: 30,3260           00004        MGARET             INHINT                                         #  RELINT AT TC INTPRET AFTER TCQCDUW
039416,000280: 
039417,000281: 30,3261           22007                           ZL                                             
039418,000282: 30,3262           34752                           CA       TWO                                   
039419,000283: 30,3263           54142        DELGMBLP           TS       TEM2                                  
039420,000284: 
039421,000285: 30,3264           30001                           CA       L                                     #  TO PREVENT FALSE STARTS ABOUT X, ZERO
039422,000286: 30,3265           00006                           EXTEND                                         #       FLAGOODW IF DELGMBZ OR Y TOO BIG.
039423,000287: 30,3266           70000                           SQUARE                                         
039424,000288: 30,3267           64350                           AD       HI5                                   #  WITHIN 1 BIT OF -(45 DEG SQUARED)
039425,000289: 30,3270           00006                           EXTEND                                         
039426,000290: 30,3271           63274                           BZMF     +3                                    
039427,000291: 30,3272           34755                           CA       ZERO                                  
039428,000292: 30,3273           55650                           TS       FLAGOODW                              
039429,000293: 
039430,000294: 30,3274           50142                           INDEX    TEM2                                  
039431,000295: 30,3275           30154                           CA       MPAC                                  
039432,000296: 30,3276           50142                           INDEX    TEM2                                  
039433,000297: 30,3277           54321                           TS       CPHI                                  #  OUTPUTS TO NOUN22
039434,000298: 30,3300           00006                           EXTEND                                         
039435,000299: 30,3301           50142                           INDEX    TEM2                                  
039436,000300: 30,3302           21634                           MSU      CDUXD                                 #  NO MATTER THAT THESE SLIGHTLY DIFFERENT
039437,000301: 30,3303           40000                           COM                                            #       FROM WHEN WE INITIALLY FETCHED THEM
039438,000302: 30,3304           50142                           INDEX    TEM2                                  
039439,000303: 30,3305           55674                           TS       -DELGMB                               #  -UNLIMITED GIMBAL ANGLE CHGS, 1'S, PI
039440,000304: 30,3306           54001                           TS       L                                     #  FOR PRECEDING TEST ON NEXT LOOP PASS

Page 906

039442,000306: 30,3307           10142                           CCS      TEM2                                  
039443,000307: 30,3310           13263                           TCF      DELGMBLP                              
039444,000308: 

Page 907

039446,000310:                                                                                                  #  BRANCHES TO NOATTCNT
039447,000311: 
039448,000312: 30,3311           11651                           CCS      FLPAUTNO                              
039449,000313: 30,3312           13735                           TCF      NOATTCNT   +2                         #  NOT PNGCS AUTO
039450,000314: 
039451,000315: 30,3313           30101                           CA       FLAGWRD5                              
039452,000316: 30,3314           74745                           MASK     ENGONBIT                              
039453,000317: 30,3315           00006                           EXTEND                                         
039454,000318: 30,3316           13735                           BZF      NOATTCNT   +2                         #  ENGINE NOT ON
039455,000319: 

Page 908

039457,000321:                                                                                                  #  LIMIT THE ATTITUDE ANGLE CHANGES
039458,000322: 
039459,000323:                                                                                                  #  THIS SECTION LIMITS THE ATTITUDE ANGLE CHANGES ABOUT A SET OF ORTHOGONAL VEHICLE AXES X,YPRIME,ZPRIME.
039460,000324:                                                                                                  #  THESE AXES COINCIDE WITH THE COMMANDED VEHICLE AXES IF AND ONLY IF CDUXD IS ZERO.  THE PRIME SYSTEM IS
039461,000325:                                                                                                  #  THE COMMANDED VEHICLE SYSTEM ROTATED ABOUT THE X AXIS TO BRING THE Z AXIS INTO ALINEMENT WITH THE MIDDLE GIMBAL
039462,000326:                                                                                                  #  AXIS.  ATTITUDE ANGLE CHANGES IN THE PRIME SYSTEM ARE RELATED TO SMALL GIMBAL ANGLE CHANGES BY:
039463,000327: 
039464,000328:                                                                                                  #  * -DELATTX      *   * 1  SIN(CDUZD)  0 * * -DELGMBX *
039465,000329:                                                                                                  #  *               *   *                  * *          *
039466,000330:                                                                                                  #  * -DELATTYPRIME * = * 0  COS(CDUZD)  0 * * -DELGMBY *
039467,000331:                                                                                                  #  *               *   *                  * *          *
039468,000332:                                                                                                  #  * -DELATTZPRIME *   * 0  0           1 * * -DELGMBZ *
039469,000333: 
039470,000334: 30,3317           23676                           LXCH     -DELGMB    +2                         #  SAME AS -DELATTZPRIME UNLIMITED
039471,000335: 30,3320           51647                           INDEX    NDXCDUW                               
039472,000336: 30,3321           33752                           CA       DAZMAX                                
039473,000337: 30,3322           03712                           TC       LIMITSUB                              
039474,000338: 30,3323           55676                           TS       -DELGMB    +2                         #  -DELGMBZ
039475,000339: 
039476,000340: 30,3324           31675                           CA       -DELGMB    +1                         
039477,000341: 30,3325           00006                           EXTEND                                         
039478,000342: 30,3326           70745                           MP       COSCDUZ                               #  YIELDS -DELATTYPRIME/2 UNLIMITED
039479,000343: 30,3327           54001                           TS       L                                     
039480,000344: 30,3330           51647                           INDEX    NDXCDUW                               
039481,000345: 30,3331           33754                           CA       DAY/2MAX                              
039482,000346: 30,3332           03712                           TC       LIMITSUB                              
039483,000347: 30,3333           00006                           EXTEND                                         
039484,000348: 30,3334           10745                           DV       COSCDUZ                               
039485,000349: 30,3335           57675                           XCH      -DELGMB    +1                         #  -DELGMBY, FETCHING UNLIMITED VALUE
039486,000350: 
039487,000351: 30,3336           00006                           EXTEND                                         
039488,000352: 30,3337           70737                           MP       SINCDUZ                               
039489,000353: 30,3340           20001                           DDOUBL                                         
039490,000354: 30,3341           40000                           COM                                            
039491,000355: 30,3342           00006                           EXTEND                                         #  YIELDS +DELATTX UNLIMITD, MAG < 180 DEG,
039492,000356: 30,3343           21674                           MSU      -DELGMB                               #       BASED ON UNLIMITED DELGMBY.
039493,000357: 30,3344           54001                           TS       L                                     #       ONE BIT ERROR IF OPERANDS IN MSU
039494,000358: 30,3345           51647                           INDEX    NDXCDUW                               #       OF MIXED SIGNS.  WHO CARES?
039495,000359: 30,3346           33752                           CA       DAXMAX                                
039496,000360: 30,3347           03712                           TC       LIMITSUB                              
039497,000361: 30,3350           55674                           TS       -DELGMB                               #  SAVE LIMITED +DELATTX
039498,000362: 30,3351           11650                           CCS      FLAGOODW                              
039499,000363: 30,3352           41674                           CS       -DELGMB                               #  FETCH IT BACK CHGING SIGN IF WINDOW GOOD
039500,000364: 30,3353           55674                           TS       -DELGMB                               #  OTHERWISE USE ZERO FOR -DELATTX
039501,000365: 30,3354           41675                           CS       -DELGMB    +1                         
039502,000366: 30,3355           00006                           EXTEND                                         
039503,000367: 30,3356           70737                           MP       SINCDUZ                               
039504,000368: 30,3357           20001                           DDOUBL                                         #  YIELDS -CNTRIB TO -DELATTX FROM -DELGMBY
039505,000369: 30,3360           27674                           ADS      -DELGMB                               #  -DELGMBX.  NO OVERFLOW SINCE LIMITED TO
039506,000370:                                                                                                  #  20DEG(1+SIN(70DEG)/COS(70DEG)) < 180DEG
039507,000371: 

Page 909

039509,000373:                                                                                                  #  COMPUTE COMMANDED ATTITUDE RATES
039510,000374: 
039511,000375:                                                                                                  #  * OMEGAPD *   * -2  -4 SINCDUZ          +0         * * -DELGMBX *
039512,000376:                                                                                                  #  *         *   *                                    * *          *
039513,000377:                                                                                                  #  * OMEGAQD * = * +0  -8 COSCDUZ COSCDUX  -4 SINCDUX * * -DELGMBY *
039514,000378:                                                                                                  #  *         *   *                                    * *          *
039515,000379:                                                                                                  #  * OMEGARD *   * +0  +8 COSCDUZ SINCDUX  -4 COSCDUX * * -DELGMBZ *
039516,000380: 
039517,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
039518,000382:                                                                                                  #  PI/2 RAD/SEC.  THE CONSTANTS ARE BASED ON DELGMB BEING THE GIMBAL ANGLE CHANGES IN UNITS OF PI RADIANS,
039519,000383:                                                                                                  #  AND 2 SECONDS BEING THE COMPUTATION PERIOD (THE PERIOD BETWEEN SUCCESSIVE PASSES THRU FINDCDUW).
039520,000384: 
039521,000385: 30,3361           41674                           CS       -DELGMB                               
039522,000386: 30,3362           55642                           TS       OMEGAPD                               
039523,000387: 30,3363           41675                           CS       -DELGMB    +1                         
039524,000388: 30,3364           00006                           EXTEND                                         
039525,000389: 30,3365           70737                           MP       SINCDUZ                               
039526,000390: 30,3366           20001                           DDOUBL                                         
039527,000391: 30,3367           27642                           ADS      OMEGAPD                               
039528,000392: 30,3370           27642                           ADS      OMEGAPD                               
039529,000393: 
039530,000394: 30,3371           41675                           CS       -DELGMB    +1                         
039531,000395: 30,3372           00006                           EXTEND                                         
039532,000396: 30,3373           70747                           MP       COSCDUX                               
039533,000397: 30,3374           20001                           DDOUBL                                         
039534,000398: 30,3375           00006                           EXTEND                                         
039535,000399: 30,3376           70745                           MP       COSCDUZ                               
039536,000400: 30,3377           55643                           TS       OMEGAQD                               
039537,000401: 30,3400           41676                           CS       -DELGMB    +2                         
039538,000402: 30,3401           00006                           EXTEND                                         
039539,000403: 30,3402           70741                           MP       SINCDUX                               
039540,000404: 30,3403           27643                           ADS      OMEGAQD                               
039541,000405: 30,3404           27643                           ADS      OMEGAQD                               
039542,000406: 30,3405           27643                           ADS      OMEGAQD                               
039543,000407: 
039544,000408: 30,3406           31675                           CA       -DELGMB    +1                         
039545,000409: 30,3407           00006                           EXTEND                                         
039546,000410: 30,3410           70741                           MP       SINCDUX                               
039547,000411: 30,3411           20001                           DDOUBL                                         
039548,000412: 30,3412           00006                           EXTEND                                         
039549,000413: 30,3413           70745                           MP       COSCDUZ                               
039550,000414: 30,3414           55644                           TS       OMEGARD                               
039551,000415: 30,3415           41676                           CS       -DELGMB    +2                         
039552,000416: 30,3416           00006                           EXTEND                                         
039553,000417: 30,3417           70747                           MP       COSCDUX                               
039554,000418: 30,3420           27644                           ADS      OMEGARD                               
039555,000419: 30,3421           27644                           ADS      OMEGARD                               
039556,000420: 30,3422           27644                           ADS      OMEGARD                               
039557,000421: 

Page 910

039559,000423:                                                                                                  #  FINAL TRANSFER
039560,000424: 
039561,000425: 30,3423           34752                           CA       TWO                                   
039562,000426: 30,3424           54142        CDUWXFR            TS       TEM2                                  
039563,000427: 30,3425           50142                           INDEX    TEM2                                  
039564,000428: 30,3426           31674                           CA       -DELGMB                               
039565,000429: 30,3427           00006                           EXTEND                                         
039566,000430: 30,3430           73757                           MP       DT/DELT                               #  RATIO OF DAP INTERVAL TO CDUW INTERVAL
039567,000431: 30,3431           03726                           TC       ONESTO2S                              
039568,000432: 30,3432           50142                           INDEX    TEM2                                  
039569,000433: 30,3433           55637                           TS       DELCDUX                               #  ANGLE INTERFACE
039570,000434: 
039571,000435: 30,3434           50142                           INDEX    TEM2                                  
039572,000436: 30,3435           11642                           CCS      OMEGAPD                               
039573,000437: 30,3436           64753                           AD       ONE                                   
039574,000438: 30,3437           13441                           TCF      +2                                    
039575,000439: 30,3440           64753                           AD       ONE                                   
039576,000440: 30,3441           00006                           EXTEND                                         #  WE NOW HAVE ABS(OMEGAPD,QD,RD)
039577,000441: 30,3442           50142                           INDEX    TEM2                                  
039578,000442: 30,3443           71642                           MP       OMEGAPD                               
039579,000443: 30,3444           00006                           EXTEND                                         
039580,000444: 30,3445           74741                           MP       BIT11                                 #  1/16
039581,000445: 30,3446           00006                           EXTEND                                         
039582,000446: 30,3447           50142                           INDEX    TEM2                                  #                    2
039583,000447: 30,3450           11530                           DV       1JACC                                 #  UNITS PI/4 RAD/SEC
039584,000448: 30,3451           54001                           TS       L                                     
039585,000449: 30,3452           33754                           CA       DELERLIM                              
039586,000450: 30,3453           03712                           TC       LIMITSUB                              
039587,000451: 30,3454           50142                           INDEX    TEM2                                  
039588,000452: 30,3455           55274                           TS       DELPEROR                              #  LAG ANGLE = OMEGA ABS(OMEGA)/2 ACCEL
039589,000453: 30,3456           10142                           CCS      TEM2                                  
039590,000454: 30,3457           13424                           TCF      CDUWXFR                               
039591,000455: 
039592,000456:                                                                                                  #  HAUSKEEPING AND RETURN
039593,000457: 
039594,000458: 30,3460           31645        TCQCDUW            CA       ECDUWUSR                              
039595,000459: 30,3461           54003                           TS       EBANK                                 #  RETURN USER'S EBANK
039596,000460: 
039597,000461: 30,3462           06042                           TC       INTPRET                               
039598,000462: 30,3463           52001                           SETPD    GOTO                                  
039599,000463: 30,3464           00001                                    0                                     
039600,000464: 30,3465           03246                                    QCDUWUSR                              #  NORMAL AND ABNORMAL RETURN TO USER
039601,000465: 

Page 911

039603,000467:                                                                                                  #  THRUST VECTOR FILTER SUBROUTINE
039604,000468: 
039605,000469: 30,3466           00006        FLTRSUB            EXTEND                                         
039606,000470: 30,3467           22142                           QXCH     TEM2                                  
039607,000471: 30,3470           54143                           TS       TEM3                                  #  SAVE ORIGINAL OFFSET
039608,000472: 30,3471           40000                           COM                                            #  ONE MCT, NO WDS, CAN BE SAVED IF NEG OF
039609,000473: 30,3472           60001                           AD       L                                     #       ORIG OFFSET ARRIVES IN A, BUT IT'S
039610,000474: 30,3473           00006                           EXTEND                                         #       NOT WORTH THE INCREASED OBSCURITY.
039611,000475: 30,3474           51647                           INDEX    NDXCDUW                               
039612,000476: 30,3475           73745                           MP       GAINFLTR                              
039613,000477: 30,3476           54001                           TS       L                                     #  INCR TO OFFSET, UNLIMITED
039614,000478: 30,3477           33747                           CA       DUNFVLIM                              #  SAME LIMIT FOR Y AND Z
039615,000479: 30,3500           03712                           TC       LIMITSUB                              #  YIELDS INCR TO OFFSET, LIMITED
039616,000480: 30,3501           60143                           AD       TEM3                                  #  ORIGINAL OFFSET
039617,000481: 30,3502           54001                           TS       L                                     #  TOTAL OFFSET, UNLIMITED
039618,000482: 30,3503           33750                           CA       UNFVLIM                               #  SAME LIMIT FOR Y AND Z
039619,000483: 30,3504           03712                           TC       LIMITSUB                              #  YIELDS TOTAL OFFSET, LIMITED
039620,000484: 30,3505           00142                           TC       TEM2                                  
039621,000485: 
039622,000486:                                                                                                  #  SUBR TO TEST THE ANGLE BETWEEN THE PROPOSED WINDOW AND THRUST CMD VCTS
039623,000487: 
039624,000488: 30,3506           63441        UNWCTEST           DOT      DSQ                                   
039625,000489: 30,3507           00001                                    UNX/2                                 
039626,000490: 30,3510           50025                           DSU      BMN                                   
039627,000491: 30,3511           21752                                    DOTSWFMX                              
039628,000492: 30,3512           61213                                    DCMCL                                 
039629,000493: 30,3513           43531                           SSP      RVQ                                   #  RVQ FOR ALT CHOICE IF DOT MAGN TOO LARGE
039630,000494: 30,3514           03251                                    FLAGOODW                              #       ZEROING WINDOW GOOD FLAG
039631,000495: 30,3515           00000                                    0                                     
039632,000496: 

Page 912

039634,000498:                                                                                                  #  NB2CDUSP RETURNS THE 2'S COMPLEMENT, PI, SP CDU ANGLES X,Y,Z IN MPAC,+1,+2 GIVEN THE MATRIX WHOSE ROW VECTORS
039635,000499:                                                                                                  #  ARE THE SEMI-UNIT NAV BASE VECTORS X,Y,Z EXPRESSED IN STABLE MEMBER COORDINATES, LOCATED AT 0 IN THE PUSH LIST.
039636,000500: 
039637,000501:                                                                                                  #  NB2CDUSP USES ARCTRGSP WHICH HAS A MAXIMUM ERROR OF +-4 BITS.
039638,000502: 
039639,000503: 30,3516           63545        NB2CDUSP           DLOAD    DSQ                                   
039640,000504: 30,3517           00003                                    2                                     
039641,000505: 30,3520           51021                           BDSU     BPL                                   
039642,000506: 30,3521           06510                                    DP1/4TH                               
039643,000507: 30,3522           61525                                    +3                                    
039644,000508: 30,3523           77745                           DLOAD                                          
039645,000509: 30,3524           06520                                    ZEROVECS                              #  IN CASE SIN WAS SLIGHTLY > 1/2
039646,000510: 30,3525           77566                           SQRT     EXIT                                  #  YIELDS COS(CDUZ) IN UNITS OF 2
039647,000511: 
039648,000512: 30,3526           00006                           EXTEND                                         
039649,000513: 30,3527           30155                           DCA      MPAC                                  
039650,000514: 30,3530           20001                           DDOUBL                                         
039651,000515: 30,3531           54145                           TS       TEM5                                  
039652,000516: 30,3532           13535                           TCF      +3                                    
039653,000517: 30,3533           34733                           CA       POSMAX                                #  OVERFLOW. FETCH POSMAX, MPAC ALWAYS POS
039654,000518: 30,3534           54145                           TS       TEM5                                  #  COS(CDUZ) IN TEM5, UNITS 1
039655,000519: 
039656,000520: 30,3535           50120                           INDEX    FIXLOC                                
039657,000521: 30,3536           30002                           CA       2                                     
039658,000522: 30,3537           22154                           LXCH     MPAC                                  
039659,000523: 30,3540           03605                           TC       ARCTRGSP                              
039660,000524: 30,3541           54156                           TS       MPAC       +2                         #  CDUZ
039661,000525: 
039662,000526: 30,3542           34755                           CA       ZERO                                  
039663,000527: 30,3543           03563                           TC       DVBYCOSM                              
039664,000528: 30,3544           34751                           CA       FOUR                                  
039665,000529: 30,3545           03563                           TC       DVBYCOSM                              
039666,000530: 30,3546           40141                           CS       TEM1                                  
039667,000531: 30,3547           03605                           TC       ARCTRGSP                              
039668,000532: 30,3550           54155                           TS       MPAC       +1                         #  CDUY
039669,000533: 
039670,000534: 30,3551           34750                           CA       BIT4                                  
039671,000535: 30,3552           03563                           TC       DVBYCOSM                              
039672,000536: 30,3553           33562                           CA       16OCT                                 
039673,000537: 30,3554           03563                           TC       DVBYCOSM                              
039674,000538: 30,3555           40141                           CS       TEM1                                  
039675,000539: 30,3556           03605                           TC       ARCTRGSP                              
039676,000540: 30,3557           54154                           TS       MPAC                                  #  CDUX
039677,000541: 
039678,000542: 30,3560           06042                           TC       INTPRET                               
039679,000543: 30,3561           77616                           RVQ                                            
039680,000544: 
039681,000545: 30,3562           00016        16OCT              OCT      16                                    
039682,000546: 

Page 913

039684,000548:                                                                                                  #  THE ELEMENTS OF THE NAV BASE MATRIX WHICH WE MUST DIVIDE BY COS(MGA)
039685,000549:                                                                                                  #  ALREADY CONTAIN COS(MGA)/2 AS A FACTOR.  THEREFORE THE QUOTIENT SHOULD
039686,000550:                                                                                                  #  ORDINARILY NEVER EXCEED 1/2 IN MAGNITUDE.  BUT IF THE MGA IS NEAR PI/2
039687,000551:                                                                                                  #  THEN COS(MGA) IS NEAR ZERO, AND THERE MAY BE SOME CHAFF IN THE OTHER
039688,000552:                                                                                                  #  ELEMENTS OF THE MATRIX WHICH WOULD PRODUCE CHAOS UNDER DIVISION.
039689,000553:                                                                                                  #  BEFORE DIVIDING WE MAKE SURE COS(MGA) IS AT LEAST ONE BIT LARGER
039690,000554:                                                                                                  #  THAN THE MAGNITUDE OF THE HIGH ORDER PART OF THE OPERAND.
039691,000555: 
039692,000556:                                                                                                  #  IF ONE OR MORE DIVIDES CANNOT BE PERFORMED, THIS MEANS THAT THE
039693,000557:                                                                                                  #  REQUIRED MGA IS VERY NEARLY +-PI/2 AND THEREFORE THE OTHER GIMBAL
039694,000558:                                                                                                  #  ANGLES ARE INDETERMINATE.  THE INNER AND OUTER GIMBAL ANGLES RETURNED
039695,000559:                                                                                                  #  IN THIS CASE WILL BE RANDOM MULTIPLES OF PI/2.
039696,000560: 
039697,000561: 30,3563           60120        DVBYCOSM           AD       FIXLOC                                
039698,000562: 30,3564           54116                           TS       ADDRWD                                #  ADRES OF OPERAND
039699,000563: 
039700,000564: 30,3565           50116                           INDEX    ADDRWD                                #  FETCH NEG ABS OF OPERAND, AD TEM5, AND
039701,000565: 30,3566           30000                           CA       0                                     #      SKIP DIVIDE IF RESULT NEG OR ZERO
039702,000566: 30,3567           00006                           EXTEND                                         
039703,000567: 30,3570           63572                           BZMF     +2                                    
039704,000568: 30,3571           40000                           COM                                            
039705,000569: 30,3572           60145                           AD       TEM5                                  #  C(A) ZERO OR NEG, C(TEM5) ZERO OR POS
039706,000570: 30,3573           00006                           EXTEND                                         
039707,000571: 30,3574           63602                           BZMF     TSL&TCQ                               #  DIFFERENCE ALWAYS SMALL IF BRANCH
039708,000572: 
039709,000573: 30,3575           00006                           EXTEND                                         #  TEM5 EXCEEDS ABS HIGH ORDER PART OF
039710,000574: 30,3576           50116                           INDEX    ADDRWD                                #       OPERAND BY AT LEAST ONE BIT.
039711,000575: 30,3577           30001                           DCA      0                                     #       THEREFORE IT EXCEEDS THE DP OPERAND
039712,000576: 30,3600           00006                           EXTEND                                         #       AND DIVISION WILL ALWAYS SUCCEED.
039713,000577: 30,3601           10145                           DV       TEM5                                  
039714,000578: 30,3602           54001        TSL&TCQ            TS       L                                     
039715,000579: 30,3603           22141                           LXCH     TEM1                                  
039716,000580: 30,3604           00002                           TC       Q                                     
039717,000581: 

Page 914

039719,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
039720,000584:                                                                                                  #  UNITS OF 2.  THE RESULT IS AN UNAMBIGUOUS ANGLE ANYWHERE IN THE CIRCLE, WITH A MAXIMUM ERROR OF +-4 BITS.
039721,000585:                                                                                                  #  THE ERROR IS PRODUCED BY THE SUBROUTINE SPARCSIN WHICH IS USED ONLY IN THE REGION +-45 DEGREES.
039722,000586: 
039723,000587: 30,3605           00006        ARCTRGSP           EXTEND                                         
039724,000588: 30,3606           13650                           BZF      SINZERO                               #  TO AVOID DIVIDING BY ZERO
039725,000589: 
039726,000590: 30,3607           00006                           EXTEND                                         
039727,000591: 30,3610           22144                           QXCH     TEM4                                  
039728,000592: 30,3611           54142                           TS       TEM2                                  
039729,000593: 30,3612           30001                           CA       L                                     
039730,000594: 30,3613           54143                           TS       TEM3                                  
039731,000595: 30,3614           34755                           CA       ZERO                                  
039732,000596: 30,3615           00006                           EXTEND                                         
039733,000597: 30,3616           10142                           DV       TEM2                                  
039734,000598: 30,3617           00006                           EXTEND                                         
039735,000599: 30,3620           13637                           BZF      USECOS                                
039736,000600: 
039737,000601: 30,3621           10143                           CCS      TEM3                                  #  SIN IS SMALLER OR EQUAL
039738,000602: 30,3622           34755                           CA       ZERO                                  
039739,000603: 30,3623           13627                           TCF      +4                                    
039740,000604: 30,3624           40142                           CS       TEM2                                  #  IF COS NEG, REVERSE SIGN OF SIN,
039741,000605: 30,3625           54142                           TS       TEM2                                  #       ANGLE = PI-ARCSIN(SIN)
039742,000606: 30,3626           34735                           CA       NEGMAX                                #  PICK UP PI, 2'S COMPLEMENT
039743,000607: 30,3627           54143                           TS       TEM3                                  #  WE NO LONGER NEED COS
039744,000608: 30,3630           30142                           CA       TEM2                                  
039745,000609: 30,3631           03655                           TC       SPARCSIN   -1                         
039746,000610: 30,3632           03726                           TC       ONESTO2S                              
039747,000611: 30,3633           00006                           EXTEND                                         
039748,000612: 30,3634           20143                           MSU      TEM3                                  
039749,000613: 30,3635           03726        1TO2&TCQ           TC       ONESTO2S                              
039750,000614: 30,3636           00144                           TC       TEM4                                  
039751,000615: 
039752,000616: 30,3637           40143        USECOS             CS       TEM3                                  #  COS IS SMALLER
039753,000617: 30,3640           03655                           TC       SPARCSIN   -1                         #  ANGLE = SIGN(SIN)(PI/2-ARCSIN(COS))
039754,000618: 30,3641           64736                           AD       HALF                                  
039755,000619: 30,3642           54143                           TS       TEM3                                  #  WE NO LONGER NEED COS
039756,000620: 30,3643           10142                           CCS      TEM2                                  
039757,000621: 30,3644           30143                           CA       TEM3                                  
039758,000622: 30,3645           13635                           TCF      1TO2&TCQ                              
039759,000623: 30,3646           40143                           CS       TEM3                                  
039760,000624: 30,3647           13635                           TCF      1TO2&TCQ                              
039761,000625: 
039762,000626: 30,3650           10001        SINZERO            CCS      L                                     
039763,000627: 30,3651           34755                           CA       ZERO                                  
039764,000628: 30,3652           00002                           TC       Q                                     
039765,000629: 30,3653           34735                           CA       NEGMAX                                #  PI, 2'S COMP
039766,000630: 30,3654           00002                           TC       Q                                     
039767,000631: 

Page 915

039769,000633:                                                                                                  #  SPARCSIN TAKES AN ARGUMENT SCALED UNITY IN A AND RETURNS AN ANGLE SCALED
039770,000634:                                                                                                  #  180 DEGREES IN A.  IT HAS BEEN UNIT TESTED IN THE REGION +-.94 (+- 70
039771,000635:                                                                                                  #  DEGREES) AND THE MAXIMUM ERROR IS +-5 BITS WITH AN AVERAGE TIME OF
039772,000636:                                                                                                  #  450 MICROSECONDS.  SPARCSIN -1 TAKES THE ARGUMENT SCALED TWO.(BOB CRISP)
039773,000637: 
039774,000638: 30,3655           60000                           DOUBLE                                         
039775,000639: 30,3656           54021        SPARCSIN           TS       SR                                    
039776,000640: 30,3657           13663                           TCF      +4                                    
039777,000641: 30,3660           50000                           INDEX    A                                     
039778,000642: 30,3661           44734                           CS       LIMITS                                
039779,000643: 30,3662           54021                           TS       SR                                    
039780,000644: 30,3663           00006                           EXTEND                                         
039781,000645: 30,3664           70000                           MP       A                                     
039782,000646: 30,3665           54141                           TS       TEM1                                  
039783,000647: 30,3666           00006                           EXTEND                                         
039784,000648: 30,3667           73711                           MP       DPL9                                  
039785,000649: 30,3670           63710                           AD       DPL7                                  
039786,000650: 30,3671           00006                           EXTEND                                         
039787,000651: 30,3672           70141                           MP       TEM1                                  
039788,000652: 30,3673           63707                           AD       DPL5                                  
039789,000653: 30,3674           00006                           EXTEND                                         
039790,000654: 30,3675           70141                           MP       TEM1                                  
039791,000655: 30,3676           63706                           AD       DPL3                                  
039792,000656: 30,3677           00006                           EXTEND                                         
039793,000657: 30,3700           70141                           MP       TEM1                                  
039794,000658: 30,3701           63705                           AD       DPL1                                  
039795,000659: 30,3702           00006                           EXTEND                                         
039796,000660: 30,3703           70021                           MP       SR                                    
039797,000661: 30,3704           00002                           TC       Q                                     
039798,000662: 30,3705           24406        DPL1               DEC      10502      B-14                       
039799,000663: 30,3706           00660        DPL3               DEC      432        B-14                       
039800,000664: 30,3707           16204        DPL5               DEC      7300       B-14                       
039801,000665: 30,3710           50744        DPL7               DEC      -11803     B-14                       
039802,000666: 30,3711           20315        DPL9               DEC      8397       B-14                       
039803,000667: 

Page 916

039805,000669:                                                                                                  #  LIMITSUB LIMITS THE MAGNITUDE OF THE POSITIVE OR NEGATIVE VARIABLE
039806,000670:                                                                                                  #  ARRIVING IN L TO THE POSITIVE LIMIT ARRIVING IN A.
039807,000671:                                                                                                  #  THE SIGNED LIMITED VARIABLE IS RETURNED IN A.
039808,000672: 
039809,000673:                                                                                                  #  VERSION COURTESY HUGH BLAIR-SMITH
039810,000674: 
039811,000675: 30,3712           54141        LIMITSUB           TS       TEM1                                  
039812,000676: 30,3713           34755                           CA       ZERO                                  
039813,000677: 30,3714           00006                           EXTEND                                         
039814,000678: 30,3715           10141                           DV       TEM1                                  
039815,000679: 30,3716           10000                           CCS      A                                     
039816,000680: 30,3717           22141                           LXCH     TEM1                                  
039817,000681: 30,3720           13722                           TCF      +2                                    
039818,000682: 30,3721           13724                           TCF      +3                                    
039819,000683: 30,3722           30001                           CA       L                                     
039820,000684: 30,3723           00002                           TC       Q                                     
039821,000685: 30,3724           40141                           CS       TEM1                                  
039822,000686: 30,3725           00002                           TC       Q                                     
039823,000687: 
039824,000688:                                                                                                  #  SUBROUTINE TO CONVERT 1'S COMP SP TO 2'S COMP
039825,000689: 
039826,000690: 30,3726           10000        ONESTO2S           CCS      A                                     
039827,000691: 30,3727           64753                           AD       ONE                                   
039828,000692: 30,3730           00002                           TC       Q                                     
039829,000693: 30,3731           40000                           CS       A                                     
039830,000694: 30,3732           00002                           TC       Q                                     
039831,000695: 
039832,000696:                                                                                                  #  NO ATTITUDE CONTROL
039833,000697: 
039834,000698: 30,3733           05600        NOATTCNT           TC       ALARM                                 
039835,000699: 30,3734           00402                           OCT      00402                                 #  NO ATTITUDE CONTROL
039836,000700: 
039837,000701: 30,3735           00004                 +2        INHINT                                         #  COME HERE FOR NOATTCNT WITHOUT ALARM
039838,000702: 30,3736           04674                           TC       IBNKCALL                              #  RELINT AT TC INTPRET AFTER TCQCDUW
039839,000703: 30,3737           40166                           FCADR    STOPRATE                              
039840,000704: 30,3740           13460                           TCF      TCQCDUW                               #  RETURN TO USER SKIPPING AUTOPILOT CMDS
039841,000705: 
039842,000706:                                                                                                  #  MIDDLE GIMBAL ANGLE ALARM
039843,000707: 
039844,000708: 30,3741           05600        ALARMMGA           TC       ALARM                                 
039845,000709: 30,3742           00401                           OCT      00401                                 
039846,000710: 30,3743           13260                           TCF      MGARET                                
039847,000711: 

Page 917

039849,000713:                                                                                                  #  ************************************************************************
039850,000714:                                                                                                  #  CONSTANTS
039851,000715:                                                                                                  #  ************************************************************************
039852,000716: 
039853,000717:                                                                                                  #  ADDRESS CONSTANTS
039854,000718: 
039855,000719: 30,3744           03245        ECDUWL             ECADR    ECDUW                                 
039856,000720: 
039857,000721:                                                                                                  #  THRUST DIRECTION FILTER CONSTANTS
039858,000722: 
039859,000723: 30,3745           06315        GAINFLTR           DEC      .2                                    #  GAIN FILTER SANS CSM
039860,000724: 30,3746           03146                           DEC      .1                                    #  GAIN FILTER WITH CSM
039861,000725: 
039862,000726: 30,3747           00071        DUNFVLIM           DEC      .007       B-1                        #  7 MR MAX CHG IN F DIR IN VEH IN 2 SECS.
039863,000727:                                                                                                  #  THIS DOES NOT ALLOW FOR S/C ROT RATE.
039864,000728: 
039865,000729: 30,3750           02041        UNFVLIM            DEC      .129       B-1                        #  129 MR MAX THRUST OFFSET. 105 MR TRAVEL
039866,000730:                                                                                                  #  +10MR DEFL+5MR MECH MOUNT+9MR ABLATION.
039867,000731: 
039868,000732:                                                                                                  #  CONSTANTS RELATED TO GIMBAL ANGLE COMPUTATIONS
039869,000733: 
039870,000734: 30,3751           01673        DOTSWFMX           DEC      .93302     B-4                        #  LIM COLNRTY OF UNWC/2 & UNFC/2 TO 85 DEG
039871,000735:                                                                                                  #  LOWER PART COMES FROM NEXT CONSTANT
039872,000736: 
039873,000737: 30,3752           03434        DAXMAX             DEC      .11111111111                            #  DELATTX LIM TO 20 DEG IN 2 SECS, 1'S, PI
039874,000738: 30,3753           00266                           DEC      .0111111111                            #  2 DEG WHEN CSM DOCKED
039875,000739: 
039876,000740: 30,3754           01616        DAY/2MAX           DEC      .05555555555                            #  LIKEWISE FOR DELATTY
039877,000741: 30,3755           00133                           DEC      .0055555555                            
039878,000742: 
039879,000743: 30,3756  30,3752               DAZMAX             =        DAXMAX                                #  LIKEWISE FOR DELATTZ
039880,000744: 
039881,000745: 30,3756           14344        CDUZDLIM           DEC      .3888888888                            #  70 DEG LIMIT FOR MGA, 1'S, PI
039882,000746: 
039883,000747:                                                                                                  #  CONSTANTS FOR DATA TRANSFER
039884,000748: 
039885,000749: 30,3757           01463        DT/DELT            DEC      .05                                   #  .1 SEC/2 SEC WHICH IS THE AUTOPILOT
039886,000750:                                                                                                  #  CONTROL SAMPLE PERIOD/COMPUTATION PERIOD
039887,000751: 
039888,000752: 30,3760  30,3754               DELERLIM           =        DAY/2MAX                              #  10 DEG LIMIT FOR LAG ANGLES, 1'S, PI
039889,000753: 

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