Source Code
![]() |
These source-code files were from the printout at the MIT Museum, with many thanks
to Deborah Douglas, the Museum's Curator of Science and Technology, for releasing
it to us. The printout was digitally photographed by Paul Fjeld. A team of
volunteers transcribed the source code manually from these images or, where
appropriate, modified already-transcribed but similar source Colossus 249 (Apollo 9)
source code to agree with the images from the printout. Note that the page images
presented online are of reduced quality, and that higher-quality images
are available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 055 OF AGC PROGRAM COMANCHE BY NASA 2021113-051 10:28 APR. 1,1969Note that the date is the date of the printout, not the date of the program revision. |
060666,000002: ## Copyright: Public domain.
060667,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
060668,000004: ## Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
060669,000005: ## It is part of the source code for the Command Module's (CM)
060670,000006: ## Apollo Guidance Computer (AGC), for Apollo 11.
060671,000007: ## Assembler: yaYUL
060672,000008: ## Contact: Ron Burkey <info@sandroid.org>.
060673,000009: ## Website: www.ibiblio.org/apollo.
060674,000010: ## Pages: 1394-1403
060675,000011: ## Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
060676,000012: ## from the Colossus249/ file of the same
060677,000013: ## name, using Comanche055 page images.
060678,000014: ## 2016-12-22 RSB Proofed comment text using octopus/ProoferComments
060679,000015: ## and corrected the errors found.
060680,000016: ##
060681,000017: ## This source code has been transcribed or otherwise adapted from digitized
060682,000018: ## images of a hardcopy from the MIT Museum. The digitization was performed
060683,000019: ## by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
060684,000020: ## thanks to both. The images (with suitable reduction in storage size and
060685,000021: ## consequent reduction in image quality as well) are available online at
060686,000022: ## www.ibiblio.org/apollo. If for some reason you find that the images are
060687,000023: ## illegible, contact me at info@sandroid.org about getting access to the
060688,000024: ## (much) higher-quality images which Paul actually created.
060689,000025: ##
060690,000026: ## Notations on the hardcopy document read, in part:
060691,000027: ##
060692,000028: ## Assemble revision 055 of AGC program Comanche by NASA
060693,000029: ## 2021113-051. 10:28 APR. 1, 1969
060694,000030: ##
060695,000031: ## This AGC program shall also be referred to as
060696,000032: ## Colossus 2A
060697,000033:
![]() |
Page 1394 |
060699,000035: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
060700,000036: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
060701,000037: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
060702,000038: # MOD BY - GAUNTT
060703,000039:
060704,000040: # FUNCTIONAL DESCRIPTION
060705,000041: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
060706,000042: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
060707,000043: # STARTING VERB.
060708,000044:
060709,000045: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
060710,000046:
060711,000047: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
060712,000048:
060713,000049: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
060714,000050: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
060715,000051:
060716,000052: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
060717,000053: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
060718,000054: # OCTAL, TO LOAD INTO SMODE.
060719,000055: # +-4 ERASABLE MEMORY
060720,000056: # +-5 FIXED MEMORY
060721,000057: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
060722,000058: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
060723,000059: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
060724,000060:
060725,000061: # WARNINGS
060726,000062: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
060727,000063: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
060728,000064:
060729,000065: # CALLING SEQUENCE
060730,000066: # TO CALL SELF-CHECK KEY IN
060731,000067: # V 21 N 27 E OPTION NUMBER E
060732,000068: # TO CALL SHOW-BANKSUM KEY IN
060733,000069: # V 91 E DISPLAYS FIRST BANK
060734,000070: # V 33 E PROCEED, DISPLAYS NEXT BANK
060735,000071:
060736,000072: # EXIT MODES, NORMAL AND ALARM
060737,000073: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
060738,000074: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
060739,000075:
060740,000076: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
060741,000077:
060742,000078: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
060743,000079:
060744,000080: # OUTPUT
![]() |
Page 1395 |
060746,000082: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
060747,000083: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
060748,000084: # INFORMATION HE MAY KEY IN V 05 N 08 E, THE DSKY DISPLAY IN R1 WILL BE ADDRESS+1 OF WHERE THE ERROR WAS DETECTED,
060749,000085: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
060750,000086: # INITIATED FRESH START (SLAP1).
060751,000087:
060752,000088: # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
060753,000089: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
060754,000090:
060755,000091: # ERASABLE INITIALIZATION REQUIRED
060756,000092: # ACCOMPLISHED BY FRESH START
060757,000093: # SMODE SET TO +0
060758,000094:
060759,000095: # DEBRIS
060760,000096: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
060761,000097: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
060762,000098: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
060763,000099:
060764,000100: 25,3774 BANK 25
060765,000101: 43,2000 SETLOC SELFCHEC
060766,000102: 43,2000 BANK
060767,000103:
060768,000104: 43,3234 COUNT 43/SELF
060769,000105:
060770,000106: 43,3234 5017 SBIT1 EQUALS BIT1
060771,000107: 43,3234 5016 SBIT2 EQUALS BIT2
060772,000108: 43,3234 5015 SBIT3 EQUALS BIT3
060773,000109: 43,3234 5014 SBIT4 EQUALS BIT4
060774,000110: 43,3234 5013 SBIT5 EQUALS BIT5
060775,000111: 43,3234 5012 SBIT6 EQUALS BIT6
060776,000112: 43,3234 5011 SBIT7 EQUALS BIT7
060777,000113: 43,3234 5010 SBIT8 EQUALS BIT8
060778,000114: 43,3234 5007 SBIT9 EQUALS BIT9
060779,000115: 43,3234 5006 SBIT10 EQUALS BIT10
060780,000116: 43,3234 5005 SBIT11 EQUALS BIT11
060781,000117: 43,3234 5004 SBIT12 EQUALS BIT12
060782,000118: 43,3234 5003 SBIT13 EQUALS BIT13
060783,000119: 43,3234 5002 SBIT14 EQUALS BIT14
060784,000120: 43,3234 5001 SBIT15 EQUALS BIT15
060785,000121:
060786,000122: 43,3234 5021 S+ZERO EQUALS ZERO
060787,000123: 43,3234 5017 S+1 EQUALS BIT1
060788,000124: 43,3234 5016 S+2 EQUALS BIT2
060789,000125: 43,3234 6214 S+3 EQUALS THREE
060790,000126: 43,3234 5015 S+4 EQUALS FOUR
060791,000127: 43,3234 5022 S+5 EQUALS FIVE
![]() |
Page 1396 |
060793,000129: 43,3234 6211 S+6 EQUALS SIX
060794,000130: 43,3234 5023 S+7 EQUALS SEVEN
060795,000131: 43,3234 4373 S8BITS EQUALS LOW8 # 00377
060796,000132: 43,3234 5033 CNTRCON = OCT50 # USED IN CNTRCHK
060797,000133: 43,3234 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
060798,000134: 43,3235 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
060799,000135: 43,3236 5051 ERASCON6 = OCT1400 # USED IN ERASCHK
060800,000136: 43,3236 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
060801,000137: 43,3237 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
060802,000138: 43,3240 5054 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
060803,000139: 43,3240 5062 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
060804,000140: 43,3240 4364 -MAXADRS = HI5 # FOR ROPECHK
060805,000141: 43,3240 00060 SIXTY OCTAL 00060
060806,000142: 43,3241 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
060807,000143: 43,3242 17777 S13BITS OCTAL 17777
060808,000144: 43,3243 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
060809,000145: 43,3244 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
060810,000146: 43,3245 76777 ERASCON5 OCTAL 76777
060811,000147: 43,3246 5731 S-7 = OCT77770
060812,000148: 43,3246 6061 S-4 EQUALS NEG4
060813,000149: 43,3246 7714 S-3 EQUALS NEG3
060814,000150: 43,3246 7715 S-2 EQUALS NEG2
060815,000151: 43,3246 7716 S-1 EQUALS NEGONE
060816,000152: 43,3246 5020 S-ZERO EQUALS NEG0
060817,000153:
060818,000154: 43,3246 E3,1400 EBANK= LST1
060819,000155: 43,3246 01371 ADRS1 ADRES SKEEP1
060820,000156: 43,3247 03340 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
060821,000157: # IN SELFRET WHEN GOING FROM SELFCHK TO
060822,000158: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
060823,000159: # FROM SHOWSUM TO SELF-CHECK.
060824,000160:
060825,000161: 43,3250 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
060826,000162: 43,3251 00006 EXTEND
060827,000163: 43,3252 13261 BZF ERRORS # NO
060828,000164: 43,3253 00006 EXTEND
060829,000165: 43,3254 31376 DCA SKEEP5
060830,000166: 43,3255 51377 INDEX SKEEP7
060831,000167: 43,3256 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
060832,000168: 43,3257 35021 CA S+ZERO
060833,000169: 43,3260 55360 TS ERESTORE
060834,000170: 43,3261 00004 ERRORS INHINT
060835,000171: 43,3262 30002 CA Q
060836,000172: 43,3263 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
060837,000173: 43,3264 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
060838,000174: 43,3265 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
060839,000175: 43,3266 05652 TCALARM2 TC ALARM2
060840,000176: 43,3267 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
060841,000177: 43,3270 11362 CCS SMODE
060842,000178: 43,3271 35021 SIDLOOP CA S+ZERO
![]() |
Page 1397 |
060844,000180: 43,3272 55362 TS SMODE
060845,000181: 43,3273 03340 TC SELFCHK # GO TO IDLE LOOP
060846,000182: 43,3274 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
060847,000183:
060848,000184: 43,3275 10000 -1CHK CCS A
060849,000185: 43,3276 13250 TCF PRERRORS
060850,000186: 43,3277 13250 TCF PRERRORS
060851,000187: 43,3300 10000 CCS A
060852,000188: 43,3301 13250 TCF PRERRORS
060853,000189: 43,3302 00002 TC Q
060854,000190:
060855,000191: 43,3303 00006 SMODECHK EXTEND
060856,000192: 43,3304 23371 QXCH SKEEP1
060857,000193: 43,3305 03334 TC CHECKNJ # CHECK FOR NEW JOB
060858,000194: 43,3306 11362 CCS SMODE
060859,000195: 43,3307 03314 TC SOPTIONS
060860,000196: 43,3310 03305 TC SMODECHK +2 # TO BACKUP IDLE LOOP
060861,000197: 43,3311 03314 TC SOPTIONS
060862,000198: 43,3312 25366 INCR SCOUNT
060863,000199: 43,3313 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
060864,000200:
060865,000201: 43,3314 65731 SOPTIONS AD S-7
060866,000202: 43,3315 00006 EXTEND
060867,000203: 43,3316 63320 BZMF +2 # FOR OPTIONS BELOW NINE.
060868,000204: 43,3317 03271 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
060869,000205: 43,3320 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
060870,000206: 43,3321 65023 AD S+7
060871,000207:
060872,000208: 43,3322 50000 INDEX A
060873,000209: 43,3323 03324 TC SOPTION1
060874,000210: 43,3324 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
060875,000211: 43,3325 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
060876,000212: 43,3326 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
060877,000213: 43,3327 03341 SOPTION4 TC ERASCHK
060878,000214: 43,3330 03522 SOPTION5 TC ROPECHK
060879,000215: 43,3331 01371 SOPTION6 TC SKEEP1
060880,000216: 43,3332 01371 SOPTION7 TC SKEEP1
060881,000217: 43,3333 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
060882,000218:
060883,000219: 43,3334 00006 CHECKNJ EXTEND
060884,000220: 43,3335 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
060885,000221: 43,3336 04701 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
060886,000222: 43,3337 03231 CADR ADVAN
060887,000223:
060888,000224: 43,3340 03303 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
060889,000225:
060890,000226: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
060891,000227: # SKEEP6 HOLDS B(X+1).
060892,000228: # SKEEP5 HOLDS B(X).
060893,000229: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
![]() |
Page 1398 |
060895,000231: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
060896,000232: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
060897,000233:
060898,000234: # ERASCHK TAKES APPROXMATELY 7 SECONDS
060899,000235:
060900,000236: 43,3341 35017 ERASCHK CA S+1
060901,000237: 43,3342 55372 TS SKEEP2
060902,000238: 43,3343 35021 0EBANK CA S+ZERO
060903,000239: 43,3344 54003 TS EBANK
060904,000240: 43,3345 33236 CA ERASCON3 # 01461
060905,000241: 43,3346 55377 TS SKEEP7 # STARTING ADDRESS
060906,000242: 43,3347 35054 CA S10BITS # 01777
060907,000243: 43,3350 55373 TS SKEEP3 # LAST ADDRESS CHECKED
060908,000244: 43,3351 03371 TC ERASLOOP
060909,000245:
060910,000246: 43,3352 35051 E134567B CA ERASCON6 # 01400
060911,000247: 43,3353 55377 TS SKEEP7 # STARTING ADDRESS
060912,000248: 43,3354 35054 CA S10BITS # 01777
060913,000249: 43,3355 55373 TS SKEEP3 # LAST ADDRESS CHECKED
060914,000250: 43,3356 03371 TC ERASLOOP
060915,000251:
060916,000252: 43,3357 35051 2EBANK CA ERASCON6 # 01400
060917,000253: 43,3360 55377 TS SKEEP7 # STARTING ADDRESS
060918,000254: 43,3361 33237 CA ERASCON4 # 01773
060919,000255: 43,3362 55373 TS SKEEP3 # LAST ADDRESS CHECKED
060920,000256: 43,3363 03371 TC ERASLOOP
060921,000257:
060922,000258: 43,3364 55372 NOEBANK TS SKEEP2 # +0
060923,000259: 43,3365 33234 CA ERASCON1 # 00061
060924,000260: 43,3366 55377 TS SKEEP7 # STARTING ADDRESS
060925,000261: 43,3367 33235 CA ERASCON2 # 01373
060926,000262: 43,3370 55373 TS SKEEP3 # LAST ADDRESS CHECKED
060927,000263:
060928,000264: 43,3371 00004 ERASLOOP INHINT
060929,000265: 43,3372 30003 CA EBANK # STORES C(EBANK)
060930,000266: 43,3373 55374 TS SKEEP4
060931,000267: 43,3374 00006 EXTEND
060932,000268: 43,3375 51377 NDX SKEEP7
060933,000269: 43,3376 30001 DCA 0000
060934,000270: 43,3377 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
060935,000271: 43,3400 31377 CA SKEEP7
060936,000272: 43,3401 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
060937,000273: 43,3402 54001 TS L
060938,000274: 43,3403 24001 INCR L
060939,000275: 43,3404 50000 NDX A
060940,000276: 43,3405 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
060941,000277: 43,3406 51377 NDX SKEEP7
060942,000278: 43,3407 40001 CS 0001 # CS X+1
060943,000279: 43,3410 51377 NDX SKEEP7
060944,000280: 43,3411 60000 AD 0000 # AD X
060945,000281: 43,3412 03275 TC -1CHK
060946,000282: 43,3413 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
![]() |
Page 1399 |
060948,000284: 43,3414 00006 EXTEND
060949,000285: 43,3415 13441 BZF ELOOPFIN # YES, EXIT ERASLOOP.
060950,000286: 43,3416 00006 EXTEND
060951,000287: 43,3417 51377 NDX SKEEP7
060952,000288: 43,3420 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
060953,000289: 43,3421 51377 NDX SKEEP7
060954,000290: 43,3422 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
060955,000291: 43,3423 51377 NDX SKEEP7
060956,000292: 43,3424 40000 CS 0000 # CS X
060957,000293: 43,3425 51377 NDX SKEEP7
060958,000294: 43,3426 60001 AD 0001 # AD X+1
060959,000295: 43,3427 03275 TC -1CHK
060960,000296: 43,3430 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
060961,000297: 43,3431 00006 EXTEND
060962,000298: 43,3432 13441 BZF ELOOPFIN # YES, EXIT ERASLOOP.
060963,000299: 43,3433 00006 EXTEND
060964,000300: 43,3434 31376 DCA SKEEP5
060965,000301: 43,3435 51377 NDX SKEEP7
060966,000302: 43,3436 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
060967,000303: 43,3437 35021 CA S+ZERO
060968,000304: 43,3440 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
060969,000305: 43,3441 00003 ELOOPFIN RELINT
060970,000306: 43,3442 03334 TC CHECKNJ # CHECK FOR NEW JOB
060971,000307: 43,3443 31374 CA SKEEP4 # REPLACES B(EBANK)
060972,000308: 43,3444 54003 TS EBANK
060973,000309: 43,3445 25377 INCR SKEEP7
060974,000310: 43,3446 41377 CS SKEEP7
060975,000311: 43,3447 61373 AD SKEEP3
060976,000312: 43,3450 00006 EXTEND
060977,000313: 43,3451 13453 BZF +2
060978,000314: 43,3452 03371 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
060979,000315: 43,3453 11372 CCS SKEEP2
060980,000316: 43,3454 03364 TC NOEBANK
060981,000317: 43,3455 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
060982,000318: 43,3456 30003 CA EBANK
060983,000319: 43,3457 65007 AD SBIT9
060984,000320: 43,3460 54003 TS EBANK
060985,000321: 43,3461 63245 AD ERASCON5 # 76777, CHECK FOR BANK E2
060986,000322: 43,3462 00006 EXTEND
060987,000323: 43,3463 13357 BZF 2EBANK
060988,000324: 43,3464 10003 CCS EBANK
060989,000325: 43,3465 03352 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
060990,000326: 43,3466 35051 CA ERASCON6 # END OF ERASCHK
060991,000327: 43,3467 54003 TS EBANK
060992,000328:
060993,000329: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
060994,000330: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
060995,000331:
060996,000332: 43,3470 35033 CNTRCHK CA CNTRCON # 00050
060997,000333: 43,3471 55372 CNTRLOOP TS SKEEP2
060998,000334: 43,3472 65014 AD SBIT4 # +10 OCTAL
060999,000335: 43,3473 50000 INDEX A
![]() |
Page 1400 |
061001,000337: 43,3474 40000 CS 0000
061002,000338: 43,3475 11372 CCS SKEEP2
061003,000339: 43,3476 03471 TC CNTRLOOP
061004,000340:
061005,000341: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
061006,000342:
061007,000343: 43,3477 33243 CYCLSHFT CA CONC+S1 # 25252
061008,000344: 43,3500 54020 TS CYR # C(CYR) = 12525
061009,000345: 43,3501 54022 TS CYL # C(CYL) = 52524
061010,000346: 43,3502 54021 TS SR # C(SR) = 12525
061011,000347: 43,3503 54023 TS EDOP # C(EDOP) = 00125
061012,000348: 43,3504 60020 AD CYR # 37777 C(CYR) = 45252
061013,000349: 43,3505 60022 AD CYL # 00-12524 C(CYL) = 25251
061014,000350: 43,3506 60021 AD SR # 00-25251 C(SR) = 05252
061015,000351: 43,3507 60023 AD EDOP # 00-25376 C(EDOP) = +0
061016,000352: 43,3510 63244 AD CONC+S2 # C(CONC+S2) = 52400
061017,000353: 43,3511 03275 TC -1CHK
061018,000354: 43,3512 60020 AD CYR # 45252
061019,000355: 43,3513 60022 AD CYL # 72523
061020,000356: 43,3514 60021 AD SR # 77775
061021,000357: 43,3515 60023 AD EDOP # 77775
061022,000358: 43,3516 65017 AD S+1 # 77776
061023,000359: 43,3517 03275 TC -1CHK
061024,000360:
061025,000361: 43,3520 25367 INCR SCOUNT +1
061026,000362: 43,3521 03303 TC SMODECHK
061027,000363:
061028,000364: # SKEEP1 HOLDS SUM
061029,000365: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
061030,000366: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
061031,000367: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
061032,000368: # (04000 TO 07777 IN FXFX BANKS)
061033,000369: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
061034,000370: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
061035,000371: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
061036,000372: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
061037,000373: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
061038,000374:
061039,000375: 43,3522 35020 ROPECHK CA S-ZERO # *
061040,000376: 43,3523 55376 TS SKEEP6 # * -0 FOR ROPECHK.
061041,000377: 43,3524 35021 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
061042,000378:
061043,000379: 43,3525 55374 TS SKEEP4 # BANK NUMBER
061044,000380: 43,3526 35017 CA S+1
061045,000381: 43,3527 55377 COMMFX TS SKEEP7
061046,000382: 43,3530 35021 CA S+ZERO
061047,000383: 43,3531 55371 TS SKEEP1
061048,000384: 43,3532 55373 TS SKEEP3
061049,000385: 43,3533 35017 CA S+1
061050,000386: 43,3534 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
061051,000387: 43,3535 31374 COMADRS CA SKEEP4
061052,000388: 43,3536 54001 TS L # TO SET SUPER BANK
![]() |
Page 1401 |
061054,000390: 43,3537 74364 MASK HI5
061055,000391: 43,3540 61373 AD SKEEP3
061056,000392: 43,3541 04715 TC SUPDACAL # SUPER DATA CALL
061057,000393: 43,3542 03565 TC ADSUM
061058,000394: 43,3543 65005 AD SBIT11 # 02000
061059,000395: 43,3544 03576 TC ADRSCHK
061060,000396:
061061,000397: 43,3545 40000 FXFX CS A
061062,000398: 43,3546 55377 TS SKEEP7
061063,000399: 43,3547 00006 EXTEND
061064,000400: 43,3550 13553 BZF +3
061065,000401: 43,3551 35004 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
061066,000402: 43,3552 03554 TC +2
061067,000403: 43,3553 35062 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
061068,000404: 43,3554 55373 TS SKEEP3
061069,000405: 43,3555 35021 CA S+ZERO
061070,000406: 43,3556 55371 TS SKEEP1
061071,000407: 43,3557 35017 CA S+1
061072,000408: 43,3560 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
061073,000409: 43,3561 51373 FXADRS INDEX SKEEP3
061074,000410: 43,3562 30000 CA 0000
061075,000411: 43,3563 03565 TC ADSUM
061076,000412: 43,3564 03576 TC ADRSCHK
061077,000413:
061078,000414: 43,3565 55372 ADSUM TS SKEEP2
061079,000415: 43,3566 61371 AD SKEEP1
061080,000416: 43,3567 55371 TS SKEEP1
061081,000417: 43,3570 35021 CAF S+ZERO
061082,000418: 43,3571 61371 AD SKEEP1
061083,000419: 43,3572 55371 TS SKEEP1
061084,000420: 43,3573 41372 CS SKEEP2
061085,000421: 43,3574 61373 AD SKEEP3
061086,000422: 43,3575 00002 TC Q
061087,000423:
061088,000424: 43,3576 22000 ADRSCHK LXCH A
061089,000425: 43,3577 31373 CA SKEEP3
061090,000426: 43,3600 75054 MASK LOW10 # RELATIVE ADDRESS
061091,000427: 43,3601 64364 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
061092,000428: 43,3602 00006 EXTEND
061093,000429: 43,3603 13672 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
061094,000430: 43,3604 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
061095,000431: 43,3605 03610 TC +3 # NO
061096,000432: 43,3606 03610 TC +2 # NO
061097,000433: 43,3607 03672 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
061098,000434: 43,3610 10001 CCS L # -0 MEANS A TC SELF WORD.
061099,000435: 43,3611 03620 TC CONTINU
061100,000436: 43,3612 03620 TC CONTINU
061101,000437: 43,3613 03620 TC CONTINU
061102,000438: 43,3614 11375 CCS SKEEP5
061103,000439: 43,3615 03621 TC CONTINU +1
![]() |
Page 1402 |
061105,000441: 43,3616 37716 CA S-1
061106,000442: 43,3617 03621 TC CONTINU +1 # AD IN THE BUGGER WORD
061107,000443: 43,3620 35017 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
061108,000444: 43,3621 55375 TS SKEEP5
061109,000445: 43,3622 11376 CCS SKEEP6 # *
061110,000446: 43,3623 10067 CCS NEWJOB # * +1, SHOWSUM
061111,000447: 43,3624 05164 TC CHANG1 # *
061112,000448: 43,3625 03627 TC +2 # *
061113,000449: 43,3626 03334 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
061114,000450:
061115,000451: 43,3627 25373 ADRS+1 INCR SKEEP3
061116,000452: 43,3630 11377 CCS SKEEP7
061117,000453: 43,3631 03535 TC COMADRS
061118,000454: 43,3632 03535 TC COMADRS
061119,000455: 43,3633 03561 TC FXADRS
061120,000456: 43,3634 03561 TC FXADRS
061121,000457:
061122,000458: 43,3635 41374 NXTBNK CS SKEEP4
061123,000459: 43,3636 63725 AD LSTBNKCH # LAST BANK TO BE CHECKED
061124,000460: 43,3637 00006 EXTEND
061125,000461: 43,3640 13011 BZF ENDSUMS # END OF SUMMING OF BANKS.
061126,000462: 43,3641 31374 CA SKEEP4
061127,000463: 43,3642 65005 AD SBIT11
061128,000464: 43,3643 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
061129,000465: 43,3644 03650 TC CHKSUPR
061130,000466: 43,3645 35001 17TO20 CA SBIT15
061131,000467: 43,3646 27374 ADS SKEEP4 # SET FOR BANK 20
061132,000468: 43,3647 03664 TC GONXTBNK
061133,000469: 43,3650 74364 CHKSUPR MASK HI5
061134,000470: 43,3651 00006 EXTEND
061135,000471: 43,3652 13662 BZF NXTSUPR # INCREMENT SUPER BANK
061136,000472: 43,3653 63242 27TO30 AD S13BITS
061137,000473: 43,3654 00006 EXTEND
061138,000474: 43,3655 13657 BZF +2 # BANK SET FOR 30
061139,000475: 43,3656 03664 TC GONXTBNK
061140,000476: 43,3657 33240 CA SIXTY # FIRST SUPER BANK
061141,000477: 43,3660 27374 ADS SKEEP4
061142,000478: 43,3661 03664 TC GONXTBNK
061143,000479: 43,3662 63241 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
061144,000480: 43,3663 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
061145,000481: 43,3664 11377 GONXTBNK CCS SKEEP7
061146,000482: 43,3665 03527 TC COMMFX
061147,000483: 43,3666 35017 CA S+1
061148,000484: 43,3667 03545 TC FXFX
061149,000485: 43,3670 35011 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
061150,000486: 43,3671 03527 TC COMMFX
061151,000487:
061152,000488: 43,3672 31374 SOPTION CA SKEEP4
061153,000489: 43,3673 74364 MASK HI5 # = BANK BITS
061154,000490: 43,3674 04345 TC LEFT5
![]() |
Page 1403 |
061156,000492: 43,3675 54001 TS L # BANK NUMBER BEFORE SUPER BANK
061157,000493: 43,3676 31374 CA SKEEP4
061158,000494: 43,3677 74373 MASK S8BITS # = SUPER BANK BITS
061159,000495: 43,3700 00006 EXTEND
061160,000496: 43,3701 13707 BZF SOPT # BEFORE SUPER BANK
061161,000497: 43,3702 54021 TS SR # SUPER BANK NECESSARY
061162,000498: 43,3703 30001 CA L
061163,000499: 43,3704 75023 MASK SEVEN
061164,000500: 43,3705 60021 AD SR
061165,000501: 43,3706 54001 TS L # BANK NUMBER WITH SUPER BANK
061166,000502: 43,3707 31376 SOPT CA SKEEP6 # *
061167,000503: 43,3710 00006 EXTEND # *
061168,000504: 43,3711 13713 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
061169,000505: 43,3712 02773 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
061170,000506: 43,3713 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
061171,000507: 43,3714 03716 TC +2
061172,000508: 43,3715 03717 TC +2
061173,000509: 43,3716 65017 AD S+1
061174,000510: 43,3717 55371 TS SKEEP1
061175,000511: 43,3720 40001 BNKCHK CS L # = - BANK NUMBER
061176,000512: 43,3721 61371 AD SKEEP1
061177,000513: 43,3722 67716 AD S-1
061178,000514: 43,3723 03275 TC -1CHK # CHECK SUM
061179,000515: 43,3724 03635 TC NXTBNK
061180,000516:
061181,000517: 43,3725 0067 EBANK= NEWJOB
061182,000518: 43,3725 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
061183,000519: 43,3726 30,2000 SBANK= LOWSUPER
061184,000520:
061185,000521:
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc