Source Code

These source-code files are part of a reconstructed copy of Luminary 69/2, the flown, final release of the Apollo 10 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction is based on the source code of Luminary 69 — i.e., the initial, unflown version, "revision 0" — of which a contemporary listing was available. The code was then updated by incorporating the differences between Luminary 69 and Luminary 69/2, known from other contemporary documentation. The only such difference is the implementation in Luminary 69/2 of the "R-2 Lunar Potential Model", the source code for which was taken from program Luminary 99/1 (Apollo 11 LM), of which a contemporary listing was also available. Finally, the now-reconstructed Luminary 69/2 was then validated by assembling it to executable form and verifying that its memory banks had the correct checksums, known from still other contemporary documentation.

Note that page numbers in the reconstructed code match those in the original Luminary 69 program listing, or in the ORBITAL INTEGRATION log section, in Luminary 99/1. Page numbers would certainly differ somewhat in a contemporary Luminary 69/2 listing. Moreover, annotations that were not present in the contemporary source code have been added to the reconstructed code to justify each change in Luminary 69/2 relative to Luminary 69. Here's a guide to the Apollo documentation referenced in those annotations:
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.

056342,000002:                                                                                                  ## Copyright:   Public domain.
056343,000003:                                                                                                  ## Filename:    IMU_MODE_SWITCHING_ROUTINES.agc
056344,000004:                                                                                                  ## Purpose:     A section of LUM69 revision 2.
056345,000005:                                                                                                  ##              It is part of the reconstructed source code for the flown
056346,000006:                                                                                                  ##              version of the flight software for the Lunar Module's (LM)
056347,000007:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 10. The code has
056348,000008:                                                                                                  ##              been recreated from a copy of Luminary revsion 069, using
056349,000009:                                                                                                  ##              changes present in Luminary 099 which were described in
056350,000010:                                                                                                  ##              Luminary memos 75 and 78. The code has been adapted such
056351,000011:                                                                                                  ##              that the resulting bugger words exactly match those specified
056352,000012:                                                                                                  ##              for LUM69 revision 2 in NASA drawing 2021152B, which gives
056353,000013:                                                                                                  ##              relatively high confidence that the reconstruction is correct.
056354,000014:                                                                                                  ## Reference:   pp. 1303-1331
056355,000015:                                                                                                  ## Assembler:   yaYUL
056356,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
056357,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
056358,000018:                                                                                                  ## Mod history: 2019-07-27 MAS  Created from Luminary 69.
056359,000019: 

Page 1303

056361,000021:    5457                                           BLOCK    02                                    
056362,000022:    4000                                           SETLOC   FFTAG3                                
056363,000023:    4000                                           BANK                                           
056364,000024: 
056365,000025:    5457  E3,1471                                  EBANK=   COMMAND                               
056366,000026: 
056367,000027:                                                                                                  #  FIXED-FIXED ROUTINES.
056368,000028: 
056369,000029:    5457                                           COUNT*   $$/IMODE                              
056370,000030:    5457           34755        ZEROICDU           CAF      ZERO                                  #  ZERO ICDU COUNTERS.
056371,000031:    5460           54032                           TS       CDUX                                  
056372,000032:    5461           54033                           TS       CDUY                                  
056373,000033:    5462           54034                           TS       CDUZ                                  
056374,000034:    5463           00002                           TC       Q                                     
056375,000035: 
056376,000036:    5464     4743               SPSCODE            =        BIT9                                  
056377,000037: 

Page 1304

056379,000039:                                                                                                  #  IMU ZEROING ROUTINE.
056380,000040: 
056381,000041: 11,3752                                           BANK     11                                    
056382,000042: 07,2000                                           SETLOC   MODESW                                
056383,000043: 07,2000                                           BANK                                           
056384,000044: 
056385,000045: 07,2667                                           COUNT*   $$/IMODE                              
056386,000046: 07,2667           00004        IMUZERO            INHINT                                         #  ROUTINE TO ZERO ICDUS.
056387,000047: 07,2670           41036                           CS       DSPTAB     +11D                       #  DONT ZERO CDUS IF IMU IN GIMBAL LOCK AND
056388,000048: 07,2671           74771                           MASK     BITS4&6                               #  COARSE ALIGN (GIMBAL RUNAWAY PROTECTION)
056389,000049: 07,2672           10000                           CCS      A                                     
056390,000050: 07,2673           12677                           TCF      IMUZEROA                              
056391,000051: 
056392,000052: 07,2674           05567                           TC       ALARM                                 #  IF SO.
056393,000053: 07,2675           00206                           OCT      00206                                 
056394,000054: 
056395,000055: 07,2676           13632                           TCF      CAGETSTJ   +4                         #  IMMEDIATE FAILURE.
056396,000056: 
056397,000057: 07,2677           03626        IMUZEROA           TC       CAGETSTJ                              
056398,000058:                                                                                                  #  DELETE
056399,000059: 07,2700           41303                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
056400,000060: 07,2701           74773                           MASK     SUPER011                              #      BIT5 FOR GROUND
056401,000061: 07,2702           27303                           ADS      IMODES33                              
056402,000062: 
056403,000063: 07,2703           41302                           CS       IMODES30                              #  INHIBIT ICDUFAIL AND IMUFAIL (IN CASE WE
056404,000064: 07,2704           75742                           MASK     BITS3&4                               #  JUST CAME OUT OF COARSE ALIGN).
056405,000065: 07,2705           27302                           ADS      IMODES30                              
056406,000066: 
056407,000067: 07,2706           44771                           CS       BITS4&6                               #  SEND ZERO ENCODE WITH COARSE AND ERROR
056408,000068: 07,2707           00006                           EXTEND                                         #  COUNTER DISABLED.
056409,000069: 07,2710           03012                           WAND     CHAN12                                
056410,000070: 
056411,000071: 07,2711           03241                           TC       NOATTOFF                              #  TURN OFF NO ATT LAMP.
056412,000072: 
056413,000073: 07,2712           34747                           CAF      BIT5                                  
056414,000074: 07,2713           00006                           EXTEND                                         
056415,000075: 07,2714           05012                           WOR      CHAN12                                
056416,000076: 
056417,000077: 07,2715           05457                           TC       ZEROICDU                              
056418,000078: 07,2716           34746                           CAF      BIT6                                  #  WAIT 320 MS TO GIVE AGS ADEQUATE TIME TO
056419,000079: 07,2717           05203                           TC       WAITLIST                              #  RECEIVE ITS PULSE TRAIN.
056420,000080: 07,2720  E3,1474                                  EBANK=   CDUIND                                
056421,000081: 07,2720           02732 16103                     2CADR    IMUZERO2                              
056422,000082: 
056423,000083: 07,2722           41302                           CS       IMODES30                              #  SEE IF IMU OPERATING AND ALARM IF NOT.
056424,000084: 07,2723           74743                           MASK     BIT9                                  
056425,000085: 07,2724           10000                           CCS      A                                     
056426,000086: 07,2725           12730                           TCF      MODEEXIT                              

Page 1305

056428,000088: 07,2726           05567                           TC       ALARM                                 
056429,000089: 07,2727           00210                           OCT      210                                   
056430,000090: 
056431,000091: 07,2730           00003        MODEEXIT           RELINT                                         #  GENERAL MODE-SWITCHING EXIT.
056432,000092: 07,2731           14631                           TCF      SWRETURN                              
056433,000093: 
056434,000094: 07,2732           03614        IMUZERO2           TC       CAGETEST                              
056435,000095: 07,2733           05457                           TC       ZEROICDU                              #  ZERO CDUX, CDUY, CDUZ
056436,000096: 
056437,000097: 07,2734           44747                           CS       BIT5                                  #  REMOVE ZERO DISCRETE.
056438,000098: 07,2735           00006                           EXTEND                                         
056439,000099: 07,2736           03012                           WAND     CHAN12                                
056440,000100: 
056441,000101: 07,2737           34741                           CAF      BIT11                                 #  WAIT 10 SECS FOR CTRS TO FIND GIMBALS
056442,000102: 07,2740           05224                           TC       VARDELAY                              
056443,000103: 
056444,000104: 07,2741           03614        IMUZERO3           TC       CAGETEST                              
056445,000105: 07,2742           45742                           CS       BITS3&4                               #  REMOVE IMUFAIL AND ICDUFAIL INHIBIT.
056446,000106: 07,2743           71302                           MASK     IMODES30                              
056447,000107: 07,2744           55302                           TS       IMODES30                              
056448,000108: 
056449,000109: 07,2745           44773                           CS       SUPER011                              #  ENABLE DAP AUTO AND HOLD MODES
056450,000110: 07,2746           71303                           MASK     IMODES33                              #      BIT5 FOR GROUND
056451,000111: 07,2747           55303                           TS       IMODES33                              
056452,000112: 
056453,000113: 07,2750           04674                           TC       IBNKCALL                              #  SET ISS WARNING IF EITHER OF ABOVE ARE
056454,000114: 07,2751           14703                           CADR     SETISSW                               #  PRESENT.
056455,000115: 
056456,000116: 07,2752           13604                           TCF      ENDIMU                                
056457,000117: 

Page 1306

