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.

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

Page 899

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

Page 900

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

Page 901

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

Page 902

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

Page 903

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

Page 904

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

Page 905

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

Page 906

039432,000306: 30,3307           10142                           CCS      TEM2                                  
039433,000307: 30,3310           13263                           TCF      DELGMBLP                              
039434,000308: 

Page 907

039436,000310:                                                                                                  #  BRANCHES TO NOATTCNT
039437,000311: 
039438,000312: 30,3311           11651                           CCS      FLPAUTNO                              
039439,000313: 30,3312           13735                           TCF      NOATTCNT   +2                         #  NOT PNGCS AUTO
039440,000314: 
039441,000315: 30,3313           30101                           CA       FLAGWRD5                              
039442,000316: 30,3314           74745                           MASK     ENGONBIT                              
039443,000317: 30,3315           00006                           EXTEND                                         
039444,000318: 30,3316           13735                           BZF      NOATTCNT   +2                         #  ENGINE NOT ON
039445,000319: 

Page 908

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

Page 909

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

Page 910

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

Page 911

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

Page 912

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

Page 913

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

Page 914

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

Page 915

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

Page 916

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

Page 917

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

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