Source Code

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

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

Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

055646,000002:                                                                                                  ## Copyright:   Public domain.
055647,000003:                                                                                                  ## Filename:    IMU_MODE_SWITCHING_ROUTINES.agc
055648,000004:                                                                                                  ## Purpose:     A section of Luminary revision 178.
055649,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
055650,000006:                                                                                                  ##              release of the flight software for the Lunar Module's
055651,000007:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 14. The
055652,000008:                                                                                                  ##              code has been recreated from copies of Zerlina 56, Luminary
055653,000009:                                                                                                  ##              210, and Luminary 131, as well as many Luminary memos.
055654,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
055655,000011:                                                                                                  ##              exactly match those specified for Luminary 178 in NASA
055656,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
055657,000013:                                                                                                  ##              that the reconstruction is correct.
055658,000014:                                                                                                  ## Reference:   pp. 1298-1326
055659,000015:                                                                                                  ## Assembler:   yaYUL
055660,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
055661,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
055662,000018:                                                                                                  ## Mod history: 2019-08-14 MAS  Created from Zerlina 56.
055663,000019:                                                                                                  ##              2019-09-15 MAS  Removed DONTPULS, COARSTST, and CAGETSTG,
055664,000020:                                                                                                  ##                              which were added in Luminary 183.
055665,000021: 

Page 1298

055667,000023:    5470                                           BLOCK    02                                    
055668,000024:    4000                                           SETLOC   FFTAG3                                
055669,000025:    4000                                           BANK                                           
055670,000026: 
055671,000027:    5470  E3,1471                                  EBANK=   COMMAND                               
055672,000028: 
055673,000029:                                                                                                  #           FIXED-FIXED ROUTINES.
055674,000030: 
055675,000031:    5470                                           COUNT*   $$/IMODE                              
055676,000032:    5470           34755        ZEROICDU           CAF      ZERO                                  #  ZERO ICDU COUNTERS.
055677,000033:    5471           54032                           TS       CDUX                                  
055678,000034:    5472           54033                           TS       CDUY                                  
055679,000035:    5473           54034                           TS       CDUZ                                  
055680,000036:    5474           00002                           TC       Q                                     
055681,000037: 
055682,000038:    5475     4743               SPSCODE            =        BIT9                                  
055683,000039: 

Page 1299

055685,000041:                                                                                                  #           IMU ZEROING ROUTINE.
055686,000042: 
055687,000043: 11,3774                                           BANK     11                                    
055688,000044: 07,2000                                           SETLOC   MODESW                                
055689,000045: 07,2000                                           BANK                                           
055690,000046: 
055691,000047: 07,2700                                           COUNT*   $$/IMODE                              
055692,000048: 07,2700           00004        IMUZERO            INHINT                                         #  ROUTINE TO ZERO ICDUS.
055693,000049: 07,2701           41035                           CS       DSPTAB     +11D                       #  DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
055694,000050: 07,2702           74771                           MASK     BITS4&6                               #  COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
055695,000051: 07,2703           10000                           CCS      A                                     
055696,000052: 07,2704           12710                           TCF      IMUZEROA                              
055697,000053: 
055698,000054: 07,2705           05600                           TC       ALARM                                 #  IF SO.
055699,000055: 07,2706           00206                           OCT      00206                                 
055700,000056: 
055701,000057: 07,2707           13663                           TCF      CAGETSTJ   +4                         #  IMMEDIATE FAILURE.
055702,000058: 
055703,000059: 07,2710           03657        IMUZEROA           TC       CAGETSTJ                              
055704,000060:                                                                                                  #           DELETE
055705,000061: 07,2711           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055706,000062: 07,2712           74773                           MASK     SUPER011                              #      BIT5 FOR GROUND
055707,000063: 07,2713           27300                           ADS      IMODES33                              
055708,000064: 
055709,000065: 07,2714           41277                           CS       IMODES30                              #  INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
055710,000066: 07,2715           75752                           MASK     BITS3&4                               #  JUST CAME OUT OF COARSE ALIGN).
055711,000067: 07,2716           27277                           ADS      IMODES30                              
055712,000068: 
055713,000069: 07,2717           44771                           CS       BITS4&6                               #  SEND ZERO ENCODE WITH COARSE AND ERROR
055714,000070: 07,2720           00006                           EXTEND                                         #  COUNTER DISABLED.
055715,000071: 07,2721           03012                           WAND     CHAN12                                
055716,000072: 
055717,000073: 07,2722           03252                           TC       NOATTOFF                              #  TURN OFF NO ATT LAMP.
055718,000074: 
055719,000075: 07,2723           34747                           CAF      BIT5                                  
055720,000076: 07,2724           00006                           EXTEND                                         
055721,000077: 07,2725           05012                           WOR      CHAN12                                
055722,000078: 
055723,000079: 07,2726           05470                           TC       ZEROICDU                              
055724,000080: 07,2727           34746                           CAF      BIT6                                  #  WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
055725,000081: 07,2730           05214                           TC       WAITLIST                              #  RECEIVE ITS PULSE TRAIN.
055726,000082: 07,2731  E3,1474                                  EBANK=   CDUIND                                
055727,000083: 07,2731           02743 16103                     2CADR    IMUZERO2                              
055728,000084: 
055729,000085: 
055730,000086: 07,2733           41277                           CS       IMODES30                              #  SEE IF IMU OPERATING AND ALARM IF NOT.
055731,000087: 07,2734           74743                           MASK     BIT9                                  
055732,000088: 07,2735           10000                           CCS      A                                     
055733,000089: 07,2736           12741                           TCF      MODEEXIT                              

Page 1300

055735,000091: 07,2737           05600                           TC       ALARM                                 
055736,000092: 07,2740           00210                           OCT      210                                   
055737,000093: 
055738,000094: 07,2741           00003        MODEEXIT           RELINT                                         #  GENERAL MODE-SWITCHING EXIT.
055739,000095: 07,2742           14631                           TCF      SWRETURN                              
055740,000096: 
055741,000097: 
055742,000098: 07,2743           03645        IMUZERO2           TC       CAGETEST                              
055743,000099: 07,2744           05470                           TC       ZEROICDU                              #  ZERO CDUX, CDUY, CDUZ
055744,000100: 
055745,000101: 07,2745           44747                           CS       BIT5                                  #  REMOVE ZERO DISCRETE.
055746,000102: 07,2746           00006                           EXTEND                                         
055747,000103: 07,2747           03012                           WAND     CHAN12                                
055748,000104: 
055749,000105: 07,2750           34741                           CAF      BIT11                                 #  WAIT 10 SECS FOR CTRS TO FIND GIMBALS
055750,000106: 07,2751           05235                           TC       VARDELAY                              
055751,000107: 
055752,000108: 07,2752           03645        IMUZERO3           TC       CAGETEST                              
055753,000109: 07,2753           45752                           CS       BITS3&4                               #  REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
055754,000110: 07,2754           71277                           MASK     IMODES30                              
055755,000111: 07,2755           55277                           TS       IMODES30                              
055756,000112: 
055757,000113: 07,2756           44773                           CS       SUPER011                              #  ENABLE DAP AUTO AND HOLD MODES
055758,000114: 07,2757           71300                           MASK     IMODES33                              #      BIT5 FOR GROUND
055759,000115: 07,2760           55300                           TS       IMODES33                              
055760,000116: 
055761,000117: 07,2761           04674                           TC       IBNKCALL                              #  SET ISS WARNING IF EITHER OF ABOVE ARE
055762,000118: 07,2762           14703                           CADR     SETISSW                               #  PRESENT.
055763,000119: 
055764,000120: 07,2763           13635                           TCF      ENDIMU                                
055765,000121: 

Page 1301

055767,000123:                                                                                                  #           IMU COARSE ALIGN MODE.
055768,000124: 
055769,000125: 07,2764           00004        IMUCOARS           INHINT                                         
055770,000126: 07,2765           03657                           TC       CAGETSTJ                              
055771,000127: 07,2766           03130                           TC       SETCOARS                              
055772,000128: 
055773,000129: 07,2767           36245                           CAF      SIX                                   
055774,000130: 07,2770           05214                           TC       WAITLIST                              
055775,000131: 07,2771  E3,1474                                  EBANK=   CDUIND                                
055776,000132: 07,2771           02774 16103                     2CADR    COARS                                 
055777,000133: 
055778,000134: 
055779,000135: 07,2773           12741                           TCF      MODEEXIT                              
055780,000136: 
055781,000137: 07,2774           03645        COARS              TC       CAGETEST                              
055782,000138: 07,2775           34746                           CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055783,000139: 07,2776           00006                           EXTEND                                         
055784,000140: 07,2777           05012                           WOR      CHAN12                                
055785,000141: 
055786,000142: 07,3000           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055787,000143: 07,3001           55474        COARS1             TS       CDUIND                                
055788,000144: 
055789,000145: 07,3002           51474                           INDEX    CDUIND                                #  COMPUTE THETAD - THETAA IN 1:S
055790,000146: 07,3003           30321                           CA       THETAD                                #    COMPLEMENT FORM
055791,000147: 07,3004           00006                           EXTEND                                         
055792,000148: 07,3005           51474                           INDEX    CDUIND                                
055793,000149: 07,3006           20032                           MSU      CDUX                                  
055794,000150: 07,3007           00006                           EXTEND                                         
055795,000151: 07,3010           74737                           MP       BIT13                                 #  SHIFT RIGHT 2
055796,000152: 07,3011           56001                           XCH      L                                     #  ROUND
055797,000153: 07,3012           60000                           DOUBLE                                         
055798,000154: 07,3013           54061                           TS       ITEMP1                                
055799,000155: 07,3014           13016                           TCF      +2                                    
055800,000156: 07,3015           26001                           ADS      L                                     
055801,000157: 
055802,000158: 07,3016           51474                           INDEX    CDUIND                                #  DIFFERENCE TO BE COMPUTED
055803,000159: 07,3017           23471                           LXCH     COMMAND                               
055804,000160: 07,3020           11474                           CCS      CDUIND                                
055805,000161: 07,3021           03001                           TC       COARS1                                
055806,000162: 
055807,000163: 07,3022           34752                           CAF      TWO                                   #  MINIMUM OF 4 MS WAIT
055808,000164: 07,3023           05235                           TC       VARDELAY                              
055809,000165: 