056459,000119:                                                                                                  #  IMU COARSE ALIGN MODE.
056460,000120: 
056461,000121: 07,2753           00004        IMUCOARS           INHINT                                         
056462,000122: 07,2754           03626                           TC       CAGETSTJ                              
056463,000123: 07,2755           03117                           TC       SETCOARS                              
056464,000124: 
056465,000125: 07,2756           36241                           CAF      SIX                                   
056466,000126: 07,2757           05203                           TC       WAITLIST                              
056467,000127: 07,2760  E3,1474                                  EBANK=   CDUIND                                
056468,000128: 07,2760           02763 16103                     2CADR    COARS                                 
056469,000129: 
056470,000130: 07,2762           12730                           TCF      MODEEXIT                              
056471,000131: 
056472,000132: 07,2763           03614        COARS              TC       CAGETEST                              
056473,000133: 07,2764           34746                           CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
056474,000134: 07,2765           00006                           EXTEND                                         
056475,000135: 07,2766           05012                           WOR      CHAN12                                
056476,000136: 
056477,000137: 07,2767           34752                           CAF      TWO                                   #  SET CDU INDICATOR
056478,000138: 07,2770           55474        COARS1             TS       CDUIND                                
056479,000139: 
056480,000140: 07,2771           51474                           INDEX    CDUIND                                #  COMPUTE THETAD - THETAA IN 1:S
056481,000141: 07,2772           30321                           CA       THETAD                                #    COMPLEMENT FORM
056482,000142: 07,2773           00006                           EXTEND                                         
056483,000143: 07,2774           51474                           INDEX    CDUIND                                
056484,000144: 07,2775           20032                           MSU      CDUX                                  
056485,000145: 07,2776           00006                           EXTEND                                         
056486,000146: 07,2777           74737                           MP       BIT13                                 #  SHIFT RIGHT 2
056487,000147: 07,3000           56001                           XCH      L                                     #  ROUND
056488,000148: 07,3001           60000                           DOUBLE                                         
056489,000149: 07,3002           54061                           TS       ITEMP1                                
056490,000150: 07,3003           13005                           TCF      +2                                    
056491,000151: 07,3004           26001                           ADS      L                                     
056492,000152: 
056493,000153: 07,3005           51474                           INDEX    CDUIND                                #  DIFFERENCE TO BE COMPUTED
056494,000154: 07,3006           23471                           LXCH     COMMAND                               
056495,000155: 07,3007           11474                           CCS      CDUIND                                
056496,000156: 07,3010           02770                           TC       COARS1                                
056497,000157: 
056498,000158: 07,3011           34752                           CAF      TWO                                   #  MINIMUM OF 4 MS WAIT
056499,000159: 07,3012           05224                           TC       VARDELAY                              
056500,000160: 

Page 1307

056502,000162: 07,3013           03614        COARS2             TC       CAGETEST                              #  DONT CONTINUE IF CAGED.
056503,000163: 07,3014           54061                           TS       ITEMP1                                #  SETS TO +0.
056504,000164: 07,3015           34752                           CAF      TWO                                   #  SET CDU INDICATOR
056505,000165: 07,3016           55474                 +3        TS       CDUIND                                
056506,000166: 
056507,000167: 07,3017           51474                           INDEX    CDUIND                                
056508,000168: 07,3020           11471                           CCS      COMMAND                               #  NUMBER OF PULSES REQUIRED
056509,000169: 07,3021           03025                           TC       COMPOS                                #  GREATER THAN MAX ALLOWED
056510,000170: 07,3022           03034                           TC       NEXTCDU    +1                         
056511,000171: 07,3023           03072                           TC       COMNEG                                
056512,000172: 07,3024           03034                           TC       NEXTCDU    +1                         
056513,000173: 
056514,000174: 07,3025           63720        COMPOS             AD       -COMMAX                               #  COMMAX = MAX NUMBER OF PULSES ALLOWED
056515,000175: 07,3026           00006                           EXTEND                                         #    MINUS ONE
056516,000176: 07,3027           63102                           BZMF     COMZERO                               
056517,000177: 07,3030           51474                           INDEX    CDUIND                                
056518,000178: 07,3031           55471                           TS       COMMAND                               #  REDUCE COMMAND BY MAX NUMBER OF PULSES
056519,000179: 07,3032           43721                           CS       -COMMAX-                              #    ALLOWED
056520,000180: 
056521,000181: 07,3033           24061        NEXTCDU            INCR     ITEMP1                                
056522,000182: 07,3034           64754                           AD       NEG0                                  
056523,000183: 07,3035           51474                           INDEX    CDUIND                                
056524,000184: 07,3036           54050                           TS       CDUXCMD                               #  SET UP COMMAND REGISTER.
056525,000185: 
056526,000186: 07,3037           11474                           CCS      CDUIND                                
056527,000187: 07,3040           03016                           TC       COARS2     +3                         
056528,000188: 
056529,000189: 07,3041           10061                           CCS      ITEMP1                                #  SEE IF ANY PULSES TO GO OUT.
056530,000190: 07,3042           13106                           TCF      SENDPULS                              
056531,000191: 
056532,000192: 07,3043           05221                           TC       FIXDELAY                              #  WAIT FOR GIMBALS TO SETTLE.
056533,000193: 07,3044           00226                           DEC      150        B-14                       
056534,000194: 
056535,000195: 07,3045           34752                           CAF      TWO                                   #  AT END OF COMMAND, CHECK TO SEE THAT
056536,000196: 07,3046           54061        CHKCORS            TS       ITEMP1                                #  GIMBALS ARE WITHIN 2 DEGREES OF THETAD.
056537,000197: 07,3047           50000                           INDEX    A                                     
056538,000198: 07,3050           30032                           CA       CDUX                                  
056539,000199: 07,3051           00006                           EXTEND                                         
056540,000200: 07,3052           50061                           INDEX    ITEMP1                                
056541,000201: 07,3053           20321                           MSU      THETAD                                
056542,000202: 07,3054           10000                           CCS      A                                     
056543,000203: 07,3055           13063                           TCF      COARSERR                              
056544,000204: 07,3056           13060                           TCF      CORSCHK2                              
056545,000205: 07,3057           13063                           TCF      COARSERR                              
056546,000206: 

Page 1308

056548,000208: 07,3060           10061        CORSCHK2           CCS      ITEMP1                                
056549,000209: 07,3061           13046                           TCF      CHKCORS                               
056550,000210: 07,3062           13604                           TCF      ENDIMU                                #  END OF COARSE ALIGNMENT.
056551,000211: 
056552,000212: 07,3063           63071        COARSERR           AD       COARSTOL                              #  2 DEGREES.
056553,000213: 07,3064           00006                           EXTEND                                         
056554,000214: 07,3065           63060                           BZMF     CORSCHK2                              
056555,000215: 
056556,000216: 07,3066           05567                           TC       ALARM                                 #  COARSE ALIGN ERROR.
056557,000217: 07,3067           00211                           OCT      211                                   
056558,000218: 
056559,000219: 07,3070           13612                           TCF      IMUBAD                                
056560,000220: 
056561,000221: 07,3071           77511        COARSTOL           DEC      -.01111                               #  2 DEGREES SCALED AT HALF-REVOLUTIONS
056562,000222: 
056563,000223: 07,3072           63720        COMNEG             AD       -COMMAX                               
056564,000224: 07,3073           00006                           EXTEND                                         
056565,000225: 07,3074           63102                           BZMF     COMZERO                               
056566,000226: 07,3075           40000                           COM                                            
056567,000227: 07,3076           51474                           INDEX    CDUIND                                
056568,000228: 07,3077           55471                           TS       COMMAND                               
056569,000229: 07,3100           33721                           CA       -COMMAX-                              
056570,000230: 07,3101           03033                           TC       NEXTCDU                               
056571,000231: 
056572,000232: 07,3102           34755        COMZERO            CAF      ZERO                                  
056573,000233: 07,3103           51474                           INDEX    CDUIND                                
056574,000234: 07,3104           57471                           XCH      COMMAND                               
056575,000235: 07,3105           03033                           TC       NEXTCDU                               
056576,000236: 
056577,000237: 07,3106           37737        SENDPULS           CAF      13,14,15                              
056578,000238: 07,3107           00006                           EXTEND                                         
056579,000239: 07,3110           05014                           WOR      CHAN14                                
056580,000240: 07,3111           33722                           CAF      600MS                                 
056581,000241: 07,3112           13012                           TCF      COARS2     -1                         #  THEN TO VARDELAY
056582,000242: 
056583,000243: 07,3113           34746        CA+ECE             CAF      BIT6                                  #  ENABLE ALL THREE ISS CDU ERROR COUNTERS
056584,000244: 07,3114           00006                           EXTEND                                         
056585,000245: 07,3115           05012                           WOR      CHAN12                                
056586,000246: 07,3116           05261                           TC       TASKOVER                              
056587,000247: 

Page 1309

056589,000249: 07,3117           34750        SETCOARS           CAF      BIT4                                  #  BYPASS IF ALREADY IN COARSE ALIGN
056590,000250: 07,3120           00006                           EXTEND                                         
056591,000251: 07,3121           02012                           RAND     CHAN12                                
056592,000252: 07,3122           10000                           CCS      A                                     
056593,000253: 07,3123           00002                           TC       Q                                     
056594,000254: 
056595,000255: 07,3124           44746                           CS       BIT6                                  #  CLEAR ISS ERROR COUNTERS
056596,000256: 07,3125           00006                           EXTEND                                         
056597,000257: 07,3126           03012                           WAND     CHAN12                                
056598,000258: 
056599,000259: 07,3127           44742                           CS       BIT10                                 #  KNOCK DOWN GYRO ACTIVITY
056600,000260: 07,3130           00006                           EXTEND                                         
056601,000261: 07,3131           03014                           WAND     CHAN14                                
056602,000262: 07,3132           44755                           CS       ZERO                                  
056603,000263: 07,3133           54047                           TS       GYROCMD                               
056604,000264: 
056605,000265: 07,3134           34750                           CAF      BIT4                                  #  PUT ISS IN COARSE ALIGN
056606,000266: 07,3135           00006                           EXTEND                                         
056607,000267: 07,3136           05012                           WOR      CHAN12                                
056608,000268: 
056609,000269: 07,3137           41036                           CS       DSPTAB     +11D                       #  TURN ON NO ATT LAMP
056610,000270: 07,3140           73162                           MASK     OCT40010                              
056611,000271: 07,3141           27036                           ADS      DSPTAB     +11D                       
056612,000272: 
056613,000273: 07,3142           41303                           CS       IMODES33                              #  DISABLE DAP AUTO AND HOLD MODES
056614,000274: 07,3143           74746                           MASK     BIT6                                  
056615,000275: 07,3144           27303                           ADS      IMODES33                              
056616,000276: 
056617,000277: 07,3145           41302                           CS       IMODES30                              #  DISABLE IMUFAIL
056618,000278: 07,3146           74750                           MASK     BIT4                                  
056619,000279: 07,3147           27302                           ADS      IMODES30                              
056620,000280: 
056621,000281: 07,3150           44747        RNDREFDR           CS       TRACKBIT                              #  CLEAR TRACK FLAG
056622,000282: 07,3151           70075                           MASK     FLAGWRD1                              
056623,000283: 07,3152           54075                           TS       FLAGWRD1                              
056624,000284: 
056625,000285: 07,3153           44735                           CS       DRFTBIT                               #  CLEAR DRIFT FLAG
056626,000286: 07,3154           70076                           MASK     FLAGWRD2                              
056627,000287: 07,3155           54076                           TS       FLAGWRD2                              
056628,000288: 
056629,000289: 07,3156           44737                           CS       REFSMBIT                              #  CLEAR REFSMMAT FLAG
056630,000290: 07,3157           70077                           MASK     FLAGWRD3                              
056631,000291: 07,3160           54077                           TS       FLAGWRD3                              
056632,000292: 
056633,000293: 07,3161           00002                           TC       Q                                     
056634,000294: 
056635,000295: 07,3162           40010        OCT40010           OCT      40010                                 
056636,000296: 

