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.

008677,000002:                                                                                                  ## Copyright:   Public domain.
008678,000003:                                                                                                  ## Filename:    IRIG_PULSE-TORQUING_ROUTINES.agc
008679,000004:                                                                                                  ## Purpose:     Part of the source code for Solarium build 55. This
008680,000005:                                                                                                  ##              is for the Command Module's (CM) Apollo Guidance
008681,000006:                                                                                                  ##              Computer (AGC), for Apollo 6.
008682,000007:                                                                                                  ## Assembler:   yaYUL --block1
008683,000008:                                                                                                  ## Contact:     Jim Lawton <jim DOT lawton AT gmail DOT com>
008684,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
008685,000010:                                                                                                  ## Page Scans:  www.ibiblio.org/apollo/ScansForConversion/Solarium055/
008686,000011:                                                                                                  ## Mod history: 2009-10-07 JL   Created.
008687,000012:                                                                                                  ##              2016-12-28 RSB  Proofed comment text using octopus/ProoferComments,
008688,000013:                                                                                                  ##                              and fixed errors found.
008689,000014: 

Page 224

008691,000016: 
008692,000017:                                                                                                  #        THE FOLLOWING PULSE-TORQUING OPTIONS ARE AVAILABLE:
008693,000018: 
008694,000019:                                                                                                  #        GYROSPNT                SINGLE PRECISION INPUTS WITH NO TWITCH (IE ZERO OUTPUT ON ZERO COMMAND).
008695,000020:                                                                                                  #        GYROSPTW                SINGLE PRECISION INPUT WITH TWITCH ON ZERO (2+ THEN 2-).
008696,000021:                                                                                                  #        GYRODPNT                DOUBLE PRECISION INPUTS (SIGN AGREEMENT UNNECESSARY) WITH NO TWITCH.
008697,000022: 
008698,000023:                                                                                                  #  ALL OF THE ABOVE SHOULD BE FOLLOWED EVENTUALLY BY A CALL TO IMUSTALL.
008699,000024: 
008700,000025: 
008701,000026: 
008702,000027: 14,7347                                           BANK     14                                    
008703,000028: 14,7347           50115        GYROSPNT           TS       MPAC                                  #  ADDRESS OF THREE REGISTER COMMAND SET
008704,000029: 14,7350           10764                           CCS      LGYRO                                 #  ARRIVES IN A. SEE IF GYRO ROUTINES BUSY.
008705,000030: 14,7351           07524                           TC       GYROBUSY                              #  (AND RETURN WHEN AVAILABLE.)
008706,000031: 
008707,000032: 14,7352           35503        SPNT               CAF      TWO                                   #  SET UP LOOP TO AUGMENT (+ OR -) EACH
008708,000033: 14,7353           50116                           TS       MPAC       +1                         #  COMMAND BY TWO IF NON-ZERO.
008709,000034: 14,7354           60000                           DOUBLE                                         
008710,000035: 14,7355           60115                           AD       MPAC                                  
008711,000036: 14,7356           50077                           TS       BUF                                   
008712,000037: 14,7357           20000                           INDEX    A                                     
008713,000038: 14,7360           10000                           CCS      0                                     
008714,000039: 14,7361           35503                           CAF      TWO                                   
008715,000040: 14,7362           07364                           TC       +2                                    #  (NO INCREMENT IF +-0).
008716,000041: 14,7363           45503                           CS       TWO                                   
008717,000042: 14,7364           20077                           INDEX    BUF                                   
008718,000043: 14,7365           60000                           AD       0                                     
008719,000044: 14,7366           20077                           INDEX    BUF                                   
008720,000045: 14,7367           30000                           XCH      0                                     #  (JUST TO BE SAFE).
008721,000046: 
008722,000047: 14,7370           10116                           CCS      MPAC       +1                         
008723,000048: 14,7371           07353                           TC       SPNT       +1                         
008724,000049: 
008725,000050: 14,7372           20017        SPGYREX            INHINT                                         
008726,000051: 14,7373           34516                           CAF      ONE                                   
008727,000052: 14,7374           02173                           TC       WAITLIST                              
008728,000053: 14,7375           21504                           CADR     DOGYROSP                              
008729,000054: 
008730,000055: 14,7376           44473        GYROEX2            CS       THREE                                 #  INITIALIZE CDUIND TO START GYRO TASKS
008731,000056: 14,7377           50677                           TS       CDUIND                                #  AT Y GYRO (ORDER IS YZX).
008732,000057: 14,7400           45502                           CS       FOUR                                  
008733,000058: 14,7401           60115                           AD       MPAC                                  #  SET LGYROD PNZ TO INDICATE GYRO ACTIVITY
008734,000059: 14,7402           50764                           TS       LGYRO                                 #  AND USE LGYRO TO STORE THE ADDRESS OFF
008735,000060: 14,7403           06020                           TC       MODEEXIT                              #  THE COMMANDS.
008736,000061: 

