Source Code

These source-code files were obtained by digitally photographing a Solarium 55 (Apollo 6) program listing from the American Computer Museum in Bozeman, Montana. Photography was by Ron Burkey, with assistance from museum curator George Keremedjiev and Montana State University curator Kim Scott. The listing originally belonged to Eldon C. Hall, who donated it to the museum. Volunteers then manually typed in the source code or else modified similar pre-existing Colossus 249 (Apollo 9) source files to incorporate changes, although this transcription was principally done by Jim Lawton and corrected by Ron Burkey. Notations on the program listing read, in part:

        YUL SYSTEM FOR AGC4: REVISION 0 OF PROGRAM SOLRUM55
	BY NASA 1021108-021                    DEC. 4, 1966
Note that the date is the date of the printout, not the date of the program revision.

Due to statements by Jay Sampson, the original contractor from AC Electronics who created Solarium 54 (Apollo 4) from the earlier Corona (AS-202 mission) program, it is believed that Solarium 54 and Solarium 55 (Apollo 6) are actually identical programs. The change in numbering, from 54 to 55, is believed to be for some administrative purpose. Thus, it is believed that the source-code represented here is equally appropriate for both Apollo 4 and Apollo 6 missions.

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