Page 1302

055811,000167: 07,3024           03645        COARS2             TC       CAGETEST                              #  DONT CONTINUE IF CAGED.
055812,000168: 07,3025           54061                           TS       ITEMP1                                #  SETS TO +0.
055813,000169: 07,3026           34752                           CAF      TWO                                   #  SET CDU INDICATOR
055814,000170: 07,3027           55474                 +3        TS       CDUIND                                
055815,000171: 
055816,000172: 07,3030           51474                           INDEX    CDUIND                                
055817,000173: 07,3031           11471                           CCS      COMMAND                               #  NUMBER OF PULSES REQUIRED
055818,000174: 07,3032           03036                           TC       COMPOS                                #  GREATER THAN MAX ALLOWED
055819,000175: 07,3033           03045                           TC       NEXTCDU    +1                         
055820,000176: 07,3034           03103                           TC       COMNEG                                
055821,000177: 07,3035           03045                           TC       NEXTCDU    +1                         
055822,000178: 
055823,000179: 07,3036           63751        COMPOS             AD       -COMMAX                               #  COMMAX = MAX NUMBER OF PULSES ALLOWED
055824,000180: 07,3037           00006                           EXTEND                                         #    MINUS ONE
055825,000181: 07,3040           63113                           BZMF     COMZERO                               
055826,000182: 07,3041           51474                           INDEX    CDUIND                                
055827,000183: 07,3042           55471                           TS       COMMAND                               #  REDUCE COMMAND BY MAX NUMBER OF PULSES
055828,000184: 07,3043           43752                           CS       -COMMAX-                              #    ALLOWED
055829,000185: 
055830,000186: 07,3044           24061        NEXTCDU            INCR     ITEMP1                                
055831,000187: 07,3045           64754                           AD       NEG0                                  
055832,000188: 07,3046           51474                           INDEX    CDUIND                                
055833,000189: 07,3047           54050                           TS       CDUXCMD                               #  SET UP COMMAND REGISTER.
055834,000190: 
055835,000191: 07,3050           11474                           CCS      CDUIND                                
055836,000192: 07,3051           03027                           TC       COARS2     +3                         
055837,000193: 
055838,000194: 07,3052           10061                           CCS      ITEMP1                                #  SEE IF ANY PULSES TO GO OUT.
055839,000195: 07,3053           13117                           TCF      SENDPULS                              
055840,000196: 
055841,000197: 07,3054           05232                           TC       FIXDELAY                              #  WAIT FOR GIMBALS TO SETTLE.
055842,000198: 07,3055           00226                           DEC      150        B-14                       
055843,000199: 
055844,000200: 
055845,000201: 07,3056           34752                           CAF      TWO                                   #  AT END OF COMMAND, CHECK TO SEE THAT
055846,000202: 07,3057           54061        CHKCORS            TS       ITEMP1                                #  GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
055847,000203: 07,3060           50000                           INDEX    A                                     
055848,000204: 07,3061           30032                           CA       CDUX                                  
055849,000205: 07,3062           00006                           EXTEND                                         
055850,000206: 07,3063           50061                           INDEX    ITEMP1                                
055851,000207: 07,3064           20321                           MSU      THETAD                                
055852,000208: 07,3065           10000                           CCS      A                                     
055853,000209: 07,3066           13074                           TCF      COARSERR                              
055854,000210: 07,3067           13071                           TCF      CORSCHK2                              
055855,000211: 07,3070           13074                           TCF      COARSERR                              
055856,000212: 

Page 1303

055858,000214: 07,3071           10061        CORSCHK2           CCS      ITEMP1                                
055859,000215: 07,3072           13057                           TCF      CHKCORS                               
055860,000216: 07,3073           13635                           TCF      ENDIMU                                #  END OF COARSE ALIGNMENT.
055861,000217: 
055862,000218: 07,3074           63102        COARSERR           AD       COARSTOL                              #  2 DEGREES.
055863,000219: 07,3075           00006                           EXTEND                                         
055864,000220: 07,3076           63071                           BZMF     CORSCHK2                              
055865,000221: 
055866,000222: 07,3077           05600                           TC       ALARM                                 #  COARSE ALIGN ERROR.
055867,000223: 07,3100           00211                           OCT      211                                   
055868,000224: 
055869,000225: 07,3101           13643                           TCF      IMUBAD                                
055870,000226: 
055871,000227: 07,3102           77511        COARSTOL           DEC      -.01111                               #  2 DEGREES SCALED AT HALF-REVOLUTIONS
055872,000228: 
055873,000229: 
055874,000230: 07,3103           63751        COMNEG             AD       -COMMAX                               
055875,000231: 07,3104           00006                           EXTEND                                         
055876,000232: 07,3105           63113                           BZMF     COMZERO                               
055877,000233: 07,3106           40000                           COM                                            
055878,000234: 07,3107           51474                           INDEX    CDUIND                                
055879,000235: 07,3110           55471                           TS       COMMAND                               
055880,000236: 07,3111           33752                           CA       -COMMAX-                              
055881,000237: 07,3112           03044                           TC       NEXTCDU                               
055882,000238: 
055883,000239: 07,3113           34755        COMZERO            CAF      ZERO                                  
055884,000240: 07,3114           51474                           INDEX    CDUIND                                
055885,000241: 07,3115           57471                           XCH      COMMAND                               
055886,000242: 07,3116           03044                           TC       NEXTCDU                               
055887,000243: 
055888,000244: 
055889,000245: 07,3117           37743        SENDPULS           CAF      13,14,15                              
055890,000246: 07,3120           00006                           EXTEND                                         
055891,000247: 07,3121           05014                           WOR      CHAN14                                
055892,000248: 07,3122           33753                           CAF      600MS                                 
055893,000249: 07,3123           13023                           TCF      COARS2     -1                         #  THEN TO VARDELAY
055894,000250: 
055895,000251: 
055896,000252: 07,3124           34746        CA+ECE             CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
055897,000253: 07,3125           00006                           EXTEND                                         
055898,000254: 07,3126           05012                           WOR      CHAN12                                
055899,000255: 07,3127           05272                           TC       TASKOVER                              
055900,000256: 

Page 1304

055902,000258: 07,3130           34750        SETCOARS           CAF      BIT4                                  #  BYPASS IF ALREADY IN COARSE ALIGN
055903,000259: 07,3131           00006                           EXTEND                                         
055904,000260: 07,3132           02012                           RAND     CHAN12                                
055905,000261: 07,3133           10000                           CCS      A                                     
055906,000262: 07,3134           00002                           TC       Q                                     
055907,000263: 
055908,000264: 07,3135           44746                           CS       BIT6                                  #  CLEAR ISS ERROR COUNTERS
055909,000265: 07,3136           00006                           EXTEND                                         
055910,000266: 07,3137           03012                           WAND     CHAN12                                
055911,000267: 
055912,000268: 07,3140           44742                           CS       BIT10                                 #  KNOCK DOWN GYRO ACTIVITY
055913,000269: 07,3141           00006                           EXTEND                                         
055914,000270: 07,3142           03014                           WAND     CHAN14                                
055915,000271: 07,3143           44755                           CS       ZERO                                  
055916,000272: 07,3144           54047                           TS       GYROCMD                               
055917,000273: 
055918,000274: 07,3145           34750                           CAF      BIT4                                  #  PUT ISS IN COARSE ALIGN
055919,000275: 07,3146           00006                           EXTEND                                         
055920,000276: 07,3147           05012                           WOR      CHAN12                                
055921,000277: 
055922,000278: 07,3150           41035                           CS       DSPTAB     +11D                       #  TURN ON NO ATT LAMP
055923,000279: 07,3151           73173                           MASK     OCT40010                              
055924,000280: 07,3152           27035                           ADS      DSPTAB     +11D                       
055925,000281: 
055926,000282: 07,3153           41300                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
055927,000283: 07,3154           74746                           MASK     BIT6                                  
055928,000284: 07,3155           27300                           ADS      IMODES33                              
055929,000285: 
055930,000286: 07,3156           41277                           CS       IMODES30                              #  DISABLE IMUFAIL
055931,000287: 07,3157           74750                           MASK     BIT4                                  
055932,000288: 07,3160           27277                           ADS      IMODES30                              
055933,000289: 
055934,000290: 07,3161           44747        RNDREFDR           CS       TRACKBIT                              #  CLEAR TRACK FLAG
055935,000291: 07,3162           70075                           MASK     FLAGWRD1                              
055936,000292: 07,3163           54075                           TS       FLAGWRD1                              
055937,000293: 
055938,000294: 07,3164           44735                           CS       DRFTBIT                               #  CLEAR DRIFT FLAG
055939,000295: 07,3165           70076                           MASK     FLAGWRD2                              
055940,000296: 07,3166           54076                           TS       FLAGWRD2                              
055941,000297: 
055942,000298: 07,3167           44737                           CS       REFSMBIT                              #  CLEAR REFSMMAT FLAG
055943,000299: 07,3170           70077                           MASK     FLAGWRD3                              
055944,000300: 07,3171           54077                           TS       FLAGWRD3                              
055945,000301: 
055946,000302: 07,3172           00002                           TC       Q                                     
055947,000303: 
055948,000304: 07,3173           40010        OCT40010           OCT      40010                                 
055949,000305: 

