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