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. New sections of the software (appearing in EXTENDED_VERBS_FOR_MODING.agc) have been disassembled; labels and comments have been either taken from similar code in later programs or, in cases where this was not possible, added by VirtualAGC for clarity.

004550,000002:                                                                                                  ## Copyright:   Public domain.
004551,000003:                                                                                                  ## Filename:    T4RUPT_PROGRAM.agc
004552,000004:                                                                                                  ## Purpose:     Part of the source code for AGC program Retread 50. 
004553,000005:                                                                                                  ## Assembler:   yaYUL
004554,000006:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
004555,000007:                                                                                                  ## Website:     www.ibiblio.org/apollo/Restoration.html
004556,000008:                                                                                                  ## Mod history: 2019-06-12 MAS  Recreated from Computer History Museum's
004557,000009:                                                                                                  ##                              physical core-rope modules.
004558,000010: 

Page 128

004560,000012: 01,3052           54016        T4RUPT             TS       BANKRUPT                              
004561,000013: 01,3053           56002                           XCH      Q                                     
004562,000014: 01,3054           54012                           TS       QRUPT                                 
004563,000015: 01,3055           37653                           CAF      ZERO                                  
004564,000016: 01,3056           00006                           EXTEND                                         
004565,000017: 01,3057           01010                           WRITE    OUT0                                  
004566,000018: 01,3060           11020                           CCS      DSRUPTSW                              
004567,000019: 01,3061           03063                           TC       SPECRUPT                              #  ZERO OUT0 10 MS AFTER REGULAR T4RUPT.
004568,000020: 01,3062           03072                           TC       T4RUPTA                               
004569,000021: 
004570,000022: 01,3063           37653        SPECRUPT           CAF      ZERO                                  
004571,000023: 01,3064           55020                           TS       DSRUPTSW                              

!! START CHANGE FOR RETREAD 50 !!

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

!! END CHANGE FOR RETREAD 50 !!

004575,000027: 01,3066           54027                           TS       TIME4                                 
004576,000028: 01,3067           04325                           TC       RESUME                                

!! START CHANGE FOR RETREAD 50 !!

004578,000030: 01,3070           37772        60MRUPT            OCT      37772                                 
004579,000031: 01,3071           37773        50MRUPT            OCT      37773                                 

!! END CHANGE FOR RETREAD 50 !!

004581,000033: 
004582,000034: 
004583,000035: 
004584,000036:                                                                                                  #  RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
004585,000037:                                                                                                  #  IN LOWER 5 BITS.
004586,000038: 
004587,000039:    4333                                           SETLOC   ENDWAITF                              #  IN F/F
004588,000040: 
004589,000041:    4333           04025        RELTAB             OCT      04025                                 
004590,000042:    4334           10003                           OCT      10003                                 
004591,000043:    4335           14031                           OCT      14031                                 
004592,000044:    4336           20033                           OCT      20033                                 
004593,000045:    4337           24017                           OCT      24017                                 
004594,000046:    4340           30036                           OCT      30036                                 
004595,000047:    4341           34034                           OCT      34034                                 
004596,000048:    4342           40023                           OCT      40023                                 
004597,000049:    4343           44035                           OCT      44035                                 
004598,000050:    4344           50037                           OCT      50037                                 
004599,000051:    4345           54000                           OCT      54000                                 
004600,000052:    4346           60000        RELTAB11           OCT      60000                                 
004601,000053: 
004602,000054: 
004603,000055: 
004604,000056:    4347                        ENDT4FF            EQUALS                                         
004605,000057: 
004606,000058: 
004607,000059: 

!! START CHANGE FOR RETREAD 50 !!

004609,000061: 01,3072                                           SETLOC   50MRUPT    +1                         #  IN BANK
004610,000062: 
004611,000063: 01,3072           33070        T4RUPTA            CAF      60MRUPT                               

!! END CHANGE FOR RETREAD 50 !!

004613,000065: 01,3073           54027                           TS       TIME4                                 
004614,000066: 01,3074           10675        CDRVE              CCS      DSPTAB     +11D                       
004615,000067: 01,3075           03104                           TC       DSPOUT                                

Page 129

004617,000069: 01,3076           03104                           TC       DSPOUT                                
004618,000070: 01,3077           56675                           XCH      DSPTAB     +11D                       
004619,000071: 01,3100           74503                           MASK     LOW11                                 
004620,000072: 01,3101           54675                           TS       DSPTAB     +11D                       
004621,000073: 01,3102           64346                           AD       RELTAB11                              
004622,000074: 01,3103           03143                           TC       DSPLAYC                               
004623,000075: 

Page 130

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

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