Source Code

007436,000002: ## Copyright: Public domain. 007437,000003: ## Filename: MODE_SWITCHING_AND_MARK_ROUTINES.agc 007438,000004: ## Purpose: Part of the source code for Solarium build 55. This 007439,000005: ## is for the Command Module's (CM) Apollo Guidance 007440,000006: ## Computer (AGC), for Apollo 6. 007441,000007: ## Assembler: yaYUL --block1 007442,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com> 007443,000009: ## Website: www.ibiblio.org/apollo/index.html 007444,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/ 007445,000011: ## Mod history: 2009-10-06 JL Created. 007446,000012: ## 2016-08-18 RSB Typos. 007447,000013: ## 2016-08-23 RSB More of the same. 007448,000014: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments, 007449,000015: ## and fixed errors found. 007450,000016:

Page 190

007452,000018: 
007453,000019:                                                                                                  #        THE FOLLOWING SET OF PROGRAMS ARE USED TO SELECTTHE VARIOUS MODES OF THE IMU AND OPTICS. THE FOLLOWING 
007454,000020:                                                                                                  #  MODES ARE POSSIBLE:
007455,000021: 
007456,000022:                                                                                                  #        IMUZERO     ZEROS IMU CDUS.
007457,000023:                                                                                                  #        IMUCOARS    COARSE ALIGNS IMU.
007458,000024:                                                                                                  #        IMURECOR    RETURNS IMU FROM FINE ALIGN TO COARSE ALIGN
007459,000025:                                                                                                  #        IMUFINE     PREPARES TO PULSE TORQUE THE GYROS.
007460,000026:                                                                                                  #  IMUFINNW     SWITCHES TO FINE WITH NO DELAY FOR IRIG CENTERING-DONT  ENTER FROM COARSE ALIGN MODE.
007461,000027:                                                                                                  #        IMUATTC     USE IMU FOR S/C ATTITUDE CONTROL.
007462,000028:                                                                                                  #        IMUREENT    USE IMU FOR ROLL RE-ENTRY.
007463,000029:                                                                                                  #        IMULOCK     LOCKS IMU CDUS.
007464,000030: 
007465,000031:                                                                                                  #        IMUFINIS(**)RELEASES IMU
007466,000032:                                                                                                  #        IMUSTALL(*) IMU MODE IDLING AND ERROR CHECKING.
007467,000033: 
007468,000034: 
007469,000035: 
007470,000036:                                                                                                  #        OPTZERO     ZERO OPTICS CDUS.
007471,000037:                                                                                                  #        OPTCOARS    DUMMY OPTICS COARSE-ALIGN MODE.
007472,000038:                                                                                                  #        OPTTRKON    OPTICS TRACKER ON.
007473,000039: 
007474,000040:                                                                                                  #        SCTMARK     REQUEST N SCANNING TELESCOPE MARKS.
007475,000041:                                                                                                  #        SXTMARK     REQUEST N SEXTANT MARKS.
007476,000042:                                                                                                  #        MKRELEAS(**)RELEASE MARK SYSTEM.
007477,000043: 
007478,000044:                                                                                                  #        OPTFINIS(**)RELEASE OPTICS.
007479,000045:                                                                                                  #        OPTSTALL(*) OPTICS MODE-IDLING AND ERROR CHECKING.
007480,000046: 
007481,000047: 
007482,000048: 
007483,000049:                                                                                                  #        OPTICS AND IMU MODE ROUTINES MAY BE USED CONCURRENTLY.
007484,000050: 
007485,000051:                                                                                                  #        IN ADDITION, A ROUTINE WHICH INCREMENTS ANY DESIRED 2S COMPLEMENT ANGLE BY AN INPUT AMOUNT IS
007486,000052:                                                                                                  #  INCLUDED (CDUINC).
007487,000053: 
007488,000054: 
007489,000055: 
007490,000056:                                                                                                  #        CALLING SEQUENCE IS AS FOLLOWS:
007491,000057: 
007492,000058:                                                                                                  #  L-1   CAF     NO.MARKS        (FOR SCTMARK AND SXTMARK ONLY).
007493,000059:                                                                                                  #  L     TC      BANKCALL
007494,000060:                                                                                                  #  L+1   CADR    (SUBRO)         ANY OF THE 14 MODE ROUTINES OR CDUINC.
007495,000061: 
007496,000062: 
007497,000063: 
007498,000064:                                                                                                  #        (*)     THE STALL ROUTINES ARE CALLED TO TERMINATE ANY MODE REQUEST. THE REQUESTING JOB IS STALLED UNTIL
007499,000065:                                                                                                  #  THE MODE-SWITCHING IS COMPLETE (WITH VAC-AREA PROTECTED) AND RETURN IS TO L+2 IF UNSUCCESSFUL AND L+3 IF THE
007500,000066:                                                                                                  #  DESIRED MODE WAS SUCCESSFULLY ACHIEVED.
007501,000067: 
007502,000068:                                                                                                  #        (**)    NO STALL ROUTINE NECESSARY IN CONJUNCTION WITH THIS REQUEST.
007503,000069: 

Page 191

007505,000071: 
007506,000072:                                                                                                  #        SPECIAL DP TIME COUNTER READING ROUTINE.
007507,000073: 
007508,000074:    2676                                           BANK     1                                     
007509,000075:    2676           20017        READTIME           INHINT                                         #  ENTRY IF UNDER EXECUTIVE.
007510,000076:    2677           40035                           CS       TIME2                                 #  ENTRY IF IN INTERRUPT.
007511,000077:    2700           50572                           TS       RUPTSTOR                              
007512,000078:    2701           40036                           CS       TIME1                                 
007513,000079:    2702           50573                           TS       RUPTSTOR   +1                         
007514,000080:    2703           10000                           CCS      A                                     #  IF MINOR PART ZERO, MAJOR PART COULD
007515,000081:    2704           00001                           TC       Q                                     
007516,000082:    2705           10000                           CCS      A                                     
007517,000083:    2706           00001                           TC       Q                                     
007518,000084:    2707           40035                           CS       TIME2                                 #  UP, SO READ IT AGIN.
007519,000085:    2710           50572                           TS       RUPTSTOR                              
007520,000086:    2711           00001                           TC       Q                                     
007521,000087: 
007522,000088:                                                                                                  #        ROUTINE TO READ FINE TIME IN IN2 EVEN IF IT CHANGES AS ITS BEING READ. CALL IN INHINT.
007523,000089: 
007524,000090:    2712           30006        FINETIME           XCH      IN2                                   #  MAY BE CALLED UNDER EXEC OR RUPT.
007525,000091:    2713           30006                           XCH      IN2                                   
007526,000092:    2714           72356                           MASK     FINEMASK                              #  NOTE THAT THE OR OF TWO STATES A AND B
007527,000093:    2715           50577                           TS       ITEMP1                                #  IS NOT LESS THAN EITHER A OR B.
007528,000094:    2716           30006                           XCH      IN2                                   
007529,000095:    2717           72356                           MASK     FINEMASK                              
007530,000096:    2720           50600                           TS       ITEMP2                                
007531,000097:    2721           40000                           COM                                            #  SELECT THE MINIMUM OF THE LAST TWO 
007532,000098:    2722           60577                           AD       ITEMP1                                #  STATES READ.
007533,000099:    2723           10000                           CCS      A                                     
007534,000100:    2724           30600                           XCH      ITEMP2                                
007535,000101:    2725           00001                           TC       Q                                     
007536,000102:    2726           30000                           NOOP                                           
007537,000103:    2727           30577                           XCH      ITEMP1                                
007538,000104:    2730           00001                           TC       Q                                     
007539,000105: 
007540,000106:                                                                                                  #        SUBROUTINE TO ZERO IMU CDU COUNTERS.
007541,000107: 
007542,000108:    2731           35501        ZEROICTR           CAF      ZERO                                  #  USED BY AUTOMATIC AND MANUAL ZEROING
007543,000109:    2732           50047                           TS       CDUX                                  #   ROUTINES.
007544,000110:    2733           50050                           TS       CDUY                                  
007545,000111:    2734           50051                           TS       CDUZ                                  
007546,000112:    2735           00001                           TC       Q                                     
007547,000113: 
007548,000114: 
007549,000115: 
007550,000116:    2736           40572        LODSAMPT           CS       RUPTSTOR                              #  TIME IS SNATCHED IN RUPT FOR NOUN 65
007551,000117:    2737           30643                           XCH      SAMPTIME                              
007552,000118:    2740           40573                           CS       RUPTSTOR   +1                         
007553,000119:    2741           30644                           XCH      SAMPTIME   +1                         
007554,000120:    2742           00001                           TC       Q                                     
007555,000121: 

Page 192

