Source Code

These source-code files were reconstructed by Mike Stewart from dumps of the RETREAD 50 program stored in physical AGC core-rope modules (B1 and B2) belonging to the Computer History Museum, Mountain View, California. The reconstruction was aided by pre-existing source code for the AGC programs RETREAD 44 and AURORA 12. Read about the process here. Assembling this source code with yaYUL produces core ropes identical to those of the physical modules. Page-number references refer to corresponding sections of RETREAD 44 source code. No printouts of RETREAD 50 program listings are available. Names of variables and program constants of the form "UNKnnnn" appear in areas not yet correlated with other pre-existing source code, and which are therefore unknown.

004530,000002:                                                                                                  ## Copyright:   Public domain.
004531,000003:                                                                                                  ## Filename:    T4RUPT_PROGRAM.agc
004532,000004:                                                                                                  ## Purpose:     Part of the source code for AGC program Retread 50. 
004533,000005:                                                                                                  ## Assembler:   yaYUL
004534,000006:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
004535,000007:                                                                                                  ## Website:     www.ibiblio.org/apollo/Restoration.html
004536,000008:                                                                                                  ## Mod history: 2019-06-12 MAS  Recreated from Computer History Museum's
004537,000009:                                                                                                  ##                              physical core-rope modules.
004538,000010: 

Page 128

004540,000012: 01,3052           54016        T4RUPT             TS       BANKRUPT                              
004541,000013: 01,3053           56002                           XCH      Q                                     
004542,000014: 01,3054           54012                           TS       QRUPT                                 
004543,000015: 01,3055           37653                           CAF      ZERO                                  
004544,000016: 01,3056           00006                           EXTEND                                         
004545,000017: 01,3057           01010                           WRITE    OUT0                                  
004546,000018: 01,3060           11020                           CCS      DSRUPTSW                              
004547,000019: 01,3061           03063                           TC       SPECRUPT                              #  ZERO OUT0 10 MS AFTER REGULAR T4RUPT.
004548,000020: 01,3062           03072                           TC       T4RUPTA                               
004549,000021: 
004550,000022: 01,3063           37653        SPECRUPT           CAF      ZERO                                  
004551,000023: 01,3064           55020                           TS       DSRUPTSW                              

!! START CHANGE FOR RETREAD 50 !!

004553,000025: 01,3065           33071                           CAF      50MRUPT                               #  RE ESTABLISH 40 MS PERIOD

!! END CHANGE FOR RETREAD 50 !!

004555,000027: 01,3066           54027                           TS       TIME4                                 
004556,000028: 01,3067           04325                           TC       RESUME                                

!! START CHANGE FOR RETREAD 50 !!

004558,000030: 01,3070           37772        60MRUPT            OCT      37772                                 
004559,000031: 01,3071           37773        50MRUPT            OCT      37773                                 

!! END CHANGE FOR RETREAD 50 !!

004561,000033: 
004562,000034: 
004563,000035: 
004564,000036:                                                                                                  #  RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
004565,000037:                                                                                                  #  IN LOWER 5 BITS.
004566,000038: 
004567,000039:    4333                                           SETLOC   ENDWAITF                              #  IN F/F
004568,000040: 
004569,000041:    4333           04025        RELTAB             OCT      04025                                 
004570,000042:    4334           10003                           OCT      10003                                 
004571,000043:    4335           14031                           OCT      14031                                 
004572,000044:    4336           20033                           OCT      20033                                 
004573,000045:    4337           24017                           OCT      24017                                 
004574,000046:    4340           30036                           OCT      30036                                 
004575,000047:    4341           34034                           OCT      34034                                 
004576,000048:    4342           40023                           OCT      40023                                 
004577,000049:    4343           44035                           OCT      44035                                 
004578,000050:    4344           50037                           OCT      50037                                 
004579,000051:    4345           54000                           OCT      54000                                 
004580,000052:    4346           60000        RELTAB11           OCT      60000                                 
004581,000053: 
004582,000054: 
004583,000055: 
004584,000056:    4347                        ENDT4FF            EQUALS                                         
004585,000057: 
004586,000058: 
004587,000059: 

!! START CHANGE FOR RETREAD 50 !!

004589,000061: 01,3072                                           SETLOC   50MRUPT    +1                         #  IN BANK
004590,000062: 
004591,000063: 01,3072           33070        T4RUPTA            CAF      60MRUPT                               

!! END CHANGE FOR RETREAD 50 !!

004593,000065: 01,3073           54027                           TS       TIME4                                 
004594,000066: 01,3074           10675        CDRVE              CCS      DSPTAB     +11D                       
004595,000067: 01,3075           03104                           TC       DSPOUT                                

Page 129