Page 1310

056638,000298:                                                                                                  #  IMU FINE ALIGN MODE SWITCH.
056639,000299: 
056640,000300: 07,3163           00004        IMUFINE            INHINT                                         
056641,000301: 07,3164           03626                           TC       CAGETSTJ                              #  SEE IF IMU BEING CAGED.
056642,000302: 
056643,000303: 07,3165           43717                           CS       BITS4-5                               #  RESET ZERO AND COARSE
056644,000304: 07,3166           00006                           EXTEND                                         
056645,000305: 07,3167           03012                           WAND     CHAN12                                
056646,000306: 
056647,000307: 07,3170           44746                           CS       BIT6                                  #  INSURE DAP AUTO AND HOLD MODES ENABLED
056648,000308: 07,3171           71303                           MASK     IMODES33                              
056649,000309: 07,3172           55303                           TS       IMODES33                              
056650,000310: 
056651,000311: 07,3173           03241                           TC       NOATTOFF                              
056652,000312: 
056653,000313: 07,3174           34742                           CAF      BIT10                                 #  IMU FAIL WAS INHIBITED DURING THE
056654,000314: 07,3175           05203                           TC       WAITLIST                              #  PRESUMABLY PRECEDING COARSE ALIGN. LEAVE
056655,000315: 07,3176  E3,1474                                  EBANK=   CDUIND                                
056656,000316: 07,3176           03207 16103                     2CADR    IFAILOK                               #  IT ON FOR THE FIRST 5 SECS OF FINE ALIGN
056657,000317: 
056658,000318: 07,3200           35000                           CAF      2SECS                                 
056659,000319: 07,3201           05203                           TC       WAITLIST                              
056660,000320: 07,3202  E3,1474                                  EBANK=   CDUIND                                
056661,000321: 07,3202           03205 16103                     2CADR    IMUFINED                              
056662,000322: 
056663,000323: 07,3204           12730                           TCF      MODEEXIT                              
056664,000324: 
056665,000325: 07,3205           03614        IMUFINED           TC       CAGETEST                              #  SEE THAT NO ONE HAS CAGED THE IMU.
056666,000326: 07,3206           13604                           TCF      ENDIMU                                
056667,000327: 

Page 1311

056669,000329: 07,3207           03621        IFAILOK            TC       CAGETSTQ                              #  ENABLE IMU FIAL UNLESS IMU BEING CAGED.
056670,000330: 07,3210           15261                           TCF      TASKOVER                              #  IT IS.
056671,000331: 
056672,000332: 07,3211           34750                           CAF      BIT4                                  #  DONT RESET IMU FAIL INHIBIT IF SOMEONE
056673,000333: 07,3212           00006                           EXTEND                                         #  HAS GONE INTO COARSE ALIGN.
056674,000334: 07,3213           02012                           RAND     CHAN12                                
056675,000335: 07,3214           10000                           CCS      A                                     
056676,000336: 07,3215           15261                           TCF      TASKOVER                              
056677,000337: 
056678,000338: 07,3216           41302                           CS       IMODES30                              #  RESET IMUFAIL.
056679,000339: 07,3217           74737                           MASK     BIT13                                 
056680,000340: 07,3220           27302                           ADS      IMODES30                              
056681,000341: 07,3221           44750                           CS       BIT4                                  
056682,000342: 07,3222           71302        PFAILOK2           MASK     IMODES30                              
056683,000343: 07,3223           55302                           TS       IMODES30                              
056684,000344: 07,3224           04674                           TC       IBNKCALL                              #  THE ISS WARNING LIGHT MAY COME ON NOW
056685,000345: 07,3225           14703                           CADR     SETISSW                               #  THAT THE INHIBIT HAS BEEN REMOVED.
056686,000346: 07,3226           15261                           TCF      TASKOVER                              
056687,000347: 
056688,000348: 07,3227           03621        PFAILOK            TC       CAGETSTQ                              #  ENABLE PIP FAIL PROG ALARM.
056689,000349: 07,3230           15261                           TCF      TASKOVER                              
056690,000350: 
056691,000351: 07,3231           41302                           CS       IMODES30                              #  RESET IMU AND PIPA FAIL BITS.
056692,000352: 07,3232           74742                           MASK     BIT10                                 
056693,000353: 07,3233           27302                           ADS      IMODES30                              
056694,000354: 
056695,000355: 07,3234           41303                           CS       IMODES33                              
056696,000356: 07,3235           74737                           MASK     BIT13                                 
056697,000357: 07,3236           27303                           ADS      IMODES33                              
056698,000358: 
056699,000359: 07,3237           44747                           CS       BIT5                                  
056700,000360: 07,3240           13222                           TCF      PFAILOK2                              
056701,000361: 
056702,000362: 07,3241           43162        NOATTOFF           CS       OCT40010                              #  SUBROUTINE TO TURN OFF NO ATT LAMP.
056703,000363: 07,3242           71036                           MASK     DSPTAB     +11D                       
056704,000364: 07,3243           64735                           AD       BIT15                                 
056705,000365: 07,3244           55036                           TS       DSPTAB     +11D                       
056706,000366: 07,3245           00002                           TC       Q                                     
056707,000367: 

Page 1312

056709,000369:                                                                                                  #  ROUITNES TO INITIATE AND TERMINATE PROGRAM USE OF THE PIPAS.  NO IMUSTALL REQUIRED IN EITHER CASE.
056710,000370: 
056711,000371: 07,3246           44755        PIPUSE             CS       ZERO                                  
056712,000372: 07,3247           54037                           TS       PIPAX                                 
056713,000373: 07,3250           54040                           TS       PIPAY                                 
056714,000374: 07,3251           54041                           TS       PIPAZ                                 
056715,000375: 
056716,000376: 07,3252           03621        PIPUSE1            TC       CAGETSTQ                              #  DO NOT ENABLE PIPA FAIL IF IMU IS CAGED
056717,000377: 07,3253           14631                           TCF      SWRETURN                              
056718,000378: 
056719,000379: 07,3254           00004                           INHINT                                         
056720,000380: 07,3255           44753                           CS       BIT1                                  #  IF PIPA FAILS FROM NOW ON (UNTIL
056721,000381: 07,3256           71302                           MASK     IMODES30                              #  PIPFREE), LIGHT ISS WARNING.
056722,000382: 07,3257           55302                           TS       IMODES30                              
056723,000383: 
056724,000384: 07,3260           04674        PIPFREE2           TC       IBNKCALL                              #  ISS WARNING MIGHT COME ON NOW.
056725,000385: 07,3261           14703                           CADR     SETISSW                               #  (OR GO OFF ON PIPFREE).
056726,000386: 
056727,000387: 07,3262           12730                           TCF      MODEEXIT                              
056728,000388: 
056729,000389: 07,3263           00004        PIPFREE            INHINT                                         #  PROGRAM DONE WITH PIPAS. DONT LIGHT
056730,000390: 07,3264           41302                           CS       IMODES30                              #  ISS WARNING.
056731,000391: 07,3265           74753                           MASK     BIT1                                  
056732,000392: 07,3266           27302                           ADS      IMODES30                              
056733,000393: 
056734,000394: 07,3267           74742                           MASK     BIT10                                 #  IF PIP FAIL ON, DO PROG ALSRM AND RESET
056735,000395: 07,3270           10000                           CCS      A                                     #  ISS WARNING.
056736,000396: 07,3271           12730                           TCF      MODEEXIT                              
056737,000397: 
056738,000398: 07,3272           05567                           TC       ALARM                                 
056739,000399: 07,3273           00212                           OCT      212                                   
056740,000400: 
056741,000401: 07,3274           00004                           INHINT                                         
056742,000402: 
056743,000403: 07,3275           13260                           TCF      PIPFREE2                              
056744,000404: 

Page 1313

