Source Code

017916,000002: ## Copyright: Public domain. 017917,000003: ## Filename: KEYRUPT_UPRUPT_FRESH_START.agc 017918,000004: ## Purpose: Part of the source code for Solarium build 55. This 017919,000005: ## is for the Command Module's (CM) Apollo Guidance 017920,000006: ## Computer (AGC), for Apollo 6. 017921,000007: ## Assembler: yaYUL --block1 017922,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com> 017923,000009: ## Website: www.ibiblio.org/apollo/index.html 017924,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/ 017925,000011: ## Mod history: 2009-09-15 JL Created. 017926,000012: ## 2016-08-17 RSB Corrected a duplicated symbol TFAIL2 on p. 479. 017927,000013: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments, 017928,000014: ## and fixed errors found. 017929,000015:

Page 477

017931,000017: 
017932,000018: 04,7363                                           BANK     4                                     
017933,000019: 04,7363           73220        KEYRUPT1           MASK     LOW5                                  #  C(IN0) IN A
017934,000020: 04,7364           50642                           TS       RUPTREG4                              
017935,000021: 04,7365           02736                           TC       LODSAMPT                              #  TIME IS SNATCHED IN RUPT FOR NOUN 65
017936,000022: 04,7366           32166                           CAF      PRIO33                                
017937,000023: 04,7367           02052                           TC       NOVAC                                 
017938,000024: 04,7370           14006                           CADR     CHARIN                                
017939,000025: 04,7371           30642        NOKEYBUF           XCH      RUPTREG4                              
017940,000026: 04,7372           20601                           INDEX    LOCCTR                                
017941,000027: 04,7373           50115                           TS       MPAC                                  #  LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
017942,000028: 04,7374           02264                           TC       RESUME                                
017943,000029: 

Page 478

017945,000031: 
017946,000032: 04,7375           50030        UPRUPTB            TS       BANKRUPT                              
017947,000033: 04,7376           02677                           TC       READTIME   +1                         #  TIME IS SNATCHED IN RUPT FOR NOUN 65
017948,000034: 04,7377           35501                           CAF      ZERO                                  
017949,000035: 04,7400           30041                           XCH      UPLINK                                #  ZERO UPLINK
017950,000036: 04,7401           50600                           TS       KEYTEMP1                              
017951,000037: 04,7402           10717                           CCS      DSPTAB     +7                         #  TURN ON UPACT LIGHT
017952,000038: 04,7403           07405                           TC       +2                                    #  UPACT = BIT 11 OF DSPTAB +7
017953,000039: 04,7404           37510                           CAF      B12-1                                 #  SAFETY PLAY
017954,000040: 04,7405           64516                           AD       ONE                                   
017955,000041: 04,7406           50571                           TS       KEYTEMP2                              #  MAG OF DSPTAB +7 INTO KEYTEMP2
017956,000042: 04,7407           74504                           MASK     BIT11                                 
017957,000043: 04,7410           10000                           CCS      A                                     
017958,000044: 04,7411           07421                           TC       UPRPT1                                #  BIT 11 ALREADY ONE
017959,000045: 04,7412           30571                           XCH      KEYTEMP2                              #  BIT 11 = 0
017960,000046: 04,7413           64504                           AD       BIT11                                 
017961,000047: 04,7414           40000                           CS       A                                     #  STORE NEGATIVELY
017962,000048: 04,7415           30717                           XCH      DSPTAB     +7                         
017963,000049: 04,7416           10000                           CCS      A                                     
017964,000050: 04,7417           07511                           TC       INCNOUTU                              #  PREVIOUS CONTENTS WAS +
017965,000051: 04,7420           30000                           NOOP                                           #  SAFETY PLAY
017966,000052: 04,7421           33220        UPRPT1             CAF      LOW5                                  #  TEST FOR TRIPLE CHAR REDUNDANCY
017967,000053: 04,7422           70600                           MASK     KEYTEMP1                              #  LOW5 OF WORD
017968,000054: 04,7423           30600                           XCH      KEYTEMP1                              #  LOW5 INTO KEYTEMP1
017969,000055: 04,7424           30021                           XCH      SR                                    #  WHOLE WORD INTO SR
017970,000056: 04,7425           50571                           TS       KEYTEMP2                              #  ORIGINAL SR INTO KEYTEMP2
017971,000057: 04,7426           07472                           TC       SRGHT5                                
017972,000058: 04,7427           73220                           MASK     LOW5                                  #  MID 5
017973,000059: 04,7430           67507                           AD       HI10                                  
017974,000060: 04,7431           07501                           TC       UPTEST                                
017975,000061: 04,7432           07472                           TC       SRGHT5                                
017976,000062: 04,7433           73220                           MASK     LOW5                                  #  HIGH 5
017977,000063: 04,7434           40000                           COM                                            
017978,000064: 04,7435           07501                           TC       UPTEST                                
017979,000065: 04,7436           07466        UPOK               TC       RESTORSR                              #  CODE IS GOOD
017980,000066: 04,7437           47443                           CS       ELRCODE                               #  IF CODE = ERROR LIGHT RESET, PUT +0
017981,000067: 04,7440           60600                           AD       KEYTEMP1                              #  INTO UPLOCK (BIT2 OF STATE)
017982,000068: 04,7441           10000                           CCS      A                                     #  IF CODE NOT= ELR, PASS CODE ONLY IF
017983,000069: 04,7442           07451                           TC       TSTUPLOK                              #  UPLOCK=0 (BIT 2 OF STATE)
017984,000070: 04,7443           00022        ELRCODE            OCT      22                                    
017985,000071: 04,7444           07451                           TC       TSTUPLOK                              
017986,000072: 04,7445           44515                           CS       BIT2                                  #  0 INTO UPLOCK (BIT 2 OF STATE)
017987,000073: 04,7446           70645                           MASK     UPLOCK                                
017988,000074: 04,7447           50645                           TS       UPLOCK                                
017989,000075: 04,7450           07455                           TC       ACCEPTUP                              
017990,000076: 04,7451           34515        TSTUPLOK           CAF      BIT2                                  
017991,000077: 04,7452           70645                           MASK     UPLOCK                                
017992,000078: 04,7453           10000                           CCS      A                                     
017993,000079: 04,7454           02264                           TC       RESUME                                #  UPLOCK = 1 (BIT2 OF STATE)
017994,000080: 04,7455           30600        ACCEPTUP           XCH      KEYTEMP1                              #  UPLOCK = 0 (BIT2 OF STATE)
017995,000081: 04,7456           07364                           TC       KEYRUPT1   +1                         
017996,000082: 