004597,000069: 01,3076           03104                           TC       DSPOUT                                
004598,000070: 01,3077           56675                           XCH      DSPTAB     +11D                       
004599,000071: 01,3100           74503                           MASK     LOW11                                 
004600,000072: 01,3101           54675                           TS       DSPTAB     +11D                       
004601,000073: 01,3102           64346                           AD       RELTAB11                              
004602,000074: 01,3103           03143                           TC       DSPLAYC                               
004603,000075: 

Page 130

004605,000077:                                                                                                  #  DSPOUT PROGRAM. PUTS OUT DISPLAYS.
004606,000078: 
004607,000079: 01,3104           10656        DSPOUT             CCS      NOUT                                  #  ENTERED IN INTERRUPTED STATE AT END OF
004608,000080: 01,3105           03107                           TC       +2                                    #                          DSRUPT
004609,000081: 01,3106           04325                           TC       LVDSRUPT                              
004610,000082: 01,3107           54656                           TS       NOUT                                  
004611,000083: 01,3110           47653                           CS       ZERO                                  
004612,000084: 01,3111           54624                           TS       DSRUPTEM                              #  SET TO -0 FOR 1ST PASS THRU DSPTAB
004613,000085: 01,3112           56714                           XCH      DSPCNT                                
004614,000086: 01,3113           67654                           AD       NEG0                                  #  TO PREVENT +0
004615,000087: 01,3114           54714                           TS       DSPCNT                                
004616,000088: 01,3115           50714        DSPSCAN            INDEX    DSPCNT                                
004617,000089: 01,3116           10662                           CCS      DSPTAB                                
004618,000090: 01,3117           10714                           CCS      DSPCNT                                #  IF DSPTAB ENTRY +, SKIP
004619,000091: 01,3120           03113                           TC       DSPSCAN    -2                         #  IF DSPCNT +, AGAIN
004620,000092: 01,3121           03132                           TC       DSPLAY                                #  IF DSPTAB ENTRY -, DISPLAY
004621,000093: 01,3122           00012        TABLNTH            OCT      12                                    #  DEC 10   LENGTH OF DSPTAB
004622,000094: 01,3123           10624                           CCS      DSRUPTEM                              #  IF DSRUPTEM=+0,2ND PASS THRU DSPTAB
004623,000095: 01,3125                                           LOC      +1                                    #  (DSPCNT=0). +0 INTO NOUT, RESUME
004624,000096: 01,3125           54656                           TS       NOUT                                  
004625,000097: 01,3126           04325                           TC       LVDSRUPT                              
004626,000098: 01,3127           54624                           TS       DSRUPTEM                              #  IF DSRUPTEM=-0,1ST PASS THRU DSPTAB
004627,000099: 01,3130           33122                           CAF      TABLNTH                               #  (DSPCNT=0). +0 INTO DSRUPTEM. PASS AGAIN
004628,000100: 01,3131           03114                           TC       DSPSCAN    -1                         
004629,000101: 
004630,000102: 01,3132           67646        DSPLAY             AD       ONE                                   
004631,000103: 01,3133           50714                           INDEX    DSPCNT                                
004632,000104: 01,3134           54662                           TS       DSPTAB                                #  REPLACE POSITIVELY
004633,000105: 01,3135           74503                           MASK     LOW11                                 #  REMOVE BITS 12 TO 15
004634,000106: 01,3136           54624                           TS       DSRUPTEM                              
004635,000107: 01,3137           34475                           CAF      HI5                                   
004636,000108: 01,3140           50714                           INDEX    DSPCNT                                
004637,000109: 01,3141           74333                           MASK     RELTAB                                #  PICK UP BITS 12 TO 15 OF RELTAB ENTRY
004638,000110: 01,3142           60624                           AD       DSRUPTEM                              
004639,000111: 01,3143           00006        DSPLAYC            EXTEND                                         
004640,000112: 01,3144           01010                           WRITE    OUT0                                  
004641,000113: 01,3145           55023                           TS       DISPBUF                               #  THIS WILL BE SENT DOWN NEXT TM CYCLE.
004642,000114: 
004643,000115: 01,3146           37626                           CAF      10MSRUPT                              #  SET T4 TO INTERRUPT IN 10 MS.
004644,000116: 01,3147           54027                           TS       TIME4                                 
004645,000117: 01,3150           37646                           CAF      ONE                                   
004646,000118: 01,3151           55020                           TS       DSRUPTSW                              #  SET FOR SPECRUPT
004647,000119: 
004648,000120: 01,3152           04325                           TC       LVDSRUPT                              
004649,000121: 
004650,000122: 01,3153     4325               LVDSRUPT           EQUALS   RESUME                                
004651,000123: 01,3153     7626               10MSRUPT           =        POSMAX                                

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