056746,000406:                                                                                                  #           THE FOLLOWING ROUTINE TORQUES THE IRIGS ACCORDING TO DOUBLE PRECISION INPUTS IN THE SIX REGISTERS
056747,000407:                                                                                                  #  BEGINNING AT THE ECADR ARRIVING IN A.  THE MINIMUM SIZE OF ANY PULSE TRAIN IS 16 PULSES (.25 CDU COUNTS). THE
056748,000408:                                                                                                  #  UNSENT PORTION OF THE COMMAND IS LEFT INTACT IN THE INPUT COMMAND REGISTERS.
056749,000409: 
056750,000410: 07,3276  E3,1400                                  EBANK=   1400                                  #  VARIABLE, ACTUALLY.
056751,000411: 
056752,000412: 07,3276           54161        IMUPULSE           TS       MPAC       +5                         #  SAVE ARRIVING ECADR.
056753,000413: 07,3277           03626                           TC       CAGETSTJ                              #  DONT PROCEED IF IMU BEING CAGED.
056754,000414: 
056755,000415: 07,3300           11314                           CCS      LGYRO                                 #  SEE IF GYROS BUSY.
056756,000416: 07,3301           03342                           TC       GYROBUSY                              #  SLEEP.
056757,000417: 
056758,000418: 07,3302           54156                           TS       MPAC       +2                         
056759,000419: 07,3303           34746                           CAF      BIT6                                  #  ENABLE THE POWER SUPPLY.
056760,000420: 07,3304           00006                           EXTEND                                         
056761,000421: 07,3305           05014                           WOR      CHAN14                                
056762,000422: 
056763,000423: 07,3306           34751                           CAF      FOUR                                  
056764,000424: 07,3307           05203        GWAKE2             TC       WAITLIST                              #  (IF A JOB WAS PUT TO SLEEP, THE POWER
056765,000425: 07,3310  E3,1474                                  EBANK=   CDUIND                                #  SUPPLY IS LEFT ON BY THE WAKING JOB).
056766,000426: 07,3310           03360 16103                     2CADR    STRTGYRO                              
056767,000427: 
056768,000428: 07,3312           30161                           CA       MPAC       +5                         #  SET UP EBANK, SAVING CALLER'S EBANK FOR
056769,000429: 07,3313           56003                           XCH      EBANK                                 #  RESTORATION ON RETURN.
056770,000430: 07,3314           56161                           XCH      MPAC       +5                         
056771,000431: 07,3315           55314                           TS       LGYRO                                 #  RESERVES GYROS.
056772,000432: 07,3316           74357                           MASK     LOW8                                  
056773,000433: 07,3317           54061                           TS       ITEMP1                                
056774,000434: 
056775,000435: 07,3320           34752                           CAF      TWO                                   #  FORCE SIGN AGREEMENT ON INPUTS.
056776,000436: 07,3321           54157        GYROAGRE           TS       MPAC       +3                         
056777,000437: 07,3322           60000                           DOUBLE                                         
056778,000438: 07,3323           60061                           AD       ITEMP1                                
056779,000439: 07,3324           54160                           TS       MPAC       +4                         
056780,000440: 07,3325           00006                           EXTEND                                         
056781,000441: 07,3326           50000                           INDEX    A                                     
056782,000442: 07,3327           31401                           DCA      1400                                  
056783,000443: 07,3330           52155                           DXCH     MPAC                                  
056784,000444: 07,3331           07256                           TC       TPAGREE                               
056785,000445: 07,3332           52155                           DXCH     MPAC                                  
056786,000446: 07,3333           50160                           INDEX    MPAC       +4                         
056787,000447: 07,3334           53401                           DXCH     1400                                  
056788,000448: 
056789,000449: 07,3335           10157                           CCS      MPAC       +3                         
056790,000450: 07,3336           13321                           TCF      GYROAGRE                              
056791,000451: 
056792,000452: 07,3337           30161                           CA       MPAC       +5                         #  RESTORE CALLER'S EBANK.
056793,000453: 07,3340           54003                           TS       EBANK                                 
056794,000454: 07,3341           12730                           TCF      MODEEXIT                              
056795,000455: 

Page 1314

056797,000457:                                                                                                  #  ROUTINES TO ALLOW TORQUING BY ONLY ONE JOB AT A TIME.
056798,000458: 
056799,000459: 07,3342           00006        GYROBUSY           EXTEND                                         #  SAVE RETURN 2FCADR.
056800,000460: 07,3343           30134                           DCA      BUF2                                  
056801,000461: 07,3344           52155                           DXCH     MPAC                                  
056802,000462: 07,3345           33357        REGSLEEP           CAF      LGWAKE                                
056803,000463: 07,3346           15133                           TCF      JOBSLEEP                              
056804,000464: 
056805,000465: 07,3347           11314        GWAKE              CCS      LGYRO                                 #  WHEN AWAKENED, SEE IF GYROS STILL BUSY.
056806,000466: 07,3350           13345                           TCF      REGSLEEP                              #  IF SO, SLEEP SOME MORE.
056807,000467: 
056808,000468: 07,3351           54156                           TS       MPAC       +2                         
056809,000469: 07,3352           00006                           EXTEND                                         
056810,000470: 07,3353           30155                           DCA      MPAC                                  
056811,000471: 07,3354           52134                           DXCH     BUF2                                  #  RESTORE SWRETURN INFO.
056812,000472: 07,3355           34753                           CAF      ONE                                   
056813,000473: 07,3356           13307                           TCF      GWAKE2                                
056814,000474: 
056815,000475: 07,3357           17347        LGWAKE             CADR     GWAKE                                 
056816,000476: 

Page 1315

056818,000478:                                                                                                  #  GYRO-TORQUING WAITLIST TASKS.
056819,000479: 
056820,000480: 07,3360           43601        STRTGYRO           CS       GDESELCT                              #  DE-SELECT LAST GYRO.
056821,000481: 07,3361           00006                           EXTEND                                         
056822,000482: 07,3362           03014                           WAND     CHAN14                                
056823,000483: 
056824,000484: 07,3363           03614                           TC       CAGETEST                              
056825,000485: 
056826,000486: 07,3364           31314        STRTGYR2           CA       LGYRO                                 #  JUMP ON PHASE COUNTER IN BITS 13-14.
056827,000487: 07,3365           00006                           EXTEND                                         
056828,000488: 07,3366           74750                           MP       BIT4                                  
056829,000489: 07,3367           50000                           INDEX    A                                     
056830,000490: 07,3370           13371                           TCF      +1                                    
056831,000491: 07,3371           03406                           TC       GSELECT                               #  =0.  DO Y GYRO.
056832,000492: 07,3372           00202                           OCT      00202                                 
056833,000493: 
056834,000494: 07,3373           03406                           TC       GSELECT                               #  =1.  DO Z GYRO.
056835,000495: 07,3374           00302                           OCT      00302                                 
056836,000496: 
056837,000497: 07,3375           03404                           TC       GSELECT    -2                         #  =2.  DO X GYRO.
056838,000498: 07,3376           00100                           OCT      00100                                 
056839,000499: 
056840,000500: 07,3377           34755                           CAF      ZERO                                  #  =3.  DONE
056841,000501: 07,3400           55314                           TS       LGYRO                                 
056842,000502: 07,3401           33357                           CAF      LGWAKE                                #  WAKE A POSSIBLE SLEEPING JOB.
056843,000503: 07,3402           05137                           TC       JOBWAKE                               
056844,000504: 
056845,000505: 07,3403           13205        NORESET            TCF      IMUFINED                              #  DO NOT RESET POWER SUPPLY

Page 1316

056847,000507: 07,3404           44751                 -2        CS       FOUR                                  #  SPECIAL ENTRY TO REGRESS LGYRO FOR X.
056848,000508: 07,3405           27314                           ADS      LGYRO                                 
056849,000509: 
056850,000510: 07,3406           50002        GSELECT            INDEX    Q                                     #  SELECT GYRO.
056851,000511: 07,3407           30000                           CAF      0                                     #  PACKED WORD CONTAINS GYRO SELECT BITS
056852,000512: 07,3410           54064                           TS       ITEMP4                                #  AND INCREMENT TO LGYRO.
056853,000513: 07,3411           74757                           MASK     SEVEN                                 
056854,000514: 07,3412           64737                           AD       BIT13                                 
056855,000515: 07,3413           27314                           ADS      LGYRO                                 
056856,000516: 07,3414           54003                           TS       EBANK                                 
056857,000517: 07,3415           74357                           MASK     LOW8                                  
056858,000518: 07,3416           54061                           TS       ITEMP1                                
056859,000519: 
056860,000520: 07,3417           44757                           CS       SEVEN                                 
056861,000521: 07,3420           70064                           MASK     ITEMP4                                
056862,000522: 07,3421           54064                           TS       ITEMP4                                
056863,000523: 
056864,000524: 07,3422           00006                           EXTEND                                         #  MOVE DP COMMAND TO RUPTREGS FOR TESTING.
056865,000525: 07,3423           50061                           INDEX    ITEMP1                                
056866,000526: 07,3424           31401                           DCA      1400                                  
056867,000527: 07,3425           52071                           DXCH     RUPTREG1                              
056868,000528: 
056869,000529: 07,3426           10070                           CCS      RUPTREG1                              
056870,000530: 07,3427           13442                           TCF      MAJ+                                  
056871,000531: 07,3430           13432                           TCF      +2                                    
056872,000532: 07,3431           13562                           TCF      MAJ-                                  
056873,000533: 
056874,000534: 07,3432           10071                           CCS      RUPTREG2                              
056875,000535: 07,3433           13437                           TCF      MIN+                                  
056876,000536: 07,3434           13364                           TCF      STRTGYR2                              
056877,000537: 07,3435           13557                           TCF      MIN-                                  
056878,000538: 07,3436           13364                           TCF      STRTGYR2                              
056879,000539: 

Page 1317

