Source Code

These source-code files are part of a reconstructed copy of Corona 261, the final, flown release of the Block I Command Module (CM) Apollo Guidance Computer (AGC) software for the AS-202 mission.

They have been created via disassembly of binary dumps of the original core rope memory modules actually flown on the mission, part numbers 1003733-171, 1003733-241, 1003733-191, 1003733-211, 1003733-221, and 1003733-241. The source code for the Apollo 4 and 6 software, Solarium 55, was used as a starting point, since it was directly derived from Corona and (at least in theory) only minimally modified.

Since only binary dumps (rather than listings) of Corona are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

008363,000002:                                                                                                  ## Copyright:   Public domain.
008364,000003:                                                                                                  ## Filename:    IRIG_PULSE-TORQUING_ROUTINES.agc
008365,000004:                                                                                                  ## Purpose:     A section of Corona revision 261.
008366,000005:                                                                                                  ##              It is part of the source code for the Apollo Guidance Computer
008367,000006:                                                                                                  ##              (AGC) for AS-202. No original listings of this software are
008368,000007:                                                                                                  ##              available; instead, this file was created via disassembly of
008369,000008:                                                                                                  ##              the core rope modules actually flown on the mission.
008370,000009:                                                                                                  ## Assembler:   yaYUL
008371,000010:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
008372,000011:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
008373,000012:                                                                                                  ## Mod history: 2023-05-27 MAS  Created from Solarium 55.
008374,000013: 
008375,000014: 
008376,000015:                                                                                                  #        THE FOLLOWING PULSE-TORQUING OPTIONS ARE AVAILABLE:
008377,000016: 
008378,000017:                                                                                                  #        GYROSPNT                SINGLE PRECISION INPUTS WITH NO TWITCH (IE ZERO OUTPUT ON ZERO COMMAND).
008379,000018:                                                                                                  #        GYROSPTW                SINGLE PRECISION INPUT WITH TWITCH ON ZERO (2+ THEN 2-).
008380,000019:                                                                                                  #        GYRODPNT                DOUBLE PRECISION INPUTS (SIGN AGREEMENT UNNECESSARY) WITH NO TWITCH.
008381,000020: 
008382,000021:                                                                                                  #  ALL OF THE ABOVE SHOULD BE FOLLOWED EVENTUALLY BY A CALL TO IMUSTALL.
008383,000022: 
008384,000023: 
008385,000024: 
008386,000025: 14,7335                                           BANK     14                                    
008387,000026: 14,7335           50115        GYROSPNT           TS       MPAC                                  #  ADDRESS OF THREE REGISTER COMMAND SET
008388,000027: 14,7336           10764                           CCS      LGYRO                                 #  ARRIVES IN A. SEE IF GYRO ROUTINES BUSY.
008389,000028: 14,7337           07512                           TC       GYROBUSY                              #  (AND RETURN WHEN AVAILABLE.)
008390,000029: 
008391,000030: 14,7340           35503        SPNT               CAF      TWO                                   #  SET UP LOOP TO AUGMENT (+ OR -) EACH
008392,000031: 14,7341           50116                           TS       MPAC       +1                         #  COMMAND BY TWO IF NON-ZERO.
008393,000032: 14,7342           60000                           DOUBLE                                         
008394,000033: 14,7343           60115                           AD       MPAC                                  
008395,000034: 14,7344           50077                           TS       BUF                                   
008396,000035: 14,7345           20000                           INDEX    A                                     
008397,000036: 14,7346           10000                           CCS      0                                     
008398,000037: 14,7347           35503                           CAF      TWO                                   
008399,000038: 14,7350           07352                           TC       +2                                    #  (NO INCREMENT IF +-0).
008400,000039: 14,7351           45503                           CS       TWO                                   
008401,000040: 14,7352           20077                           INDEX    BUF                                   
008402,000041: 14,7353           60000                           AD       0                                     
008403,000042: 14,7354           20077                           INDEX    BUF                                   
008404,000043: 14,7355           30000                           XCH      0                                     #  (JUST TO BE SAFE).
008405,000044: 
008406,000045: 14,7356           10116                           CCS      MPAC       +1                         
008407,000046: 14,7357           07341                           TC       SPNT       +1                         
008408,000047: 
008409,000048: 14,7360           20017        SPGYREX            INHINT                                         
008410,000049: 14,7361           34516                           CAF      ONE                                   
008411,000050: 14,7362           02173                           TC       WAITLIST                              
008412,000051: 14,7363           21507                           CADR     DOGYROSP                              
008413,000052: 
008414,000053: 14,7364           44473        GYROEX2            CS       THREE                                 #  INITIALIZE CDUIND TO START GYRO TASKS
008415,000054: 14,7365           50677                           TS       CDUIND                                #  AT Y GYRO (ORDER IS YZX).
008416,000055: 14,7366           45502                           CS       FOUR                                  
008417,000056: 14,7367           60115                           AD       MPAC                                  #  SET LGYROD PNZ TO INDICATE GYRO ACTIVITY
008418,000057: 14,7370           50764                           TS       LGYRO                                 #  AND USE LGYRO TO STORE THE ADDRESS OFF
008419,000058: 14,7371           06020                           TC       MODEEXIT                              #  THE COMMANDS.
008420,000059: 
008421,000060: 
008422,000061:                                                                                                  #        SINGLE PRECISION WITH TWITCH.
008423,000062: 
008424,000063: 14,7372           50115        GYROSPTW           TS       MPAC                                  
008425,000064: 14,7373           10764                           CCS      LGYRO                                 #  SAME PROLOGUE AS GYROSPNT
008426,000065: 14,7374           07512                           TC       GYROBUSY                              
008427,000066: 
008428,000067: 14,7375           35503        SPTW               CAF      TWO                                   #  SET UP LOOP TO AUGMENT BY 2 (+ OR-),
008429,000068: 14,7376           50116                           TS       MPAC       +1                         #  WITH A PLUS TWO AUGMENT ON +-0.
008430,000069: 14,7377           60000                           DOUBLE                                         
008431,000070: 14,7400           60115                           AD       MPAC                                  
008432,000071: 14,7401           50077                           TS       BUF                                   
008433,000072: 14,7402           20000                           INDEX    A                                     
008434,000073: 14,7403           10000                           CCS      0                                     
008435,000074: 14,7404           07407                           TC       +3                                    
008436,000075: 14,7405           07407                           TC       +2                                    
008437,000076: 14,7406           07411                           TC       +3                                    
008438,000077: 
008439,000078: 14,7407           35503                           CAF      TWO                                   
008440,000079: 14,7410           07412                           TC       +2                                    
008441,000080: 
008442,000081: 14,7411           45503                 +3        CS       TWO                                   
008443,000082: 14,7412           20077                           INDEX    BUF                                   
008444,000083: 14,7413           60000                           AD       0                                     
008445,000084: 14,7414           20077                           INDEX    BUF                                   
008446,000085: 14,7415           30000                           XCH      0                                     
008447,000086: 
008448,000087: 14,7416           10116                           CCS      MPAC       +1                         
008449,000088: 14,7417           07376                           TC       SPTW       +1                         
008450,000089: 
008451,000090: 14,7420           07360                           TC       SPGYREX                               #  SET UP PULSE-TORQUING TASKS. 
008452,000091: 
008453,000092: 
008454,000093:                                                                                                  #        DOUBLE PRECISION INPUTS WITH NO TWITCH ON ZERO.
008455,000094: 
008456,000095: 14,7421           50113        GYRODPNT           TS       ARETURN                               #  SAVE ADDRESS OF INPUT COMMANDS.
008457,000096: 14,7422           05706                           TC       MAKECADR                              #  SAVE RETURN ADDRESS SINCE WE MUST
008458,000097: 14,7423           30062                           XCH      ADDRWD                                #  DO A BANKCALL TO TPAGREE.
008459,000098: 14,7424           50064                           TS       TEM11                                 
008460,000099: 14,7425           35501                           CAF      ZERO                                  
008461,000100: 14,7426           50117                           TS       MPAC       +2                         
008462,000101: 14,7427           35503        DPNT               CAF      TWO                                   
008463,000102: 
008464,000103: 14,7430           50077                           TS       BUF                                   #  THIS LOOP FORCES SIGN AGREEMENT IN THE
008465,000104: 14,7431           60000                           DOUBLE                                         #  DP INPUT COMMANDS, AUGMENTING ON
008466,000105: 14,7432           60113                           AD       ARETURN                               #  NON-ZERO.
008467,000106: 14,7433           50100                           TS       BUF        +1                         
008468,000107: 14,7434           20000                           INDEX    A                                     
008469,000108: 14,7435           30000                           XCH      0                                     
008470,000109: 14,7436           50115                           TS       MPAC                                  
008471,000110: 14,7437           20100                           INDEX    BUF        +1                         
008472,000111: 14,7440           30001                           XCH      1                                     
008473,000112: 14,7441           50116                           TS       MPAC       +1                         
008474,000113: 14,7442           05654                           TC       BANKCALL                              
008475,000114: 14,7443           07154                           CADR     TPAGREE                               
008476,000115: 
008477,000116: 14,7444           10000                           CCS      A                                     #  AUGMENT BYTWO IF NON-ZERO. TPAGREE
008478,000117: 14,7445           35503                           CAF      TWO                                   #  RETURNS +1,-0,-1.
008479,000118: 14,7446           65503                           AD       TWO                                   
008480,000119: 14,7447           64340                           AD       NEG2                                  
008481,000120: 
008482,000121: 14,7450           60116                           AD       MPAC       +1                         #  DIVIDE BY POSMAX - IE PLACE IN THE MAJOR
008483,000122: 14,7451           60115                           AD       MPAC                                  #  PART OF EACH COMMAND THE NUMBER OF
008484,000123: 14,7452           20100                           INDEX    BUF        +1                         #  POSMAX PULSE TRAINS TO BE PUT OUT, 
008485,000124: 14,7453           50001                           TS       1                                     #  LEAVING THE REMAINDER IN THE MINOR PART.
008486,000125: 14,7454           07464                           TC       +8D                                   
008487,000126: 
008488,000127: 14,7455           50001                           TS       Q                                     #  ON OVERFLOW, ADD +-1 TO THE MINOR PART 
008489,000128: 14,7456           20100                           INDEX    BUF        +1                         #  AS WELL AS THE MAJOR PART.
008490,000129: 14,7457           60001                           AD       1                                     
008491,000130: 14,7460           20100                           INDEX    BUF        +1                         #  NO OVERFLOW HERE.
008492,000131: 14,7461           50001                           TS       1                                     
008493,000132: 14,7462           30001                           XCH      Q                                     
008494,000133: 14,7463           07465                           TC       +2                                    
008495,000134: 
008496,000135: 14,7464           35501                 +8D       CAF      ZERO                                  
008497,000136: 14,7465           60115                           AD       MPAC                                  
008498,000137: 14,7466           20100                           INDEX    BUF        +1                         
008499,000138: 14,7467           30000                           XCH      0                                     
008500,000139: 14,7470           10077                           CCS      BUF                                   
008501,000140: 14,7471           07430                           TC       DPNT       +1                         
008502,000141: 
008503,000142: 14,7472           30113                           XCH      ARETURN                               #  PREPARE FOR POSSIBLE GYROBUSY CALL.
008504,000143: 14,7473           50115                           TS       MPAC                                  
008505,000144: 14,7474           10764                           CCS      LGYRO                                 
008506,000145: 14,7475           07531                           TC       GYROBSY2                              
008507,000146: 
008508,000147: 14,7476           32261                           CAF      BANKMASK                              
008509,000148: 14,7477           70064                           MASK     TEM11                                 
008510,000149: 14,7500           50072                           TS       BANKTEM                               
008511,000150: 14,7501           34606                           CAF      LOW10                                 
008512,000151: 14,7502           70064                           MASK     TEM11                                 
008513,000152: 14,7503           64373                           AD       6K                                    
008514,000153: 14,7504           50071                           TS       TEMQS                                 
008515,000154: 14,7505           20017                           INHINT                                         
008516,000155: 14,7506           34516                           CAF      ONE                                   
008517,000156: 14,7507           02173                           TC       WAITLIST                              
008518,000157: 14,7510           21574                           CADR     DOGYRO                                
008519,000158: 
008520,000159: 14,7511           07364                           TC       GYROEX2                               
008521,000160: 
008522,000161: 
008523,000162:                                                                                                  #        GYRO STALLING ROUTINES - CALLED VERY RARELY BY AT MOST ONE ROUTINE AT A TIME.
008524,000163: 
008525,000164: 14,7512           30001        GYROBUSY           XCH      Q                                     #  RETURN ADDRESS TO MPAC.
008526,000165: 14,7513           50117                           TS       MPAC       +2                         
008527,000166: 
008528,000167: 14,7514           05706                           TC       MAKECADR                              #  CALLERS RETURN CADR TO MPAC +1.
008529,000168: 14,7515           30062                           XCH      ADDRWD                                
008530,000169: 14,7516           50116                           TS       MPAC       +1                         
008531,000170: 14,7517           37535        REGSLEEP           CAF      CADRNEWG                              
008532,000171: 14,7520           02127                           TC       JOBSLEEP                              #  AT STANDARD LOCATION.
008533,000172: 
008534,000173: 14,7521           10764        NEWGYRO            CCS      LGYRO                                 #  SEE IF ROUTINES STILL AVAILABLE (SHOULD
008535,000174: 14,7522           07517                           TC       REGSLEEP                              #  BE). IF NOT, WAIT SOME MORE.
008536,000175: 
008537,000176: 14,7523           30116                           XCH      MPAC       +1                         #  RESTORE RETURN CADR TO STANDARD SWCALL
008538,000177: 14,7524           50072                           TS       BANKTEM                               #  (BANKCALL) FORM.
008539,000178: 14,7525           74606                           MASK     LOW10                                 
008540,000179: 14,7526           64373                           AD       6K                                    
008541,000180: 14,7527           50071                           TS       TEMQS                                 
008542,000181: 14,7530           00117                           TC       MPAC       +2                         
008543,000182: 
008544,000183: 14,7531           30001        GYROBSY2           XCH      Q                                     #  DP WAIT.
008545,000184: 14,7532           50117                           TS       MPAC       +2                         
008546,000185: 14,7533           30064                           XCH      TEM11                                 
008547,000186: 14,7534           07516                           TC       REGSLEEP   -1                         
008548,000187: 
008549,000188: 14,7535           31521        CADRNEWG           CADR     NEWGYRO                               
008550,000189: 
008551,000190: 
008552,000191:                                                                                                  #        TASKS FOR SENDING OUT SINGLE PRECISION COMMANDS. 
008553,000192: 
008554,000193: 10,7507                                           BANK     10                                    
008555,000194: 10,7507           07707        DOGYROSP           TC       SETUPSUB                              #  COMMON INITIALIZATION SUBROUTINE.
008556,000195: 10,7510           20641                           INDEX    RUPTREG3                              
008557,000196: 10,7511           10000                           CCS      0                                     #  PUT OUT NEXT COMMAND.
008558,000197: 10,7512           07526                           TC       POSGOUTS                              
008559,000198: 10,7513           07515                           TC       GYROADVS                              #  NO COMMAND IF +-0.
008560,000199: 10,7514           07542                           TC       NEGGOUTS                              
008561,000200: 
008562,000201: 10,7515           40677        GYROADVS           CS       CDUIND                                #  ADVANCE TO NEXT GYRO IN ORDER YZX.
008563,000202: 10,7516           20000                           INDEX    A                                     
008564,000203: 10,7517           07516                           TC       -1                                    
008565,000204: 10,7520           07724                           TC       ENDGYRO                               
008566,000205: 10,7521           34475                           CAF      SIX                                   
008567,000206: 10,7522           64340                           AD       NEG2                                  
008568,000207: 10,7523           40000                           COM                                            
008569,000208: 10,7524           50677                           TS       CDUIND                                
008570,000209: 10,7525           07507                           TC       DOGYROSP                              
008571,000210: 
008572,000211: 10,7526           64516        POSGOUTS           AD       ONE                                   
008573,000212: 10,7527           50034                           TS       OVCTR                                 
008574,000213: 10,7530           06613                           TC       OUT2SUB                               #  PUT OUT COMMAND, SAVING COMMAND FOR
008575,000214: 10,7531           07675                           TC       GETDT                                 #  DT COMPUTATION.
008576,000215: 10,7532           30032                           XCH      LPRUPT                                
008577,000216: 10,7533           02173                           TC       WAITLIST                              
008578,000217: 10,7534           21536                           CADR     TWEAKSP                               #  PUT OUT 2- WHEN COMMAND IS OUT.
008579,000218: 10,7535           02256                           TC       TASKOVER                              #  ALL FOR NOW.
008580,000219: 
008581,000220: 10,7536           07707        TWEAKSP            TC       SETUPSUB                              #  INITIALIZE.
008582,000221: 10,7537           45503                           CS       TWO                                   #  PUT OUT 2- AND ADVANCE TO NEXT GYRO.
008583,000222: 10,7540           06613                           TC       OUT2SUB                               
008584,000223: 10,7541           07515                           TC       GYROADVS                              
008585,000224: 
008586,000225: 10,7542           64516        NEGGOUTS           AD       ONE                                   #  GET ABS OF COMMAND AND SAVE IN OVCTR.
008587,000226: 10,7543           50034                           TS       OVCTR                                 
008588,000227: 
008589,000228: 10,7544           35503                           CAF      TWO                                   #  PUT OUT 2+ BEFORE NEGATIVE PULSE TRAIN.
008590,000229: 10,7545           06613                           TC       OUT2SUB                               
008591,000230: 10,7546           07675                           TC       GETDT                                 #  COMPUTE WAITLIST DELTA T.
008592,000231: 
008593,000232: 10,7547           35362                           CAF      SEVEN                                 #  PUT IN A DELAY TO ALLOW 2+ PULSES
008594,000233: 10,7550           10000                           CCS      A                                     #  ENOUGH TIME TO GET OUT (3 PULSE TIMES).
008595,000234: 10,7551           07550                           TC       -1                                    
008596,000235: 
008597,000236: 10,7552           40034                           CS       OVCTR                                 #  PUT OUT NEGATIVE COMMAND.
008598,000237: 10,7553           06613                           TC       OUT2SUB                               
008599,000238: 
008600,000239: 10,7554           30032                           XCH      LPRUPT                                #  CALL WAITLIST FOR TASK DUE WHEN PULSE
008601,000240: 10,7555           02173                           TC       WAITLIST                              #  TRAIN COMPLETE.
008602,000241: 10,7556           21515                           CADR     GYROADVS                              
008603,000242: 10,7557           02256                           TC       TASKOVER                              
008604,000243: 
008605,000244: 
008606,000245:                                                                                                  #        WAITLIST TASKS TO SEND OUT DP PULSE TRAINS TO THE GYROS.
008607,000246: 
008608,000247: 10,7560           07707        TWEAKGY            TC       SETUPSUB                              #  FINISHED WITH POSITIVE TRAINS TO A GYRO.
008609,000248: 10,7561           45503                           CS       TWO                                   #   SEND OUT 2- TO LEAVE GYRO IN - STATE.
008610,000249: 10,7562           06613                           TC       OUT2SUB                               
008611,000250: 
008612,000251: 10,7563           40677        GYROADV            CS       CDUIND                                #  ADVANCE TO THE NEXT GYRO IN ORDER YZX.
008613,000252: 10,7564           74720                           MASK     LOW7                                  #  BIT14 IS 1 IF 2+ PULSES HAD BEEN SENT
008614,000253: 10,7565           20000                           INDEX    A                                     #   BEFORE A NEGATIVE COMMAND.
008615,000254: 10,7566           07565                           TC       -1                                    
008616,000255: 10,7567           07720                           TC       ENDGYRO1                              
008617,000256: 10,7570           34475                           CAF      SIX                                   
008618,000257: 10,7571           64340                           AD       NEG2                                  #  (CAME HERE FROM TC WITH C(A)=4.)
008619,000258: 10,7572           40000                           COM                                            
008620,000259: 10,7573           50677                           TS       CDUIND                                
008621,000260: 
008622,000261: 10,7574           07707        DOGYRO             TC       SETUPSUB                              #  SERVICE GYRO WHOSE *NUMBER* IS IN CDUIND
008623,000262: 10,7575           20641                           INDEX    RUPTREG3                              
008624,000263: 10,7576           10000                           CCS      0                                     #  MAJOR PART IS POSMAX COUNT.
008625,000264: 10,7577           07610                           TC       DOPOSMAX                              #  PUT OUT POSMAX.
008626,000265: 10,7600           07602                           TC       DOMINOR                               
008627,000266: 10,7601           07620                           TC       DONEGMAX                              
008628,000267: 
008629,000268: 10,7602           20641        DOMINOR            INDEX    RUPTREG3                              #  SEND OUT REMAINDER OF COMMAND.
008630,000269: 10,7603           10001                           CCS      1                                     
008631,000270: 10,7604           07643                           TC       POSGOUT                               
008632,000271: 10,7605           07561                           TC       TWEAKGY    +1                         #  FINISHED WITH LONG . PULSE TRAIN.
008633,000272: 10,7606           07653                           TC       NEGGOUT                               
008634,000273: 10,7607           07563                           TC       GYROADV                               #  DONE WITH LONG - TRAIN OR ZERO INPUT.
008635,000274: 
008636,000275: 10,7610           20641        DOPOSMAX           INDEX    RUPTREG3                              #  PUT AWAY DECREMENTED POSMAX COUNT.
008637,000276: 10,7611           50000                           TS       0                                     
008638,000277: 10,7612           34476                           CAF      POSMAX                                
008639,000278: 10,7613           06613        DOMAX              TC       OUT2SUB                               
008640,000279: 10,7614           37743                           CAF      FULLDT                                
008641,000280: 
008642,000281: 10,7615           02173        GYROWAIT           TC       WAITLIST                              
008643,000282: 10,7616           21574                           CADR     DOGYRO                                
008644,000283: 10,7617           02256                           TC       TASKOVER                              
008645,000284: 
008646,000285: 
008647,000286: 10,7620           40000        DONEGMAX           COM                                            
008648,000287: 10,7621           20641                           INDEX    RUPTREG3                              
008649,000288: 10,7622           50000                           TS       0                                     #  DECREMENTED POSMAX (NEGMAX) COUNT.
008650,000289: 10,7623           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES HAVE BEEN PUT OUT YET,
008651,000290: 10,7624           74520                           MASK     NEG1/2                                #   LEAVING WORD THAT THEY WILL BE OUT
008652,000291: 10,7625           64501                           AD       BIT14                                 #   BY TASKOVER TIME.
008653,000292: 10,7626           40000                           COM                                            
008654,000293: 10,7627           30677                           XCH      CDUIND                                
008655,000294: 10,7630           74501                           MASK     BIT14                                 
008656,000295: 10,7631           10000                           CCS      A                                     
008657,000296: 10,7632           07634                           TC       +2                                    
008658,000297: 10,7633           07641                           TC       NEGMAX2                               #  ALREADY OUT.
008659,000298: 
008660,000299: 10,7634           35503                           CAF      TWO                                   #  NOT OUT YET - DO SO.
008661,000300: 10,7635           06613                           TC       OUT2SUB                               
008662,000301: 10,7636           35503                           CAF      TWO                                   #  WAIT FOR THEM TO GET OUT BEFORE DELIVER-
008663,000302: 10,7637           10000                           CCS      A                                     #   ING THE REAL COMMAND.
008664,000303: 10,7640           07637                           TC       -1                                    
008665,000304: 
008666,000305: 10,7641           44476        NEGMAX2            CS       POSMAX                                
008667,000306: 10,7642           07613                           TC       DOMAX                                 
008668,000307: 
008669,000308: 10,7643           64516        POSGOUT            AD       ONE                                   #  FRACTIONAL POSITIVE COMMAND.
008670,000309: 10,7644           50034                           TS       OVCTR                                 
008671,000310: 10,7645           06613                           TC       OUT2SUB                               #  DELIVER COMMAND.
008672,000311: 10,7646           07675                           TC       GETDT                                 #  GET TIME TO END OF PULSE TRAIN.
008673,000312: 10,7647           30032                           XCH      LPRUPT                                #  (ANSWER LEFT IN LPRUPT).
008674,000313: 10,7650           02173                           TC       WAITLIST                              
008675,000314: 10,7651           21560                           CADR     TWEAKGY                               #  SUPPLY 2- PULSES AT END.
008676,000315: 10,7652           02256                           TC       TASKOVER                              
008677,000316: 
008678,000317: 10,7653           64516        NEGGOUT            AD       ONE                                   #  FRACTIONAL NEGATIVE COMMAND.
008679,000318: 10,7654           50034                           TS       OVCTR                                 
008680,000319: 10,7655           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES ALREADY OUT.
008681,000320: 10,7656           74501                           MASK     BIT14                                 
008682,000321: 10,7657           10000                           CCS      A                                     
008683,000322: 10,7660           07666                           TC       NEGGOUT2                              
008684,000323: 
008685,000324: 10,7661           35503                           CAF      TWO                                   
008686,000325: 10,7662           06613                           TC       OUT2SUB                               
008687,000326: 
008688,000327: 10,7663           35362                           CAF      SEVEN                                 #  ALLOW AT LEAST 3 PULSE TIMES FOR THE 2+
008689,000328: 10,7664           10000                           CCS      A                                     #  PULSES TO GET OUT.
008690,000329: 10,7665           07664                           TC       -1                                    
008691,000330: 
008692,000331: 10,7666           07675        NEGGOUT2           TC       GETDT                                 
008693,000332: 10,7667           40034                           CS       OVCTR                                 #  DELIVER COMMAND.
008694,000333: 10,7670           06613                           TC       OUT2SUB                               
008695,000334: 10,7671           30032                           XCH      LPRUPT                                #  GET WAITLIST DT LEFT BY  GETDT  .
008696,000335: 10,7672           02173                           TC       WAITLIST                              
008697,000336: 10,7673           21563                           CADR     GYROADV                               
008698,000337: 10,7674           02256                           TC       TASKOVER                              
008699,000338: 
008700,000339: 
008701,000340:                                                                                                  #        SUBROUTINES USED BY TASKS.
008702,000341: 
008703,000342: 10,7675           30003        GETDT              XCH      LP                                    #  COMPUTE NUMBER OF 10 MS TICKS IT WILL
008704,000343: 10,7676           50032                           TS       LPRUPT                                #   TAKE THE PULSE TRAIN WHOSE MAGNITUDE IS
008705,000344: 10,7677           34505                           CAF      BIT10                                 #   IN OVCTR TO BE DELIVERED AT A RATE OF
008706,000345: 10,7700           25777                           EXTEND                                         #   3200 PPS.
008707,000346: 10,7701           40034                           MP       OVCTR                                 
008708,000347: 10,7702           65503                           AD       TWO                                   #  INTERRUPT AND ROUND-OFF UNCERTAINTIES.
008709,000348: 10,7703           30032                           XCH      LPRUPT                                #  LEAVE ANSWER IN LPRUPT.
008710,000349: 10,7704           25777                           EXTEND                                         
008711,000350: 10,7705           44516                           MP       ONE                                   
008712,000351: 10,7706           00001                           TC       Q                                     
008713,000352: 
008714,000353: 
008715,000354: 
008716,000355: 10,7707           35501        SETUPSUB           CAF      ZERO                                  #  SETS UP MISCELLANEOUS REGISTERS.
008717,000356: 10,7710           50640                           TS       RUPTREG2                              #  USED BY OUT2SUB.
008718,000357: 10,7711           40677                           CS       CDUIND                                
008719,000358: 10,7712           74720                           MASK     LOW7                                  #  KILL 2+ BIT.
008720,000359: 10,7713           50637                           TS       RUPTREG1                              
008721,000360: 10,7714           60000                           DOUBLE                                         
008722,000361: 10,7715           60764                           AD       LGYRO                                 
008723,000362: 10,7716           50641                           TS       RUPTREG3                              #  USED FOR INDEXING GYROD SET.
008724,000363: 10,7717           00001                           TC       Q                                     
008725,000364: 
008726,000365: 10,7720           34516        ENDGYRO1           CAF      ONE                                   #  SPLIT INTO TWO TASKS SO IT WONT LAST TOO
008727,000366: 10,7721           02173                           TC       WAITLIST                              #  LONG IN ANY ONE INTERRUPT.
008728,000367: 10,7722           21724                           CADR     ENDGYRO                               
008729,000368: 10,7723           02256                           TC       TASKOVER                              
008730,000369: 
008731,000370: 10,7724           35501        ENDGYRO            CAF      ZERO                                  #  SHOW THAT THE GYROS ARE NOW AVAILABLE.
008732,000371: 10,7725           50764                           TS       LGYRO                                 
008733,000372: 
008734,000373: 10,7726           30007                           XCH      IN3                                   #  RESTORE CDUIND
008735,000374: 10,7727           30007                           XCH      IN3                                   #  BY CHECKING IMU MODE
008736,000375: 10,7730           77742                           MASK     OCT122                                #  IMUCOARS, IMUATTC, IMUREENT MASK
008737,000376: 10,7731           10000                           CCS      A                                     
008738,000377: 10,7732           45501                           CS       ZERO                                  #  TO +0 IF MODES ACTIVE
008739,000378: 10,7733           40000                           COM                                            #  TO -0 IF INACTIVE
008740,000379: 10,7734           50677                           TS       CDUIND                                
008741,000380: 
008742,000381: 10,7735           37741                           CAF      LNEWGYRO                              #  WAKE UP ANY JOB WHICH MIGHT BE WAITING
008743,000382: 10,7736           02060                           TC       JOBWAKE                               #  FOR THE GYROS (AT MOST ONE).
008744,000383: 
008745,000384: 10,7737           05720                           TC       POSTJUMP                              #  RETURN TO ENDIMU SEQUENCE IN MAIN MODE
008746,000385: 10,7740           30171                           CADR     IMUFINED                              #  BANK (CHECKS IMU AND CDU FAIL SIGNALS).
008747,000386: 
008748,000387: 10,7741           31521        LNEWGYRO           CADR     NEWGYRO                               #  STANDARD SLEEPING LOCATION FOR GYROBUSY.
008749,000388: 10,7742           00122        OCT122             OCT      122                                   
008750,000389: 10,7743           01001        FULLDT             DEC      5.13       E2                         

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