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