007557,000123: 
007558,000124:                                                                                                  #        SETZLIT SETS THE ZERO ENCODER LAMP ACCORDING TO THE DESIRED-MODE REGISTERS DESKSET AND DESOPSET.
007559,000125: 
007560,000126:    2743           30001        SETZLIT            XCH      Q                                     
007561,000127:    2744           50577                           TS       ITEMP1                                
007562,000128: 
007563,000129:    2745           10731                           CCS      DESKSET                               
007564,000130:    2746           02752                           TC       +4                                    #  COMPUTER COMMANDING-MAY BE ZEROING.
007565,000131:    2747           02756                           TC       OPTZTEST                              #  NOT MANUAL ZERO.
007566,000132:    2750           02773        TURNONZ            TC       ZLITON                                #  MANUAL ZEROING MODE.
007567,000133:    2751           00577                           TC       ITEMP1                                
007568,000134: 
007569,000135:    2752           64516                 +4        AD       ONE                                   
007570,000136:    2753           74516                           MASK     BIT1                                  
007571,000137:    2754           10000                           CCS      A                                     
007572,000138:    2755           02750                           TC       TURNONZ                               #  COMPUTER COMMANDING ZERO-ENCODER
007573,000139: 
007574,000140:    2756           10732        OPTZTEST           CCS      DESOPSET                              
007575,000141:    2757           02762                           TC       +3                                    #  MAY BE COMMANDING OPTICS ZERO.
007576,000142:    2760           02766                           TC       ZLITOFF                               #  NOT MANUAL ZERO-TURN LIGHT OFF.
007577,000143:    2761           02750                           TC       TURNONZ                               #  MANUAL OPTICS
007578,000144: 
007579,000145:    2762           64516                 +3        AD       ONE                                   
007580,000146:    2763           74503                           MASK     BIT12                                 
007581,000147:    2764           10000                           CCS      A                                     
007582,000148:    2765           02750                           TC       TURNONZ                               
007583,000149: 
007584,000150:    2766           45070        ZLITOFF            CS       ZLITBITS                              #  TURN OFF ZERO ENCODER LAMP.
007585,000151:    2767           70723                           MASK     DSPTAB     +11D                       
007586,000152:    2770           64500                           AD       BIT15                                 
007587,000153:    2771           50723                           TS       DSPTAB     +11D                       
007588,000154:    2772           00577                           TC       ITEMP1                                
007589,000155: 
007590,000156:    2773           45070        ZLITON             CS       ZLITBITS                              #  TURN ON ZERO-ENCODER LAMP.
007591,000157:    2774           70723                           MASK     DSPTAB     +11D                       
007592,000158:    2775           65070                           AD       ZLITBITS                              
007593,000159:    2776           50723                           TS       DSPTAB     +11D                       
007594,000160:    2777           00001                           TC       Q                                     
007595,000161: 
007596,000162:    3000     5070               ZLITBITS           EQUALS   OCT40020                              #  CS CYR IN DMP.
007597,000163: 

Page 193

007599,000165: 
007600,000166:                                                                                                  #        IMU ZEROING ROUTINE.
007601,000167: 
007602,000168: 14,6000                                           SETLOC   30000                                 
007603,000169: 
007604,000170: 14,6000           44516        IMUZERO            CS       ONE                                   #  DISABLE CDU DRIVE
007605,000171: 14,6001           50677                           TS       CDUIND                                #   BY SETTING CDUIND NEGATIVE.
007606,000172: 
007607,000173: 14,6002           06245                           TC       SETKANDC                              #  GO TO SUBROUTINE TO SWITCH C RELAYS
007608,000174: 14,6003           00051                           OCT      00051                                 #   = C(DESKSET)=COMP CONT+ZERO+FINE
007609,000175: 14,6004           40011                           OCT      40011                                 #   = C SETTING FOR FINE + ZERO
007610,000176: 14,6005           02773                           TC       ZLITON                                #  TURN ON ENCODER ZEROING LAMP
007611,000177: 
007612,000178: 14,6006           44513                           CS       BIT4                                  #  DISABLE IMU FAIL FOR 5 SEC IN CASE WE
007613,000179: 14,6007           70726                           MASK     OLDERR                                #  JUST CAME OUT OF COARSE ALIGN.
007614,000180: 14,6010           64513                           AD       BIT4                                  
007615,000181: 14,6011           50726                           TS       OLDERR                                
007616,000182: 14,6012           34505                           CAF      BIT10                                 
007617,000183: 14,6013           02173                           TC       WAITLIST                              
007618,000184: 14,6014           30201                           CADR     IFAILOK                               
007619,000185: 
007620,000186: 14,6015           36077                           CAF      35SECS                                #  SET A WAITLIST CALL FOR 35 SECONDS
007621,000187: 14,6016           02173                           TC       WAITLIST                              #   SO  THOSE SHAFTS WILL HAVE TIME TO GET
007622,000188: 14,6017           30022                           CADR     IMUZEROD                              #  THERE.
007623,000189: 14,6020           20016        MODEEXIT           RELINT                                         #  GENERAL EXIT FROM MODE SWITCH PROGS
007624,000190: 14,6021           05702                           TC       SWRETURN                              #   WHICH LEAVES VIA SWCALL EXIT
007625,000191: 
007626,000192: 14,6022           02731        IMUZEROD           TC       ZEROICTR                              #  GO AND ZERO X, Y, AND Z COUNTERS
007627,000193: 
007628,000194: 14,6023           06070                           TC       KCHECK                                #  SEE IF SYSTEM STILL FUNCTIONING OK.
007629,000195: 14,6024           06246        MOREZERO           TC       SETKANDC   +1                         #  CALL FOR 10 SECONDS OF FINE ALIGN TO
007630,000196: 14,6025           00050                           OCT      00050                                 #   ALLOW CDUS TO GO AT LEAST 90 DEGREES
007631,000197: 14,6026           40010                           OCT      40010                                 #   OF THE WAY HOME UNLESS THE PLATFORM IS
007632,000198: 14,6027           36101                           CAF      10SECS                                #   SITTING AT ANY FALSE NULLS.
007633,000199: 14,6030           02173                           TC       WAITLIST                              
007634,000200: 14,6031           30033                           CADR     ZEROATTC                              #  WE WILL GO INTO ATTITUTE CONTROL NEXT.
007635,000201: 14,6032           02256                           TC       TASKOVER                              
007636,000202: 
007637,000203: 14,6033           06070        ZEROATTC           TC       KCHECK                                #  USUAL SYSTEM CHECK.
007638,000204: 14,6034           06246                           TC       SETKANDC   +1                         #  COMMAND ATTITUDE CONTROL (WITHOUT ATTC
007639,000205: 14,6035           00060                           OCT      00060                                 #   LAMP LIT) SO THAT WE CAN DRIVE THE CDUS
007640,000206: 14,6036           41000                           OCT      41000                                 #  (LIGHT ON AFTER ALL) AWAY FROM FALSE NUL
007641,000207: 14,6037           36103                           CAF      320MS                                 
007642,000208: 14,6040           02173                           TC       WAITLIST                              
007643,000209: 14,6041           30043                           CADR     ZERODRVE                              #  WAIT FOR MODE SWITCH BEFORE ENABLING CDU
007644,000210: 14,6042           02256                           TC       TASKOVER                              #   DRIVE IN T4RUPT.

Page 194