056881,000541: 07,3437           63473        MIN+               AD       -GYROMIN                              #  SMALL POSITIVE COMMAND. SEE IF AT LEAST
056882,000542: 07,3440           00006                           EXTEND                                         #  16 GYRO PULSES.
056883,000543: 07,3441           63364                           BZMF     STRTGYR2                              
056884,000544: 
056885,000545: 07,3442           00006        MAJ+               EXTEND                                         #  DEFINITE POSITIVE OUTPUT.
056886,000546: 07,3443           33603                           DCA      GYROFRAC                              
056887,000547: 07,3444           20071                           DAS      RUPTREG1                              
056888,000548: 
056889,000549: 07,3445           30064                           CA       ITEMP4                                #  SELECT POSITIVE TORQUING FOR THIS GYRO.
056890,000550: 07,3446           00006                           EXTEND                                         
056891,000551: 07,3447           05014                           WOR      CHAN14                                
056892,000552: 
056893,000553: 07,3450           36073                           CAF      LOW7                                  #  LEAVE NUMBER OF POSSIBLE 8192 AUGMENTS
056894,000554: 07,3451           70071                           MASK     RUPTREG2                              #  TO INITIAL COMMAND IN MAJOR PART OF LONG
056895,000555: 07,3452           56071                           XCH      RUPTREG2                              #  TERM STORAGE AND TRUNCATED FRACTION
056896,000556: 07,3453           00006        GMERGE             EXTEND                                         #  IN MINOR PART. THE MAJOR PART WILL BE
056897,000557: 07,3454           74744                           MP       BIT8                                  #  COUNTED DOWN TO ZERO IN THE COURSE OF
056898,000558: 07,3455           54062                           TS       ITEMP2                                #  PUTTING OUT THE ENTIRE COMMAND.
056899,000559: 07,3456           30070                           CA       RUPTREG1                              
056900,000560: 07,3457           00006                           EXTEND                                         
056901,000561: 07,3460           74743                           MP       BIT9                                  
056902,000562: 07,3461           54070                           TS       RUPTREG1                              
056903,000563: 07,3462           30001                           CA       L                                     
056904,000564: 07,3463           00006                           EXTEND                                         
056905,000565: 07,3464           74736                           MP       BIT14                                 
056906,000566: 07,3465           26062                           ADS      ITEMP2                                #  INITIAL COMMAND.
056907,000567: 
056908,000568: 07,3466           00006                           EXTEND                                         #  SEE IF MORE THAN ONE PULSE TRAIN NEEDED
056909,000569: 07,3467           30071                           DCA      RUPTREG1                              #  (MORE THAN 16383 PULSES).
056910,000570: 07,3470           67746                           AD       MINUS1                                
056911,000571: 07,3471           10000                           CCS      A                                     
056912,000572: 07,3472           13516                           TCF      LONGGYRO                              
056913,000573: 07,3473           77601        -GYROMIN           OCT      -176                                  #  MAY BE ADJUSTED TO SPECIFY MINIMUM CMD
056914,000574: 07,3474           13500                           TCF      +4                                    
056915,000575: 
056916,000576: 07,3475           34736                           CAF      BIT14                                 
056917,000577: 07,3476           26062                           ADS      ITEMP2                                
056918,000578: 07,3477           34755                           CAF      ZERO                                  
056919,000579: 
056920,000580: 07,3500           50061                 +4        INDEX    ITEMP1                                
056921,000581: 07,3501           53401                           DXCH     1400                                  

Page 1318

056923,000583: 07,3502           30062                           CA       ITEMP2                                #  ENTIRE COMMAND.
056924,000584: 07,3503           54047        LASTSEG            TS       GYROCMD                               
056925,000585: 07,3504           00006                           EXTEND                                         
056926,000586: 07,3505           74742                           MP       BIT10                                 #  WAITLIST DT
056927,000587: 07,3506           66244                           AD       THREE                                 #  TRUNCATION AND PHASE UNCERTAINTIES.
056928,000588: 07,3507           05203                           TC       WAITLIST                              
056929,000589: 07,3510  E3,1474                                  EBANK=   CDUIND                                
056930,000590: 07,3510           03360 16103                     2CADR    STRTGYRO                              
056931,000591: 
056932,000592: 07,3512           34742        GYROEXIT           CAF      BIT10                                 
056933,000593: 07,3513           00006                           EXTEND                                         
056934,000594: 07,3514           05014                           WOR      CHAN14                                
056935,000595: 07,3515           15261                           TCF      TASKOVER                              
056936,000596: 
056937,000597: 07,3516           50061        LONGGYRO           INDEX    ITEMP1                                
056938,000598: 07,3517           53401                           DXCH     1400                                  #  INITIAL COMMAND OUT PLUS N AUGMENTS OF
056939,000599: 07,3520           34736                           CAF      BIT14                                 #  8192. INITIAL COMMAND IS AT LEAST 8192.
056940,000600: 07,3521           60062                           AD       ITEMP2                                
056941,000601: 07,3522           54047                           TS       GYROCMD                               
056942,000602: 
056943,000603: 07,3523           00006        AUG3               EXTEND                                         #  GET WAITLIST DT TO TIME WHEN TRAIN IS
056944,000604: 07,3524           74742                           MP       BIT10                                 #  ALMOST OUT.
056945,000605: 07,3525           67744                           AD       NEG3                                  
056946,000606: 07,3526           05203                           TC       WAITLIST                              
056947,000607: 07,3527  E3,1474                                  EBANK=   CDUIND                                
056948,000608: 07,3527           03532 16103                     2CADR    8192AUG                               
056949,000609: 
056950,000610: 07,3531           13512                           TCF      GYROEXIT                              
056951,000611: 
056952,000612: 07,3532           03614        8192AUG            TC       CAGETEST                              
056953,000613: 
056954,000614: 07,3533           34750                           CAF      BIT4                                  
056955,000615: 07,3534           00006                           EXTEND                                         
056956,000616: 07,3535           02012                           RAND     CHAN12                                
056957,000617: 07,3536           10000                           CCS      A                                     
056958,000618: 07,3537           13612                           TCF      IMUBAD                                
056959,000619: 07,3540           31314                           CA       LGYRO                                 #  ADD 8192 PULSES TO GYROCMD
056960,000620: 07,3541           54003                           TS       EBANK                                 
056961,000621: 07,3542           74357                           MASK     LOW8                                  
056962,000622: 07,3543           54061                           TS       ITEMP1                                
056963,000623: 
056964,000624: 07,3544           50061                           INDEX    ITEMP1                                #  SEE IF THIS IS THE LAST AUG.
056965,000625: 07,3545           11400                           CCS      1400                                  
056966,000626: 07,3546           13552                           TCF      AUG2                                  #  MORE TO COME.
056967,000627: 
056968,000628: 07,3547           34736                           CAF      BIT14                                 
056969,000629: 07,3550           26047                           ADS      GYROCMD                               
056970,000630: 07,3551           13504                           TCF      LASTSEG    +1                         
056971,000631: 

Page 1319

056973,000633: 07,3552           50061        AUG2               INDEX    ITEMP1                                
056974,000634: 07,3553           55400                           TS       1400                                  
056975,000635: 07,3554           34736                           CAF      BIT14                                 
056976,000636: 07,3555           26047                           ADS      GYROCMD                               
056977,000637: 07,3556           13523                           TCF      AUG3                                  #  COMPUTE DT.
056978,000638: 

Page 1320

056980,000640: 07,3557           63473        MIN-               AD       -GYROMIN                              #  POSSIBLE NEGATIVE OUTPUT.
056981,000641: 07,3560           00006                           EXTEND                                         
056982,000642: 07,3561           63364                           BZMF     STRTGYR2                              
056983,000643: 
056984,000644: 07,3562           00006        MAJ-               EXTEND                                         #  DEFINITE NEGATIVE OUTPUT.
056985,000645: 07,3563           43603                           DCS      GYROFRAC                              
056986,000646: 07,3564           20071                           DAS      RUPTREG1                              
056987,000647: 
056988,000648: 07,3565           30064                           CA       ITEMP4                                #  SELECT NEGATIVE TORQUING FOR THIS GYRO.
056989,000649: 07,3566           64743                           AD       BIT9                                  
056990,000650: 07,3567           00006                           EXTEND                                         
056991,000651: 07,3570           05014                           WOR      CHAN14                                
056992,000652: 
056993,000653: 07,3571           40070                           CS       RUPTREG1                              #  SET UP RUPTREGS TO FALL INTO GMERGE.
056994,000654: 07,3572           54070                           TS       RUPTREG1                              #  ALL NUMBERS PUT INTO GYROCMD ARE
056995,000655: 07,3573           40071                           CS       RUPTREG2                              #  POSITIVE - BIT9 OF CHAN 14 DETERMINES
056996,000656: 07,3574           76073                           MASK     LOW7                                  #  THE SIGN OF THE COMMAND.
056997,000657: 07,3575           40000                           COM                                            
056998,000658: 07,3576           56071                           XCH      RUPTREG2                              
056999,000659: 07,3577           40000                           COM                                            
057000,000660: 07,3600           13453                           TCF      GMERGE                                
057001,000661: 
057002,000662: 07,3601           01700        GDESELCT           OCT      1700                                  #  TURN OFF SELECT AND ACTIVITY BITS.
057003,000663: 
057004,000664: 07,3602           00000 00034  GYROFRAC           2DEC     .215       B-21                       
057005,000665: 

Page 1321

057007,000667:                                                                                                  #  IMU MODE SWITCHING ROUTINES COME HERE WHEN ACTION COMPLETE.
057008,000668: 
057009,000669: 07,3604           00006        ENDIMU             EXTEND                                         #  MODE IS BAD IF CAGE HAS OCCURED OR IF
057010,000670: 07,3605           00011                           READ     DSALMOUT                              #  ISS WARNING IS ON.
057011,000671: 07,3606           74753                           MASK     BIT1                                  
057012,000672: 07,3607           10000                           CCS      A                                     
057013,000673: 07,3610           13612                           TCF      IMUBAD                                
057014,000674: 
057015,000675: 07,3611           13640        IMUGOOD            TCF      GOODEND                               #  WITH C(A) = 0.
057016,000676: 
057017,000677: 07,3612           34755        IMUBAD             CAF      ZERO                                  
057018,000678: 07,3613           13635                           TCF      BADEND                                
057019,000679: 
057020,000680: 07,3614           34746        CAGETEST           CAF      BIT6                                  #  SUBROUTINE TO TERMINATE IMU MODE
057021,000681: 07,3615           71302                           MASK     IMODES30                              #  SWITCH IF IMU HAS BEEN CAGED.
057022,000682: 07,3616           10000                           CCS      A                                     
057023,000683: 07,3617           13612                           TCF      IMUBAD                                #  DIRECTLY.
057024,000684: 07,3620           00002                           TC       Q                                     #  WITH C(A) = +0.
057025,000685: 
057026,000686: 07,3621           41302        CAGETSTQ           CS       IMODES30                              #  SKIP IF IMU NOT BEING CAGED.
057027,000687: 07,3622           74746                           MASK     BIT6                                  
057028,000688: 07,3623           10000                           CCS      A                                     
057029,000689: 07,3624           24002                           INCR     Q                                     
057030,000690: 07,3625           00002                           TC       Q                                     
057031,000691: 
057032,000692: 07,3626           41302        CAGETSTJ           CS       IMODES30                              #  IF DURING MODE SWITCH INITIALIZATION
057033,000693: 07,3627           74746                           MASK     BIT6                                  #  IT IS FOUND THAT THE IMU IS BEING CAGED,
057034,000694: 07,3630           10000                           CCS      A                                     #  SET IMUCADR TO -0 TO INDICATE OPERATION
057035,000695: 07,3631           00002                           TC       Q                                     #  COMPLETE BUT FAILED. RETURN IMMEDIATELY
057036,000696: 
057037,000697: 07,3632           44755                           CS       ZERO                                  #  TO SWRETURN.
057038,000698: 07,3633           55304                           TS       IMUCADR                               
057039,000699: 07,3634           12730                           TCF      MODEEXIT                              
057040,000700: 