Page 1305

055951,000307:                                                                                                  #           IMU FINE ALIGN MODE SWITCH.
055952,000308: 
055953,000309: 07,3174           00004        IMUFINE            INHINT                                         
055954,000310: 07,3175           03657                           TC       CAGETSTJ                              #  SEE IF IMU BEING CAGED.
055955,000311: 
055956,000312: 07,3176           43750                           CS       BITS4-5                               #  RESET ZERO AND COARSE
055957,000313: 07,3177           00006                           EXTEND                                         
055958,000314: 07,3200           03012                           WAND     CHAN12                                
055959,000315: 
055960,000316: 07,3201           44746                           CS       BIT6                                  #  INSURE DAP AUTO AND HOLD MODES ENABLED
055961,000317: 07,3202           71300                           MASK     IMODES33                              
055962,000318: 07,3203           55300                           TS       IMODES33                              
055963,000319: 
055964,000320: 07,3204           03252                           TC       NOATTOFF                              
055965,000321: 
055966,000322: 07,3205           34742                           CAF      BIT10                                 #  IMU FAIL WAS INHIBITED DURING THE
055967,000323: 07,3206           05214                           TC       WAITLIST                              #  PRESUMABLY PRECEDING COARSE ALIGN. LEAVE
055968,000324: 07,3207  E3,1474                                  EBANK=   CDUIND                                
055969,000325: 07,3207           03220 16103                     2CADR    IFAILOK                               #  IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
055970,000326: 
055971,000327: 
055972,000328: 07,3211           35000                           CAF      2SECS                                 
055973,000329: 07,3212           05214                           TC       WAITLIST                              
055974,000330: 07,3213  E3,1474                                  EBANK=   CDUIND                                
055975,000331: 07,3213           03216 16103                     2CADR    IMUFINED                              
055976,000332: 
055977,000333: 
055978,000334: 07,3215           12741                           TCF      MODEEXIT                              
055979,000335: 
055980,000336: 07,3216           03645        IMUFINED           TC       CAGETEST                              #  SEE THAT NO ONE HAS CAGED THE IMU.
055981,000337: 07,3217           13635                           TCF      ENDIMU                                
055982,000338: 

Page 1306

055984,000340: 07,3220           03652        IFAILOK            TC       CAGETSTQ                              #  ENABLE IMU FIAL UNLESS IMU BEING CAGED.
055985,000341: 07,3221           15272                           TCF      TASKOVER                              #  IT IS.
055986,000342: 
055987,000343: 07,3222           34750                           CAF      BIT4                                  #  DONT RESET IMU FAIL INHIBIT IF SOMEONE
055988,000344: 07,3223           00006                           EXTEND                                         #  HAS GONE INTO COARSE ALIGN.
055989,000345: 07,3224           02012                           RAND     CHAN12                                
055990,000346: 07,3225           10000                           CCS      A                                     
055991,000347: 07,3226           15272                           TCF      TASKOVER                              
055992,000348: 
055993,000349: 07,3227           41277                           CS       IMODES30                              #  RESET IMUFAIL.
055994,000350: 07,3230           74737                           MASK     BIT13                                 
055995,000351: 07,3231           27277                           ADS      IMODES30                              
055996,000352: 07,3232           44750                           CS       BIT4                                  
055997,000353: 07,3233           71277        PFAILOK2           MASK     IMODES30                              
055998,000354: 07,3234           55277                           TS       IMODES30                              
055999,000355: 07,3235           04674                           TC       IBNKCALL                              #  THE ISS WARNING LIGHT MAY COME ON NOW
056000,000356: 07,3236           14703                           CADR     SETISSW                               #  THAT THE INHIBIT HAS BEEN REMOVED.
056001,000357: 07,3237           15272                           TCF      TASKOVER                              
056002,000358: 
056003,000359: 07,3240           03652        PFAILOK            TC       CAGETSTQ                              #  ENABLE PIP FAIL PROG ALARM.
056004,000360: 07,3241           15272                           TCF      TASKOVER                              
056005,000361: 
056006,000362: 07,3242           41277                           CS       IMODES30                              #  RESET IMU AND PIPA FAIL BITS.
056007,000363: 07,3243           74742                           MASK     BIT10                                 
056008,000364: 07,3244           27277                           ADS      IMODES30                              
056009,000365: 
056010,000366: 07,3245           41300                           CS       IMODES33                              
056011,000367: 07,3246           74737                           MASK     BIT13                                 
056012,000368: 07,3247           27300                           ADS      IMODES33                              
056013,000369: 
056014,000370: 07,3250           44747                           CS       BIT5                                  
056015,000371: 07,3251           13233                           TCF      PFAILOK2                              
056016,000372: 
056017,000373: 07,3252           43173        NOATTOFF           CS       OCT40010                              #  SUBROUTINE TO TURN OFF NO ATT LAMP.
056018,000374: 07,3253           71035                           MASK     DSPTAB     +11D                       
056019,000375: 07,3254           64735                           AD       BIT15                                 
056020,000376: 07,3255           55035                           TS       DSPTAB     +11D                       
056021,000377: 07,3256           00002                           TC       Q                                     
056022,000378: 

Page 1307

056024,000380:                                                                                                  #           ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS. NO IMUSTALL REQUIRED IN EITHER CASE.
056025,000381: 
056026,000382: 07,3257           44755        PIPUSE             CS       ZERO                                  
056027,000383: 07,3260           54037                           TS       PIPAX                                 
056028,000384: 07,3261           54040                           TS       PIPAY                                 
056029,000385: 07,3262           54041                           TS       PIPAZ                                 
056030,000386: 
056031,000387: 07,3263           03652        PIPUSE1            TC       CAGETSTQ                              #  DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
056032,000388: 07,3264           14631                           TCF      SWRETURN                              
056033,000389: 
056034,000390: 07,3265           00004                           INHINT                                         
056035,000391: 07,3266           44753                           CS       BIT1                                  #  IF PIPA FAILS FROM NOW ON (UNTIL
056036,000392: 07,3267           71277                           MASK     IMODES30                              #  PIPFREE), LIGHT ISS WARNING.
056037,000393: 07,3270           55277                           TS       IMODES30                              
056038,000394: 
056039,000395: 07,3271           04674        PIPFREE2           TC       IBNKCALL                              #  ISS WARNING MIGHT COME ON NOW.
056040,000396: 07,3272           14703                           CADR     SETISSW                               #  (OR GO OFF ON PIPFREE).
056041,000397: 
056042,000398: 07,3273           12741                           TCF      MODEEXIT                              
056043,000399: 
056044,000400: 07,3274           00004        PIPFREE            INHINT                                         #  PROGRAM DONE WITH PIPAS. DONT LIGHT
056045,000401: 07,3275           41277                           CS       IMODES30                              #  ISS WARNING.
056046,000402: 07,3276           74753                           MASK     BIT1                                  
056047,000403: 07,3277           27277                           ADS      IMODES30                              
056048,000404: 
056049,000405: 07,3300           74742                           MASK     BIT10                                 #  IF PIP FAIL ON, DO PROG ALSRM AND RESET
056050,000406: 07,3301           10000                           CCS      A                                     #  ISS WARNING.
056051,000407: 07,3302           12741                           TCF      MODEEXIT                              
056052,000408: 
056053,000409: 07,3303           05600                           TC       ALARM                                 
056054,000410: 07,3304           00212                           OCT      212                                   
056055,000411: 
056056,000412: 07,3305           00004                           INHINT                                         
056057,000413: 
056058,000414: 07,3306           13271                           TCF      PIPFREE2                              
056059,000415: 

Page 1308