007646,000212: 
007647,000213: 14,6043           06070        ZERODRVE           TC       KCHECK                                #  VERIFY SWITCH TO ATTITUDE CONTROL.
007648,000214: 14,6044           34502                           CAF      QUARTER                               #  WE WILL DRIVE THE CDUS TOWARD 45 DEGREES
007649,000215: 14,6045           50700                           TS       THETAD                                #   FOR 2SECS (ABOUT 10 DEGREES OF MOVEMENT
007650,000216: 14,6046           50701                           TS       THETAD     +1                         #   AT MOST). THIS WILL DRIVE ANY CDUS OFF
007651,000217: 14,6047           50702                           TS       THETAD     +2                         #   FALSE NULLS WITHOUT MOVING THE PLATFORM
007652,000218: 14,6050           35501                           CAF      ZERO                                  
007653,000219: 14,6051           50677                           TS       CDUIND                                #  CDU LOOPS ARE NOW ENABLED.
007654,000220: 14,6052           36102                           CAF      2SECS                                 
007655,000221: 14,6053           02173                           TC       WAITLIST                              
007656,000222: 14,6054           30056                           CADR     REZFINE                               #  GO BACK TO FINE ALIGN WHEN DONE.
007657,000223: 14,6055           02256                           TC       TASKOVER                              
007658,000224: 
007659,000225: 14,6056           06070        REZFINE            TC       KCHECK                                #  VERIFY MODE SWITCH AS USUAL.
007660,000226: 14,6057           06246                           TC       SETKANDC   +1                         #  CALL FOR 20 SECONDS OF FINE ALIGN TO
007661,000227: 14,6060           00050                           OCT      00050                                 #   ALLOW ENOUGH TIME FOR THE CDUS TO FIND
007662,000228: 14,6061           40010                           OCT      40010                                 #   THE GIMBALS.
007663,000229: 14,6062           44516                           CS       ONE                                   
007664,000230: 14,6063           50677                           TS       CDUIND                                #  CDU LOOPS NOW DISABLED.
007665,000231: 14,6064           36100                           CAF      20SECS                                
007666,000232: 14,6065           02173                           TC       WAITLIST                              
007667,000233: 14,6066           30171                           CADR     IMUFINED                              #  CHECK FORPRESENCE OF IMU OR CDU FAILS.
007668,000234: 14,6067           02256                           TC       TASKOVER                              
007669,000235: 
007670,000236: 
007671,000237: 
007672,000238: 14,6070           10727        KCHECK             CCS      WASKSET                               #  RETURN TO CALLER IF SYSTEM OK - SET UP
007673,000239: 14,6071           00001                           TC       Q                                     #   ERROR RETURN AT ENDIMU OTHERWISE.
007674,000240: 14,6072           06264                           TC       ENDIMU                                
007675,000241: 14,6073           00001                           TC       Q                                     
007676,000242: 14,6074           06264                           TC       ENDIMU                                
007677,000243: 
007678,000244: 14,6075           21450        90SECS             DEC      90.00      E2                         
007679,000245: 14,6076           10624        45SECS             DEC      45.00      E2                         #  TIME FOR IMUCDU COARSE ALIGN.
007680,000246: 14,6077           06654        35SECS             DEC      35.00      E2                         #  TIME FOR IMUCDU ZERO ENCODER.
007681,000247: 14,6100           03720        20SECS             DEC      20.00      E2                         
007682,000248: 14,6101           01750        10SECS             DEC      10.00      E2                         
007683,000249: 14,6102           00310        2SECS              DEC      2.00       E2                         
007684,000250: 14,6103           00040        320MS              DEC      .32        E2                         
007685,000251: 

Page 195

007687,000253: 
007688,000254:                                                                                                  #  IMU COARSE ALIGN PROGRAM
007689,000255: 
007690,000256: 14,6104           06245        IMUCOARS           TC       SETKANDC                              #  SET DESIRED C AND K RELAY SETTINGS.
007691,000257: 14,6105           00042                           OCT      00042                                 #    COMPUTER CONTROL . COARSE ALIGN.
007692,000258: 14,6106           40002                           OCT      40002                                 #    C RELAY COARSE ALIGN.
007693,000259: 
007694,000260: 14,6107           02743                           TC       SETZLIT                               #  SERVICE THE ZERO ENCODER LAMP
007695,000261: 
007696,000262: 14,6110           36103                           CAF      320MS                                 #  SET WAITLIST CALL FOR 320 M.S. TO
007697,000263: 14,6111           02173                           TC       WAITLIST                              #   ACCOMMODATE CONTACT BOUNCE + T4RUPT LAG
007698,000264: 14,6112           30125                           CADR     BEGINCOM                              
007699,000265: 14,6113           06020                           TC       MODEEXIT                              
007700,000266: 
007701,000267: 
007702,000268: 
007703,000269: 14,6114           40047        RECOARSD           CS       CDUX                                  #  GOING BACK INTO COARSE ALIGN FROM FINE
007704,000270: 14,6115           40000                           COM                                            #  ALIGN. PUT CDU COUNTER VALUES INTO
007705,000271: 14,6116           50700                           TS       THETAD                                #  DESIRED ANGLE REGISTERS AND ENABLE THE
007706,000272: 14,6117           40050                           CS       CDUY                                  #  T4RUPT CDU DRIVE.
007707,000273: 14,6120           40000                           COM                                            
007708,000274: 14,6121           50701                           TS       THETAD     +1                         
007709,000275: 14,6122           40051                           CS       CDUZ                                  
007710,000276: 14,6123           40000                           COM                                            
007711,000277: 14,6124           50702                           TS       THETAD     +2                         
007712,000278: 
007713,000279: 14,6125           06070        BEGINCOM           TC       KCHECK                                #  VERIFY CORRECTNESS OF PRESENT MODE.
007714,000280: 14,6126           35501        STARTCRS           CAF      ZERO                                  #  ENABLE CDU LOOP CLOSURE
007715,000281: 14,6127           50677                           TS       CDUIND                                
007716,000282: 
007717,000283: 14,6130           36076                           CAF      45SECS                                
007718,000284: 14,6131           02173                           TC       WAITLIST                              #   CDU LOOPS TO SETTLE
007719,000285: 14,6132           30214                           CADR     COARSDON                              
007720,000286: 14,6133           02256                           TC       TASKOVER                              
007721,000287: 

Page 196

007723,000289: 
007724,000290:                                                                                                  #  IMU FINE ALIGN PROGRAM
007725,000291: 
007726,000292: 14,6134           06245        IMURECOR           TC       SETKANDC                              #  GO INTO COARSE ALIGN FROM FINE ALIGN.
007727,000293: 14,6135           00042                           OCT      00042                                 #  (SEE REMARKS ON RECOARSD FOR FURTHER
007728,000294: 14,6136           40002                           OCT      40002                                 #    DETAILS).
007729,000295: 14,6137           36103                           CAF      320MS                                 #  USUAL CONTACT CLOSURE AND SAMPLE TIME
007730,000296: 14,6140           02173                           TC       WAITLIST                              
007731,000297: 14,6141           30114                           CADR     RECOARSD                              
007732,000298: 14,6142           06160                           TC       DISEXIT                               #  DISABLE GYRO ACTIVITY.
007733,000299: 
007734,000300: 14,6143           06245        IMUFINE            TC       SETKANDC                              #  SET UP C RELAY PATTERN AND DESIRED K
007735,000301: 14,6144           00050                           OCT      00050                                 #   DES K = COMPUTER CONTROL + FINE
007736,000302: 14,6145           40010                           OCT      40010                                 #       C = FINE ALIGN
007737,000303: 
007738,000304: 14,6146           44513                           CS       BIT4                                  #  COMES THROUGH HERE AFTER EVERY COARSE
007739,000305: 14,6147           70726                           MASK     OLDERR                                #  ALIGN. SET BIT 4 OF OLDERR TO INHIBIT
007740,000306: 14,6150           64513                           AD       BIT4                                  #  IMU FAIL FOR ANOTHER 5 SECONDS.
007741,000307: 14,6151           50726                           TS       OLDERR                                
007742,000308: 
007743,000309: 14,6152           34505                           CAF      BIT10                                 
007744,000310: 14,6153           02173                           TC       WAITLIST                              
007745,000311: 14,6154           30201                           CADR     IFAILOK                               
007746,000312: 
007747,000313: 14,6155           36075                           CAF      90SECS                                #  SET WAITLIST CALL FOR 90 SEC. TO ALLOW
007748,000314: 14,6156           02173                           TC       WAITLIST                              #   GYROS TO RE-CENTER BEFORE IRIG PULSE
007749,000315: 14,6157           30171                           CADR     IMUFINED                              #   TORQUING
007750,000316: 14,6160           44516        DISEXIT            CS       ONE                                   #  DISABLE T4 IMU (CDU OR GYRO) ACTIVITY.
007751,000317: 14,6161           50677                           TS       CDUIND                                
007752,000318: 14,6162           06020                           TC       MODEEXIT                              
007753,000319: 
007754,000320: 
007755,000321: 
007756,000322: 14,6163           06757        IMUFINNW           TC       TSTIMACT                              
007757,000323: 
007758,000324: 14,6164           06245                           TC       SETKANDC                              
007759,000325: 14,6165           00050                           OCT      00050                                 
007760,000326: 14,6166           40010                           OCT      40010                                 
007761,000327: 14,6167           36103                           CAF      320MS                                 
007762,000328: 14,6170           06156                           TC       DISEXIT    -2                         
007763,000329: 

Page 197

007765,000331: 
007766,000332: 14,6171           03430        IMUFINED           TC       FLAG1DWN                              
007767,000333: 14,6172           02000                           OCT      02000                                 
007768,000334: 
007769,000335: 14,6173           06264                           TC       ENDIMU                                
007770,000336: 
007771,000337: 14,6174           34503                           CAF      BIT12                                 #  NO IMU FAILS, PLEASE.
007772,000338: 14,6175           70726                           MASK     OLDERR                                
007773,000339: 14,6176           10000                           CCS      A                                     
007774,000340: 14,6177           06305                           TC       FAILEND                               
007775,000341: 14,6200           06314                           TC       GOODEND                               
007776,000342: 
007777,000343: 14,6201           44513        IFAILOK            CS       BIT4                                  #  ENABLE IMU FAIL 5 SECONDS AFTER COMING
007778,000344: 14,6202           70726                           MASK     OLDERR                                #  OUT OF COARSE ALIGN.
007779,000345: 14,6203           50726                           TS       OLDERR                                
007780,000346: 14,6204           02256                           TC       TASKOVER                              
007781,000347: 

Page 198

