Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

005823,000002:                                                                                                  ## Copyright:   Public domain.
005824,000003:                                                                                                  ## Filename:    T4RUPT_PROGRAM.agc
005825,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
005826,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
005827,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
005828,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
005829,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
005830,000009:                                                                                                  ##              Validation.
005831,000010:                                                                                                  ## Assembler:   yaYUL
005832,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
005833,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
005834,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
005835,000014:                                                                                                  ##              2017-01-04 MAS  Pulled PROCEED key functionality back from Luminary 99.
005836,000015:                                                                                                  ##              2017-01-15 MAS  Added acceleration of T4RUPT without interfering with
005837,000016:                                                                                                  ##                              its usual purpose, as well as setting of LASTIMER.
005838,000017: 
005839,000018:    4674                                           SETLOC   ENDPHMNF                              
005840,000019:    4674           55112        T4RUPT             TS       LASTIMER                              #  (Comes here with +4 in A).
005841,000020: 
005842,000021:    4675           31113                           CA       T4TEMP                                #  Check to see if T4TEMP is nonzero
005843,000022:    4676           00006                           EXTEND                                         
005844,000023:    4677           64704                           BZMF     T4RUPT2                               #  If T4TEMP is nonzero, self-check has               
005845,000024:    4700           54027                           TS       TIME4                                 #  set up an accelerated T4RUPT. Reschedule
005846,000025:    4701           37675                           CA       ZERO                                  #  using T4TEMP and zero it out.
005847,000026:    4702           55113                           TS       T4TEMP                                
005848,000027:    4703           14573                           TCF      NOQBRSM                               #  Bail out before doing anything else.
005849,000028: 
005850,000029:    4704           37675        T4RUPT2            CAF      ZERO                                  
005851,000030:    4705           00006                           EXTEND                                         #  ZERO OUT0 EVERY T4RUPT.
005852,000031:    4706           01010                           WRITE    OUT0                                  
005853,000032: 
005854,000033:    4707           50347                           INDEX    T4LOC                                 #  NORMALLY TO NORMT4, BUT TO LMPRESET OR
005855,000034:    4710           10000                           TCF      0                                     #  DSKYRSET AFTER OUT0 COMMAND.
005856,000035: 
005857,000036:    4711           10350        NORMT4             CCS      DSRUPTSW                              #  GOES 7(-1)0.
005858,000037:    4712           14714                           TCF      +2                                    
005859,000038:    4713           37673                           CAF      SEVEN                                 
005860,000039:    4714           54350                           TS       DSRUPTSW                              
005861,000040: 
005862,000041:    4715           34023                           CAF      T4RPTBB                               #  OFF TO SWITCHED BANK
005863,000042:    4716           56006                           XCH      BBANK                                 
005864,000043:    4717           12442                           TCF      T4RUPTA                               
005865,000044: 
005866,000045:    4720           34727        LMPRESET           CAF      90MRUPT                               #  30 MS ON / 90 MS OFF.
005867,000046:    4721           14723                           TCF      +2                                    
005868,000047: 
005869,000048:    4722           34730        DSKYRSET           CAF      100MRUPT                              #  20 MS ON / 100 MS OFF.
005870,000049:    4723           54027                           TS       TIME4                                 
005871,000050:    4724           34731                           CAF      LNORMT4                               
005872,000051:    4725           54347                           TS       T4LOC                                 
005873,000052:    4726           14573                           TCF      NOQBRSM                               
005874,000053: 
005875,000054:    4727           37767        90MRUPT            DEC      16375      B-14                       
005876,000055:    4730           37766        100MRUPT           DEC      16374      B-14                       
005877,000056:    4731           04711        LNORMT4            ADRES    NORMT4                                
005878,000057:    4732           74000        74K                OCT      74000                                 
005879,000058: 
005880,000059:                                                                                                  #  RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
005881,000060:                                                                                                  #  IN LOWER 5 BITS.
005882,000061: 
005883,000062:    4733           04025        RELTAB             OCT      04025                                 
005884,000063:    4734           10003                           OCT      10003                                 
005885,000064:    4735           14031                           OCT      14031                                 
005886,000065:    4736           20033                           OCT      20033                                 
005887,000066:    4737           24017                           OCT      24017                                 
005888,000067:    4740           30036                           OCT      30036                                 
005889,000068:    4741           34034                           OCT      34034                                 
005890,000069:    4742           40023                           OCT      40023                                 
005891,000070:    4743           44035                           OCT      44035                                 
005892,000071:    4744           50037                           OCT      50037                                 
005893,000072:    4745           54000                           OCT      54000                                 
005894,000073:    4746           60000        RELTAB11           OCT      60000                                 
005895,000074:    4747                        ENDT4FF            EQUALS                                         
005896,000075: 
005897,000076:                                                                                                  #           SWITCHED-BANK PORTION.
005898,000077: 
005899,000078: 12,2442                                           SETLOC   ENDFRESS                              
005900,000079: 
005901,000080: 12,2442           54016        T4RUPTA            TS       BANKRUPT                              
005902,000081: 12,2443           00006                           EXTEND                                         
005903,000082: 12,2444           22012                           QXCH     QRUPT                                 
005904,000083: 
005905,000084: 12,2445           10366        LMPOUT             CCS      LMPCMD                                #  SEE IF LMP COMMAND TO BE SENT. IF SO,
005906,000085: 12,2446           12462                           TCF      CDRVE                                 #  BIT 15 = 1 AND (UP TO) BITS 1 - 11
005907,000086: 12,2447           12462                           TCF      CDRVE                                 #  CONTAIN THE COMMAND.
005908,000087: 
005909,000088: 12,2450           35226                           CAF      LOW11                                 
005910,000089: 12,2451           70366                           MASK     LMPCMD                                #  LEAVE COMMAND PORTION INTACT.
005911,000090: 12,2452           54366                           TS       LMPCMD                                
005912,000091: 12,2453           64732                           AD       74K                                   
005913,000092: 12,2454           00006                           EXTEND                                         
005914,000093: 12,2455           01010                           WRITE    OUT0                                  
005915,000094: 
005916,000095: 12,2456           32574                           CAF      LLMPRS                                
005917,000096: 12,2457           54347                           TS       T4LOC                                 
005918,000097: 12,2460           32575                           CAF      30MRUPT                               
005919,000098: 12,2461           12537                           TCF      SETTIME4                              
005920,000099: 
005921,000100: 12,2462           10322        CDRVE              CCS      DSPTAB     +11D                       
005922,000101: 12,2463           02472                           TC       DSPOUT                                
005923,000102: 12,2464           02472                           TC       DSPOUT                                
005924,000103: 
005925,000104: 12,2465           56322                           XCH      DSPTAB     +11D                       
005926,000105: 12,2466           75226                           MASK     LOW11                                 
005927,000106: 12,2467           54322                           TS       DSPTAB     +11D                       
005928,000107: 12,2470           64746                           AD       RELTAB11                              
005929,000108: 12,2471           02532                           TC       DSPLAYC                               
005930,000109: 
005931,000110:                                                                                                  #  DSPOUT PROGRAM. PUTS OUT DISPLAYS.
005932,000111: 
005933,000112: 12,2472           10303        DSPOUT             CCS      NOUT                                  #  DRIVE DISPLAY SYSTEM RELAYS.
005934,000113: 12,2473           12476                           TCF      +3                                    
005935,000114: 
005936,000115: 12,2474           32513        NODSPOUT           CAF      120MRUPT                              #  SET FOR RUPT IN 120 MS IF NO RELAYS.
005937,000116: 12,2475           12537                           TCF      SETTIME4                              
005938,000117: 
005939,000118: 12,2476           54303                           TS       NOUT                                  
005940,000119: 12,2477           47675                           CS       ZERO                                  
005941,000120: 12,2500           54077                           TS       DSRUPTEM                              #  SET TO -0 FOR 1ST PASS THRU DSPTAB
005942,000121: 12,2501           56341                           XCH      DSPCNT                                
005943,000122: 12,2502           67676                           AD       NEG0                                  #  TO PREVENT +0
005944,000123: 12,2503           54341                           TS       DSPCNT                                
005945,000124: 12,2504           50341        DSPSCAN            INDEX    DSPCNT                                
005946,000125: 12,2505           10307                           CCS      DSPTAB                                
005947,000126: 12,2506           10341                           CCS      DSPCNT                                #  IF DSPTAB ENTRY +, SKIP
005948,000127: 12,2507           02502                           TC       DSPSCAN    -2                         #  IF DSPCNT +, AGAIN
005949,000128: 12,2510           02521                           TC       DSPLAY                                #  IF DSPTAB ENTRY -, DISPLAY
005950,000129: 12,2511           00012        TABLNTH            OCT      12                                    #  DEC 10   LENGTH OF DSPTAB
005951,000130: 12,2512           10077                           CCS      DSRUPTEM                              #  IF DSRUPTEM=+0,2ND PASS THRU DSPTAB
005952,000131: 12,2513           37764        120MRUPT           DEC      16372      B-14                       #  (DSPCNT = 0). +0 INTO NOUT.
005953,000132: 12,2514           54303                           TS       NOUT                                  
005954,000133: 12,2515           12474                           TCF      NODSPOUT                              
005955,000134: 12,2516           54077                           TS       DSRUPTEM                              #  IF DSRUPTEM=-0,1ST PASS THRU DSPTAB
005956,000135: 12,2517           32511                           CAF      TABLNTH                               #  (DSPCNT=0). +0 INTO DSRUPTEM. PASS AGAIN
005957,000136: 12,2520           02503                           TC       DSPSCAN    -1                         
005958,000137: 
005959,000138: 12,2521           67671        DSPLAY             AD       ONE                                   
005960,000139: 12,2522           50341                           INDEX    DSPCNT                                
005961,000140: 12,2523           54307                           TS       DSPTAB                                #  REPLACE POSITIVELY
005962,000141: 12,2524           75226                           MASK     LOW11                                 #  REMOVE BITS 12 TO 15
005963,000142: 12,2525           54077                           TS       DSRUPTEM                              
005964,000143: 12,2526           35220                           CAF      HI5                                   
005965,000144: 12,2527           50341                           INDEX    DSPCNT                                
005966,000145: 12,2530           74733                           MASK     RELTAB                                #  PICK UP BITS 12 TO 15 OF RELTAB ENTRY
005967,000146: 12,2531           60077                           AD       DSRUPTEM                              
005968,000147: 12,2532           00006        DSPLAYC            EXTEND                                         
005969,000148: 12,2533           01010                           WRITE    OUT0                                  
005970,000149: 
005971,000150: 12,2534           32573                           CAF      LDSKYRS                               
005972,000151: 12,2535           54347                           TS       T4LOC                                 
005973,000152: 12,2536           32576                           CAF      20MRUPT                               
005974,000153: 
005975,000154: 12,2537           54027        SETTIME4           TS       TIME4                                 
005976,000155: 
005977,000156:                                                                                                  #  THE STATUS OF THE PROCEED PUSHBUTTON IS MONITORED EVERY 120 MILLISECONDS VIA THE CHANNEL 32 BIT 14 INBIT.
005978,000157:                                                                                                  #   THE STATE OF THIS INBIT IS COMPARED WITH ITS STATE DURING THE PREVIOUS T4RUPT AND IS PROCESSED AS FOLLOWS.
005979,000158:                                                                                                  #        IF PREV ON AND NOW ON   - BYPASS
005980,000159:                                                                                                  #        IF PREV ON AND NOW OFF  - UPDATE IMODES33
005981,000160:                                                                                                  #        IF PREV OFF AND NOW ON  - UPDATE IMODES33 AND PROCESS VIA PINBALL
005982,000161:                                                                                                  #        IF PREV OFF AND NOW OFF - BYPASS
005983,000162:                                                                                                  #  THE LOGIC EMPLOYED REQUIRES ONLY 9 MCT (APPROX. 108 MICROSECONDS) OF COMPUTER TIME WHEN NO CHANGES OCCUR.
005984,000163: 
005985,000164: 12,2540           30370        PROCEEDE           CA       IMODES33                              #  MONITIOR FOR PROCEED BUTTON
005986,000165: 12,2541           00006                           EXTEND                                         
005987,000166: 12,2542           06032                           RXOR     32                                    
005988,000167: 12,2543           77654                           MASK     BIT14                                 
005989,000168: 12,2544           00006                           EXTEND                                         
005990,000169: 12,2545           12561                           BZF      T4JUMP                                #  NO CHANGE
005991,000170: 
005992,000171: 12,2546           22370                           LXCH     IMODES33                              
005993,000172: 12,2547           00006                           EXTEND                                         
005994,000173: 12,2550           06001                           RXOR     L                                     
005995,000174: 12,2551           54370                           TS       IMODES33                              #  UPDATE IMODES33
005996,000175: 12,2552           77654                           MASK     BIT14                                 
005997,000176: 12,2553           10000                           CCS      A                                     
005998,000177: 12,2554           12561                           TCF      T4JUMP                                #  WAS ON - NOW OFF
005999,000178: 
006000,000179: 12,2555           35225                           CAF      CHRPRIO                               #  WAS OFF - NOW ON
006001,000180: 12,2556           04344                           TC       NOVAC                                 
006002,000181: 12,2557     0264                                  EBANK=   DSPCOUNT                              
006003,000182: 12,2557           03320 10000                     2CADR    PROCKEY                               
006004,000183: 
006005,000184:                                                                                                  #  JUMP TO APPROPRIATE ONCE-PER SECOND (.96 SEC ACTUALLY) ACTIVITY
006006,000185: 
006007,000186: 12,2561           50350        T4JUMP             INDEX    DSRUPTSW                              
006008,000187: 12,2562           12563                           TCF      +1                                    
006009,000188: 
006010,000189: 12,2563           02577                           TC       ALTOUT                                
006011,000190: 
006012,000191: 12,2564           13452                           TCF      RRAUTCHK                              
006013,000192: 12,2565           12732                           TCF      IMUMON                                
006014,000193: 12,2566           14567                           TCF      RESUME                                
006015,000194: 12,2567           02644                           TC       ALTROUT                               
006016,000195: 12,2570           13452                           TCF      RRAUTCHK                              
006017,000196: 12,2571           12732                           TCF      IMUMON                                
006018,000197: 12,2572           14567                           TCF      RESUME                                
006019,000198: 12,2573           04722        LDSKYRS            ADRES    DSKYRSET                              
006020,000199: 12,2574           04720        LLMPRS             ADRES    LMPRESET                              
006021,000200: 
006022,000201: 12,2575           37775        30MRUPT            DEC      16381      B-14                       
006023,000202: 12,2576           37776        20MRUPT            DEC      16382      B-14                       
006024,000203:                                                                                                  #  THIS ROUTINE SERVICES THE METER OUTPUTS.
006025,000204: 
006026,000205: 
006027,000206:                                                                                                  #  DIDFLG INDICATES THE STATE OF THE PROGRAM..............
006028,000207:                                                                                                  #  IF GREATER THAN ZERO, THEN UNABLE TO DISPLAY DATA
006029,000208:                                                                                                  #  IF EQUAL TO ZERO, THEN THE PROGRAM IS IN USE
006030,000209:                                                                                                  #  IF LESS THAN ZERO, THEN THE PROGRAM IS ABLE TO BE USED............
006031,000210: 
006032,000211: 12,2577           02652        ALTOUT             TC       DISINDAT                              
006033,000212: 12,2600           47670                           CS       BIT2                                  
006034,000213: 12,2601           00006                           EXTEND                                         
006035,000214: 12,2602           03014                           WAND     14                                    #  SET UP OUTPUT FOR ALTITUDE
006036,000215: 12,2603           10352                           CCS      ALT                                   #  -1 IF OLD DATA TO BE EXTRAPOLATED.
006037,000216: 12,2604           12610                           TCF      +4                                    #  NEW DATA.
006038,000217: 12,2605           12610                           TCF      +3                                    
006039,000218: 12,2606           12614                           TCF      OLDDATA                               
006040,000219: 
006041,000220: 12,2607           54352                           TS       ALT                                   #  CHANGE -0 IN ALT TO +0.
006042,000221: 12,2610           47671                           CS       ONE                                   #  RESET ALTSAVE.
006043,000222: 12,2611           52353                           DXCH     ALT                                   
006044,000223: 12,2612           52365        ZDATA2             DXCH     ALTSAVE                               
006045,000224: 12,2613           12634                           TCF      NEWDATA                               
006046,000225: 
006047,000226: 12,2614           30354        OLDDATA            CA       ALTRATE                               #  USE ALTRATE TO EXTRAPOLATE.
006048,000227: 12,2615           00006                           EXTEND                                         
006049,000228: 12,2616           72727                           MP       ARTOA                                 #  RATE APPLIES FOR .96 SEC.
006050,000229: 12,2617           60365                           AD       ALTSAVE    +1                         
006051,000230: 12,2620           54365                           TS       ALTSAVE    +1                         #  AND MAYBE SKIP.
006052,000231: 12,2621           37675                           CAF      ZERO                                  
006053,000232: 12,2622           26364                           ADS      ALTSAVE                               
006054,000233: 
006055,000234: 12,2623           37651                           CAF      POSMAX                                #  FORCE SIGN AGREEMENT ASSUMING ALTSAVE IS
006056,000235: 12,2624           67671                           AD       ONE                                   #  NOT NEGATIVE. IF IT IS, THE FINAL TS
006057,000236: 12,2625           60365                           AD       ALTSAVE    +1                         #  WILL NOT SKIP AND WE CAN SET ALTSAVE TO
006058,000237: 12,2626           54365                           TS       ALTSAVE    +1                         #  ZERO IN THAT CASE.
006059,000238: 12,2627           37675                           CAF      ZERO                                  
006060,000239: 12,2630           67651                           AD       POSMAX                                
006061,000240: 12,2631           60364                           AD       ALTSAVE                               
006062,000241: 12,2632           54364                           TS       ALTSAVE                               
006063,000242: 12,2633           12724                           TCF      ZERODATA                              #  ALTSAVE NEGATIVE - SET TO ZERO.
006064,000243: 
006065,000244: 12,2634           10364        NEWDATA            CCS      ALTSAVE                               #  MAKE UP 15 BIT UNSIGNED OUTPUT.
006066,000245: 12,2635           37653                           CAF      BIT15                                 #  MAJOR PART +1 OR +0.
006067,000246: 12,2636           60365                           AD       ALTSAVE    +1                         
006068,000247: 12,2637           54060        METEROUT           TS       ALTM                                  
006069,000248: 12,2640           32730                           CAF      BITSET                                
006070,000249: 12,2641           00006                           EXTEND                                         
006071,000250: 12,2642           05014                           WOR      14                                    
006072,000251: 12,2643           12723                           TCF      DONEDID                               
006073,000252: 12,2644           02652        ALTROUT            TC       DISINDAT                              
006074,000253: 12,2645           37670                           CAF      BIT2                                  
006075,000254: 12,2646           00006                           EXTEND                                         
006076,000255: 12,2647           05014                           WOR      14                                    #  SET UP OUTPUT FOR ALT. RATE
006077,000256: 12,2650           30354                           CA       ALTRATE                               
006078,000257: 12,2651           12637                           TCF      METEROUT                              
006079,000258: 
006080,000259: 12,2652           10351        DISINDAT           CCS      DIDFLG                                
006081,000260: 12,2653           12723                           TCF      DONEDID                               
006082,000261: 12,2654           12655                           NOOP                                           
006083,000262: 12,2655           37664                           CAF      BIT6                                  
006084,000263: 12,2656           00006                           EXTEND                                         
006085,000264: 12,2657           02030                           RAND     30                                    #  CHECK DISPLAY INERTIAL DATA BIT
006086,000265: 12,2660           10000                           CCS      A                                     
006087,000266: 12,2661           12720                           TCF      ALLDONE                               
006088,000267: 12,2662           10351                           CCS      DIDFLG                                
006089,000268: 12,2663           12664                           NOOP                                           
006090,000269: 12,2664           12705                           TCF      GOAGN                                 
006091,000270: 
006092,000271: 12,2665           37662        FIRSTIME           CAF      BIT8                                  
006093,000272: 12,2666           00006                           EXTEND                                         
006094,000273: 12,2667           05012                           WOR      12                                    #  ENABLE DISPLAY INERTIAL DATA
006095,000274: 12,2670           37675                           CAF      ZERO                                  
006096,000275: 12,2671           54351                           TS       DIDFLG                                
006097,000276: 12,2672           54363                           TS       LASTXCMD                              
006098,000277: 12,2673           54362                           TS       LASTYCMD                              
006099,000278: 12,2674           36173                           CAF      SIX                                   
006100,000279: 12,2675           04517                           TC       WAITLIST                              
006101,000280: 12,2676           02701 24007                     2CADR    INTLZE                                
006102,000281: 
006103,000282: 12,2700           02723                           TC       DONEDID                               
006104,000283: 
006105,000284: 12,2701           37670        INTLZE             CAF      BIT2                                  
006106,000285: 12,2702           00006                           EXTEND                                         
006107,000286: 12,2703           05012                           WOR      12                                    #  ENABLE RR ERROR COUNTER
006108,000287: 12,2704           04563                           TC       TASKOVER                              
006109,000288: 
006110,000289: 12,2705           40363        GOAGN              CS       LASTXCMD                              
006111,000290: 12,2706           60360                           AD       FORVEL                                
006112,000291: 12,2707           54054                           TS       OPTXCMD                               
006113,000292: 12,2710           30360                           CA       FORVEL                                
006114,000293: 12,2711           54363                           TS       LASTXCMD                              
006115,000294: 12,2712           40362                           CS       LASTYCMD                              
006116,000295: 12,2713           60361                           AD       LATVEL                                
006117,000296: 12,2714           54053                           TS       OPTYCMD                               
006118,000297: 12,2715           30361                           CA       LATVEL                                
006119,000298: 12,2716           54362                           TS       LASTYCMD                              
006120,000299: 12,2717           00002                           TC       Q                                     
006121,000300: 
006122,000301: 12,2720           42731        ALLDONE            CS       DIDRESET                              #  REMOVE DISPLAY INERTIAL DATA AND ECTR.
006123,000302: 12,2721           00006                           EXTEND                                         
006124,000303: 12,2722           03012                           WAND     12                                    #  RESET RR ERROR COUNTER
006125,000304: 12,2723           14567        DONEDID            TCF      RESUME                                
006126,000305: 12,2724           37675        ZERODATA           CAF      ZERO                                  
006127,000306: 12,2725           54001                           TS       L                                     
006128,000307: 12,2726           12612                           TCF      ZDATA2                                
006129,000308: 
006130,000309: 12,2727           06432        ARTOA              DEC      .20469                                #  ALT DUE TO ALTRATE FOR .96 SEC.
006131,000310: 12,2730           06004        BITSET             OCT      6004                                  
006132,000311: 
006133,000312: 12,2731           00202        DIDRESET           OCT      202                                   
006134,000313:                                                                                                  #  IMU INBIT MONITOR - ENTERED EVERY 480 MS BY T4RUPT.
006135,000314: 
006136,000315: 12,2732           30367        IMUMON             CA       IMODES30                              #  SEE IF THERE HAS BEEN A CHANGE IN THE
006137,000316: 12,2733           00006                           EXTEND                                         #  RELEVENT BITS OF CHAN 30.
006138,000317: 12,2734           06030                           RXOR     30                                    
006139,000318: 12,2735           73424                           MASK     30RDMSK                               
006140,000319: 12,2736           00006                           EXTEND                                         
006141,000320: 12,2737           12767                           BZF      TNONTEST                              #  NO CHANGE IN STATUS.
006142,000321: 
006143,000322: 12,2740           54074                           TS       RUPTREG1                              #  SAVE BITS WHICH HAVE CHANGED.
006144,000323: 12,2741           22367                           LXCH     IMODES30                              #  UPDATE IMODES30.
006145,000324: 12,2742           00006                           EXTEND                                         
006146,000325: 12,2743           06001                           RXOR     L                                     
006147,000326: 12,2744           54367                           TS       IMODES30                              
006148,000327: 
006149,000328: 12,2745           47671                           CS       ONE                                   
006150,000329: 12,2746           56074                           XCH      RUPTREG1                              
006151,000330: 12,2747           00006                           EXTEND                                         
006152,000331: 12,2750           63217                           BZMF     TLIM                                  #  CHANGE IN IMU TEMP.
006153,000332: 12,2751           12753                           TCF      NXTIFBIT                              #  BEGIN BIT SCAN.
006154,000333: 
006155,000334: 12,2752           67671                 -1        AD       ONE                                   #  (RE-ENTERS HERE FROM NXTIFAIL.)
006156,000335: 12,2753           24074        NXTIFBIT           INCR     RUPTREG1                              #  ADVANCE BIT POSITION NUMBER.
006157,000336: 12,2754           60000                 +1        DOUBLE                                         
006158,000337: 12,2755           54000                           TS       A                                     #  SKIP IF OVERFLOW.
006159,000338: 12,2756           12753                           TCF      NXTIFBIT                              #  LOOK FOR BIT.
006160,000339: 
006161,000340: 12,2757           56075                           XCH      RUPTREG2                              #  SAVE OVERFLOW-CORRECTED DATA.
006162,000341: 12,2760           50074                           INDEX    RUPTREG1                              #  SELECT NEW VALUE OF THIS BIT.
006163,000342: 12,2761           37654                           CAF      BIT14                                 
006164,000343: 12,2762           70367                           MASK     IMODES30                              
006165,000344: 12,2763           50074                           INDEX    RUPTREG1                              
006166,000345: 12,2764           03420                           TC       IFAILJMP                              
006167,000346: 
006168,000347: 12,2765           10075        NXTIFAIL           CCS      RUPTREG2                              #  PROCESS ANY ADDITIONAL CHANGES.
006169,000348: 12,2766           12752                           TCF      NXTIFBIT   -1                         
006170,000349: 
006171,000350: 12,2767           40367        TNONTEST           CS       IMODES30                              #  AFTER PROCESSING ALL CHANGES, SEE IF IT
006172,000351: 12,2770           77663                           MASK     BIT7                                  #  IS TIME TO ACT ON A TURN-ON SEQUENCE.
006173,000352: 12,2771           10000                           CCS      A                                     
006174,000353: 12,2772           13115                           TCF      C33TEST                               #  NO - EXAMINE CHANNEL 33.
006175,000354: 
006176,000355: 12,2773           37662                           CAF      BIT8                                  #  SEE IF FIRST SAMPLE OR SECOND.
006177,000356: 12,2774           70367                           MASK     IMODES30                              
006178,000357: 12,2775           10000                           CCS      A                                     
006179,000358: 12,2776           13002                           TCF      PROCTNON                              #  REACT AFTER SECOND SAMPLE.
006180,000359: 
006181,000360: 12,2777           37662                           CAF      BIT8                                  #  IF FIRST SAMPLE, SET BIT TO REACT NEXT
006182,000361: 12,3000           26367                           ADS      IMODES30                              #  TIME.
006183,000362: 12,3001           13115                           TCF      C33TEST                               
006184,000363:                                                                                                  #  PROCESS IMU TURN-ON REQUESTS AFTER WAITING 1 SAMPLE FOR ALL SIGNALS TO ARRIVE.
006185,000364: 
006186,000365: 12,3002           43442        PROCTNON           CS       BITS7&8                               
006187,000366: 12,3003           70367                           MASK     IMODES30                              
006188,000367: 12,3004           54367                           TS       IMODES30                              
006189,000368: 12,3005           77654                           MASK     BIT14                                 #  SEE IF TURN-ON REQUEST.
006190,000369: 12,3006           10000                           CCS      A                                     
006191,000370: 12,3007           13100                           TCF      OPONLY                                #  OPERATE ON ONLY.
006192,000371: 
006193,000372: 12,3010           40367                           CS       IMODES30                              #  IF TURN-ON REQUEST, WE SHOULD HAVE IMU
006194,000373: 12,3011           77661                           MASK     BIT9                                  #  OPERATE.
006195,000374: 12,3012           10000                           CCS      A                                     
006196,000375: 12,3013           13016                           TCF      +3                                    
006197,000376: 
006198,000377: 12,3014           05405                           TC       ALARM                                 #  ALARM IF NOT.
006199,000378: 12,3015           00213                           OCT      213                                   
006200,000379: 
006201,000380: 12,3016           03405                 +3        TC       CAGESUB                               
006202,000381: 12,3017           33450                           CAF      90SECS                                
006203,000382: 12,3020           04517                           TC       WAITLIST                              
006204,000383: 12,3021           03026 24007                     2CADR    ENDTNON                               
006205,000384: 12,3023           13115                           TCF      C33TEST                               
006206,000385: 
006207,000386: 12,3024           33450        RETNON             CAF      90SECS                                
006208,000387: 12,3025           04540                           TC       VARDELAY                              
006209,000388: 
006210,000389: 12,3026           47670        ENDTNON            CS       BIT2                                  #  RESET TURN-ON REQUEST FAIL BIT.
006211,000390: 12,3027           70367                           MASK     IMODES30                              
006212,000391: 12,3030           56367                           XCH      IMODES30                              
006213,000392: 12,3031           77670                           MASK     BIT2                                  #  IF IT WAS OFF, SEND ISS DELAY COMPLETE.
006214,000393: 12,3032           00006                           EXTEND                                         
006215,000394: 12,3033           13046                           BZF      ENDTNON2                              
006216,000395: 
006217,000396: 12,3034           37654                           CAF      BIT14                                 #  IF IT WAS ON AND TURN-ON REQUEST NOW
006218,000397: 12,3035           70367                           MASK     IMODES30                              #  PRESENT, RE-ENTER 90 SEC DELAY IN WL.
006219,000398: 12,3036           00006                           EXTEND                                         
006220,000399: 12,3037           13024                           BZF      RETNON                                
006221,000400: 
006222,000401: 12,3040           40061                           CS       STATE                                 #  IF IT IS NOT ON NOW, SEE IF A PROG WAS
006223,000402: 12,3041           77662                           MASK     IMUSEFLG                              #  WAITING.
006224,000403: 12,3042           10000                           CCS      A                                     
006225,000404: 12,3043           14563                           TCF      TASKOVER                              
006226,000405: 12,3044           04104                           TC       POSTJUMP                              
006227,000406: 12,3045           26641                           CADR     IMUBAD                                #  UNSUCCESSFUL TURN-ON.
006228,000407: 
006229,000408: 12,3046           37653        ENDTNON2           CAF      BIT15                                 #  SEND ISS DELAY COMPLETE.
006230,000409: 12,3047           00006                           EXTEND                                         
006231,000410: 12,3050           05012                           WOR      12                                    
006232,000411: 12,3051           04747        UNZ2               TC       ZEROICDU                              
006233,000412: 
006234,000413: 12,3052           43437                           CS       BITS4&5                               #  REMOVE ZERO AND COARSE.
006235,000414: 12,3053           00006                           EXTEND                                         
006236,000415: 12,3054           03012                           WAND     12                                    
006237,000416: 
006238,000417: 12,3055           34754                           CAF      3SECS                                 #  ALLOW 3 SECS FOR COUNTER TO FIND GIMBAL.
006239,000418: 12,3056           04540                           TC       VARDELAY                              
006240,000419: 
006241,000420: 12,3057           43440        ISSUP              CS       OCT54                                 #  REMOVE CAGING, IMU FAIL INHIBIT, AND
006242,000421: 12,3060           70367                           MASK     IMODES30                              #  ICDUFAIL INHIBIT FLAGS.
006243,000422: 12,3061           54367                           TS       IMODES30                              
006244,000423: 
006245,000424: 12,3062           03356                           TC       SETISSW                               #  ISS WARNING MIGHT HAVE BEEN INHIBITED.
006246,000425: 
006247,000426: 12,3063           47653                           CS       BIT15                                 #  REMOVE IMU DELAY COMPLETE DISCRETE.
006248,000427: 12,3064           00006                           EXTEND                                         
006249,000428: 12,3065           03012                           WAND     12                                    
006250,000429: 
006251,000430: 12,3066           37657                           CAF      BIT11                                 #  DONT ENABLE PROG ALARM ON PIP FAIL FOR
006252,000431: 12,3067           04517                           TC       WAITLIST                              #  ANOTHER 10 SECS.
006253,000432: 12,3070           02262 26007                     2CADR    PFAILOK                               
006254,000433: 12,3072           40061                           CS       STATE                                 #  SEE IF ANYONE IS WAITING FOR THE IMU AT
006255,000434: 12,3073           77662                           MASK     IMUSEFLG                              #  IMUZERO. IF SO, WAKE THEM UP.
006256,000435: 12,3074           10000                           CCS      A                                     
006257,000436: 12,3075           14563                           TCF      TASKOVER                              
006258,000437: 
006259,000438: 12,3076           04104                           TC       POSTJUMP                              
006260,000439: 12,3077           26633                           CADR     ENDIMU                                
006261,000440: 
006262,000441: 12,3100           37662        OPONLY             CAF      IMUSEFLG                              #  IF OPERATE ON ONLY, ZERO THE COUNTERS
006263,000442: 12,3101           70061                           MASK     STATE                                 #  UNLESS SOMEONE IS USING THE IMU.
006264,000443: 12,3102           10000                           CCS      A                                     
006265,000444: 12,3103           13115                           TCF      C33TEST                               
006266,000445: 
006267,000446: 12,3104           03413                           TC       CAGESUB2                              #  SET TURNON FLAGS.
006268,000447: 
006269,000448: 12,3105           37665                           CAF      BIT5                                  
006270,000449: 12,3106           00006                           EXTEND                                         
006271,000450: 12,3107           05012                           WOR      12                                    
006272,000451: 
006273,000452: 12,3110           37664                           CAF      BIT6                                  #  WAIT 300 MS FOR AGS TO RECEIVE SIGNAL.
006274,000453: 12,3111           04517                           TC       WAITLIST                              
006275,000454: 12,3112           03051 24007                     2CADR    UNZ2                                  
006276,000455: 12,3114           13115                           TCF      C33TEST                               
006277,000456:                                                                                                  #  MONITOR CHANNEL 33 FLIP-FLOP INPUTS.
006278,000457: 
006279,000458: 12,3115           30370        C33TEST            CA       IMODES33                              #  SEE IF RELEVENT CHAN33 BITS HAVE
006280,000459: 12,3116           74476                           MASK     33RDMSK                               
006281,000460: 12,3117           54001                           TS       L                                     #  CHANGED.
006282,000461: 12,3120           34476                           CAF      33RDMSK                               
006283,000462: 12,3121           00006                           EXTEND                                         
006284,000463: 12,3122           03033                           WAND     33                                    #  RESETS FLIP-FLOP INPUTS.
006285,000464: 12,3123           00006                           EXTEND                                         
006286,000465: 12,3124           06001                           RXOR     L                                     
006287,000466: 12,3125           00006                           EXTEND                                         
006288,000467: 12,3126           13155                           BZF      GLOCKMON                              #  ON NO CHANGE.
006289,000468: 
006290,000469: 12,3127           54074                           TS       RUPTREG1                              #  SAVE BITS WHICH HAVE CHANGED.
006291,000470: 12,3130           22370                           LXCH     IMODES33                              
006292,000471: 12,3131           00006                           EXTEND                                         
006293,000472: 12,3132           06001                           RXOR     L                                     
006294,000473: 12,3133           54370                           TS       IMODES33                              #  UPDATED IMODES33.
006295,000474: 
006296,000475: 12,3134           37675                           CAF      ZERO                                  
006297,000476: 12,3135           56074                           XCH      RUPTREG1                              
006298,000477: 12,3136           60000                           DOUBLE                                         
006299,000478: 12,3137           13142                           TCF      NXTIBT     +1                         #  SCAN FOR BIT CHANGES.
006300,000479: 
006301,000480: 12,3140           67671                 -1        AD       ONE                                   
006302,000481: 12,3141           24074        NXTIBT             INCR     RUPTREG1                              
006303,000482: 12,3142           60000                 +1        DOUBLE                                         
006304,000483: 12,3143           54000                           TS       A                                     #  (CODING IDENTICAL TO CHAN 30).
006305,000484: 12,3144           13141                           TCF      NXTIBT                                
006306,000485: 
006307,000486: 12,3145           56075                           XCH      RUPTREG2                              
006308,000487: 12,3146           50074                           INDEX    RUPTREG1                              #  GET NEW VALUE OF BIT WHICH CHANGED.
006309,000488: 12,3147           37655                           CAF      BIT13                                 
006310,000489: 12,3150           70370                           MASK     IMODES33                              
006311,000490: 12,3151           50074                           INDEX    RUPTREG1                              
006312,000491: 12,3152           03426                           TC       C33JMP                                
006313,000492: 
006314,000493: 12,3153           10075        NXTFL33            CCS      RUPTREG2                              #  PROCESS POSSIBLE ADDITIONAL CHANGES.
006315,000494: 12,3154           13140                           TCF      NXTIBT     -1                         
006316,000495:                                                                                                  #  MONITOR FOR GIMBAL LOCK.
006317,000496: 
006318,000497: 12,3155           10034        GLOCKMON           CCS      CDUZ                                  
006319,000498: 12,3156           13162                           TCF      GLOCKCHK                              #  SEE IF MAGNITUDE OF MGA IS GREATER THAN
006320,000499: 12,3157           13170                           TCF      SETGLOCK                              #  70 DEGREES.
006321,000500: 12,3160           13162                           TCF      GLOCKCHK                              
006322,000501: 12,3161           13170                           TCF      SETGLOCK                              
006323,000502: 
006324,000503: 12,3162           63215        GLOCKCHK           AD       -70DEGS                               
006325,000504: 12,3163           00006                           EXTEND                                         
006326,000505: 12,3164           63167                           BZMF     SETGLOCK   -1                         #  NO LOCK.
006327,000506: 
006328,000507: 12,3165           37664                           CAF      BIT6                                  #  GIMAL LOCK.
006329,000508: 12,3166           13170                           TCF      SETGLOCK                              
006330,000509: 
006331,000510: 12,3167           37675                 -1        CAF      ZERO                                  
006332,000511: 12,3170           60322        SETGLOCK           AD       DSPTAB     +11D                       #  SEE IF PRESENT STATE OF GIMBAL LOCK LAMP
006333,000512: 12,3171           77664                           MASK     BIT6                                  #  AGREES WITH DESIRED STATE BY HALF ADDING
006334,000513: 12,3172           00006                           EXTEND                                         #  THE TWO.
006335,000514: 12,3173           14567                           BZF      GLOCKOK                               #  OK AS IS.
006336,000515: 
006337,000516: 12,3174           70322                           MASK     DSPTAB     +11D                       #  IF OFF, DONT TURN ON IF IMU BEING CAGED.
006338,000517: 12,3175           10000                           CCS      A                                     
006339,000518: 12,3176           13212                           TCF      GLAMPTST                              #  TURN OFF UNLESS LAMP TEST IN PROGRESS.
006340,000519: 
006341,000520: 12,3177           37664                           CAF      BIT6                                  
006342,000521: 12,3200           70367                           MASK     IMODES30                              
006343,000522: 12,3201           10000                           CCS      A                                     
006344,000523: 12,3202           14567                           TCF      GLOCKOK                               
006345,000524: 
006346,000525: 12,3203           40322        GLINVERT           CS       DSPTAB     +11D                       #  INVERT GIMBAL LOCK LAMP.
006347,000526: 12,3204           77664                           MASK     BIT6                                  
006348,000527: 12,3205           67653                           AD       BIT15                                 #  TO INDICATE CHANGE IN DSPTAB +11D.
006349,000528: 12,3206           56322                           XCH      DSPTAB     +11D                       
006350,000529: 12,3207           73216                           MASK     OCT37737                              
006351,000530: 12,3210           26322                           ADS      DSPTAB     +11D                       
006352,000531: 12,3211           14567                           TCF      GLOCKOK                               
006353,000532: 
006354,000533: 12,3212           03431        GLAMPTST           TC       LAMPTEST                              #  TURN OFF UNLESS LAMP TEST IN PROGRESS.
006355,000534: 12,3213           14567                           TCF      GLOCKOK                               
006356,000535: 12,3214           13203                           TCF      GLINVERT                              
006357,000536: 
006358,000537: 12,3215           63434        -70DEGS            DEC      -.38888                               #  -70 DEGREES SCALED IN HALF-REVOLUTIONS.
006359,000538: 12,3216           37737        OCT37737           OCT      37737                                 
006360,000539:                                                                                                  #  SUBROUTINES TO PROCESS INBIT CHANGES. NEW VALUE OF BIT ARRIVES IN A, EXCEPT FOR TLIM.
006361,000540: 
006362,000541: 12,3217           77651        TLIM               MASK     POSMAX                                #  REMOVE BIT FROM WORD OF CHANGES AND SET
006363,000542: 12,3220           54075                           TS       RUPTREG2                              #  DSKY TEMP LAMP ACCORDINGLY.
006364,000543: 
006365,000544: 12,3221           10367                           CCS      IMODES30                              
006366,000545: 12,3222           13230                           TCF      TEMPOK                                
006367,000546: 12,3223           13230                           TCF      TEMPOK                                
006368,000547: 
006369,000548: 12,3224           37666                           CAF      BIT4                                  #  TURN ON LAMP.
006370,000549: 12,3225           00006                           EXTEND                                         
006371,000550: 12,3226           05011                           WOR      11                                    
006372,000551: 12,3227           12765                           TCF      NXTIFAIL                              
006373,000552: 
006374,000553: 12,3230           03431        TEMPOK             TC       LAMPTEST                              #  IF TEMP NOW OK, DONT TURN OFF LAMP IF
006375,000554: 12,3231           12765                           TCF      NXTIFAIL                              #  LAMP TEST IN PROGRESS.
006376,000555: 
006377,000556: 12,3232           47666                           CS       BIT4                                  
006378,000557: 12,3233           00006                           EXTEND                                         
006379,000558: 12,3234           03011                           WAND     11                                    
006380,000559: 12,3235           12765                           TCF      NXTIFAIL                              
006381,000560: 
006382,000561: 12,3236           37670        ITURNON            CAF      BIT2                                  #  IF DELAY REQUEST HAS GONE OFF
006383,000562: 12,3237           70367                           MASK     IMODES30                              #  PREMATURELY, DO NOT PROCESS ANY CHANGES
006384,000563: 12,3240           10000                           CCS      A                                     #  UNTIL THE CURRENT 90 SEC WAIT EXPIRES.
006385,000564: 12,3241           12765                           TCF      NXTIFAIL                              
006386,000565: 
006387,000566: 12,3242           37654                           CAF      BIT14                                 #  SEE IF JUST ON OR OFF.
006388,000567: 12,3243           70367                           MASK     IMODES30                              
006389,000568: 12,3244           00006                           EXTEND                                         
006390,000569: 12,3245           13261                           BZF      ITURNON2                              #  IF JUST ON.
006391,000570: 
006392,000571: 12,3246           37653                           CAF      BIT15                                 
006393,000572: 12,3247           00006                           EXTEND                                         #  SEE IF DELAY PRESENT DISCRETE HAS BEEN
006394,000573: 12,3250           02012                           RAND     12                                    #  SENT. IF SO, ACTION COMPLETE.
006395,000574: 12,3251           00006                           EXTEND                                         
006396,000575: 12,3252           13254                           BZF      +2                                    
006397,000576: 12,3253           12765                           TCF      NXTIFAIL                              
006398,000577: 
006399,000578: 12,3254           37670                           CAF      BIT2                                  #  IF NOT, SET BIT TO INDICATE REQUEST NOT
006400,000579: 12,3255           26367                           ADS      IMODES30                              #  PRESENT FOR FULL DURATION.
006401,000580: 12,3256           05405                           TC       ALARM                                 
006402,000581: 12,3257           00207                           OCTAL    207                                   
006403,000582: 12,3260           12765                           TCF      NXTIFAIL                              
006404,000583: 
006405,000584: 12,3261           47663        ITURNON2           CS       BIT7                                  #  SET BIT 7 TO INITIATE WAIT OF 1 SAMPLE.
006406,000585: 12,3262           70367                           MASK     IMODES30                              
006407,000586: 12,3263           67663                           AD       BIT7                                  
006408,000587: 12,3264           54367                           TS       IMODES30                              
006409,000588: 12,3265           12765                           TCF      NXTIFAIL                              
006410,000589: 12,3266           10000        IMUCAGE            CCS      A                                     #  NO ACTION IF GOING OFF.
006411,000590: 12,3267           12765                           TCF      NXTIFAIL                              
006412,000591: 
006413,000592: 12,3270           43445                           CS       OCT71000                              #  TERMINATE ICDU AND GYRO PULSE TRAINS.
006414,000593: 12,3271           00006                           EXTEND                                         
006415,000594: 12,3272           03014                           WAND     14                                    
006416,000595: 
006417,000596: 12,3273           03405                           TC       CAGESUB                               
006418,000597: 
006419,000598: 12,3274           37675                           CAF      ZERO                                  #  ZERO COMMAND OUT-COUNTERS.
006420,000599: 12,3275           54050                           TS       CDUXCMD                               
006421,000600: 12,3276           54051                           TS       CDUYCMD                               
006422,000601: 12,3277           54052                           TS       CDUZCMD                               
006423,000602: 12,3300           54047                           TS       GYROCMD                               
006424,000603: 
006425,000604: 12,3301           43444                           CS       OCT1700                               #  HAVING WAITED AT LEAST 27 MCT FROM
006426,000605: 12,3302           00006                           EXTEND                                         #  GYRO PULSE TRAIN TERMINATION, WE CAN
006427,000606: 12,3303           03014                           WAND     14                                    #  DE-SELECT THE GYROS.
006428,000607: 
006429,000608: 12,3304           12765                           TCF      NXTIFAIL                              
006430,000609: 
006431,000610: 12,3305           00006        IMUOP              EXTEND                                         
006432,000611: 12,3306           13316                           BZF      IMUOP2                                
006433,000612: 
006434,000613: 12,3307           40061                           CS       STATE                                 #  IF GOING OFF, ALARM IF PROG USING IMU.
006435,000614: 12,3310           77662                           MASK     IMUSEFLG                              
006436,000615: 12,3311           10000                           CCS      A                                     
006437,000616: 12,3312           12765                           TCF      NXTIFAIL                              
006438,000617: 
006439,000618: 12,3313           05405                           TC       ALARM                                 
006440,000619: 12,3314           00214                           OCT      214                                   
006441,000620: 12,3315           12765                           TCF      NXTIFAIL                              
006442,000621: 
006443,000622: 12,3316           37670        IMUOP2             CAF      BIT2                                  #  SEE IF FAILED ISS TURN-ON SEQ IN PROG.
006444,000623: 12,3317           70367                           MASK     IMODES30                              
006445,000624: 12,3320           10000                           CCS      A                                     
006446,000625: 12,3321           12765                           TCF      NXTIFAIL                              #  IF SO, DONT PROCESS UNTIL PRESENT 90
006447,000626: 12,3322           13261                           TCF      ITURNON2                              #  SECONDS EXPIRES.
006448,000627: 
006449,000628: 12,3323           10000        PIPFAIL            CCS      A                                     #  SET BIT10 IN IMODES30 SO ALL ISS WARNING
006450,000629: 12,3324           37660                           CAF      BIT10                                 #  INFO IS IN ONE REGISTER.
006451,000630: 12,3325           56367                           XCH      IMODES30                              
006452,000631: 12,3326           73447                           MASK     -BIT10                                
006453,000632: 12,3327           26367                           ADS      IMODES30                              
006454,000633: 
006455,000634: 12,3330           03356                           TC       SETISSW                               
006456,000635: 
006457,000636: 12,3331           40367                           CS       IMODES30                              #  IF PIP FAIL DOESNT LIGHT ISS WARNING, DO
006458,000637: 12,3332           77671                           MASK     BIT1                                  #  A PROGRAM ALARM IF IMU OPERATING BUT NOT
006459,000638: 12,3333           10000                           CCS      A                                     #  CAGED OR BEING TURNED ON.
006460,000639: 12,3334           13153                           TCF      NXTFL33                               
006461,000640: 
006462,000641: 12,3335           30367                           CA       IMODES30                              
006463,000642: 12,3336           73443                           MASK     OCT1720                               
006464,000643: 12,3337           10000                           CCS      A                                     
006465,000644: 12,3340           13153                           TCF      NXTFL33                               #  ABOVE CONDITION NOT MET.
006466,000645: 
006467,000646: 12,3341           05405                           TC       ALARM                                 
006468,000647: 12,3342           00212                           OCT      212                                   
006469,000648: 12,3343           13153                           TCF      NXTFL33                               
006470,000649: 
006471,000650: 12,3344           10000        DNTMFAST           CCS      A                                     #  DO PROG ALARM IF TM TOO FAST.
006472,000651: 12,3345           13153                           TCF      NXTFL33                               
006473,000652: 
006474,000653: 12,3346           05405                           TC       ALARM                                 
006475,000654: 12,3347           01105                           OCT      1105                                  
006476,000655: 12,3350           13153                           TCF      NXTFL33                               
006477,000656: 
006478,000657: 12,3351           10000        UPTMFAST           CCS      A                                     #  SAME AS DNLINK TOO FAST WITH DIFFERENT
006479,000658: 12,3352           13153                           TCF      NXTFL33                               #  ALARM CODE.
006480,000659: 
006481,000660: 12,3353           05405                           TC       ALARM                                 
006482,000661: 12,3354           01106                           OCT      1106                                  
006483,000662: 12,3355           13153                           TCF      NXTFL33                               
006484,000663:                                                                                                  #  CLOSED SUBROUTINES FOR IMU MONITORING.
006485,000664: 12,3356           33436        SETISSW            CAF      OCT15                                 #  SET ISS WARNING USING THE FAIL BITS IN
006486,000665: 12,3357           70367                           MASK     IMODES30                              #  BITS 13, 12, AND 10 OF IMODES30 AND THE
006487,000666: 12,3360           00006                           EXTEND                                         #  FAILURE INHIBIT BITS IN POSITIONS
006488,000667: 12,3361           77660                           MP       BIT10                                 #  4, 3, AND 1.
006489,000668: 12,3362           30367                           CA       IMODES30                              
006490,000669: 12,3363           00006                           EXTEND                                         
006491,000670: 12,3364           04001                           ROR      L                                     #  0 INDICATES FAILURE.
006492,000671: 12,3365           40000                           COM                                            
006493,000672: 12,3366           74475                           MASK     OCT15000                              
006494,000673: 12,3367           10000                           CCS      A                                     
006495,000674: 12,3370           13401                           TCF      ISSWON                                #  FAILURE.
006496,000675: 
006497,000676: 12,3371           37671        ISSWOFF            CAF      BIT1                                  #  DONT TURN OFF ISS WARNING IF LAMP TEST
006498,000677: 12,3372           70370                           MASK     IMODES33                              #  IN PROGRESS.
006499,000678: 12,3373           10000                           CCS      A                                     
006500,000679: 12,3374           00002                           TC       Q                                     
006501,000680: 
006502,000681: 12,3375           47671                           CS       BIT1                                  
006503,000682: 12,3376           00006                           EXTEND                                         
006504,000683: 12,3377           03011                           WAND     11                                    
006505,000684: 12,3400           00002                           TC       Q                                     
006506,000685: 
006507,000686: 12,3401           37671        ISSWON             CAF      BIT1                                  
006508,000687: 12,3402           00006                           EXTEND                                         
006509,000688: 12,3403           05011                           WOR      11                                    
006510,000689: 12,3404           00002                           TC       Q                                     
006511,000690: 
006512,000691: 12,3405           43446        CAGESUB            CS       BITS6&15                              #  SET OUTBITS AND INTERNAL FLAGS FOR
006513,000692: 12,3406           00006                           EXTEND                                         #  SYSTEM TURN-ON OR CAGE. DISABLE THE
006514,000693: 12,3407           03012                           WAND     12                                    #  ERROR COUNTER AND REMOVE IMU DELAY COMP.
006515,000694: 12,3410           33437                           CAF      BITS4&5                               #  SEND ZERO AND COARSE.
006516,000695: 12,3411           00006                           EXTEND                                         
006517,000696: 12,3412           05012                           WOR      12                                    
006518,000697: 
006519,000698: 12,3413           43441        CAGESUB2           CS       OCT75                                 #  SET FLAGS TO INDICATE CAGING OR TURN-ON,
006520,000699: 12,3414           70367                           MASK     IMODES30                              #  AND TO INHIBIT ALL ISS WARNING INFO.
006521,000700: 12,3415           63441                           AD       OCT75                                 
006522,000701: 12,3416           54367                           TS       IMODES30                              
006523,000702: 
006524,000703: 12,3417           00002                           TC       Q                                     
006525,000704: 
006526,000705: 12,3420  12,3356               IMUFAIL            EQUALS   SETISSW                               
006527,000706: 12,3420  12,3356               ICDUFAIL           EQUALS   SETISSW                               
006528,000707:                                                                                                  #  JUMP TABLES AND CONSTANTS.
006529,000708: 12,3420           13236        IFAILJMP           TCF      ITURNON                               #  CHANNEL 30 DISPATCH.
006530,000709: 12,3421           13356                           TCF      IMUFAIL                               
006531,000710: 12,3422           13356                           TCF      ICDUFAIL                              
006532,000711: 12,3423           13266                           TCF      IMUCAGE                               
006533,000712: 12,3424           76400        30RDMSK            OCT      76400                                 #  (BIT 10 NOT SAMPLED HERE).
006534,000713: 12,3425           13305                           TCF      IMUOP                                 
006535,000714: 
006536,000715: 12,3426           13323        C33JMP             TCF      PIPFAIL                               #  CHANNEL 33 DISPATCH.
006537,000716: 12,3427           13344                           TCF      DNTMFAST                              
006538,000717: 12,3430           13351                           TCF      UPTMFAST                              
006539,000718: 
006540,000719:                                                                                                  #  SUBROUTINE TO SKIP IF LAMP TEST NOT IN PROGRESS.
006541,000720: 12,3431           40370        LAMPTEST           CS       IMODES33                              #  BIT1 OF IMODES33 = 1 IF LAMP TEST IN
006542,000721: 12,3432           77671                           MASK     BIT1                                  #  PROGRESS.
006543,000722: 12,3433           10000                           CCS      A                                     
006544,000723: 12,3434           24002                           INCR     Q                                     
006545,000724: 12,3435           00002                           TC       Q                                     
006546,000725: 
006547,000726: 12,3436     4476               33RDMSK            EQUALS   PRIO16                                
006548,000727: 12,3436           00015        OCT15              OCT      15                                    
006549,000728: 12,3437           00030        BITS4&5            OCT      30                                    
006550,000729: 12,3440           00054        OCT54              OCT      54                                    
006551,000730: 12,3441           00075        OCT75              OCT      75                                    
006552,000731: 12,3442           00300        BITS7&8            OCT      300                                   
006553,000732: 12,3443           01720        OCT1720            OCT      1720                                  
006554,000733: 12,3444           01700        OCT1700            OCT      1700                                  
006555,000734: 12,3445     4475               OCT15000           EQUALS   PRIO15                                
006556,000735: 12,3445           71000        OCT71000           OCT      71000                                 
006557,000736: 12,3446           40040        BITS6&15           OCT      40040                                 
006558,000737: 12,3447           76777        -BIT10             OCT      -1000                                 
006559,000738: 
006560,000739: 12,3450           21450        90SECS             DEC      9000       B-14                       
006561,000740: 12,3451           00014        120MS              DEC      12         B-14                       
006562,000741: 
006563,000742: 12,3452     4567               GLOCKOK            EQUALS   RESUME                                
006564,000743: 12,3452     4567               NOIMUMON           EQUALS   GLOCKOK                               
006565,000744:                                                                                                  #  RR INBIT MONITOR.
006566,000745: 12,3452           30413        RRAUTCHK           CA       RADMODES                              #  SEE IF CHANGE IN RR AUTO MODE BIT.
006567,000746: 12,3453           00006                           EXTEND                                         
006568,000747: 12,3454           06033                           RXOR     33                                    
006569,000748: 12,3455           77670                           MASK     BIT2                                  
006570,000749: 12,3456           00006                           EXTEND                                         
006571,000750: 12,3457           13513                           BZF      RRCDUCHK                              
006572,000751: 
006573,000752: 12,3460           22413                           LXCH     RADMODES                              #  UPDATE RADMODES.
006574,000753: 12,3461           00006                           EXTEND                                         
006575,000754: 12,3462           06001                           RXOR     L                                     
006576,000755: 12,3463           54413                           TS       RADMODES                              
006577,000756: 12,3464           77670                           MASK     BIT2                                  #  SEE IF JUST ON.
006578,000757: 12,3465           10000                           CCS      A                                     
006579,000758: 12,3466           13505                           TCF      RROFF                                 #  OFF.
006580,000759: 
006581,000760: 12,3467           37663                           CAF      BIT7                                  #  IF JUST ON AND SOME PROGRAM IS USING THE
006582,000761: 12,3470           70061                           MASK     STATE                                 #  RR, DONT ZERO THE CDUS.
006583,000762: 12,3471           10000                           CCS      A                                     
006584,000763: 12,3472           13513                           TCF      RRCDUCHK                              
006585,000764: 
006586,000765: 12,3473           43504                           CS       OCT10001                              #  SET BITS TO INDICATE ZERO AND TURNON
006587,000766: 12,3474           70413                           MASK     RADMODES                              #  IN PROGRESS.
006588,000767: 12,3475           63504                           AD       OCT10001                              
006589,000768: 12,3476           54413                           TS       RADMODES                              
006590,000769: 
006591,000770: 12,3477           37671                           CAF      ONE                                   
006592,000771: 12,3500           04517                           TC       WAITLIST                              
006593,000772: 12,3501           02000 20007                     2CADR    RRTURNON                              
006594,000773: 12,3503           14567                           TCF      NORRGMON                              
006595,000774: 
006596,000775: 12,3504           10001        OCT10001           OCT      10001                                 
006597,000776: 
006598,000777: 12,3505           40061        RROFF              CS       STATE                                 #  IF SOMEONE WAS USING THE RR, DISPLAY AN
006599,000778: 12,3506           77663                           MASK     BIT7                                  #  ALARM IF THE RR GOES OUT OF AUTO MODE.
006600,000779: 12,3507           10000                           CCS      A                                     
006601,000780: 12,3510           13513                           TCF      RRCDUCHK                              
006602,000781: 
006603,000782: 12,3511           05405                           TC       ALARM                                 
006604,000783: 12,3512           00514                           OCT      514                                   
006605,000784:                                                                                                  #  CHECK FOR RR CDU FAIL.
006606,000785: 12,3513           30413        RRCDUCHK           CA       RADMODES                              #  LAST SAMPLED BIT IN RADMODES.
006607,000786: 12,3514           00006                           EXTEND                                         
006608,000787: 12,3515           06030                           RXOR     30                                    
006609,000788: 12,3516           77663                           MASK     BIT7                                  
006610,000789: 12,3517           00006                           EXTEND                                         
006611,000790: 12,3520           13533                           BZF      RRGIMON                               
006612,000791: 
006613,000792: 12,3521           37670                           CAF      BIT2                                  #  IF RR NOT IN AUTO MODE, DONT CHANGE BIT
006614,000793: 12,3522           70413                           MASK     RADMODES                              #  7 OF RADMODES. IF THIS WERE NOT DONE,
006615,000794: 12,3523           10000                           CCS      A                                     #  THE TRACKER FAIL MIGHT COME ON WHEN
006616,000795: 12,3524           14567                           TCF      NORRGMON                              #  JUST READING LR DATA.
006617,000796: 
006618,000797: 12,3525           37663                           CAF      BIT7                                  #  SET BIT 7 OF RADMODES FOR SETTRKF.
006619,000798: 12,3526           22413                           LXCH     RADMODES                              #  UPDATE RADMODES.
006620,000799: 12,3527           00006                           EXTEND                                         
006621,000800: 12,3530           06001                           RXOR     L                                     
006622,000801: 12,3531           54413                           TS       RADMODES                              
006623,000802: 
006624,000803: 12,3532           05034        TRKFLCDU           TC       SETTRKF                               #  UPDATE TRACKER FAIL LAMP ON DSKY.
006625,000804:                                                                                                  #  THE RR GIMBAL LIMIT MONITOR IS ENABLED WHENEVER THE RR IS IN THE AUTO MODE EXCEPT WHEN THE RR CDUS ARE
006626,000805:                                                                                                  #  BEING ZEROED, OR DURING A REMODE OR MONITOR REPOSITION OPERATION. THE LATTER IS INITIATED BY THIS MONITOR WHEN
006627,000806:                                                                                                  #  THE GIMBALS EXCEED THE LIMITS FOR THE CURRENT MODE. A ROUTINE IS INITIATED TO DRIVE THE GIMBALS TO T = 0 AND
006628,000807:                                                                                                  #  S = 0 IF IN MODE 1 AND T = 180 WITH S = -90 FOR MODE 2.
006629,000808: 
006630,000809: 12,3533           33555        RRGIMON            CAF      OCT32002                              #  INHIBITED BY REMODE, ZEROING, MONITOR,
006631,000810: 12,3534           70413                           MASK     RADMODES                              #  OR RR NOT IN AUTO.
006632,000811: 12,3535           10000                           CCS      A                                     
006633,000812: 12,3536           14567                           TCF      NORRGMON                              
006634,000813: 
006635,000814: 12,3537           04771                           TC       RRLIMCHK                              #  SEE IF ANGLES IN LIMITS.
006636,000815: 12,3540           00035                           ADRES    OPTY                                  
006637,000816: 
006638,000817: 12,3541           13543                           TCF      MONREPOS                              
006639,000818: 
006640,000819: 12,3542           14567                           TCF      NORRGMON                              #  (ADDITIONAL CODING MAY GO HERE).
006641,000820: 
006642,000821: 12,3543           37657        MONREPOS           CAF      BIT11                                 #  SET FLAG TO SHOW REPOSITION IN PROGRESS.
006643,000822: 12,3544           26413                           ADS      RADMODES                              
006644,000823: 
006645,000824: 12,3545           43556                           CS       OCT20002                              #  DISABLE TRACKER AND ERROR COUNTER.
006646,000825: 12,3546           00006                           EXTEND                                         
006647,000826: 12,3547           03012                           WAND     12                                    
006648,000827: 
006649,000828: 12,3550           37670                           CAF      TWO                                   
006650,000829: 12,3551           04517                           TC       WAITLIST                              
006651,000830: 12,3552           02051 20007                     2CADR    DORREPOS                              
006652,000831: 12,3554           14567                           TCF      NORRGMON                              
006653,000832: 
006654,000833: 12,3555           32002        OCT32002           OCT      32002                                 
006655,000834: 12,3556           20002        OCT20002           OCT      20002                                 
006656,000835: 
006657,000836: 12,3557     4567               NORRGMON           EQUALS   RESUME                                
006658,000837: 12,3557     4567               ENDDAPT4           EQUALS   RESUME                                

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