056061,000417:                                                                                                  #           THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
056062,000418:                                                                                                  #  BEGINNING AT THE ECADR ARRIVING IN A. THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE
056063,000419:                                                                                                  #  UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
056064,000420: 
056065,000421: 07,3307  E3,1400                                  EBANK=   1400                                  #  VARIABLE, ACTUALLY.
056066,000422: 
056067,000423: 07,3307           54161        IMUPULSE           TS       MPAC       +5                         #  SAVE ARRIVING ECADR.
056068,000424: 07,3310           03657                           TC       CAGETSTJ                              #  DONT PROCEED IF IMU BEING CAGED.
056069,000425: 
056070,000426: 07,3311           11311                           CCS      LGYRO                                 #  SEE IF GYROS BUSY.
056071,000427: 07,3312           03353                           TC       GYROBUSY                              #  SLEEP.
056072,000428: 
056073,000429: 07,3313           54156                           TS       MPAC       +2                         
056074,000430: 07,3314           34746                           CAF      BIT6                                  #  ENABLE THE POWER SUPPLY.
056075,000431: 07,3315           00006                           EXTEND                                         
056076,000432: 07,3316           05014                           WOR      CHAN14                                
056077,000433: 
056078,000434: 07,3317           34751                           CAF      FOUR                                  
056079,000435: 07,3320           05214        GWAKE2             TC       WAITLIST                              #  (IF A JOB WAS PUT TO SLEEP, THE POWER
056080,000436: 07,3321  E3,1474                                  EBANK=   CDUIND                                #  SUPPLY IS LEFT ON BY THE WAKING JOB).
056081,000437: 07,3321           03371 16103                     2CADR    STRTGYRO                              
056082,000438: 
056083,000439: 
056084,000440: 07,3323           30161                           CA       MPAC       +5                         #  SET UP EBANK, SAVING CALLER'S EBANK FOR
056085,000441: 07,3324           56003                           XCH      EBANK                                 #  RESTORATION ON RETURN.
056086,000442: 07,3325           56161                           XCH      MPAC       +5                         
056087,000443: 07,3326           55311                           TS       LGYRO                                 #  RESERVES GYROS.
056088,000444: 07,3327           74357                           MASK     LOW8                                  
056089,000445: 07,3330           54061                           TS       ITEMP1                                
056090,000446: 
056091,000447: 07,3331           34752                           CAF      TWO                                   #  FORCE SIGN AGREEMENT ON INPUTS.
056092,000448: 07,3332           54157        GYROAGRE           TS       MPAC       +3                         
056093,000449: 07,3333           60000                           DOUBLE                                         
056094,000450: 07,3334           60061                           AD       ITEMP1                                
056095,000451: 07,3335           54160                           TS       MPAC       +4                         
056096,000452: 07,3336           00006                           EXTEND                                         
056097,000453: 07,3337           50000                           INDEX    A                                     
056098,000454: 07,3340           31401                           DCA      1400                                  
056099,000455: 07,3341           52155                           DXCH     MPAC                                  
056100,000456: 07,3342           07262                           TC       TPAGREE                               
056101,000457: 07,3343           52155                           DXCH     MPAC                                  
056102,000458: 07,3344           50160                           INDEX    MPAC       +4                         
056103,000459: 07,3345           53401                           DXCH     1400                                  
056104,000460: 
056105,000461: 07,3346           10157                           CCS      MPAC       +3                         
056106,000462: 07,3347           13332                           TCF      GYROAGRE                              
056107,000463: 
056108,000464: 07,3350           30161                           CA       MPAC       +5                         #  RESTORE CALLER'S EBANK.
056109,000465: 07,3351           54003                           TS       EBANK                                 
056110,000466: 07,3352           12741                           TCF      MODEEXIT                              
056111,000467: 

Page 1309

056113,000469:                                                                                                  #           ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
056114,000470: 
056115,000471: 07,3353           00006        GYROBUSY           EXTEND                                         #  SAVE RETURN 2FCADR.
056116,000472: 07,3354           30134                           DCA      BUF2                                  
056117,000473: 07,3355           52155                           DXCH     MPAC                                  
056118,000474: 07,3356           33370        REGSLEEP           CAF      LGWAKE                                
056119,000475: 07,3357           15133                           TCF      JOBSLEEP                              
056120,000476: 
056121,000477: 07,3360           11311        GWAKE              CCS      LGYRO                                 #  WHEN AWAKENED, SEE IF GYROS STILL BUSY.
056122,000478: 07,3361           13356                           TCF      REGSLEEP                              #  IF SO, SLEEP SOME MORE.
056123,000479: 
056124,000480: 07,3362           54156                           TS       MPAC       +2                         
056125,000481: 07,3363           00006                           EXTEND                                         
056126,000482: 07,3364           30155                           DCA      MPAC                                  
056127,000483: 07,3365           52134                           DXCH     BUF2                                  #  RESTORE SWRETURN INFO.
056128,000484: 07,3366           34753                           CAF      ONE                                   
056129,000485: 07,3367           13320                           TCF      GWAKE2                                
056130,000486: 
056131,000487: 07,3370           17360        LGWAKE             CADR     GWAKE                                 
056132,000488: 

Page 1310

056134,000490:                                                                                                  #           GYRO-TORQUING WAITLIST TASKS.
056135,000491: 
056136,000492: 07,3371           43632        STRTGYRO           CS       GDESELCT                              #  DE-SELECT LAST GYRO.
056137,000493: 07,3372           00006                           EXTEND                                         
056138,000494: 07,3373           03014                           WAND     CHAN14                                
056139,000495: 
056140,000496: 07,3374           03645                           TC       CAGETEST                              
056141,000497: 
056142,000498: 07,3375           31311        STRTGYR2           CA       LGYRO                                 #  JUMP ON PHASE COUNTER IN BITS 13-14.
056143,000499: 07,3376           00006                           EXTEND                                         
056144,000500: 07,3377           74750                           MP       BIT4                                  
056145,000501: 07,3400           50000                           INDEX    A                                     
056146,000502: 07,3401           13402                           TCF      +1                                    
056147,000503: 07,3402           03417                           TC       GSELECT                               #  =0. DO Y GYRO.
056148,000504: 07,3403           00202                           OCT      00202                                 
056149,000505: 
056150,000506: 07,3404           03417                           TC       GSELECT                               #  =1. DO Z GYRO.
056151,000507: 07,3405           00302                           OCT      00302                                 
056152,000508: 
056153,000509: 07,3406           03415                           TC       GSELECT    -2                         #  =2. DO X GYRO.
056154,000510: 07,3407           00100                           OCT      00100                                 
056155,000511: 
056156,000512: 07,3410           34755                           CAF      ZERO                                  #  =3. DONE
056157,000513: 07,3411           55311                           TS       LGYRO                                 
056158,000514: 07,3412           33370                           CAF      LGWAKE                                #  WAKE A POSSIBLE SLEEPING JOB.
056159,000515: 07,3413           05137                           TC       JOBWAKE                               
056160,000516: 
056161,000517: 07,3414           13216        NORESET            TCF      IMUFINED                              #  DO NOT RESET POWER SUPPLY
056162,000518: 

Page 1311

056164,000520: 07,3415           44751                 -2        CS       FOUR                                  #  SPECIAL ENTRY TO REGRESS LGYRO FOR X.
056165,000521: 07,3416           27311                           ADS      LGYRO                                 
056166,000522: 
056167,000523: 07,3417           50002        GSELECT            INDEX    Q                                     #  SELECT GYRO.
056168,000524: 07,3420           30000                           CAF      0                                     #  PACKED WORD CONTAINS GYRO SELECT BITS
056169,000525: 07,3421           54064                           TS       ITEMP4                                #  AND INCREMENT TO LGYRO.
056170,000526: 07,3422           74757                           MASK     SEVEN                                 
056171,000527: 07,3423           64737                           AD       BIT13                                 
056172,000528: 07,3424           27311                           ADS      LGYRO                                 
056173,000529: 07,3425           54003                           TS       EBANK                                 
056174,000530: 07,3426           74357                           MASK     LOW8                                  
056175,000531: 07,3427           54061                           TS       ITEMP1                                
056176,000532: 
056177,000533: 07,3430           44757                           CS       SEVEN                                 
056178,000534: 07,3431           70064                           MASK     ITEMP4                                
056179,000535: 07,3432           54064                           TS       ITEMP4                                
056180,000536: 
056181,000537: 07,3433           00006                           EXTEND                                         #  MOVE DP COMMAND TO RUPTREGS FOR TESTING.
056182,000538: 07,3434           50061                           INDEX    ITEMP1                                
056183,000539: 07,3435           31401                           DCA      1400                                  
056184,000540: 07,3436           52071                           DXCH     RUPTREG1                              
056185,000541: 
056186,000542: 07,3437           10070                           CCS      RUPTREG1                              
056187,000543: 07,3440           13453                           TCF      MAJ+                                  
056188,000544: 07,3441           13443                           TCF      +2                                    
056189,000545: 07,3442           13613                           TCF      MAJ-                                  
056190,000546: 
056191,000547: 07,3443           10071                           CCS      RUPTREG2                              
056192,000548: 07,3444           13450                           TCF      MIN+                                  
056193,000549: 07,3445           13375                           TCF      STRTGYR2                              
056194,000550: 07,3446           13610                           TCF      MIN-                                  
056195,000551: 07,3447           13375                           TCF      STRTGYR2                              
056196,000552: 

Page 1312