Page 479

017998,000084: 
017999,000085: 04,7457           07466        TMFAIL2            TC       RESTORSR                              #  CODE IS BAD
018000,000086: 04,7460           44515                           CS       BIT2                                  #  LOCK OUT FURTHER UPLINK ACTIVITY (BY
018001,000087: 04,7461           70645                           MASK     UPLOCK                                #  PUTTING 1 INTO UPLOCK, BIT 2 OF STATE)
018002,000088: 04,7462           64515                           AD       BIT2                                  #  UNTIL ERROR LIGHT RESET IS SENT UP
018003,000089: 04,7463           50645                           TS       UPLOCK                                #  UPLINK.
018004,000090: 04,7464           02571        TMFAIL1            TC       TMALM                                 
018005,000091: 04,7465           02264                           TC       RESUME                                
018006,000092: 
018007,000093: 04,7466           30571        RESTORSR           XCH      KEYTEMP2                              
018008,000094: 04,7467           60000                           DOUBLE                                         
018009,000095: 04,7470           50021                           TS       SR                                    
018010,000096: 04,7471           00001                           TC       Q                                     
018011,000097: 
018012,000098: 04,7472     2571               TMALM              EQUALS   TMFAIL                                #  TM FAIL LIGHT ON (IN DOWNRUPT).
018013,000099: 
018014,000100: 04,7472           40021        SRGHT5             CS       SR                                    
018015,000101: 04,7473           40021                           CS       SR                                    
018016,000102: 04,7474           40021                           CS       SR                                    
018017,000103: 04,7475           40021                           CS       SR                                    
018018,000104: 04,7476           40021                           CS       SR                                    
018019,000105: 04,7477           40000                           CS       A                                     
018020,000106: 04,7500           00001                           TC       Q                                     #  DELIVERS WORD UNCOMPLEMENTED
018021,000107: 
018022,000108: 04,7501           60600        UPTEST             AD       KEYTEMP1                              
018023,000109: 04,7502           10000                           CCS      A                                     
018024,000110: 04,7503           07457                           TC       TMFAIL2                               
018025,000111: 04,7504           03062                           TC       CCSHOLE                               
018026,000112: 04,7505           07457                           TC       TMFAIL2                               
018027,000113: 04,7506           00001                           TC       Q                                     
018028,000114: 
018029,000115: 04,7507           77740        HI10               OCT      77740                                 
018030,000116: 04,7510     2075               UPBANK             EQUALS   EXECBANK                              #  IN SAME BANK AS EXEC.
018031,000117: 
018032,000118: 04,7510           03777        B12-1              OCT      3777                                  
018033,000119: 
018034,000120: 04,7511           30707        INCNOUTU           XCH      NOUT                                  
018035,000121: 04,7512           64516                           AD       ONE                                   
018036,000122: 04,7513           50707                           TS       NOUT                                  
018037,000123: 04,7514           20001                           INDEX    Q                                     
018038,000124: 04,7515           00001        UPLAST             TC       1                                     
018039,000125: 
018040,000126:                                                                                                  #  UPACT IS TURNED OFF BY VBRELDSP, ALSO BY ERROR LIGHT RESET.
018041,000127: 

Page 480

018043,000129: 
018044,000130:                                                                                                  #  THE RECEPTION OF A BAD CODE BY UPLINK LOCKS OUT FURTHER UPLINK ACTIVITY 
018045,000131:                                                                                                  #  BY PLACING A 1 INTO UPLOCK (BIT2 OF STATE). BIT9 (AND BIT11) OF TMKEYBUF
018046,000132:                                                                                                  #  IS SET TO 1 TO SEND AN INDICATION OF THIS SITUATION DOWN THE DOWNLINK.
018047,000133:                                                                                                  #  THE UPLINK INTERLOCK IS ALLOWED WHEN AN ERROR LIGHT RESET CODE IS SENT
018048,000134:                                                                                                  #  UP THE UPLINK, OR WHEN A FRESH START IS PERFORMED.

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