Page 225

008738,000063: 
008739,000064:                                                                                                  #        SINGLE PRECISION WITH TWITCH.
008740,000065: 
008741,000066: 14,7404           50115        GYROSPTW           TS       MPAC                                  
008742,000067: 14,7405           10764                           CCS      LGYRO                                 #  SAME PROLOGUE AS GYROSPNT
008743,000068: 14,7406           07524                           TC       GYROBUSY                              
008744,000069: 
008745,000070: 14,7407           35503        SPTW               CAF      TWO                                   #  SET UP LOOP TO AUGMENT BY 2 (+ OR-),
008746,000071: 14,7410           50116                           TS       MPAC       +1                         #  WITH A PLUS TWO AUGMENT ON +-0.
008747,000072: 14,7411           60000                           DOUBLE                                         
008748,000073: 14,7412           60115                           AD       MPAC                                  
008749,000074: 14,7413           50077                           TS       BUF                                   
008750,000075: 14,7414           20000                           INDEX    A                                     
008751,000076: 14,7415           10000                           CCS      0                                     
008752,000077: 14,7416           07421                           TC       +3                                    
008753,000078: 14,7417           07421                           TC       +2                                    
008754,000079: 14,7420           07423                           TC       +3                                    
008755,000080: 
008756,000081: 14,7421           35503                           CAF      TWO                                   
008757,000082: 14,7422           07424                           TC       +2                                    
008758,000083: 
008759,000084: 14,7423           45503                 +3        CS       TWO                                   
008760,000085: 14,7424           20077                           INDEX    BUF                                   
008761,000086: 14,7425           60000                           AD       0                                     
008762,000087: 14,7426           20077                           INDEX    BUF                                   
008763,000088: 14,7427           30000                           XCH      0                                     
008764,000089: 
008765,000090: 14,7430           10116                           CCS      MPAC       +1                         
008766,000091: 14,7431           07410                           TC       SPTW       +1                         
008767,000092: 
008768,000093: 14,7432           07372                           TC       SPGYREX                               #  SET UP PULSE-TORQUING TASKS. 
008769,000094: 

Page 226

