Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Mike Higgins. A team of volunteers performed the transcription and proof-reading. Note that the scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's section on archive.org. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR BLK2: REVISION 0 OF PROGRAM RETRED44 BY NASA 2021100
	JUL 9, 1965
Note that the date is the date of the printout, not the date of the program revision.

004623,000002:                                                                                                  ## Copyright:   Public domain.
004624,000003:                                                                                                  ## Filename:    T4RUPT_PROGRAM.agc
004625,000004:                                                                                                  ## Purpose:     Part of the source code for Retread 44 (revision 0). It was
004626,000005:                                                                                                  ##              the very first program for the Block II AGC, created as an
004627,000006:                                                                                                  ##              extensive rewrite of the Block I program Sunrise.
004628,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
004629,000008:                                                                                                  ##              that the code format has been changed to conform to the
004630,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
004631,000010:                                                                                                  ##              original YUL assembler.
004632,000011:                                                                                                  ## Reference:   pp. 128-130
004633,000012:                                                                                                  ## Assembler:   yaYUL
004634,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
004635,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
004636,000015:                                                                                                  ## Mod history: 2016-12-13 MAS  Created from Aurora 12 version.
004637,000016:                                                                                                  ##              2016-12-18 MAS  Transcribed, then fixed typos.
004638,000017:                                                                                                  ##              2016-12-27 RSB  Proofed comment text using octopus/ProoferComments,
004639,000018:                                                                                                  ##                              but no errors found.
004640,000019: 

Page 128

004642,000021: 01,3052           54016        T4RUPT             TS       BANKRUPT                              
004643,000022: 01,3053           56002                           XCH      Q                                     
004644,000023: 01,3054           54012                           TS       QRUPT                                 
004645,000024: 01,3055           37653                           CAF      ZERO                                  
004646,000025: 01,3056           00006                           EXTEND                                         
004647,000026: 01,3057           01010                           WRITE    OUT0                                  
004648,000027: 01,3060           11020                           CCS      DSRUPTSW                              
004649,000028: 01,3061           03063                           TC       SPECRUPT                              #  ZERO OUT0 10 MS AFTER REGULAR T4RUPT.
004650,000029: 01,3062           03072                           TC       T4RUPTA                               
004651,000030: 
004652,000031: 01,3063           37653        SPECRUPT           CAF      ZERO                                  
004653,000032: 01,3064           55020                           TS       DSRUPTSW                              
004654,000033: 01,3065           33071                           CAF      110MRUPT                              #  RE ESTABLISH 120 MS PERIOD
004655,000034: 01,3066           54027                           TS       TIME4                                 
004656,000035: 01,3067           04325                           TC       RESUME                                
004657,000036: 01,3070           37764        120MRUPT           OCT      37764                                 
004658,000037: 01,3071           37765        110MRUPT           OCT      37765                                 
004659,000038: 
004660,000039: 
004661,000040: 
004662,000041:                                                                                                  #  RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
004663,000042:                                                                                                  #  IN LOWER 5 BITS.
004664,000043: 
004665,000044:    4333                                           SETLOC   ENDWAITF                              #  IN F/F
004666,000045: 
004667,000046:    4333           04025        RELTAB             OCT      04025                                 
004668,000047:    4334           10003                           OCT      10003                                 
004669,000048:    4335           14031                           OCT      14031                                 
004670,000049:    4336           20033                           OCT      20033                                 
004671,000050:    4337           24017                           OCT      24017                                 
004672,000051:    4340           30036                           OCT      30036                                 
004673,000052:    4341           34034                           OCT      34034                                 
004674,000053:    4342           40023                           OCT      40023                                 
004675,000054:    4343           44035                           OCT      44035                                 
004676,000055:    4344           50037                           OCT      50037                                 
004677,000056:    4345           54000                           OCT      54000                                 
004678,000057:    4346           60000        RELTAB11           OCT      60000                                 
004679,000058: 
004680,000059: 
004681,000060: 
004682,000061:    4347                        ENDT4FF            EQUALS                                         
004683,000062: 
004684,000063: 
004685,000064: 
004686,000065: 01,3072                                           SETLOC   110MRUPT   +1                         #  IN BANK
004687,000066: 
004688,000067: 01,3072           33070        T4RUPTA            CAF      120MRUPT                              
004689,000068: 01,3073           54027                           TS       TIME4                                 
004690,000069: 01,3074           10675        CDRVE              CCS      DSPTAB     +11D                       
004691,000070: 01,3075           03104                           TC       DSPOUT                                

Page 129

