Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of Luminary 069. They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Onno Hommes. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are prefixed with a single '#' symbol,
whereas comments added later are prefixed by "##" or "###". In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the Luminary 69 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 069 OF AGC PROGRAM LUMINARY BY NASA 2021112-011 19:02 NOV. 25,1968Note that the date is the date of the printout, not the date of the program revision. |
055321,000002: ## Copyright: Public domain.
055322,000003: ## Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
055323,000004: ## Purpose: The main source file for Luminary revision 069.
055324,000005: ## It is part of the source code for the original release
055325,000006: ## of the flight software for the Lunar Module's (LM) Apollo
055326,000007: ## Guidance Computer (AGC) for Apollo 10. The actual flown
055327,000008: ## version was Luminary 69 revision 2, which included a
055328,000009: ## newer lunar gravity model and only affected module 2.
055329,000010: ## This file is intended to be a faithful transcription, except
055330,000011: ## that the code format has been changed to conform to the
055331,000012: ## requirements of the yaYUL assembler rather than the
055332,000013: ## original YUL assembler.
055333,000014: ## Reference: pp. 1278-1287
055334,000015: ## Assembler: yaYUL
055335,000016: ## Contact: Ron Burkey <info@sandroid.org>.
055336,000017: ## Website: www.ibiblio.org/apollo/index.html
055337,000018: ## Mod history: 2016-12-13 MAS Created from Luminary 99.
055338,000019: ## 2016-12-18 MAS Updated from comment-proofed Luminary 99 version.
055339,000020: ## 2017-01-12 RRB Updated for Luminary 69.
055340,000021: ## 2017-01-28 RSB WTIH -> WITH.
055341,000022: ## 2017-01-28 RSB Proofed comment text using octopus/prooferComments
055342,000023: ## but no errors found.
055343,000024:
![]() |
Page 1278 |
055345,000026: # PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
055346,000027: # PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
055347,000028: # MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
055348,000029: # MOD BY - GAUNTT
055349,000030:
055350,000031: # FUNCTIONAL DESCRIPTION
055351,000032: # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
055352,000033: # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
055353,000034: # STARTING VERB.
055354,000035: # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
055355,000036: # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME.
055356,000037: # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
055357,000038: # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
055358,000039:
055359,000040: # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
055360,000041: # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
055361,000042: # OCTAL, TO LOAD INTO SMODE.
055362,000043: # +-4 ERASABLE MEMORY
055363,000044: # +-5 FIXED MEMORY
055364,000045: # +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
055365,000046: # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
055366,000047: # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
055367,000048:
055368,000049: # WARNINGS
055369,000050: # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
055370,000051: # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
055371,000052:
055372,000053: # CALLING SEQUENCE
055373,000054: # TO CALL SELF-CHECK KEY IN
055374,000055: # V 21 N 27 E OPTION NUMBER E
055375,000056: # TO CALL SHOW-BANKSUM KEY IN
055376,000057: # V 91 E DISPLAYS FIRST BANK
055377,000058: # V 33 E PROCEED, DISPLAYS NEXT BANK
055378,000059:
055379,000060: # EXIT MODES, NORMAL AND ALARM
055380,000061: # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
055381,000062: # COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
055382,000063: # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
055383,000064: # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
055384,000065:
055385,000066: # OUTPUT
![]() |
Page 1279 |
055387,000068: # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
055388,000069: # TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
055389,000070: # 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,
055390,000071: # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
055391,000072: # INITIATED FRESH START (SLAP1).
055392,000073:
055393,000074: # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
055394,000075: # THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
055395,000076:
055396,000077: # ERASABLE INITIALIZATION REQUIRED
055397,000078: # ACCOMPLISHED BY FRESH START
055398,000079: # SMODE SET TO +0
055399,000080:
055400,000081: # DEBRIS
055401,000082: # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
055402,000083: # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
055403,000084: # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
055404,000085:
055405,000086: 25,3671 BANK 25
055406,000087: 43,2000 SETLOC SELFCHEC
055407,000088: 43,2000 BANK
055408,000089:
055409,000090: 43,3240 COUNT* $$/SELF
055410,000091: 43,3240 4753 SBIT1 EQUALS BIT1
055411,000092: 43,3240 4752 SBIT2 EQUALS BIT2
055412,000093: 43,3240 4751 SBIT3 EQUALS BIT3
055413,000094: 43,3240 4750 SBIT4 EQUALS BIT4
055414,000095: 43,3240 4747 SBIT5 EQUALS BIT5
055415,000096: 43,3240 4746 SBIT6 EQUALS BIT6
055416,000097: 43,3240 4745 SBIT7 EQUALS BIT7
055417,000098: 43,3240 4744 SBIT8 EQUALS BIT8
055418,000099: 43,3240 4743 SBIT9 EQUALS BIT9
055419,000100: 43,3240 4742 SBIT10 EQUALS BIT10
055420,000101: 43,3240 4741 SBIT11 EQUALS BIT11
055421,000102: 43,3240 4740 SBIT12 EQUALS BIT12
055422,000103: 43,3240 4737 SBIT13 EQUALS BIT13
055423,000104: 43,3240 4736 SBIT14 EQUALS BIT14
055424,000105: 43,3240 4735 SBIT15 EQUALS BIT15
055425,000106:
055426,000107: 43,3240 4755 S+ZERO EQUALS ZERO
055427,000108: 43,3240 4753 S+1 EQUALS BIT1
055428,000109: 43,3240 4752 S+2 EQUALS BIT2
055429,000110: 43,3240 6244 S+3 EQUALS THREE
055430,000111: 43,3240 4751 S+4 EQUALS FOUR
055431,000112: 43,3240 4756 S+5 EQUALS FIVE
055432,000113: 43,3240 6241 S+6 EQUALS SIX
![]() |
Page 1280 |
055434,000115: 43,3240 4757 S+7 EQUALS SEVEN
055435,000116: 43,3240 4357 S8BITS EQUALS LOW8 # 00377
055436,000117: 43,3240 4771 CNTRCON = OCT50 # USED IN CNTRCHK
055437,000118: 43,3240 00061 ERASCON1 OCTAL 00061 # USED IN ERASCHK
055438,000119: 43,3241 01373 ERASCON2 OCTAL 01373 # USED IN ERASCHK
055439,000120: 43,3242 5007 ERASCON6 = OCT1400 # USED IN ERASCHK
055440,000121: 43,3242 01461 ERASCON3 OCTAL 01461 # USED IN ERASCHK
055441,000122: 43,3243 01773 ERASCON4 OCTAL 01773 # USED IN ERASCHK
055442,000123: 43,3244 5012 S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
055443,000124: 43,3244 5020 SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
055444,000125: 43,3244 4350 -MAXADRS = HI5 # FOR ROPECHK
055445,000126: 43,3244 00060 SIXTY OCTAL 00060
055446,000127: 43,3245 60017 SUPRCON OCTAL 60017 # USED IN ROPECHK
055447,000128: 43,3246 17777 S13BITS OCTAL 17777
055448,000129: 43,3247 25252 CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
055449,000130: 43,3250 52400 CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
055450,000131: 43,3251 76777 ERASCON5 OCTAL 76777
055451,000132: 43,3252 5660 S-7 = OCT77770
055452,000133: 43,3252 6111 S-4 EQUALS NEG4
055453,000134: 43,3252 7744 S-3 EQUALS NEG3
055454,000135: 43,3252 7745 S-2 EQUALS NEG2
055455,000136: 43,3252 7746 S-1 EQUALS NEGONE
055456,000137: 43,3252 4754 S-ZERO EQUALS NEG0
055457,000138:
055458,000139: 43,3252 E3,1400 EBANK= LST1
055459,000140: 43,3252 01371 ADRS1 ADRES SKEEP1
055460,000141: 43,3253 03344 SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
055461,000142: # IN SELFRET WHEN GOING FROM SELFCHK TO
055462,000143: # SHOWSUM AND PUT IN SKEEP1 WHEN GOING
055463,000144: # FROM SHOWSUM TO SELF-CHECK.
055464,000145:
055465,000146: 43,3254 31360 PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
055466,000147: 43,3255 00006 EXTEND
055467,000148: 43,3256 13265 BZF ERRORS # NO
055468,000149: 43,3257 00006 EXTEND
055469,000150: 43,3260 31376 DCA SKEEP5
055470,000151: 43,3261 51377 INDEX SKEEP7
055471,000152: 43,3262 52001 DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
055472,000153: 43,3263 34755 CA S+ZERO
055473,000154: 43,3264 55360 TS ERESTORE
055474,000155: 43,3265 00004 ERRORS INHINT
055475,000156: 43,3266 30002 CA Q
055476,000157: 43,3267 55357 TS SFAIL # SAVE Q FOR FAILURE LOCATION
055477,000158: 43,3270 55363 TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
055478,000159: 43,3271 25365 INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
055479,000160: 43,3272 05571 TCALARM2 TC ALARM2
055480,000161: 43,3273 01102 OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
055481,000162: 43,3274 11362 CCS SMODE
055482,000163: 43,3275 34755 SIDLOOP CA S+ZERO
055483,000164: 43,3276 55362 TS SMODE
![]() |
Page 1281 |
055485,000166: 43,3277 03344 TC SELFCHK # GO TO IDLE LOOP
055486,000167: 43,3300 01357 TC SFAIL # CONTINUE WITH SELF-CHECK
055487,000168:
055488,000169: 43,3301 10000 -1CHK CCS A
055489,000170: 43,3302 13254 TCF PRERRORS
055490,000171: 43,3303 13254 TCF PRERRORS
055491,000172: 43,3304 10000 CCS A
055492,000173: 43,3305 13254 TCF PRERRORS
055493,000174: 43,3306 00002 TC Q
055494,000175:
055495,000176: 43,3307 00006 SMODECHK EXTEND
055496,000177: 43,3310 23371 QXCH SKEEP1
055497,000178: 43,3311 03340 TC CHECKNJ # CHECK FOR NEW JOB
055498,000179: 43,3312 11362 CCS SMODE
055499,000180: 43,3313 03320 TC SOPTIONS
055500,000181: 43,3314 03311 TC SMODECHK +2 # TO BACKUP IDLE LOOP
055501,000182: 43,3315 03320 TC SOPTIONS
055502,000183: 43,3316 25366 INCR SCOUNT
055503,000184: 43,3317 01371 TC SKEEP1 # CONTINUE WITH SELF-CHECK
055504,000185:
055505,000186: 43,3320 65660 SOPTIONS AD S-7
055506,000187: 43,3321 00006 EXTEND
055507,000188: 43,3322 63324 BZMF +2 # FOR OPTIONS BELOW NINE.
055508,000189: 43,3323 03275 BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
055509,000190: 43,3324 25366 INCR SCOUNT # FOR OPTIONS BELOW NINE.
055510,000191: 43,3325 64757 AD S+7
055511,000192:
055512,000193: 43,3326 50000 INDEX A
055513,000194: 43,3327 03330 TC SOPTION1
055514,000195: 43,3330 01371 SOPTION1 TC SKEEP1 # WAS TC+TCF
055515,000196: 43,3331 01371 SOPTION2 TC SKEEP1 # WAS IN:OUT1
055516,000197: 43,3332 01371 SOPTION3 TC SKEEP1 # WAS COUNTCHK
055517,000198: 43,3333 03345 SOPTION4 TC ERASCHK
055518,000199: 43,3334 03526 SOPTION5 TC ROPECHK
055519,000200: 43,3335 01371 SOPTION6 TC SKEEP1
055520,000201: 43,3336 01371 SOPTION7 TC SKEEP1
055521,000202: 43,3337 01371 SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
055522,000203:
055523,000204: 43,3340 00006 CHECKNJ EXTEND
055524,000205: 43,3341 23361 QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
055525,000206: 43,3342 04635 TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
055526,000207: 43,3343 03211 CADR ADVAN
055527,000208:
055528,000209: 43,3344 03307 SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
055529,000210:
055530,000211: # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
055531,000212: # SKEEP6 HOLDS B(X+1).
055532,000213: # SKEEP5 HOLDS B(X).
055533,000214: # SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
055534,000215: # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
![]() |
Page 1282 |
055536,000217: # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
055537,000218: # ERASCHK TAKES APPROXMATELY 7 SECONDS
055538,000219:
055539,000220: 43,3345 34753 ERASCHK CA S+1
055540,000221: 43,3346 55372 TS SKEEP2
055541,000222: 43,3347 34755 0EBANK CA S+ZERO
055542,000223: 43,3350 54003 TS EBANK
055543,000224: 43,3351 33242 CA ERASCON3 # 01461
055544,000225: 43,3352 55377 TS SKEEP7 # STARTING ADDRESS
055545,000226: 43,3353 35012 CA S10BITS # 01777
055546,000227: 43,3354 55373 TS SKEEP3 # LAST ADDRESS CHECKED
055547,000228: 43,3355 03375 TC ERASLOOP
055548,000229:
055549,000230: 43,3356 35007 E134567B CA ERASCON6 # 01400
055550,000231: 43,3357 55377 TS SKEEP7 # STARTING ADDRESS
055551,000232: 43,3360 35012 CA S10BITS # 01777
055552,000233: 43,3361 55373 TS SKEEP3 # LAST ADDRESS CHECKED
055553,000234: 43,3362 03375 TC ERASLOOP
055554,000235:
055555,000236: 43,3363 35007 2EBANK CA ERASCON6 # 01400
055556,000237: 43,3364 55377 TS SKEEP7 # STARTING ADDRESS
055557,000238: 43,3365 33243 CA ERASCON4 # 01773
055558,000239: 43,3366 55373 TS SKEEP3 # LAST ADDRESS CHECKED
055559,000240: 43,3367 03375 TC ERASLOOP
055560,000241:
055561,000242: 43,3370 55372 NOEBANK TS SKEEP2 # +0
055562,000243: 43,3371 33240 CA ERASCON1 # 00061
055563,000244: 43,3372 55377 TS SKEEP7 # STARTING ADDRESS
055564,000245: 43,3373 33241 CA ERASCON2 # 01373
055565,000246: 43,3374 55373 TS SKEEP3 # LAST ADDRESS CHECKED
055566,000247:
055567,000248: 43,3375 00004 ERASLOOP INHINT
055568,000249: 43,3376 30003 CA EBANK # STORES C(EBANK)
055569,000250: 43,3377 55374 TS SKEEP4
055570,000251: 43,3400 00006 EXTEND
055571,000252: 43,3401 51377 NDX SKEEP7
055572,000253: 43,3402 30001 DCA 0000
055573,000254: 43,3403 53376 DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
055574,000255: 43,3404 31377 CA SKEEP7
055575,000256: 43,3405 55360 TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
055576,000257: 43,3406 54001 TS L
055577,000258: 43,3407 24001 INCR L
055578,000259: 43,3410 50000 NDX A
055579,000260: 43,3411 52001 DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
055580,000261: 43,3412 51377 NDX SKEEP7
055581,000262: 43,3413 40001 CS 0001 # CS X+1
055582,000263: 43,3414 51377 NDX SKEEP7
055583,000264: 43,3415 60000 AD 0000 # AD X
055584,000265: 43,3416 03301 TC -1CHK
055585,000266: 43,3417 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
055586,000267: 43,3420 00006 EXTEND
![]() |
Page 1283 |
055588,000269: 43,3421 13445 BZF ELOOPFIN # YES, EXIT ERASLOOP.
055589,000270: 43,3422 00006 EXTEND
055590,000271: 43,3423 51377 NDX SKEEP7
055591,000272: 43,3424 40001 DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
055592,000273: 43,3425 51377 NDX SKEEP7
055593,000274: 43,3426 52001 DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
055594,000275: 43,3427 51377 NDX SKEEP7
055595,000276: 43,3430 40000 CS 0000 # CS X
055596,000277: 43,3431 51377 NDX SKEEP7
055597,000278: 43,3432 60001 AD 0001 # AD X+1
055598,000279: 43,3433 03301 TC -1CHK
055599,000280: 43,3434 31360 CA ERESTORE # HAS ERASABLE BEEN RESTORED
055600,000281: 43,3435 00006 EXTEND
055601,000282: 43,3436 13445 BZF ELOOPFIN # YES, EXIT ERASLOOP.
055602,000283: 43,3437 00006 EXTEND
055603,000284: 43,3440 31376 DCA SKEEP5
055604,000285: 43,3441 51377 NDX SKEEP7
055605,000286: 43,3442 52001 DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
055606,000287: 43,3443 34755 CA S+ZERO
055607,000288: 43,3444 55360 TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
055608,000289: 43,3445 00003 ELOOPFIN RELINT
055609,000290: 43,3446 03340 TC CHECKNJ # CHECK FOR NEW JOB
055610,000291: 43,3447 31374 CA SKEEP4 # REPLACES B(EBANK)
055611,000292: 43,3450 54003 TS EBANK
055612,000293: 43,3451 25377 INCR SKEEP7
055613,000294: 43,3452 41377 CS SKEEP7
055614,000295: 43,3453 61373 AD SKEEP3
055615,000296: 43,3454 00006 EXTEND
055616,000297: 43,3455 13457 BZF +2
055617,000298: 43,3456 03375 TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
055618,000299: 43,3457 11372 CCS SKEEP2
055619,000300: 43,3460 03370 TC NOEBANK
055620,000301: 43,3461 25372 INCR SKEEP2 # PUT +1 IN SKEEP2.
055621,000302: 43,3462 30003 CA EBANK
055622,000303: 43,3463 64743 AD SBIT9
055623,000304: 43,3464 54003 TS EBANK
055624,000305: 43,3465 63251 AD ERASCON5 # 76777, CHECK FOR BANK E2
055625,000306: 43,3466 00006 EXTEND
055626,000307: 43,3467 13363 BZF 2EBANK
055627,000308: 43,3470 10003 CCS EBANK
055628,000309: 43,3471 03356 TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
055629,000310: 43,3472 35007 CA ERASCON6 # END OF ERASCHK
055630,000311: 43,3473 54003 TS EBANK
055631,000312:
055632,000313: # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
055633,000314: # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
055634,000315:
055635,000316: 43,3474 34771 CNTRCHK CA CNTRCON # 00050
055636,000317: 43,3475 55372 CNTRLOOP TS SKEEP2
055637,000318: 43,3476 64750 AD SBIT4 # +10 OCTAL
055638,000319: 43,3477 50000 INDEX A
055639,000320: 43,3500 40000 CS 0000
![]() |
Page 1284 |
055641,000322: 43,3501 11372 CCS SKEEP2
055642,000323: 43,3502 03475 TC CNTRLOOP
055643,000324:
055644,000325: # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
055645,000326:
055646,000327: 43,3503 33247 CYCLSHFT CA CONC+S1 # 25252
055647,000328: 43,3504 54020 TS CYR # C(CYR) = 12525
055648,000329: 43,3505 54022 TS CYL # C(CYL) = 52524
055649,000330: 43,3506 54021 TS SR # C(SR) = 12525
055650,000331: 43,3507 54023 TS EDOP # C(EDOP) = 00125
055651,000332: 43,3510 60020 AD CYR # 37777 C(CYR) = 45252
055652,000333: 43,3511 60022 AD CYL # 00-12524 C(CYL) = 25251
055653,000334: 43,3512 60021 AD SR # 00-25251 C(SR) = 05252
055654,000335: 43,3513 60023 AD EDOP # 00-25376 C(EDOP) = +0
055655,000336: 43,3514 63250 AD CONC+S2 # C(CONC+S2) = 52400
055656,000337: 43,3515 03301 TC -1CHK
055657,000338: 43,3516 60020 AD CYR # 45252
055658,000339: 43,3517 60022 AD CYL # 72523
055659,000340: 43,3520 60021 AD SR # 77775
055660,000341: 43,3521 60023 AD EDOP # 77775
055661,000342: 43,3522 64753 AD S+1 # 77776
055662,000343: 43,3523 03301 TC -1CHK
055663,000344:
055664,000345: 43,3524 25367 INCR SCOUNT +1
055665,000346: 43,3525 03307 TC SMODECHK
055666,000347:
055667,000348: # SKEEP1 HOLDS SUM
055668,000349: # SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
055669,000350: # SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
055670,000351: # SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
055671,000352: # (04000 TO 07777 IN FXFX BANKS)
055672,000353: # SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
055673,000354: # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
055674,000355: # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
055675,000356: # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
055676,000357: # SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
055677,000358:
055678,000359: 43,3526 34754 ROPECHK CA S-ZERO # *
055679,000360: 43,3527 55376 TS SKEEP6 # * -0 FOR ROPECHK.
055680,000361: 43,3530 34755 STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
055681,000362:
055682,000363: 43,3531 55374 TS SKEEP4 # BANK NUMBER
055683,000364: 43,3532 34753 CA S+1
055684,000365: 43,3533 55377 COMMFX TS SKEEP7
055685,000366: 43,3534 34755 CA S+ZERO
055686,000367: 43,3535 55371 TS SKEEP1
055687,000368: 43,3536 55373 TS SKEEP3
055688,000369: 43,3537 34753 CA S+1
055689,000370: 43,3540 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
055690,000371: 43,3541 31374 COMADRS CA SKEEP4
055691,000372: 43,3542 54001 TS L # TO SET SUPER BANK
055692,000373: 43,3543 74350 MASK HI5
![]() |
Page 1285 |
055694,000375: 43,3544 61373 AD SKEEP3
055695,000376: 43,3545 04651 TC SUPDACAL # SUPER DATA CALL
055696,000377: 43,3546 03571 TC ADSUM
055697,000378: 43,3547 64741 AD SBIT11 # 02000
055698,000379: 43,3550 03602 TC ADRSCHK
055699,000380:
055700,000381: 43,3551 40000 FXFX CS A
055701,000382: 43,3552 55377 TS SKEEP7
055702,000383: 43,3553 00006 EXTEND
055703,000384: 43,3554 13557 BZF +3
055704,000385: 43,3555 34740 CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
055705,000386: 43,3556 03560 TC +2
055706,000387: 43,3557 35020 CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
055707,000388: 43,3560 55373 TS SKEEP3
055708,000389: 43,3561 34755 CA S+ZERO
055709,000390: 43,3562 55371 TS SKEEP1
055710,000391: 43,3563 34753 CA S+1
055711,000392: 43,3564 55375 TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
055712,000393: 43,3565 51373 FXADRS INDEX SKEEP3
055713,000394: 43,3566 30000 CA 0000
055714,000395: 43,3567 03571 TC ADSUM
055715,000396: 43,3570 03602 TC ADRSCHK
055716,000397:
055717,000398: 43,3571 55372 ADSUM TS SKEEP2
055718,000399: 43,3572 61371 AD SKEEP1
055719,000400: 43,3573 55371 TS SKEEP1
055720,000401: 43,3574 34755 CAF S+ZERO
055721,000402: 43,3575 61371 AD SKEEP1
055722,000403: 43,3576 55371 TS SKEEP1
055723,000404: 43,3577 41372 CS SKEEP2
055724,000405: 43,3600 61373 AD SKEEP3
055725,000406: 43,3601 00002 TC Q
055726,000407:
055727,000408: 43,3602 22000 ADRSCHK LXCH A
055728,000409: 43,3603 31373 CA SKEEP3
055729,000410: 43,3604 75012 MASK LOW10 # RELATIVE ADDRESS
055730,000411: 43,3605 64350 AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
055731,000412: 43,3606 00006 EXTEND
055732,000413: 43,3607 13676 BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
055733,000414: 43,3610 11375 CCS SKEEP5 # IS CHECKSUM FINISHED
055734,000415: 43,3611 03614 TC +3 # NO
055735,000416: 43,3612 03614 TC +2 # NO
055736,000417: 43,3613 03676 TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
055737,000418: 43,3614 10001 CCS L # -0 MEANS A TC SELF WORD.
055738,000419: 43,3615 03624 TC CONTINU
055739,000420: 43,3616 03624 TC CONTINU
055740,000421: 43,3617 03624 TC CONTINU
055741,000422: 43,3620 11375 CCS SKEEP5
055742,000423: 43,3621 03625 TC CONTINU +1
055743,000424: 43,3622 37746 CA S-1
![]() |
Page 1286 |
055745,000426: 43,3623 03625 TC CONTINU +1 # AD IN THE BUGGER WORD
055746,000427: 43,3624 34753 CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
055747,000428: 43,3625 55375 TS SKEEP5
055748,000429: 43,3626 11376 CCS SKEEP6 # *
055749,000430: 43,3627 10067 CCS NEWJOB # * +1, SHOWSUM
055750,000431: 43,3630 05122 TC CHANG1 # *
055751,000432: 43,3631 03633 TC +2 # *
055752,000433: 43,3632 03340 TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
055753,000434:
055754,000435: 43,3633 25373 ADRS+1 INCR SKEEP3
055755,000436: 43,3634 11377 CCS SKEEP7
055756,000437: 43,3635 03541 TC COMADRS
055757,000438: 43,3636 03541 TC COMADRS
055758,000439: 43,3637 03565 TC FXADRS
055759,000440: 43,3640 03565 TC FXADRS
055760,000441:
055761,000442: 43,3641 41374 NXTBNK CS SKEEP4
055762,000443: 43,3642 63731 AD LSTBNKCH # LAST BANK TO BE CHECKED
055763,000444: 43,3643 00006 EXTEND
055764,000445: 43,3644 13137 BZF ENDSUMS # END OF SUMMING OF BANKS.
055765,000446: 43,3645 31374 CA SKEEP4
055766,000447: 43,3646 64741 AD SBIT11
055767,000448: 43,3647 55374 TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
055768,000449: 43,3650 03654 TC CHKSUPR
055769,000450: 43,3651 34735 17TO20 CA SBIT15
055770,000451: 43,3652 27374 ADS SKEEP4 # SET FOR BANK 20
055771,000452: 43,3653 03670 TC GONXTBNK
055772,000453: 43,3654 74350 CHKSUPR MASK HI5
055773,000454: 43,3655 00006 EXTEND
055774,000455: 43,3656 13666 BZF NXTSUPR # INCREMENT SUPER BANK
055775,000456: 43,3657 63246 27TO30 AD S13BITS
055776,000457: 43,3660 00006 EXTEND
055777,000458: 43,3661 13663 BZF +2 # BANK SET FOR 30
055778,000459: 43,3662 03670 TC GONXTBNK
055779,000460: 43,3663 33244 CA SIXTY # FIRST SUPER BANK
055780,000461: 43,3664 27374 ADS SKEEP4
055781,000462: 43,3665 03670 TC GONXTBNK
055782,000463: 43,3666 63245 NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
055783,000464: 43,3667 27374 ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
055784,000465: 43,3670 11377 GONXTBNK CCS SKEEP7
055785,000466: 43,3671 03533 TC COMMFX
055786,000467: 43,3672 34753 CA S+1
055787,000468: 43,3673 03551 TC FXFX
055788,000469: 43,3674 34745 CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
055789,000470: 43,3675 03533 TC COMMFX
055790,000471:
055791,000472: 43,3676 31374 SOPTION CA SKEEP4
055792,000473: 43,3677 74350 MASK HI5 # = BANK BITS
055793,000474: 43,3700 04331 TC LEFT5
055794,000475: 43,3701 54001 TS L # BANK NUMBER BEFORE SUPER BANK
![]() |
Page 1287 |
055796,000477: 43,3702 31374 CA SKEEP4
055797,000478: 43,3703 74357 MASK S8BITS # = SUPER BANK BITS
055798,000479: 43,3704 00006 EXTEND
055799,000480: 43,3705 13713 BZF SOPT # BEFORE SUPER BANK
055800,000481: 43,3706 54021 TS SR # SUPER BANK NECESSARY
055801,000482: 43,3707 30001 CA L
055802,000483: 43,3710 74757 MASK SEVEN
055803,000484: 43,3711 60021 AD SR
055804,000485: 43,3712 54001 TS L # BANK NUMBER WITH SUPER BANK
055805,000486: 43,3713 31376 SOPT CA SKEEP6 # *
055806,000487: 43,3714 00006 EXTEND # *
055807,000488: 43,3715 13717 BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
055808,000489: 43,3716 03121 TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
055809,000490: 43,3717 11371 CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
055810,000491: 43,3720 03722 TC +2
055811,000492: 43,3721 03723 TC +2
055812,000493: 43,3722 64753 AD S+1
055813,000494: 43,3723 55371 TS SKEEP1
055814,000495: 43,3724 40001 BNKCHK CS L # = - BANK NUMBER
055815,000496: 43,3725 61371 AD SKEEP1
055816,000497: 43,3726 67746 AD S-1
055817,000498: 43,3727 03301 TC -1CHK # CHECK SUM
055818,000499: 43,3730 03641 TC NXTBNK
055819,000500:
055820,000501: 43,3731 0067 EBANK= NEWJOB
055821,000502: 43,3731 66100 LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
055822,000503:
End of include-file AGC_BLOCK_TWO_SELF-CHECK.agc. Parent file is MAIN.agc