008771,000096: 
008772,000097:                                                                                                  #        DOUBLE PRECISION INPUTS WITH NO TWITCH ON ZERO.
008773,000098: 
008774,000099: 14,7433           50113        GYRODPNT           TS       ARETURN                               #  SAVE ADDRESS OF INPUT COMMANDS.
008775,000100: 14,7434           05706                           TC       MAKECADR                              #  SAVE RETURN ADDRESS SINCE WE MUST
008776,000101: 14,7435           30062                           XCH      ADDRWD                                #  DO A BANKCALL TO TPAGREE.
008777,000102: 14,7436           50064                           TS       TEM11                                 
008778,000103: 14,7437           35501                           CAF      ZERO                                  
008779,000104: 14,7440           50117                           TS       MPAC       +2                         
008780,000105: 14,7441           35503        DPNT               CAF      TWO                                   
008781,000106: 
008782,000107: 14,7442           50077                           TS       BUF                                   #  THIS LOOP FORCES SIGN AGREEMENT IN THE
008783,000108: 14,7443           60000                           DOUBLE                                         #  DP INPUT COMMANDS, AUGMENTING ON
008784,000109: 14,7444           60113                           AD       ARETURN                               #  NON-ZERO.
008785,000110: 14,7445           50100                           TS       BUF        +1                         
008786,000111: 14,7446           20000                           INDEX    A                                     
008787,000112: 14,7447           30000                           XCH      0                                     
008788,000113: 14,7450           50115                           TS       MPAC                                  
008789,000114: 14,7451           20100                           INDEX    BUF        +1                         
008790,000115: 14,7452           30001                           XCH      1                                     
008791,000116: 14,7453           50116                           TS       MPAC       +1                         
008792,000117: 14,7454           05654                           TC       BANKCALL                              
008793,000118: 14,7455           07154                           CADR     TPAGREE                               
008794,000119: 
008795,000120: 14,7456           10000                           CCS      A                                     #  AUGMENT BYTWO IF NON-ZERO. TPAGREE
008796,000121: 14,7457           35503                           CAF      TWO                                   #  RETURNS +1,-0,-1.
008797,000122: 14,7460           65503                           AD       TWO                                   
008798,000123: 14,7461           64340                           AD       NEG2                                  
008799,000124: 
008800,000125: 14,7462           60116                           AD       MPAC       +1                         #  DIVIDE BY POSMAX - IE PLACE IN THE MAJOR
008801,000126: 14,7463           60115                           AD       MPAC                                  #  PART OF EACH COMMAND THE NUMBER OF
008802,000127: 14,7464           20100                           INDEX    BUF        +1                         #  POSMAX PULSE TRAINS TO BE PUT OUT, 
008803,000128: 14,7465           50001                           TS       1                                     #  LEAVING THE REMAINDER IN THE MINOR PART.
008804,000129: 14,7466           07476                           TC       +8D                                   
008805,000130: 
008806,000131: 14,7467           50001                           TS       Q                                     #  ON OVERFLOW, ADD +-1 TO THE MINOR PART 
008807,000132: 14,7470           20100                           INDEX    BUF        +1                         #  AS WELL AS THE MAJOR PART.
008808,000133: 14,7471           60001                           AD       1                                     
008809,000134: 14,7472           20100                           INDEX    BUF        +1                         #  NO OVERFLOW HERE.
008810,000135: 14,7473           50001                           TS       1                                     
008811,000136: 14,7474           30001                           XCH      Q                                     
008812,000137: 14,7475           07477                           TC       +2                                    
008813,000138: 
008814,000139: 14,7476           35501                 +8D       CAF      ZERO                                  
008815,000140: 14,7477           60115                           AD       MPAC                                  
008816,000141: 14,7500           20100                           INDEX    BUF        +1                         
008817,000142: 14,7501           30000                           XCH      0                                     

Page 227

008819,000144: 14,7502           10077                           CCS      BUF                                   
008820,000145: 14,7503           07442                           TC       DPNT       +1                         
008821,000146: 
008822,000147: 14,7504           30113                           XCH      ARETURN                               #  PREPARE FOR POSSIBLE GYROBUSY CALL.
008823,000148: 14,7505           50115                           TS       MPAC                                  
008824,000149: 14,7506           10764                           CCS      LGYRO                                 
008825,000150: 14,7507           07543                           TC       GYROBSY2                              
008826,000151: 
008827,000152: 14,7510           32261                           CAF      BANKMASK                              
008828,000153: 14,7511           70064                           MASK     TEM11                                 
008829,000154: 14,7512           50072                           TS       BANKTEM                               
008830,000155: 14,7513           34606                           CAF      LOW10                                 
008831,000156: 14,7514           70064                           MASK     TEM11                                 
008832,000157: 14,7515           64373                           AD       6K                                    
008833,000158: 14,7516           50071                           TS       TEMQS                                 
008834,000159: 14,7517           20017                           INHINT                                         
008835,000160: 14,7520           34516                           CAF      ONE                                   
008836,000161: 14,7521           02173                           TC       WAITLIST                              
008837,000162: 14,7522           21571                           CADR     DOGYRO                                
008838,000163: 
008839,000164: 14,7523           07376                           TC       GYROEX2                               
008840,000165: 

