diff --git a/Luminary099/AGC_BLOCK_TWO_SELF_CHECK.agc b/Luminary099/AGC_BLOCK_TWO_SELF_CHECK.agc index b22fba2..66655d7 100644 --- a/Luminary099/AGC_BLOCK_TWO_SELF_CHECK.agc +++ b/Luminary099/AGC_BLOCK_TWO_SELF_CHECK.agc @@ -21,7 +21,7 @@ # # Notations on the hardcopy document read, in part: # -# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 +# Assemble revision 001 of AGC program LMY99 by NASA 2021112-061 # 16:27 JULY 14, 1969 # Page 1284 @@ -30,18 +30,16 @@ # MOD NO -- 1 ASSEMBLY SUBROUTINE UTILITYM REV 25 # MOD BY -- GAUNTT # +# # FUNCTIONAL DESCRIPTION +# # PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS # PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN # STARTING VERB. -# # THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS. -# # THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK, ONE AT A TIME. -# # IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE # FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3. -# # THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS # A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN # OCTAL, TO LOAD INTO SMODE. @@ -51,25 +49,30 @@ # -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED. # +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP. # +# # WARNINGS +# # USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS. # SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP. # +# # CALLING SEQUENCE +# # TO CALL SELF-CHECK KEY IN # V 21 N 27 E OPTION NUMBER E # TO CALL SHOW-BANKSUM KEY IN # V 91 E DISPLAYS FIRST BANK # V 33 E PROCEED, DISPLAYS NEXT BANK # +# # EXIT MODES, NORMAL AND ALARM # SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT -# COMPUTER INTO BACKUP IDLE LOOP, - OPTIONS NUMBERS RESTART THE OPTION. +# COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION. # # THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED. -# # SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP. # +# # OUTPUT # Page 1285 # SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND @@ -77,19 +80,23 @@ # 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, # IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN # INITIATED FRESH START (SLAP1). -# # SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2 # THE BANK NUMBER, AND IN R3 THE BUGGER WORD. # +# # ERASABLE INITIALIZATION REQUIRED +# # ACCOMPLISHED BY FRESH START # SMODE SET TO +0 # +# # DEBRIS +# # ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK. # EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT # E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART). + BANK 25 SETLOC SELFCHEC BANK @@ -201,7 +208,7 @@ BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP. TC SOPTION1 SOPTION1 TC SKEEP1 # WAS TC+TCF SOPTION2 TC SKEEP1 # WAS IN:OUT1 -SOPTION3 TC SKEEP1 +SOPTION3 TC SKEEP1 # WAS COUNTCHK SOPTION4 TC ERASCHK SOPTION5 TC ROPECHK SOPTION6 TC SKEEP1 @@ -218,13 +225,11 @@ SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE # SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED. # SKEEP6 HOLDS B(X+1). # SKEEP5 HOLDS B(X). -# SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ +# SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ. # SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS). # Page 1288 # SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB. -# -# ERASCHK TAKES APPROXIMATELY 7 SECONDS. - +# ERASCHK TAKES APPROXMATELY 7 SECONDS ERASCHK CA S+1 TS SKEEP2 0EBANK CA S+ZERO @@ -317,10 +322,8 @@ ELOOPFIN RELINT TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7 CA ERASCON6 # END OF ERASCHK TS EBANK - # CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10. # INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS - CNTRCHK CA CNTRCON # 00050 CNTRLOOP TS SKEEP2 AD SBIT4 # +10 OCTAL @@ -331,7 +334,6 @@ CNTRLOOP TS SKEEP2 TC CNTRLOOP # CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS - CYCLSHFT CA CONC+S1 # 25252 TS CYR # C(CYR) = 12525 TS CYL # C(CYL) = 52524 @@ -362,10 +364,10 @@ CYCLSHFT CA CONC+S1 # 25252 # SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER # SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS # SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION -# SKEEP7 CONTROLS WHEN ROUTINE IS IN COMMON FIXED OR FIXED FIXED BANKS +# SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS ROPECHK CA S-ZERO # * - TS SKEEP6 # * -0 FOR ROPECHK + TS SKEEP6 # * -0 FOR ROPECHK. STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK TS SKEEP4 # BANK NUMBER