056198,000554: 07,3450           63504        MIN+               AD       -GYROMIN                              #  SMALL POSITIVE COMMAND. SEE IF AT LEAST
056199,000555: 07,3451           00006                           EXTEND                                         #  16 GYRO PULSES.
056200,000556: 07,3452           63375                           BZMF     STRTGYR2                              
056201,000557: 
056202,000558: 07,3453           00006        MAJ+               EXTEND                                         #  DEFINITE POSITIVE OUTPUT.
056203,000559: 07,3454           33634                           DCA      GYROFRAC                              
056204,000560: 07,3455           20071                           DAS      RUPTREG1                              
056205,000561: 
056206,000562: 07,3456           30064                           CA       ITEMP4                                #  SELECT POSITIVE TORQUING FOR THIS GYRO.
056207,000563: 07,3457           00006                           EXTEND                                         
056208,000564: 07,3460           05014                           WOR      CHAN14                                
056209,000565: 
056210,000566: 07,3461           36077                           CAF      LOW7                                  #  LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
056211,000567: 07,3462           70071                           MASK     RUPTREG2                              #  TO INITIAL COMMAND IN MAJOR PART OF LONG
056212,000568: 07,3463           56071                           XCH      RUPTREG2                              #  TERM STORAGE AND TRUNCATED FRACTION
056213,000569: 07,3464           00006        GMERGE             EXTEND                                         #  IN MINOR PART. THE MAJOR PART WILL BE
056214,000570: 07,3465           74744                           MP       BIT8                                  #  COUNTED DOWN TO ZERO IN THE COURSE OF
056215,000571: 07,3466           54062                           TS       ITEMP2                                #  PUTTING OUT THE ENTIRE COMMAND.
056216,000572: 07,3467           30070                           CA       RUPTREG1                              
056217,000573: 07,3470           00006                           EXTEND                                         
056218,000574: 07,3471           74743                           MP       BIT9                                  
056219,000575: 07,3472           54070                           TS       RUPTREG1                              
056220,000576: 07,3473           30001                           CA       L                                     
056221,000577: 07,3474           00006                           EXTEND                                         
056222,000578: 07,3475           74736                           MP       BIT14                                 
056223,000579: 07,3476           26062                           ADS      ITEMP2                                #  INITIAL COMMAND.
056224,000580: 
056225,000581: 07,3477           00006                           EXTEND                                         #  SEE IF MORE THAN ONE PULSE TRAIN NEEDED
056226,000582: 07,3500           30071                           DCA      RUPTREG1                              #  (MORE THAN 16383 PULSES).
056227,000583: 07,3501           67752                           AD       MINUS1                                
056228,000584: 07,3502           10000                           CCS      A                                     
056229,000585: 07,3503           13547                           TCF      LONGGYRO                              
056230,000586: 07,3504           77601        -GYROMIN           OCT      -176                                  #  MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
056231,000587: 07,3505           13511                           TCF      +4                                    
056232,000588: 
056233,000589: 07,3506           34736                           CAF      BIT14                                 
056234,000590: 07,3507           26062                           ADS      ITEMP2                                
056235,000591: 07,3510           34755                           CAF      ZERO                                  
056236,000592: 
056237,000593: 07,3511           50061                 +4        INDEX    ITEMP1                                
056238,000594: 07,3512           53401                           DXCH     1400                                  

Page 1313

056240,000596: 07,3513           30062                           CA       ITEMP2                                #  ENTIRE COMMAND.
056241,000597: 07,3514           54047        LASTSEG            TS       GYROCMD                               
056242,000598: 07,3515           00006                           EXTEND                                         
056243,000599: 07,3516           74742                           MP       BIT10                                 #  WAITLIST DT
056244,000600: 07,3517           66250                           AD       THREE                                 #  TRUNCATION AND PHASE UNCERTAINTIES.
056245,000601: 07,3520           05214                           TC       WAITLIST                              
056246,000602: 07,3521  E3,1474                                  EBANK=   CDUIND                                
056247,000603: 07,3521           03533 16103                     2CADR    TWOPULSE                              
056248,000604: 
056249,000605: 07,3523           03527        EXITGYRO           TC       GYROEXIT                              
056250,000606: 07,3524           15272                           TCF      TASKOVER                              
056251,000607: 07,3525           34752        OUTPULSE           CA       BIT2                                  
056252,000608: 07,3526           54047                           TS       GYROCMD                               
056253,000609: 07,3527           34742        GYROEXIT           CAF      BIT10                                 
056254,000610: 07,3530           00006                           EXTEND                                         
056255,000611: 07,3531           05014                           WOR      CHAN14                                
056256,000612: 07,3532           00002                           TC       Q                                     
056257,000613: 07,3533           44743        TWOPULSE           CS       BIT9                                  
056258,000614: 07,3534           00006                           EXTEND                                         
056259,000615: 07,3535           03014                           WAND     CHAN14                                
056260,000616: 07,3536           03525                           TC       OUTPULSE                              
056261,000617: 07,3537           34753                           CA       BIT1                                  
056262,000618: 07,3540           05204                           TC       TWIDDLE                               
056263,000619: 07,3541           03371                           ADRES    STRTGYRO                              
056264,000620: 07,3542           34743                           CA       BIT9                                  
056265,000621: 07,3543           00006                           EXTEND                                         
056266,000622: 07,3544           05014                           WOR      CHAN14                                
056267,000623: 07,3545           03525                           TC       OUTPULSE                              
056268,000624: 07,3546           15272                           TCF      TASKOVER                              
056269,000625: 07,3547           50061        LONGGYRO           INDEX    ITEMP1                                
056270,000626: 07,3550           53401                           DXCH     1400                                  
056271,000627: 07,3551           34736                           CAF      BIT14                                 #  8192. INITIAL COMMAND IS AT LEAST 8192.
056272,000628: 07,3552           60062                           AD       ITEMP2                                
056273,000629: 07,3553           54047                           TS       GYROCMD                               
056274,000630: 
056275,000631: 07,3554           00006        AUG3               EXTEND                                         #  GET WAITLIST DT TO TIME WHEN TRAIN IS
056276,000632: 07,3555           74742                           MP       BIT10                                 #  ALMOST OUT.
056277,000633: 07,3556           67750                           AD       NEG3                                  
056278,000634: 07,3557           05214                           TC       WAITLIST                              
056279,000635: 07,3560  E3,1474                                  EBANK=   CDUIND                                
056280,000636: 07,3560           03563 16103                     2CADR    8192AUG                               
056281,000637: 
056282,000638: 07,3562           13523                           TCF      EXITGYRO                              
056283,000639: 
056284,000640: 07,3563           03645        8192AUG            TC       CAGETEST                              
056285,000641: 
056286,000642: 07,3564           34750                           CAF      BIT4                                  
056287,000643: 07,3565           00006                           EXTEND                                         
056288,000644: 07,3566           02012                           RAND     CHAN12                                
056289,000645: 07,3567           10000                           CCS      A                                     
056290,000646: 07,3570           13643                           TCF      IMUBAD                                
056291,000647: 07,3571           31311                           CA       LGYRO                                 #  ADD 8192 PULSES TO GYROCMD
056292,000648: 07,3572           54003                           TS       EBANK                                 

Page 1314

056294,000650: 07,3573           74357                           MASK     LOW8                                  
056295,000651: 07,3574           54061                           TS       ITEMP1                                
056296,000652: 
056297,000653: 07,3575           50061                           INDEX    ITEMP1                                #  SEE IF THIS IS THE LAST AUG.
056298,000654: 07,3576           11400                           CCS      1400                                  
056299,000655: 07,3577           13603                           TCF      AUG2                                  #  MORE TO COME.
056300,000656: 
056301,000657: 07,3600           34736                           CAF      BIT14                                 
056302,000658: 07,3601           26047                           ADS      GYROCMD                               
056303,000659: 07,3602           13515                           TCF      LASTSEG    +1                         
056304,000660: 
056305,000661: 07,3603           50061        AUG2               INDEX    ITEMP1                                
056306,000662: 07,3604           55400                           TS       1400                                  
056307,000663: 07,3605           34736                           CAF      BIT14                                 
056308,000664: 07,3606           26047                           ADS      GYROCMD                               
056309,000665: 07,3607           13554                           TCF      AUG3                                  #  COMPUTE DT.
056310,000666: 

Page 1315

056312,000668: 07,3610           63504        MIN-               AD       -GYROMIN                              #  POSSIBLE NEGATIVE OUTPUT.
056313,000669: 07,3611           00006                           EXTEND                                         
056314,000670: 07,3612           63375                           BZMF     STRTGYR2                              
056315,000671: 
056316,000672: 07,3613           00006        MAJ-               EXTEND                                         #  DEFINITE NEGATIVE OUTPUT.
056317,000673: 07,3614           43634                           DCS      GYROFRAC                              
056318,000674: 07,3615           20071                           DAS      RUPTREG1                              
056319,000675: 
056320,000676: 07,3616           30064                           CA       ITEMP4                                #  SELECT NEGATIVE TORQUING FOR THIS GYRO.
056321,000677: 07,3617           64743                           AD       BIT9                                  
056322,000678: 07,3620           00006                           EXTEND                                         
056323,000679: 07,3621           05014                           WOR      CHAN14                                
056324,000680: 
056325,000681: 07,3622           40070                           CS       RUPTREG1                              #  SET UP RUPTREGS TO FALL INTO GMERGE.
056326,000682: 07,3623           54070                           TS       RUPTREG1                              #  ALL NUMBERS PUT INTO GYROCMD ARE
056327,000683: 07,3624           40071                           CS       RUPTREG2                              #  POSITIVE - BIT9 OF CHAN 14 DETERMINES
056328,000684: 07,3625           76077                           MASK     LOW7                                  #  THE SIGN OF THE COMMAND.
056329,000685: 07,3626           40000                           COM                                            
056330,000686: 07,3627           56071                           XCH      RUPTREG2                              
056331,000687: 07,3630           40000                           COM                                            
056332,000688: 07,3631           13464                           TCF      GMERGE                                
056333,000689: 
056334,000690: 07,3632           01700        GDESELCT           OCT      1700                                  #  TURN OFF SELECT AND ACTIVITY BITS.
056335,000691: 
056336,000692: 07,3633           00000 00034  GYROFRAC           2DEC     .215       B-21                       
056337,000693: 