007783,000349: 
007784,000350:                                                                                                  #  CDU LOCK PROGRAM
007785,000351: 
007786,000352: 14,6205           06245        IMULOCK            TC       SETKANDC                              #  SET APPROPRIATE K AND C CONFIGS.
007787,000353: 14,6206           00044                           OCT      00044                                 
007788,000354: 14,6207           40004                           OCT      40004                                 
007789,000355: 
007790,000356: 14,6210           36103                           CAF      320MS                                 
007791,000357: 14,6211           02173                           TC       WAITLIST                              #   PLACE.
007792,000358: 14,6212           30214                           CADR     IMULOCKD                              
007793,000359: 14,6213           06160                           TC       DISEXIT                               
007794,000360: 
007795,000361: 14,6214           06264        IMULOCKD           TC       ENDIMU                                
007796,000362: 14,6215           06314                           TC       GOODEND                               
007797,000363: 
007798,000364: 14,6216  14,6214               COARSDON           EQUALS   IMULOCKD                              
007799,000365: 

Page 199

007801,000367: 
007802,000368:                                                                                                  #  IMU RE-ENTRY AND ATTITUDE CONTROL PROGRAMS
007803,000369: 
007804,000370: 14,6216           06757        IMUREENT           TC       TSTIMACT                              
007805,000371: 14,6217           06245                           TC       SETKANDC                              
007806,000372: 14,6220           00140                           OCT      00140                                 
007807,000373: 14,6221           42000                           OCT      42000                                 
007808,000374: 14,6222           06227                           TC       ENABEXIT                              
007809,000375: 
007810,000376: 
007811,000377: 
007812,000378: 14,6223           06757        IMUATTC            TC       TSTIMACT                              
007813,000379: 14,6224           06245                           TC       SETKANDC                              
007814,000380: 14,6225           00060                           OCT      00060                                 
007815,000381: 14,6226           41000                           OCT      41000                                 
007816,000382: 
007817,000383: 14,6227           36103        ENABEXIT           CAF      320MS                                 
007818,000384: 14,6230           02173                           TC       WAITLIST                              
007819,000385: 14,6231           30233                           CADR     ENABLE                                
007820,000386: 14,6232           06160                           TC       DISEXIT                               #  DISABLE POSSIBLE GYRO ACTIVITY.
007821,000387: 
007822,000388: 14,6233           03430        ENABLE             TC       FLAG1DWN                              
007823,000389: 14,6234           02000                           OCT      02000                                 
007824,000390: 
007825,000391: 14,6235           06264                           TC       ENDIMU                                
007826,000392: 
007827,000393: 14,6236           35501                           CAF      ZERO                                  #  ENABLE CDU LOOPS
007828,000394: 14,6237           50677                           TS       CDUIND                                
007829,000395: 14,6240           06314                           TC       GOODEND                               
007830,000396:                                                                                                  #  NOTICE THAT NO INSPECTION OF CDU AND IMU
007831,000397:                                                                                                  #  ERROR SIGNALS IS MADE SINCE IN THESE
007832,000398:                                                                                                  #  MODES THE MAIN PROGRAM MUST CHECK THE
007833,000399:                                                                                                  #  STATUS OF THESE SIGNALS PERIODICALLY.
007834,000400: 
007835,000401: 
007836,000402: 
007837,000403:                                                                                                  #        IMUFINIS - TO BE CALLED AT THE END OF COMPUTER-CONTROLLED MODE SWITCHING. PLACES MODE SAMPLING INTO
007838,000404:                                                                                                  #  MANUAL CONTROL, SWITCHES THE SYSTEM TO FINE ALIGN, AND DISABLES THE T4RUPT CDU DRIVE. NO CALL TO IMUSTALL IS
007839,000405:                                                                                                  #  REQUIRED HERE.
007840,000406: 
007841,000407: 14,6241           06245        IMUFINIS           TC       SETKANDC                              
007842,000408: 14,6242           00000                           OCT      00000                                 #  0 MEANS COMPUTER IS NO LONGER IN CONTROL
007843,000409: 14,6243           40010                           OCT      40010                                 #  FINE ALIGN C-RELAY CODE.
007844,000410: 14,6244           06160                           TC       DISEXIT                               
007845,000411: 

Page 200

007847,000413: 
007848,000414:                                                                                                  #        SUBROUTINE USED BY MODE-SWITCHING PROGRAMS TO SET DESIRED K- AND C-RELAY SETTINGS.
007849,000415: 
007850,000416: 14,6245           20017        SETKANDC           INHINT                                         #  INHINT AND EXIT WITH INTERRUPT INHIBITED
007851,000417: 14,6246           20001                           INDEX    Q                                     
007852,000418: 14,6247           30000                           CAF      0                                     
007853,000419: 14,6250           50731                           TS       DESKSET                               #  DESIRED K-RELAY SETTING AS READ IN IN3.
007854,000420: 
007855,000421: 14,6251           36260                           CAF      OFFMSK                                #  SET C-RELAYS FOR ZERO ENCODER, COARSE
007856,000422: 14,6252           70723                           MASK     DSPTAB     +11D                       #    ALIGN, FINE ALIGN, LOCK CDU, ROLL
007857,000423: 14,6253           20001                           INDEX    Q                                     #    RE-ENTRY, AND ATTITUDE CONTROL LAMP.
007858,000424: 14,6254           60001                           AD       1                                     
007859,000425: 14,6255           50723                           TS       DSPTAB     +11D                       
007860,000426: 
007861,000427: 14,6256           20001                           INDEX    Q                                     
007862,000428: 14,6257           00002                           TC       2                                     #  RETURN TO CALLER IN INHINT.
007863,000429: 
007864,000430: 14,6260           34760        OFFMSK             OCT      34760                                 
007865,000431: 

Page 201

007867,000433: 
007868,000434:                                                                                                  #        WHEN A MODE-SWITCHING TASK IS DISPATCHED TO INDICATE THE END OF A MODE-SWITCH, ENDIMU (OR ENDOPT) IS
007869,000435:                                                                                                  #  CALLED TO WAKE UP ANY JOB IMUSTALL (OPTSTALL) MIGHT HAVE PUT TO SLEEP AND THEN CHECK WASKSET (WASOPSET) TO SEE
007870,000436:                                                                                                  #  THAT THE MODE-SWITCH WAS SUCCESSFUL.
007871,000437: 
007872,000438: 14,6261           35503        ENDOPT             CAF      TWO                                   
007873,000439: 14,6262           64476                           AD       POSMAX                                
007874,000440: 14,6263           50034                           TS       OVCTR                                 #  SKIP WITH C(A) = 1.
007875,000441: 
007876,000442: 14,6264           35501        ENDIMU             CAF      ZERO                                  
007877,000443: 14,6265           50640                           TS       RUPTREG2                              #  0 FOR IMU, 1 FOR OPTICS.
007878,000444: 
007879,000445: 14,6266           30001                           XCH      Q                                     
007880,000446: 14,6267           50637                           TS       RUPTREG1                              
007881,000447: 
007882,000448: 14,6270           20640                           INDEX    RUPTREG2                              
007883,000449: 14,6271           10733                           CCS      MODECADR                              #  SEE IF IMUSTALL (OPTSTALL) PUT A JOB
007884,000450: 14,6272           06274                           TC       +2                                    #  TO SLEEP.
007885,000451: 14,6273           06300                           TC       ENDMODE                               #  +0 IF NOT.
007886,000452: 14,6274           34516                           CAF      ONE                                   #  SET PROPER MODECADR TO 1 TO INDICATE
007887,000453: 14,6275           20640                           INDEX    RUPTREG2                              #  A JOB WAS AWAKENED.
007888,000454: 14,6276           30733                           XCH      MODECADR                              
007889,000455: 14,6277           02060                           TC       JOBWAKE                               
007890,000456: 
007891,000457: 14,6300           20640        ENDMODE            INDEX    RUPTREG2                              #  CHECK PROPER *WAS* REGISTER TO SEE IF
007892,000458: 14,6301           10727                           CCS      WASKSET                               #   SWITCH WAS SUCCESSFUL.
007893,000459: 14,6302           00637                           TC       RUPTREG1                              #  YES - RETURN FOR MORE CHECKING IF OK.
007894,000460: 14,6303           06305                           TC       +2                                    #  FAILED - STILL WAITING TO SWITCH.
007895,000461: 14,6304           00637                           TC       RUPTREG1                              #  MANUAL INHIBIT.
007896,000462: 
007897,000463: 14,6305           20640        FAILEND            INDEX    RUPTREG2                              #  COMES HERE TO SIGNAL ERROR RETURN FROM
007898,000464: 14,6306           10733                           CCS      MODECADR                              #   MODE STALL ROUTINES.
007899,000465: 14,6307           06311                           TC       +2                                    #  JOB WAS WAKENED EARLIER - EXIT W/O INCR.
007900,000466: 14,6310           40000                           COM                                            #  NO WAKE-UP - SET MODECADR TO -0 FOR FAIL
007901,000467: 14,6311           20640        LVENDMOD           INDEX    RUPTREG2                              
007902,000468: 14,6312           50733                           TS       MODECADR                              
007903,000469: 14,6313           02256                           TC       TASKOVER                              
007904,000470: 
007905,000471: 14,6314           20640        GOODEND            INDEX    RUPTREG2                              #  COMES HERE TO SIGNAL A SUCCESSFUL SWITCH
007906,000472: 14,6315           10733                           CCS      MODECADR                              
007907,000473: 14,6316           06321                           TC       BUMPJOB                               #  JOB WAS AWAKENED - INCREMENT LOC.
007908,000474: 14,6317           44516                           CS       ONE                                   #  NO WAKE - SET MODECADR TO -1 TO INDICATE
007909,000475: 14,6320           06311                           TC       LVENDMOD                              #   SUCCESS.
007910,000476: 
007911,000477: 14,6321           20601        BUMPJOB            INDEX    LOCCTR                                #  ARRIVES WITH C(A) = 0. LOCCTR SET TO
007912,000478: 14,6322           30120                           XCH      LOC                                   #   AWAKENED JOB REGISTERS.
007913,000479: 14,6323           64335                           AD       MINUS1                                #  LOC IS NEGATIVE FOR BASIC JOBS.
007914,000480: 14,6324           20601                           INDEX    LOCCTR                                
007915,000481: 14,6325           30120                           XCH      LOC                                   
007916,000482: 14,6326           06311                           TC       LVENDMOD                              #  SET MODECADR TO +0 AND EXIT.
007917,000483: 