004693,000072: 01,3076           03104                           TC       DSPOUT                                
004694,000073: 01,3077           56675                           XCH      DSPTAB     +11D                       
004695,000074: 01,3100           74503                           MASK     LOW11                                 
004696,000075: 01,3101           54675                           TS       DSPTAB     +11D                       
004697,000076: 01,3102           64346                           AD       RELTAB11                              
004698,000077: 01,3103           03143                           TC       DSPLAYC                               
004699,000078: 

Page 130

004701,000080:                                                                                                  #  DSPOUT PROGRAM. PUTS OUT DISPLAYS.
004702,000081: 
004703,000082: 01,3104           10656        DSPOUT             CCS      NOUT                                  #  ENTERED IN INTERRUPTED STATE AT END OF
004704,000083: 01,3105           03107                           TC       +2                                    #                          DSRUPT
004705,000084: 01,3106           04325                           TC       LVDSRUPT                              
004706,000085: 01,3107           54656                           TS       NOUT                                  
004707,000086: 01,3110           47653                           CS       ZERO                                  
004708,000087: 01,3111           54624                           TS       DSRUPTEM                              #  SET TO -0 FOR 1ST PASS THRU DSPTAB
004709,000088: 01,3112           56714                           XCH      DSPCNT                                
004710,000089: 01,3113           67654                           AD       NEG0                                  #  TO PREVENT +0
004711,000090: 01,3114           54714                           TS       DSPCNT                                
004712,000091: 01,3115           50714        DSPSCAN            INDEX    DSPCNT                                
004713,000092: 01,3116           10662                           CCS      DSPTAB                                
004714,000093: 01,3117           10714                           CCS      DSPCNT                                #  IF DSPTAB ENTRY +, SKIP
004715,000094: 01,3120           03113                           TC       DSPSCAN    -2                         #  IF DSPCNT +, AGAIN
004716,000095: 01,3121           03132                           TC       DSPLAY                                #  IF DSPTAB ENTRY -, DISPLAY
004717,000096: 01,3122           00012        TABLNTH            OCT      12                                    #  DEC 10   LENGTH OF DSPTAB
004718,000097: 01,3123           10624                           CCS      DSRUPTEM                              #  IF DSRUPTEM=+0,2ND PASS THRU DSPTAB
004719,000098: 01,3125                                           LOC      +1                                    #  (DSPCNT=0). +0 INTO NOUT, RESUME
004720,000099: 01,3125           54656                           TS       NOUT                                  
004721,000100: 01,3126           04325                           TC       LVDSRUPT                              
004722,000101: 01,3127           54624                           TS       DSRUPTEM                              #  IF DSRUPTEM=-0,1ST PASS THRU DSPTAB
004723,000102: 01,3130           33122                           CAF      TABLNTH                               #  (DSPCNT=0). +0 INTO DSRUPTEM. PASS AGAIN
004724,000103: 01,3131           03114                           TC       DSPSCAN    -1                         
004725,000104: 
004726,000105: 01,3132           67646        DSPLAY             AD       ONE                                   
004727,000106: 01,3133           50714                           INDEX    DSPCNT                                
004728,000107: 01,3134           54662                           TS       DSPTAB                                #  REPLACE POSITIVELY
004729,000108: 01,3135           74503                           MASK     LOW11                                 #  REMOVE BITS 12 TO 15
004730,000109: 01,3136           54624                           TS       DSRUPTEM                              
004731,000110: 01,3137           34475                           CAF      HI5                                   
004732,000111: 01,3140           50714                           INDEX    DSPCNT                                
004733,000112: 01,3141           74333                           MASK     RELTAB                                #  PICK UP BITS 12 TO 15 OF RELTAB ENTRY
004734,000113: 01,3142           60624                           AD       DSRUPTEM                              
004735,000114: 01,3143           00006        DSPLAYC            EXTEND                                         
004736,000115: 01,3144           01010                           WRITE    OUT0                                  
004737,000116: 01,3145           55023                           TS       DISPBUF                               #  THIS WILL BE SENT DOWN NEXT TM CYCLE.
004738,000117: 
004739,000118: 01,3146           37626                           CAF      10MSRUPT                              #  SET T4 TO INTERRUPT IN 10 MS.
004740,000119: 01,3147           54027                           TS       TIME4                                 
004741,000120: 01,3150           37646                           CAF      ONE                                   
004742,000121: 01,3151           55020                           TS       DSRUPTSW                              #  SET FOR SPECRUPT
004743,000122: 
004744,000123: 01,3152           04325                           TC       LVDSRUPT                              
004745,000124: 
004746,000125: 01,3153     4325               LVDSRUPT           EQUALS   RESUME                                
004747,000126: 01,3153     7626               10MSRUPT           =        POSMAX                                

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