Page 1322

057042,000702:                                                                                                  #           GENERALIZED MODE SWITCHING TERMINATION. ENTER AT GOODEND FOR SUCCESSFUL COMPLETION OF AN I/O OPERATION
057043,000703:                                                                                                  #  OR AT BADEND FOR AN UNSUCCESSFUL ONE. C(A) OR ARRIVAL =0 FOR IMU, 1 FOR OPTICS.
057044,000704: 
057045,000705: 07,3635           54071        BADEND             TS       RUPTREG2                              #  DEVICE INDEX.
057046,000706: 07,3636           44755                           CS       ZERO                                  #  FOR FAILURE.
057047,000707: 07,3637           13642                           TCF      GOODEND    +2                         
057048,000708: 
057049,000709: 07,3640           54071        GOODEND            TS       RUPTREG2                              
057050,000710: 07,3641           44753                           CS       ONE                                   #  FOR SUCCESS.
057051,000711: 
057052,000712: 07,3642           54072                           TS       RUPTREG3                              
057053,000713: 07,3643           50071                           INDEX    RUPTREG2                              #  SEE IF USING PROGRAM ASLEEP.
057054,000714: 07,3644           11304                           CCS      MODECADR                              
057055,000715: 07,3645           13651                           TCF      +4                                    #  YES - WAKE IT UP.
057056,000716: 07,3646           13661                           TCF      ENDMODE                               #  IF 0, PROGRAM NOT IN YET.
057057,000717: 
057058,000718: 07,3647           00006                           EXTEND                                         
057059,000719: 07,3650           13662                           BZF      ENDMODE    +1                         #  BZF = TCF IF MODECADR = -0.
057060,000720: 
057061,000721: 07,3651           34755                           CAF      ZERO                                  #  WAKE SLEEPING PROGRAM.
057062,000722: 07,3652           50071                           INDEX    RUPTREG2                              
057063,000723: 07,3653           57304                           XCH      MODECADR                              
057064,000724: 07,3654           05137                           TC       JOBWAKE                               
057065,000725: 
057066,000726: 07,3655           40072                           CS       RUPTREG3                              #  ADVANCE LOC IF SUCCESSFUL.
057067,000727: 07,3656           50064                           INDEX    LOCCTR                                
057068,000728: 07,3657           26164                           ADS      LOC                                   
057069,000729: 
057070,000730: 07,3660           15261                           TCF      TASKOVER                              
057071,000731: 
057072,000732: 07,3661           30072        ENDMODE            CA       RUPTREG3                              #  -0 INDICATES OPERATION COMPLETE BUT
057073,000733: 07,3662           50071                 +1        INDEX    RUPTREG2                              #  UNSUCCESSFUL: -1 INDICATES COMPLETE AND
057074,000734: 07,3663           55304                           TS       MODECADR                              #  SUCCESSFUL.
057075,000735: 07,3664           15261                           TCF      TASKOVER                              
057076,000736: 

Page 1323

057078,000738:                                                                                                  #           GENERAL STALLING ROUTINE. USING PROGRAMS COME HERE TO WAIT FOR I/O COMPLETION.
057079,000739: 
057080,000740:                                                                                                  #  PROGRAM DESCRIPTION                                     DATE- 21 FEB 1967
057081,000741:                                                                                                  #                                             LOG SECTION IMU MODE SWITCHING
057082,000742:                                                                                                  #  MOD BY- R. MELANSON TO ADD DOCUMENTATION       ASSEMBLY SUNDISK  REV.  82
057083,000743: 
057084,000744:                                                                                                  #  FUNCTIONAL DESCRIPTION-
057085,000745:                                                                                                  #    TO DELAY FURTHER EXECUTION OF THE CALLING ROUTINE UNTIL ITS SELECTED
057086,000746:                                                                                                  #    I/O FUNCTION IS COMPLETE.THE FOLLOWING CHECKS ON THE CALLING ROUTINE:S
057087,000747:                                                                                                  #    MODECADR ARE MADE AND ACTED UPON.
057088,000748:                                                                                                  #      1) +0 INDICATES INCOMPLETE I/O OPERATION.CALLING ROUTINE IS PUT TO
057089,000749:                                                                                                  #         SLEEP.
057090,000750:                                                                                                  #      2) -1 INDICATES COMPLETED I/O OPERATION. STALL BYPASSES JOBSLEEP
057091,000751:                                                                                                  #         CALL AND RETURNS TO CALLING ROUTINE AT L+3
057092,000752:                                                                                                  #      3) -0 INDICATES COMPLETED I/O WITH FAILURE. STALL CLEARS MODECADR
057093,000753:                                                                                                  #         AND RETURNS TO CALLING ROUTINE AT L+2.
057094,000754:                                                                                                  #      4) VALUE GREATER THAN 0 INDICATES TWO ROUTINES CALLING FOR USE OF
057095,000755:                                                                                                  #         SAME DEVICE. STALL EXITS TO ABORT WHICH EXECUTES A PROGRAM
057096,000756:                                                                                                  #         RESTART WHICH IN TURN CLEARS ALL MODECADR REGISTERS.
057097,000757: 
057098,000758:                                                                                                  #   CALLING SEQUENCE-
057099,000759:                                                                                                  #    L   TC   BANKCALL
057100,000760:                                                                                                  #    L+1 CADR (ONE OF 5 STALL ADDRESSES I.E. IMUSTALL, OPTSTALL, RADSTALL,
057101,000761:                                                                                                  #               AOTSTALL, OR ATTSTALL)
057102,000762: 
057103,000763:                                                                                                  #   NORMAL-EXIT MODE-
057104,000764:                                                                                                  #    TCF   JOBSLEEP OR TCF   MODEXIT
057105,000765: 
057106,000766:                                                                                                  #  ALARM OR ABORT EXIT MODE-
057107,000767:                                                                                                  #    TC   ABORT
057108,000768: 
057109,000769:                                                                                                  #  OUTPUT-
057110,000770:                                                                                                  #    MODECADR=CADR IF JOBSLEEP
057111,000771:                                                                                                  #    MODECADR=+0   IF I/O COMPLETE
057112,000772:                                                                                                  #    BUF2=L+3      IF I/O COMPLETE AND GOOD.
057113,000773:                                                                                                  #    BUF2=L+2 IF I/O COMPLETE BUT FAILED.
057114,000774: 
057115,000775:                                                                                                  #  ERASABLE INITIALIZATION-
057116,000776:                                                                                                  #    BUF2 CONTAINS RETURN ADDRESS PLUS 1,(L+2)
057117,000777:                                                                                                  #    BUF2+1 CONTAINS FBANK VALUE OF CALLING ROUTINE.
057118,000778:                                                                                                  #    MODECADR OF CALLING ROUTINE CONTAINS +0,-1,-0 OR CADR RETURN ADDRESS.
057119,000779: 
057120,000780:                                                                                                  #  DEBRIS-
057121,000781:                                                                                                  #    RUPTREG2 AND CALLING ROUTINE MODECADR.
057122,000782: 
057123,000783: 07,3665           34753        AOTSTALL           CAF      ONE                                   #  AOT.
057124,000784: 07,3666           03672                           TC       STALL                                 
057125,000785: 
057126,000786: 07,3667           34752        RADSTALL           CAF      TWO                                   
057127,000787: 07,3670           13672                           TCF      STALL                                 
057128,000788: 

Page 1324

057130,000790: 07,3671  07,3665               OPTSTALL           EQUALS   AOTSTALL                              
057131,000791: 
057132,000792: 07,3671           34755        IMUSTALL           CAF      ZERO                                  #  IMU.
057133,000793: 
057134,000794: 07,3672           00004        STALL              INHINT                                         
057135,000795: 07,3673           54071                           TS       RUPTREG2                              #  SAVE DEVICE INDEX.
057136,000796: 07,3674           50000                           INDEX    A                                     #  SEE IF OPERATION COMPLETE.
057137,000797: 07,3675           11304                           CCS      MODECADR                              
057138,000798: 07,3676           13714                           TCF      MODABORT                              #  ALLOWABLE STATES ARE +0, -1, AND -0.
057139,000799: 07,3677           13710                           TCF      MODESLP                               #  OPERATION INCOMPLETE.
057140,000800: 07,3700           13704                           TCF      MODEGOOD                              #  COMPLETE AND GOOD IF = -1.
057141,000801: 
057142,000802: 07,3701           50071        MG2                INDEX    RUPTREG2                              #  COMPLETE AND FAILED IF -0.  RESET TO +0.
057143,000803: 07,3702           55304                           TS       MODECADR                              #  RETURN TO CALLER.
057144,000804: 07,3703           12730                           TCF      MODEEXIT                              
057145,000805: 
057146,000806: 07,3704           10000        MODEGOOD           CCS      A                                     #  MAKE SURE INITIAL STATE -1.
057147,000807: 07,3705           13714                           TCF      MODABORT                              
057148,000808: 
057149,000809: 07,3706           24133                           INCR     BUF2                                  #  IF SO, INCREMENT RETURN ADDRESS AND
057150,000810: 07,3707           13701                           TCF      MG2                                   #  RETURN IMMEDIATELY, SETTING CADR = +0.
057151,000811: 
057152,000812: 07,3710           04645        MODESLP            TC       MAKECADR                              #  CALL FROM SWITCHABLE FIXED ONLY.
057153,000813: 07,3711           50071                           INDEX    RUPTREG2                              
057154,000814: 07,3712           55304                           TS       MODECADR                              
057155,000815: 07,3713           15133                           TCF      JOBSLEEP                              
057156,000816: 
057157,000817: 07,3714           52134        MODABORT           DXCH     BUF2                                  
057158,000818: 07,3715           05710                           TC       BAILOUT1                              #  TWO PROGRAMS USING THE SAME DEVICE.
057159,000819: 07,3716           01210                           OCT      1210                                  
057160,000820: 