Page 202

007919,000485: 
007920,000486:                                                                                                  #        WHEN A JOB WHICH REQUESTED A MODE SWITCH MUST IDLE UNTIL THE SWITCH IS COMPLETE, IT COMES TO IMUSTALL
007921,000487:                                                                                                  #  (OR OPTSTALL) TO WAIT FOR THE COMPLETION AND TO DO ERROR CHECKING. RETURN IS TO THE LOCATION IMMEDIATELY FOLLOW-
007922,000488:                                                                                                  #  ING THE CALLING SEQUENCE IF THE SWITCH WAS UNSUCCESSFUL, AND THE NEXT LOCATION IF IT WAS SUCCESSFUL. ANY
007923,000489:                                                                                                  #  IDLING IS DONE BY PUTTING THE JOB TO SLEEP, SO THAT A VAC AREA (IF USED) WOULD BE PRESERVED.
007924,000490: 
007925,000491: 14,6327           34516        OPTSTALL           CAF      ONE                                   #  0 FOR IMU AND 1 FOR OPTICS AS USUAL.
007926,000492: 14,6330           06332                           TC       +2                                    
007927,000493: 
007928,000494: 14,6331           35501        IMUSTALL           CAF      ZERO                                  
007929,000495: 14,6332           20017                           INHINT                                         #  ONE SUB-SYSTEM AT A TIME ONLY.
007930,000496: 14,6333           50640                           TS       RUPTREG2                              
007931,000497: 14,6334           20000                           INDEX    A                                     
007932,000498: 14,6335           10733                           CCS      MODECADR                              #  SEE IF MODE SWITCH IS COMPLETE.
007933,000499: 14,6336           06357                           TC       MODABORT                              #  VERY ILL IF SOMEONE ALREADY WAITING.
007934,000500: 14,6337           06352                           TC       MODESLP                               #  MODE SWITCH INCOMPLETE - PUT JOB TO REST
007935,000501: 14,6340           06344                           TC       MODEGOOD                              #  -1 INDICATES A SUCCESSFULLY COMPLETED SW
007936,000502: 
007937,000503: 14,6341           20640        MG2                INDEX    RUPTREG2                              #  -0 MEANS FINISHED BUT FAILED.
007938,000504: 14,6342           50733                           TS       MODECADR                              #  RESET TO +0.
007939,000505: 14,6343           06020                           TC       MODEEXIT                              #  RELINT AND RETURN VIA SWCALL.
007940,000506: 
007941,000507: 14,6344           10000        MODEGOOD           CCS      A                                     #  SEE THAT MODECADR WAS INDEED -1.
007942,000508: 14,6345           06357                           TC       MODABORT                              #  VERY ILL IF SOMEONE ALREADY WAITING.
007943,000509: 14,6346           30071                           XCH      TEMQS                                 #  INCREMENT RETURN TO INDICATE SUCCESS.
007944,000510: 14,6347           64516                           AD       ONE                                   
007945,000511: 14,6350           30071                           XCH      TEMQS                                 #  BRING +0 BACK
007946,000512: 14,6351           06341                           TC       MG2                                   #  TO RESET MODECADR AND EXIT.
007947,000513: 
007948,000514: 14,6352           05706        MODESLP            TC       MAKECADR                              #  MAKE CADR FROM SWCALL RETUN ADDRESS.
007949,000515: 14,6353           30062                           XCH      ADDRWD                                
007950,000516: 14,6354           20640                           INDEX    RUPTREG2                              
007951,000517: 14,6355           50733                           TS       MODECADR                              
007952,000518: 14,6356           02127                           TC       JOBSLEEP                              
007953,000519: 
007954,000520: 14,6357           03044        MODABORT           TC       ABORT                                 #  IMU OR OPTSTALL ABORT.
007955,000521: 14,6360           01210                           OCT      01210                                 
007956,000522: 
007957,000523: 14,6361                        ENDSTALL           EQUALS                                         
007958,000524: 

Page 203

007960,000526: 
007961,000527:                                                                                                  #        THE FOLLOWING ROUTINE INCREMENTS IN 2S COMPLEMENT THE REGISTER WHOSE ADDRESS IS IN ADDRWD BY THE
007962,000528:                                                                                                  #  QUANTITY FOUND IN TEM2.  THIS MAY BE USED TO INCREMENT DESIRED IMU AND OPTICS CDU ANGLES OR ANY OTHER 2S
007963,000529:                                                                                                  #  COMPLEMENT (+0 UNEQUAL TO -0) QUANTITY.
007964,000530: 
007965,000531: 14,6361           50102        CDUINC             TS       TEM2                                  #  1S COMPLEMENT INCREMENT ARRIVING IN A.
007966,000532: 14,6362           20077                           INDEX    BUF                                   
007967,000533: 14,6363           10000                           CCS      0                                     #  THE 16TH BIT OF A WILL BE USED TO
007968,000534: 14,6364           64516                           AD       ONE                                   #  ACHIEVE THE REQUIRED 32,768 DISTINCT
007969,000535: 14,6365           06371                           TC       +4                                    #  STATES.
007970,000536: 
007971,000537: 14,6366           64516                           AD       ONE                                   
007972,000538: 14,6367           64516                           AD       ONE                                   #  A MAY HAVE OVERFLOW PRESENT HERE.
007973,000539: 14,6370           40000                           COM                                            #  DESIRED -1 IF DESIRED WAS NEGATIVE.
007974,000540: 
007975,000541: 14,6371           60102                 +4        AD       TEM2                                  #  AND MAYBE OVERFLOW SOME MORE.
007976,000542: 14,6372           10000                           CCS      A                                     #  BACK TO 2S COMPLEMENT.
007977,000543: 14,6373           64516                           AD       ONE                                   #    NOTE THAT CCS TREATS A AS A 16 BIT NO.
007978,000544: 14,6374           06376                           TC       +2                                    
007979,000545: 14,6375           40000                           COM                                            
007980,000546: 14,6376           50034                           TS       OVCTR                                 #  REVERTS -0 TO +0.
007981,000547: 14,6377           06403                           TC       +4                                    #  NO OVERFLOW - PLANT NEW DESIRED.
007982,000548: 
007983,000549: 14,6400           20000                           INDEX    A                                     #  OVERFLOW - SIMULATE UN-CORRECTED SIGN.
007984,000550: 14,6401           34477                           CAF      LIMITS                                #  37777 FOR NEGATIVE - 40000 IF PLUS.
007985,000551: 14,6402           60034                           AD       OVCTR                                 #  OVERFLOW-CORRECTED DIFFERENCE.
007986,000552: 
007987,000553: 14,6403           20077                 +4        INDEX    BUF                                   
007988,000554: 14,6404           50000                           TS       0                                     #  NEW ANGLE.
007989,000555: 
007990,000556: 14,6405           05702                           TC       SWRETURN                              #  RETURN TO CALLER.
007991,000557: 

Page 204