Page 228

008842,000167: 
008843,000168:                                                                                                  #        GYRO STALLING ROUTINES - CALLED VERY RARELY BY AT MOST ONE ROUTINE AT A TIME.
008844,000169: 
008845,000170: 14,7524           30001        GYROBUSY           XCH      Q                                     #  RETURN ADDRESS TO MPAC.
008846,000171: 14,7525           50117                           TS       MPAC       +2                         
008847,000172: 
008848,000173: 14,7526           05706                           TC       MAKECADR                              #  CALLERS RETURN CADR TO MPAC +1.
008849,000174: 14,7527           30062                           XCH      ADDRWD                                
008850,000175: 14,7530           50116                           TS       MPAC       +1                         
008851,000176: 14,7531           37547        REGSLEEP           CAF      CADRNEWG                              
008852,000177: 14,7532           02127                           TC       JOBSLEEP                              #  AT STANDARD LOCATION.
008853,000178: 
008854,000179: 14,7533           10764        NEWGYRO            CCS      LGYRO                                 #  SEE IF ROUTINES STILL AVAILABLE (SHOULD
008855,000180: 14,7534           07531                           TC       REGSLEEP                              #  BE). IF NOT, WAIT SOME MORE.
008856,000181: 
008857,000182: 14,7535           30116                           XCH      MPAC       +1                         #  RESTORE RETURN CADR TO STANDARD SWCALL
008858,000183: 14,7536           50072                           TS       BANKTEM                               #  (BANKCALL) FORM.
008859,000184: 14,7537           74606                           MASK     LOW10                                 
008860,000185: 14,7540           64373                           AD       6K                                    
008861,000186: 14,7541           50071                           TS       TEMQS                                 
008862,000187: 14,7542           00117                           TC       MPAC       +2                         
008863,000188: 
008864,000189: 14,7543           30001        GYROBSY2           XCH      Q                                     #  DP WAIT.
008865,000190: 14,7544           50117                           TS       MPAC       +2                         
008866,000191: 14,7545           30064                           XCH      TEM11                                 
008867,000192: 14,7546           07530                           TC       REGSLEEP   -1                         
008868,000193: 
008869,000194: 14,7547           31533        CADRNEWG           CADR     NEWGYRO                               
008870,000195: 

Page 229