Page 1316

056339,000695:                                                                                                  #           IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
056340,000696: 
056341,000697: 07,3635           00006        ENDIMU             EXTEND                                         #  MODE IS BAD IF CAGE HAS OCCURED OR IF
056342,000698: 07,3636           00011                           READ     DSALMOUT                              #  ISS WARNING IS ON.
056343,000699: 07,3637           74753                           MASK     BIT1                                  
056344,000700: 07,3640           10000                           CCS      A                                     
056345,000701: 07,3641           13643                           TCF      IMUBAD                                
056346,000702: 
056347,000703: 07,3642           13671        IMUGOOD            TCF      GOODEND                               #  WITH C(A) = 0.
056348,000704: 
056349,000705: 07,3643           34755        IMUBAD             CAF      ZERO                                  
056350,000706: 07,3644           13666                           TCF      BADEND                                
056351,000707: 
056352,000708: 07,3645           34746        CAGETEST           CAF      BIT6                                  #  SUBROUTINE TO TERMINATE IMU MODE
056353,000709: 07,3646           71277                           MASK     IMODES30                              #  SWITCH IF IMU HAS BEEN CAGED.
056354,000710: 07,3647           10000                           CCS      A                                     
056355,000711: 07,3650           13643                           TCF      IMUBAD                                #  DIRECTLY.
056356,000712: 07,3651           00002                           TC       Q                                     #  WITH C(A) = +0.
056357,000713: 
056358,000714: 07,3652           41277        CAGETSTQ           CS       IMODES30                              #  SKIP IF IMU NOT BEING CAGED.
056359,000715: 07,3653           74746                           MASK     BIT6                                  
056360,000716: 07,3654           10000                           CCS      A                                     
056361,000717: 07,3655           24002                           INCR     Q                                     
056362,000718: 07,3656           00002                           TC       Q                                     
056363,000719: 
056364,000720: 07,3657           41277        CAGETSTJ           CS       IMODES30                              #  IF DURING MODE SWITCH INITIALIZATION
056365,000721: 07,3660           74746                           MASK     BIT6                                  #  IT IS FOUND THAT THE IMU IS BEING CAGED,
056366,000722: 07,3661           10000                           CCS      A                                     #  SET IMUCADR TO -0 TO INDICATE OPERATION
056367,000723: 07,3662           00002                           TC       Q                                     #  COMPLETE BUT FAILED. RETURN IMMEDIATELY
056368,000724: 
056369,000725: 07,3663           44755                           CS       ZERO                                  #  TO SWRETURN.
056370,000726: 07,3664           55301                           TS       IMUCADR                               
056371,000727: 07,3665           12741                           TCF      MODEEXIT                              
056372,000728: 

Page 1317

056374,000730:                                                                                                  #           GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
056375,000731:                                                                                                  #  OR AT BADEND FOR A N UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
056376,000732: 
056377,000733: 07,3666           54071        BADEND             TS       RUPTREG2                              #  DEVICE INDEX.
056378,000734: 07,3667           44755                           CS       ZERO                                  #  FOR FAILURE.
056379,000735: 07,3670           13673                           TCF      GOODEND    +2                         
056380,000736: 
056381,000737: 07,3671           54071        GOODEND            TS       RUPTREG2                              
056382,000738: 07,3672           44753                           CS       ONE                                   #  FOR SUCCESS.
056383,000739: 
056384,000740: 07,3673           54072                           TS       RUPTREG3                              
056385,000741: 07,3674           50071                           INDEX    RUPTREG2                              #  SEE IF USING PROGRAM ASLEEP.
056386,000742: 07,3675           11301                           CCS      MODECADR                              
056387,000743: 07,3676           13702                           TCF      +4                                    #  YES - WAKE IT UP.
056388,000744: 07,3677           13712                           TCF      ENDMODE                               #  IF 0, PROGRAM NOT IN YET.
056389,000745: 
056390,000746: 07,3700           00006                           EXTEND                                         
056391,000747: 07,3701           13713                           BZF      ENDMODE    +1                         #  BZF = TCF IF MODECADR = -0.
056392,000748: 
056393,000749: 07,3702           34755                           CAF      ZERO                                  #  WAKE SLEEPING PROGRAM.
056394,000750: 07,3703           50071                           INDEX    RUPTREG2                              
056395,000751: 07,3704           57301                           XCH      MODECADR                              
056396,000752: 07,3705           05137                           TC       JOBWAKE                               
056397,000753: 
056398,000754: 07,3706           40072                           CS       RUPTREG3                              #  ADVANCE LOC IF SUCCESSFUL.
056399,000755: 07,3707           50064                           INDEX    LOCCTR                                
056400,000756: 07,3710           26164                           ADS      LOC                                   
056401,000757: 
056402,000758: 07,3711           15272                           TCF      TASKOVER                              
056403,000759: 
056404,000760: 07,3712           30072        ENDMODE            CA       RUPTREG3                              #  -0 INDICATES OPERATION COMPLETE BUT
056405,000761: 07,3713           50071                 +1        INDEX    RUPTREG2                              #  UNSUCCESSFUL: -1 INDICATES COMPLETE AND
056406,000762: 07,3714           55301                           TS       MODECADR                              #  SUCCESSFUL.
056407,000763: 07,3715           15272                           TCF      TASKOVER                              
056408,000764: 

Page 1318

056410,000766:                                                                                                  #           GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
056411,000767: 
056412,000768:                                                                                                  #  PROGRAM DESCRIPTION                                    DATE- 21 FEB 1967
056413,000769:                                                                                                  #                                            LOG SECTION IMU MODE SWITCHING
056414,000770:                                                                                                  #  MOD BY- R.MELANSON TO ADD DOCUMENTATION       ASSEMBLY SUNDISK  REV.  82
056415,000771: 
056416,000772:                                                                                                  #  FUNCTIONAL DESCRIPTION-
056417,000773:                                                                                                  #    TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
056418,000774:                                                                                                  #    I/O FUNCTION IS COMPLETE.THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
056419,000775:                                                                                                  #    MODECADR ARE MADE AND ACTED UPON.
056420,000776:                                                                                                  #      1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO
056421,000777:                                                                                                  #         SLEEP.
056422,000778:                                                                                                  #      2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP
056423,000779:                                                                                                  #         CALL AND RETURNS TO CALLING ROUTINE AT L+3
056424,000780:                                                                                                  #      3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR
056425,000781:                                                                                                  #         AND RETURNS TO CALLING ROUTINE AT L+2.
056426,000782:                                                                                                  #      4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
056427,000783:                                                                                                  #         SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
056428,000784:                                                                                                  #         RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
056429,000785: 
056430,000786:                                                                                                  #   CALLING SEQUENCE-
056431,000787:                                                                                                  #    L   TC   BANKCALL
056432,000788:                                                                                                  #    L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL,OPTSTALL,RADSTALL,
056433,000789:                                                                                                  #              AOTSTALL,OR ATTSTALL)
056434,000790: 
056435,000791:                                                                                                  #   NORMAL-EXIT MODE-
056436,000792:                                                                                                  #    TCF   JOBSLEEP OR TCF  MODEXIT
056437,000793: 
056438,000794:                                                                                                  #  ALARM OR ABORT EXIT MODE-
056439,000795:                                                                                                  #    TC   ABORT
056440,000796: 
056441,000797:                                                                                                  #  OUTPUT-
056442,000798:                                                                                                  #    MODECADR= CADR IF JOBSLEEP
056443,000799:                                                                                                  #    MODECADR=+0    IF I/O COMPLETE
056444,000800:                                                                                                  #    BUF2=L+3       IF I/O COMPLETE AND GOOD.
056445,000801:                                                                                                  #    BUF2=L+2 IF I/O COMPLETE BUT FAILED.
056446,000802: 
056447,000803:                                                                                                  #  ERASABLE INITIALIZATION-
056448,000804:                                                                                                  #    BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
056449,000805:                                                                                                  #    BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
056450,000806:                                                                                                  #    MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR  CADR RETURN ADDRESS.
056451,000807: 
056452,000808:                                                                                                  #  DEBRIS-
056453,000809:                                                                                                  #    RUPTREG2 AND CALLING ROUTINE MODECADR.
056454,000810: 
056455,000811: 07,3716           34753        AOTSTALL           CAF      ONE                                   #  AOT.
056456,000812: 07,3717           03723                           TC       STALL                                 
056457,000813: 
056458,000814: 07,3720           34752        RADSTALL           CAF      TWO                                   
056459,000815: 07,3721           13723                           TCF      STALL                                 
056460,000816: 