007993,000559: 
007994,000560:                                                                                                  #        MARK REQUESTING ROUTINES.
007995,000561: 
007996,000562: 14,6406           20017        SXTMARK            INHINT                                         
007997,000563: 14,6407           50637                           TS       RUPTREG1                              #  NUMBER OF MARKS REQUESTED.
007998,000564: 
007999,000565: 14,6410           10735                           CCS      MARKSTAT                              #  SEE IF MARK BUTTON ALREADY SNATCHED.
008000,000566: 14,6411           06413                           TC       +2                                    #  YES - ALARM AND END THE STRAY JOB.
008001,000567: 14,6412           06416                           TC       MARKOK                                #  +0 INDICATES AVAILABLE.
008002,000568: 
008003,000569: 14,6413           03007                           TC       ALARM                                 
008004,000570: 14,6414           00105                           OCT      00105                                 
008005,000571: 14,6415           02124                           TC       ENDOFJOB                              
008006,000572: 
008007,000573: 14,6416           10216        MARKOK             CCS      VAC1USE                               #  FIND A VAC AREA TO STORE THE MARKS IN.
008008,000574: 14,6417           06432                           TC       MKVACFND                              
008009,000575: 14,6420           10272                           CCS      VAC2USE                               
008010,000576: 14,6421           06432                           TC       MKVACFND                              
008011,000577: 14,6422           10346                           CCS      VAC3USE                               
008012,000578: 14,6423           06432                           TC       MKVACFND                              
008013,000579: 14,6424           10422                           CCS      VAC4USE                               
008014,000580: 14,6425           06432                           TC       MKVACFND                              
008015,000581: 14,6426           10476                           CCS      VAC5USE                               
008016,000582: 14,6427           06432                           TC       MKVACFND                              
008017,000583: 
008018,000584: 14,6430           03044                           TC       ABORT                                 #  VAC AREAS ALL OCCUPIED - ABORT.
008019,000585: 14,6431           01207                           OCT      01207                                 
008020,000586: 
008021,000587: 14,6432           65503        MKVACFND           AD       TWO                                   #  ADDRESS OF VAC.
008022,000588: 14,6433           50735                           TS       MARKSTAT                              
008023,000589: 14,6434           20000                           INDEX    A                                     
008024,000590: 14,6435           50052                           TS       QPRET                                 #  USED TO SHOW NEXT AVAILABLE MARK SLOT.
008025,000591: 
008026,000592: 14,6436           35501                           CAF      ZERO                                  #  SHOW VACAREA IS OCCUPIED.
008027,000593: 14,6437           20735                           INDEX    MARKSTAT                              
008028,000594: 14,6440           47777                           TS       0          -1                         
008029,000595: 
008030,000596: 14,6441           34503                           CAF      BIT12                                 #  PLACE DESIRED NUMBER OF MARKS IN 12 - 14
008031,000597: 14,6442           25777                           EXTEND                                         
008032,000598: 14,6443           40637                           MP       RUPTREG1                              
008033,000599: 14,6444           30003                           XCH      LP                                    
008034,000600: 14,6445           60735                           AD       MARKSTAT                              #  JUST CONTAINS LOW 9 BITS OF VAC ADDRESS.
008035,000601: 14,6446           50735                           TS       MARKSTAT                              
008036,000602: 
008037,000603: 14,6447           32165        MARKEXIT           CAF      PRIO32                                
008038,000604: 14,6450           02052                           TC       NOVAC                                 
008039,000605: 14,6451           30677                           CADR     MKVB51                                
008040,000606: 14,6452           06020                           TC       MODEEXIT                              
008041,000607: 

Page 205

008043,000609: 
008044,000610:                                                                                                  #        MARK SYSTEM RELEASING ROUTINE.
008045,000611: 
008046,000612: 14,6453           35501        MKRELEAS           CAF      ZERO                                  #  SHOW MARK SYSTEM NOW AVAILABLE.
008047,000613: 14,6454           30735                           XCH      MARKSTAT                              
008048,000614: 14,6455           10000                           CCS      A                                     
008049,000615: 14,6456           20000                           INDEX    A                                     
008050,000616: 14,6457           50000                           TS       0                                     
008051,000617: 
008052,000618: 14,6460           05702                           TC       SWRETURN                              
008053,000619: 

Page 206

008055,000621: 
008056,000622:                                                                                                  #        KEYRUPT LEAD-IN AND MARK/MARK ACCEPT PROGRAMS.
008057,000623: 
008058,000624: 14,6461           50030        KEYRUPTA           TS       BANKRUPT                              
008059,000625: 14,6462           40053        MARK               CS       OPTY                                  #  PRECISION OPTICS DRIVE - GATHER DATA
008060,000626: 14,6463           50577                           TS       RUPTSTOR   +5                         #  IMMEDIATELY AND THEN TRANSFER TO VAC.
008061,000627: 
008062,000628: 14,6464           40052                           CS       OPTX                                  #  SHAFT OPTICS ENCODER.
008063,000629: 14,6465           50575                           TS       RUPTSTOR   +3                         
008064,000630: 
008065,000631: 14,6466           40050                           CS       CDUY                                  #  READ INNER-MIDDLE-OUTER IMUCDUS.
008066,000632: 14,6467           50574                           TS       RUPTSTOR   +2                         
008067,000633: 
008068,000634: 14,6470           40051                           CS       CDUZ                                  
008069,000635: 14,6471           50576                           TS       RUPTSTOR   +4                         
008070,000636: 
008071,000637: 14,6472           40047                           CS       CDUX                                  
008072,000638: 14,6473           50600                           TS       RUPTSTOR   +6                         
008073,000639: 
008074,000640: 14,6474           02677                           TC       READTIME   +1                         #  SPECIAL DP TIME COUNTER-READING ROUTINE.
008075,000641: 
008076,000642: 14,6475           34512                           CAF      BIT5                                  #  DO NOT ACCEPT KEYCODE UNLESS PREVIOUS
008077,000643: 14,6476           70645                           MASK     STATE                                 #  KEYCODE HAS DISAPPEARED FROM IN0 (SEE
008078,000644: 14,6477           10000                           CCS      A                                     #  T4RUPTA). IF SO, BIT5 OF STATE = 0.
008079,000645: 14,6500           02264                           TC       RESUME                                #  IF NOT, BIT5 = 1.
008080,000646: 
008081,000647: 14,6501           44512                           CS       BIT5                                  #  ACCEPT CODE AND BLOCK KEYRUPTS UNTIL
008082,000648: 14,6502           70645                           MASK     STATE                                 #  PRESENT KEYCODE HAS GONE AWAY.
008083,000649: 14,6503           64512                           AD       BIT5                                  
008084,000650: 14,6504           50645                           TS       STATE                                 
008085,000651: 
008086,000652: 14,6505           10004                           CCS      IN0                                   #  SEE IF KEYCODE OR MARK.
008087,000653: 14,6506           64516                           AD       ONE                                   
008088,000654: 14,6507           06674                           TC       KEYCALL                               
008089,000655: 14,6510           06511                           TC       +1                                    #  IN0 SHOULD NEVER CONTAIN -0.
008090,000656: 
008091,000657: 14,6511           30007                           XCH      IN3                                   #  NOW FIND OUT IF IT WAS A MARK-REJECT.
008092,000658: 14,6512           30007                           XCH      IN3                                   
008093,000659: 14,6513           74503                           MASK     BIT12                                 #  OPT ZERO/MARK REJECT BIT.
008094,000660: 14,6514           10000                           CCS      A                                     
008095,000661: 14,6515           06611                           TC       MKREJECT                              

Page 207

008097,000663: 
008098,000664: 14,6516           10735                           CCS      MARKSTAT                              #  SEE IF MARKS BEING CALLED FOR.
008099,000665: 14,6517           06543                           TC       MARK2                                 
008100,000666: 
008101,000667: 14,6520           30575                           XCH      RUPTSTOR   +3                         #  STORE IN OBTAINED MPAC COMPLEMENTED.
008102,000668: 14,6521           50637                           TS       RUPTREG1                              #  OPTICS ANGLES AND MINOR PART OF TIME.
008103,000669: 14,6522           30577                           XCH      RUPTSTOR   +5                         #  -OPTX, -OPTY, AND -TIME1.
008104,000670: 14,6523           50640                           TS       RUPTREG2                              
008105,000671: 14,6524           30573                           XCH      RUPTSTOR   +1                         
008106,000672: 14,6525           50641                           TS       RUPTREG3                              
008107,000673: 
008108,000674: 14,6526           32143                           CAF      PRIO5                                 #  CALL SPECIAL DISPLAY JOB
008109,000675: 14,6527           02052                           TC       NOVAC                                 
008110,000676: 14,6530           30651                           CADR     MARKDISP                              
008111,000677: 
008112,000678: 14,6531           30637                           XCH      RUPTREG1                              #  PLANT INFORMATION IN MPAC OF REGISTER
008113,000679: 14,6532           20601                           INDEX    LOCCTR                                #  SET.
008114,000680: 14,6533           50115                           TS       MPAC                                  
008115,000681: 14,6534           30640                           XCH      RUPTREG2                              
008116,000682: 14,6535           20601                           INDEX    LOCCTR                                
008117,000683: 14,6536           50116                           TS       MPAC       +1                         
008118,000684: 14,6537           30641                           XCH      RUPTREG3                              
008119,000685: 14,6540           20601                           INDEX    LOCCTR                                
008120,000686: 14,6541           50117                           TS       MPAC       +2                         
008121,000687: 
008122,000688: 14,6542           02264                           TC       RESUME                                
008123,000689: 