008872,000197: 
008873,000198:                                                                                                  #        TASKS FOR SENDING OUT SINGLE PRECISION COMMANDS. 
008874,000199: 
008875,000200: 10,7504                                           BANK     10                                    
008876,000201: 10,7504           07704        DOGYROSP           TC       SETUPSUB                              #  COMMON INITIALIZATION SUBROUTINE.
008877,000202: 10,7505           20641                           INDEX    RUPTREG3                              
008878,000203: 10,7506           10000                           CCS      0                                     #  PUT OUT NEXT COMMAND.
008879,000204: 10,7507           07523                           TC       POSGOUTS                              
008880,000205: 10,7510           07512                           TC       GYROADVS                              #  NO COMMAND IF +-0.
008881,000206: 10,7511           07537                           TC       NEGGOUTS                              
008882,000207: 
008883,000208: 10,7512           40677        GYROADVS           CS       CDUIND                                #  ADVANCE TO NEXT GYRO IN ORDER YZX.
008884,000209: 10,7513           20000                           INDEX    A                                     
008885,000210: 10,7514           07513                           TC       -1                                    
008886,000211: 10,7515           07721                           TC       ENDGYRO                               
008887,000212: 10,7516           34475                           CAF      SIX                                   
008888,000213: 10,7517           64340                           AD       NEG2                                  
008889,000214: 10,7520           40000                           COM                                            
008890,000215: 10,7521           50677                           TS       CDUIND                                
008891,000216: 10,7522           07504                           TC       DOGYROSP                              
008892,000217: 
008893,000218: 10,7523           64516        POSGOUTS           AD       ONE                                   
008894,000219: 10,7524           50034                           TS       OVCTR                                 
008895,000220: 10,7525           06631                           TC       OUT2SUB                               #  PUT OUT COMMAND, SAVING COMMAND FOR
008896,000221: 10,7526           07672                           TC       GETDT                                 #  DT COMPUTATION.
008897,000222: 10,7527           30032                           XCH      LPRUPT                                
008898,000223: 10,7530           02173                           TC       WAITLIST                              
008899,000224: 10,7531           21533                           CADR     TWEAKSP                               #  PUT OUT 2- WHEN COMMAND IS OUT.
008900,000225: 10,7532           02256                           TC       TASKOVER                              #  ALL FOR NOW.
008901,000226: 
008902,000227: 10,7533           07704        TWEAKSP            TC       SETUPSUB                              #  INITIALIZE.
008903,000228: 10,7534           45503                           CS       TWO                                   #  PUT OUT 2- AND ADVANCE TO NEXT GYRO.
008904,000229: 10,7535           06631                           TC       OUT2SUB                               
008905,000230: 10,7536           07512                           TC       GYROADVS                              
008906,000231: 
008907,000232: 10,7537           64516        NEGGOUTS           AD       ONE                                   #  GET ABS OF COMMAND AND SAVE IN OVCTR.
008908,000233: 10,7540           50034                           TS       OVCTR                                 
008909,000234: 
008910,000235: 10,7541           35503                           CAF      TWO                                   #  PUT OUT 2+ BEFORE NEGATIVE PULSE TRAIN.
008911,000236: 10,7542           06631                           TC       OUT2SUB                               
008912,000237: 10,7543           07672                           TC       GETDT                                 #  COMPUTE WAITLIST DELTA T.
008913,000238: 
008914,000239: 10,7544           35362                           CAF      SEVEN                                 #  PUT IN A DELAY TO ALLOW 2+ PULSES
008915,000240: 10,7545           10000                           CCS      A                                     #  ENOUGH TIME TO GET OUT (3 PULSE TIMES).
008916,000241: 10,7546           07545                           TC       -1                                    
008917,000242: 
008918,000243: 10,7547           40034                           CS       OVCTR                                 #  PUT OUT NEGATIVE COMMAND.
008919,000244: 10,7550           06631                           TC       OUT2SUB                               
008920,000245: 
008921,000246: 10,7551           30032                           XCH      LPRUPT                                #  CALL WAITLIST FOR TASK DUE WHEN PULSE
008922,000247: 10,7552           02173                           TC       WAITLIST                              #  TRAIN COMPLETE.

Page 230

008924,000249: 10,7553           21512                           CADR     GYROADVS                              
008925,000250: 10,7554           02256                           TC       TASKOVER                              
008926,000251: 

Page 231