Page 1319

056462,000818: 07,3722  07,3716               OPTSTALL           EQUALS   AOTSTALL                              
056463,000819: 
056464,000820: 07,3722           34755        IMUSTALL           CAF      ZERO                                  #  IMU.
056465,000821: 
056466,000822: 07,3723           00004        STALL              INHINT                                         
056467,000823: 07,3724           54071                           TS       RUPTREG2                              #  SAVE DEVICE INDEX.
056468,000824: 07,3725           50000                           INDEX    A                                     #  SEE IF OPERATION COMPLETE.
056469,000825: 07,3726           11301                           CCS      MODECADR                              
056470,000826: 07,3727           13745                           TCF      MODABORT                              #  ALLOWABLE STATES ARE +0, -1, AND -0.
056471,000827: 07,3730           13741                           TCF      MODESLP                               #  OPERATION INCOMPLETE.
056472,000828: 07,3731           13735                           TCF      MODEGOOD                              #  COMPLETE AND GOOD IF = -1.
056473,000829: 
056474,000830: 07,3732           50071        MG2                INDEX    RUPTREG2                              #  COMPLETE AND FAILED IF -0. RESET TO +0.
056475,000831: 07,3733           55301                           TS       MODECADR                              #  RETURN TO CALLER.
056476,000832: 07,3734           12741                           TCF      MODEEXIT                              
056477,000833: 
056478,000834: 07,3735           10000        MODEGOOD           CCS      A                                     #  MAKE SURE INITIAL STATE -1.
056479,000835: 07,3736           13745                           TCF      MODABORT                              
056480,000836: 
056481,000837: 07,3737           24133                           INCR     BUF2                                  #  IF SO, INCREMENT RETURN ADDRESS AND
056482,000838: 07,3740           13732                           TCF      MG2                                   #  RETURN IMMEDIATELY, SETTING CADR = +0.
056483,000839: 
056484,000840: 07,3741           04645        MODESLP            TC       MAKECADR                              #  CALL FROM SWITCHABLE FIXED ONLY.
056485,000841: 07,3742           50071                           INDEX    RUPTREG2                              
056486,000842: 07,3743           55301                           TS       MODECADR                              
056487,000843: 07,3744           15133                           TCF      JOBSLEEP                              
056488,000844: 
056489,000845: 07,3745           52134        MODABORT           DXCH     BUF2                                  
056490,000846: 07,3746           05717                           TC       BAILOUT1                              #  TWO PROGRAMS USING THE SAME DEVICE.
056491,000847: 07,3747           31210                           OCT      31210                                 
056492,000848: 

Page 1320

056494,000850:                                                                                                  #           CONSTANTS FOR MODE SWITCHING ROUTINES
056495,000851: 
056496,000852: 07,3750     5752               BITS3&4            =        OCT14                                 
056497,000853: 07,3750     4771               BITS4&6            =        OCT50                                 
056498,000854: 07,3750           00030        BITS4-5            OCT      00030                                 
056499,000855: 07,3751     4744               IMUSEFLG           EQUALS   BIT8                                  #  INTERPRETER SWITCH 7.
056500,000856: 07,3751           77500        -COMMAX            DEC      -191       B-14                       
056501,000857: 07,3752           77477        -COMMAX-           DEC      -192       B-14                       
056502,000858: 07,3753           00074        600MS              DEC      60         B-14                       
056503,000859: 07,3754  07,3174               IMUFIN20           =        IMUFINE                               
056504,000860: 07,3754           31304        GOMANUR            CA       ATTCADR                               #  IS KALCMANU FREE
056505,000861: 07,3755           00006                           EXTEND                                         
056506,000862: 07,3756           13760                           BZF      +2                                    
056507,000863: 07,3757           03745                           TC       MODABORT                              #  BAILOUT
056508,000864: 07,3760           00006                 +2        EXTEND                                         
056509,000865: 07,3761           30134                           DCA      BUF2                                  
056510,000866: 07,3762           53305                           DXCH     ATTCADR                               #  SAVE FINAL RETURN FOR KALCMAN3
056511,000867: 
056512,000868: 07,3763           30006                           CA       BBANK                                 
056513,000869: 07,3764           74757                           MASK     SEVEN                                 
056514,000870: 07,3765           27305                           ADS      ATTCADR    +1                         
056515,000871: 
056516,000872: 07,3766           30167                           CA       PRIORITY                              
056517,000873: 07,3767           77730                           MASK     PRIO37                                
056518,000874: 07,3770           55306                           TS       ATTPRIO                               #  SAVE USERS PRIO
056519,000875: 
056520,000876: 07,3771           33775                           CAF      KALEBCON                              #  SET EBANK FOR KALCMAN3
056521,000877: 07,3772           54003                           TS       EBANK                                 
056522,000878: 07,3773           04635                           TC       POSTJUMP                              
056523,000879: 07,3774           44004                           CADR     KALCMAN3                              
056524,000880: 07,3775           03275        KALEBCON           ECADR    BCDU                                  
056525,000881: 

Page 1321

056527,000883:                                                                                                  #  PROGRAM DESCRIPTION
056528,000884:                                                                                                  #  IMU STATUS CHECK ROUTINE R02  (SUBROUTINE UTILITY)
056529,000885:                                                                                                  #  MOD NO - 1
056530,000886:                                                                                                  #  MOD BY - N.BRODEUR
056531,000887:                                                                                                  #  FUNCTIONAL DESCRIPTION
056532,000888: 
056533,000889:                                                                                                  #  TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
056534,000890:                                                                                                  #  ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE
056535,000891:                                                                                                  #  PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
056536,000892:                                                                                                  #  CMC. CALLED THROUGH BANKCALL
056537,000893:                                                                                                  #  CALLING SEQUENCE-
056538,000894: 
056539,000895:                                                                                                  #  L        TC     BANKCALL
056540,000896:                                                                                                  #  L+1      CADR   R02BOTH
056541,000897:                                                                                                  #  SUBROUTINES CALLED
056542,000898: 
056543,000899:                                                                                                  #        VARALARM
056544,000900:                                                                                                  #        FLAGUP
056545,000901:                                                                                                  #  NORMAL EXIT MODES
056546,000902: 
056547,000903:                                                                                                  #  AT L+2 OF CALLING SEQUENCE
056548,000904:                                                                                                  #  ALARM OR ABORT EXIT MODES
056549,000905:                                                                                                  #        GOTOPOOH, WITH ALARM
056550,000906:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
056551,000907: 
056552,000908:                                                                                                  #  NONE
056553,000909:                                                                                                  #  DEBRIS
056554,000910: 
056555,000911:                                                                                                  #  CENTRALS-A,Q,L
056556,000912: 34,3574                                           BANK     34                                    
056557,000913: 04,2000                                           SETLOC   R02                                   
056558,000914: 04,2000                                           BANK                                           
056559,000915: 04,3240                                           COUNT*   $$/R02                                
056560,000916: 04,3240           00063        DEC51              DEC      51         B-14                       
056561,000917: 04,3241           34737        R02BOTH            CAF      REFSMBIT                              
056562,000918: 04,3242           70077                           MASK     FLAGWRD3                              
056563,000919: 04,3243           10000                           CCS      A                                     
056564,000920: 04,3244           03255                           TC       R02ZERO                               #  ZERO IMUS
056565,000921: 
056566,000922: 04,3245           31277                           CA       IMODES30                              
056567,000923: 04,3246           74743                           MASK     BIT9                                  #  IS ISS INITIALIZED
056568,000924: 04,3247           00006                           EXTEND                                         
056569,000925: 04,3250           13252                           BZF      +2                                    
056570,000926: 04,3251           44750                           CS       BIT4                                  #  SEND IMU ALARM CODE 210
056571,000927: 04,3252           63260                           AD       OCT220                                #  SEND REFSMM ALARM
056572,000928: 04,3253           05745                           TC       VARALARM                              
056573,000929: 
056574,000930: 04,3254           06001                           TC       GOTOPOOH                              
056575,000931: 
056576,000932: 04,3255           05515        R02ZERO            TC       UPFLAG                                

Page 1322

056578,000934: 04,3256           00007                           ADRES    IMUSE                                 
056579,000935: 04,3257           14631                           TCF      SWRETURN                              
056580,000936: 04,3260           00220        OCT220             OCT      220                                   
056581,000937: 

Page 1323

056583,000939:                                                                                                  #  PROGRAM DESCRIPTION   P06   10FEB67
056584,000940: 
056585,000941:                                                                                                  #  TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
056586,000942: 
056587,000943:                                                                                                  #  THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU
056588,000944:                                                                                                  #  HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE
056589,000945:                                                                                                  #  CMC  STANDBY ON THE MAIN AND LEB DISKYS IS ON.
056590,000946: 
056591,000947:                                                                                                  #  CALLING SEQUENCE:
056592,000948:                                                                                                  #           ASTRONAUT REQUEST THROUGH DSKY     V37E 06E.
056593,000949: 
056594,000950:                                                                                                  #  SUBROUTINES CALLED:
056595,000951:                                                                                                  #           GOPERF1
056596,000952:                                                                                                  #           BANKCALL
056597,000953:                                                                                                  #           FLAGDOWN
056598,000954: 