Page 208

008125,000691: 
008126,000692: 14,6543           66676        MARK2              AD       74K                                   #  SEE IF ANY MORE MARKS CALLED FOR.
008127,000693: 14,6544           10000                           CCS      A                                     
008128,000694: 14,6545           06552                           TC       MARK3                                 
008129,000695: 14,6546           76777        BIT10BAR           OCT      -1000                                 
008130,000696: 14,6547           03007        BADMARK            TC       ALARM                                 
008131,000697: 14,6550           00106                           OCT      00106                                 
008132,000698: 14,6551           02264                           TC       RESUME                                #  NO FURTHER ACTION HERE.
008133,000699: 
008134,000700: 14,6552           64516        MARK3              AD       ONE                                   #  SET BIT 10 = 1 TO ENABLE MARK
008135,000701: 14,6553           76546                           MASK     BIT10BAR                              #  REJECT.
008136,000702: 14,6554           64505                           AD       BIT10                                 
008137,000703: 14,6555           50735                           TS       MARKSTAT                              
008138,000704: 
008139,000705: 14,6556           74607                           MASK     LOW9                                  #  SET UP REGISTER TRANSFER LOOP.
008140,000706: 14,6557           50640                           TS       RUPTREG2                              #  ADVANCE POINTER IN QPRET.
008141,000707: 14,6560           20000                           INDEX    A                                     
008142,000708: 14,6561           30052                           XCH      QPRET                                 #  PICK UP MARK SLOT-POINTER.
008143,000709: 14,6562           64475                           AD       SIX                                   
008144,000710: 14,6563           50637                           TS       RUPTREG1                              
008145,000711: 14,6564           64516                           AD       ONE                                   
008146,000712: 14,6565           20640                           INDEX    RUPTREG2                              
008147,000713: 14,6566           50052                           TS       QPRET                                 
008148,000714: 14,6567           34475                           CAF      SIX                                   #  LOOP SEVEN TIMES.
008149,000715: 
008150,000716: 14,6570           50640        READLOOP           TS       RUPTREG2                              
008151,000717: 14,6571           20000                           INDEX    A                                     
008152,000718: 14,6572           40572                           CS       RUPTSTOR                              
008153,000719: 14,6573           20637                           INDEX    RUPTREG1                              
008154,000720: 14,6574           50000                           TS       0                                     
008155,000721: 14,6575           10637                           CCS      RUPTREG1                              #  ADDRESS NEXT LOCATION IN VAC.
008156,000722: 14,6576           50637                           TS       RUPTREG1                              
008157,000723: 14,6577           10640                           CCS      RUPTREG2                              
008158,000724: 14,6600           06570                           TC       READLOOP                              
008159,000725: 
008160,000726: 14,6601           32261                           CAF      HI5                                   #  IF ALL REQUESTED MARKS MADE, CHANGE
008161,000727: 14,6602           70735                           MASK     MARKSTAT                              #  DSKY TO VERB 50 FLASHING.
008162,000728: 14,6603           10000                           CCS      A                                     
008163,000729: 14,6604           02264                           TC       RESUME                                
008164,000730: 14,6605           32165                           CAF      PRIO32                                
008165,000731: 14,6606           02052                           TC       NOVAC                                 
008166,000732: 14,6607           30750                           CADR     MKVB50                                
008167,000733: 14,6610           02264                           TC       RESUME                                #  DONE.
008168,000734: 

Page 209

008170,000736: 
008171,000737: 14,6611           10735        MKREJECT           CCS      MARKSTAT                              #  SEE IF MARKS BEING ACCEPTED.
008172,000738: 14,6612           06616                           TC       REJECT2                               
008173,000739: 14,6613           03007                           TC       ALARM                                 #  CURSE IF NOT.
008174,000740: 14,6614           00107                           OCT      00107                                 
008175,000741: 14,6615           02256                           TC       TASKOVER                              #  (UNTIL MK ACCEPT BUTTON AVAILABLE).
008176,000742: 
008177,000743: 14,6616           44505        REJECT2            CS       BIT10                                 #  SEE IF MARK HAD BEEN MADE SINCE LAST
008178,000744: 14,6617           70735                           MASK     MARKSTAT                              #  MARK REJECT, AND SET BIT 10 TO ZERO TO
008179,000745: 14,6620           30735                           XCH      MARKSTAT                              #  SHOW MARK REJECT.
008180,000746: 14,6621           74505                           MASK     BIT10                                 
008181,000747: 14,6622           10000                           CCS      A                                     
008182,000748: 14,6623           06627                           TC       REJECT3                               
008183,000749: 
008184,000750: 14,6624           03007                           TC       ALARM                                 #  DONT ACCEPT TWO MARK REJECTS TOGETHER.
008185,000751: 14,6625           00110                           OCT      00110                                 
008186,000752: 14,6626           02256                           TC       TASKOVER                              #  (UNTIL MK REJECT BUTTON AVAILABLE).
008187,000753: 
008188,000754: 14,6627           34607        REJECT3            CAF      LOW9                                  #  DECREMENT POINTER TO REJECT MARK.
008189,000755: 14,6630           70735                           MASK     MARKSTAT                              
008190,000756: 14,6631           50577                           TS       ITEMP1                                
008191,000757: 14,6632           45362                           CS       SEVEN                                 
008192,000758: 14,6633           20577                           INDEX    ITEMP1                                
008193,000759: 14,6634           60052                           AD       QPRET                                 
008194,000760: 14,6635           20577                           INDEX    ITEMP1                                
008195,000761: 14,6636           50052                           TS       QPRET                                 #  NEW POINTER.
008196,000762: 
008197,000763: 14,6637           34503                           CAF      BIT12                                 #  INCREMENT MARKS-TO-BE-ACCEPTED FIELD
008198,000764: 14,6640           60735                           AD       MARKSTAT                              #  AND IF FIELD IS NOW NON-ZERO, CHANGE
008199,000765: 14,6641           30735                           XCH      MARKSTAT                              #  DSKY TO VERB 51 FLASHING TO INDICATE
008200,000766: 14,6642           72261                           MASK     HI5                                   #  MORE MARKS REQUIRED.
008201,000767: 14,6643           10000                           CCS      A                                     
008202,000768: 14,6644           02256                           TC       TASKOVER                              #  (UNTIL BUTTON AVAIL.)
008203,000769: 14,6645           32165                           CAF      PRIO32                                
008204,000770: 14,6646           02052                           TC       NOVAC                                 
008205,000771: 14,6647           30755                           CADR     REMKVB51                              
008206,000772: 14,6650           02256                           TC       TASKOVER                              
008207,000773: 

Page 210

008209,000775: 
008210,000776: 14,6651           03302        MARKDISP           TC       GRABDSP                               #  SPECIAL JOB TO DISPLAY UNCALLED-FOR MARK
008211,000777: 14,6652           03310                           TC       PREGBSY                               
008212,000778: 
008213,000779: 14,6653           40115        REMKDSP            CS       MPAC                                  #  THE MPAC REGISTERS CONTIN -OPTX, -OPTY,
008214,000780: 14,6654           50616                           TS       DSPTEM1                               
008215,000781: 14,6655           40116                           CS       MPAC       +1                         
008216,000782: 14,6656           50617                           TS       DSPTEM1    +1                         
008217,000783: 14,6657           40117                           CS       MPAC       +2                         
008218,000784: 14,6660           50621                           TS       DSPTEM2                               
008219,000785: 14,6661           35501                           CAF      ZERO                                  
008220,000786: 14,6662           50620                           TS       DSPTEM1    +2                         
008221,000787: 
008222,000788: 14,6663           36672                           CAF      MKDSPCOD                              #  NOUN-VERB FOR MARK DISPLAY.
008223,000789: 14,6664           03100                           TC       NVSUB                                 
008224,000790: 14,6665           06670                           TC       MKDSPBSY                              #  IF BUSY.
008225,000791: 
008226,000792: 14,6666           03362        ENDMKDSP           TC       FREEDSP                               
008227,000793: 
008228,000794: 14,6667           02124                           TC       ENDOFJOB                              
008229,000795: 
008230,000796: 14,6670           36673        MKDSPBSY           CAF      LREMKDSP                              #  TAKE DATA OUT OF MPAC WHEN RE-AWAKENED.
008231,000797: 14,6671           03320                           TC       NVSUBUSY                              
008232,000798: 
008233,000799: 14,6672           00656        MKDSPCOD           OCT      00656                                 
008234,000800: 14,6673           30653        LREMKDSP           CADR     REMKDSP                               
008235,000801: 
008236,000802: 14,6674           05720        KEYCALL            TC       POSTJUMP                              #  GO TO KEYBOARD/DISPLAY BANK WITH A
008237,000803: 14,6675           10001                           CADR     KEYRUPTC                              #  GO THRU STANDARD LOC.
008238,000804: 
008239,000805: 14,6676           74000        74K                OCT      74000                                 
008240,000806: 
008241,000807: 14,6677  14,6406               SCTMARK            EQUALS   SXTMARK                               
008242,000808: 