Page 1325

057162,000822:                                                                                                  #  CONSTANTS FOR MODE SWITCHING ROUTINES
057163,000823: 
057164,000824: 07,3717     5742               BITS3&4            =        OCT14                                 
057165,000825: 07,3717     4771               BITS4&6            =        OCT50                                 
057166,000826: 07,3717           00030        BITS4-5            OCT      00030                                 
057167,000827: 07,3720     4744               IMUSEFLG           EQUALS   BIT8                                  #  INTERPRETER SWITCH 7.
057168,000828: 07,3720           77500        -COMMAX            DEC      -191       B-14                       
057169,000829: 07,3721           77477        -COMMAX-           DEC      -192       B-14                       
057170,000830: 07,3722           00074        600MS              DEC      60         B-14                       
057171,000831: 07,3723  07,3163               IMUFIN20           =        IMUFINE                               
057172,000832: 07,3723           31307        GOMANUR            CA       ATTCADR                               #  IS KALCMANU FREE
057173,000833: 07,3724           00006                           EXTEND                                         
057174,000834: 07,3725           13730                           BZF      +3                                    
057175,000835: 
057176,000836: 07,3726           05652                           TC       POODOO                                #  NO
057177,000837: 07,3727           01210                           OCT      1210                                  #  2 TRYING TO USE SAME DEVICE
057178,000838: 
057179,000839: 07,3730           00006                 +3        EXTEND                                         
057180,000840: 07,3731           30134                           DCA      BUF2                                  
057181,000841: 07,3732           53310                           DXCH     ATTCADR                               #  SAVE FINAL RETURN FOR KALCMAN3
057182,000842: 
057183,000843: 07,3733           30006                           CA       BBANK                                 
057184,000844: 07,3734           74757                           MASK     SEVEN                                 
057185,000845: 07,3735           27310                           ADS      ATTCADR    +1                         
057186,000846: 
057187,000847: 07,3736           30167                           CA       PRIORITY                              
057188,000848: 07,3737           77724                           MASK     PRIO37                                
057189,000849: 07,3740           55311                           TS       ATTPRIO                               #  SAVE USERS PRIO
057190,000850: 
057191,000851: 07,3741           33745                           CAF      KALEBCON                              #  SET EBANK FOR KALCMAN3
057192,000852: 07,3742           54003                           TS       EBANK                                 
057193,000853: 07,3743           04635                           TC       POSTJUMP                              
057194,000854: 07,3744           44004                           CADR     KALCMAN3                              
057195,000855: 07,3745           03274        KALEBCON           ECADR    BCDU                                  
057196,000856: 

Page 1326

057198,000858:                                                                                                  #  PROGRAM DESCRIPTION
057199,000859:                                                                                                  #  IMU STATUS CHECK ROUTINE R02 (SUBROUTINE UTILITY)
057200,000860:                                                                                                  #  MOD NO - 1
057201,000861:                                                                                                  #  MOD BY - N.BRODEUR
057202,000862: 
057203,000863:                                                                                                  #  FUNCTIONAL DESCRIPTION
057204,000864:                                                                                                  #  TO CHECK WHETHER IMU IS ON AND IF ON WHETHER IT IS ALIGNED TO AN
057205,000865:                                                                                                  #  ORIENTATION KNOWN BY THE CMC. TO REQUEST SELECTION OF THE APPROPRIATE
057206,000866:                                                                                                  #  PROGRAM IF THE IMU IS OFF OR NOT ALIGNED TO AN ORIENTATION KNOWN BY THE
057207,000867:                                                                                                  #  CMC. CALLED THROUGH BANKCALL
057208,000868:                                                                                                  #  CALLING SEQUENCE-
057209,000869: 
057210,000870:                                                                                                  #  L        TC     BANKCALL
057211,000871:                                                                                                  #  L+1      CADR   R02BOTH
057212,000872:                                                                                                  #  SUBROUTINES CALLED
057213,000873: 
057214,000874:                                                                                                  #        VARALARM
057215,000875:                                                                                                  #        FLAGUP
057216,000876: 
057217,000877:                                                                                                  #  NORMAL EXIT MODES
057218,000878: 
057219,000879:                                                                                                  #  AT L+2 OF CALLING SEQUENCE
057220,000880:                                                                                                  #  ALARM OR ABORT EXIT MODES
057221,000881:                                                                                                  #        GOTOPOOH, WITH ALARM
057222,000882:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED
057223,000883: 
057224,000884:                                                                                                  #  NONE
057225,000885:                                                                                                  #  DEBRIS
057226,000886: 
057227,000887:                                                                                                  #  CENTRALS - A,Q,L
057228,000888: 
057229,000889: 34,3760                                           BANK     34                                    
057230,000890: 04,2000                                           SETLOC   R02                                   
057231,000891: 04,2000                                           BANK                                           
057232,000892: 04,3174                                           COUNT*   $$/R02                                
057233,000893: 04,3174           00063        DEC51              DEC      51         B-14                       
057234,000894: 04,3175           34737        R02BOTH            CAF      REFSMBIT                              
057235,000895: 04,3176           70077                           MASK     FLAGWRD3                              
057236,000896: 04,3177           10000                           CCS      A                                     
057237,000897: 04,3200           03211                           TC       R02ZERO                               #  ZERO IMUS
057238,000898: 
057239,000899: 04,3201           31302                           CA       IMODES30                              
057240,000900: 04,3202           74743                           MASK     BIT9                                  #  IS ISS INITIALIZED
057241,000901: 04,3203           00006                           EXTEND                                         
057242,000902: 04,3204           13206                           BZF      +2                                    
057243,000903: 04,3205           44750                           CS       BIT4                                  #  SEND IMU ALARM CODE 210
057244,000904: 04,3206           63214                           AD       OCT220                                #  SEND REFSMM ALARM
057245,000905: 04,3207           05735                           TC       VARALARM                              
057246,000906: 
057247,000907: 04,3210           06001                           TC       GOTOPOOH                              
057248,000908: 
057249,000909: 04,3211           05504        R02ZERO            TC       UPFLAG                                

Page 1327

057251,000911: 04,3212           00007                           ADRES    IMUSE                                 
057252,000912: 04,3213           14631                           TCF      SWRETURN                              
057253,000913: 04,3214           00220        OCT220             OCT      220                                   
057254,000914: 

Page 1328

057256,000916:                                                                                                  #  PROGRAM DESCRIPTION   P06   10 FEB 67
057257,000917: 
057258,000918:                                                                                                  #  TRANSFER THE ISS/CMC FROM THE OPERATE TO THE STANDBY CONDITION.
057259,000919: 
057260,000920:                                                                                                  #  THE NORMAL CONDITION OF READINESS OF THE GNCS WHEN NOT IN USE IS STANDBY. IN THIS CONDITION THE IMU
057261,000921:                                                                                                  #  HEATER POWER IS ON. THE IMU OPERATE POWER IS OFF. THE COMPUTER POWER IS ON. THE OPTICS POWER IS OFF. THE
057262,000922:                                                                                                  #  CMC  STANDBY ON THE MAIN AND LEB DISKYS IS ON.
057263,000923: 
057264,000924:                                                                                                  #  CALLING SEQUENCE:
057265,000925:                                                                                                  #            ASTRONAUT REQUEST THROUGH DSKY    V37E 06E.
057266,000926: 
057267,000927:                                                                                                  #  SUBROUTINES CALLED:
057268,000928:                                                                                                  #           GOPERF1
057269,000929:                                                                                                  #           BANKCALL
057270,000930:                                                                                                  #           FLAGDOWN
057271,000931: 

Page 1329