Page 1324

056600,000956:                                                                                                  #  PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
056601,000957:                                                                                                  #  THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
056602,000958:                                                                                                  #  BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
056603,000959: 
056604,000960: 37,2000                                           SETLOC   P05P06                                
056605,000961: 37,2000                                           BANK                                           
056606,000962: 
056607,000963: 37,3654     0314                                  EBANK=   TIME2SAV                              
056608,000964: 37,3654                                           COUNT*   $$/P06                                
056609,000965: 
056610,000966: 37,3654           05515        P06                TC       UPFLAG                                #  SET NODOV37 BIT
056611,000967: 37,3655           00054                           ADRES    NODOFLAG                              
056612,000968: 
056613,000969: 37,3656           00004        PRESTAND           INHINT                                         
056614,000970: 37,3657           00006                           EXTEND                                         
056615,000971: 37,3660           30025                           DCA      TIME2                                 #  SNAPSHOT TIME1TIME2
056616,000972: 37,3661           52315                           DXCH     TIME2SAV                              
056617,000973: 37,3662           03713                           TC       SCALPREP                              
056618,000974: 37,3663           03656                           TC       PRESTAND                              #  T1,T2,SCALER NOT COMPATIBLE
056619,000975: 37,3664           52155                           DXCH     MPAC                                  #  T1,T2 AND SCALER OK
056620,000976: 37,3665           52317                           DXCH     SCALSAVE                              #  STORE SCALER
056621,000977: 37,3666           00004                           INHINT                                         
056622,000978: 37,3667           04616                           TC       BANKCALL                              
056623,000979: 37,3670           17161                           CADR     RNDREFDR                              #  REFSMM, DRIFT, TRACK FLAGS DOWN
056624,000980: 
056625,000981: 37,3671           05527                           TC       DOWNFLAG                              
056626,000982: 37,3672           00007                           ADRES    IMUSE                                 #  IMUSE DOWN
056627,000983: 37,3673           05527                           TC       DOWNFLAG                              
056628,000984: 37,3674           00010                           ADRES    RNDVZFLG                              #  RNDVZFLG DOWN
056629,000985: 
056630,000986: 37,3675           34741                           CAF      BIT11                                 
056631,000987: 37,3676           00006                           EXTEND                                         
056632,000988: 37,3677           05013                           WOR      CHAN13                                #  SET STANDBY ENABLE BIT
056633,000989: 
056634,000990: 37,3700           05364                           TC       PHASCHNG                              #  SET RESTART TO POSTAND WHEN STANDBY
056635,000991: 37,3701           07024                           OCT      07024                                 #    RECOVERS
056636,000992: 37,3702           20000                           OCT      20000                                 
056637,000993: 37,3703     0316                                  EBANK=   SCALSAVE                              
056638,000994: 37,3703           03733 76060                     2CADR    POSTAND                               
056639,000995: 
056640,000996: 37,3705           34774                           CAF      OCT62                                 
056641,000997: 37,3706           04616                           TC       BANKCALL                              
056642,000998: 37,3707           20624                           CADR     GOPERF1                               
056643,000999: 37,3710           13705                           TCF      -3                                    
056644,001000: 37,3711           13705                           TCF      -4                                    
056645,001001: 37,3712           13705                           TCF      -5                                    
056646,001002: 
056647,001003: 37,3713     4774               OCT62              EQUALS   .5SEC                                 #  DEC 50 = OCT 62
056648,001004: 
056649,001005:                                                                                                  #  THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A

Page 1325

056651,001007:                                                                                                  #  T1 INCREMENT. IF SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
056652,001008:                                                                                                  #  DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
056653,001009:                                                                                                  #  DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES
056654,001010:                                                                                                  #  THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE
056655,001011:                                                                                                  #  10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
056656,001012:                                                                                                  #  T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
056657,001013:                                                                                                  #  ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5
056658,001014:                                                                                                  #  BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
056659,001015:                                                                                                  #  DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
056660,001016: 
056661,001017: 37,3713           00006        SCALPREP           EXTEND                                         
056662,001018: 37,3714           22156                           QXCH     MPAC       +2                         
056663,001019: 37,3715           04103                           TC       FINETIME   +1                         
056664,001020: 37,3716           00003                           RELINT                                         
056665,001021: 37,3717           52155                           DXCH     MPAC                                  
056666,001022: 37,3720           34747                           CA       BIT5                                  #  ADD 5 MS TO THE SCALER READING.
056667,001023: 37,3721           54001                           TS       L                                     
056668,001024: 37,3722           34755                           CA       ZERO                                  
056669,001025: 37,3723           20155                           DAS      MPAC                                  
056670,001026: 37,3724           44346                           CS       LOW5                                  #  SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
056671,001027: 37,3725           70155                           MASK     MPAC       +1                         #  AND STORE RESULTS IN MPAC,+1.
056672,001028: 37,3726           56155                           XCH      MPAC       +1                         
056673,001029: 37,3727           74346                           MASK     LOW5                                  #  TEST LOW 5 BITS OF SCALER FOR THE FIRST
056674,001030:                                                                                                  #  INTERVAL AFTER THE T1 INCREMENT
056675,001031:                                                                                                  #  (NOW = 00000, SINCE BIT 5 ADDED).
056676,001032: 37,3730           10000                           CCS      A                                     #  IS IT 1ST INTERVAL AFTER T1 INCREMENT
056677,001033: 37,3731           24156                           INCR     MPAC       +2                         #  NO
056678,001034: 37,3732           00156                           TC       MPAC       +2                         #  YES
056679,001035: 
056680,001036:                                                                                                  #  POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE
056681,001037:                                                                                                  #  TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE
056682,001038:                                                                                                  #  INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
056683,001039:                                                                                                  #  CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER
056684,001040:                                                                                                  #  VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
056685,001041:                                                                                                  #  TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
056686,001042: 
056687,001043: 37,3733                                           COUNT*   $$/P05                                
056688,001044: 
056689,001045: 37,3733           44741        POSTAND            CS       BIT11                                 #  RECOVER TIME AFTER STANDBY.
056690,001046: 37,3734           00006                           EXTEND                                         
056691,001047: 37,3735           03013                           WAND     CHAN13                                #  CLEAR STANDBY ENABLE BIT
056692,001048: 37,3736           00004                           INHINT                                         
056693,001049: 37,3737           34755                           CA       ZERO                                  
056694,001050: 37,3740           54001                           TS       L                                     
056695,001051: 37,3741           52025                           DXCH     TIME2                                 #  CLEAR TIME1TIME2
056696,001052: 37,3742           03713                           TC       SCALPREP                              #  STORE SCALER IN MPAC, MPAC+1
056697,001053: 37,3743           03736                           TC       POSTAND    +3                         #  T1,T2,SCALER NOT COMPATIBLE
056698,001054: 37,3744           00006                           EXTEND                                         #  T1,T2 AND SCALER OK
056699,001055: 37,3745           40317                           DCS      SCALSAVE                              
056700,001056: 37,3746           20155                           DAS      MPAC                                  #  FORM DP DIFFERENCE OF POSTSTANDBY SCALER

Page 1326

056702,001058: 37,3747           34742                           CAF      BIT10                                 #  MINUS PRESTANDBY SCALER AND SHIFT RIGHT
056703,001059: 37,3750           07312                           TC       SHORTMP                               #  5 TO ALIGN BITS WITH TIME1TIME2.
056704,001060: 37,3751           34755                           CAF      ZERO                                  
056705,001061: 37,3752           54156                           TS       MPAC       +2                         #  NEEDED FOR TP AGREE
056706,001062: 37,3753           07262                           TC       TPAGREE                               #  MAKE DP DIFF AGREE
056707,001063: 37,3754           10154                           CCS      MPAC                                  
056708,001064: 37,3755           03762                           TC       POSTCOM                               #  IF DP DIFF NET +, NO SCALER OVERFLOW
056709,001065: 37,3756           03762                           TC       POSTCOM                               #  BETWEEN PRE AND POST STANDBY.
056710,001066: 37,3757           03760                           TC       +1                                    #  IF DP DIFF NET -, SCALER OVERFLOWED. ADD
056711,001067: 37,3760           34742                           CAF      BIT10                                 #  BIT 10 TO HIGH DIFF TO CORRECT.
056712,001068: 37,3761           26154                           ADS      MPAC                                  
056713,001069: 37,3762           00006        POSTCOM            EXTEND                                         #  C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
056714,001070: 37,3763           30315                           DCA      TIME2SAV                              #  PRESTANDBY TIME1TIME2
056715,001071: 37,3764           20155                           DAS      MPAC                                  
056716,001072: 37,3765           07262                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
056717,001073: 37,3766           52155                           DXCH     MPAC                                  #  UPDATED VALUE FOR T1,T2.
056718,001074: 37,3767           20025                           DAS      TIME2                                 #  LOAD UPDATED VALUE INTO T1,T2, WITH
056719,001075: 37,3770           05527                           TC       DOWNFLAG                              #  CLEAR NODOFLAG
056720,001076: 37,3771           00054                           ADRES    NODOFLAG                              
056721,001077: 
056722,001078: 37,3772           06001                           TC       GOTOPOOH                              

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