008928,000253: 
008929,000254:                                                                                                  #        WAITLIST TASKS TO SEND OUT DP PULSE TRAINS TO THE GYROS.
008930,000255: 
008931,000256: 10,7555           07704        TWEAKGY            TC       SETUPSUB                              #  FINISHED WITH POSITIVE TRAINS TO A GYRO.
008932,000257: 10,7556           45503                           CS       TWO                                   #   SEND OUT 2- TO LEAVE GYRO IN - STATE.
008933,000258: 10,7557           06631                           TC       OUT2SUB                               
008934,000259: 
008935,000260: 10,7560           40677        GYROADV            CS       CDUIND                                #  ADVANCE TO THE NEXT GYRO IN ORDER YZX.
008936,000261: 10,7561           74720                           MASK     LOW7                                  #  BIT14 IS 1 IF 2+ PULSES HAD BEEN SENT
008937,000262: 10,7562           20000                           INDEX    A                                     #   BEFORE A NEGATIVE COMMAND.
008938,000263: 10,7563           07562                           TC       -1                                    
008939,000264: 10,7564           07715                           TC       ENDGYRO1                              
008940,000265: 10,7565           34475                           CAF      SIX                                   
008941,000266: 10,7566           64340                           AD       NEG2                                  #  (CAME HERE FROM TC WITH C(A)=4.)
008942,000267: 10,7567           40000                           COM                                            
008943,000268: 10,7570           50677                           TS       CDUIND                                
008944,000269: 
008945,000270: 10,7571           07704        DOGYRO             TC       SETUPSUB                              #  SERVICE GYRO WHOSE *NUMBER* IS IN CDUIND
008946,000271: 10,7572           20641                           INDEX    RUPTREG3                              
008947,000272: 10,7573           10000                           CCS      0                                     #  MAJOR PART IS POSMAX COUNT.
008948,000273: 10,7574           07605                           TC       DOPOSMAX                              #  PUT OUT POSMAX.
008949,000274: 10,7575           07577                           TC       DOMINOR                               
008950,000275: 10,7576           07615                           TC       DONEGMAX                              
008951,000276: 
008952,000277: 10,7577           20641        DOMINOR            INDEX    RUPTREG3                              #  SEND OUT REMAINDER OF COMMAND.
008953,000278: 10,7600           10001                           CCS      1                                     
008954,000279: 10,7601           07640                           TC       POSGOUT                               
008955,000280: 10,7602           07556                           TC       TWEAKGY    +1                         #  FINISHED WITH LONG . PULSE TRAIN.
008956,000281: 10,7603           07650                           TC       NEGGOUT                               
008957,000282: 10,7604           07560                           TC       GYROADV                               #  DONE WITH LONG - TRAIN OR ZERO INPUT.
008958,000283: 
008959,000284: 10,7605           20641        DOPOSMAX           INDEX    RUPTREG3                              #  PUT AWAY DECREMENTED POSMAX COUNT.
008960,000285: 10,7606           50000                           TS       0                                     
008961,000286: 10,7607           34476                           CAF      POSMAX                                
008962,000287: 10,7610           06631        DOMAX              TC       OUT2SUB                               
008963,000288: 10,7611           37740                           CAF      FULLDT                                
008964,000289: 
008965,000290: 10,7612           02173        GYROWAIT           TC       WAITLIST                              
008966,000291: 10,7613           21571                           CADR     DOGYRO                                
008967,000292: 10,7614           02256                           TC       TASKOVER                              
008968,000293: 

Page 232