057273,000933:                                                                                                  #  PRESTAND PREPARES FOR STANDBY BY SNAPSHOTTING THE SCALER AND TIME1 TIME2
057274,000934:                                                                                                  #  THE LOW 5 BITS OF THE SCALER ARE INSPECTED TO INSURE COMPATABILITY
057275,000935:                                                                                                  #  BETWEEN THE SCALER READING AND THE TIME1 TIME2 READING.
057276,000936: 
057277,000937: 37,2000                                           SETLOC   P05P06                                
057278,000938: 37,2000                                           BANK                                           
057279,000939: 
057280,000940: 37,3641     0314                                  EBANK=   TIME2SAV                              
057281,000941: 37,3641                                           COUNT*   $$/P06                                
057282,000942: 
057283,000943: 37,3641           05504        P06                TC       UPFLAG                                #  SET NODOV37 BIT
057284,000944: 37,3642           00054                           ADRES    NODOFLAG                              
057285,000945: 
057286,000946: 37,3643           00004        PRESTAND           INHINT                                         
057287,000947: 37,3644           00006                           EXTEND                                         
057288,000948: 37,3645           30025                           DCA      TIME2                                 #  SNAPSHOT TIME1 TIME2
057289,000949: 37,3646           52315                           DXCH     TIME2SAV                              
057290,000950: 37,3647           03700                           TC       SCALPREP                              
057291,000951: 37,3650           03643                           TC       PRESTAND                              #  T1,T2,SCALER NOT COMPATIBLE
057292,000952: 37,3651           52155                           DXCH     MPAC                                  #  T1,T2 AND SCALER OK
057293,000953: 37,3652           52317                           DXCH     SCALSAVE                              #  STORE SCALER
057294,000954: 37,3653           00004                           INHINT                                         
057295,000955: 37,3654           04616                           TC       BANKCALL                              
057296,000956: 37,3655           17150                           CADR     RNDREFDR                              #  REFSMM, DRIFT, TRACK FLAGS DOWN
057297,000957: 
057298,000958: 37,3656           05516                           TC       DOWNFLAG                              
057299,000959: 37,3657           00007                           ADRES    IMUSE                                 #  IMUSE DOWN
057300,000960: 37,3660           05516                           TC       DOWNFLAG                              
057301,000961: 37,3661           00010                           ADRES    RNDVZFLG                              #  RNDVZFLG DOWN
057302,000962: 
057303,000963: 37,3662           34741                           CAF      BIT11                                 
057304,000964: 37,3663           00006                           EXTEND                                         
057305,000965: 37,3664           05013                           WOR      CHAN13                                #  SET STANDBY ENABLE BIT
057306,000966: 
057307,000967: 37,3665           05353                           TC       PHASCHNG                              #  SET RESTART TO POSTAND WHEN STANDBY
057308,000968: 37,3666           07024                           OCT      07024                                 #    RECOVERS
057309,000969: 37,3667           20000                           OCT      20000                                 
057310,000970: 37,3670     0316                                  EBANK=   SCALSAVE                              
057311,000971: 37,3670           03720 76060                     2CADR    POSTAND                               
057312,000972: 
057313,000973: 37,3672           34774                           CAF      OCT62                                 
057314,000974: 37,3673           04616                           TC       BANKCALL                              
057315,000975: 37,3674           20476                           CADR     GOPERF1                               
057316,000976: 37,3675           13672                           TCF      -3                                    
057317,000977: 37,3676           13672                           TCF      -4                                    
057318,000978: 37,3677           13672                           TCF      -5                                    
057319,000979: 
057320,000980: 37,3700     4774               OCT62              EQUALS   .5SEC                                 #  DEC 50 = OCT 62
057321,000981: 
057322,000982:                                                                                                  #  THE LOW 5 BITS OF THE SCALER READS 10000 FOR THE FIRST INTERVAL AFTER A

Page 1330

057324,000984:                                                                                                  #  T1 INCREMENT. IF  SCALPREP DETECTS THIS INTERVAL THE T1,T2 AND SCALER
057325,000985:                                                                                                  #  DATA ARE NOT COMPATABLE AND RETURN IS TO L+1 FOR ANOTHER READING OF THE
057326,000986:                                                                                                  #  DATA. OTHERWISE, THE RETURN IS TO L+2 TO PROCEED. ROUTINE ALSO PREPARES
057327,000987:                                                                                                  #  THE SCALER READING FOR COMPUTATION OF THE INCREMENT TO UPDATE T1T2. (THE
057328,000988:                                                                                                  #  10 MS BIT (BIT 6) OF THE SCALER IS INCREMENTED 5 MS OUT OF PHASE FROM
057329,000989:                                                                                                  #  T1.) ADDITION OF 5 MS (BIT 5) TO THE SCALER READING HAS THE EFFECT OF
057330,000990:                                                                                                  #  ADJUSTING BIT 6 IN THE SCALER TO BE IN PHASE WITH BIT 1 OF T1. THE LOW 5
057331,000991:                                                                                                  #  BITS OF THE SCALER READING ARE THEN SET TO ZERO, TO TRUNCATE THE SCALER
057332,000992:                                                                                                  #  DATA TO 10 MS. RESULTS ARE STORED IN MPAC, +1.
057333,000993: 
057334,000994: 37,3700           00006        SCALPREP           EXTEND                                         
057335,000995: 37,3701           22156                           QXCH     MPAC       +2                         
057336,000996: 37,3702           04103                           TC       FINETIME   +1                         
057337,000997: 37,3703           00003                           RELINT                                         
057338,000998: 37,3704           52155                           DXCH     MPAC                                  
057339,000999: 37,3705           34747                           CA       BIT5                                  #  ADD 5 MS TO THE SCALER READING.
057340,001000: 37,3706           54001                           TS       L                                     
057341,001001: 37,3707           34755                           CA       ZERO                                  
057342,001002: 37,3710           20155                           DAS      MPAC                                  
057343,001003: 37,3711           44346                           CS       LOW5                                  #  SET LOW 5 BITS OF (SCALER+5MS) TO ZERO
057344,001004: 37,3712           70155                           MASK     MPAC       +1                         #  AND STORE RESULTS IN MPAC,+1.
057345,001005: 37,3713           56155                           XCH      MPAC       +1                         
057346,001006: 37,3714           74346                           MASK     LOW5                                  #  TEST LOW 5 BITS OF SCALER FOR THE FIRST
057347,001007:                                                                                                  #  INTERVAL AFTER THE T1 INCREMENT
057348,001008:                                                                                                  #  (NOW = 00000, SINCE BIT 5 ADDED).
057349,001009: 37,3715           10000                           CCS      A                                     #  IS IT 1ST INTERVAL AFTER T1 INCREMENT
057350,001010: 37,3716           24156                           INCR     MPAC       +2                         #  NO
057351,001011: 37,3717           00156                           TC       MPAC       +2                         #  YES
057352,001012: 
057353,001013:                                                                                                  #  POSTAND RECOVERS TIME AFTER STANDBY.THE SCALER IS SNAPSHOTTED AND THE
057354,001014:                                                                                                  #  TIME1 TIME2 COUNTER IS SET TO ZERO. THE LOW 5 BITS OF THE SCALER ARE
057355,001015:                                                                                                  #  INSPECTED TO INSURE COMPATABILITY BETWEEN THE SCALER READING AND THE
057356,001016:                                                                                                  #  CLEARING OF THE TIME COUNTER. IT THEN COMPUTES THE DIFFERENCE IN SCALER
057357,001017:                                                                                                  #  VALUES (IN DP) AND ADDS THIS TO THE PREVIOUSLY SNAPSHOTTED VALUES OF
057358,001018:                                                                                                  #  TIME1 TIME2 AND PLACES THIS NEW TIME INTO THE TIME1 TIME2 COUNTER.
057359,001019: 
057360,001020: 37,3720                                           COUNT*   $$/P05                                
057361,001021: 
057362,001022: 37,3720           44741        POSTAND            CS       BIT11                                 #  RECOVER TIME AFTER STANDBY.
057363,001023: 37,3721           00006                           EXTEND                                         
057364,001024: 37,3722           03013                           WAND     CHAN13                                #  CLEAR STANDBY ENABLE BIT
057365,001025: 37,3723           00004                           INHINT                                         
057366,001026: 37,3724           34755                           CA       ZERO                                  
057367,001027: 37,3725           54001                           TS       L                                     
057368,001028: 37,3726           52025                           DXCH     TIME2                                 #  CLEAR TIME1TIME2
057369,001029: 37,3727           03700                           TC       SCALPREP                              #  STORE SCALER IN MPAC, MPAC+1
057370,001030: 37,3730           03723                           TC       POSTAND    +3                         #  T1,T2,SCALER NOT COMPATIBLE
057371,001031: 37,3731           00006                           EXTEND                                         #  T1,T2 AND SCALER OK
057372,001032: 37,3732           40317                           DCS      SCALSAVE                              
057373,001033: 37,3733           20155                           DAS      MPAC                                  #  FORM DP DIFFERENCE OF POSTSTANDBY SCALER

Page 1331

057375,001035: 37,3734           34742                           CAF      BIT10                                 #  MINUS PRESTANDBY SCALER AND SHIFT RIGHT
057376,001036: 37,3735           07306                           TC       SHORTMP                               #  5 TO ALIGN BITS WITH TIME1 TIME2.
057377,001037: 37,3736           34755                           CAF      ZERO                                  
057378,001038: 37,3737           54156                           TS       MPAC       +2                         #  NEEDED FOR TP AGREE
057379,001039: 37,3740           07256                           TC       TPAGREE                               #  MAKE DP DIFF AGREE
057380,001040: 37,3741           10154                           CCS      MPAC                                  
057381,001041: 37,3742           03747                           TC       POSTCOM                               #  IF DP DIFF NET +, NO SCALER OVERFLOW
057382,001042: 37,3743           03747                           TC       POSTCOM                               #  BETWEEN PRE AND POST STANDBY.
057383,001043: 37,3744           03745                           TC       +1                                    #  IF DP DIFF NET -, SCALER OVERFLOWED. ADD
057384,001044: 37,3745           34742                           CAF      BIT10                                 #  BIT 10 TO HIGH DIFF TO CORRECT.
057385,001045: 37,3746           26154                           ADS      MPAC                                  
057386,001046: 37,3747           00006        POSTCOM            EXTEND                                         #  C(MPAC,+1) IS MAGNITUDE OF DELTA SCALER.
057387,001047: 37,3750           30315                           DCA      TIME2SAV                              #  PRESTANDBY TIME1TIME2
057388,001048: 37,3751           20155                           DAS      MPAC                                  
057389,001049: 37,3752           07256                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT
057390,001050: 37,3753           52155                           DXCH     MPAC                                  #  UPDATED VALUE FOR T1,T2.
057391,001051: 37,3754           20025                           DAS      TIME2                                 #  LOAD UPDATED VALUE INTO T1,T2, WITH
057392,001052: 37,3755           05516                           TC       DOWNFLAG                              #  CLEAR NODOFLAG
057393,001053: 37,3756           00054                           ADRES    NODOFLAG                              
057394,001054: 
057395,001055: 37,3757           06001                           TC       GOTOPOOH                              
057396,001056: 

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