Page 211

008244,000810: 
008245,000811:                                                                                                  #        KEYBOARD AND DISPLAY ROUTINES FOR MARK PROCEDURES.
008246,000812: 
008247,000813:                                                                                                  #        FLASH VERB 51 WHEN WAITING FOR MARKS, CHANGING TO VERB 50 FLASHING WHEN ALL ARE IN.
008248,000814: 
008249,000815: 14,6677           36753        MKVB51             CAF      VB51                                  #  ASSUME USING PROGRAM HAS GRABBED DSP.
008250,000816: 14,6700           03100                           TC       NVSUB                                 
008251,000817: 14,6701           03315                           TC       PRENVBSY                              
008252,000818: 14,6702           05654                           TC       BANKCALL                              
008253,000819: 14,6703           14000                           CADR     FLASHON                               
008254,000820: 14,6704           03136                           TC       ENDIDLE                               
008255,000821: 14,6705           06736                           TC       MKVB5X                                #  DONT RESPOND TO PROCEED OR TERMINATE.
008256,000822: 14,6706           06736                           TC       MKVB5X                                
008257,000823: 
008258,000824: 14,6707           36747                           CAF      OCT76                                 #  ON ENTER, SEE IF DATA LOADED INSTEAD.
008259,000825: 14,6710           70602                           MASK     VERBREG                               
008260,000826: 14,6711           66714                           AD       -OCT50                                #  VERBS 50 AND 51 CAUSE END MARK ROUTINES.
008261,000827: 14,6712           10000                           CCS      A                                     
008262,000828: 14,6713           06736                           TC       MKVB5X                                #  ON DATA LOAD, RE-DISPLAY ORIGINAL VERB.
008263,000829: 14,6714           77727        -OCT50             OCT      -50                                   
008264,000830: 14,6715           06736                           TC       MKVB5X                                
008265,000831: 
008266,000832: 14,6716           34607                           CAF      LOW9                                  
008267,000833: 14,6717           70735                           MASK     MARKSTAT                              
008268,000834: 14,6720           50735                           TS       MARKSTAT                              #  VAC ADR IN MARKSTAT AND NO. MARKS MADE
008269,000835: 14,6721           40000                           COM                                            
008270,000836: 14,6722           20735                           INDEX    MARKSTAT                              #  WILL BE LEFT IN QPRET.
008271,000837: 14,6723           60052                           AD       QPRET                                 
008272,000838: 14,6724           25777                           EXTEND                                         
008273,000839: 14,6725           44503                           MP       BIT12                                 
008274,000840: 14,6726           64516                           AD       ONE                                   
008275,000841: 14,6727           20735                           INDEX    MARKSTAT                              
008276,000842: 14,6730           50052                           TS       QPRET                                 
008277,000843: 
008278,000844: 14,6731           20017                           INHINT                                         #  GO SERVICE OPTSTALL INTERFACE WITH 
008279,000845: 14,6732           34516                           CAF      ONE                                   #  USING PROGRAM.
008280,000846: 14,6733           02173                           TC       WAITLIST                              
008281,000847: 14,6734           30744                           CADR     ENDMARKS                              
008282,000848: 14,6735           02124                           TC       ENDOFJOB                              
008283,000849: 

Page 212

008285,000851: 
008286,000852: 14,6736           32261        MKVB5X             CAF      HI5                                   #  RE-DISPLAY VERB 51 IF MORE MARKS
008287,000853: 14,6737           70735                           MASK     MARKSTAT                              #  WANTED AND VERB 50 IF ALL IN.
008288,000854: 14,6740           10000                           CCS      A                                     
008289,000855: 14,6741           34510                           CAF      BIT7                                  #  (MAKES VERB 51).
008290,000856: 14,6742           66746                           AD       VB50                                  
008291,000857: 14,6743           06700                           TC       MKVB51     +1                         
008292,000858: 
008293,000859: 14,6744           06261        ENDMARKS           TC       ENDOPT                                
008294,000860: 14,6745           06314                           TC       GOODEND                               
008295,000861: 
008296,000862: 14,6746           05000        VB50               OCT      5000                                  
008297,000863: 14,6747           00076        OCT76              OCT      76                                    
008298,000864: 
008299,000865:                                                                                                  #        ON RECEIPT OF LAST REQUESTED MARK, DISPLAY VERB 50 (STILL FLASHING).
008300,000866: 
008301,000867: 14,6750           36746        MKVB50             CAF      VB50                                  
008302,000868: 14,6751           50110                           TS       NVTEMP                                #  SPECIAL ENTRY TO NVSUB WHICH AVOIDS BUSY
008303,000869: 14,6752           03105                           TC       NVSUB      +5                         #  TEST. 
008304,000870: 14,6753           05100        VB51               OCT      5100                                  
008305,000871: 14,6754           02124                           TC       ENDOFJOB                              
008306,000872: 
008307,000873:                                                                                                  #        IF THE ABOVE IS REJECTED, REVERT TO VERB 51.
008308,000874: 
008309,000875: 14,6755           36753        REMKVB51           CAF      VB51                                  
008310,000876: 14,6756           06751                           TC       MKVB50     +1                         
008311,000877: 

Page 213

008313,000879: 
008314,000880:                                                                                                  #        THE FOLLOWING ROUTINE ALLOWS INTERLOCKING OF IMU COMPENSATION AND CERTAIN IMU MODE CHANGES WHICH ARE
008315,000881:                                                                                                  #  MEANINGFUL AFTER THE IMU HAS BEEN ALIGNED. THESE INCLUDE IMUFINNW, IMUATTC, AND IMUREENT.
008316,000882: 
008317,000883: 14,6757           20017        TSTIMACT           INHINT                                         #  TEST IMU ACTIVITY BIT TO SEE IF GYROS
008318,000884: 14,6760           30001                           XCH      Q                                     
008319,000885: 14,6761           50117                           TS       MPAC       +2                         
008320,000886: 14,6762           44504                           CS       BIT11                                 #  BEING TORQUED NOW.
008321,000887: 14,6763           70646                           MASK     FLAGWRD1                              
008322,000888: 14,6764           64504                           AD       BIT11                                 
008323,000889: 14,6765           30646                           XCH      FLAGWRD1                              
008324,000890: 14,6766           74504                           MASK     BIT11                                 
008325,000891: 14,6767           10000                           CCS      A                                     
008326,000892: 14,6770           06772                           TC       +2                                    #  IMU BUSY.
008327,000893: 14,6771           00117                           TC       MPAC       +2                         #  CHANNEL AVAILABLE - PROCEED AS USUAL.
008328,000894: 
008329,000895: 14,6772           30072                           XCH      BANKTEM                               #  PUT THE JOB TO SLEEP FOR MAX TIME IT
008330,000896: 14,6773           50115                           TS       MPAC                                  #  SHOULD TAKE TO COMPENSATE.
008331,000897: 14,6774           30071                           XCH      TEMQS                                 
008332,000898: 14,6775           50116                           TS       MPAC       +1                         
008333,000899: 14,6776           36103                           CAF      320MS                                 
008334,000900: 14,6777           02173                           TC       WAITLIST                              
008335,000901: 14,7000           31003                           CADR     IMACT2                                
008336,000902: 14,7001           37010                           CAF      LIMUACTW                              
008337,000903: 14,7002           02127                           TC       JOBSLEEP                              
008338,000904: 
008339,000905:                                                                                                  #        WAKE UP THE JOB AND SETTHE ACTIVITY FLAG.
008340,000906: 
008341,000907: 14,7003           37010        IMACT2             CAF      LIMUACTW                              
008342,000908: 14,7004           02060                           TC       JOBWAKE                               
008343,000909: 14,7005           03416                           TC       FLAG1UP                               
008344,000910: 14,7006           02000                           OCT      02000                                 
008345,000911: 14,7007           02256                           TC       TASKOVER                              
008346,000912: 
008347,000913: 14,7010           31011        LIMUACTW           CADR     IMUACTW                               
008348,000914: 
008349,000915: 14,7011           20017        IMUACTW            INHINT                                         
008350,000916: 14,7012           30115                           XCH      MPAC                                  #  PROCEED WITH MODE SWITCH.
008351,000917: 14,7013           50072                           TS       BANKTEM                               
008352,000918: 14,7014           30116                           XCH      MPAC       +1                         
008353,000919: 14,7015           50071                           TS       TEMQS                                 
008354,000920: 14,7016           00117                           TC       MPAC       +2                         

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