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, 1965Note that the date is the date of the printout, not the date of the program revision. |
004621,000002: ## Copyright: Public domain.
004622,000003: ## Filename: T4RUPT_PROGRAM.agc
004623,000004: ## Purpose: Part of the source code for Retread 44 (revision 0). It was
004624,000005: ## the very first program for the Block II AGC, created as an
004625,000006: ## extensive rewrite of the Block I program Sunrise.
004626,000007: ## This file is intended to be a faithful transcription, except
004627,000008: ## that the code format has been changed to conform to the
004628,000009: ## requirements of the yaYUL assembler rather than the
004629,000010: ## original YUL assembler.
004630,000011: ## Reference: pp. 128-130
004631,000012: ## Assembler: yaYUL
004632,000013: ## Contact: Ron Burkey <info@sandroid.org>.
004633,000014: ## Website: www.ibiblio.org/apollo/index.html
004634,000015: ## Mod history: 2016-12-13 MAS Created from Aurora 12 version.
004635,000016: ## 2016-12-18 MAS Transcribed, then fixed typos.
004636,000017: ## 2016-12-27 RSB Proofed comment text using octopus/ProoferComments,
004637,000018: ## but no errors found.
004638,000019:
![]() |
Page 128 |
004640,000021: 01,3052 54016 T4RUPT TS BANKRUPT
004641,000022: 01,3053 56002 XCH Q
004642,000023: 01,3054 54012 TS QRUPT
004643,000024: 01,3055 37653 CAF ZERO
004644,000025: 01,3056 00006 EXTEND
004645,000026: 01,3057 01010 WRITE OUT0
004646,000027: 01,3060 11020 CCS DSRUPTSW
004647,000028: 01,3061 03063 TC SPECRUPT # ZERO OUT0 10 MS AFTER REGULAR T4RUPT.
004648,000029: 01,3062 03072 TC T4RUPTA
004649,000030:
004650,000031: 01,3063 37653 SPECRUPT CAF ZERO
004651,000032: 01,3064 55020 TS DSRUPTSW
004652,000033: 01,3065 33071 CAF 110MRUPT # RE ESTABLISH 120 MS PERIOD
004653,000034: 01,3066 54027 TS TIME4
004654,000035: 01,3067 04325 TC RESUME
004655,000036: 01,3070 37764 120MRUPT OCT 37764
004656,000037: 01,3071 37765 110MRUPT OCT 37765
004657,000038:
004658,000039:
004659,000040:
004660,000041: # RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE
004661,000042: # IN LOWER 5 BITS.
004662,000043:
004663,000044: 4333 SETLOC ENDWAITF # IN F/F
004664,000045:
004665,000046: 4333 04025 RELTAB OCT 04025
004666,000047: 4334 10003 OCT 10003
004667,000048: 4335 14031 OCT 14031
004668,000049: 4336 20033 OCT 20033
004669,000050: 4337 24017 OCT 24017
004670,000051: 4340 30036 OCT 30036
004671,000052: 4341 34034 OCT 34034
004672,000053: 4342 40023 OCT 40023
004673,000054: 4343 44035 OCT 44035
004674,000055: 4344 50037 OCT 50037
004675,000056: 4345 54000 OCT 54000
004676,000057: 4346 60000 RELTAB11 OCT 60000
004677,000058:
004678,000059:
004679,000060:
004680,000061: 4347 ENDT4FF EQUALS
004681,000062:
004682,000063:
004683,000064:
004684,000065: 01,3072 SETLOC 110MRUPT +1 # IN BANK
004685,000066:
004686,000067: 01,3072 33070 T4RUPTA CAF 120MRUPT
004687,000068: 01,3073 54027 TS TIME4
004688,000069: 01,3074 10675 CDRVE CCS DSPTAB +11D
004689,000070: 01,3075 03104 TC DSPOUT
![]() |
Page 129 |
004691,000072: 01,3076 03104 TC DSPOUT
004692,000073: 01,3077 56675 XCH DSPTAB +11D
004693,000074: 01,3100 74503 MASK LOW11
004694,000075: 01,3101 54675 TS DSPTAB +11D
004695,000076: 01,3102 64346 AD RELTAB11
004696,000077: 01,3103 03143 TC DSPLAYC
004697,000078:
![]() |
Page 130 |
004699,000080: # DSPOUT PROGRAM. PUTS OUT DISPLAYS.
004700,000081:
004701,000082: 01,3104 10656 DSPOUT CCS NOUT # ENTERED IN INTERRUPTED STATE AT END OF
004702,000083: 01,3105 03107 TC +2 # DSRUPT
004703,000084: 01,3106 04325 TC LVDSRUPT
004704,000085: 01,3107 54656 TS NOUT
004705,000086: 01,3110 47653 CS ZERO
004706,000087: 01,3111 54624 TS DSRUPTEM # SET TO -0 FOR 1ST PASS THRU DSPTAB
004707,000088: 01,3112 56714 XCH DSPCNT
004708,000089: 01,3113 67654 AD NEG0 # TO PREVENT +0
004709,000090: 01,3114 54714 TS DSPCNT
004710,000091: 01,3115 50714 DSPSCAN INDEX DSPCNT
004711,000092: 01,3116 10662 CCS DSPTAB
004712,000093: 01,3117 10714 CCS DSPCNT # IF DSPTAB ENTRY +, SKIP
004713,000094: 01,3120 03113 TC DSPSCAN -2 # IF DSPCNT +, AGAIN
004714,000095: 01,3121 03132 TC DSPLAY # IF DSPTAB ENTRY -, DISPLAY
004715,000096: 01,3122 00012 TABLNTH OCT 12 # DEC 10 LENGTH OF DSPTAB
004716,000097: 01,3123 10624 CCS DSRUPTEM # IF DSRUPTEM=+0,2ND PASS THRU DSPTAB
004717,000098: 01,3125 LOC +1 # (DSPCNT=0). +0 INTO NOUT, RESUME
004718,000099: 01,3125 54656 TS NOUT
004719,000100: 01,3126 04325 TC LVDSRUPT
004720,000101: 01,3127 54624 TS DSRUPTEM # IF DSRUPTEM=-0,1ST PASS THRU DSPTAB
004721,000102: 01,3130 33122 CAF TABLNTH # (DSPCNT=0). +0 INTO DSRUPTEM. PASS AGAIN
004722,000103: 01,3131 03114 TC DSPSCAN -1
004723,000104:
004724,000105: 01,3132 67646 DSPLAY AD ONE
004725,000106: 01,3133 50714 INDEX DSPCNT
004726,000107: 01,3134 54662 TS DSPTAB # REPLACE POSITIVELY
004727,000108: 01,3135 74503 MASK LOW11 # REMOVE BITS 12 TO 15
004728,000109: 01,3136 54624 TS DSRUPTEM
004729,000110: 01,3137 34475 CAF HI5
004730,000111: 01,3140 50714 INDEX DSPCNT
004731,000112: 01,3141 74333 MASK RELTAB # PICK UP BITS 12 TO 15 OF RELTAB ENTRY
004732,000113: 01,3142 60624 AD DSRUPTEM
004733,000114: 01,3143 00006 DSPLAYC EXTEND
004734,000115: 01,3144 01010 WRITE OUT0
004735,000116: 01,3145 55023 TS DISPBUF # THIS WILL BE SENT DOWN NEXT TM CYCLE.
004736,000117:
004737,000118: 01,3146 37626 CAF 10MSRUPT # SET T4 TO INTERRUPT IN 10 MS.
004738,000119: 01,3147 54027 TS TIME4
004739,000120: 01,3150 37646 CAF ONE
004740,000121: 01,3151 55020 TS DSRUPTSW # SET FOR SPECRUPT
004741,000122:
004742,000123: 01,3152 04325 TC LVDSRUPT
004743,000124:
004744,000125: 01,3153 4325 LVDSRUPT EQUALS RESUME
004745,000126: 01,3153 7626 10MSRUPT = POSMAX
End of include-file T4RUPT_PROGRAM.agc. Parent file is MAIN.agc