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