008970,000295: 
008971,000296: 10,7615           40000        DONEGMAX           COM                                            
008972,000297: 10,7616           20641                           INDEX    RUPTREG3                              
008973,000298: 10,7617           50000                           TS       0                                     #  DECREMENTED POSMAX (NEGMAX) COUNT.
008974,000299: 10,7620           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES HAVE BEEN PUT OUT YET,
008975,000300: 10,7621           74520                           MASK     NEG1/2                                #   LEAVING WORD THAT THEY WILL BE OUT
008976,000301: 10,7622           64501                           AD       BIT14                                 #   BY TASKOVER TIME.
008977,000302: 10,7623           40000                           COM                                            
008978,000303: 10,7624           30677                           XCH      CDUIND                                
008979,000304: 10,7625           74501                           MASK     BIT14                                 
008980,000305: 10,7626           10000                           CCS      A                                     
008981,000306: 10,7627           07631                           TC       +2                                    
008982,000307: 10,7630           07636                           TC       NEGMAX2                               #  ALREADY OUT.
008983,000308: 
008984,000309: 10,7631           35503                           CAF      TWO                                   #  NOT OUT YET - DO SO.
008985,000310: 10,7632           06631                           TC       OUT2SUB                               
008986,000311: 10,7633           35503                           CAF      TWO                                   #  WAIT FOR THEM TO GET OUT BEFORE DELIVER-
008987,000312: 10,7634           10000                           CCS      A                                     #   ING THE REAL COMMAND.
008988,000313: 10,7635           07634                           TC       -1                                    
008989,000314: 
008990,000315: 10,7636           44476        NEGMAX2            CS       POSMAX                                
008991,000316: 10,7637           07610                           TC       DOMAX                                 
008992,000317: 
008993,000318: 10,7640           64516        POSGOUT            AD       ONE                                   #  FRACTIONAL POSITIVE COMMAND.
008994,000319: 10,7641           50034                           TS       OVCTR                                 
008995,000320: 10,7642           06631                           TC       OUT2SUB                               #  DELIVER COMMAND.
008996,000321: 10,7643           07672                           TC       GETDT                                 #  GET TIME TO END OF PULSE TRAIN.
008997,000322: 10,7644           30032                           XCH      LPRUPT                                #  (ANSWER LEFT IN LPRUPT).
008998,000323: 10,7645           02173                           TC       WAITLIST                              
008999,000324: 10,7646           21555                           CADR     TWEAKGY                               #  SUPPLY 2- PULSES AT END.
009000,000325: 10,7647           02256                           TC       TASKOVER                              
009001,000326: 
009002,000327: 10,7650           64516        NEGGOUT            AD       ONE                                   #  FRACTIONAL NEGATIVE COMMAND.
009003,000328: 10,7651           50034                           TS       OVCTR                                 
009004,000329: 10,7652           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES ALREADY OUT.
009005,000330: 10,7653           74501                           MASK     BIT14                                 
009006,000331: 10,7654           10000                           CCS      A                                     
009007,000332: 10,7655           07663                           TC       NEGGOUT2                              
009008,000333: 
009009,000334: 10,7656           35503                           CAF      TWO                                   
009010,000335: 10,7657           06631                           TC       OUT2SUB                               
009011,000336: 
009012,000337: 10,7660           35362                           CAF      SEVEN                                 #  ALLOW AT LEAST 3 PULSE TIMES FOR THE 2+
009013,000338: 10,7661           10000                           CCS      A                                     #  PULSES TO GET OUT.
009014,000339: 10,7662           07661                           TC       -1                                    
009015,000340: 
009016,000341: 10,7663           07672        NEGGOUT2           TC       GETDT                                 
009017,000342: 10,7664           40034                           CS       OVCTR                                 #  DELIVER COMMAND.
009018,000343: 10,7665           06631                           TC       OUT2SUB                               
009019,000344: 10,7666           30032                           XCH      LPRUPT                                #  GET WAITLIST DT LEFT BY  GETDT  .
009020,000345: 10,7667           02173                           TC       WAITLIST                              

Page 233

009022,000347: 10,7670           21560                           CADR     GYROADV                               
009023,000348: 10,7671           02256                           TC       TASKOVER                              
009024,000349: 

Page 234

009026,000351: 
009027,000352:                                                                                                  #        SUBROUTINES USED BY TASKS.
009028,000353: 
009029,000354: 10,7672           30003        GETDT              XCH      LP                                    #  COMPUTE NUMBER OF 10 MS TICKS IT WILL
009030,000355: 10,7673           50032                           TS       LPRUPT                                #   TAKE THE PULSE TRAIN WHOSE MAGNITUDE IS
009031,000356: 10,7674           34505                           CAF      BIT10                                 #   IN OVCTR TO BE DELIVERED AT A RATE OF
009032,000357: 10,7675           25777                           EXTEND                                         #   3200 PPS.
009033,000358: 10,7676           40034                           MP       OVCTR                                 
009034,000359: 10,7677           65503                           AD       TWO                                   #  INTERRUPT AND ROUND-OFF UNCERTAINTIES.
009035,000360: 10,7700           30032                           XCH      LPRUPT                                #  LEAVE ANSWER IN LPRUPT.
009036,000361: 10,7701           25777                           EXTEND                                         
009037,000362: 10,7702           44516                           MP       ONE                                   
009038,000363: 10,7703           00001                           TC       Q                                     
009039,000364: 
009040,000365: 
009041,000366: 
009042,000367: 10,7704           35501        SETUPSUB           CAF      ZERO                                  #  SETS UP MISCELLANEOUS REGISTERS.
009043,000368: 10,7705           50640                           TS       RUPTREG2                              #  USED BY OUT2SUB.
009044,000369: 10,7706           40677                           CS       CDUIND                                
009045,000370: 10,7707           74720                           MASK     LOW7                                  #  KILL 2+ BIT.
009046,000371: 10,7710           50637                           TS       RUPTREG1                              
009047,000372: 10,7711           60000                           DOUBLE                                         
009048,000373: 10,7712           60764                           AD       LGYRO                                 
009049,000374: 10,7713           50641                           TS       RUPTREG3                              #  USED FOR INDEXING GYROD SET.
009050,000375: 10,7714           00001                           TC       Q                                     
009051,000376: 
009052,000377: 10,7715           34516        ENDGYRO1           CAF      ONE                                   #  SPLIT INTO TWO TASKS SO IT WONT LAST TOO
009053,000378: 10,7716           02173                           TC       WAITLIST                              #  LONG IN ANY ONE INTERRUPT.
009054,000379: 10,7717           21721                           CADR     ENDGYRO                               
009055,000380: 10,7720           02256                           TC       TASKOVER                              
009056,000381: 
009057,000382: 10,7721           35501        ENDGYRO            CAF      ZERO                                  #  SHOW THAT THE GYROS ARE NOW AVAILABLE.
009058,000383: 10,7722           50764                           TS       LGYRO                                 
009059,000384: 
009060,000385: 10,7723           30007                           XCH      IN3                                   #  RESTORE CDUIND
009061,000386: 10,7724           30007                           XCH      IN3                                   #  BY CHECKING IMU MODE
009062,000387: 10,7725           77737                           MASK     OCT122                                #  IMUCOARS, IMUATTC, IMUREENT MASK
009063,000388: 10,7726           10000                           CCS      A                                     
009064,000389: 10,7727           45501                           CS       ZERO                                  #  TO +0 IF MODES ACTIVE
009065,000390: 10,7730           40000                           COM                                            #  TO -0 IF INACTIVE
009066,000391: 10,7731           50677                           TS       CDUIND                                
009067,000392: 
009068,000393: 10,7732           37736                           CAF      LNEWGYRO                              #  WAKE UP ANY JOB WHICH MIGHT BE WAITING
009069,000394: 10,7733           02060                           TC       JOBWAKE                               #  FOR THE GYROS (AT MOST ONE).
009070,000395: 
009071,000396: 10,7734           05720                           TC       POSTJUMP                              #  RETURN TO ENDIMU SEQUENCE IN MAIN MODE
009072,000397: 10,7735           30171                           CADR     IMUFINED                              #  BANK (CHECKS IMU AND CDU FAIL SIGNALS).
009073,000398: 
009074,000399: 10,7736           31533        LNEWGYRO           CADR     NEWGYRO                               #  STANDARD SLEEPING LOCATION FOR GYROBUSY.
009075,000400: 10,7737           00122        OCT122             OCT      122                                   
009076,000401: 10,7740           01001        FULLDT             DEC      5.13       E2                         

End of include-file IRIG_PULSE-TORQUING_ROUTINES.agc.  Parent file is MAIN.agc