Digital PDFs
Documents
Guest
Register
Log In
AH-S511B-MC
July 1982
305 pages
Original
120MB
view
download
OCR Version
148MB
view
download
Document:
CZMLCB0 ML11 PROM MAINT PROG JUL 1982 bw
Order Number:
AH-S511B-MC
Revision:
000
Pages:
305
Original Filename:
CZMLCB0__ML11__PROM_MAINT_PROG__AH-S511B-MC__JUL_1982_gray.pdf
OCR Text
MODULE BSKEL1 = XTITLE SEQ 0001 °*CZMLCBO ML=11 FROM MAINTENANCE PROGRAM' x( IDENTIFICATION PRODUCT CODE: AC~-S5098-MC PRODUCT NAME: CZMLCBO ML~-11 PROM MAINTENANCE PROGRAM PRODUCT DATE: 19-MAR-82 MAINTAINER: MEMORY DIAGNOSTICS ENGINEERING AUTHOR: D.W. NEALE THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO_ CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR SOFTWARE ON EQUIPMENT THAT IS NOT AFFILIATED COMPANIES. THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS COPYRIGHT (C) 1981, 1982 BY DIGITAL EQUIPMENT CORPORATION THE FOLLOWING ARE TRADEMARKS bf DIGITAL EQUIPMENT CORPORATION: DIGITAL DEC PDP DECUS UNIBUS DECTAFE MASSBUS SUN=O ASSUMPTIONS SNOWVMISWNN=O NN SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS OPERATING INSTRUCTIONS COMMANDS O W » GENERAL INFORMATION PROGRAM ABSTRACT ERROR INFORMATION o =R TABLE OF CONTENTS PERFORMANCE AND PROGRESS REPORTS SWITCHES FLAGS HARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DIALOGUE QUICK STARTUP PROCEDURE 5.0 DEVICE INFORMATION TABLES 6.0 PROM MAINTENANCE TABLE REPRESENTATIONS 7.0 TEST SUMMARIES 8.0 MAINTENANCE HISTORY SE@ 0002 1.0 GENERAL INFORMATION 1.1 PROGRAM ABSTRACT SEQ 0003 THE ML=-11 MEMORY SYSTEM WITH ITS MOSTLY ARRAY TECHNOLOGY HAS THE FACILITY TO OFFSET AROUND KNOWN BAD MEMORY LOCATIONS IN ITS MEMORY ARRAYS. INITIALLY, THESE MEMORY ARRAYS ARE TESTED FOR BAD ROW _AND COLUMM ADDRESS LOCATIONS AND THE SPECIFIC OFFSETTING INFORMATION IS STORED IN PROM ON THE ARRAY MODULE. THIS TESTING IS DONE ON A SPECIAL 2224 MEMORY TESTER BY MEMORY MANUFACTURING. THE DESIGN OF THE ML11 HAS ALSO PROVIDED LOGIC THAT WHEN UNDER SOF TWARE CONTROL WILL UPDATE AN ARRAY MODULES OFFSETTING INFORMATION. THIS LOGIC IS TO BE UTILIZED WHEN ADDITIONAL MEMORY fi%lfia flEIEfiSO\ERED BAD AFTER THE SYSTEM HAS LEFT THE MANUFACTFIELD SERVICE HAS REQUESTED THE CREATION OF A PROGRAM THA1 WHEN RUN WILL TEST A GIVEN ML-11A OR ML-118 SYSTEM FOR ANY. ADDITIONAL BAD MEMORY CELLS AND UPDATE THE OFFSET INFORMATION SUCH THAT THESE BAD LOCATIONS WILL BE MASKED FROM FURTHER OCCURANCES. THIS PROGRAM WILL SELECTIVELY UPDATE BAD MEMORY CELL OFFSETING FOR AN ENTIRE ML-11 SYSTEM, A SINGLE ARRAY MODULE OR A SINGLE THE PROGRAM WILL EXERCISE AN ML-11A OR ML-118 WITH ALL ONES, ALL %EEE%S AND RANDOM DATA PATTERNS TO FIND ANY ADDITIONAL FAILING MEMORY ONCE THE ADDITIONAL FAILING CELLS HAVE BEEN MASKED OUT THE PROGRAM WILL GO BACK INTO THE FAILING CELLS AND VERIFY THAT THESE BAD CELLS HAVE INDEED BEEN MASKED OUT. THE OPERATOR WILL BE NOTIFIED OF ANY ERROR CONDITIONS WHICH MIGHT OCCURE DURING THE EXECUTION OF THE PROGRAM. ADDITIONAL INFORMATION _PERTAINING TO THESE ERROR MESSAGES CAN BE FOUND IN SECTION 3.0 OF THIS DOCUMENT. THIS DIAGNOSTIC HAS BEEN WRITTEN FOR USE WITH THE DIAGNOSTIC RUNTIME SERVICES SOFTWARE ( DRS> ). THESE SERVICES PROVIDE THE INTERFACE TO THE GPERATOR AND TO THE SOF TWARE ENVIRONMENT. THIS PROGRAM CAN BE USED WITH XXDP+, ACT, APT, SLIDE. FOR A COMPLETE DESCRIPTION OF THE RUNTIME SERVICES, REFER TO THE XXDP+ USER'S MANUAL. THERE IS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES IN SECTION 2 OF THIS DOCUMENT. 1.2 SYSTEM REQUIREMENTS 1. gm; CENTRAL PROCESSOR WITH A MINIMUM OF 28K USABLE MAIN 2. CONSOLE TERMINAL. 3. RH11 OR RH70 DISK CONTROLLER. 4. 5. 1.3 1.4 A MINIMUM OF ONE ML-11A AND ML-11B ABOVE RH CONTROLLER. E SYSTEM ATTACHED TO THE 1 SEQ 0004 XXDP+ LOAD MEDIA. RELATED DOCUMENTS AND STANDARDS 1. SUPPRGC.DOC 2. SUPINT.MEM 3. SUPFUN.C 4. XXDPPLUS.DOC 5. BLISS LANGUAGE GUIDE 6. BLISS-16 USER'S GUIDE ASSUMPTIONS IT WILL BE ASSUMED THAT PRIOR TO RUNNING OF THIS PROGRAM THAT ALL APPROPRIATE CPU AND MAIN MEMORY DIAGNOSTICS HAVE BEEN SUCCESSFULLY RUN ON THE ML-11"S HOST SYSTEM. IT IS FURTHER ASSUMED THAT THE ML-11 LOGIC TEST AND THE ML-11 SYSTEM EXERCISER HAS BEEN SUCCESSFULLY RUN ON THE ML=-11 SYSTEM AND THAT THE SYSTEM EXERCISER HAS SPECIFICALLY CALLED OUT THE RUNNING OF THE PROM MAINTENANCE ON THIS UNIT THE SYSTEM EXERCISER WHEN IT CALLS FOR THE RUNNING OF THIS PROGRAM WILL INDICATE WHICH ARRAYS AND BANKS OF THE ML-11 SYSTEM NEED TO BE PROM MAINTENANCED. THIS INFORMATION SHOULD BE THEN INPUTED INTO THIS PROGRAM. HOWEVER THIS PROGRAM IS DESIGNED TO GIVE THE OPERATOR THE OPTION TO PROM MAINTENANCE EITHER THE ARRAY AND BANK THAT THE SYSTEM EXERCISER CALLS OUT FOR PM'ING OR SELECT PROM MAINTENANCE FOR AN ENTIRE ARRAY MODULE (FOUR BANKS) OR SELECT PROM MAINTENANCE FOR THE ENTIRE ML-11 SYSTEM (ALL PRESENT ARRAY MODULES). 2.0 OPERATING INSTRUCTIONS THIS SECTION CONTAINS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES. FOR DETAILED INFORMATION, REFER TO THE XXDP+ USER'S MANUAL (CHQUS). COMMANDS THERE ARE ELEVEN LEGAL COMMANDS FOR THE DIAGNOSTIC RUNTIME (SUPERVISOR). THIS SECTION LISTS THE COMMANDS AND GIVES A BRIEF DESCRIPTION OF THEM. COMMAND THE XXDP+ USER'S MANUAL HAS MOR EFFECT ERVICES m<wv 2.1 ERY DETAILS. START RESTART CONT INUE PROCEED EXIT ADD DROP PRINT START THE DIAGNOSTIC FROM AN INITIAL S START THE DIAGNOSTIC WITHOUT INITIALIZING SEQ 0005 CONTINUE AT TEST THAT WAS INTERRUPTED (AFTER “C) CONTINUE FROM AN ERROR HALT RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY!) ACTIVATE A UNIT FOR_TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME DEACTIVATE A UNIT PRINT STATISTICAL INFORMATION (IF IMPLEMENTED BY THE DIAGNOSTIC - SECTION 4.0) TYPE A LIST OF ALL DEVICE INFORMATION TYPE THE STATE OF ALL FLAGS (SEE SECTION 2.3) CLEAR ALL FLAGS (SEE SECTION 2.3) A COMMAND CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. SO YOU MAY, FOR EXAMPLE, TYPE ''STA'' INSTEAD OF "'START''. DISPLAY FLAGS ZFLAGS THIS PROGRAM USES THE DIAGNOSTIC RUN TIME SERVICE FOR PROGRAM PARAMETER INPUT, ERROR REPORTING AND MESSAGE PRINTING. IT IS DESINGED TO TEST ONE ML-11 SYSTEM AND IS EXPECTED TO RUN FROM START TO FINISH WITH NO OPERATOR INTERRUPTIONS (ie. “C). THEREFORE THE ONLY RECOGNIZED DRS> COMMAND BY THIS PROGRAM 1S mgT.gP’A‘\Tn‘)lgw AND CONTROL C AND ANY OTHER DRS> COMMAND FOR STATISTICAL ANALYSIS THIS PROGRAM, UPON AN DRS> COMMAND ‘PRINT', WILL DISPLAY TO THE CONSOLE TERMINAL A REPORT SUMMARY INDICATING WHERE THE PROGRAM HAS FOUND ADDITIONAL FAILING MEMORY CHIPS AND A COUNT OF FAILING ROWS AND COLUMNS WITHIN EACH CHIP. 2.2 SWITCHES THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF THE LEGAL " SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH, “DDDDD'’. BY DESIGNATED IS NUMBER DECIMAL A IN THE DESCRIPTIONS BELOW, EFFECT JTESTS:LIST EXECUTE ONLY THOSE TESTS SPE /PASS : DDDDD /FLAGS:FLGS T BE RUN. ALL OTHER TESTS WI EXECUTE DDDDD PASSES (DDDDD = 1 T SET SPECIFIED FLAGS. FLAGS ARE D IN SECTION 2.3. THE LIST. LIST IS A STRING NUMBERS, FOR EXAMPLE - /TES THIS LIST WILL CAUSE TESTS /EOP:DDDDD JUNITS:LIST ——a—y SWITCH REPORT END OF PASS MESSAGE AFTER EV DDDDD PASSES ONLY. (DDDDD = 1 TO 6 TEST/ADD/DROP ONLY THOSE UNITS spsg IN THE LIST. LIST EXAMPLE = /UNIT USE UNITS 0,5,10,11,12 (UNIT NUMBE R EXAMPLE OF SWITCH USAGE: ——— START/TESTS:1-5/PASS:1000/E0P:100 6 1 THE EFFECT_OF THIS COMMAND WILL BE: 1) 55878 1 THROUGH 5 WILL BE TIMES AND 3) THE END OF EXECUTED, 2) ALL UNITS WILL BE TESTED 1 PASSES ONLY. A 100 EACH AFTER PASS MESSAGES WILL BE PRINTED YOU MAY, CHARACTERS. THREE SWITCH CAN BE_RECOGNIZED BY, THE FIRST =5". ''/TESTS:1 OF INSTEAD '‘/TES:1=5'' FOR EXAMPLE, TYPE BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND. X X X X X FLAGS ‘ EOP x> PASS 2 ¢ > START RESTART CONT INUE PROCEED DROP ADD TESTS PRINT UNITS X X X X X DISPLAY FLAGS ZFLAGS EXIT AS MENTIONED BEFORE THE PROGRAM IS DESIGNED TO TEST ONE ML-11 SYSTEM AND IS EXPECTED TO RUN FROM START TO FINISH WITH NO OPERATOR INTERRUPTIONS. THEREFORE USAGE OF ANY SWITCHES WOULD PROVE MEANINGLESS TO THE PROGRAM AND SHOULD BE AVOIDED. 2.3 FLAGS FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH AS LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET USING THE FLAGS SWITCH. FLAGS ARE ALSO CLEARED AFTER A START COMMAND UNLESS SET USING THE FLAG SWITCH. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR ALL FLAGS. WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. FLAG HOE LOE IER* IBR* IXR#* EFFECT HALT ON ERROR - CONTROL IS RETURNED TO RUNTIME SERVICES COMMAND MODE LOOP ON ERROR INHIBIT ALL ERROR REPORTS INHIBIT ALL ERROR REPORTS EXCEPT FIRST LEVEL ERROR TYPE, (FIRST LEVEL CONTAINS NUMBER, PC, TEST AND UNIT) INHIBIT EXTENDED ERROR REPORTS (THOSE PRI CALLED BY PRINTX MACRO'S) DIRECT MESSAGES TO LINE PRINTER UAM UNATTENDED MODE (NO MANUAL INTERVENTION) PNT BOE ISR PRINT TEST NUMBER AS TEST EXECUTES BELL'' ON ERROR INHIBIT STATISTICAL REPORTS (DOES NOT SEQ 0006 H 1 APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) INHIBIT PROGRAM DROPPING OF UNITS IDR EXECUTE AUTODROP CODE LOOP ON TEST ADR LOT EXECUTE EVALUATION (ON DIAGNOSTICS WHICH EVL HAVE EVALUATION SUPPORT) *ERROR MESSAGES ARE DESCRIBED IN SECTION 3.1 SEE THE XXDP+ USER'S MANUAL FOR MORE DETAILS ON FLAGS. YOU MAY SPECIFY MORE THAN ONE FLAG WITH THE FLAG SWITCH. FOR EXAMPLE, TO CAUSE THE PROGRAM TO LOOP ON ERROR, INHIBIT ERROR REPORTS AND TYPE A "BELL'* ON ERROR, YOU MAY USE THE FOLLOWING STRING: /FLAGS:LOE: IER:BOE 2.4 HARDWARE QUESTIONS WHEN A DIAGNOSTIC IS STARTED, THE RUNTIME SERVICES WILL PROMPT THE USER FOR HARDWARE INFORMATION BY TYPING ‘CHANGE HW (L) ? YOU MUST ANSWER °*Y"’ AFTER A START COMMAND UNLESS THE HARDWARE INFORMATION HAS BEEN °‘‘PRELOADED'' USING THE SETUP UTILITY_ (SEE CHAPTER 6 OF THE XXDP+ USER'S MANUAL). WHEN YOU ANSWER THIS QUESTION WITH A "*Y'', THE RUNTIME SERVICES WILL ASK FOR THE NUMBER OF UNITS C(IN DECIMAL). ONLY ONE DRIVE IS PERMITTED TO BE PROM MAINTENANCED PER EXECUTION OF THE PROGRAM THEREFOR ANSWER THIS gt&g}}asfllm *1'. YOU WILL THEN BE ASKED THE FOLLOWING OPTION 1 *IS ENTIRE ML-11 SYSTEM TO BE MASKED' OPTION 2 ‘IS A SINGLE ARRAY TO BE MASKED' OPTION 3 °IS A SINGLE BANK TO BE MASKED' TRANSFER 'SYS' IF TRUE TRANSFER °"DONE® IF FALSE o TRANSFER "BOARD' IS TRUE *ENTER BANK NUMBER TO BE MASKED' *BOARD' 'ENTER BOARD NUMBER TO BE MASKED’ 'sys’ *STARTING RH REGISTER ADDRESS' 'DRIVE UNDER TEST NUMBER' *DONE* *ARE YOUR INPUTED PARAMETERS CORRECT' 2.5 SOFTWARE QUESTIONS SOF TWARE QUESTIONS ARE NOT USED DURING THIS PROGRAM AND THIS QUESTION SHOULD BE ANSWERED WITH A °NO' RESPONCE. HOWEVER IF A YES RESPONCE IS GIVEN THE FOLLOWING MESSAGE WILL BE PRINTED: *NOT USED TYPE <CR>' SEQ 0007 2.6 SEQ 0008 EXTENDED P-TABLE DIALOGUE TRADITIONALLY DRS> PROVIDES YOU WITH THE ABILITY TO BUILD P-TABLES FOR MULTIPLE DRIVE TESTING. BECAUSE OF THE IMPACT OF THIS PROGRAM ON AN ML-11 SYSTEM AND THE LENGTHY RUNTIME ONLY ONE DRIVE WILL BE PROM MAINTENANCED PER EXECUTION OF THIS PROGRAM. HOWEVER THE NATURE OF DRS> WILL STILL ALLOW YOU TO BUILD MULTIPLE DRIVE SELECTION FOR TESTING. THIS PROGRAM WILL TREAT THIS AS A SYSTEM ERROR AND SELECT THE FIRST P-TABLE BUILT FOR THE RUN TIME PARAMETERS. 2.7 START=UP PROCEDURE (XXDP+) TO START=UP THIS PROGRAM: 1. BOOT XXDP+ 2. ENTER THE DATE 3. TYPE "R CZMLC" 4. TYPE ''START" THE START COMMAND WILL BE THE ONLY COMMAND ACCEPTED BY THIS PROGRAM AND TYPING ANY OTHER COMMAND MUST BE AVOIDED. FOR TESTING MULTIPLE DRIVES REPEAT STEPS & THRU 7 FOR EACH DRIVE. 5. ANSWER THE ‘'CHANGE HW'' QUESTION WITH ''v*' 6. ANSWER ALL THE HARDWARE QUESTIONS 7. ANSWER THE ''CHANGE SW'‘ QUESTION WITH ‘N WHEN YOU FOLLOW THIS PROCEDURE YOU WILL BE USING ONLY THE DEFAULTS FOR FLAGS AND SOF TWARE PARAMETERS. THESE DEFAULTS ARE DESCRIBED IN SECTIONS 2.3 AND 2.5. 3.0 ERROR INFORMATION 3.1 TYPES OF ERROR MESSAGES THERE ARE THREE LEVELS OF ERROR MESSAGES THAT MAY BE ISSUED BY MESSAGES A DIAGNOSTIC: GENERAL, BASIC AND EXTENDED. GENERAL ERROR 2.3). (SECTION SET IS FLAG 'IER'' THE UNLESS PRINTED ALWAYS ARE THE GENERAL ERROR MESSAGE IS OF THE FORM: NAME TYPE NUMBER ERROR MESSAGE ON UNIT NUMBER TST NUMBER PC:XXXXXX LWHERE; NAME = DIAGNOSTIC NAME TYPE = ERROR TYPE (SYS FATAL, DEV FATAL, HARD OR SOFT) NUMBER = ERROR NUMBER UNIT NUMBER = 0 = N (N IS LAST UNIT IN PTABLE) TST NUMBER = TEST AND SUBTEST WHERE ERROR OCCURRED PC:XXXXXX = ADDRESS OF ERROR MESSAGE CALL J 1 BASIC ERROR MESSAGES ARE MESSAGES THAT CONTAIN SOME ADDITIONAL INFORMATION ABOUT THE ERROR. THESE ARE ALWAYS PRINTED UNLESS THE *‘IER'* OR “‘IBR'* FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GENERAL MESSAGE. INFORMATION EXTENDED ERROR MESSAGES CONTAIN SUPPLEMENTARY ERRORARE ALWAYS THESE DATA. D SUCH AS REGISTER CONTENTS OR GOOD/BA (SECTION 2.3). SET ARE FLAGS “IXR" OR IBRTM PRINTED UNLESS THE “IER', THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GEWERAL ERROR MESSAGE AND ANY ASSOCIATED BASIC ERROR MESSAGES. 3.2 SPECIFIC ERROR MESSAGES ERROR NUMBER ERROR DESCRIPTION ERR_1 ONLY THE DRS> START COMMAND IS RECOGNIZED TO START THE PROGRAM EXECUTION. ANY OTHER DRS> COMMAND WILL CAUSE THIS ERROR ERR_2 DURING THE HARDWARE QUESTIONS THE OPERATOR 1S ASKED IF A SINGLE BANK, A SINGLE ARRAY OR THE ENTIRE ML-11 SYSTEM IS TO BE PROM MAINTENANCED. HE/SHE IS THEN ASKED IF HIS/HER INPUTS ARE CORRECT. THIS ERROR DETECTS A NO ANSWER FOR SELECTING SYSTEM, ARRAY OR BANK AND A YES ANSWER TO ‘ARE YOUR INPUTED PARAMETERS CORRECT'. ERR_3 EVEN THOUGH DRS> WILL BUILD MULTIPLE P-TABLES THIS PROGRAM WILL USE AS ITS RUN TIME PARAMETERS THE LUN 0°S ENTRIES. THIS ERROR DETECTS THE ABSENCE OF THIS FIRST P-TABLE °"LUN 0°. ERR_4 THIS ERROR DETECTS UNCONFIRMED FAILING CHIPS. ie. CHIPS THAT FAILED DURING MASS BUS WRITE CHECK TRANSFERS BUT THE FAILURE DID NOT REOCCUR DURING DATA DIAGNOSTIC MODES. THIS MAY INDICATE THAT THIS FAILURE MAY BE A SOFT ERROR OR POSSIBLE HARDWARE ERRORS. ERR_5 CONDITION A THIS INDICATES THAT °'ONE' ALL BAD CHIP (GREATER THAN 10 ALL BAD ROWS AND OR COLUMNS) HAS BEEN DETECTED IN A CHIP AT A GIVEN BANK. THIS CHIP IS NOT PROM MAINTENANCED AND THE ERROR CORRECTION IS EXPECTED TO CORRECT THE FAILING DATA SEQ 0009 K 1 ELD SERVICE CAN REPLACE FROM THIS CHIP UNTIL FIELD THE ARRAY FROM WHICH TH 1S CHIP RESI DES. ERR_6 CONDITION B THIS INDICATES THAT A SECOND ALL BAD CHIP HAS BEEN DETECTED IN A GIVEN BANK. THE BAD CHIP IS NOT PROM MAINTENANCED AND FURTHER TESTING OF THIS ARRAY IS ABORTED. FIELD SERVICE SHOULD REPLACE THIS ARRAY BEFORE LEAVING THE SITE. ERR_7 CONDITION C INDICATES THAT BAD NIBBLE OFFSETS HAVE EXCEEDED 14 OFFSETS RESULTING IN UNSAFE ERRORS. THE ARRAYS NIBBLE OFFSETS FOR THIS BANK ARE MASKED UP TO 14 OFFSETS. THE ERROR CORRECTION IS EXPECTED ggnfggRECT THE UNMASKED ERRORS WHICH WERE LEFT FIELD SERVICE SHOULD REPLACE THIS ARRAY MODULE AT THE EARLIEST POSSIBLE DATA. ERR_8 CONDITION D THIS INDICATES THAT PROM BLAST ERRORS WERE DETECTED. THIS MEANS THAT THE SELECTED NEW PROM DATA WAS NOT WRITTEN INTO THE ARRAYS PROMS CORRECTLY. EITHER THE SELECTED PROM LOCATIONS WERE NOT WRITTEN CORRECTLY OR OTHER PROM LOCATIONS WERE INADVERTENTLY WRITTEN INTO. THIS COULD RESULT IN EITHER BAD LOCATIONS flgxhelgl’ BEING MASKED OR GOOD LOCATIONS ARE BEING LATER ROUTINES WILL DETERMINE IF THIS SITUATION WARRENTS THE ARRAY TO BE REPLACED. IF NO OTHER ERROR MESSAGES OCCUR AFTER CONDITION D MESSAGES THEN IGNORE THIS ERROR. ERR_9 AS MENTIONED BEFORE ONLY THE FIRST P-TABLE BUILT WILL BE USED AS THE PROGRAM PARAMETERS. THIS ERROR DETECTS THAT MORE THAN ONE P-TABLE WAS BUILT DURING THE HARDWARE QUESTIONS. ERR_10 DURING WRITING NEW PROM DATA TO THE PROMS THE DATA CLOCK BIT LOCATED ON THE ARRAY DATA MODULE IS TESTED FOR COMPLETION OF THE PROM WRITE. THIS ERROR DETECTS THE FAILURE OF THIS BIT TO CLEAR AFTER WRITING TO THE PROMS. ERR_11 AFTER THE PROMS HAVE BEEN WRITTEN WITH NEW PROM SEQ 0010 k_ 3 DATA THE PROGRAM VERIFIES THAT ALL NEWLY FAILING ROWS AND COLUMNS HAVE BEEN SUCCESSFULLY MASKED OUT. THIS ERROR DETECTS THE OCCURANCE OF UNCORRECTABLE ERROR DURING THIS VERIFY PASS. THIS ERROR CAN NOT BE TOLERATED AND THE ARRAY IS CALLED OUT FOR REPLACEMENT. FIELD SERVICE MUST REPLACE THIS ARRAY MODULE BEFORE LEAVING THE SITE. IF THIS ERROR STILL EXITS AFTER THE ARRAY IS REPLACED THEN POSSIBLE HARDWARE ERRORS MAY EXITS IN THE DRIVE. SHOULD BE RUN AGAIN. ERR_12 THE LOGIC TEST AND EXERCISER AGAIN DURING THE VERIFY PASS THE DRIVE IS EXAMINED FOR ERRORS AFTER BLASTING. SINGLE BIT ERRORS ARE TOLERATED IN BANKS WHICH ARE RUNNING DEGRADE MODE (EITHER ONE ALL BAD CHIP WAS LEFT BEHIND OR NIBBLE OFFSETS GREATER THAN WERE DETECTED). HOWEVER NON = DEGRADE MODE BANKS SHOULD BE RUNNING ERROR FREE AFTER BLASTING. THIS ERROR DETECTS THE OCCURANCE OF ERRORS IN THE BANKS WHICH ARE NOT IN DEGRADE MODE. THIS COULD INDICATE THAT THE PROGRAM FAILED T0 TO FIND AND MASK OUT ADDITIONAL ERRORS IN THE BANK OR THAT POSSIBLE HARDWARE ERRORS EXIST. THE PROGRAM SHOULD BE RUN ON THIS BANK AGAIN. IF THE ERROR STILL EXISTS THEN ISOLATE WHERE THE PROBLEM LIES. IF THIS PROGRAM 1S SUSPECTED THEN CONTACT MEMORY DIAGNOSTIC ENGINEERING. ERR_13 THIS ERROR DETECTS THE PRESENTS OF UNEXPECTED DRIVE ERRORS DURING OR AFTER A MASS BUS TRANSFER. AFTER THE A MESSAGE IS PRINTED STATING THE ERROR ALL THE DIRECTLY READ ML-11 REGISTERS ARE DUMPED TO THE TERMINAL FOR OPERATOR REVIEW. 4.0 PERFORMANCE AND PROGRESS REPORTS AT THE END OF EACH PASS, THE PASS COUNT IS GIVEN ALONG WITH THE TOTAL NUMBER OF ERRORS REPORTED SINCE THE DIAGNOSTIC WAS STARTED. THIS PROGRAM WILL BE EXECUTED ONE TIME PER 'START' COMMAND ISSUED. THE DRS> REPORT OF HOW MANY OF ERRORS DETECTED HAS NO MEANING DURING EXECUTION OF THIS PROGRAM. ONC” THE PROGRAM EXECUTION HAS COMPLETED THIS JUST PM'ED UNIT IS “OPPED TO SUPPRESS FURTHER PROGRAM EXECUTION AND CONTROL IS PASSED TO DRS>. DROPPING OF A UNIT RESULTS IN A DRS> MESSAGE OF 'PASS ABORTED FOR SEQ 0011 THIS UNIT*. LR THIS MESSAGE HAS NO SIGNIFICANCE ON THE PROGRAMS EXECUTION AND SHOULD BE IGNORED. A REPORT OF THE PROGRAMS PERFORMANCE CAN BE OBTAINED VIA THE DRS> COMMAND ‘PRINT®. 5.0 DEVICE INFORMATION TABLES HARDWARE P-TABLE ENTRY DEFINTITION TABLE LOCATION DESCRIPTION 1. A_HWTBL : INITIAL(0) STORES A TRUE OR FALSE VALUE AND HAS NO DEFAULT VALUE. SELECTS WHETHER THE ENTIRE ML-11 SYSTEM (ALL PRESENT ARRAYS) ARE TO BE PM'ED. 2. B_HWTBL : INITIAL(0) STORES A TRUE OR FALSE VALUE AND HAS NO DEFAULT VALUE. SELECTS WHETHER A SINGLE ARRAY MODULE IS TO BE PM'ED. 3. C_HWTBL : INITIAL(0) STORES A TRUE OR FALSE VALUE AND HAS NO DEFAULT VALUE. SELECTS WHETHER A SINGLE BANK IS TO BE PMED. 4. D_HWTBL : INITIAL(0) STORES THE SELECTED BANK NUMBER TO BE PM'ED IF PM"ING SINGLE BANKS. THERE IS NO DEFAULT VALUE. S. E_HWTBL : INITIAL(0) STORES THE SELECTED ARRAY MODULE TO BE PM'ED IF PM'ING SINGLE ARRAYS. THERE IS NO DEFAULT VALUE. 6. F_HWTBL : INITIAL(176400) zgggggsTHE RH CONTROLLER BASE REGISTER THE DEFAULT ADDRESS IS %0°176400°. 7. G_HWTBL : INITIAL(O0) STORES THE DRIVE SELECTION NUMBER OF THE SELECTED DRIVE TO BE PM'ED. THERE IS NO DEFAULT VALUE. 8. H_WWTBL : INITIAL(0) | 9. I_WWTBL : INITIAL(TRUE) STORES THE DRIVE OPTION CODE FOR THE SELECTED DRIVE. YES = 16K MOS RAMS NO = 64K MOS RAMS STORES A TRUE OF FALSE VALUE. THIS FORCES THE OPERATOR TO REVIEW HIS/HER PARAMETER INPUTS FOR CORRECTNESS SEQ 0012 N 1 BEFORE PERFORMING PROM MAINTENANCE. THE DEFAULT VALUE IS TRUE. 6.0 PROM MAINTENANCE TABLE REPRESENTATIONS ERROR MAP THE ERROR MAP IS A BLOCK VECTOR OF 512 BLOCKS. THESE BLOCKS REPRESENT THE SECTORS IN A CHIP. EACH BLOCK HAS 8 WORDS. THESE BIT POSITIONS IN THE WORDS REPRESENT ROW ADDRESSES 0 TO 127. THE ADJACENT COLUMN ADDRESS FOR EACH ROW ADDRESS CAN 5t CALCULATED BY ADDING THE ROW ADDRESS TO THE ROWS SECTOR NUMBER. ERROR_MAP I I I ROWS 0-127 i I SECTOR 0 1 I I I i I i ROWS 0-127 1I SECTOR 1 I I I I i i i: ROWS 0-127 i! SECTOR 511 OR 127 I 1 I I MAIN BLAST TABLE THE BLAST TABLE IS A BLOCK VECTOR OF FOUR BLOCKS. EACH BLOCK REPRESSNTS PROM BANKS 0 TO 3. EACH BLOCK HAS 512 WORDS. EACH BLOCK IS FURTHER R SECTION REPRESENTS DIVIDED INTO TWO SECTIONS. THE IF 64K CHIPS) 256 0 TO ROW PROM DATA 0 TO 127 (OR 0 TO 127 DATA PROM AND THE LOWER SECTION COLUMN (OR 0 TO IF 64K CHIPS). MAIN BLAST TABLE SEQ 0013 I I I 1 1 1 ROWS ADRS { ............ } BANK 0 I 1 1 I COLS ADRS I I I I { ROWS ADRS { {--.... ........ { BAM I 1 | I COLS ADRS I I I I { ROWS ADRS } ..... % --“----{ BAM ROWS ADRS 1 1 1 COLS ADRS 1 1 I 2 1 I 1 1 { COLS ADRS I I 1 1 { 1 THE BLAST TABLE IS LOADED WITH THE NEW PROM DATA TO MASK OUT THE NEWLY FAILING ROWS AND COLUMNS AND IS ALSO LOADED WITH THE OLD PROM DATA FROM PREVIOUS PROM BLASTING. TEMP BLAST TABLE THE TEMP BLAST TABLE IS A BLOCK OF 1 IS STORED A BAD ROW OR COLUMNS RESPE ITS ROW OR COLUMN NUMBER AND A F L THE TABLE ENi=Y IS A ROW ADRS OR A COLUMN ADRS THIS TABLE IS NEic SSARY BECAUSE ONCE A BAD ROW OR COLUMNS ADDRESS IS STORED INTO THE MAIN BLAST TABLE THERE IS NO WAY OF KNOWING OF WHICH NIBBLE THE ROW OR COLUMN COMES FROM. THIS INFORMATION IS NEEDED WHEN THIS PART IS DETERMINED TO BE ALL BAD ( > 10 ALL BAD ROW OR COLUMNS) IN THIS EVENT THIS CHIPS NEWLY FAILING ROWS AND COLUMNS ARE NOT BLASTED. TO ACCOMPLISH THIS THE TEMPORARY BLAST TABLE IS SIMPLY NOT TRANSFERED INTO THE MAIN BLAST TABLE. TEMP BLAST TABLE —— ey, e e 310 12 70 4 15 Ll L BITS : % R_C } 1 I 1 i 1 1 1 I I I I I 1 I 1 1 1 { R_C_NUMBER % NIBBLE NUM % ENTRY 0 I 1 1 1 1 I 1 1 I 1 1 1 1 I 1 I I ENTRY 1 1 1 1 I ENTRY XX 1 1 TABLES USED IN CALCULATING SELECTED ROWS AND COLUMNS FOR BLASTING. ‘ COLUMN COUNT TABLE OF TIMES THE NUMBER THE OF COUNT A KEEPS TABLE THIS ROW. FAILING R PARTICULA A WITH FAILS COLUMNS ROW COUNT THIS SINGLE VARIABLE COUNTS HOW MANY TIMES A ROW NUMBER IS FOUND BAD WHEN SEARCHMING THE ERROR MAP. EACH TIMZ A ROW IS FOUND BAD THE COUNT IS INCREMENTED. IF THIS COUNT GETS > 10 THEN THIS ROW IS CALLED ALL BAD AND IS SELECTED FOR BLASTING. WHEN THIS HAPPENS THE COUNTS OF THE ADJACENT FAILING COLUMN IS DECREMENTED BY ONE AND THIS ROW NUMBER IN THE ERROR MAP IS CLEARED OF ALL OCCURANCES. IF THE ROW COUNT DOES NOT REACH > 10 AFTER SEARCHING_ THRU THE ERROR MAP THEN THIS ROW IS NOT SELECTED FOR BLASTING AT THIS TIME AND THE ADJACENT FAILING COLUMN COUNTS ARE NOT DECREMENTED. COLUMN POINTER TABLE AS MENTIONED BEFORE THIS TABLE POINTS TC THE ADJACENT FAILING COLUMN NUMBERS WHICH FAILED WITH THE ROW SEARCH. REMAINDER TABLE THE PROGRAM EXECUTION WILL FIRST SEARCH THE ERROR MAP FOR ROWS WITH GREATER THAN 10 COUNTS AND THE ADJACENT FAILING COLUMNS COUNTS ARE INCREMENTED. NOW ONCE THE ERROR MAP HAS BEEN SEARCH FOR ROWS COUNTS > 10 THEN COLUMN COUNT TABLE 1S SEARCHED FOR COLUMN COUNTS > 10. IF A COLUMN COUNT IS > 10 THEN THIS COLUMN NUMBER IS SELECTED FOR BLASTING AND ITS COUNT IS CLEARED. ALL THAT IS LEFT NOW ARE RANDOM FAILING ROWS AND COLUMNS SCATTERED THROUGH THE CHIP, THESE SCATTERED ROW COLUMN PAIRS ARE TRANSFERED INTO THE REMAINDER TABLE WHERE THEY CAN BE INTERIGATED AND SELECTED FOR THE BEST POSSIBLE BLASTING CHOICE. COLUMN COUNT TABLE [======-1 SE@ 0015 e e e el e e I el e L 2 & CCL coL 6 coL 7 coL 8 coL 9 coL 10 coL 1 oL xx ROW COUNT 1 1 I 1 1 1 g Boeng) $russl e oy sy B e (rinst Prees By g P (g Prd g B Brong B S Prsh Pt COLUMN COUNT POINTER TABLE POINTER 0 POINTER 1 POINTER 2 POINTER 3 POINTER XX BAD CHIP TABLE THE BAD CHIP TABLE STORES AWAY FAILING CHIPS DISCOVERED BAD IN A _BANK DURING WRITE CHECK TRANSFERS AND DURING SINGLE STEP DMA MODES. FOR EACH CHIP IS ALSO STORED. THE FAILING DATA PATTERN THIS TABLE IS A BLOCK OF 39 WORDS AND THE BIT DEFINITIONS ARE AS FOLLOWS: — Bt Bt coL 5 SEQ 0016 g By B by B Bt 3 coL COL ADRS et Py ot et Pt Bt P g Bat Bt coL 2 ROW ADRS L e L 1 coL et Ge St bt Bog i e e e e e e e b D@ Gt fumnd et Do Peang Bt Bt Gred et Poiw B ot e Bt Pk Bt B Gt Bt Py it oy Dt Doy D D REMAINDER TABLE coL 0 BIT 15 BIT 14 BIT 1% BIT 1 BIT 11 BIT 10 BIT 9 BIT ; BIT BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 1S A FAULT_INDICATOR INDICATES ZEROES DATA FAILURE NDICATES ONES DATA FAILURE NDICATES RANDOM DATA 1 FAILURE INDICATES RANDOM DATA 2 FAILURE INDICATES RANDOM DATA 3 FAILURE INDICATES RANDOM DATA & FAILURE INDICATES RANDOM DATA 5 FAILURE NDICATES RANDOM DATA 6 FAILURE INDICATES RANDOM DATA 7 FAILURE INDICATES RANDOM DATA 8 FAILURE INDICATES RANDOM DATA 9 FAILURE INDICATES RANDOM DATA 10 FAILURE INDICATES RANDOM DATA 11 FAILURE INDICATES RANDOM DATA 12 FAILURE INDICATES RANDOM DATA 13 FAILURE SEQ 0017 BAD CHIP TABLE l.......l 1 I CHIP 0 1 I CHIP 1 { } CHIP 2 } } CHIP 3 I I CHIP & 1 I CHIP 5 { } CHIP XX I I CHIP 38 l“..-.-l l.....-.l l.......l I...-...] l---....l 7.0 TEST SUMMARIES THIS PROM MAINTENANCE PROGRAM CONTAINS ONLY ONE TEST. THIS ONE TEST IS THE MAIN CONTROL LOOP WHICH LOOPS THE PROGRAM EXECUTION ON THE SELECTED ARRAYS AND BANKS FOR PROM MAINTENANCE. 8.0 MAINTENANCE HISTORY MODIFIED BY: D.W. NEALE DATE: 18=FEB-82 VERSION: B MODIFICATIONS TO THIS DIAGNOSTIC ARE PRECEEDED WITH A LINE COMMENT OF *! VERSION CZML(B'. )% ELUDOM E_ RIS BSKEL2 REV B PATCH 00 BEGIN ) e =D ) —d ——d —d REBBRR S e A AA A 2gaesSERIRAR (alalalelel SEYERRURDES —o P44 e e o e e e e e o e o ViAW iV ek —d e cd b ) cod - D cd amd D e D e Wb b cd b —d D b D b d (alalalelyl REQUIRE °"BLSMAC.REQ'; (alalalels el T R T A TR A TR TRDA LR LA 1 R R A A RR T A TS TRTR MODULE BSKEL2 ( IDENT = "REV B PATCH 00°) = o0cs ISBTTL 'PROGRAM HEADER® T L T L L L L L L T PRL L LA L TR TR L TR R T LN T 8881 ¥ LITERAL DSSNBR_OF _TESTS = 1; -A : THE PROGRAM MEADER IS THE INTERFACE BETWEEN : THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. I} EQUALS: POINTER (ALL); HEADER (ZASCII'CZMLCA',XASCII'B',%ASC1I1'0°,120,0,PRI00); XSBTTL °DISPATCH TABLE® x( s ; THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. : IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. iz DISPATCH (DSSNBR_OF_TESTS); ERRTBL; %SBTTL °*DEFAULT HARDWARE P-TABLE' x( ++ THE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF THE TEST-DEVICE PARAMETERS. THE STRUCTURE OF THIS TABLE IS IDENTICAL TO THE STRUCTURE OF THE HARDWARE P-TABLES, AND IS USED AS A ‘‘TEMPLATE'® FOR BUILDING THE P-TABLES. TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKLZ.BLI.1 (1) Page SEQ 0018 1 C 154 N Vi NN =OVON o JSSEIGHEL 22 VONOWNS e e i e e e e i i s o b— Vil Vivauiwviuavivaiuiun vivioawb i s e s d e alelalalalalalelyl e e s e e TR T TR TR P T P b eke e b SEEEESRS b wemd D ad 16: Bliss=1 TOPS~20 20 Bliss v2(212) PA:<NEALE>PMSKL2.BLI.1 (1) (DFPTBL): GLOBAL A_HWTBL : INITIAL (0), BCHWIBL : INITIAL (0), CTHWTBL : INITIAL (0). D-HWTBL : INITIAL (0). ECHWTBL : INITIAL (0). FTHWTBL : INITIAL (30°176400'), G-HWTBL : INITIAL (0), H-HWTBL : INITIAL (1), I"HWTBL: INITIAL (1); = IMASK ENTIRE SYSTEM FLAG INDICATOR iMASK A SINGLE ARRAY FLAG INDICATOR iMASK A SINGLE BANK FLAG INDICATORG iBANK NO, TO BE MASKED TARRAY NO. TO BE MASKED iRM REGISTER BASE ADRS iDRIVE SELECT NO. OF DRIVE TO MASKED 1 = 16K MOS RAMS, 0 = 64K MOS RAM IOPTION, iPARAME TERS CORRECT INDICATOR %SBTTL 'SOFTWARE P-TABLE' " * THE SOFTWARE TABLE CONTAINS VARIOUS DATA USED BY THE PROGRAM AS OPERATIONAL PARAMETERS. THESE PARAMETERS ARE SET UP A ASSEMBLY TIME AND MAY BE VARIED BY THE OPERATOR AT RUN TIME. HOWEVER THIS PROGRAM WILL NOT USE THIS OPTIONAL : * . SECTION. : )31 ' ] i THERE ARE NO SOFTWARE QUESTIONS USED DURING THIS PROGRAM. HOWEVER THIS SOFTWARE TABLE LOCATION IS PROVIDED IN THE EVENT OF A 'YES' RESPONCE TO THE DRS> SOFTWARE QUESTION °‘Change Software' OBAL e md cmd med wmd - OO0 D e o -Mar-1982 BGNSW (SFPTBL): Yl a Al (alalelele] BGNHW i i i ; e TR LRT T L AL AL LR L L PRTR LRI AL AL ALA T TR P P T A T T e e TR DEFAULT HARDWARE P-TABLE 3 }g-fmgw 5 16:87:3 %18 fx 1 T TRLA L T L T T BSKEL2 REV B PATCH 00 SWTBLS_RET : INITIAL (0); ENDSW; XSBTTL 'PROTECIION TABLE' x( I ; THIS TABLE IS USED BY THE RUNTIME SERVICES ; TO PROTECT THE LOAD MEDIA. 1DUMMY ARGUMENT Pa 21 SEQ 0019 §R32305888888 = x 3 = (=) w < ) 1R 108 10:07:33 PROTECTION TABLE )} 4 BGNPROT (=1,-1,-1); '1ST ARG = ARG = : ARG = : OFFSET INTO P-TABLE FOR CSR ADDRESS OFFSET INTO P-TABLE FOR MASSBUS ADDRESS OFFSET INTO P-TABLE FOR DRIVE NUMBER ENDPROT; END ELUDOM .TITLE .IDENT 132 103 115 101 .PSECT LSNAME::.ASCI1 LASCII BYTE .BYTE LSREV:: .ASCI11I LASCI1 LSUNIT::.WORD LSTIML::.WORD LSHPCP::.WORD LSSPCP::.WORD . WORD LSHPTP:: LSSPTP::.WORD LSLADP: : .WORD LS$STA:: .WORD L$CO:: .WORD LSDTYP::.WORD LSAPT:: WORD LSDTP:: .WORD LSPRIO::.WORD LSENVI::.WORD : . WORD LSEXP1: LSMREV: LSEF:: .BYTE BYTE .WORD WORD L$SPC:: WORD LSDEVP::.WORD LSREPP::.WORD LSEXP4:: . WORD BSKEL2 /REV B / SCODES /CZM/ /LCA/ O O /3/ 70/ TSPTHV 170 LSHARD LSSOFT LSHW LSSW bSLASY O O O LSDISPATCH O O O g O O O LSDVTYP LSRPT O TOPS-20 Bliss=16 PA: v2(212) ALE>PMSKLZ2.BLI.T1 (1) SEQ 0020 3 ~N B PATCH 00 PROTECTION TABLE LSDE SP L7351 : LSLOAD: LSE TP::: :: LSDISPATCH:¢ .WORD ERRTYP:: .BLKU ERRNBR: : .BLKW ERRMSG: : .BLKW ERRBLK: : .BLKW ey DSPCNT OO LSICP: L‘CCP © © © © <<LSNDHW=LSHWLEN>/2> o B 8 & R X & 8¥RER RNSGrRUoSRREANN 18nar-1988 18:84:70 LSEXPS:: LSAUT:: L$DUT:: LSLUN:: g & § § § § 83883 S3=c3s8ass ss2 2 bbb m % [+ ] L ] 175400 000001 000001 000000c LSNDHW: : .BLKW LSSWLEN:: - WORD SWIBLS.RET:: WORD 177777 177777 177777 LSNDSW: : .BLKW LSPROT:: .WORD .WORD TOPS~ 0 Bliss~1 PA: ALE>PMSKL v2(212) n SEQ 0021 J BSKEL?2 REV B PATCH 00 2 18-Mar=1982 16:07:33 BRar1988 18:00:38 PROTECTION TABLE .GLOBL LSSOFT, TSPTHV, LSRPT, LSINIT ‘GLOBL LSCLEAN, LSLAST, LSHARD, LSDVTYP "GLOBL LSDESC, LSDU, L$AU, LSAUTO, T1 100000 040000 02 01 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 000040 000037 000036 000035 34 BIT15== BIT14== BIT13== BIT12== BIT11== BIT10== 8l 1'89== BIT ;== BIT07== BIT06== BIT05== BIT04== BIT03== BIT02== B1T01== BIT00== BIT9== BIT8== BIT7== BITé== BIT5== BIT4== BIT3== BIT2== BIT1== BITO0== EF .START== EF .RESTART== EF . CONTINUE== EF .NEW== EF .PWR== -100800 4000 20000 1 8 00 4 80 2000 1 880 4 %08 0 40 20 10 4 2 1 1000 400 200 100 & 2 1 4 2 1 9 PRI07== 4 40 PRIO5== 40 000140 000100 0 PRI03== PR102== PRIO1== 14 180 4 000010 LOT== 18 000340 000240 200 000100 PRI06== PRI04== PR100== EVL== ISR== 0 4 5 4 1 TOPS=20 Bliss=16 V2(212) PN nEALEsPReKLD.BEIC 1t ¢ SEQ 0022 5 BSKEL?2 REV B PATCH 00 PROTECTION TABLE PRI== 002000 004000 010000 020000 040000 IXE== IBE== 1ER== LOE== HOE== 58 LSERRTBL== LSSHff LSHW== 40' LSDEPO== 000011"* 000140° 000166" Size: Run Time: 8:::::% 988 18:84:%3 DFPTBL== SFPTBL== 0 code + 64 data words 00:03.4 Elapsed Time: 00:10.0 { Used: 29 pages Compilation Complete ¢ : - 0 ERRTYP LSSWLEN+ LSHWLEN+ LSREV+1 LSHULEN*S LSSWLEN+ TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKLZ2.BLI.1 (1) Page SEQ 0023 6 L 2 }g-n.r-wgs }ggzg BSKEL3 REV B PATCH 00 TOPS=20 Bliss=1 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) TR TR TN T T BMégllJ'L‘E BSKEL3 (IDENT = 'REV B PATCH 00') = REQUIRE °'BLSMAC.REQ'; EQUALS EXTERNAL ROUTINE ISUMMARY REPORT CODE ROUTINE DRTR TR T SUMMARY : NOVALUE; RS wwwg DEVIYP (XASCIZ'ML-11 BLOCK MODE MEMORY SYSTEM'); DESCRIPT (XASCIZ'ML=-11 PROM MAINTENANCE PROGRAM'); XSBTTL 'HARDWARE PARAMETER CODING SECTION' x( PRTR TR TR LR ] s+ LA TETR alalalalalslislals] e i e o e i e e e e e e o i s b b o cmd s b e cd b e D b b i iv Vil Vil vV NN NI NI NI NI NI NI NIN = b e o cnd e e md cd S VONOWVSWN=OVRONOWVSWN=O W)= —O\0 S e T o T ) —b TR TRTR PRTR TR I8N SRER288 %SBTTL °*TYPE AND DESCRIPTION' T AT ETE TR LRL LA TATE TR R L A L R L R L R L PR LR e e e e e e T T e R A R TR -Mar=19 THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD P=-TABLES. THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. _THE MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR. X BGNHRD; BIND : : DEF INE HARDWARE MESSAGES M_SYS = UPLIT(XASCIZ'IS ENTIRE ML-11 SYSTEM TO BE MASKED ?'), M_ARR = UPLIT(XASCIZ'IS A SINGLE ARRAY TO BE MASKED ?°), M_BNK = UPLIT(ZASCIZ'IS A SINGLE BANK TO BE MASKED %), M_BNK_NO = UPLIT(ZASCIZ'ENTER BANK NO. TO BE MASKED 2°), ") MASKED BE TO NO. BOARD CIZ'ENTER UPLIT(XAS = M_BRD_NO M_RH_BASE = Y IT(SASCIZ*STARTING RM BASE REGISTER ADDRESS ! SELECT WHICH OPTION THE PROGRAM IS ! TO RUN UNDER. - : ?'J, s M_DUT = UPLIT(XASCIZ'DUT DRIVE NUMBER M_OPTION = UPLIT(XASCIZ'IS DRIVE OPTION AN Mi11A %), M_CORRECT = UPLIT(XASCIZ'ARE YOUR INPUTED PARAMETERS CORRECT 2?°); OPTION 1. PROM MAINT ENTIRE ML11 SYSTEM OPTION % PROM MAINT A SINGLE ARRAY OPTION 3. PROM MAINT A SINGLE BANK Page SEQ 0024 1 BSKEL3 REV B PATCH 00 HARDWARE PARAMETER CODING SECTION - ; ' 154§ 3 1346 : 1550 GPRML (M_ARR,%0°'2°,1,N0,1); ; }fs»g% : ASK AM I TO MASK A SINGLE BANK ? : }ggg : : -Mar=1 | ASK AM 1 TO MASK AN ENTIRE SYSTEM ? }gz‘ (M_SYS,%0°'0°,1,N0,1); GPRML XFERT (DRV_PRAM) ; ; n 2 16:07:4 13 ar 935 1?32‘:2§ 18=Mar=1982 1545 | ASK AM 1 TO MASK AN ENTIRE ARRAY ? 1348 :.(rem(emsn,somos: }g? }ggg 1557 {;mun_sux.zo't.'n.no.n: i INPUT TO THE PROGRAM THE SELECTED : }?2‘1’ XFERF (DONE_HRD) ; : : : : : 3 }gg% 1564 }ggg }gg; 1569 }g;? : 1572 ; }g;g ; 1576 GPRMA(M_RH_BASE ,%0°12',0,0,%0°177777° ,YES,1); 1) ; : 1581 1582 1583 i NEXT QUESTION. : ; : : : : : ; i ENTIRE DRIVE UNDER TEST i ENTIRE DRIVE OPTION 16K PARTS OR 64K PARTS GPRMD(M_DUT.%0°14° .0, %0"7°0,%0°77* N0, g'mm:opriou.zo'is L8015 i FORCE THE OPERATOR TO REVIEW HIS INPUTED i PARAMETERS FOR CORRECTNESS BY ASKING THE THE INIT CODE WILL ABORT i THE PROGRAM EXECUTION IF HE RETURNS A NO | RESPONCE ;ggg . }ggg 2 i ENTIRE RH BASE ADDRESS 1577 }g;g 1580 1586 : : : ENTIRE BANK TO BE PROM MAINT AL 3" ,NO,1); GPRMD (M_BNK_NO,%0°6",D,%0'7*,0,XDECIM SL(ENTER_BOARD)T : ENTIRE BOARD TO BE PROM MAINT IMAL 15" ,NO,1); GPRMD (M_BRD_NO,%0°10°,D,%0°77*,0,XDEC SL(DQV_PRAHT: 1573 : : | PROGRAM RUN TIME PARAMETERS. 1587 $L (DONE_HRD); ENDHRD; GPRML (M_CORRECT,%0'20°,1,YES,1); Fs'gg YSBTTL 'SOFTWARE PARAMETER CODING SECTION' c 1592 %( C 1593 ;++ iss=1 TOPS~ 0PS~20 Bliss v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page ¢ . SEQ 0025 i | ;| | N il cd e o o o -? e DRTN e CONOWVISWN=O D v 3258580828328238 ) b-— 3 D D nd D alalalalalals) MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR. HOWEVER THIS PROGRAM WILL NOT USE THIS SECTION. fx BGNSFT; BIND o Nog lil_RET = UPLIT(XASCIZ' NOT USED TYPE <CR>'); (o Lo Yo To Yo Yo Jo Tt % INPUT THE SOFTWARE QUESTION TO THE PROGRAM b ed ed OO N ~ GPRML (M_RET,0,1,YES,1); ENDSFT; * o~ XSBTTL °"REPORT CODING SECTION' —camsmmemmoem(l) wrow P ONONONONONONONON On N VIS W = O 000NN HSUNN=00 & &uguuu\m\swn d ed et D e e alalalalsl e e R e e e D N A P B | g DEFINE THE SOFTWARE MESSAGES D D e - D e L PRI TR LA PRLA TRL L LA T A TRL L TR TR A R T e ee s e A IRR T THE SOF TWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE e e AL AT LR LA LALR D cd e LALR PRTR TR TR TN T BSKEL3 REV B PATCH 00 SOFTWARE PARAMETER CODING SECTION 0000C0 2 1 -Har-19ss 12:07:45 18-Mar-1982 15:44:21 HE REPORT CODING SECTION CONTAINS THE ! "PRINTS'' CALLS THAT GENERATE STATISTICAL REPORTS. )% GNRPT; i THE SUMMARY REPORT CODE ROUTINE FOR THIS i PROGRAM IS LOCATED IN PMSKL4 OF THIS ! DIAGNOSTIC. SUMMARY (); RETURN; !CALL THE REPORT SUMMARY ROUTINE ENDRPT; .TITLE .IDENT BSKEL3 /REV B / .PSECT SCODES TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page 3 SEQ 0026 88 58883‘12015607’=INTMNOWN=&2=¥ 2% g aw a 7: 4 5 4 12 1 8 §:¢ 1 1 PA:<NEAI.E>PHSKI.2.BLI 1 (D T0PS=20 Bliss=~1 SWERS S E IhE s SRBw ErBS o L O—-qlc 3 3 m a8 & m E m ["swa) @o [& 8 3 1 ~Mar= 1 9 1 ~Mar~ 1 9 <<<LSNDHRD=LSHRDLN>/2>=1> 120 H. SY$S 83 8 8383 38 338 8 8 8 ««uouv.nm—mv.m-l.oow.»zo> 1120 ENTER.BOARD=-SENTER.BOARD>*400>+4>+20> +4>+40> 00>*4 <<<SL DONE . HRD=SDONE . HRD 2 «BNK. NO 0N BRDNO v2(212) Pa 4 SEQ 0027 i ' | l { 39 18-Mar-1 C 12:“:21 13-!!&-1935 16:07:45 BSKEL3 REV B PATCH 00 REPORT CODING SECTION 000160 001004 SLDRV.PRAM: .WORD ) GPS7:: 5031 M.RH.BASE O =1 6022 M.DUT 7 GP$8:: WORD .WORD .WORD WORD M.OPTION 1 MWORD 0000(7)9 000. 000202 0000 7120 000 376" 000 1 000210 000212 SLDONE.HRD: .WCRD 001004 GP$9:: 000214 010130 000216 000436° 000220 00C001 000224 000226 000130 000230 000232 34 000504° 000001 mm 105 m 040 055 040 123 115 117 105 101 105 077 m 101 mm 114 101 101 124 BLkW 1 GP$10:: .WORD 123 116 122 115 061 123 124 040 040 040 123 104 000 123 040 116 105 1;2 131 117 040 124 105 114 061 13 105 124 102 115 113 040 P.AAA: 040 123 107 040 122 040 040 P.AAB: { 130 M.RET 1 BLKW 1 PSECT SPLITS, ASCII LASCII .ASCI1 ASCII ASCII ASCII LASCII1 LASCII LASCI1 LASCI1 LASCII .ASCII ASCII .ASCI1 LASCII LASCII LASCII LASCII ASCII LASCII ' l <<<LSNDSFT=LSSFTLN>/2>=1> .WORD LWORD LSNDSFT:: a 1804 10130 M.CORRECT 1 LSSFTLN:: MWORD 000000C | | O 77 7120 .WORD .WORD WORD LSNDHRD: : 000222 5 Pa SEO”OOZB 1824 .WORD .WORD LMWORD WORD .WORD .WORD .WORD GP$6:: 000162 005031 276" 000164 000166 000170 1777 000172 888022 344" 000174 000176 000007 TOPS-20 Bliss=16 v2(212) SKL3.BLI.1 (1) PA:<NEALE>PM /IS / /ENT/ /IRE/ ML/ 7/ /-1V/ 7 SY/ /STE/ /M 1/ /0 B/ /E MW/ /ASK/ /ED / 72/<00> /1S / /A S/ /ING/ /LE / /ARR/ /AY / /T0/ D ' ; , | - 3 S har- 1983 e 8: o N REPORT CODING SECTION D PA:(NEALE>PH$KL§.GLI.1 N TOPS~20 Bliss=~1 v2(212) Pa SEQ 6 95029 s SESRS Rl T s S Ses sa isa ts anse sian P8233INS ¢|¢lql OSFNNMOONMN=NNVMF==NMON REV B PATCH 00 1 1 N BSKEL3 AAD N mpeaDo—lk O=- P.AAC: m P. e : Page BSKEL3 REV B PATCH 00 REPORT CODING SECTION P.AAG: P.AAl: a3 R I I R R R R R N e N a trtrtr trtrtrtrtrtrdrtrardrs e SEQ 0030 .GLOBI. 100000 BIT15== >xX11> A €T / SUMMARY =100000 7 TOPS=20 Bliss=16 v2(212) Page SEQ 0037 8 it L i 3 oooggggggggg PA:<NEALE>PMSKL3.BLI.1 (1) BIT01== 000200 000100 000040 000020 BIT7== BIT6== BIT5== BITé== 000004 000002 BIT2== BIT1== 300 000240 BIT)== EF .START== EF .RESTART== EF .CONT INUE== EF .NEW== EF.PWR== PRIO7== PR106== PRI05== 40 PRI03== 200 PRI04== 000000 000004 PR100== EVl== g tai= RRSIRE " n -t == o -'388838 Bgg o (o000 g 000140 0 §§§§§§§§§§3§3’°"» 000001 000040 000037 000036 000035 34 000340 BIT3== No 000010 BIT8== °°°888§ B8IT19== R BIT00== 001000 S 1 BIT02== S — 2 R Y A ) R R R AR R L g e et e d g =g L R 823 nos L TR REPORT CODIMNG SECTION DOODDODO® REV B PATCH 00 }g:%g }s-;lrg}gss -Mar- o BSKEL3 16:07: 4 5 21 13-”0#19% lg:“: REPORT CODING SECTION T0PS-20 BLiss-16 V2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page 9 SEQ 0032 SHROLN+2 000102 ° 000114 000 Ll AAA AAB AA AAD AA P.AAF +AAG P.AAH P.AAl m REV B PATCH 00 VOOVVO0 — BSKEL3 G 3 18-Mar-1982 000436 .SBTTL +PSECT 0000006 LRPT: : Routine Size: 3 words : Maximum stack depth per invocation: 0 words 000244 000250 000252 004767 000207 004767 104425 000207 TRAP RTS =00 W e e e e e K FRRRRRRRR e S3% \flz\h\fl\fl\fl VIS WN=OW0 e e R I OO I PR TR AT A IR AT ATETET AT A A A PO T 1Y : Routine Size: 4 words : Maximum stack depth per invocation: ISBTTL JSR RTS .SBTTL LSRPT:: JSR 177766 0 words *AUTODROP SECTION' {1 i THIS, COD | THE "ADR IS EXECUT D IMMEDIATELY AF FLAG WAS SET. THE UNIT( SPOND. THOSE i SEE IF THEY WI i DROPPED FROM % ! THIS SECTION 'AUTO DROP' IS NOT USED : DURING THIS PROGRAM BGNAUTO; RETURN; i P.AAJ M.RET= 000236 000236 000242 LSSFTLN#2 LS$SOFT== 80055¢- | LRPT REPORT CODING SECTION $CODES 1635 PC.,SUMMARY 1616 PC LSRPT REPORT CODING SECTION PS.LRP'I’ 2 PC : 1636 H 1656 1 word & words 3 : Maximum stack depth per invocation: 1657 1658 3 : $ 1660 C 1661 C 1662 s 3 C 1664 C 1665 3 3 : 1659 C 1663 104453 000207 1655 : 1656 B 0 words BGNDU; RETURN; ENDDU; LDU: 1 word 000270 004767 177772 000274 : PS.LAUTO ' THIS SECTION °'DROP UNIT® IS NOT USED . fluim stack depth per invocation: 000276 LSAUTO AUTODROP SECTION ' TO NO LONGER BE TESTED. !'- 000266 000207 ; Routine Size: SBTTL 0 words ! THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE : DURING THIS PROGRAM 1670 1671 1672 1638 X( '+ ;gg : : : : °'DROP UNIT SECTION' )% 1667 - XSBTTL 1666 : PC as 000307 3 3 LAUTO AUTODROP SECTION LSAUTO: : JSR 000%56 082 177772 : Routine Size: 10 Pa seo"ooss .SBTTL LAUTO: RTS : Maximum stack depth per invocation: 000565 T0PS~20 B u1 v2(212) <NEALPMSKL3.BLI.T1 (1) PA: ENDAUTO; 000254 000207 : Routine Size: 16:07:45 13-!»-19‘5 1?:“:21 REV B PATCH 00 AUTODROP SECTION 3 3 18-Mar-1982 BSKEL3 .SBTTL LDU DROP UNIT SECTION .SBTTL L$SDU DROP UNIT SECTION RTS PC 0 words LSDU:: JSR TRAP RTS PC.LDU 53 PC : 167 ' ; BSKEL3 REV B PATCH 00 DROP UNIT SECTION : Routine Size: 4 words alalalalely] XSBTTL :07:45 13-m-1935 }g:“:m T0PS-20 BLiss=16 V2(212) PA: <NEALE>PMSKL3.BLI.1 (1) Page $a°0034. 0 words 'ADD UNIT SECTION' !( §§§§§§a§§§§ AL ATE TR PRI AT ETE PE TRIR DR DR DR TR TR : Maximum stack depth per invocation: 1 3 18-Mar-19 ' THE ADD=UNIT SECTION CONTAINS ANY CODE THE PROGRAMMER WISHES WITH THE ADDING OF A UNIT BACK i TO BE EXECUTED IN CONJUNCTION ; TO THE TEST CYCLE. )% ' THIS SECTION "ADD UNIT' IS NOT USED ; DURING THIS PROGRAM | RETURN; ENDAU; LAU: 1 word : Routine Size: ; Maximum stack depth per invocation: .SBTTL RTS LAU ADD UNIT SECTION PC 0 words i 000302 000306 000310 004767 104452 000207 177772 S N b .SBTTL JSR TRAP RTS . ; Routine Size: 4 words Haxmun stack depth per invocation: Sevevenen LSAU:: END ELUDOM 0 words LSAU ADD UNIT SECTION PS.LAU 5 PC : 1688 BSKEL3 REV B PATCH 00 ADD UNIT SECTION J 3 lg-fllr-wss 12:07:65 18-Mar=1982 15:44:21 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page 12 SEQ 0035 -Har—1985 18:% 18=Mar=19 o NININININI NI NI NN b d wd b e b b o cd cncd v S-S0 83 O NOWVISWN=OVRONOWVNS WO3= S D d D D D i PRETTY BLF COMMANDS | <BLF /LOWERCASE_KEY> | LIBRARY FILES § REQUIRE FILES require 'BLSMAC.REQ'; x( DUE TO THE BLISS=16 COMPILER BLISS16 COMPILERS RESTRICTION OF 6 CHARACTERS PER UNIQUE VARIABLE NAME THE FOLLOHING ROUTINE SUBSCRIPTS ARE USED: ' ROUTINE SUBSCPIPTS I_ROUTINE NAME = INITIALIZE b oD lfl ROUTINE NAME= INTER]GATE Dfl ROUTINE NAME = DIAG'O'&T%C MODE = L_ROUTINE NAME D d W N = PA:<NEALE>PMSKL4.BLI.1 (1) BEGIN b e i i TOPS=20 Bliss=16 v2(212) MODULE BSKEL4 (IDENT = 'REV B PATCH 00' b e alalalalalalalalalalalalalalalalalalalalalalalelel;) b d D b b b b d e ed d d d d i i i wvivauniw Vi MR R AR s s e s s e e e e e e P R L TS L L L LR L L L A LA TR L TRL T L T T 888838ggegesEse BSKEL4 FB_ROUTINE NAME = FIND BAD CLR_ROUTINE NAME = CLEAR OFF _ROUTINE NAME = OFFSETS MOV_ROUTINE NAME = MOVE CS_ROUTINE NAME = CHECK SUM PM_ROUTINE NAME = PROM MAINTANENCE CAL_ROUTINE NAME = CALCULATE ROUTINE NAME = BLAST VER_ROUTINE NAME = VERIFY S_ROUTINE NAME = SEARCH X —ROUTINE NAME = TRANSFER : MISCELLANEOUS SUBSCRIPTS £ F_MISCELANEOUS NAME = FLAG Page SEQ 0036 1 NN CONSTANT LITERAL DECLARATIONS Xsbttl 'CONSTANT LITERAL DECLARATIONS 57 ) TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (2) 2 Mass bus transfer codes func_1 = 20°000001°, FWC-% = %0°'000011°, .y FUNC_3 = Zo0' FUNCZ4 = 20°'000051°, FUNCCS = %0°'000061°, flflc-6 = %0'000071°, !Noop function 'Drive clear function !Search function 'Write check function 'Write function 'Read function g DATA CONSTANTS ONES = %0°'177777°. ONE = %0°'000001° ZEROES = %0'000000°, ZERO = %0°000000". 'ALL ones data field !Single one data f jeld 'ALL zeroes data field 'Zero data field g REGISTER ACCESS OFFSET INDEXES 'ML_ADDR + %0° ' CONTROL AND STATUS REGISTER 1 iMLZADDR + %0° 2' WORD COUNT REGISTER iMLZADDR + %0° &' UNIBUS ADDRESS REGISTER iML"ADDR + 20°6 " DESIRED ADDRESS REGISTER iMLZADDR + %0°'10 CONTROL AND STATUS REGISTER 2 iML-ADDR + 20°'12' DRIVE STATUS REGISTER iML-ADDR + 20°14° ERROR REGISTER {MLADDR + 201161 ATTENTION SUMMARY REGISTER iML"ADDR + 20°20° LOOK AHEAD REGISTER iMLADDR + 20°20° PROM ADDRESS REGISTER iMLADDR + %0°22" DATA BUFFER REGISTER iMLZADDR + %0°24° MAINTENANCE REGISTER iML-ADDR + 20°26" DRIVE TYPE REGISTER IMLADDR + 201301 SERIAL NUMBER REGISTER iML"ADDR + 20°'32° ECC CRC WORD REGISTER 1 iML"ADDR + %0°34° ECC CRC WORD REGISTER 2 iML-ADDR + %0°36° DATA DIAGNOSTIC REGISTER 1 iML"ADDR + 20°40° DATA DIAGNOSTIC REGISTER 2 iMLADDR + 20°42" ECC ERROR REGISTER iMLADDR + %0°44" ECC ERROR LOCATION REGISTER iML"ADDR + %0°'46" PROM DATA REGISTER iML"ADDR + %0°S0° BUS ADDRESS ES2TENSION REGISTER iMLZADDR + %0°'52° CONTROL AND STATUS REGISTER 3 R B IIIN A NN IITRIGERG R i R 18har-1983 18344 9 litefal i ER CONSTANTS : : vVl T I T I R R R 3 g CONSTANT LITERAL DECLARATIONS i S BB NN R AR S DO \¥,] AR = O i WWMWWWMW&V‘U\M D - drdviivivivitvdvivitvitvid 4 4 4BB Og\lQU ddflddddddddddddddddddddflddfldddfldddfldddfldd‘dddfldddflad o e e o e e e L A L R L RL T L L L L L L L T TRLR R L L L LR L LR T BSKEL4 REV B PATC g L ! wavx ERROR LOCATION wee — SEQ 0037 n3 BSKEL4 REV B PATCH 00 CONSTANT LITERAL DECLARATIONS 1g-lar-1 982 18=-Mar=1 16:07:57 985 18:94:20 212) TOPS=20 Bliss=16 V2 v2(21 PA:<NEALE>PMSKL4.BL 115 ERR_1 = 1, ERR_2 = g. ERR_S = 3, ERR_& = &, ERRCS = 5., ERR_9 = 9. ERR_7 = 7, ERR_8 = s. ERRCY = ERRTM10 = 10, ERR_11 = 11, ERR-1§ = 1;. ERR]13 = 13, 'Init code section 'Init code section 'Init code section IPm_this_bank routine 'In_errof_map routine 'In_error_map routine ‘In_blast_tbl routine Iver_blast routine 'Init code section iBl_proms routine 'Ver_error_mask routine 'Ver_error_mask routine IMassS bus Transfer routine }238 g DESIRED SECTOR ADDRESS FIELD SELECT CONSTANT VALUES : : 1601 }28% bnk$sel_size = 2, QRRSSEL_SIZE =4, 'Bank select size expression 'Array select size expression 5 }ggg é FLAG REGISTER SELECTION DEFINITION : 5 : 1606 1607 1608 i_fla_err = 0, F_UNC_ERR_FLG = 1, FZERR"MAP_ENTERED = 2 : : : 3 : 1610 1611 1612 }2}2 1615 F_ALL_BAD_THIP = 4, F_RAND_DATA = 5, F_ABORT_ARRAY = 6, : 1617 TRUE = 1 2 ! : }g%? 1622 1623 fALSE =0, g CRC DATA BIT DEFINITIONS ' CRC_P = 36, CRC_A = 37, : 1627 | DELAY MACRO DELAY VARIABLES : : ; 1629 1 }g§1 one_us = 1, FIFTY MS = 100, IEN_HS = 10000, ‘delay for one micro second 'Delay for 50 milli seconds iDelay for 10 milli seconds : : 1635 1636 ml11a = 1, SET_FLG = 1, IML11A is a 16k mos ram array !Constant to set a flag : : 3 : : s : : 3 : s 3 : 1585 1589 1538 15 1589 1590 1591 1S9§ 159 1594 1595 1599 }gg' : : : : : : 1609 }glg 1624 }252 }gg% F-BLST_TBL_ENTERED = S, f,D_CLK_TIHE_OUT =7, | BOOLEAN VALUES CRC_B = 38, ERC,NIBBLE =9, g MISCELLANIOUS CONSTANTS 1General purpose error 'lf !Indicates an uncorrectable error was detected has an entry 'Indicates that the error iIndicates that the blast table was entered 'Indicates that this bank has one all bad chip >14 row or col bad 'Indicates that random data gattern is presently used !Indicates that further tcsting of this array is to be aborted 'Indicates that the data clock bit is hung high ILogical true indicator 'Logical false indicator 1Ecc crc chip 1Ecc crc chip 37 'Ecc crc chi 'Ecc crc nibble nine Page 0038 SEQ 3 N BSKEL4 REV B PATCH 00 16 1637 16 | }g‘ 0 CONSTANT LITERAL DECLARATIONS = 0, CLR FLG =1 enabE DISABE = 0; 3 TOPS-20 Bliss=16 v2(212) 16:07:57 lg-flar-19ss 12:66:41 PA:<NEALE>PMSKL4.BLI.1 (2) !Constant to set a fla register ?unction 'Enable mlmr mlmr register function 18-Mar-1982 iDisable Page & SEQ 0039 BSKEL4 ?sbttl *FIELD DECLARATIONS' 1645 }gzg field 8 18:%:20 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (3) i! FIELD DECLARATIONS 164§ 1644 | }gzg | REMAINING ERROR TABLE STRUCTURE MAD 1650 MAP_REM_TBL = set ROW = Ea. g. 0. coL = [0, 8, 03, 1es§ 165 RO_CL = L0, 16,70] }ggz . }ggz | FAILING CHIP AND PATTERN STRUCTURE MAP 1659 1660 MAP_CHIP_TBL = set 166 PATC1 = FAULT = C15, 1. 03, PAT_O0 = [14, 1, 03, [13, 1, 01, 1664 1665 1666 1667 1668 1669 1670 1671 1672 RANC1 = [12. 1. 03, nnn_g = (11, 1. 03, RAN_3 = (10, 1, 03, RAN'G = [9,71,70], RAN_S = [8. 1. 03, RANC6 = [7, 1. 0. RAN_7 = [6, 1. 03, 1674 1675 1676 RANC11 = [2. 1. o;. RANC12 = [1. 1. 02, RAN"13 = [0, 1. gJ. RAN_8 = (5, 1. 0. RANC9 = [4, 1, 0 RANC10 = (5. 1. 0J. 1673 1677 PATS = [0, 15, g . ALL = [0, 16, 0 1678 }w 123§ 1684 1685 1686 1687 1688 1689 1690 1691 1692 t tes, 'This chi <] fails ones pattern 'This chip fails random pat 1 fails random pat 'This chi 'This chip fails 'This chgp fails fails ch ! fails 'This ch ch ip fails : (4 hip fails 'This .Aip fails c h ip fails random data 10 fails random data 11 c hi fails random data 12 ! ¢h fails random data 13 'This : h L failing atterns 1Select al L bits in byte ip ;3 al | WRITE BUFFER STRUCTURE MAP MAP_WRT_BUF = set BIT_0 = [0, BITC1 = [1, axr_g = g, [3, BITC3 = BiT~4 = [4. BITSS = Es. BITT6 = 9. BIT"7 = [7. 1, 01, 1, 03, 1. 0. 1. og. 1. 01, 1. 3 4 01. 1. 1, 0], 'Defines ‘Defines ‘Defines ‘Defines 'Defines ‘Defines Defines 'Defines o Kol d 1679 1680 !Set when t?i%lghip has additional failing row/col zeroes pattern 'This ch ip a o X 1661 166§ tes, e fa 1654 'Select failing row number position 'Select failing column position !Select both row and column position e 1651 by acdo mado wity ado cedo ad s =y 642 ooooToooT L L L L R T O O O T e T T T T T T e T T T FIELD DECLARATIONS }641 L L R LR L AL LA LRI LRLA LA LRDR REV B PATCH 00 B « 1g-flar-19 18-Mar=19 t write buffer Pa SEQ20040 5 e Ko o £ 2o 2o 2o 2o Xl 000 Lan Lom ] By e e SO nnnnn ?..}a 630 JO 3. 1. 93, . b e e e L 1' 4, 1, 0], 6. 03 iDefines 'Defines wo d Z 2: TOPS=20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 f the write buffer ! ; TEMPORARY BLAST TABLE STRUCTURE MAP MAP_TMP_BLST_TBL = S ] [0 R_C"= [15 tes, 01, i 63°J 'Defines failfn?.chips nzbble pgsL;;cn row or ¢ ‘Defines chips ¢ r = column address !Set = row address, g RH / ML=11 REGISTER ACCESSING STRUCTRUE MAP MAP_ML11_REG = set i § MLCS1 CONTROL STAUTS REGISTER 1 l-b 'Special condition [T sc = [15 z li 0] TRE = [1 {5 . CONOWVSWN=O VNV WN=O ANONINININININININ b b e ed cd o d wd e ek N - S WN=OVBNONWN e ~ NIwuw8% il e ko ) b o D i ) D e e e o ) o D e e D e =D e b = ) b b b ) b —d w—d ) - NN ~~ NN NN NN NN NNNNNNNNNNN NNNNNN 38 SEGRE ~ St bt ot o 1 b e ed ek e = D) VIS NN -=O 0D 0 b o M TM °% " 0-4-0-1-4'-1-4-4-1 U PRTR TR TR TR TR TR TR T LRLA LRI ALR PRLR L L L L R T L L e e e e I MR Hkeregs 18 FIELD DECLARATIONS bt ot bt ot REV B PATCH 00 TM~ BSKELS . to 6. 6J 'transfer error error 'Bus pari t¥ 'Drive ava Lab 'Drive ready !Interrupt enable 'Funtion go bit 'Funtion code g MLWC WORD COUNT REGISTER we_reg = o, 16, 01, 'Word count register g MLBA UNIBUS ADDRESS REGISTER é'A_REG = £o. 16, 01, 'Unibus address register g MLDA DESIRED ADDRESS REGISTER éa_reg = o, 16, 01, 'desired sector register g MLCS2 CONTROL AND STATUS REGISTER 2 DLT WCE Ew1 o 'Data late 'Write check error Page SEQ 0041 6 REV B PATCH 00 FIELD DECLARATIONS D : : 3 : : : : 1745 174 174 1748 1749 ORDY = (7, 1. 175 CLR = [5, 1, 1751 : 3 3 176 1764 1765 };29 1761 m§ 0 NEM = [11, 1, PGE = [10, 1, MxF =[9,1,0 MDPE = ’. i, : : : : 1, 1750 1754 1755 };;9 };gg 1760 : : : PE = [13, NED = 1%. . 05. 01, 01, 0. 0J. 0], : : 1775 1776 ECH_ERR = [6, 1, 03, DPAR = (5. 1. 05. 1777 1778 1779 UNS = orl = IAE = AOE = 0], [14, 1, [13, 1, 01, [10, 1, 0], o L9, CPAR = [3, 1, 0], RMR = [2, 1, 0], ILR = [1, 1, 0. {LF = [0, 1, 01, : };g? : ;;g; : : }77315 : : };gg };gg éttn_reg = [0, 16, 01, | MLPA PROM ADDRESS REGISTER : }m : : : 3 : 1792 1793 179 1795 1796 iNon-existent drive 'Non-existent memory 'Program error 'Missed tranfer iMassbus data bus parity error 'Output ready 'Controller clear 'Last block 'Drive present 'Drive rnd¥ 'Volume valid COMP_ERR = [14, 1. 01, MoL = (12, 1, 03. };gg 1770 : : : PA:<NEALE>PMSKL4.BLI.1 (3) 'Parity test 'Unibus address increment inhibit iUunit select : : 1771 1772 1773 1774 'Unibus parity error TOPS=20 Bliss=16 v2(212) PAT = [4, 95. Og. DRV_SEL = b, 3. 01, | MLDS DRIVE STATUS REGISTER ATIN = [15, 1, 0. BAl = [3, 01, . 1, LBT = 0J. (8, 1, DPR = DRY = [7, 1, 0], \:v = [6, 1, 0], | MLER ERROR REGISTER pck = [15. 1. og. : : : : 16:07:57 1 -Hor-"gs 12:26:61 BSKEL4 : 4 18-Mar-1982 iError summary iMedium on Line Data check ‘Drive unsafe !Operation incomplete 'Invalid address error ‘Address overflow error 'Ecc hard error 'Data parity error !Control parity error !R»fistor mod erfused error 1ILlegal register error 'Illegal function MLAS ATTENTION SUMMARY REGISTER I?A.REG = [0, 16, 01, | MLMR MAINTENANCE REGISTER SIZING = [11, 5, 0] TRT Attention active = [8, 0] ARR_TYP = [i0, 1. gJ. REF"MAR = [7, 1, 0], PRU =16, 1, 03. lattention summary register 'Prom address register ISystem sizing 'Transfer rate iArray type 'Refresh margin 'Prom read/write P 553”0042 7 e ne nan TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (3) Fage 8 SEQ 0043 'Prom disable ‘Data clock 'Data diag mode ‘Data hogk enable 'Ecc disable mode 'Ecc diag mode 'Maintenance register i MLDT DRIVE TYPE REGISTER 8, 0). [1, DT_REG = Eo. 1, 83. 'Drive type 'Drive type register genxAL_nss = [0, 16, 03, !Serial number register DRVIYP = g MLSN SERIAL NUMBER REGISTER g MLE1 ECC CRC WORD REGISTER 1 PAR_CRC_WRD = [8, 6, 01, CRC3A ="[0, 6 35 E1_REG = £, e, 01. 'Parity crc word 'CRC word A-A 'Ecc crc register 1 g MLE2 ECC CRC WORD REGISTER 2 8_32 B33 B-3% = (8. 1, 03. =1(9, 1, 0 = [10, 1, 0J. Sacss= 10 6 01 8735 = = 836 ‘Data ;Dota [11. 1. 03, 03, 1;. 1. E2_REG = £, e, 01, [14, 1, 01, S 8714 = NN = O 1 o1 -1z 1% 10 01 18z SNV =O L L 03, L 8-10 = 10,71, L B8 = Ea. 1. 03. 89 = [9; 1, 0 T HAm b b wnd e = A QO NN B2 = 5. 1. 03, 823 =[3. 1, %. 8% = [4, 1. 01, L2 2. L b0 = Eo. 1. 02, 2 i MLD1 DATA DIAGNOSTIC REGISTER 1 L L o~ RR 16:07:57 18-Nar-1982 18:%:27 FIELD DECLARATIONS SR SRESRERREIIZAICIZ23SEE2EEE22333 3333t‘-'-'ggawovww- D D ) o D D d D e o 09 00 0o Go 0o GO 0o 00 00 0O e e e nnd wed D wd D cmd D D D wd wnd nd d d D d e o D b e b cred e P e e T R T e e e e e e e T o e T L L T T L L T A L L T L L T L TR TR TR TR TR T T REV B PATCH 00 mooo UM BSKEL4 MR e —————————————————————— 4 1 -Ear-19 F & 18-Mar-19 REV B PATCH 00 FIELD DECLARATIONS BSKELS - ; | MLD2 DATA DIAGNOSTIC REGISTER 2 6-19 = [0, 15. 03, " 8_18 = i. Yo 0J. 1, , 3 ( = 8.19 R B_20 = [4, 1, 01. B_ i = 9. 1. 0]. 823 =107,1, B 24 = [8. 1. 8 » B.25 =[9, 1 B-26 = (10, 1, 03. B8_27 = [11, 1, 01, : 1369 331 =[15, 0. B_28 = 1;. 1. 0]. 8_29 = [13, 1, B8_30 = [14, 1, 8 " 1866 1867 1868 1, o gBZ_REG = f0,"16,°01, 'Data bit 15 TOPS=20 Bliss=16 v2(212) MSKL4.BLI.1 (3) PA:<NEALE>P 'Data diag register 1 'Data bit 19 'Data bit 13 'Data bit1 'Data bit ? 'Data bit i 'Data bit 'Data bit 24 'Data bit 25 iData bit 26 ‘Data bit 27 'Data bit 'Data bit 'Data bit 30 'Data bit 31 'Data diag register 2 3 }';? : }gg : 1874 UNC = [15. 1, 03. : 1877 CHAN = [6, 6, © : : }ggg }glé : }% : : : }ggg }ggg }%3(1) 'Prom data register IE'D-REG = [0, 16, 0], | MLBAE BUS ADDRESS EXTENTION REGISTER '8us address extention register é.AE_REG = [0, 16, 0], }ggg : MLCS3 CONTROL AND STATUS REGISTER 3 3 } MLEE ECC ERROR REGISTER s6L = crc = 1875 1876 01, [14, 1, 0], [13, 1, g,ait = (0, 6, 03. }g;g | MLEL ECC ERROR LOCATION REGISTER E.L_REG = [0, 16, 0], 'Uncorrectable error !Single error ICrc error 'Channel in error 'Error function 'Error location register | MLPD PROM DATA REGISTER (',:SB.REG = [0, 16, 0], ‘Control and status register 3 ! 'Access all register bits : }ggg E 1899 i ML_ALL ACCESS ALL BITS IN SELECTED REGISTER 3 1 ML_ALL = [0, 16, 0] 3 2 — 185¢ 1854 1859 185 1358 1860 1861 1 186 1864 1865 3 3 S l.’B‘I-REG = £0,"16,°0, ; 3 s 3 3 3 3 3 : 3 3 3 : [} B 15 = [15, 1, 0], 1849 } g? 12:“:41 1 -fllr-19gs 16:07:57 lga }% , tes, P seagf)ou. G 3 1901 }38; ! Ver czmlcb prom maintenance error : log table error log table map 2: 1 13813 PM_MAP = H H 3 : : W ov -mm 1908 1909 1910 2 : 1911 191§ 3 1914 : -d 1% 190 191 set u‘.m = BflD’.PH = BITS PM = 9 . 2 2. 4, .7 . o uNITS PM = (0, 13,°3, gJ. sums_PM = (1,70, 16, 01, WRDS_0 = [0, 0, 16, 01, WRDS_1 = [1, 0, 16, 0 tes; & 18-Mar-19 s 12:07:57 18-Mar=1982 15:44:41 BSKEL4 REV B PATCH 00 FIELD DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.ELI.1 (3) Page 10 SEQ 0045 ;':10 ! gaNELS REV B PATCH 00 STRUCTURE DECLARATIONS : }315 ?sbttl *STRUCTURE DECLARATIONS' 1913 | STRUCTURE DECLARATIONS 1918(1> strugtun | 8 : : f : }g g : 1924 3 : }g 9 1928 ; 1931 = ; : 155 | 356 71 1925 }3% : 1934 : 1937 3 }&38 : 1941 : | }g I 5 | Har 1983 1? AR 18-Mar- 1 }ggg 1938 : ML-11 register accessing structure i this structure allows ML-11 ngistor ! accessing to be transportable emen : the PDP-11 and VAX diagnostic supervisors !<BLF/NOFORMAT> RH [0, P, S, E] = begin Local ML_REG; ML_REG = .(RH + Xupval*0)<0, Xbpval, ML_REG end <P, S, E>; !<BLF/FORMAT> 0> 9 ¥2(212)(&) BLiss=16L4.BLI.1 10PS=20ALE>PMSK Page004611 SEQ D TR T T DR TRL P TR P P TRLA A TR LR R ; R ; ; R ' IR TR } 1572 _.-‘i—ld-l-fiddddddd—l-‘-bd—ld-‘dd & £U‘£F33gigsassgiRiseiis BSKEL4 REV B PATCH 00 EXTERNAL DECLARATIONS n 4 07:57 lar-19ss g164:461 1-18-Mar-19 T0PS=20 gliss-lb V2(212) PA:<NEALE>PMSKL4.BLI.1 (5) Isbttl 'EXTERNAL DECLARATIONS' g EXTERNAL DECLARATIONS extof;ml routine g Random number generator routine written in macro source code RANGEN : novalue; oxtu;nal : Random number generator routine seed variables SEED1, 'First word of random number buffer RANDAT, 'Linkage which random numbers are returned SEED2, SEED3, ! Diagnostic supervisor global variables LSUNIT; 'Second word of random number buffer 'Third word of random number buffer ISupervisor storage of units selected -Har-19ss g REV B PATCH 00 OWN STORAGE DECLARATIONS 18-Mar-19 BSKEL4 : : 3 C }329 }sbttl 'OWN STORAGE DECLARATIONS' 1968 i Own storage declarations 1969 1970 18;1 ! own : VER CZIMLCB added these storage structures to this version ; ‘%g;% }3;2 : Prom Maintenance error summary report structures : 1977 PM_ COUNT, E TOPS=20 Bliss=16 v2(212) 4.BLI.1 (6) PA:<NEALE>PMSKL 1Counts number of bad chips found PH LOG: blockvector [128, 2., word] field (PHHAP) : }3;3 }gg(’) : 33 3 .: 1982 1983 1984 ]'ggg 1987 COL CNT_ TBL : vector [256 byte) volatile, !Column count table table remainder table TBL) volatile, 'Remainder!Copied eld (MP REH block REM_TBL": COPTED REH TBL : block [1 ] field (MAP_REM_ TBL) volatile, table pointer 'Column count COLPTR: vector [10, bytel volatile, ! 170 buffers 3 3 1991 }gg% WRTBUF : block [(256 + 511+2)] field (MAP_Ufl BUF) volatile, 'Read buffer RD : vector [256] volatile, : }gglg : Failing row and sector storage structure }9’39 é.nnoa_m : blockvector [512, 8] volatile, : }% : Failing chips and pattern storage structure : : : 3 3 2288(1) ggg% 2004 2005 22%9 : : g‘?’% ggw : 0}% 3 : :3 3 : 1988 }ggg 5816 2015 2016 2017 ' Error map interigation structures ! : VER CZMLCB changed 128 to 256 'YWrite buffer 'Error map of failing rows and sectors 'Failing chip table (::HIP_TBL : block [39] tield (MAP_CHIP_TBL) volatile, 5 Row £ col blast information storage structure 'Temporary blast table Tll' BLST TBL block [10% figld (MAP_TMP_BLST_TBL) volatile, table blast 'lctual , volatile 512] , 4 [ L tor BLAST T8L: blockvec iColumn adrs base index into blast table co_BASE, : ML-11 accessing structure referance l'.l_ADDR : ref RH field (MAP_ML11_REG) volatile, i Init code global variab'es CHIP_ COL. m\x ML DUT :“volatile, ARRSBNK SEL : volatile, TSTED_BRK : volatile, 'Rh base register address of columns per mos ram 'Number iMl=11 divice under test 'Fabricated desired sector adrs where array maint is performed iCount of how many banks to array maint 13 [ 58”0048 BSKEL4 REV B PATCH 00 ~Mar-1982 16:07:57 g-flnr—19gs 146:41 OWN STORAGE DECLARATIONS TOPS~-20 ( 1 Bliss=16 V 2(212) PA:<NEALE>PMSKL4.BL I. 1 (6) 'Bank adrs 1ncromont valuc !Arrt adrs ncrom’ni value INC_BNK: volatile, INCCARR : volatilo. ARR_SEL Pos volatile, BNKZSEL_POS : volattlt. BNK “NUM_SEC : volatile, 'Field select 'Field select !'Indicates n : bitvec or EOJ volatile. BAD BNK_REG : bitvcctor FLG_REG 5 DEGRADE HOD_REG : bitvector [8] volatile, 'lndicatos if bank has new errors !General flag register ‘Dogrado array mode flag register : Miscellaneous variables SIZE : volatile, DST : volatile, SRC : Vot.ti teo LST TSTEDARR volatile, RAND_PASSTM: volatile; 20 2039 2040 2041 1 5 Supervisor global equates ! EQUALS; !Transfers word count size 'Transfers destination address 'Transfers source address 'Last array module number in ml=11 system 'Random data pass variable 14 SEQ 0049 po tion expression position expression er of sectors per bank. 16k = 128, 64k = 256 ' Program ‘lag registers Pa L BSKELS M I I I I I o e e e e e L L T T T T T T TR LA TRTR LR LR LR LR R LR T REV B PATCH 00 BIND DECLARATIONS & 18-Mar-1982 16:07:57 13-Har-1935 12:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (7) Pa 15 55095050 }sbttl *BIND DECLARATIONS® 4 g Bind declarations bind' i VER CZMLBB newly defined messages to print out statisical 5 prom maintenance messages. FMT16 = uplit (Xasciz'INZD1XA(D) XD2%A(D) XD13A(D) XD2%A(D) ID6XA(D) "), COUNT #:°), BIT #: BANK #: ARRAY #: PMSHEADER = uplit (Xasciz'UNIT #: PM_HEADER = uplit (Xasciz'PROM MAINTENANCE PERFORMANCE SUMMARY REPORT'), PM_14_MSG = uplit (Zasciz'NO ADDITIONAL ERRORS DETECTED WITHIN THIS UNIT®), THE FOLLOWING LISTS AN ACCUMLATIVE COUNT OF PREVIOUSLY AND NEWLY'), PM_10_MSG = uplit (Xasciz'INZA FAILING ROWS AND COLUMNS DETECTED WITHIN EACH ERRORING CHIP.'), PM_11_MSG = uplit (Xasciz'INZA HOWEVER THIS LIST DOES NOT NECESSARILY INDICATE THE NUMBER OF NEWLY' PM_127MSG = uplit (Xasciz'INXA PM_13_MSG = uplit (Xasciz'INZA FAILING ROWS OR COLUMNS BLASTEDIN'), : Error and run time messages iLL_CMD_MSG = uplit (%asciz'ILLEGAL PROM MAINTENANCE PROGRAM COMMAND °), BGN"MSG = uplit (Zasciz'STARTING PROM MAINTENANCE'), START MSG = uplit (Zasciz'TYPE START TO EXECUTE PROGRAM') HQ_ERR_MSG = uplit (%asciz'HARDWARE QUESTIONS NOT ANSWERED CORRECTLY *), uplit (Xasciz'BLASTING SYSTEM, ARRAY OR BANK NOT SELECTED *), HO"MSGTM= END MSG = uplit (Zasciz'P70M MAINTANENCE COMPLETED °) SUPRES_MSG = wli% (Zasciz'SUPPRESSING PROGRAM EXECUTION *), RET_DRS_MSG = uplit (Zasciz'RETURNING_TO DRS>') t LUN_MISS MSG = uplit (¥asciz'LUN 0 P-TABLE NOT PRESENT'), CON_A_MSG = uplit (Zasciz'CONDITION A'), CON_B_MSG = uplit (Zasciz'CONDITION B'), CON_CMSG = uplit (Zasciz'CONDITION C*) CON_D-MSG = uplit (Zasciz*CONDITION D *J, UNC_CRIP_MSG = uplit (¥asciz'UNCONFIRMED FAILING CHIP'), GTRTMMSG = uplit (Xasciz'MORE THAN ONE UNIT SELECTED FOR PROM MAINT'®). UNIT SEL MSG = uplit (Zasciz'ALL UNITS EXCEPT UNIT O WILL BE IGNORED'), uplit (Zasciz'UNEXPECTED SOF TWARE BUG DETECTED NOTIFY DIAG ENG'). sw_B0G_MSG = T_MSG = uplit (Zasciz’PROM MAINTANENCE ABORTED FOR THIS ARRAY®), uplit (Zasciz'NO ADDITIONAL ERRORS BLASTED FOR THIS ARRAY'), NO AD"MSG = UNT_ERR MSG = uplit (%asciz'UNCORRECTABLE ERRORS DETECTED AFTER BLASTING'), TIME MSG = uplit (Zasciz'DATA CLOCK BIT FAILED TO RESET AFTER PROM WRITE'), REP_M7363 MSG = uplit (%asciz'REPLACE ARRAY DATA MODULE M7363') AFTER BLASTING'), MEM"ERR_M3G = uplit (¥asciz'MEMORY ERRORS STILL EXIST DETECTED') ERRORS DRIVE NEXPECTED (Yasciz'U uplit = UNX_DRVERR_MSG RD RFERTMMSG = uplit (Zasciz'OCCURED DURING A MASS BUS READ TRANSFER'). TRANSFER'), WRT XFER MSG = uplit (Zasciz'OCCURED DURING A MASS BUS WRITE WT_CHK_XFER_MSG = uplit (%asciz'OCCURED DURING A MASS BUS WRITE CHECK TRANSFER'), ¥_HSG = uplit (Xasciz'’), % Printing formats n 336588 BRI S = 2 S S 2 2 S S 20000000000 MNINININININININI NI NN AN NI NN NN NN NN N NN NN NN NN IR R R R E T E T T s s s s e e e e e e T T P T L PR I PR TR TR R TR LR TR T T T BSKEL& REV B PATCH 00 BIND DECLARATIONS = ONE_MSG o4 TOPS=20 Bliss=16 v2<21z) PA:<NEALE>PMSKL4.BLI.1 (7) 1a-nar-19gs 13:07:57 18-Mar=1982 15:44:41 uplit (Xasciz'¥TIN'). = uplit (X¥asciz'XTITIN') TWOTMMSG THREE_MSG = uflit (Yasciz'ITXTXTEN') FOUR_MSG = uplit msw'mrmrwi. CRLF = yplit “‘?dfi 5, LF = uplit (Xasciz'IN'), Lit(Zasciz"ININ') LFS 1_PRINT = uplit (Zasciz 'hxom') ! PRINT ONE MESSAGE iPRINT TWO MESSAGES i PRINT THREE MESAGES i PRINT FOUR MESSAGES 'PRINT A LINE FEED <CR> ! PRINT TWO <CR> i PRINT OCTAL DIGIT AND A MESSAGE i PRINT SIX OCTAL DIGITS AND A MESSAGE i PRINT A TWO DIGIT NUMBER AND A MESSAGE é) segsgz;o;n X01%A ADRIVE DRV-SEL_PRINT = uplit (Zasciz'T DRIVE SELECTED NUMBER TO THE OPERATOR 6“PRINT = uplit (Xasciz' 3Tzogxu . D-2-PRINT =uplit (Yasciz'XTID2IN') !fiu K ms . ARR_SEL_PRINT = uplit msciz'xsxszszsxsxszsxswesnm ARRAY iELEC iS!SZSISM;SZ IS‘SSSlS BNK_SEL_PRINT = uplit (!lsciz'!SISlSlS!S!SSSiS BANK PRE ENTLY WER TEST TO THE OPERATOR i IT #3E upl it (hsc‘lz'mvlflb ISWM 810188 A_B_C_PRINT = A'B:N'PRINT = %lit (Xasc iz YAARRAYZSXD2XSTABANKXSZ01%S IBLE SIDZSN". XSID2XSXSTACR RERUN PROGRAMIN'), REP_PRINT = uplit (!lsciz'WEPLA;E ARRAY noou& A_B_PRINT = uplit (Zasciz'ZAARRAYXSID2XSYABANK i! 12N°) ZSZSW!N') CS1_PRINT = uTli t (!lsciz'ISISlg TAMLCS1XSXSXSXSIS!SleSlSlSlSlS!S!S P ASASISES UC!S!S;SIS STSASASASASISIS WC_PRINT = uplit (Xasciz'ISZSAS XSTSXSASESASASISISASISASISISTSIST06IN'), ISRS (Zasciz'XSZS BA_PRINT = uplit “lS!SISISSSIS!SISM e DA_PRINT = mli t (!lscis'lS!i!i!SMM lnglS!S“g S ESSISMCS 2SXSXSXSISISASASISASASISISASTSASI06IN') , = uplit (Zasciz €S2 _PRINT ), DS_PRINT =“uplit (Zasciz'3STSTSTSIAMLDSTSESISYSISTSTSISISTSTSISISISISISI0OIN' ERZPRINT = uplit (Zasciz'ZSYSXSISXAMLERISISXSASSTISTSTSISISASISISISISIST0OIN'), AS_PRINT = uplit (Xasciz'ZSTSISTSTAMLASISISISXSISISISISISISISISISISISISIOOIN'), ), MR_PRINT = uplit (!asciz'lSiSlS!SWSISIS!SIS!S!S!S!S!SISSS 1SS ) SIS!SM!N' ISISISIS! SISlSlSSS MISgS!SBl DT_PRINT = uplit (Zasciz'ZSXSISRS 06IN') ISISISISTST SISISTSISAS ISXSISASXST SN_PRINT = uplit (Zasciz'¥SESXSESIAMLSN SISISSSMZN' !SIS!S!SISI SISISISIS!S S!SISMEEISI (llsciz'ISX EE_PRINT == uplit ') ISISZSMIN SISISSSIS SSZSISISI EL”!SlSZS IS!S!S!SM wli t (Zasciz’ EL_PRINT HEADER PRINT = uplit (Xasciz'ZSISISISTSASISISISISIAR; Wfl!fl ), = uplit (Zasciz’ ISISIARE GISTER NAMEZS SZSISIS!S COL_DESC_PRINT = uplit (Rasciz'’); X_PRINT CONTENTSIN®), Pa SEQ 16 51 N BSKEL4 REV B PATCH 00 MACRO DECLARATIONS : }i‘l : 135 ; §} 3 : 141 } : 5 }8 : M 2144 : : M %146 M 2147 3 M 2 M 2152 3 : 3 M ; : : : macro : ML-LL register accessing macro i this macro allows ml=11 register accessina to be i transportable between the : supervisors. PDP-11 and VAX diagnostic WRT_RH (0, FIELDNAM, IMAGE) = begin 2145 local MLREG; M %148 2149 MLREG = .ML_ADDR [O, ML _ALLJ: M 2150 MLREG<Xfieldexpand (FIECDNAM)> = IMAGE: M 2151 (.ML_ADDR + Xupval*0) = .MLREG; 2153 ! 2154 s 3 !sbttl *MACRO DECLARATIONS' 140 : F- %, end; : Clear rh and mass bus devices S}gz : CLR_MBUS = M 2157 ONE);!Clear the mass bus CLR, TMLCS2, WRT_RH 2158 M g]'gg b'lRT_RH (MLCS2, DRV_SEL., .ML_DUT):X, 'Restore the drive select number ! Clear mass bus devices 2161 ~ %}gl; i‘iRT_RH TMLCST, FUNC, ! CLR_DRIVE = s H 2162 M 2163 : : ! Maintanence register diag mode setting macros - RD_PROM_MODE = M 2168 'Enable prom reads ; %199 WRT_RHTMLMR,MR_REG,PM_RD_MODE)X, : . };1 : : : E : : 3 H : : : : TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (8) } g : Macro declarations : : & 18-Har-19gs 16:07:57 18-Mar-1982 15:44:41 %}gg M 2170 FUNC_2):%. : WRT_PROM E = URT_S:%W&,LQEG.PH.WT_MDE):!. " };% URT_IEU&'(MMS z’Do’l)l_!. X)X, M M M M !Clear the drive 175 WRT_RH TMLMR.E_DIS, X):X. 2176 PROM RW (X) 1;8 DAT_CLK = = h !Enable prom writes 'Enable/disable data diag mode IEnable/disable ecc disable mode 1727 WRT_RH (MLMR.P_RW, X):%, 'Enable prom read write WRT_RH TMLMR,D_CLK, 1 PROM DIS (X) = 130 181 WRT_RH (MLMR,P_DIS, ONE);%, Data clock X):X%, 'Enable prom disable 2182 DCK_EN (X)"= . Page 17 SEQ 0052 T_RH (M.DEN, D ek D b oD D ) d e aed oD NN D DR TRTR ITRLETEALE TR TR N b MACRO DECLARATIONS TR, REV B PATCH GO SREV2STEIRARK BSKEL4 “ECC_DM (X)"= 1g°llr-19gs g:07:57 1 X):%, um-RH mE DH. X):%, ' Miscellanious r-19 164:41 T0PS-20 Bliss=16 VZ(Z‘IZ) PA:<NEALE>PMSKL4.BLI.1 (8) 'Enable data check enable 'Enable ecc disable macros definitions 'Enable prom read mode 'Enable prom write mode 'Selects full word of data element 5 18-Rar-1983 mg 8; o .e EXTENDED MESSAGE PRINTING SECTION ; 9? %sbttl "EXTENDED MESSAGE PRINTING SECTION' 1 1 functional description: register d i | ’ This’g N w~r BSKEL4 REV B PATCH 00 1L get called when the Sg W ects errors during drive this b nmsg w ill print bus transfer. inal t e error registers. term out to the det !Print the dump message BGNMSG (DUMPER); .TITLE .IDENT —OO0ONOOOO a: NN NN NN NN NN NN NSNS N NSNS SN NS N NNMNNNNNESSS P. BSKEL4 /REV B / o TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 19 SEQ 0054 AIN/ T/<00><00> A/<T11>X1D 22229229222992929292999999293333991999ReRRnex SR S AU I S 1]1111 ————-lc11"e a—————— (RS 1]1111T1 !1111"111’.‘1111"] 11]1]1 11]"1""""11" PRO/ P.AAC: 18-har-1082 EXTENDED MESSAGE PRINTING SECTION BSKEL4 REV B PATCH 00 ST 8¢ P. it g e 2y S e B B S g e B B e ) B B B g B B G B B B ) e ) S ) ) B G S ) G e B e B B G B B S B B B g % 222222222222222222422222222294999993999939999393 — O 70 = O ARM O DI = AN 2 M = DN OO MM = O oF =© ON OO 1= OOT O 1= = OO 1= O 7 O AN P. seb50sé. TOPS=20 Bliss=16 v2(212) EXTENDED MESSAGE PRINTING SECTION BSKEL4 REV B PATCH 00 b 1s-flar-1 18=Mar-1 EXTENDED MESSAGE PRINTING SECTION AT e P m P.AAl: L P B i N AAK -A N W F BSKEL4 REV B PATCH 00 8 8 o~ ." TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 22 SEQ 0057 oMy =1—_0— s RN NN N NN S NN SN N VNSNS NSNS N NN NS NSNS N VASNSSSSASSSNNVANANNSNSINSITMTM (e e ) B g o B o B e S e B S e o B S e S g B B e B B B B i S B e B B g e B B B S B S B B g B g g By Bng =g &9 9Ny 5959999999997 920 49444344 44432434¢¢ P. 3 Pa sea%0s5 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) EXTENDED MESSAGE PRINTING SECTION N 18-Har>19 g 8 o~y Ua4 18-nar-1982 BSKEL4 REV B PATCH 00 REV B PATCH 00 EXTE NDED MESSAGE PRINTING SECTION ~ 18har-1982 8; e -~g~—p——e-g-—ggT " g P eg g g g eg g g g g g g g g e P 5 N w~s H BSKEL4 TOPS=-20 Bliss~1 v2(212) PA:('EALE”'HSKLz.BU M9 s670055" 22999929992929999929993399qRRq9N® INZ-853-3S eEo—k N~ 4a3 1982 8 o s" 1 1g-lar-1 18-Mar-1 EXTENDED MESSAGE PRINTING SECTION O - —Ne—OnN BSKEL4 REV B PATCH 00 TOPS-20 Bliss~16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) N e P. /TAN/ /ENC/ 3 -00 P 0 B S S SRR RR AR SRR SRR B gGY(egpog@teeeeeeoeeog 12 117 040 sea%6060° BSKEL4 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION T0PS-20 Bl iss~16 v2(212) PA:<NEAL E> SKL& BLI.1T (9) Pa 26 SEQ 0061 2SNIBSIGSNIRSSBIIS|S-S023I053~OSr- —e O001-1202S“R122IN23Z2N1I0NE0I2N Or—v LA8ib cccccccccccccccccccccccccccccccccccccccccccccccccccc ‘ +?, 35=383-5: OVN NN = 3 5 J 18-Mar=1 18-Mar=1 T = FMe= OFTOOMOTONNTNUTWNr—r P.ABC: a i REP/ BSKEL4 00 REV B PATCH EXTENDED MESSAGE PRINTING SECTION Bt N e g S ) S o) ) S B B B e S S B o) B B S B S S S B S B S ) B S S B B B B g B B S ) B B S B g B VONVNVNNNNLVLNVLWVNWN 3 83 A .AS .AS AS AS AS AS AS AS .AS +AS Q. N=—OO 1 1 85a52«2 5 Boar-1088 15144341 2A TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) sta’G0ss REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION L BSKEL4 447 042 474 477 00250 1 125 104 125 116 101 00 S‘g’ 00245 00 ‘62 46 00 696 471 00, 210 13 002516 002521 002524 002527 5 53 S4g 00254 00254 002551 002554 002556 002561 564 567 002572 002574 577 002602 002605 606 2611 002614 002617 002622 002625 002 002631 % 32 635 “g 6 5 1 1 g 1 1 1 1 101 040 123 122 105 110 113 122 123 122 000 045 116 045 124 000 045 124 045 000 045 124 045 116 045 000 045 000 045 116 045 117 116 045 117 112 04 104 116 105 127 124 124 Hg 10 10 12 04 12 10 040 1 10 104 14). 040 115 123 102 040 11 040 105 040 101 106 000 000 124 000 124 045 000 124 045 116 LASCII 125 04 11 040 101 106 P.ABI: 123 155 127 124 103 103 124 116 105 000 045 000 045 116 P.ABJ: P.ABK: P.ABL: 045 124 000 P.ABM: 124 045 P.ABN: 124 000 116 045 000 000 P.ABO: 116 000 P.ABP: 116 000 124 045 000 045 P.ABQ: 045 061 000 124 066 000 124 062 000 124 045 P.ABR: 045 045 P.ABS: 045 045 P.ABT: 12:“:41 1S-nor-1985 16:07:57 7/ BUW/ LASCII LASCII LASCI1 LASCII LASCI1 LASCII /8 W/ /RIT/ /E 1/ /RAN/ /SFE/ /R/<00><00> LASCII LASCII LASCII LASCII .ASCII LASCII LASCII LASCII LASCII .ASCII LASCII .ASCII LASCII .ASCII LASCII .ASCI11 /ASS/ 7/ BU/ /S W/ /RIT/ /E C/ /HEC/ /K T/ /RAN/ /SFe/ /R/<00><00> <00><00> /%T%/ /N/<0N><00> /%T%/ /TAN/ <00><00> /2T%/ /T%T/ /EN/<00> <00> /%T%/ /T%1/ /XT%/ /N/<00><00> /ZN/<00> <00> /IN/<00> <00> /INX/ /N/<00><00> /X1%/ LASCII .ASCII LASCII LASCII .ASCII LASCII LASCII /N/<00> /%T%/ /06%/ /N/<00> /XT%/ /D2%/ /N/<00> L.ASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII .ASCII .ASCII LASCII .ASCII LASCII LASCII .ASCII LASCII LASCII LASCII .ASCII LASCII LASCII 5 18-Mar-1982 /0CC/ /URE/ /D D/ /UR1/ /NG / /A W/ /01%/ TOPS=20 Bliss=16 v2(212) 6.BEI?1Z(9) PA:(NEALE>PHSKL P 553950458 00 18har] oo8 §; EXTENDED MESSAGE PRINTING SECTION P. P.ABV: P. a; cccccccccccccccccccccccccccccccccccccccccccccccccccc NS 5888 SN SN NN S NS P SN N N NSNS S PSS PN IS NGIr TS 003050 N ws REV B PATCH - e- BSKEL4 T o S e Rt 6 5 A TOPS=20 gliss-lb ve(212) PA:<NEALE>PMSKL4.BLI.1 (9) Pa SEQ 29 %6064 e e e Te e MONWN=—N O= ReS e e R A e or—rO—_-go=Ole=iTRGO=SeeeeO=eole—l—ee—lL A NN NN NN NN NN NN N NN VNSNS NSNNNANNSNSENNSNSSTMS e B g ) B B ) B B S B B ) B o) B o) B B B G e B B B B B B B B B Bg Beg 2“21N2Lalalalalalalalgl P <00> ASCI1 8 8 8 8 8 8 8 8 88888858888888833 MMMMMMMNNY N 4"2 00 EXTENDED MESSAGE PRINTING SECTION REV B PATCH LLULLULLLLLLLLLLLULDLVLOLLLLLULLLULLLLLOY I CCCCICLCL 0 0 & 0 5 ° 8 & e B L ¢ 8 @9 C. L 0 g U LCLLCLLCL . ® " 8 8 e CLCLCLCLC 2 30 Pa BSKEL4 P.ABY: SEQ 0065 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) 18 nar-1988 g $; o es 5 82“210 888838888888823888888 P.ACD: P.ACE: 38 NN NN NN N N N NN S N SN N NSNS N NSNS NSNS VNSNSSIS NSNS NEINNNEIDTMSS () S ) B g B g B B ) - B B B ) o ) ) ) B B B B ) S ) S e B B S g G e S B B ) B B g B B G B B g e B D g g 8v — Pa 38 180 EXTENDED MESSAGE PRINTING SECTION BSKEL4 REV B PATCH 00 8 | P.ACC 31 SEQ T0PS=20 2(138-16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) B 6 1 g-flar-l 1 ~Mar=1 NN NNNN NN ///////////////,/w//,,’///I,,/////, NN . ,/////,////</////,,/,//////l/,,/,///I//’,/,//I/<//,/ e ) o e B S g e e ) e g B B B B S B B G B ) G G B B B By B B B B B G B B B () B B ) g B B B e B B By Sg 0g S0 BSIATRuOIRnYzSRs Pa N dLok TOPS=20 Bliss=16 v2(212) EXTENDED MESSAGE PRINTING SECTION BSKEL4 REV B PATCH 00 9 A vg ;2 SEQ 006 PA:<NEALE>PMSKL4.BLI. 19 1 §onar-1983 8 o 6 C 1 EXTENDED MESSAGE PRINTING SECTION BSKEL4 REV B PAT(H 00 ) NN NN NN NN NN NN VNN NSNS NN NN NN NN NN NN VNSNS SN SSNSS SSSNNNSNANNNNVYSS 111"1 1111]11 !111]11 lcl.111111"!1 111"1I' .111111 11ol.1' "'lol_lll111'l 1‘11 ]1"111 1"11]1 111111 111111 1"lll1 111111-'c-._‘ 1111"1 323470728 92559554954999992949 244449404 34424422449%¢ P.ACJ: R N VO A O PS T e ) P.ACI Page 33 SEQ 0068 £ TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 8 18:%:20 D 6 1 =-Mar-1 9 1 -Mar=19 B ////////,//////<////,,/I/I./,I/,/,<,/l/,,///,//,,///< a <w 6 8-nar-1982 $; Ll .. EXTENDED MESSAGE PRINTING SECTION E N BSKEL4 REV B PATCH 00 1 1 T0PS=20 gliss-12 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) EXTENDED MESSAGE PRINTING SECTION e S e g g e g g g g B B g e g B B S B e g )B )B B B B B G g G B )G B B B S B B B B B B S B .PSECT SOWNS, F 6 N 4s BSKEL4 REV B PATCH 00 eP 2 1 1 §onar-1983 o §; o~ -e =A TOPS=20 BlLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Pa SEQ 35 95070 8822 2 COL.PTR: .BLKU WRT .BUF : .BLKW RD.BUF: .BLKW ERROR.MAP: .BLKW CHIP.TBL: 030372 040372 040374 040376 040400 040402 040404 040406 040410 040412 040414 0460416 0460420 840458 0404 0464 040436 TSTED.BNK: .BLKW INC.BNK: .BLKW INC.ARR: .BLKW ARR.SEL.POS: BLKW BNK. SEL.POS: <BLKW BNK.NUM. SEC: «BLKW BAD.BNK.REG: .BLKB -EVEN 10000 47 12 4000 FLG.REG: .BLKW d 030346 «BLKW TMP.BLST.TBL: «BLKW BLAST.TBL: .BLK COL.BASE: BLK ML.ADDR: .BLKW MAX.CHIP.COL: .BLKW ML.DUT: .BLKW . SEL : ARRSBNK .BLKW 2376 400 .BLKW RAND. PASS: .BLKW DEGRADE .MOD. REG: .BLKB .EVEN .BLKW SIZE: .BLKW DST: .BLKW SRC: LST.TSTED.ARR: fl 030230 144 3 e 0102 144 -t 0073 .TBL: COPIED.REgL 200 ol cad O 00140 00171 REM. TBL: .BLKW —eb COL.CNT.TBL: «BLKW 1 400 ey el v .BLKW PM.LOG: .BLKW =1 00000% 00100, PM.COUNT: ok 000000 18=-Mar mad el REV B PATCH 00 -Har-19 =19 EXTENDED MESSAGE PRINTING SECTION b BSKEL4 8 18:% v2(212) TOPS-20 Bliss~1 PA: <NEALE>PMSKL BLi.1T (9) P 36 SEQ°0071 H eeRagiag 0 ~NO SgE3TSE* AN Oo 8000 BIT3== BITZ2== BIT1== BIT0== EF .START== EF .RESTART== EF .CONTINUE== EF .NEW== °8 o0 = r {vd L SUNIT P8 | e D P D i i P i s —e ] BIT4== TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (9) RANGEN, SEED1, SEED2, SEED3, RANDAT BN AN S =PI I =PI S = = N BN =N S =N S =N S N S8© =PI e o Rl R - e @ D 00 0o o o (O O [+ 4] Ske .GLOBL 16:07:57 13-nar-1933 12:24:61 EXTENDED MESSAGE PRINTING SECTION .GLOBL 6 18-Mar-1982 S DN =2 BN = [=i==l=l=l=l=] REV B PATCH 00 [ BSKEL4 P SEQ°007 7 1 BSKEL4 REV B PATCH 00 18-Mar-1982 EXTENDED MESSAGE PRINTING SECTION 410088 00 PRI== 2 02 04 100000 000082' 8&1 170* ° 000244 000324°* 000434 ° 000544"* JER== LOE== PM.HEADER= PM.14.MSG= PM.10.MSG= PM.11.M5G= PH.1§.H$G= 2 40 =100000 P.AAA P.AAB P.AAC P.AAD P.AAE P.AAF P.AAG 000726* 000°* 001032* 001070 001144" 001222°* 001256" 001316 001340°' 001372° 001406° 001422° ILL.CMD.MSG= BGN.MSG= START.MSG= HQ.ERR.MSG= HQ.MSG= END .MSG= SUPRES .MSG= RET.DRS.MSG= LUN.MISS.MSG= CON.A.MSG= CON.B.MSG= CON.C.MSG= P.AAl P.AAJ P.AAK P.AAL P.AAM P.AAN P.AAO P.AAP P.AAQ P.AAR P.AAS P.AAT 001562' 001632°' 001714" 001764 002040° 002116° 002176° 002236 UNIT.SEL.MSG= SW.BUG.MSG= ABORT .MSG= NO.AD.MSG= -WC.ERR.HSGz . MSG= TIME.OUT MSG= REP. MEM. ERR.MSG= P.AAX P.AAY P.AAZ P.ABA P.ABB P.ABC P.ABD P.ABE 002% 0 56" 001436° 001454 001506°* 002310° 002352 002422° 002474" 002554 002556" 5594 002574 IXE== 1BE== E== FMT16= PMSHEADER= PM.13.MSG= CON.D.MSG= UNC.CHIP.MSG= GTR.MSG= UNX.DRV.ERR.MSG= RD.XFER.MSG= WRT.XFER.MSG= WT.CHK.XFER.MSG= X.MSG= ONE . MSG= TWO0.MSG= THREE .MSG= P.AAH P.AAU P.AAV P.AAW P.ABF P.ABG P.ABH P.ABI P.ABJ P.ABK P.ABL P.ABM 606" FOUR . MSG= P.ABN 5 6’ LF= P.ABP 0. .PRINT- P.ABS 2622 002632° 2640° 00%650' CRLF= FS= 0.1.PRINT= 16:07:57 ‘Ig r-19ss 12:“:41 P.ABO P.ABQ P.ABR Bliss=16 v2(212) TOPS~-20 SKL4.BLI.1 (9) PA:<NEALE>PM P 5539507 4 J 1 -H::-19gg 12: 04 4: 61 EXTENDED MESSAGE PRINTING SECTION 0 s s 8 8 8 RE A. “. 8 8 " C 003320° 2222 ENDMSG; 8 % ® 8 9 ® > > o . 2 ; PC 0 words 'Print the header < [MLDT. (ELCPRINT, .MLZADDR CMLEL. (AS_PRINT. .MLZADDR (SN"PRINT. -ML-ADDR (EE_PR s INT, “ML-ADDR [MLSN. [MLEE. R (MR_PRINT. -ML-ADDR (DT-PRINT. -MLZADDR PR todlond CMLER, ML 22> (ER"PRINT. .ML_ADDR A d Se e AL (€S2 PRINT, .MC_ADDR [MLCS2, ML (DS_PRINT, .ML_ADDR [MLDS, ML_AL e SR (BA"PRINT, .ML_ADDR (DA"PRINT. .MLADDR A =2 (CST1_PRINT . .ML_ADDR [MLC (WC_PRINT,” .ML_ADDR iy (COL_DESC_PRINT); N o S N N N N WP P N N o Ve VoWV VBBt L v 0y vy [y (HEADER_PRINT); s PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB $CODES BE MSDUNPER Zzzaxa NONOND e ek PON) b b =D md e - 1. RNT. AV P AV NI ] 2207 2208 09 NN NN nN NN TR TR T O J 4 words ion: invocat per depth : Maximum stack AT AT A TR A DUMPER EXTENDED MESSAGE PRINTING SECTION TRAP RTS : Routine Size: TR IR IR IR IR P.ACP P.ACQ DUMPER: : JSR 000000V s 004767 104423 000207 e Esome P.ACN P.ACO .SBTTL PSECT 000000 000000 000004 000006 8 DA.PRINT= CS2.PRINT= DS.PRINT= ER.PRINT= AS.PRINT= MR.PRINT= DT.PRINT= SN.PRINT= EE.PRINT= EL.PRINT= HEADER.PRINT= COL.DESC.PRINT= X.PRINT= 'Describe the column headings Print mlcs! contents !Print mlyc contents Print mlba contents '‘Print mlda contents Print mlcs2 contents Print mlds contents Print mler contents 'Print mlas contents Print mimr contents 'Print mldt contents 'Print mlsn contents 'Print mlee contents 'Print mlel contents i 1 TOPS~20 Bliss=16 v2(2 1 2) PA:<NEALE>PMSKL4.BLI. =r et TOMMOUODPN<<XE<C DRV.SEL.PRINT= ARR.SEL.PRINT= BNK.SEL .PRINT= A.B8.C.PRINT= A.B.N.PRINT= 002670° 002722* 002770°* 003052* 7 16:07:57 E333ttt 1 1 1] REV B PATCH 00 6 18-Mar-1982 Al VOVOVVVOVOOVOVOVVVOVOOVODOOD BSKEL4 Pa 39 SEQ20074 K 6 18-Mar-1982 16:07:57 13-mr-1935 13:44:41 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION BSKEL4 TOPS=20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (9) P 007540 SEQ | 000010 162706 000032 000014 012746 004570° 000020 012746 000001 000024 010600 000026 104414 .SBTTL MSDUMPER : suB MOV MOV MOV TRAP 000030 01%716 004642" MOV 000044 017766 040374° 000036 000052 016616 000036 012746 003320° 000056 000002 012746 oooozg 000066 01 000070 104414 000072 016700 040374" 000076 016066 000002 000040 000104 016616 000040 000110 012746 003406° 000114 012746 000002 000120 010600 000122 104414 00012¢ 016700 040374" 000130 016066 000004 000042 000136 016616 000042 000142 012746 003472° 000146 012746 000002 000152 010600 000154 104414 000156 016700 040374° % 016066 000006 000044 016916 000044 76 012746 003556° 012746 000002 01 104414 016700 040374" 016066 000010 000046 6 16616 12746 003642° 12746 000002 010600 104414 040374" 016700 12 000050 016066 oooggg 016616 012746 003730" 12746 000002 MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MoV MOV MOV MOV TRAP MOV MOV MOV MOV MOV 000034 012746 000001 000040 010600 000042 104414 MOV MOV TRAP MSDUMPER EXTENDED MESSAGE PRINTING SECTION #32,SP #HEADER . PRINT,=(SP) #1,-(SP) : SP,# #1,=(SP) SP.RO 14 : SP,* #COL .DESC.PRINT, (SP) L.ADDR,36(SP) 6(SP), (§P) 0531.961'41.-(») #2,-(SP) SP.RO 14 ML.ADDR,RO 2(R0) ,40(sP) 40(SPJ , (SP) #IC.PRINT,=(SP) #2,~(SP) SP.RO 14 ML.ADDR,RO 4(RO) ,42(SP) 42(SPJ , (SP) ngn.mim.-(sp) #2,~(SP) SP.RO 14 ML .ADDR RO 6(R0) ,44(SP) 44(SPJ , (SP) #DA.PRINT,=(SP) #2,-(SP) SP, 14 "6’53” RO 10(R0) ,46(SP) 46(SP) . (SP) cssz.mim.-(sm #2,~(SP) SP, 1 .ADDR RO 12(R0) ,50(sP) 50(SP) . (SP) #DS.PRINT,=(SP) #2,-(SP) 2208 *,ML.REG ;: ML.REG,* 2209 : SP,% : : =, ML.REG * ML.REG,* 2210 : SP,% : : «,ML.REG * ML.REG,* 2211 SP,* « ML .REG .REG,* : SP,* *,ML.REG ML.REG,* SP,* *,ML.REG .REG, * : 2206 | 5507 SP.RO 14 ! | - 2212 2213 | 2214| ; | | REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION L MOV ;g gweoo ?3'533 040374* 74 §1oou 14 000052 16616 1 31 46 83313 127 01 000 54 000560 TRAP 104414 104414 000562 062706 000124 SP,RO MOV 1 016700 040374° 000 24 000056 016066 000 56 000372 016616 004164" 015746 000376 000402 012746 000002 000406 010600 000410 104414 000412 016700 040374° 000416 016066 000026 000060 ooo4§3 016616 000060 012746 004250° 000430 000434 012746 000002 000440 010600 000442 104414 000444 016700 040374" 000450 016066 000030 000062 000456 016616 000062 000462 012746 004334° 000466 012746 000002 000472 010600 000474 104414 000476 016700 040374° 000502 016066 000042 000064 000510 016616 000064 000514 012746 004420° 012746 000002 %s 524 010600 83856 104414 016700 040376° 530 53, 016066 000044 000066 2 016616 000066 s:.g 81274.6 004504 ° 012746 000002 552 556 010600 MOV MOV MOV MOV 54 016616 012746 004100° 50 81 746 000002 | SP,RO ADDR RO ;t 14(R0) ,52(sP) "oy MOV » 040374 000356 016700 000054 16 016066 1?:“:41 13-»»1935 16:07:57 W MOV MOV MOV MOV 52 14* 2 MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP ADD 6 18-Mar=-1982 BSKEL4 52(SP) . (SP) #ER.PRINT,=(SP) #2,=(SP) p ML.ADDR,RO 16(R0) , 54 (SP) 54 (SP) . (SP) #AS.PRINT,=(SP) #2,=(SP) SP,RO 14 ML.ADDR,R gmm.fe(sp) 6(SP) . (SP) #MR.PRINT,=(SP) #2,-(SP) SP.RO 14 ML.ADDR,RO 26(R0) ,60(SP) 60(SP) . (SP) #DT.PRINT,=(SP) #2,-(SP) SP.RO 14 .ADDR,RO (R0) ,62(SP) . (SP) 62(SP) ogu.mm.-csm #2,~(SP) SP.RO 14 m{ma RO ) , 64 (SP) 42(R0 64 (SP) - (SP) #EE.PRINT,=(SP) #2,-(SP) SP.RO 14 ML.ADDR,RO 44 (R0) ,66(SP) 66(SP) . (SP) ISL.PRINT.-(SP) #2,=(SP) SP.RO 14 #124,SP TOPS=20 Bliss=16 v2(212) g.wfi 9 n:«msmsu ; SP,e * «,ML.REG : ML.REG,* ; SP,» . : *,ML.REG : ML.REG,* ; SP,» «,ML.REG M .REG,* Page 0076&1 SEQ 2215 2216||g =, 2217 ; SP,% : © %, ML.REG * ML.REG,* 2218 ; SP,* : : *,ML.REG : ML.REG,* 2219 ; SP,* : * * ML.REG : ML.REG,* 2220 : SP,* ; + «,ML.REG : ML.REG,* 2221 : SP,* : 2206 g-fllr-‘lgss . BSKEL4 18-Mar-1 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 000566 RTS 000207 ;: Routine Size: 184 words : Maximum stack depth per invocation: &2 words PC 'T’RPS >PMSKL4.BLI.1 Liss=1 V2(212)(9) P SEQ 42 0077 N - s 2 5 S : : : 2 6 7 8 9 % global routine SUMMARY : novalue = begin !4+ ! Functional Description: This global routine is called from the report code section contained in skell 2 of this diagnostic. % 31 : 5232 2 s - 2237 238 ! Formal Parameters: none ! 3 ggll% ; :: : : : F 3 3 : 3 3 3 : s 3 3 : 3 : F : : : . : 3 : : : : : : TOPS~-20 Bliss=16 v2(2 1 2% PA:<NEALE>PMeSKL4.BLI.1 10 %sbttl "ROUTINE DECLARATIONS' : ; : 3 6 18-Mar-1982 16:07:57 1g~Mar=19SS 12:64:41 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS the ce tomaintenan report is ofto the routine of this al purpose The prom report statistic a operator ! 22 3% 34 : program on this unit. Inputs: Input Implicit 520 !| Implicit WBUFF 243 2244 2245 2246 2547 2248 2249 2250 2251 225% 2%5 2254 2255 2256 2257 2258 2259 2260 2261 226 226 2264 2265 5266 267 2268 2269 2270 §§71 7 74 | Implicit Outputs: ! ! Completion codes: none ! ! ! Side Effects: none ! . !-- '+ ! See if any additional errors were found bad execution of the Prom Maintenance program. i If additional errors were found then dump to the ! during ! the console terminal the Prom Maintenance program ! summary report code else print that no additional ! were found. l= !Were additional errors found if .PM_COUNT gtr ZERO then begin PRINTB (CRLF); PRINTB (ONE_MSG, PM_HEADER):; PRINTB (PM_T0_MSG): PRINTB (PM_11_MSG). PRINTB (PM_12°MSG); PRINTB (PM_13_MSG:; PRINTB (CRLF); - gRINTB (ONE_MSG, PMSHEADER): : 'Print a formating <crlf> !Print the header message 'Print out summary message IPrint out summary message 'Print out summary message IPrint out summary message 'Print another formating <crlf> !Print out the chip location header i Index through the summary table and print out its ! contents to the console terminal for operator review. Page 43 SEQ 0078 B : 3 P P P 1 P P ‘9 5990 % .lg : 2 g 3 3 2297 2298 3 3 3 3 3 : S 000570 end; 85 :F : : bogin PRINTB (FMT16, PM_LOG [.index, UNITS PM], .PM_LOG L.index, BRDS_PMJ], .PM_LOG [.index, BNKS_PMJ], .PM_LOG [.index, BITS_ 78 2279 else 2 2 004167 PA:<NEALE>PMSKL4.BLI.T1 (10) .PM_LOG [.index, sum,PnJS.- !Print the total rows/col blasted end , %Ym (CRLF); 'Print a formating <crlf> n 'Print the header message 'Print out summary message 'Print out summary message 'Print out summary message 'Print out summary message 'Print another formating <crlf> PRINTB (CRLF); PRINTB (ONE_MSG, PM_14_MSG): - end; 0000006 .SBTTL SUMMARY ROUTINE DECLARATIONS JSR R1,$SAVE3 3 2225 2264 :: SUMMARY 3 003546 BLE TST 3s : 01 1046414 MOV TRAP #CRLF ,~(SP) #1,-(5P) SP.RO 14 : W, #PM.HEADER, (SP) : #2,-(SP) SP.RO 14 : SP,x #1,-(SP) SP.RO 14 s SP,e #1,-(SP) SP.RO 14 : SP,» 000574 005767 000000' 012746 002622° 012746 000001 K 012716 12746 002556° 12746 1 104414 12716 888356' 1 012716 000434° MOV MoV MoV MOV MOV MoV TRAP MOV MOV MOV TRAP MOV 000001 127 1 104414 MOV MOV TRAP 1 MOV 15716 88&5)40 4 12746 ; : | 'Print the failing bank number 'Print the failing bit number PM. COUNT 12746 1 104414 44 | P ; 583’5079 'This is the printing format 'Print the failing unit of this sbe 'Print the failing board number PRINTB (PM_13_MSG); 296 v2(212) | PRINTB (ONE_MSG, PM_HEADER); PRINTB (PM_TO_MSG): PRINTB (PM_11_MSG): PRINTB (PM_127MSG); 1 29§ TOPS~20 Bliss=16 MoV ngrz.nsc.-isn #PM.10.MSG, (SP) #PM.11.MSG, (SP) #PM.12.MSG, (SP) #1,-(SP) 3 3 3 2261 2265 2266 2267 2268 |S—— 2 3 3 : : : incr index from 0 to .PM_COUNT - 1 do 77 16:07:57 13-!:1'-1935 12:26:41 REV B PATCH 00 ROUTINE DECLARATIONS BSKEL4 : 7 18-Mar-1982 g BSKEL4 MOV 76 01 W MOV 1 7‘2 88830156* %70 81%47.33 000 000712 01 MOV TRAP MOV MOV MOV TRAP MOV MOV MOV MOV 3337"’ 104414 716 012716 002622° 012746 000001 000 000726 01 104414 000732 012716 000104’ 002556° 012746 000 2 000742 012746 000746 010600 000750 104414 000752 016703 000000° 000756 oosoog 000760 00045 000762 °1°§31 000764 006301 000766 006301 000770 016146 000774 062701 001000 011100 001002 006200 001004 006200 001006 006200 001010 006200 001012 006200 001014 001016 042700 TRAP SP,RO }‘:fl 13.MSG, (SP) #1,-(5P) SP.RO 14 #CRLF , (SP) #1,=(5P) SP.RO 14 #PMSHEADER, (SP) (SP) . MSG, = E #ON #2,-(SP) SP.RO 14 PM. COUNT ,R3 R2 28 R2,R1 18: R1 R1 PM.LOG+2(R1) ,~(SP) #PM_LOG,R1 (R1).R RO R R RO RO 000004" 000002° 177600 1?:44:41 13-»»19 5 16:07:57 BIC RO,=(SP) (Ri), =(sP) #177974,(SP) (R1),RO RO RO #177760,R0 RO,=(SP} (R1) RO RO RO 1 1 000000* 1 1 12746 000006 1076 01 104414 1100 000016 osg 0011 MOV MOV MOV TRAP RO,-(SP} #FAT16,-(SP) #6,-(SP) gp.no 4 001106 00 L BIC MOV ADD INC ; SP,* : ; SP,w ; 2269 2270 2271 : SP,% : : INDEX ; INDEX,* #177600,R0 MOV move BIC MOVE ASR ASR BIC MOV MOV ROL ROL 1% 177770 783 ; SP,e P 008045 SEQ RO 001022 010046 001026 111146 042716 177774 001 111100 001032 oo1o§ 006200 0010 042700 177760 001040 8310:.4 10046 100 1 100 881 1 100 ]1 TOPS=20 Bliss=16 v2(212) 4.BLI.1 (10) PA:<NEALE>PMSKL RO #177770,R0 #16,5P R2 : SP,w : + INDEX 2278 22r? ——— REV B PATCH 00 ROUTINE DECLARATIONS 000 ¥ 18-Mar-1982 D BSKEL4 REV B PATCH 00 8119 11 001114 %111 11 oon 0011 0011 0011 001142 0011 %‘HS 1152 001156 001762 001164 00119% oon 001176 001 001 001 001212 001214 001216 001222 001226 001 83953 g;.ns 81 746 3s: 48 #CRLF ,=(SP) 012746 012746 0 104414 012716 012746 01 104414 012716 012746 01 1046414 012716 012746 010600 104414 012716 012746 010600 104414 Q12748 Q0133 00124 015600 104414 001244 001 43 881 5 1 zs 001 1264 1 1 18-mar-1983 18:82:2 ROUTINE DECLARATIONS 2s: 127 01 104414 012716 012716 81 746 12746 01 104414 062706 000207 : Routine Size: 1 80663% ; INDEX,* Pa 46 85095081 | 2261 | 5590 #1,-(5P) 14 R, (SP) #PM_HEADE 229N #ONE .MSG,~(SP) #2,-(SP) SP.RO 14 ; SP,» 2292 G, (SP) #PM.10.MS 000324° 000001 #1,-(SP) SP.RO 14 G, #PM.11.MS(SP) #1,-(SP) 000434° 000001 SP.RO ; SP,» 2293 ; SP,» 2294 JPH.12.?SG.(SP) 000544 000001 ; SP,» 2295 000656° 000001 : SP,» 2296 002622° 000001 : SP,* 2297 " 000244 002556° 000002 : SP,x 4S: 000026 . : Maximum stack depth per invocation: 2301 TOPS~20 Bliss~1 PA:<NEALE>PMSKL4.BLI.1 (10) SP.RO 000170°* 005556' 2 162 words 7 22 words 2226 2225 E SS25258 inked at Link time. } 1 1 Functional Description: This global routine will generate a write buffer of random data. The global routine to actually erate the random number is a global routine Formal Parameters: none Implicit Inputs: MORTE BUFF” Implicit Outputs: WBUFF is full up with random data Completion codes: 324 2325 2326 232 2328 ‘'=-- none ~ Side Effects: none local '0ffset variable into write buffer WRT_BUF + %0°'0' = .SEED1: WRT_BUF + X0'2' = .SEEDZ2: WRT'BUF + %0'4' = .SEED3; 'Initial seed! to write buffer + 0 to write buffer + 2 'Initial s to write buffer + & 'Initial s OFFSET; 53 2331 233% 33 : 2336 | VER CIMLCB CHANGED 128 TO 256 3% & ngg 'Adjust offset by 6 OFFSET = %0'6°; zggg 2;28 341 PA:<NEALE>PMSKL4.BLI.T (11) 144 W - OQOVWNOVS NN -O NN NININININ NN NN NININI NNN NN W } TOPS=-20 Bliss=16 v2(212) begin OOR TR TRT T PRTR TRT TRLR L LR L L L L T L L L T L L DRLR L T TR T T T e O IR RN routine GEN_RANDOM_DATA : novalue = 1 16:07:57 ‘lg-fllr-wss 12:“:61 REV B PATCH 00 ROUTINE DECLARATIONS BSKEL4 1 } 7 18-Mar-1982 g Fill the write buffer up with random data ; incr HR?ECNT from 4 to 256 + 511+2) do !Generate the random number %gzg BREAKq (); zgzo WRT BUF + .OFFSET = .RANDAT; 2348 2349 2350 end; OFFSET = .OFFSET + 2; 2347 ‘Load 768 words with random data 'Write buffer ¢+ offset gets the random number 'Bump the offset by 2 end; .SBTTL GEN.RANDOM.DATA ROUTINE DECLARATIONS 47 P SE895082 k% '3"""933 ’2‘2"57 18-Mar-1982 15:44:41 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 001274 1 016767 016767 1 1314 016767 1322 001 001 001 001340 001 001352 001356 GEN.RANDOM. DATA: 004167 : gg ' 40" : 01 ;81 ; 1 : 73 104422 016761 3338326 002234* 1 00 002376 0 28 words : Maximum stack depth per invocation: R1,S$SAVE2 : MOV MOV JSR TRAP MOV ADD INC CMP #6.R1 #4.R2 PS.MNGEN 2 RANDAT ,WRT .BUF (R1) #2,R1 R R2, #2376 * «,OFFSET : *.WRD.CNT : ; «,«(OFFSET) P « OFFSET * WRD.CNT * WRD.CNT,# BLE RTS 001360 003764 001362 000207 : Routine Size: JSR MOV MOV MOV 1$: 3 words TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (11) SEED1,WRT.BUF .BUF +2 SEED2.WRY +4 SEED3 . WRT.BUF 1$ PC :: : : 12) Page 49 5589508‘ Functional Description: This global routine will perfrom a diagnostic mode read transfer at the designated buffer and sector addresses. It St amt SI1ZE: BUFFER: S I Il i SECTOR: Specifies the size of the transfer write buffer address where data is coming from or going to. | y ML=11 desired sector address where data is coming from or going to. Implicit Inputs: none i et '| Formal Parameters: Implicit Outputs: none it il v TOPS-20 Bliss=1 v2(212) PA:<NEALE>PMSKL4.BLI.1 44 ittt o NNNNNQNNNNN gE8<E gEEE 3 15:44:41 begin s DAL TR PR TR LATR TR LR TR L D L L 1 AL AT ETR A TR TR TR D A IS TS TR TR 18-Mar=1982 routine DM_RD_TRANSFER (SIZE, DST, SRC) : novalue = st TRT R DALR LI T 3 3 G 7 1g-flar-19 s 12:07:57 ROUTINE DECLARATIONS s BSKEL4 REV B PATCH 00 Completion codes: none Side Effects: none 'Clear the mass bus 'Enable data diag mode 'Select the divice under test CLR_MBUS; DAT_DM (ENABE); WRTZRH (MLCS2, DRV_SEL, .ML_DUT); ‘Load the transfer size 'Load the transfer source address 'Load the transfer destination address 'Load a read function with go set WRT_RH (MLWC, WC_REG, .SIZEJ: WRTCRH (MLDA, DAZREG, .SRC): WRT_RH (MLBA, BAREG, .DST): WRT"RH (MLCST, FONC, FUNC_4); end; | 001364 010146 1 0}6700 888374' 10 it 000040 e % oe 1 L] 16 0374* 10 040374° .SBTTL DM.RD.TRANSFER ROUTINE DECLARATIONS DM.RD. TRANSFER: R1,=(SP) MOV MOV nld.mon.no E BIS8 (sP) ,Rf #40,R1 : ML.REG,MLREG : =, MLREG =g¥ MOV MOV MOV 10(R0) ,~(SP) n%. DR,RO R1.10(R0) ML .ADDR,RO : «,ML.REG : MLREG,* 2351 2352 REV B PATCH 00 ROUTINE DECLARATIONS MOV MOV 16046 000010 0014 or Qotage Q11GOT o 881:. 1436 88141. BIC BICB 179”798 04 142701 000007 8IS 050001 " 18-Mar-1982 -Mar=19 H BSKEL4 10(R0) ,=(SP) (sPYRT fi?”rb.no #7.R1 RO.R1 0460374" 1466 016 oou.zg 0101 ooggw 0460374" 001456 016 001460 81604.6 000024 83"’“ 11601 10 11.93 152701 040374* 018 0014 00147 81 160 ooogzl. 16700 040374" 001 oo1so$ 016046 000010 00151 8"983 040400° 001514 13 062700 177770 001520 MOV MOV MOV MOV MOV BIS8 MOV MOV MOV MOV MOV MOV BIC m{.mn RO R1.10(R0) ML .ADDR, RO 24(R0) ,~(SP) (sP) Rf #10,R1 ni.iooa RO R1.24 (RO) ML.ADDR,RO 10(R0) ,~(SP) (sP) ,R1 n% 991 RO #172776,R0 050001 BIS RO.R1 BICB 001524 "’50781 000007 001530 MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MoV MOV MOV MOV MOV MOV MOV MOV MOV BICB BISB MOV ADD MOV 001532 016700 040374° 001536 010160 000010 001542 016700 040374° oow.g 016046 000002 001552 016601 000022 001556 016700 040374° 001562 010160 000002 001566 016700 040374° 001572 016046 000006 001576 016601 000020 001602 016700 040374° 001606 010160 000006 001612 016700 040374° 001616 016046 000004 001622 016601 000024 oougg 016700 040374° 010160 000004 001632 001636 017746 040374° 001642 o12% 000077 001644 142 001650 152700 000051 001656 010077 040374° 706 000016 001660 001664 012601 RTS 001666 . : Routine Size: 98 words : Maximum stack depth per invocation: 10 words #7.R1 ML.ADDR,RO R1,10(R0) ML.ADDR,RO scm -(SP) 2(SPJ R ML .ADDR,RO R1.2(RO} ML.ADDR,RO (RO) ,=(SP) 0(sPS ,R1 ML.ADDR,RO R1.6(ROS ML .ADDR RO 4(RO) ,=(SP) 24(SPJ R n%.mi RO R1.4 (RO} ami ., ADDR,=(SP) (SP)+ RO #77.R #51.R . ADDR RO, aML #16,SP (SPJ+,R1 PC 18:0.:2 88 16:07:57 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (12) : «,ML.REG : ML.REG,MLREG 2% 50 Page SEQ 0085 ; *,MLREG : *,MLREG ; MLREG,* : : «,ML.REG * ML.REG,MLREG * «,MLREG ; MLREG,* : : *,ML.REG * ML.REG,MLREG ; *,MLREG : *.MLREG : MLREG,* : : « ML.REG : SIZE.MLREG : MLREG,* : : = ML.REG : SRC,MLREG : MLREG,* : : * ML.REG : DST,MLREG : MLREG,* + « ML.REG * ML.REG,MLREG : «,MLREG : *.MLREG : MLREG,* : 2384 | : ' ; : 2385| . l g , ; 2386 2387 2388 2389 2351 BSKEL4 YOP 0 Bliss=16 BLI.T1 V2(212)(13) ALE>PMSKL4. ¢4 i Functional Description: This global routine will perform a diagnostic i -ode write transfer at the designated ! buffer and sector addresses. ; ! Formal Parameters: SI1ZE: ! ' : BUFFER: ) SECTOR: ! : Size of the transfer Write buffer address where data is coming from or going to. ML-11 desired sector address where data is coming from or going to. ! Implicit Inputs: none ; L L 15:44:41 begin ! 5 L 18-Mar=1982 routine DM_WRT_TRANSFER (SIZE, DST, SRC) : novalue = T L 4t 1 -Har-19 s 1g07:57 ROUTINE DECLARATIONS L L L L L R T LI LR LR T DRTR LR L T T REV B PATCH 00 ! Implicit Outputs: : none ] ! Completion codes: ; none TR IR R R T ! Side Effects: : none .-- CLR_MBU DAT_DM (ENABE) (MLCS2. DRV SEL. LML_DUT); !Clear the mass bus WRT_RH WRT_RH (MLWC, WC_REG, .SIZEJ: WRT_RH (MLDA, DA_REG, .DST) WRT_RH (MLBA, BA_REG, .SRC) sz_RH (MLCST, FONC, FUNC_ 55 'Solcct 'Load the transfer size 'Load the destination address ‘Load the source address 'Load a write function with go set diag mode iEnable data the divice under test @ .SBTTL DM.WRT.TRANSFER ROUTINE DECLARATIONS MOV R1 -(SP) DM.WRT.TRANSFER: 040374° 000010 000040 040374° 000010 040374' MOV MOV Hh R.RO MOV B8ISB MOV MOV MOV (sP) ,Ri #40, R1 ML.ADDR,R ML.ADDR,RO R1,1o<n6) (RO) -(SP) : 3 s = ,ML.REG * ML.REG,MLREG s *,MLR13 : MLREG,* 23N 2392 et o ey ROUTINE DECLARATIONS 10(R0) ,=(SP) 000010 P o177976.a0 177798 060400° 000007 ISS ass§§ss§§§ss§§ 2T2 222D ONNST 2B - Qo Q- Gur Gour Pour ; = & D d ed b b ek el ad ed ed D cod ek md D cred =OO0000O00O0O0O0O0O00000 NN B RIS LARBNFRR =28 SRSR RRaRRRs -~ ; *,ML.REG ; ML.REG,MLREG R1.10(R0) MLREG,* (sP) ,R1 #10,R1 ML.ADDR,RO * ML .REG ML.REG,MLREG * ,MLREG R1.24 (R0) MLREG, * 10(R0) ,=(SP) * ML .REG ML.REG,MLREG ML .ADDR,RO 2424 2425 ; *,MLREG : *,MLREG 040374° 000010 040374" 000002 000022 040374° 000002 040374" 000006 000022 040374° 000006 040374° 000004 0000;2 040374° 000004 040374" MLREG,* * ML.REG SI1ZE ,MLREG MLREG,* *,ML.REG DST,MLREG MLREG,* * ML.REG 2426 2627 2428 SRC,MLREG MLREG, * * ML .REG ML.REG,MLREG * MLREG * ,MLREG 000077 000061 040374° 000016 : Routine Size: 98 words Maximum stack depth per invocation: TOPS=20 Bliss=16 V2 ( 212: (13) PA:<NEALE>PMSKL4.BLI.1 * ,MLREG * ,MLREG ML.ADDR,RO 24(R0O) ,=(SP) 000010 040374 0000;6 040374° 000010 8 18:0:0 #7.R1 RO,R1 ML .ADDR RO 040374" 000210 040374 000024 040400°* 177770 000007 002042 7 TR TR 1 OO ..._.-._.u._..._a_n_.v.ag.-.. §0°ON-‘§O g2832 ga fl“gs-. 016046 OVO0O0—-000000— N o 8 001;§§ 001 J 1g-llar-19 18-Mar-19 LR TR BSKEL4 REV B PATCH 00 MLREG,* 10 words 2629 239 BS KEL4 18-Mar=-19 ROUTINE DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (14) routine DM_RAND_LOAD (TEMP_ARRSBNK_SEL) : novalue = begin 44 i Functioml Description: global routine will load via diagnostic mode i d array and bank randon data to the designate sel. i selected by arrSbnk_ : i Formal Parameters: i i ARRSBNK _SEL: “This ar?um\t stores the array and bank select address. : il : g gfiuRET STATUS licit 1 i Implicit TS filled with random data : PRTBUP i Completion codes: : none i Side Effects: : none TS TR TR TR AT TEAL DRU R DA T TR TR T TR TR TR AR R T T T T T TRTR T A TR DR TRTR LR DR TR TN R TR D LI T T REV B PATCH 00 -Har-193§ g int 'Start buff iud 'Buffer index pointer local BUF _INDEX, BUF _IRDEX; ar er ex pointer ‘Generate a write buffer with random data 'Thc first sector starts at write buf word zero 'Buf index will get 12 nndon data words A Q) GEN_RANDOM DM = ZERO;: s _BOF_INDEX 80F _IRDEX = .S _BUF_I OM_mT TRANSFER (STZE -256. DST = .TEMP_ARRSBNK_SEL. SRC = WRT_BUF); '+ i Increment through all sectors and load them :with random data. incr biE(;_CNY from 0 to .BNK_NUM_SEC do 'Load all sectors in bank with random data in BREAK; incr uno CNT from 0 to 127 do 'Load all words in sector with random data 1 WRDD: iLoad datareg DB1REG. .RT_BUF [.BUF_INDEX, ua?R (MLD;, ogz reg data 'Load REG, .WRTTBUF [.BUF moex. Hg T_RH (llbs HITRH (MLE DAT_CLK; [.BUFX. WRD]); REG, .WRT_BUF BUF”INDEX= .BUF_INDEX + ONE; 'Load data re TClock the random data into the iGet the next random data word ml-11 long word — SE0 0088 s 1 1 ROUTINE DECLARATIONS TOPS=20 Bliss=16 V2(2 2) PA:<NEALE>PMSKL4.BLI.1 (14) Pa 54 SE0°0089 483 !Start the next sector 2 word deeper iBuf index will get 128 more nndon data words 'Clear the single step dma mode R1,$SAVES #20,SP P;.GEN.RMDM.DAM R4 #-400,=(SP) (sP),S§12E 177400 0460426° 000040 040430 002234* 2431 2462 TRTR T 177064 DM.RAND.LOAD ROUTINE DECLARATIONS 2465 LT .SBTTL DM.RAND.LOAD: 40(SP) ,~(SP) (SP), D§T TEMP .ARRSBNK . SE , * BUF . INDE,X* TR TR TR 1] oy AR * ML.REG 2473 2476 2478 -] accs.; Nl DAOD 20 30 DN~va & O(SP) W wdont B 000016 NS 040 000024 000016 000020 3§>éézcsp> 8 " 040374 000040 040374° 000034 000020 34 80253 374" ‘ 36 000022 WRD.CNT 2472 * ,MLREG . . "~ 000040 'D 2 002234* 040374 000036 040374"* 2$: - 1$: SENERE SYERESSARAST azge [-T2 ~ . n 0 CfiSS:G:’ l\;vv 000006 040374 000036 000024 SEC.CNT w 040416* 000010 D NOANO @~ 0406 177420 {gtsr) MLREG, * * ML.REG 2479 * ,MLREG MLREG,* * ML.REG * ,MLREG MLREG,* * ML .REG ML .REG,MLREG *,MLREG 2480 N7 REV B PATCH 00 ROUTINE DECLARATIONS 040374° TS1Y 000024 M77 000177 000002 000010 10 TOPS~20 Bliss=1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (14) 3s: LA TR BSKEL4 MLREG, * BUF . INDEX S ONT WRD.CNT , * UF . INDEX ,S.B $-BUF . INDEX , BUF . INDEX SEC.CNT SEC.CNT,» 000014 040374 88§g10 000012 ; *,ML.REG ; ML.REG,MLREG 12 ; *,MLREG ; *,MLREG ; MLREG,* : Routine Size: 126 words : Maximum stack depth per invocation: 17 words 2431 BSKEL4 49 494 !4+ 49 495 49? o Formal Parameters: ARRSBNK_SEL: This argument stores the array and bank 50 DATA: PNNNN NI 22383 504 2510 select address. This argument contains the selected data pattern to be written into the array and bank selected by array bank select. Implicit Inputs: URI_SBF. RET_STATUS 2 2§}1 51§ Implicit Output filled with ones or zeros - URT_BUEuis 251 Completion codes: 5518 519 %SSO Side Effects: none g}g 2519 s: c data. - none 353 T !g;agle step dma write mode §52§ _SEL, SRC = WRT_BUF); ?H_URT-TRANSFER (SIZE = =256, DST = .TEMP_ARR e s s e e e e This global routine will load via diagnostic mode the designated array and bank selected by arr$bnk_sel. ones or ZEROS '' the contents of data " to 50 526 e L r Functional Description: 233 U1 TOPS-20 Bliss=16 v2(212) SKL4.BLI.1 (15) PA:<NEALE>PM begin 49 4N 16:07:57 1g-fllr-19gs 12:44:61 routine DM_1_0_LOAD (TEMP_ARRSBNK_SEL, DATA) : novalue = ngg TR 7 491 er e o TR T T L T T L L T L L L T T L L P L A LA T ETR TR PRTR LR TR T TN REV B PATCH 00 ROUTINE DECLARATIONS N 18-Mar-1982 i Load the diagnostic registers up with the 527 g g ! data contained in the argument ‘data‘'. Data ; will either be all ones or all 2eros. 5 531 WRT_RH (MLD1, DB1_REG, .DATA): WRT_RH (MLD2, DB2_REG, .DATA); S '+ g g 535 S S S g sz? 542 WRT_RH (MLE2, E2_REG, .DATA); ! ! : ! ! ; ; up with Load this banks sector ra diagnostic the data just loaded into retisters. The outer loop will select all the sectors within this bank while the inner loop will load the data into all the words within the sector. ILoad data reg 1 with data 'Load data reg § with data 'Load data reg 3 with data . 56 P 55808091 REV B PATCH 00 o RO SUDMU!VOUIUIV!U!U! DO NN W) -OV w - wviviuviuaiua o o MNP N NN NN NN NN il W NS S 3 ROUTINE DECLARATIONS e and - e e e b N -~ 332 = &% §§0°§§°@ d 3‘320°§00 Sg2dgsesy b mnd e emnd =l=lelal 574 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (15) incr SEC_CNT from 0 to .BNK_NUM_SEC do 'Load all sectors in bank with data incr WRD CNT from 0 to 127 do DAT_TLK; 'Load all words in sector with data 'Clock the data into the ml=11 Page 57| SEQ 0092 g VER CZMLCB changed 127 to 255 + Fill the write buffer up with the same data pattern that was just transfered to the unit under test. This will Later be used as compare data when this sector number is read back. incr WRD CNT from 0 to (255 + 511+%2) do URT_BUF C.WRD_CNT, WRD] = .DATA; 'Fill the write buffer up with data CLR_MBUS:; !Clear the single step dma mode end; 0000006 002570 Sgeocomoo °°O°gg e —— ———— 57 !19gs %g:07: }g-lar 44:41 -Mar=19 8 BSK EL4 000014 177400 om;g' 0000 0460430° 002234 040432° 177034 040374 000036 000020 000040 040374 000036 040374 " 000040 000016 040374 0 320“3”7‘4' ooogsl. 000014 040374° 000034 0460416° .SBTTL DM.1.0.L0AD: JSR SUB MOV MOV MoV MOV MOV MoV JSR MoV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV CLR DM.1.0.LOAD ROUTINE DECLARATIONS R1,S$SAVES “63’ =(SP) (SP) ,S1ZE 36(SP) ,=(SP) (SP) ,DST #WRT.BUF ,~(SP) (SP) , SRC PC.DM.WRT. TRANSFER -ADDR R1 (R1) ,20(sP) 40(SP) .R RS.RO knm R -36(R1) nsma R 40(R1),16(sP) R1 % 40(RT) ML34(R1) .ADDR,R1 , 14 (sP) %.mofi R1 -34(R1) BNK.NUM. SEC,Ré R3 ; 2491 ; : TEMP.ARRSBNK.SE,* 2524 :: * ML.REG : DATA,* : «,MLREG 2530 :: *,ML.REG 2531 : MLREG,* : MLREG,* : * *,ML.REG : MLREG,* :+ SEC.CNT 2532 2543 8 BSKEL4 REV B PATCH 00 002736 00¢740 7 000423 005002 81 152700 lg-lchr=19 18=Mar =19 ROUTINE DECLARATIONS 040374" %4 B Hk.ADDR R1 ; <n1>.i5(sp> 000012 (SP) 'R #20,R0 0000; 040374" 000024 ML.ADDR,R1 :2.24(Ri> Qo 0 L 000177 0;2 002776 00 00 00 3757 005 R2.M177 2 3s: 4$: 00 R3.Ré4 1$ RO RO,R1 R1 :goURT.BUF (R1) 002375 RO,#2375 040374° n00010 000010 000010 000040 040374" 000010 040374° 000010 000006 000006 040400°* 177770 000007 AxZATIA RoE3ERSS # e 5 0 O~ 2283S % $ 002234" g 43 040374° 000010 000022 : Routine Size: R 116 words : Maximum stack depth per invocation: 15 words 8 18:%4:21 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (15) WRD. CNT Page 58 SEQ 0093 2545 * ,ML.REG ML.REG,MLREG * ,MLREG MLREG.* . CNT WRD s WRD.CNT,* ; SEC.CNT 2543 s WRD.CNT 2561| ; SEC.CNT,* ; WRD.CNT,* ; WRD.CNT WRD.CNT,* * ML .REG ML .REG,MLREG zsczi 2561| 2562| * ,MLREG MLREG, * : *,ML.REG ; ML.REG,MLREG * MLREG * MLREG MLREG, * 2491 D 18-Mar-1982 routine WRT_CHK_TRANSFER (SIZE, DST, SRC) : novalue = 4 000 W - N NN N NINNINI NN NN NN N NNNN NN NN NN Vi TR TR TR DRTR TR PRPR PRTR AT ETE TE L A L R L A L 1 ALETE TR s o o o s T RS T L OR T T L A —SIBIFANANISSE SIRIRGR W) ROUTINE DECLARATIONS TR T TR TR T REV B PATCH 00 e BSKEL4 15:44:41 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (16) begin 144 ! ! Functional Description: This global routine will perform a write check transfer at the designated buffer and sector address. ] i i Formal Parameters: SIZE: ' BUFFER: 1 ! ! : ! ' ; SECTOR: Stores the size of the transfer Write buffer address where data is coming from or going to. ML-11 desired sector address where data is coming from or going to. i Implicit Inputs: E none i Implicit Outputs: % none i Completion codes: ; none i Side Effects: ! .-- none CLR_MBUS ECCCDIS (ENABE); WRT_RH (MLCS2, DRV_SEL, .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZETJ; WRT_RH (MLDA, DA_REG, .DST); WRT_RH (MLBA, BA_REG, .SRC): !Clear the mass bus iDisable error correction iSelect the divice under test 'Load the transfer size 'Load the destination address 'Load the source address if .ML_ADDR [MLCS1, SC] 'Does the transfer cause a sc error WRTCRH (MLCST, FONC, FUNC_4); then | begin if not .ML_ADDR [MLCS2, WCE] then iLoad a write check function with go set 'We expect the write check bit to be set begin 'Report the unexpected error DUMPER); ERaSF (ERR_13, UNX_DRV_ERR_MSG, MSG); 'Print what transfer caused the error PRINTB (ONE_MSG, WT_CHR_XFER_ MR 8 1g-llr-19gs 12:07:57 DODU (.LSUNIT); DOSLN: end; Drop this unit 'Jump to the clean up code Page 59 SEQ 0094 E BSKEL4 oo 2 2 2 2 VIS NN - 2618 619 620 16:07:57 00:2] 18Mar-1088 18: ROUTINE DECLARATIONS Bliss=16 v2(v2(2 ss=16 212 Bli 0 PA:<NEALE>PMSKL4.BLI.1 (16) TOPS=20 12) Page 60 SEQ 0095 end; do 'Delay for transfer to complete if .ML_ADDR [MLCS1, SCJ !Did the transfer cause a sc error . .ML_ADDR [MLDS, DRY]; then begin if not .ML_ADDR [MLCS2, WCE] then D DR TR TR D T TR T T REV B PATCH 00 8 18-Mar-1982 'We expect the write check bit to be set begin !R:gort the unexpected error DUMPER): ERASF (ERR_13, UNX_DRV_ERR_MSG, ER_MSG); !Print whi function caused the error TRT TR PRINTB (ONE n§s. WT_CHR_XF 'Drop this unit DODU (.LSUNIT); DOCLN; 'Jump to the clean up code AR LA LR P T end; end; end; .SBTTL CHK: . TRANSFE WRT. 000032 040374" 000010 000030 000030 000040 040374" 000010 040374 ° 000010 000026 000026 040400° 177770 000007 040374 000010 040374" 000024 000024 000024 2 040374 ooog;l. 0374" 10 000022 22 MOV WRT.CHK.TRANSFE ROUTINE DECLARATIONS R1,=(SP) SUB MOV MOV MOV BISB MOV MOV MoV MoV MoV MOV #32,5P .ADDR RO , S0(sP) 10(R0) (SP) .R1 #40.R1 RO n{. R1.10(R0) noma RO , 26(SP) 10(R0) 26(SP) .R1 ML wr RO MOV MOV MOV MOV MOV BISB MOV MoV MOV MOV MOV n..nson RO R1.10(R0) "2'” RO s (RO) , 24 (SP) % (SP) .R1 #2.R1 ML .ADDR RO R1.24 (RO) -ADDR,RO , 82 (SP) 10(R0) 22(SP) .R1 BIC BICB BIS #177770,R0 #7.R1 RO.R1 . 2566 :: *,ML.REG : M(.REG,MLREG G : «,MLRE : MLREG,* : *,ML.REG * ML.REG.MLREG : *,MLREG : «.MLREG : MLREG,* :: « ML.REG : ML.REG,MLREG : «,MLREG : MLREG,* +: « ML.REG * ML.REG,MLREG 2598 2599 | F e S ~ v -~ w ~ A=A D~ DO ~os LTATATA L) EhEeSEaE 25054 g38: & =l 9 3N 3 e 3 22 g 322$ -~ &» MLREG, * MLREG,* MLREG,* * ,ML.REG 2600 S1ZE .MLREG * ML .REG 2601 DST,MLREG « ML.REG 2602 SRC ,MLREG 2603 2605 x| i.’ 2612 2613 L XFER.MSG,~(SP) SP) 3 - Tt L) B . o Page 61 SEQ 0096 * ,MLREG * ,MLREG LA TR TR 1} SARIRRS s,P8 AAS2AZE )S R1 ).l?gn DR,2(SP) 3 040374" 20(sp) 3 040374° 000002 ADDR ,RO 5 gv 3% 000004 -ADDR,RO 10(r0) #ST " < -.gfi L] @ . e o =S O o owg94 . 000012 000004 S NN -—b 0000006 -4 popey om 833N &&&S o ‘q\'n'a“123S 002474 002556° 000002 &H 33 b —_ & 83 323gE2apeaseges 238 &33232 SNy (P S e T RN i I e B o gd [«] rQurQur Pury O=O Sgezze8 ViAW ¥ 33 SN~ - SRS 88 2TIISIIIIIIIIVISISIIISISISISSSIIIIISSSSSIIISISS3 01 5799;6?20 07.:} TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (16) LA TR TR 1 ROUTINE DECLARATIONS m® REV B PATCH 00 8 18mar-1983 1884340 L EE RL 33328 3333338233383838838073 BSKEL4 2614 2611 2522 74 76 003702 706 003710 ROUTINE DECLARATIONS sea°0097 * ML.REG * ,ML.REG 2631 V.ERR.MSG 2632 K XFER MSG,=(SP) = on v‘jc 232 820600 o0 RO~ 8283888823333282 REV B PATCH 00 TOPS~20 Bliss=16 v2<2 2) ALE>PMSKL4.BLI.T1 (16) PA: -t A AN I L s BSKEL4 (SP) SP,* 2633 706 000006 000032 2%: 000207 : Routine Size: 181 words Haxiuun stack depth per invocation: 17 words 2630 2566 ROUTINE DECLARATIONS routine WRT_TRANSFER (SIZE, DST, SRC) R A A A O T R T T A T A R TR R TR DR LL L LA TR TR DRL LRL L L PR PR T EPR TR R PRTR TR TR R TRTR T T REV B PATCH 00 e BSKEL4 begin :::;:}gss 12 TOPS=20 Bliss=~1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (17) : novalue = 144 l l l Functional Description: This global routine will perform a write transfer at the designated buffer and sector address. l l 0 Formal Parameters: SIZE: l BUFFER: l l l SECTOR: I l l l l l I l Implicit Outputs: none Completion codes: none l l ML-11 desired sector address where data is coming from or going to. none l l Write buffer address where data is coming from or going to. Implicit Inputs: l l Stores the size of the transfer Side Effects: none : WRT_RH (MLDA, DA_REG, .osn WRT_RH (MLBA, BA_REG. .SRC) 'Clear the mass bus 1Select the divice under test 'Load the transfer size 'Load the destination address 'Load the source address if .ML_ADDR [MLCS1, SCJ 'Does the transfer cause a sc error CLR_MBUS; WRT_RH (MLCS2, DRV SEL. .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZEJ: WRT-RH (MLCST, FONC, FUNC_oF then !Load a write function with go set ‘Report the unexpected error UNX_DRY_ERR HSG DUMPER) ERgSF (ERR_13, function caused the error which 'Print (ONE_MSG, WRT_XFER_MSG) PRINTB DODU (.LSUNIT); DOCLN; end; do 0 ‘Drop this unit !Julp to the clean up code 'Delay for transfer to complete until .ML_ADDR [MLDS, DRY]; if .ML_ADDR [MLCS1, SC] 'Did the transfer cause a sc error Pa 63 SE020098 1 16:07:57 H-Mar=1988 18:%:20 BSKEL4 REV 3 PATCH 00 ROUTINE DECLARATIONS : 9§ 2 69 694 3 2 2696 2697 ; 699 : 3 F then bain ERRSF (ERR_13, UNX _DRV_ERR _MSG, DUMPER): PRINTP (ONE_MSG, WRT_XFER_MSG): 695 DODU (.LSUNIT); DOCLN; 698 2700 003712 010146 003714 162706 720 016700 003726 016066 003732 016601 003736 152701 oogw.z 016700 003746 010160 003752 016700 003756 016066 003764 016601 003770 016700 003774 042700 004000 142701 004004 050001 016700 004012 010160 004016 016700 004022 016066 004030 016601 004034 016700 004040 042700 004044 142701 004050 050001 end; .SBTTL 000024 040374" 000010 000022 000022 000040 040374° 000010 040374° 000010 000020 000020 040400° 177770 000007 040374" 000010 040374° 000010 000016 000016 040400° 177770 000007 WRT. TRANSFER: MOV suB MOV MOV MOV BISB MOV MOV MOV MOV MOV MOV BIC BICB BIS MOV MOV MOV MOV MOV MOV BIC BICB BIS MOV MOV MOV MOV MOV MOV MOV MOV 000006 040374° 000004 000010 004150 016601 000030 MOV MOV MOV MOV 016066 016601 016700 010160 016700 016066 TOPS=20 Bliss=16 v2(212) e (17) PA:<NEALE>PMSKL4.BLI.1 b 0099 SEQ298005" ' 'Report the unexpected error 'Report which function caused the error iDrop this unit 'Jump to the clean up code end; 004052 016700 040374° o 004056 010160 000010 004062 016700 040374° 004066 016066 000002 000014 0040764 016601 000034 004100 016700 040374° 0041064 010160 000002 004110 916700 040374° 004114 004122 004126 004132 004136 004142 8 18-Mar=1982 ”gz6 oogo” 040374° 000012 MOV MOV MOV WRT.TRANSFER ROUTINE DECLARATIONS R1,=(SP) #2d,sP .ADDR RO , 22(SP) 10(R0) ).R1 #40,R1 ML .ADDR,RO R1.10(R0) -ADDR RO , 20(SP) 10(R0) 20(SP) .R1 ML wt RO #177770.R0 #7.R1 RO.R1 ML .ADDR,RO R1.10(R0) nb.ma RO 10(R0), 16(sP) 16(SP) .R1 ng T.RO #177776,R0 #7.R1 RO.R1 ML .ADDR,RO R1.10(RO) ML .ADDR RO fino) 14(SP) (SPJ R ngrmi RO R1.2(RO} ML .ADDR RO gmo) 12(SP) 2(SPJ ,R1 n%.mfi RO R1.6(ROS ML.ADDR,RO 4(R0) ,10(sP) 30(SPJ ,R1 - :: *,ML.REG : ML.REG,MLREG a 2640|; 2641 || : «,MLREG : MLREG,* ; *,ML.REG * ML.REG,MLREG ; *,MLREG * «.MLREG : MLREG,* : : = ML.REG : ML.REG,MLRES 2672 : *,MLREG : *.MLREG : MLREG,* : : * ML.REG : SIZE.MLREG : MLREG,* : : *,ML.REG 2673 : MLREG,* : + « ML.REG * SRC,MLREG 2675 : DST.MLREG 2674 ; MOV 000099 MOV 1 040374" 040374 000004 B1SB MoV MOV SR TGIR ISR O SSE NI OONON oL O=m=OO002=0=0000 NN W - oW H BPL TRAP .WORD .WORD . WORD s 12601 7 MoV MoV MOV MoV TRAP MOV 000012 000002 TRAP TRAP 000002 18: MOV MOV Mov MOV TRAP MoV 000006 000024 TRAP TRAP 2s: 207 : Routine Size 151 words ; Maximum stac ‘ depth per invecation: 14 words ADD ADD MoV RTS * ,MLREG * MLREG MLREG, * *,ML.REG ; SP,* gmn.ao 4 . BPL TRAP .WORD .WORD . WORD 0000006 4 1ST8 MOV *,ML.REG ML.REG,MLREG #WRT . XFER.MSG #ONE .MSG, - (SP #2,=(SP) 6, MoV MLREG, * UNX.DRV.ERR.MSG UMPER ADD MoV 8PL 040374° (TR IAIA BICB 0000006 000006 040374* ML .ADDR RO TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (17) AR T 1) MOV 040374 000006 002422 002556" 000002 FESSE ]I8R 366 MOV 374" 002422°" 002556° 000002 &~ NN 3 ROUTINE DECLARATIONS —=\N—> =EER 016700 010160 017 RR Rt =8385 5aR ERo Rannn 2g2 22082 R eanas e SRERRN 1%SRS REV B PATCH 00 Thars1o8s 18:%0:20 -Mar=19 DC BSKELS ngé.ma RO 12(R0) ,2(SP) * * ML.REG Ule.ADDR. (SP) ; *,ML.REG : ML.REG 15 UNX.DRV.ERR.MSG DUMPER . XFER.MSG,=(SP) #RT G,=-(SP ; SP,* Pa 65 SEQ20100 TR T L L L L L L T TR LA T TR TRTR LR TR LR TR TR T DI R T e BSKEL4 REV B PATCH 00 701 g-flar-19gs g :57 141 18-Mar-19 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(2 12) PA:<NEALE>PMSKL4.BLI. 1< 18) routine RD_TRANSFER (SIZE, DST, SRC) : novalue = begin £ L g Functional Description: global routine performs a read transfer at the designated buffer and source addresses. Formal Parameters: SIZE: BUFFER: SECTOR: Stores the size of the transfer Write buffer address where data is going to. coming from or e . ML-11 desired sector address where data is coming from or going to. Implicit Inputs: none Implicit Outputs: none Completion codes: none Side Effects: TR RAA R T R TR TR T A A TR L PRTR PR PRTR T L) LR TR TR none CLR_MBUS:; ECCTDIS (ENABE); WRT"RH (MLCS2. DRV SEL. ML _DUT); WRT-RH (MLWC, WC_REG, .SIZEJ: WRT-RH (MLDA, DA_REG, .sm WRT-RH (MLBA WRT-RH (MLCST, BAnes. .DST) . FUNC63 ;'f' .ML_ADDR [MLCS1, SC] 'Clear the mass bus '‘Disable error correction 'Select the divice under test 'Load the transfer size 'Load the source address 'Load the destination address 'Load a read function with go set 'Does this function cause a sc error ‘Report the unexpected error UNX_DRY_ERR nss. DUMPER) ; 'Report which (ERR_13, Enasr function cause the error PRINTB (ONE_MSG, RD_XFER_MSG) DODU (.LSUNIT); DOCLN; end; -~ 0 until .ML_ADDR [MLDS, DRY]; 'Drop this unit 'Jump to the clean up code 'Delay for the trans‘er to complete Page 66 SEQ 0101 }s-hareflss } :07:57 144l BSKEL4 REV B PATCH G0 ROUTINE DECLARATIONS if .ML_ADDR [MLCS1, SCJ 753 : : 754 3 2755 : 2 75 758 2 : s - 004370 boain ERRSF (ERR_13, UNX_DRV_ERR_MSG, DUMPER); PRINTB (ONE_MSG, RD_XFER_MSG): DODU (.LSUNIT); end; 'Report th1 unexpected error 'Print which function caused the error 'Drop this unit end; 010146 .SBTTL RD.TRANSFER ROUTINE DECLARATIONS MOV R1.=(SP) RD.TRANSFER: #26,5P .ADDR,RO 10(R0) , 24 (SP) 000026 004372 1 004376 016700 040374° 2 016066 000010 000024 004410 013901 000024 004414 152701 000040 004420 016700 040374° 004426 010160 000010 016700 040374° 004430 004434 016066 000010 000022 004442 016601 004446 016700 040400° 004452 042700 177770 004456 142701 000007 004462 050001 004464 016700 040374° 004470 010160 000010 004474 016700 040374° 004500 016066 000024 000020 oot.sog 016601 000020 152701 000002 004512 004516 016700 040374° 004522 010160 000024 004526 016700 040374° 10 000016 016066 004532 832540 016601 000016 544 016700 040400° 004550 042700 177770 SUB MOV MOV MOV BISB MOV MOV MOV MOV MOV MOV BIC BICB BIS MOV MOV MOV MOV MOV BISB MOV MOV MOV MOV MOV MOV BIC #177770,R0 #7.R1 RO.R1 ML .ADDR,RO R1,10(R0) "k"m RO 5mo>.éo<sm g(sm.m #2.R1 ML .ADDR RO R1.24 (RO) nk.mn RO 1 mo).i?wm 16(SP) .R ML 99' RO #177770.R0 013 00 040374" 01 '738 000010 016700 040374" 016066 000002 000014 016601 000036 016700 040374° 010160 000002 016700 040374° MOV MOV MOV MOV MOV MOV MOV MOV ML .ADDR,RO R1.10(R0) ML .ADDR RO ;mo» 14(sP) 6(SPJ ,R1 ML.ADDR RO R1.2(ROS ML.ADDR,RO 004554 142701 560 050001 562 sgg 004572 004576 88220‘ 10 004614 004620 Fage 67 SEQ 0102 Jump to the clean up code DOCLN; 2759 2760 PA:<NEALE>PMSKL4.BLI.T1 'Did the transfer cause a sc error then 75 761 762 -Mar=19 TOPS;%O Bliss=16 v2(212)(18) BI(B BIS 24(SP) .R1 ML.ADDR ,RO R1.10(R0) ~ADDR,RO 1 (nm.ég(sn .R 22(SP) "i wr RO #40,R1 #7.R1 RO.R1 2701 - : : «,ML.REG : ML.REG,MLREG : %, 2702 MLREG : MLREG,* ; *,ML.REG * ML.REG,MLREG ; *,MLREG : «.MLREG : MLREG,* : * « ML.REG : ML.REG,MLREG 2733 : MLREG,* : : = ML.REG * ML.REG,MLREG 2734 * « MLREG : *,MLREG : *.MLREG : MLREG,* ; + % ML.REG + SIZE.MLREG : MLREG,* : 2735 2736 n R1,6(RO) ML .ADDR RO 4(R0) ,10(sP) 34(SPJ ,R1 ML.ADDR RO R1,4 (RO} 000010 040374 aML . ADDR,6(SP) 6;;») RO 040374 000006 " — e ALY B 00007 #71,R RO,aML .ADDR ?2L.ADDR.4(SP) 040374 000004 @ - IS] S& * ,ML.REG *,ML.REG ML .REG,MLREG 2738 2740 #RD.XFER.MSG,=~(SP) 2744 H%.ADD& RO SP,* 2745 12(R0) ,2(SP) gsp) * ML .REG ML.REG agL.Aoon.csP) * ,ML.REG 2753 2757 #ONE .MSG,~(SP) #2,~(SP) 2742 2751 2756 15 UNX.DRV.ERR.MSG DUMPER #RD . XFER.MSG,=(SP) SP,* 0000006 2758 000006 000026 2755 2701 2%: i i i{ * ,MLREG 4 #6,SP | | & 4 002352° 002556° 000002 | 2737 2743 SP.RO 1% kguuxr.no 040374* | 0ST,MLREG #ONE .MSG, = (SP) S D=2 OO0 MLREG, * 18 #2,=(SP) 1$: 68 * ,ML.REG UNX.DRV.ERR.MSG DUMPER 002352* Page SEQ 0103 SRC ,MLREG Ve %o % v b = ss:z§:§sas Sere oo SEmNUN;‘§§§§=§‘§§§§§§ 2 o -— 323 $285 d e o e o nd e e OO 040374 000006 040374° 000012 000002 00000 TOPS=20 Bliss=16 V 2(212) PA:<NEALE>PMSKL4.BLI.1 (18) (R0) (12(5P) 000012 - T lwle] e l=T 004624 004632 18ar-1083 1814412 ROUTINE DECLARATIONS REV B PATCH 00 7 1 IR TATATA TR TR T} BSKEL4 8 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS : Routine Size: 164 words ; Maximum stack depth per invocation: - 15 words 19 -Har18-Mar-19 8 1 il TOPS~ 0 Bliss=1 V2(212) PA:< ALE>PMSKL4.BLI.1 (18) Page 69 SEQ 0104 -1 fllr°19ss g 2 PA:<NEALE>PMSKL4.BLI.1 (19) REV B PATCH 00 ROUTINE DECLARATIONS 18-Mar-1982 BSKEL& : 763 764 routine I_CHIP_TBL : novalue = begin : 769 T+¢ 765 3 767 768 ;93 148 i Functional Df crigtion table stores f?r a tostcd T he mos ram chip numbers ' uMch havo data errors within them. : 70| 55395105 3 77;450 : : 77;9 i Formal Parameters: | ! 1 5 | ! | init will called when routine This chip bad previous all of table this |! 772 773 : TOPS=20 Bliss=16 v2(212) , 3 3 : : :: 1 entries. . ;;3 i Implicit Inputs: : i | CHIP_TBL 2780 ! g% . : Completion codes: | ! S785 | leplicit Outputs: ch‘i'g table is loaded with zeros. §77§§ : e : . : ; : : 787 ! 3 ; : ! Side Effects: none ! 3 3 2788 2789 3 2795 e : : 5796 795 i and initialize the location to i zero. 2790 . 279 . 2796 3 : 2797 ; 2801 2798 ‘2?% 3 3 i Loop thr 00511 1 00315 013601 | , | incr TBL_INDEX from 0 to 38 dg CHIPCTBL [.TBL_INDEX, ALL] = ZEROES; ‘ . | 'Initialize the bad chip table : end; LSBTTL 1.CHIP.TBL: MOV CLR 'A‘S’Lv 18: 00518% 114 | | all table locations l= 005100 010146 511 ! ‘== 030230° CLR 000046 (MP INC Boe i ; 1.CKIP.TBL ROUTINE DECLARATIONS R1,-(SP) 28 M.M CHIP.TBL(R1) RO RO, #46 (sP)e.A1 : , 2763 | s TBL.INDEX 2798 s TBL.INDEX 2798 | s TBL.INDEX,* s TBL.INDEX,* . 2799 2763 | t 3] 12: g.”"-wss 15:4 : 18-Mar-1982 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 005126 RTS 000207 : Routine Size: 12 words : Maximum stack depth per invocation: 2 words PC TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (19) Pa 71 55095106 D BSKEL4 ROUTINE DECLARATIONS 8 18:0:400 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (20) Pa 72 SEO’5107 routine I_TMP_BLST_TBL : novalue = beg in +*+ ! Functional Description: There are two tables which stores the information necessary for prom 2821 maintenance and they are the ‘blast table' and the ‘tempory blas* table'. R The tempory blast table holds the bad row, column, nibble and chip information until it can be transfered into the main blast table. This routine when called will clear this temp to all zeros. formal Parameters: none Implicit Inputs: g2 0 R T L THP_gng_TBL Implicit Outputs: The tempory blast table is loaded L O N§i 38 e e e VBN NF WO - - 3383 808 803 N LA L AL T T L T PRTR TR PRTR TR TR TR T T T e REV B PATCH 00 9 1g-flar-19 18-Mar-19 with zeros Completion codes: Side Effects: none T O - O L 0 L none IRRRR TR TRA T '+ 005130 005136 blast ! Index through the temporary ! table and initialize its lzcations ; to all zeros. 'Initialize the temporary blast table TMP_BLST_TBL [.TBL_INDEX, FULL_WRD] = ZEROES; incr TBL_INDEX from 0 to 9 d[+] end; 010146 006301 LSBTTL I.TMP.BLST.TBL ROUTINE DECLARATIONS MoV CLR MoV R1,~(SP) Rg RO,R1 1.TMP.BLST.TBL: 1$: ASL R1 : TBL.INDEX : TBL.INDEX,* 2802| 2843 E BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 005140 030346' 1 ;”.BLSY.TOL(RU 000011 003146 020 27 gg 0051 005154 012601 005156 RO.#11 1 (SP)+,R1 7 : Routine Size: 12 words : Maximum stack depth per invocation: 9 13—!«--1 18-Mar-1 PC 2 words 383 18:%4:20 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (20) s TBL.INDEX ; TBL.INDEX,* SEQ 0108 2842 2802 BSKELS REV B PATCH 00 F 9 15-!1»-1935 12:“:61 18~-Mar-1982 ROUTINE DECLARATIONS 16:07:57 TOPS=20 Bliss=16 v2(212) SKL BLI.T (21) PA:<NEALE>PH routine I_COL_CNT_TBL : novalue = begin !00 - ! Functional Description: The fiolum count table stores the number of times a particular column number has failed with any failing row number. This routine when called will init this table to all zeros. none Implicit ~ Inputs: COL_’C‘B‘T‘_TBL Implicit Outputs: The column count table is loaded with zeros 0 Completion codes: -0 O P T S A Formal Parameters: Side Effects: none - none e ! Index thr ! column count all locations in the table and initialize ; the locations to all zeros. incr TBL_INDEX from 0 to 255 do COL_UNT_TBL [.TBL_INDEX] = ZEROES: 'Initialize the column count table end; 005160 005000 % 32 1% 0 176 005176 00 .SBYTL 1.COL.CNT.TBL ROUTINE DECLARATIONS CL RO s TBL.INDEX INC Rg : TBL.INDEX BLE 1$ I.COL.CNT.'Y‘BL: 001002°* 1$: CMP 000377 RTS 000207 : Routine Size: 8 words : Maximum stack depth per invocation: CLRB 0 words COL.CNT.TBL(RO) RO, 4377 PC s =(TBL.INDEX) : TBL.INDEX,* : Pa 74 55095109 BSKEL4 REV B PATCH 00 1 -fi r219 16:0 7:57 1S-n:r-1985 1?24AL ROUTINE DECLARATIONS TOPS~20 Bliss iss=1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (22) routine I_REM_TBL : novalue = begin 144 3TOSRRREROFRIITIIYY WN—=O CO~NONWN S NN =O VDNV -2TRTTIIIGG ! Functional Description: The ramainder table stores all the single cell failing rows and columns addresses within a failing MOS chip that has not yet been blasted. 005200 010146 The copied remainder table is a copy of the remainder table and is used in determinin row addresses for blasting. The remainder table is used in determing column addresses for blasting. This routine when called will init these tables to all zeros. Formal Parameters: none Implicit Inputs: - REH_?gr. COPIED_REM_TBL Implicit Outputs: Both the remainder table and the copied remainder tables are loaded with zeros. Completion codes: none Side Effects: none e the remainder table ! Index thr ! and the copied remainder table and ; initialize thier locations to zeros. 'Initialize the remainder and copied rem table 1ncrbI§#_1NDEx from 0 to 99 do RE“ TBL [.TBL_INDEX, RO _CL] = Z2E n COPTED_REM_TBL [.TBL_INDEX, RO_CL end; S: = ZEROES; end; .SBTTL 1.REM.TBL: 1.REM.TBL ROUTINE DECLARAYIONS Pa 75 55098110 REV B PATCH 00 ROUTINE DECLARATIONS R1,-(SP) 1%: 14 88 1 8817? 2 0 32 012601 207 66 tine Size: R0, R’ R1 COPIED.REM.TBL(R1) R ? M143 000143 (SP)+,R1 PC 14 words inun stack depth per invocation: TBL. INDEX TBL.INDEX,* REM, TBL (R1) 14 1 R 18087 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (22) LA TAT] BSKELS 2 words . INDEX TBL TBL . INDEX,* Pa 76 55095111 3995 3057 2928 2925 2884 BSKEL4 33%%%%%%%%%%%&%%3%%%%% T T T T O L T L T L L L L L L L T TRL T T T T T TR TR TR PRTR TR LR T T T REV B PATCH 00 g-flar-wss g ROUTINE DECLARATIONS 18-Mar-19 routine I_COL_PTR : novalue = begin SEO’5112 Pa 77 '00 i Functional Description: The column pointer table points to locations i in the column count table which have been r being incremented during the present row searched for fo luns gr’am thon 10 in the determined to be all bad (greater his row error map. row number is entered this than 10 failures) then the count of and toble blast into the t column count the in columns od acent failing le must be decrimented via this pointer table uMch is pointing to their respective table locations. This routine when called will clear this column pointer count table to zero. Formal Parameters: none ln?uts: lmlicit Implicit Out The co um pointer table is loaded with zeros. Completion codes: none Side Effects: none e i Index through the column ! table and initilaize the ; to zero. pointer locations incr TBL_INDEX from 0 to 9 do R PA:<NEALE>PMSKL4.BLI.1 (23) TOPS=-20 Bliss=16 v2(212) COL_PTR[.TBL_INDEX] = EROES: _ 'Initialize the column pointer table e ; . end; .SBTTL 1.COL.PTR ROUTINE DECLARATIONS CLR CLRB RO COL.PTR(RO) 1.COL.PTR: 002222° 1$: ; TBL.INDEX ; *(TBL.INDEX) 2976~ 2975 BSKEL4 REV B PATCH 00 005242 005244 005250 005252 5 0 003772 000207 : Routine Size: -nar-19 18-Mar-19 ROUTINE DECLARATIONS INC CMP BLE RTS 000011 8 words ; Maximum stack depth per invocation: 0 words Rg.lll R 1$ PC 8 18:%; TOPS=20 Bliss=1 v2(212) PA: <NEALE>PMSKL .BLI.1 (23) ; TBL.INDEX : TBL.INDEX,* Page 78 SEQ 0113 2974 2932 | BSKEL4 REV B PATCH 00 e AR L A e G gourd 1 1 7:57 4:61 TOPS=20 liss=16 v2(212) PA:<NEALE>PMSKL4.BLI .1 (24) routine I_ERROR_MAP : novalue = begin 44 i Functional Description: storos by sector and error o "f of the detected failures all within a tested mos chip. From this map of the failing chip row or column addresses can be chosen for masking the error out. This routine when called will init the error map to all zeros. Formal Parameters: none implicit Inputs: MAP ML 1C ERROR. Implicit Outputs: The error map is loaded with zeros. Completion codes: none Side Effects: none 0 'L through all the blocks and words i:°2h. error map structure and load the locations up with zeros. 005254 eP TR R A R P ONOWVISWN=O B88EE8888 R T A T T T L T L T R L AT ALA LA LALA TRTR LA D TN T T T TR T TR T TN s 78 1385 §id -Har- ROUTINE DECLARATIONS 005 005274 5 3771 000207 'Intialize the error map end; .SBTTL 005000 %% 005 incr TBL_INDEX from 0 to !o'17776'b; %20'2° do (ERROR_MAP + .TBL_INDEX) 010230° 009992 017776 1.ERROR.MAP: CLR 1$: CLR ADD CMP BLE RTS I1.ERROR.MAF ROUTINE DECLARATIONS RO ERROR .MAP(RO) JS.RO RO, #17776 1$ PC Page 79 SEQ 0114 sg -le-‘l9g 4:4 1 2 18-Mar-1982 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS ; Routine Size: 9 words ; Maximum stack depth per invocation: 0 words TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (24) P 80 55395115 g-flar-19ss 12 BSKEL4 18-Mar-19 REV B PATCH 00 ROUTINE DECLARATIONS : : 019 0 3031 8 % ; 30 2: 3037 : gggz 040 041 3042 3043 3044 3045 3046 3047 : 3049 3048 : - - gggz 3 s begin +¢ a tested array needed to mask module all blasting information out data errors. This routine when called will init this table to zeros. | Formal Parameters: none : i Implicit Inputs: BLAST_TBL : t Outputs: | Completion codes: none | | | Side Effects: none | - '+ i Loop through all blocks and words and fill i the words up with zeros. - 3052 incr TBL_INDEX from 0 to 10'7776'R8E %0'2' do 3055 end; (BLAST _TBL + .TBL_INDEX) = Z2E LSBTTL 1.BLAST.TBL: 005276 005000 005 005 005060 030372° 062700 000002 18: 005310 020027 007776 005314 81 gg;g |: ImpliciThe blast table is loaded up with zeros. 3 3 3 s 3 3 3 : Page SEQ 0116 routine I_BLAST_TBL : novalue = i l l | | | : 5 F- v2(212) al Description: 38 §i |i Function The blast table stores for all ?anks of 0 % . % < ; TOPS-20 Bliss=16 PA:<NEALE>PMSKL4.BLI.1 (25) 003771 . 005316 000207 ; Routine Size: 9 words ) naxiaun stack depth per invocation: 0 words 2 1.BLAST.TBL ROUTINE DECLARATIONS CLR RO CMP RO, CLR ADD BLE RTS 'Initialize the blast table AST.TBL(RO) # .Rg 1$ PC #7776 : TBL.INDEX : «(TBL.INDEX) s «,TBL.INDEX s TBL.INDEX,* H 3052 3053 3052 3019 N 16:07:57 18—nar-1935 12:24:41 REV B PATCH 00 ROUTINE DECLARATIONS BSKEL& ;0;9 0 2858 59 : 3 3 : : : : 060 061 06, 2824 3065 l++ Functional Description: This global routine will load via mass bus ! write transfers random data to the selected ! array and bank addressed by arr$bnk_sel. ! ! ! Formal Parameters: : ARRSBNK_SEL ! This ar?ument stores the array and ! bank select address. ; ; 3070 | Implicit Ipputs: 11 | M TC SRT_BOF, BNK_NUM_SEC : : gg;g % - 3073 | Implicit Outputs: : gg;g g Completion codes: 3 gggg s . 3082 3083 local : 3086 RANDOM_INDEX = ZERO; : 3 330:5!9! 3090 1+ : 3 : 3 : 3 s ; o 3078 ;| Side Effect s: gggg 3087 IThe first transfer starts at write buf word zero !Generate a write buf of random data GEN_RARDOM_DATA (); gggg ; deeper. 3093 3096 : : }8? 310 005320 'Write buffer random data index RANDOM_INDEX; ! Loop through all sectors in this bank and ! fill the sectors up with random data contained in ! the write buffer. At each sector transfer 383; 3 T 3091 3092 3 :S none - B L ! the write buffer index will start two words 3 incrbSEg_CNt from 0 to .BNK_NUM_SEC do ‘Load all sectors in bank with random data EL + .SEC_CNT, SRC = WRT_BUF [.RANDOM_INDEX, WRD]); HR? TRANSFER (SIZE = =256, EXDST+ =2; .TEMP_ARRSBNK_S INext sector starts 2 word deeper in write buffer egin 310 end; 004167 0000006 2AN@0H_INDEX = .RANDOM_IND y .SBTTL L .RANDOM.DATA: L.RANDOM.DATA ROUTINE DECLARATIONS Page 82 SEQ 0117 begin 3009 : TOPS=20 Bliss=16 v2(212) SKL4.BLI.1 (26) PA:<NEALE>PM routine L_RANDOM_DATA (TEMP_ARRSBNK_SEL) : novalue = . : 9 18-Mar=-1982 3056 TEMP.ARRSBNK . SE , + RANDOM. INDEX ,* R2.- 006002 R R1.Ré 1$ PC 8 words * ,RANDOM. INDEX SEC.CNT SEC.CNT = peiy PC,WRT.TRANSFER v3.R3 §S EW 22 »O : -ho SEC.CNT 83 | SEC.CNT, R2.DST R2.=(SP) &~ ® 23 #-400,-(SP) (SP) SIZE R1.R 16(SP) ,R2 Q8% ine Size: 36 words mum stack depth per invocation: 23 TR1} = gy 1$: : e §§§§§§° OO %328 O a gge2299 177400 040426° E?K.M.SEC.IM RANDOM. INDEX Page s£398118° | § % PC,GEN.RANDOM.DATA 173742 040416 TRTR TR 1 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (26) LR 18mar-1983 18:80:40 g}.SSAVEIo 4 !\h S sosoaoaoao0 005 8 AR TR BSKEL4 REV B PATCH 00 BSKEL4 005430 SR 12:46:41 13-n.r-1935 16:07:57 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) KL4.BLI.T1 (27) PA:<NEALE>PMS routine L_1_0_DATA (TEMP_ARRSBNK_SEL, DATA) : novalue = begin f+e ! Functional Description: —-O0 VIS BB W NN N NN W PNINIAI NI NN NININD = ] d cd e cd o e e e ek - ot uwwwuuuuuwuwwuuuuuuwwuwuuuwuuuwuuwuwwwww_‘ ied nd md eid ed and D i D ed R e e e e R e R ) ek ned e d eed b ah d ond e e cad D e b B R A R TR R A T PR LA LR PR TR LA L L 1) AR TR LR LR L L L L L L LALA T LA T R LR L T T T TR D N T REV B PATCH 00 c 10 18-Mar-1982 004167 This global routine will Load the selected array and bank with ones ! ! or zeros data. ; i Formal Parameters: ARRSBNK _SEL : ! This ar ! nt stores the array and bank select address. ; Inputs: i Implicit i Implicit Outputs: ; MR TEORT_BUF, BNK_NUM_SEC ; - URT_BU?uis filled up with data i Completion codes: ; none i Side Effects: ; none ] ; VER CZMLCB CHANGED 127 TO 255 '+ ! Fill the write buffer up with the data ; type contained in the argument ‘'data’ incr WRD_CNT from 0 to (255 + 511+2) do WRT_BUF [.WRD_CNT, WRD] = .DATA; 'Load the write buf with data 'y ' Now fill this bank under test up with ; the data just load into the write buffer. ‘Load all sectors in bank with data WRT_TRANSFER (SIZE = ~256, DST = .TEMP_ARRSBNK_SEL + .SEC_CNT, SRC = WRT_BUF); incr SEC_CNT from 0 to .BNK NUM_SEC do end; 0000006 .SBTTL L.1.0.DATA: L.1.0.DATA ROUTINE DECLARATIONS Pa 84 55095119 BSKEL& REV B PATCH 00 005434 ROUTINE DECLARATIONS gl.SSAVES 00 ik & Qo sl g-fla;-19 5 g44:21 18-Mar-19 1$: 000012 002234° RO.R1 R1 ;§($P).URT.BUF(R1) 002375 ¥‘.02375 040416° BNK.NUM.SEC,R3 177400 0460426° 28: R2 3% #-400,-(SP) éSP)iSIZE 002234* 040432° 176162 000006 * : WRD.CNT, ; DATA,+ : WRD.CNT : WRD.CNT,* : SEC.CNT 85 3104 3140 3141 3140 3148 ; SEC.CNT,* ufit TRANSFER R R .R3 2% PC 38 words * WRD.CNT Page SEQ°0120 (sp 3s: ; Routine Size: TOPS=20 BlLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (27) : TEMP.ARRSBNK.SE,* 000016 040430° Haxinun stack depth per invocation: 07:57 7 words ; SEC.CNT s SEC.CNT,» 3148 E 10 1?:46:41 1 -Har-19ss 16:07:57 BSKELSG 18-Mar-1982 REV B PATCH 00 ROUTINE DECLARATIONS : : : 12; 1 1;4 routine L_CHIP_TBL (FAIL_CHIP, PAT_SEL) : novalue = begin : : 155 159 !¢+ ! Functional Description: : 159 ! : : : s 165 }24 ! : ; 165 i 3 }67 : iy ! 1 ! L 3 : : 1 1 160 166 The bad chif table stores for a bank all the failing mos rams and thier possible failing data patterns. The data patterns that could fail are: ' s ! 1. . . all ones data all zeros data thirteen random data patterns This global routine will set the fault flag and failing data g:ttern flag for each ! mos ram found to :3 ers: Paramet Formal i 1;5 HIP: FAIL_C ! 170 : 1;; : : : 176 s3 178 : PAT_SEL: i ! 17 | mmplicit CHIPInput 179 !! - Points to the current failing pattern for this chip. = ! Implicit Outputs: 3 : 3181 %}g ! : : 184 | Completion codes: : : 180 bad. Points to the failing chips table position 179 : Chip tables bit positions fault ;nd either ! pat_0 or pat_1 or ran_1 to_ran_1 are selected " and set To a 1. 1.9 i Side Effects: none ! s 1 : 3}3% CHIP_TBL [.FAIL_CHIP, FAULT] = SET_FLG; : : 194 }g; 19 '+ : : 19 %gg : case .I:AT_SEL from 0 to 14 of : : 1 % : F- TOPS~20 Bliss=16 v2(212)(28) 4.BLI.1 PA:<NEALE>PMSKL 1Set this chips fault flag ! Index into the chip table at this failing : chip and pattern number and set the bit. se ‘Select the chips failing data pattern ] : CHIP_TBL [.FAIL_CHIP, PAT_0] = SET_FLG; !Set zeroes data flag P 86 55395121 -Har-19ss g -Mar=1982 1 TR BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS D TR T 2] : 10 J 3 1 d 3 PR LA T T D !Set random data 3 flag CHIP_TBL C[.FAIL_CHIP, RAN_4] = SET_FLG; !Set random data & flag 219 [é6] : RTNVS SRR S5 3 S ebat PP RV PR T R TR R T TR L T L T L L T L L TR L A L PRI AL E T LA L ‘%z ARA I CHIP_TBL [.FAIL_CHIP, RAN_3] = SET_FLG: : 1 J: gossse 01 !Set random data 2 flag CHIP_TBL [.FAIL_CHIP, RAN_2] = SET_FLG; }l; 010146 !Set random data 1 flag CHIP_TBL [.FAIL_CHIP, RAN_1] = SET_FLG; }i CHIP_TBL [.FAIL_CH!P, RAN_5] = SET_FLG; . CHIP_TBL [.FAIL_CHIP, RAN_6] = SET_FLG; J : CHIP_TBL [.FAIL_CHIP, RAN_7] = SET_FLG; B 2 CHIP_TBL [.FAIL_CHIP, RAN_8] = SET_FLG; £10] : !Set random data 5 flag !Set random data 6 flag !Set random data 7 flag !Set random data 8 flag CHIP_TBL [.FAIL_CHIP, RAN_9] = SET_FLG; !Set random data 9 flag 1l : CHIP_TBL L[.FAIL_CHIP, RAN_10] = SET_FLG; !Set random data 10 flag 12] : CHIP_TBL [.FAIL_CHIP, RAN_11] = SET_FLG; 13 : CHIP_TBL [.FAIL_CHIP, RAN_12] = SET_FLG; [14] : : es; Page 87 SEQ 0122 !Set ones flag CHIP_TBL [.FAIL_CHIP, PAT_11 = SET_FLG; Ve 005544 b 5 1l : 5 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (28) CHIP_TBL [.FAIL_CHIP, RAN_13] = SET_FLG: ' !Set random data 11 flag !Set random data 12 flag !Set random data 13 flag end; .SBTTL L.CHIP.TBL: 000006 039230° MoV L.CHIP.TBL ROUTINE DECLARATIONS R1,-(SP) MOV 6(5P),RO ADD RO #CHIP.TBL s 2 H : FAIL.CHIP,* 3152 319 BSKEL4 REV B PATCH 00 - v2(212) PA: <NEALE>PHSKL2.BU .1 (28) TOPS=20 8liss=1 a - wv 1t - - - 558951 Zga P o 3% 005576° 0000 710 020000 010000 1000 100 000020 e : Routine Size: 74 words 1$: S SnaahassssntadaaSeseSeSeteseSeSeScesecr ety B2LRS2sMCHNKRRBANCCrCres~ L 8 $; o~ a)S o B D0 4 D D DSE883838B,8 A~TN =N~ x & © © O 2710 ROUTINE DECLARAT IONS N N Labd G 10 1 -Mar=19 1 -Mar=19 - BSKEL4 REV B PATCH 00 -Har-19 :0 5 18-Mar-19 RIE 4 4 4 1 ROUTINE DECLARATIONS : Maximum stack depth per invocation: 2 words 7 7 TOPS~ 0 Bliss~=1 v2(212) PA:< ALE>PMSKL4.BLI.1 P SEQ 89 124 TR IR IR A AT A TRTR e A TR P D L L 1 ATR IR TR A P T PR L L L AA A 110 ls-fllr-19ss 1?:07:57 18-Mar-1982 15:44:41 rout::;iL-FAlLING_CHIP (TEMP_ARRSBNK_SEL, BAD_CHIP, LST_PAT) = n fed ! Functional Description: The pr:aran will first search though a - SHA B AV SHAS NN PR TRL L DR TR PR L D T T N T T TN e ROUTINE DECLARATIONS arrays bank and find all selected newly failing mos rams and store them - REV B PATCH 00 into the chip table. Once they are found they are then loaded with the data pattern which failed them failing row column pair addresses are searched for. S S - BSKEL4 This global routine will load a failin? chip with one of the data patterns which failed during the mass bus transfers. Formal Parameters: ARRSBNK_SEL -SEL:: This ar nt stores the array and address. selcect bank BAD_CHIP: LST_PAT: This points to a failing chip which is currently being pm'ed. This is a pointer into the failing pattern portion of the table. The failing pattern search starts at the last found failing pattern and will return with the next failing pattern Implicit Inputs: MR TBL ChIP Implicit Outputs: none Completion codes: At the completion of this routine Pat_sel is returned to the operator which points to the table location s which was last referenced. enables an N search of this table rather than an N squared search. If a chip is found to be bad then the failing pat_sel is returned. A negitive one 7s returned if no chip are found to be bad. TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (29) Pa 90 55095125 g-nar-19gs g BSKEL4 LN N N N N N N N N N N AN N N N N NN W ggggagny 338? E Side Effects: ! none '-+ 1; 32 1 18 W WNNWINW NN N=O i}s 19 23 24 3325 N ~ 3326 3328 3% 3331 3332 33;2 3336 3337 3338 Increment throu?h the chip table and search for ng patterns or this r. If a fail n? failing ¢ the index pattern s found then return else return a value for that pattern -1 to indicate that no failing patterns 310 11 % I TR TR TRTR TR T T DR LR T T T E PR LALA LA L A LA L T L TR TR N TR T TR PRLA LRLA LR T AR R P P YRR L LRL T T T TOPS-20 Bliss=16 v2( 2 2) PA:<NEALE>PMSKL4.BLI.1 (29) 18-Mar-19 REV B PATCH 00 ROUTINE DECLARATIONS > exist for this chip. incrb:Az_SEL from .LST_PAT to 14 do ! + l l l l 9 Index into the chip table at this pattern selected and see if this pattern is set for this failing chip. 1f a se.ected randon pattern bit is not roto the : set for a faili l buf er a{uays. in the urito random datakeep the write buffer filled with This will : random data relitive to the random data failing l i § the mass bus transfers. case .PAT_SEL from 0 to 14 of set end; 34 3347 348 349 350 3351 beg 'Load chip with zeroes SBNK SEL ZEROES) 1_0_LOAD (.TEMP pat flag thisflag iClear CLR_FLG = PAT_0J CHIP, [.BAD TBL CHIP random the 'élm nc TLR_ = [F_RAND_DATA) FLG_REG IReturn which pattern was selected return .PAT_SEL; 3340 341 34 3%22 !Select a pattern if .CHIP_TBL [.BAD_CHIP, PAT_0] !Did this pattern fail then 3339 344 'Search th chip table for a failing pattern n [1] : if .CHIP_TBL [.BAD_CHIP, PAT_1] !Did this pattern fail then begin DM 1 0 LOAD (.TEMP_ARRSBNK SEL, ONES). CHIP BI.[.BAD_CHIP, PAT_11= CLR_FLG: !Load chip with ones data iClear this pat flag Page 91 SEQ 0126 BSKEL4 REV B PATCH 00 g-flar-19gs HVHA PA:<NEALE>PMSKL4.BLI.1 (29) -Mar=19 ROUTINE DECLARATIONS NN UIN N NNN v WY SR WN=OV~N SEEEREE VNN W ;; not .CHIP_TBL [.BAD_CHIP, RAN_1] en GEERANDOM_DATA (); else L en 'Did this pattern fail 'Gen the random data but doni load it begin DM_RAND _LOAD (.TEMP_ARRSBNK_SEL); !Load thc chip with random data iClear this pat flag CHIP_TBL [.BAD CHIP; RAN 117= CLR_FLG; 1Set the random flag FLG_REG LF_RAND_DATA)= SET_FLG; NN re;urn.PAT_SEL; 'Return which pattern was selected end; 31 : 2; not .CHIP_TBL [.BAD_CHIP, RAN_2] en [« AV P NN NN NN DA DRDI D T T DI T T 2] : else GEERANDOM_DATA (); en !Did this pattern fail 'Gen the random data but dont load it begin DM RAND LOAD (.TEMP_ARRSBNK_SEL); ‘Load chip with random data IClear this pat flag CHIP_TBL [.BAD CHIP; RAN_21TM= CLR_FLG: 1Set the random flag FLG_REG CF_RAND_DATA]= SET_ FLG L T PR TR PRLA LA LA TR LA LR T MR IR LETE PETETETE end; return .PAT_SEL; IReturn which pattern was secected [4] : Z; not .CHIP_TBL [. BAD CHIP, RAN_3] en o T TOPS=20 Bliss~16 v2(212) !Clear the random flag = (LR FLG. FLG_REG LF_RAND_DATA] IReturn which pattern was selected resurn.PAT_SEL; 5 e GfiE.RANDOH,DAYA 0; else e s :07:57 e 'Did this pattern fail !Gen the random data but dont load it begin with random data 'Load chig pat flag lear this CLR_FLG; 31"= RAN CHIP; [.BAD cuIP T8L CF_RAND_DATAJ SET_FLG: iSet the random data flag e e DM_RAND _LOAD (.TEMP_ARRSBNK SEL); FLG_REG resurn.PAT_SEL: 'Return which pattern was secected TR IR R end; 5] : if not .CHIP_TBL [.BAD_CHIP, RAN_4] 'Did this pattern fail Pa 92 SE095127 10 then g-flar-1ggs }2§2252¥ 18-Mar-1 GEERANDOM_DATA (); en TOPS=20 Bliss=16 v2(2 2) PA:<NEALE>PMSKL4.BLI.1 (29) !Gen the random data but dont load it clseb. in data !Load chip with random IClear the pat flag RAN 417= CLR_FLG; [.BAD CHIP; rat[F_RAND_DAT CHIP random data fla the 'Set ATA)= SET_FLG:; FLG_REG re;urnPATSEL; “1Return which pattern was selected e e e DHQRAND LOAD (.TE_ARRSBNK SEL); e o TT NV ONOWVS NN —=O ROUTINE DECLARATIONS S REV B PATCH 00 R NOU!J*WN—'S R R R AR AR AR LR LR R RE 3 SIRER BSKEL4 TRT T T e o o e — SLS NS V) O T O o L e e end; [6l : Z; not .CHIP_TBL [.BAD_CHIP, RAN_5] en else GEflRANDOM_DATA (); end begin DM_RAND _LOAD (.TEMP_ARRSBNK_SEL); 'Load chip with random data = SET_FLG;~ FLG_REG LF_RAND_DATA) !'Set the random data flag CHIP TBC [.BAD CHIPS RAN_51TM= CLR_FLG: re;urn.PAT_SEL; end.; IClear the pat flag 'Return which pattern was selected £7] : 2; not .CHIP_TBL [.BAD_CHIP, RAN_6] en begin T T GEfi.RANDOH_nATA (s else T T 'Did this pattern falil !Gen the random data but dont load it begin DM_RAND_LOAD (.TEMP_ARRSBNK_SEL); O 'Did this pattern fail 'Load chip with random data flag !Clear the pat flag '§et the randomwasdata FLG_REG [F_RAND_DATA] = SET_FLG; selected “1Return which pattern T T CHIP_TBL [.BAD CHIP RAN 61 = CLR_ I resurn.PAT_SEL; 8] : 2; not .CHIP_TBL [.BAD_CHIP, RAN_7] en MR I IR R I I I end; else begin GEE_RANDOH_DATA Q0; n begin !Did this pattern fail !Gen the random data but dont load it DM_RAND_LOAD (.TEMP_ARRSBNK_SEL); !Load chip with random data Page 93 SEQ 0128 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 3 56 . §£S7 58 3 : 60 21 3 2 2265 s’i’%’s’ 3466 3467 3 fi?o s 3468 : : 3471 327 3 3474 : 3 3 : : 3 : 3 : 3478 3479 3480 3 3484 : : 3486 3487 3 : : : 3 3 33 3 3 s :: :: : : : : !Clear the pat fla CHIP_TBL [.BAD CHIP RAN_7] = CLR FLG. random detg fla ’ the !Set SET_FLG; = DATA) RAND [F FLG_REG “1Return which pattern was selected return .PAT_SEL: 'Did this pattern fail RAN_8] [.BAD_CHIP, .CHIP_TBL not if then it 'Gen the random data but dont load RANDOM_DATA (); fl ; end elseb CHIP_TBLC FLG_REG CF_RAND_DATA] = SET FLG. return .PAT_SEL: end; if not .CHIP_TBL [.BAD_CHIP, RAN_9] then GEN_RANDOM_DATA (); else 3432 2295 3499 349 3498 8% 501 SO; Sg‘ 505 . begin !Load chip with random data iClear the pat flag CHIP_TBL [.BAD CHIPS RAN_91°= CLR_FLG; iSet the random data flag FLG_REG LF_RAND_DATA)= SET_FLG pattern was selected return .PAT_SEL: end; 'Return which £1 : Z 'f' not .CHIP_18L [.BAD_CHIP, RAN_10] en else begin GEN_RANDOM_DATA (); end” [12] : !Did this pattern fail . 'Gen the random data but dont load it data randon dat w with random oad chip chip!Clear . _{Load BNK SEL); L?‘gao.TEMP_ARRS DRoRAND, flag pat the CLR_FLG: = RAN_103 CHIPS 8L CHIP Set the random data flag ]= T_FLG; CF RAND_DATAS FLG_REG IReturn which pattern was selected return .PAT_SEL end; 5 506 end 'Did this pattern fail 'Gen the random data but dont load it DM_RAND LOAD(.TEMP_ARRSBNK_SEL):; 3488 %g; beflin 1Set the random data fla 'Return which pattern was selected £10] : 3485 3489 3490 - data with random 'Load chip BNK_SEL): (.TEMP_ARRS ofi’amo LOAD Clear the pat flag [.BAD cmn RAN_817= CLR_FLG; 3481 3482 3483 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (29) 9] : 7 3475 332;9 144:41 end; 59 :: 33 a-fler-wgs :07:57 18-Mar-19 Page 94 SEQ 0129 N 10 r 935 16:07:57 13:0 18-Mar-1982 BSKEL4 A T T :; not .CHIP_TBL [.BAD_CHIP, RAN_11] en begin N T T else 0PS-20 Bliss=16 v2(212) TOPS~ iss= PA:<NEALE>PMSKL&4.BLI.1 (29) Page 95| SEQ 0130 | 'Did this pattern fail i | !Gen the random data but dont load it GEE.RANDOH_DATA 0; e begin !Load chip with random data DM_RAND LOAD (.TEMP_ARRSBNK SEL); !Clear the pat flag CHIP _TBL [.BAD_CHIP, RAN_11J = CLR_FLG; !Set the random data flag FLG_REG [F RANE;DATAJ = SET_FLG; 'Return which pattern was selected re;urn .PAT_SEL; N . , end; L [13] : L o L Z; not .CHIP_TBL [.BAD_CHIP, RAN_12] en else 'Did this pattern fail !Gen the random data but dont load it begin GEE_RANDOH_DATA Q0; N o T Tl LL o en begin DHQRAND LOAD (.TEMP_ARRSBNK_SEL); !Load chip with random data !Clear the pat flag CHIP_TBL [.BAD_CHIP, RAN_12] = CLR_FLG: FLG_REG [F_RAND_DATA] = SET_FLG; — !Set the random data flag 'Return which pattern was selected regurn .PAT_SEL: end; VNN wvwviwna NN =O - OOV NOWNMS AN N LA N N N AN NN N NN W ViV TR T L T T T T TR T .,..t..u..‘. IR 005770 44:41 18-Mar-1 REV B PATCH 00 ROUTINE DECLARATIONS 004167 85 e [14] : 'Did this pattern fail :; .CHIP_TBL [.BAD_CHIP, RAN_13] en begin DHgRAND LOAD (.TEMP_ARRSBNK SEL); !Load chip with random data !Clear the pat flag CHIP_TBL [.BAD CHIP, RAN_13] = CLR_FLG: !Set the random data flag FLG_REG LF_RAND_DATA] = SET_FLG; :Return which pattern was selected return .PAT_SEL: end; tes; end; resurn -1; end; 000000G 000012 'Return negitive one if all pattern flags are cleared : - .SBTTL L.FAILING.CHIP ROUTINE DECLARATIONS L.FAILING.CHIP: R1,$SAVE2 JSR MOV ASL 12¢SP).RO RO i BAD.CHIP,* 3248 3336 | -l B 11 REV B PATCH 00 sl ROUTINE DECLARATIONS HIP.TBL,R2 R2 030230°* 10(SP) ,R1 000010 248 000560 TOPS~-20 Bliss~1 v2(212) PA: <NEALE>PMSKL .BLI.1 (29) ; LST.PAT,PAT.SEL ; PAT.SEL R1 g1.no 3$(R0O) ,PC 4$-3$ L 006032° —y 1" PAAPAPRAAN ~ ~ D N W= s ' ~ w YV - S - sg = dd.agE % ? -~ 8 ~ ~e L) TEMP.ARRSB . SENK ,* - = g8 2 o = - L, +N ! ' % o~ ot o < -~ = g TEMP .ARRSBNK . SE , * o N V| =N Y~ srAS— \‘-‘-“'\)fl:. STaw TM £ o oo ww R GERERRG V<D~ TM 040422° ez E3ns SE 5$: DD TM e 33REBT0E b E 4S: o— ; @ . dddddflddddddddddddg RRSERSRENNFRSRR &~ L 012 RIS BIFEE2 A“w““ [} 100 b BSKEL4 TEMP.ARRSB . SENK ,* wggoo.<u2) 14(SP) ,=(SP) . LOAD PC,DM.RAND 34900.(a2) 55000.«:2) TEMP.ARRSBNK . SE , * Pa 96 SE 0951 3 3315 3331 000100 (R2) D . LOAD DM.RAN 000040 14$: 000014 173564 000040 14 173514 17%: 14 173470 .(R2) SP) ,=(SP) . LOAD DM, RAND (R2) SEQ20132 1 N 3391 3395 ORRRRR ¥ S LR TR TR TR 1Y LA TR TR TR 1 Y¥ TEMP .ARRSBNK . SE , * TEMP.ARRSB . SENK ,* TEMP.ARRSB . SENK ,* W TEMP .ARRSONK . SE , * . 2 ox 168: TEMP .ARRSBN . SE ,K* . 000010 Ey 158: 97 §E3RS 3§85% !SERE E5W NI=R= S 4(SP) ,=(SP) 173610 173540 000020 L 100, (R2) (29) Pa TEMP.ARRSBNK . SE , * RRR R 13s: 14 &~ - PC,DM. RAND . LOAD # go.cnz> 000074 000020 —- 98 14(SP) ,=(SP) LA TE TR TR 1 000014 173634 000200 228 (R2) TEMP .ARRSBNK . SE , * LA TR TR TR T #4600, (R2) 12%: 000100 #4600, (R2) 19 14(SP) ,=(SP) PC,DM.RAND.LOAD TEMP .ARRSBN . SE ,K LA TR TR TR 1Y 000014 173656 000400 22 D 001450 016646 004767 142712 11$: * TEMP.ARRSBNK.SE,* L — - ~ ~§ 001462 016646 004767 1627;2 001000 2 -~ 132712 PC,.DM.RAND . LOAD c1goo.<az> PA:<NEALE>PMSKL4.BLI.1 N 004767 142712 510 14(SP) ,=(SP) 14 173702 000400 ’ goo.(nz> 19 iiauna 105712 100074 016646 108: a&l\a—-nb & 04271% 00053 03271 00150 016646 004767 042712 000521 28 S e eaes 1517 016646 004767 001000 00, (R2) RV——=RNRD b et g ) B D = AN &~ PO ~ < doosis PC,DM.RAND . LOAD 5 002000 TOPS=20 Bliss=16 v2(212) ITATE TR TR 1T} 14 767 173726 st 71 7 1 LA TR TR TR T 19% 14(SP) ,=(SP) S §§g ”‘é‘gfi NS R ORISR i 001531 ROUTINE DECLARATIONS L BSKEL4 REV B PATCH 00 cNn 18-Mar=19 18-Mar-19 BSKELS REV B PATCH 00 00002 18%: 3%5‘“2) 172550 19%: DATA PC,GEN.RANDOM. 14 208: 24$ 14(SP) ,=(SP) PC,DM, RAND . LOAD g (R2) 21%: #1, 173436 000002 000001 14 g 2 000207 : Routine Size: 228 4$ TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (29) 22%: 040422° 238: TEMP.ARRSBNK.SE,* B 3% 248: 3541 000016 206 words z} M6 ssi 177204 177777 25%: ; ; Maximum stack depth per invocation: S words 3545 354 #1.(R PC $ #-1,R0 PC issv‘ 5 5 ?4(5?) -(SP) » R1,RO 98 ’ . (R2) #40,FLG.REG (SPJ+ Pa 55095133 3517 3523 . » Pc.nné§mo.|.0 173412 000001 000040 16:07:57 1g-nar-1935 12:44:41 ROUTINE DECLARATIONS S 6 D11 18-Mar-1982 PAT.SE,* L s PAT.SEL ; PAT.SEL,* 538 540 3315 3249 3248 B PATCH 00 ROUTINE DECLARATIONS 553 554 555 559 5S I JANAR STELEFER2g SERESEEBNSERIRRREN2E ggg N A WA LA N A U N A U N N AN AN N AN N N AN N N NNN NN Vi NN ~ | ] 16:07:57 0.2 1%-Mar=-1988 18: 18-Mar-1982 m < X | A e R T LN D TR TR A LR T TR T AT ETR L A LA T LA T T L L T T L L T e L L O e T e e e T T A A IR TR E 1 L4 5 B2 (30) s L4.BLI.1 PA:<NEALE>PMSK TOPS-20 Bliss=16 v2(212) routine L_ERROR_MAP (TEMP_ARRSBNK_SEL, BAD_CHIP) : novalue = begin ‘+e Functional Description: The error map stores by sector all the ncul; failing row addresses within a failina chip. The failing by adding column address can be calculate the row number to the sector number. This ?lobal routine searches all sectors within a failing chip lookfng for bad row addresses. If a bad row is detected then that rows bit position in the error map at this sector is set indicating the bad row. Formal Parameters: ARRSBNK _SEL : 2 c“lpthis argument stores the array and bank select address s This argument points to a failing which is prescntl‘ tested. Dividing this arg by 4 gives the nibble being position in the ML-11 word and this arg mod 4 gives the chips bit position within its nibble. Implicit Inputs: - ERRngaAP. FLG_REG, WRT_BUF Implicit Outputs: The error map is loaded with failing row address locations within the tested chip sector range. Completion codes: none Side Effects: none local 'Points to a word in the error map 'Points to a bit in the error map !Sector random starting position WRD_INDEX, BIT_INDEX, _INDEX DIAG_REG_SEL, BIT_SEL, OFFSET; . iSelect the failing chip position 'First selects data diag reg; second selects random data offset BAD_CHIP / 16 AND BAD CHIP MOD 16 WILL POIRT TO WHICH DIAGNOSTIC REGISTER THE BAD CHIP CAME FROM AND THE BITS POSITION WITHIN THE REGISTER. . iSelect data dia? reg where failing chip resides SEQ2%0134 Page 99 BSKEL4 32gge b o eed ed o e i ok anid e OFFSET= .BAD_CHIP/16; BIT_SEL = .BAD_CHIP mod 16; A g-fllr°19ss g 18-Mar-19 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) iCalculate which datadiag reg to read ICalculate failing chips i OFFSET VALUES 2 = MLE2 = 14; '5 s1 == MLD1 = 15; MLD2 = 16; g From the value of offset c calculated above i i it can be determined which data diagnostic register this failing bit comes from. Therefore examin the contents of offset and i determine which register this bit belongs to. ! :f .OFFSET eql 2 en '1s bad chip divided by 16 equal to 2 = .BIT_SEL + 8; ag;SEL DIXGREG_SEL = 14; reg mle2 !Select data diaadata bits starts in high byte DIAG_REG_SEL = .OFFSET + 15; 0415 =MD1; 1 + 15 = MLD2 'This registers when random data is loaded into the drive it is dono by starting the next sector write transfer two r into the write buffer from the previous transfer. The flag register will indicate if the R or not. If random data was loaded then this routine must also offset into the write buffer two words deeper at each sector transfer. 1f random data was not loaded then the offset is is not required. A SIS LR L R = -256, DST= RD_BUF, SRC = ,TEMP_ARRSBNK_SEL): DM_RD_TRANSFER (SIZE T E T A T it .FLG_REG [F_RAND_DATA] then OFFSET = 2 else OFFSET = ZERO; TR TR A bit position i A e SUWN=OOVONOVSWN=O AR RSRRRRRR H LR T L) TR ROUTINE DECLARATIONS data looded into this bank is random data R A A T P P T P T L T T PR LA LR T LA L TR TR TR TR TR TR TR TR T T T TR e REV B PATCH 00 RARD_INDEX= ZERO; 'The first sectors ~data starts at word zero '0 i Bofore this routine is called this tested bank data pattern from this lled uit a fai lin? Now the failing chip in this bank fa Li is re !0ffset = 2 if random data bac “to find all the previous and newly Page 100 SEQ 0135 61 1 BSKEL4 3 59 ! rows. Increment through all sectors in this bank nd compare the write data to the data sftting n this chip. On compare errors determine which row(s) are in error and indicate the failure(s) by setting the row bit at this sector in the error map. incr SEC_NUM from 0 to .BNK_NUM_SEC do begin 'Read all sectors in failing chip BREAK; '+ ! Increment thr all words in this sector ! and find all failing row(s) and store the failing ; number in the error map at this sector. incr ROW_NUM from 0 to 127 do be?in 'Read all words in failing chip !Clock data into the data diag registers DAT_CLK; e 5 Compare the write data to the read data ; 2‘ setting this row bit at this sector in ! and if in error then indicate the failure e error map. if .WRT_BUF [.RAND_I EX + . ROW_NUM, .BIT_SEL, ONE, ZERO] neq .ML_ADDR [.DIAG_REG_SEL. .BIT_SEL, ONE, ZERO] then i L A L T R LR LR LR L LA 1 8-nar-1088 18:22:21 ROUTINE DECLARATIONS L TR LT LATR TRTR TR TR DR R T D T T T R TR T T REV B PATCH 00 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) T T ERROR MAP [.SEC RUM, .WRD_ INDEX 'Is write buf data eql data diag registers data 'Calculate error map word of failiq? row 'Calculate error nag bit pos of failing row .BIT_INDEX, ONE, ZERO] = SET_FLG: 'Flag that error map was entered end; TR R TR TR A A T L T T 3137"‘5 CF_ERR_MAP_ENTERED] = SET_FLG: Bump the next sector transfer two words deeper in the write buffer if this data is random data if not random data then add zero. w_mex = .RAND_INDEX + .OFFSET; 'The next sector starts 2 words deeper if random data Page 101 SEQ 0136 H1 1 -nar-wgs 16:07:57 18-Mar=1982 15:44:41 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS ;709 3 : 006626 710 004167 .SBTTL L.ERROR.MAP: JSR L.ERROR.MAP ROUTINE DECLARATIONS R1,$SAVES ; RO.R% ; %, 0FFSET 162706 000022 888840 20 01 49 0000006 004767 SUB MOV MOV JSR psé SP 40(SP) ,=(SP) #20,~-(5P) PC,BLSDIV 000006 01 000002 ooosm"fg 020427 006676 001 006700 012702 000016 76? 000010 000006 006704 0 006712 006714 01 oosng ogsn 000017 032767 000040 040422° 006 001403 006 006732 012704 000002 006736 000401 006740 005004 006742 012719 177400 006746 011667 04604626° 006752 012746 007230° 006756 011667 040430° 006762 016646 000052 006766 011667 040432° 006772 004767 172366 MOV JSR MOV CMP BNE MOV ADD B8R MOV ADD BIT BEQ MOV BR CLR MOV MOV MOV MOV MOV MOV JSR #20,-($P) PC,BLSMOD RO.6(SP) #2 R, 1$ #16.R2 #10.6(SP) 2 R4 ,R2 #17.R2 #40.FLG.REG 3s n;.m. 4 Ré #-400, (SP) (SP),SIZE #RD.BUF (gn pst,~(SP) 52(SP) ,=(SP) (SP) , SRC PC.DM.RD. TRANSFER 006630 006634 01 0066 81008‘ MOV MOV 4 00665 16916 20 012 006656 006662 004767 0000006 1s: 28: 38: 48: CLR 006776 005066 000014 MOV oomos 016766 040416° 000016 007010 006302 007012 005005 007014 000536 007016 104422 005001 00 007022 016703 040374° oooogl. 000032 01 00 000032 007034 01 000020 007040 152 007044 016 g 040374 ° 007050 01003 000024 007054 010103 3 000014 oo;gzg 00 007064 3 703 002234' Page 102 SEQ 0137 !Clear the single step dma mode CLR_MBUS; end; 0000006 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) 58: 68: ASL CLR B8R TRAP CLR MOV MoV MOV BISB MOV MOV MOV ADD ASL ADD 44(SP) , (SP) 14(SP) BNK.NUM. SEC,16(SP) R R ss 2 R1 ML.ADDR R3 §4 as».Ss(sm (SP).R #20,R0 nb.bou R3 RO. 24 (RS) R1.R3 14(SP) ,R3 R3 #WRT .BUF ,R3 ; BAD.CHIP,* 3553 3606 ; | : BAD.CHIP,* 3607| ; *,BIT.SEL . OFFSET,* 3622 : 3647 : OFFSET 3649 ; *,DIAG.REG.SEL : «.BIT.SEL : : OFFSET,DIAG.REG.SEL . SEL : #,DIAG.REG ; *,OFFSET : | 3625 3626 3622 3629 : TEMP.ARRSBNK.SE,* : RAND. INDEX 3650 : 3667 : * ROW.NUM : : *,ML.REG * ML.REG,MLREG 3668 3677 3678 : + SEC.NUM 3689 3667 : «,MLREG : MLREG,* * ROW.NUM,* * RAND. INDEX,* 3688 g '"""’SS 18-Mar-1982 1 BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS %8 MOV CLR JSR ADD 14 Noacs 00;0;0 ?‘2 838301 88787% 007102 0000006 007104 ool.n 000006 007110 007114 01 00711 o1o 040374" 066 007120 oooogg 011066 007126 012716 0000 007130 o?om» 0071 000014 0 007136 007142 01§ %6 000001 007146 00 ol.g 007150 ooa;& 0000006 000010 007154 020300 007160 1444 0071 007164 010146 007166 012746 000020 007172 004767 0000006 007176 010066 000026 010116 00 012746 000020 007210 004767 0000006 000026 007214 01 007220 010 007222 007224 oosggg 006 007 ow% 000030 00 00 00 00 00 007 00 007, 00 00 % 10016 013946 000026 012746 000001 119‘6 67 0000006 152767 000006 040422° 12; 000177 33 005205 007310 007312 000014 000016 07338 10 000026 016166 060374" 007324 078701 007332 01 007336 15 26 0 S'.'_'E 2}nrn ASL 865500 010230° 706 000014 201 MOV MOV MOV MOV JSR BISB RO.R3 R2.RO m.mgn RO (R0), 32(SP) #32, (SP) gn (sP) 4(SP) ,=(SP) " ,=(SP) -($P) PC,BLSGT2 #10,5P R3,R0 7% R1,=(SP) #20,-(sP) :5. $DIV 2 26(SP) R1;(SP) #20,-(SP) P gksnoo RO, 26 (SP) RS.RO R R (SP) ,RO RO :sm.w.uo (SP) zgisn -(SP) #,-(SP) (SP) ,=(5P) r BLSPU2 FLG.REG MOV MOV ADD MOV MOV ADD MOV MOV CLR JSR ADD CMP BEQ MOV MOV JSR MOV MOV MOV JSR MOV MOV ASL ASL ASL ADD 006 . 78: s: '1'2253"(9) #,=(SP) -($P) PC,BLSGT2 #6.SP ADD INC ADD INC v MOV MOV MOV BISB TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) Page 103 SEQ 0138 BIT.SEL P B . ; : *,ML.REG : ML.REG,* : BIT.SEL,+ ; ROW.NUM,* : *,WRD. INDEX : ROW.NUM,* : «,BIT. INDEX : SEC.NUM,* : WRD.INDEX,* : BIT.INDEX,* : 3689 3688 | | | 3692| 3 @ ; 3693| | 3696| | ; ' } ) | | . ; ; 3695| 3691| al : ROW.NUM : 3677 | Ré,14(SP) : OFFSET,RAND. INDEX 3706 | ;: «,ML.REG 3707|| RS’ as 16(SP) "5 umée(sm 26(SP #40, n * ROW.NUM,+ : SEC.NUM : SEC.NUM,* * ML.REG,MLREG : «,MLRE | 3667 | REV B PATCH 00 ROUTINE DECLARATIONS TOPS=20 Bliss=1 vz(zm 16:07:57 18-Mar-1982 SKL4.BLI.1 (30) 15:44:41 PA:<NEALE>PM 3-»»-1935 BSKEL4 007342 007 s 007352 007 00 007370 016701 040374" 10 10061 76" 016701 888810 000024 0161 4 01 040400° 016 007404 os 500 192 words ML .ADDR,R1 RO, 10(R1) #34,5P RTS 00020 : Routine Size: BIS MOV MOV ADD 016701 040374' 007406 00741 01096 000010 007416 062 09 000034 : Maximum stack depth per invocation: nb.aoon R1 RO.10(R1) nk.ma R1 1 (an.éa(sm zl.(sp). g 991 R BIC BICB 177770 7205 000007 ol. 700 007374 007400 007422 MOV MOV MOV MOV MOV MOV 26 words 70.R n? n.ng RS.R SEQPage0139104 ; MLREG,* ; *,ML.REG : ML.REG,MLREG * ,MLREG *.MLREG : MLREG,* : , 3553 | | e T T O T TR L L L L L L T LR L TR R L L L L L LRI LR LRLI TR TR TRDA L LI L T BSKEL4 REV B PATCH 00 KN 12:64:41 13-nar-1925 16:07:57 18-Mar-1982 ROUTINE DECLARATIONS routgneiX_THP.BLST_TBL (TEMP_ARRSBNK_SEL, ALL_BAD_CNT) : novalue = egin ¢4 ! Functional Description: ] The temp blast table stores the nibble number, row/column number and a r/c select flag for a row/colunm which has been selected for blasting. ] i ] ] Once it is determined that this chip is not all bad (IE. > 10 all bad row/col) then this temp blast table is xfered into the main blast table. ] ] | ] This table is needed because once this information is xfered into the main blast table there is no way of knowing which chip this bad row/col came from. therefore naking it impossible to delete a row/col from the blast table once it has been lLoaded into it. ] ] ] ] L} ! ! Formal Parameters: ! ARRSBNK_SEL: ! ! address. ALL_BAD_CNT: This argument stores the array and bank select ! This argument tells this global routine how many _remainder table entries td xfer into the the main blast table. ! ! : i] Implicit Inputs: S ] ] aus'r"_"r'at. TMP_BLST_TBL i] Implicit Outputs: The t ry blast table contents are transfered to the glast table at this bank, row and nibble ] ' position. [} ] i1 Completion codes: ] none i ] i] Side Effects: ] none 1 local 'Points to failing bank NUM; BNK_NUM = .TEMP_ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; s TR TOPS=20 Bliss=16 v2(212) L4.BLI.1 (31) PA:<NEALE>PMSK ! Index through the temporary blast table ! and set the appropriate roz or column bits ! in the main blast table at this row or !Calculate the failing bank P 105 SE898140 LN 12'“:41 18-Har-19gg 16:07:57 BSKEL& 18-Mar-1982 REV B PATCH 00 ROUTINE DECLARATIONS 3763 - 3 : 68 ;2(7» 3 3 3 3 - 3768 3769 3770 N 377 T ! If the row bit is set then set the row ! bit in the main blast table at this row, ! bank and nibble number else this is a ! column number and set the column bit in ! the main blast table at this bank and ! nibble number. : I1s this a failing row :'f‘ .TMP_BLST_TBL C.CNT, R_C] eql 1 en BLAST_TBL [.BNK_NUM, .TMP_BLST_TBL [.CNT, R_C_NO], .TMP_BLST_TBL L.CNT, NIB_NO], ONE, ZERO] = ; 3 : g;;g 778 - : 3781 3 3784 end; 004167 0000006 else BLAST_TBL C.BNK_NUM, .TMP_BLST_TBL [.CNT, R C_NO] + .COL_BASE, .TMP_BLST_TBL [.CNT, NIB_NO], 007424 ILoad the"blast with"the failing column at hiis nibble no. ORE, ZERO] = SET_FLG; g;gg : 'Load the blastTMtable with the failing row no. at this nibble . SET_FLG 3;878 3 !Transfer temp blast table to blast table incr'cnt from 0 to .ALL_BAD_CNT do 3778 : 007430 012746 000016 .SBTTL X.TMP.BLST.TBL ROUTINE DECLARATIONS X.TMP.BLST.TBL: : R1,$SAVE3 JSR MOV : RO : 3778 R s CNT 3766 #16,=(SP) SP, (SP) BNK.SEL .POS,~(SP) #2,-(SP) 007450 004767 0000006 JSR PC.BLSGT2 007456 105000 007460 006300 007462 010003 CLRB ASL MOV 007434 060616 007436 016746 040414° 007442 012746 000002 CLR 007446 005046 SWAB 007454 000300 CLR 007464 005002 | 007466 000450 007470 010201 007472 006301 007474 012700 030346' 100 007500 5710 1$: BR MOV ASL MOV ADD TST RO RO Rg.RS 43 R2.R1 R1 RO #TMP.BLST.TBL R1,RO (RO) 2% 7504 100010 007510 7512 1 1 ASR ASR R1 R1 8IC BR #177400,R1 3s MOV 7514 751 0075 007524 1 01 042701 000411 177400 ASR ASR : TEMP.ARRSBNK.SE,* -(5P) BPL 007506 011001 3711 3757 ADD MOV MOV 887502 Page 106 85090141 ! columns nibble position. 377 : TOPS~20 Bliss=16 v2(212) L4.BLI.1 (31) PA:<NEALE>PMSK (RO) ,R1 R1 R1 s CNT,= 3776 3 3778 BSKEL4 REV B PATCH 00 007544 7524 007 007 7 75 007574 007576 222 .‘53 760. 011001 1 1 01 1 042701 .BASE ,R1 gL 030372° osLAsr TBL,R1 177760 000001 c1 7760, (SP) -(SP) 111946 oores gedre : Routine Size: 3s: -(SP) (sh PC,BLSPU2 #10,5P 4$: 64 words 2 R2,22(SP) 1$ #10,SP 000010 : Maximum stack depth per invocation: 3782 | R1,=(SP) (n ) ,=(SP) 0000006 000010 000022 107 0177400 R1 177400 01 04% 16 012746 011 Page 85095142 3781 040372" 010146 ( TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BL 1.1 (31) 2%: 701 srens QRNGREX 007526 0075 0075 0075 0075 007540 123:221355 } ROUTINE DECLARATIONS 157 :41 PC 12 words Y CNT : CNT,ALL.BAD.CNT 91 e T T L T T VIS W= OV Ne ek amd s b D ed ) D 36360 63 60 00 00 00 B3 0 63 % REL NS WN =O VNNV W —=O T T PR TRL L L L A T T e A R a e "TEThLALALE LA TA LA TR TR 1 IR A A 0 TOPS=20 Bliss=16 v2(licd PA:<NEALE>PMSKL4.BLi.1 ‘32 routine X_TO_REM_TBL (REM_PTR) = begin 144 i Functional Description: --- i 7 3 RIS ROUTINE DECLARATIONS ® S P O = - - - 3;85 T T A T R IR LR LA AT ) - BSKEL4 REV & PATCH 00 Once the error map and the column count tables have been searched for all bad rous and columns all that remains are single cell failures scattered through out the error map. This global routine xfers all the renaining row column failures into address pairs of the renain ng are 1nter gated the remainder table where tho¥ and the best blast selection is determine It should be noted here that two copies of the remainder tabl e ex ist. The ‘remainder table' will be used to mani f" Late col umn addresses (the right side of the table) and the 'copied remainder table' will be used to manipulate rowaddresses (the left side of the table). Formal Parameters: REM_PTR i This argument will first goint to the starting table position w re the first transfered row/column pair is to go. Implicit Inputs: ERROR _MAP, REM_TBL, COPIED_REM_TBL, COL_CNT, NOM_SEC, MAX_CHIP_COL lnplicifiOutputs: remainder and copied remainder table are loaded with the remaining single cell failures within this tested chip whichhave not yet been selected for blasting. Completion codes: d rcn_ptr’ is Once the global routine conploto is returned to indicate how ¥ row/col pairs were xfered into the remainder table. Side Effects: none loc al URD INDEX, BITC INDEX, ROW_NUM, ' 'Stores the adjacent row addresses word 'Stores the adjacent row addresses word iStores a columns adjacent row number sition it position Page 108 SEQ 0143 REV B PATCH 00 ROUTINE DECLARATIONS e !Stores the number of adjacent row addresses found 'variable sector starting address 'variable sector ending address the column count table and ! Index thr ! transfer failing columns adjacent row ; pair into the remainder table. !Search column count table incr bsgli.'ul from 0 to .MAX_CHIP_COL - 1 do n 1f this column count table position is not zero then search the error map for its row pair and transfer them into the remainder table. if .COL_CNT_TBL [.COL_NUM] neq ZERO then begin 'Does this location have a count in it Determine which type chip we are testing and generate the appropriate run time parameters for this routine. if .COL_NUM gtr 127 in then NUM = .CO%EM - 128; START_SEC = 258: snfla_sEC = 511; '1s this a 64k chip 'The first column address starts at 128 'The first sector starts at 256 !The end sector ends at 511 else g gflnt SEC = ZERO; n ROW_NOM = .COL_NUM; at zero 'The start sector starts the column = row At the first sector if .BNK_NUM_SEC eql 127 then END_SEC = 127 else END_SEC = 255; !Is this a 16k chip end; pJACENT-CNT = ZERO; !Clear the adjacent count i Now search thru the error map and find this columns : ad;acent failing rows using row_num as a pointer to the ; adjacent row. I I N IR I I T I I TN L I R T T T L O O O o T T e oo e T T T o N T T . ADJACENT_CNT, START_SEC, END_SEC; TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL&4.BLI.1 (32) incr SEC_NUM from .START_SEC to .END_SEC do !Search all these sectors Pa SEQ 1 < BSKEL4 ¢ = S }g-flar-‘lggs 12227:57 -Mar=-1 4:41 LRTR LA L P LR PR LA DR T TR T TN T T begin WRD_INDE X = .ROW_NUM/16; if .ERROR_MAP [.SEC_NUM, .WRD_INDEX, FULL_WRD] neq ZERO !Is this row bit set then be,i n BIT_ INDEX ‘Calculate the rows word bit position = .ROW_NUM mod 16; if k3 ERROR_MAP [.SEC_NUM, .WRD_INDEX, .BIT_INDEX, ONE, ZEROJ eql 1 then begin ADSACENT CNT = _ADJACENT_CNT + 1; REM_TBL T.REM _PTR, COL] = .cos,uw.- 'Up the adjacent count 'Load the rem_tbl with this column no. COPTED_REM_TBL C.REM_PTR, COLI"= .COL_NUM; selectgne .SEC_NUM of se 'Load"the copied table too !Find which physical row number this is o tg 1%7. 256 to 383] : 'Are we in quad 0 or 2 REfl 8L [.REM_PTR, ROW] = .WRD_INDEX*16 + .BIT_INDEX; egin T COSIED.REH_IB[ C.REM_PTR, ROW] = .WRD_INDEX*16 + .BIT_INDEX; [128 to 255, 384 to 511) : begin ~ b W 0 L AL P end; !'Are we in quad 1 or 3 RE‘ 8L C.REM_PTR, ROW] = .WRD_INDEX+16 + .BIT_INDEX + 128; gg:!ED_REH_TBE (.fiEH_PTR. ROW] = .WRD_INDEX+*16 + .BIT_INDEX + 128; T T T T !Calculate which word this row is in tes; T L REM_PTR = .REM_PTR + 1; !Up the rem_ptr pointer T if .ADJACENT_CNT eql .COL_CNT_TBL [.COL_NUM] then exitloop; e end; ee T L end; endz R !Decrement the row count and avoide over run TR T end; LA end; 'Return how many row column pairs were xfered return .REM_PTR; end; TR LR 007624 = (LROW_NUM - 1) and %0°'177'; 004167 0000006 .SBTTL X.TO.REM.TBL: X.TO.REM.TBL ROUTINE DECLARATIONS SEQ 1 IS ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (32) N -t REV B PATCH 00 16:07:57 1g~lar-19ss 12:‘4:41 <% BSKEL4 mYo L € 12 18-Mar-1982 — D 12 12::.4::.1 1s-m-195 16:07:57 REV B PATCH 00 ROUTINE DECLARATIONS BSKELS 162706 007630 012766 007642 167 7644 1 0076 007652 105764 °°7228 oo1oo; 0001 7 0076 14 1$: 28: 00341 007672 011601 007674 162701 000200 012766 oool.gg 000010 00 007706 012766 000777 000002 16 007714 oomg 005066 000010 3" 1 00 3s: 007724 026727 040416' 000177 001004 00 007734 012766 000177 000002 007742 000403 007744 012766 000377 000002 000012 007752 005 000010 007756 01 007762 005 007764 000574 007766 010146 7770 012746 000020 007774 004767 0000006 010000 010066 000012 010006 010400 010006 010010 010012 JSR 040376* 000012 000520 001002° ooosg; 007664 021627 0001 7670 18~Mar-1982 48: 58: 68: #4,5P MAX . CHIP.COL,12(5?) -(SP) 178 (SP) ,R& Sgu..ém.tsuw 168 BLE (SP) ,R1 #200.R1 #400.10(SP) #777.2(SP) 5% 10(sP) (SP) ,R1 CMP MOV suB MOV MOV B8R CLR MOV CMP BNE MOV BR MOV CLR MOV DEC MOV MOV JSR MOV MOV ASL ASL 006300 006300 ASL 018814 010005 8} 13 g 000012 MOV & 010026 005765 010230° BEQ MOV MOV JSR MOV MOV ADD MOV MOV 001544 01 010146 01 010034 01271.9 000020 010040 004767 0000006 000014 010044 81 010050 012746 010230° 516 010054 0109“ 010056 810060 012746 000001 10064 88%0‘6 735 0000006 owogg oogr 000010 0188 010076 005300 ST - R1,$SAVES SUB MOV CLR JNP MOV TST8 BNE JMP CLR JSR ADD DEC TOPS~20 Bliss=16 v2(212) <NEALE>PMEKL4.BLI.T (32) PA: : Page 111 0146 SEQ 3785 ; 3847 ; COL.NUM,« 3856 gn.mr ; COL.NUM,* 3865| BNK.NUM. SEC,#177 113 #177,2(SP) 5 #377,2(SP) 12(SP) 10(SP) R4 Ré& R1,=(SP) #20,-(sP) :5. $DIV *12(SP) R&. : ; *,END.SEC ; «,END,SEC : ADJACENT.CNT : START.SEC,SEC.NUM : SEC.NUM : ROW.NUM,* 3877 RS '1‘ (sP) RS gm.wcas» 4$ R1,=(SP) #20,-(5P) PC,BLSMOD 14(SP) 'gfiaoa.w.-(sm RS, (SP) RO.~(SP) #1.=(5P) -($pP) PC,BLSGT2 #10,5P RO : COL.NUM ; COL.NUM,ROW.NUM t o« ROW.NUM : «.START,SEC : «.END.SEC : : START.SEC * COL.NUM,ROW.NUM ; *,WRD. INDEX : SEC.NUM,+ 3868 3869 3870 ngs 3874 3875 3881 3888 3890 3892 : WRD.INDEX,* ; ROW.NUM, 3895 : *,BIT.INDEX : : BIT.INDEX,* 3897 D HNO— VS noWw 000022 000044 w $ (SP) (SP) ,RS D Egspieé nén T8L.R3 000010 001712° 000010 (R3) , P) 10(S 000177 R6 . M77 3900 3901 COL.NUM,« ; COL.NUM,+ ; SEC.NUM 3902 3904| SEC.NUM, * SEC.NUM, 78: SEC.NUM,« (SP) RO WRD. INDEX, * BIT.INDEX,* _—~ e E e $ 53008 9 -...a-.z:z o p) -t 3 r SEC.NUM,« SEC.NUM, * REM.PTR COL .NUM, « o N W~ ~ P SEC.NUM,* R3 ADJACENT.CNT, 0-0! - 128: =~ 118: =230 B DD N 000777 P=tv-3 N 108: b 000377 W =N 000001 b= 000014 # SEC.NUM, » 2A (PN, ¥ 3 * BIT.INDEX, 3 WRD . INDEX,* ;;szgg.é= (SP) ,RO RRS3 ° 383 g - 2D 00 000016 2 000577 000016 :: ag‘Agsflf .CNT Page 112 SEQ 0147 ;BL (R3) RS 3915 2 000400 TOPS-20 Bliss=16 v2( 2 2) ALE>PMSKL4.BLI. PA: OREH TBL.R2 001402°* ¢ 23 &3c338EazEe5238 32929Rq8E2 001117 o 10 ROUTINE DECLARATIONS @ BSKEL4 REV B PATCH 00 iy 16 010374 01693; 010602 01041 ; Routine Size: oo .. e e OO00000O000O0 BEY22222282 2 016108 ’% 18-Mar-19 ROUTINE DECLARATIONS 13 10336 1 -flar-19 &SN LA BSKEL4 REV B PATCH 00 mPsNgALE”HSKUo.BLI 1 %32) Liss=16 v2(212 ROW.NUM, + Page 113 SEQ 0148 3894 3928 | 177600 * ,ROW.NUM * ,ROW.NUM 000002 SEC.NUM SEC.NUM,END.SEC 000014 COL .NUM COL .NUM, « 3847 | : REM.PTR,* 3786 177246 888816 188 words flaxi-ul stack depth per invocation: 21 words BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 6 12 18-Mar-1982 -Mar=19 H ’ 16:07:57 TRI R TOPS=20 Bliss=16 v2(212) 2§%1° (33) R L4.BLI.1 PA:<NEALE>PMSK : igig rout;.m‘COL-MGE (COL_SEL, QUANTITY, LST_REM_ENTRY) : novalue = 3 3940 !++ : 3 3 3 : 3 942 3943 944 945 ;966 &z ! ! ! ! : : The remainder and copied remainder table are loaded with all the singlo cell failures scattered the remaini through out the chip. These tables are interigated for the best choice for blasting and once a row column pair is selected for blasting it's occurance in these tables must be taken out. selected column address for blasting and purges the table of its occurance and also its row pair address. 3 3 : 939 941 . n ! Functional Description: This global routine will search the remainder tables :3 i 5969 950 ! gg? : : 3953 i : 3956 3 3 s 3958 3959 3960 3 3 396% 3963 ; 3 3967 g% : - REH_'T‘&‘. COPIED_REM_TBL : 971 2 3 - : : : gggg 3957 3961 3964 gggz Once the selected column address is purged the remainder table is copied into the copied remainder table. : | Formal Parameters: ! COL_SEL: ! QUANTITY: ! : LST_REM_ENTRY: Points to the last table entry ¢+ 1. ! ! ! This argument points to the column selected for blasting and the column to be purged from the table. Indicates how many occurances of this column to expect to find in the table. ' ! | Implicit Inputs: : 970 | Implicit Outputs: 3 §3§§ : 397% of column address selected for blasting. | Completion codes: s 76 ! 978 : :: : 7S The remainder and copied remainder tables are purged ! none ! none : 979 ! Side Effects: 9 fow : 1 : : 3985 : : ! ggz '+ ' 1f only one row or column pair is left ! in the remainder table then there is ! no need to purge. le : ; LST_REM_ENTRY gtr ONE en 'Purge the columns if remainder tadle entries > 1 114 Page SEQ2%0149 -lar-19gs g BSKEL4 18-Mar-19 REV B PATCH 00 ROUTINE DECLARATIONS 3 989 begin : 991 '+ 3 990 3 : 99, 99 3 3995 3 3 : 994 99 998 3 2& : : 4001 2% : : 4004 4006 : 4005 : s 3 3 3 4007 4008 s 3 4009 4010 4011 4012 4013 i Search through the rmindcr table looking i for the occurance of s selected colun for i Yurging. Pur_loc ui l f° int to tho ta ! location where this column is first ound incr PUR_LOC from 0 to .LST_REM_ENTRY - 1 do bogin 'Purge the remainder table of this column i Is the contents of this table entry : equal to the selected column for purging. : then if .REM_TBL [.PUR_LOC, COL] eql .COL_SEL '1s this column to be purged begin ' ! 1f this column is locatcd at tho bottom ph{sica ly move ! of the table then don't his routine ! the entriesa ! returnsthe lstrem_entry will be adjusted | to effectively mask these columns out of 4014 ! the table. : lzg}z :'f' (.PUR_LOC + .QUANTITY) neq .LST_REM_ENTRY 3 4019 : : 3 i01e - 3 4020 4021 : 4025 : 2831 5 3 F : :: 3 s : : : : en plumts i the end of the buffer so their table ! must be shuffled around to purge them out. g incr PURGE frcn 4026 28%; 60%2 40 4037 4038 4039 'Is this column Last in table in t.ng ! The selected columns for pur? ng are not at 4022 28%2 4o§§ 4034 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (33) REM_TBL[ _LOC ts(.LST REHENTRY = 1) = .QUANTITY do . RO_CL .REM_TBL L.PURGE + LQUANTITY, RO_CL]; ! ver czmlcb moved this incr Loop here ' Once the remainder tablo has been purgedof i this selected column the copied rcn ublo ! must get a fresh copy to reflect the ! table arrangement. i Efspy rem tbll to copied tbl incr COPY from 0 to .LST _REM _ENTRY = .QUANTITY do COPIED_REM_TBL [.COPY, RO_CL] = .REM_TBL [.COPY, RO 112 ! r 98 16:07:57 1222‘:“ 18-Mar-1982 BSKEL4 -Mar=1 REV B PATCH 00 ROUTINE DECLARATIONS 4041 - : 404 ; 4064 exitloop: 404 2 4045 3 404 3 404 : end; end; 010414 004167 0000006 010420 oosng 000020 010422 01 7 000001 01 so!1’6 880&54 010444 026 01 8}&“263 .SBTTL COL .PURGE : JSR ST MOV CMP 18: o1w 011601 01 1 001402° 156106 105 mgg 12532 001402° 001402' o; 1 76 10502 105 1 01 01 01054 010544 010001 01 1 010523 016161 001402° 001712* 3s: 48: 58: -($P) zgcsn.ns RS, 41 ?‘sn ASL R1 MOV CLR MOV MOV 2 R1,$SAVES 8s g: 046 000024 01 061 5 01 14 0104 010474 01 010476 160 ong“ 01 005 01 010504 10 10400 010 006300 010510 10512 010301 10514 1 1 1051 ?'[5 (SP) ,R1 Ré REM.TBL(R1),R4 R, 24 (SP) gtsn.as ADD CMP BEQ MOV SUB MOV DEC BR MOV ASL MOV ADD ASL MOV R3,R0 (SP) RO .RS 4 R A; R (SP) ,Ré R& 3s RO R% R1 R&.R1 R1 REM. TBL (R1) ,REM. TBL (R0) P R4 ,R2 INC BLT MOV SUB CLR BR MOV ASL MOV , COL.PURGE ROUTINE DECLARATIONS BR BISB oé1ieggo§ 000022 010460 010464 010 105 >PMSKL4.BLI.1 (33) 1 Page 116 SEQ 0151 end; 404 8}32 0104 PA: ve(212) 'Exit the Loop when purge is complete end; 404 P, TOPS~ 0PS gtgl iss~1 Ré 23 R .RS R3.R R &1 RO,R1 R1 REM. 8L (R1) ,COPIED .REM. TBL (R1) f : 3987| , 3937 : ; LST.REM.ENTRY,* PUR.LOC 3998 ig : PUR.LOC,* 4005 | ; +,C0L.SEL g : ; 1 : QUANTITY,® 4017|-: : : PUR.LOC,PURGE * PURGE : PURGE,* 4027 i : PUR.LOC,* }‘ ; 4026| : PURGE,* : PURGE 4026 : 4039 : PURGE,* : COPY : COPY,* | . 4040| 4 | J12, thchariogs 10:0% i 01055 5 68: 0105 7%: 8s: 9%: : Routine Size: 58 words Haxinun stack depth per invocation: 7 words 6 va( Liss=1 .BLI. PR NEALE >PMSKL4 B s . 9% (SP) (SP) RS 1$ (SP)+ PC * PUR.LOC : PUR.LOC,+ SEO0152 K 12 BSKELS , REV B PATCH 00 ROUTINE DECLARATIONS s : 3 3 s 4050 4051 405 4053 4054 : 3 4055 4056 282; : 3 4059 4060 1g-nar-19gs 12:07:57 18=Mar=1982 15:44:41 routine ROW_PURGE (ROW_SEL, QUANTITY, LST_REM_ENTRY) : novalue = begin !++ ! Functional Description: ! ! : This global routine is exactly the same as column purge except that the copied remainder table is search and purged of row address. ! Formal Parameters: |SEL: ! 3 : : 4061 406§ 406 ! : ! This ar?unent points to the row to be purged from the table. Y: QUANTIT : : : 4065 4066 282; ! ! ; to expect to find in the table. LST_REM_ENTRY: Points to the last table entry + 1. : : 4069 | Implicit 28;? ; : 4072 ! Implicit Outputs: : : 3 4064 4073 28;3 ! ! ; Indicates how many occurances of this column Inputs: REH.?BE. COPIED_REM_TBL The remainder and copied remainder tables are purfod of all occurances of row addresses selected for blasting. : 4076 ' Completion codes: . 4078 ! : 4077 : 4079 : 4081 : : : - 3 4080 4082 4083 4084 4085 4086 . 4089 : 409, : : :: : : 3 ; : 3 4090 40N ! none ! Side Effects: ! '~-- none 1+ ! 1f only one row or column pair is left ! in the copied_rem_tble then there is ! no need to purge. if .LST_REM_ENTRY gtr ONE then begin ! Search 2885 ; 4099 4100 4101 'Purge the row if copied table entries > 1 le Looki eé 6 copied_rem_tble shesuah the Fainst through looking ! for the occurance of this selected row for 400 4 4095 4096 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (34) ' furging. Pur_loc will point to the table ocation where this row is first found. incr PUR_LOC from O to .LST_REM_ENTRY - 1 do begin 'Purge the copied rem table Page 118 SEQ 0153 | L 12 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (34) SRS SN S S 2 2 S =2 a s ! ! Is the contents of this table entr ; equal to the selected row for purging. O :; .COPIED_REM_TBL [.PUR_LOC, ROW] eql .ROW_SEL en begin N the table. :g (.PUR_LOC + .QUANTITY) neq .LST_REM_ENTRY N NN NN NN en !Is this the Last table entry eegin i The selected rows for purging are not at ! the end of the buffer so their table placements ; must be shuffled around to purge them out. incr PURGE from .PUR_LOC to (.LST_REM_ENTRY - 1) = QUANTITY do COPIED_REM_TBL [TPURGE, RO_CL] = TCOPIED_REM_TBL [.PURGE + .QUANTITY, RO_CLI; end; ; ver czmlcb moved this incr Loop here NN NN NN SRR R RN R R e !Is this the row to be purged If this row is located at the bottom of the table then don't physically move the entries around. When this routine returns the lst_rem_entry will be adjusted to effectively mask these rows out of i Once the remainder table has been purfed of ! this selected row the copied_rem_table | must get a fresh copy to reflect the new ; table arrangement. !Copy copied to rem incr COPY from 0 to .LST_REM_ENTRY - .QUANTITY do REM_TBL [.cOPY, RO_CL] =".COPIED_REM_TBL [.COPY, RO_CLI; NN NN P R A A A R T a e e R n ra a rn A EE TRL A L E TE P TR L L A L TR LA LA L E PR PR TR TR TR LA D TR TR T N N T T — 1 -Har-19gs 12:07:57 18=Mar=-1982 15:44:41 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 410, 410 P SR ex;tloop: end; end; end; end; 'Exit loop when purge is completed Page 119 SEQ 0154 M 12 BSKEL4 REV B PATCH 00 010600 810606 004167 1=-Har-19gs 12:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS 0000006 .SBTTL ROU.PURGE;R 1ST MOV CMP BLE 005746 1%: TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (34) Page 120 SEQ 0155 ROW.PURGE ROUTINE DECLARATIONS n}gggAves : 4050 20(SP) ,RS ; LST.REM.ENTRY,* 4089| ggP) : PUR.LOC 4100| (SP) ,R1 ; PUR.LOC,* 4107 : QUANTITY,# 4119 #1 RS, 93 i 1) COPIED.REM.TBL+1(R,R4 25(39).33 R3,R0 4$ RS.R% 823 R3.R e= (SP) ,R4 §l§ R S = 3s: 48: NN S 2R 3 -2 O 5%: 5 (V1 uows N SO N IR = =]= lel=lelelelel] 9229222222 : 4128 : PUR.LOC,PURGE ; PURGE 4129 R3.R1 001712* 001712° RG ; PURGE 4128 ngin RO i 4141 R4 ,R2 6 ggtaz 7$: 58 words COPIED.REM.TBL(R1),COPIED.REM.TBL(RO) : M. ,REM. TBL(R1) .RE TBL (R1) COPIED 001712 001402°" 9%: : Routine Size: ; PUR.LOC,* 2%: - =lel] - o S8 R (SP) ,RO RO,RS * PURGE,* : COPY 4142 : COPY,» : COPY 416 (SP) %gp).ns * PUR.LOC * PUR.LOC,* - 4144 4100 (SP)+ : 4050 9% PC REV B PATCH 00 ROUTINE DECLARATIONS : Maximum stack depth per invocation: S-H.r-wii AT Mar=19 BSKEL4 7 words B T L PP T3wy TOPS=20 Bliss=16 v2(212) s£a95155"121 || | | BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS - 3 : 415‘3’ 2}5 13—m-19§5 13:“:61 4122 !144Functional Description: 4157 figg ! : : 4160 | Before the remainder table is interigated for columns the column side of the table must be sorted. This global routine will sort the column side of the remainder table and the row pair will get moved around with the column pair. 3 F 4561 2}8 ! : : 4164 | Formal Parameters: LST_REM_ENTRY: | Points to the last remainder table entry : | Implicit Inputs: : 4165 ; : 4168 i " pem_TBL 2}?% s 2};‘ 2}29 4171 617§ | Implicit Outputs: The remainder tables column addresses are sorted ! ; 4175 | Completion codes: ; 41;3 i Side Effects: : o : : : : sty ! none 41 ; 3 : s 3 41 l‘o} ; in ascending order. : a0 i 41 'z]' 4185 3 415; 41 TM local TEMP; ' ! If there is only one table entry !Temporary storage for bubbled entry ! remaining then there is no need to : sort the table. : z'f. .LST_REM_ENTRY gtr ONE !Sort the table if entries are > 1 : fig% : 419 : 6199 i Index each table entry and bubble up ; 2§? incr PASS from 1 to .LST_REM_ENTRY - 1 do :: 43 i 3 : £ TOPS=20 Bliss=16 v2(212) L4.BLI.1 (35) PA:<NEALE>PMSK begin 4159 5 16:07:57 routine COL_SORT (LST_REM_ENTRY) : novalue = : 3 s 18-Mar-1982 419 en in ! table values in ascending order. de e ! Bubble up this table entry so its iBubble sort table until in asending order 122 Page 55395157 BSKEL4 REV B PATCH 00 5 3F 2%05 42 §$8 : 4210 3 2 }g : 4214 3 4215 : 2 4%17 4218 3 422 4224 4225 : : 3 4226 3 010764 010770 004167 010776 then begn TEMP = .REM_TBL [.index., RO_CLJ; [ end; 0000006 .SBTTL COL.SORT: 2% 001402° 8!18;8 001404° n 000002 011054 811 H 4152 MOV 20(SP) ,~(SP) : LST.REM.ENTRY,* 419N .RO 3 4207 : PASS 4200 S 4207 =(SP) (SP) 41 BLE 63 su8 CLR #2,R0 MOV RS MOV 0105 110 R1,$SAVES CMP 18: COL.SORT ROUTINE DECLARATIONS JSR TST 000002 11014 o1 811 1 0“ | end; 01101 on 11022 11024 1 8110 1 !Copy the bigacr Sntry end; 021627 000001 onoog 16§ 81101 ‘ 'Put the smaller entry here cLl; REM_TBL [.index, RO_CL] = REH_?BL C.index + 1, in next entry entry bigger the 'Put REIg_TBL [.index + 1, RO_CL.'I = ,TEMP; 005746 011004 : t '1S the next entry 010772 016646 000020 011002 Page 123 SEQ 0158 if .REM_TBL [.index, COL] gtr .REM_TBL [.index + 1, > COL] this one 4220 2551 3 s TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (35) ! Is this table entry greater then the next ! table entry and it so then swap the two : entries else its in ascending order. 6319 : 15:44:41 l= = 1)) do = 2) =up(.PASS incr . index from 0 to ((.LST_REM_ENTRY'Bubble the biggest number 4216 : 18=-Mar-1982 ! in ascending order. 4211 s 13-!!«-19 s 16:07:57 ROUTINE DECLARATIONS 4204 : c13 ; (SP) BR S$ SuB MoV INC CLR BR RS R5.R1 R1 Ré 4% ASL MOV ADD 'A's“l{ RS #REM, TBL ,R2 R5.R gg.k MOV R4 RS ADD nSH.T +2,R5 (R3) MOV R2) ,2(SP) CMPB BLOS (R2) >$ : PASS,* : INDEX | . : INDEX,* 6215|' ; INDEX,* | } ; + TEMP } 4219|! , ; fgchar1ogs 1? Gar e r-19 18-Rar=19 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 011064 8 g onogg1661 000002 0110 011074 011076 011100 3s: 4$: g 5$: 011102 011104 6%: 0 %g 0111 01 ; Routine Size: MOV &3 words : Maximum stack depth per invocation: 8 words INC (RS) , (R2) 2(5PJ, (RS) Ré 7:57 10PS=20 : L OTEMP, : INDEX CMP BLE R4.R1 2 ; INDEX,* CMP BLT R3,(SP) 1 ; PASS,* INC CMP RTS Bliss=16 ¢ ¥2(212) ALE>PMSKLS.BLI.1 (35) Page 8% 124 SEQ 0159 4220 4221 4207 R : PASS 4200 (SP)+,(SP)+ PC : 4152 BSKEL4 REV B PATCH 00 T T L L — v BEDDDDDSD BEPEBDDEDEDDDDDNNDSN routine ROW_SORT (LST_REM_ENTRY) : novalue = begin Functional Description: This global routine serves the san, purpose as 4259 row addresses are sorted in ascending order. Formal Parameters: LST_REM_ENTRY: Points to the last remainder table entry Implicit Inputs: COPIED_REM_TBL Implicit Outputs: The copied remainder tables row addresses are sorted in ascending order. Completion codes: none Side Effects: none local TEMP; !Tempory storage for bubbled entry If there is only one table entry remaining then there is no to sort the table. if f .LST_REM_ENTRY gtr ONE then !Sort the table if entries > 1 e i Index each table entry and bubble up ; table values in ascending order. incr PASS from 1 to .LST_REM_ENTRY - 1 do T A R TR TR T T e TOPS-20 Bliss=16 v2(212) L4.BLI.1 (36) PA:<NEALE>PMSK column sort except the copied remainder table 6?% 4 16:07:57 18-nar-1935 1?:66:‘1 ++ NN RNAIRIRIRININY VIS & SERESSSS -0V SEHRGREES FAR T LR LR L L L L L L T TR LA LA TR P TR TR TR TR TR TR TR TR TR TR T T 4227 8 ROUTINE DECLARATIONS E 13 18~Mar-1982 IR s ! Bubble up this table entry so its ! in ascending order. 'Bubble sort table until in aseending order F13 BSKEL4 18-Mar-1982 9 BRar-1988 16:07:57 19: 0001 REV B PATCH 00 ROUTINE DECLARATIONS ; ; 4.379 z 3‘1) : 4 4 2 3 : incr index from 0 to ((.LST_REM_ENTRY = 2) = (.PASS = 1)) do 'Bubble up the biggest number ; i Is this table entry greater then the next . : 2a : 4 : : 2332 :;'acwxso_aen_ru [.index, ROW) gtr .COPIED_REM_TBL [.index + 1, ROW] bogn 4289 : TEMP 4291 253% 4 : : : 011112 004167 011116 0111 8;” 4 end; 0000006 18: §m§ §m;§ 001712" 1112 1714° 11212 000002 1 1 1121 11 1 000002 28: R1,$SAVES : 4227 ; LST.REM.ENTRY,* 4263 a ( “ao : 4279 ¢ MOV SuB MOV INC 38: 48: -($P) 20(SP) ,~(SP) (sP) ,# g:g g R %a Rl Re g gub ED.REM. TBL ,R2 l&v rs.ls ADD ngxeg.ugn.moz.ns MOV (R2).,2(SP) (P8 BLOS 000001 ROW.SORT ROUTINE DECLARATIONS JSR ST MOV az omgs 8111 11152 om% 1Copy the bigger entry COPIED_REM_TBL E.mm. RO_CL) = ,COPIED _REM_TBL [.index + 1, RO_CL); next entry %xeo_nen_m .index + 1; RO_CL] = .TEMP; TPut the bigger entyr in g .SBTTL ROW. SORT: wi g 011144 ] 3}} 811 = .COPIED_REM_TBL “""5' RO_CL); 000020 000001 om Page SEQ 0167126 ! table entry and if so then swap the two : entries else its in ascending order. 4 : TOPS=20 Bliss=16 v2(212) PRNEALE PRekLS. LI 136 % INC (MP 1(R2),1(RS) 38 5(35‘?.%) Re R4 R1 : : PASS,* : INDEX 4279 : INDEX,* 4287 | : o, TEWP 4290 D rEmp, e * INDEX + INDEX,* 22235 4279 | 1 -lar-19 BSKELS REV B PATCH 00 ROUTINE DECLARATIONS 011230 011 00 75 S$: o 01 6$: on ; Routine Size: 18-Mar-19 45 words : Maximum stack depth per invocation: 8 words BLE INC CMpP BLT CMP RTS 2 I3 R3.(SP) 18 (SP)+,(SP)+ PC g zz ;285- 0 Bliss=16 v2(212) ALE>PMSKL4G.BLI.T1 (36) Page 1%7 SEQ 016 : PASS 4272 : 4227 s PASS,* REV B PATCH 00 ROUTINE DECLARATIONS F Y VNN - Y ! Functional Description: To determine if a bank has any additional failing row or columns the blast table is searched for any bits set. 1f bits are set then this bank must be ‘ed. If no bits are set then this bank T P AT AP PR les 3 can be skipped. b NOWVMSWN=OVRNOWVSWN=O P NN b b This global routine searches the blast table at the selected banks and sees if an¥ bits are set indicating new errors were found in this bank. Formal Porua'o‘ters : =" ORISR o d b o e d NN N NN NN b ol b ol ol ol d ol ol ol ol P b b AN NN W) — KK ol o o o o N TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4&.BLI.T1 (37) begin T N I I e T TR D LRLR T B AL L LA T LA L TR L L R L LR T DA TR L L L L L LL T T 12:07:57 15: :4 "points to the bank to be searched Implicit Inputs: » BLAS?S#%L. MAX_CHIP_COL Implicit Outputs: none Completion codes: A true indicator is returned if new errors exist and a false indicator is returned if no new errors are found. Side Effects: none Search all row and column blast information stored in the blast table for this bank and see if any new 7ows or columns need to be blasted. If new blast info is found then return true 2s the routines value else return false indicating that no blasting is to be done for this bank. A R T T Ig-floroi routine S_BLAST_TBL (BNK_NUM) = P I, BSKEL4 W13 18-Ma r-19 incr SE?RCH from 2 to .MAX_CHIP_COL*2 - 1 do R A A n i poes this table location contain new ; prom blast information? 'Look at all rows and cols for this bank Page 128 55095163 113 33 ;1 24350 : lz gz 004167 011244 011 on on 10 %00 011 011272 011276 01 011276 011 811 1 1 .SBTTL S.BLAST.TBL: 0000006 JSR MOV ASL MCY SWAB CLRB ASL 1 18: 1 030372 14 g 1 011316 011 on 103 764 011324 g 26 words : mum stack depth per invocation: -y Sen ine Size: & words R1,$SAVE3S MAX.CHIP.COL,R3 12(SP) ,RO RO RO : : 4 4 4351 | : SEARCH 3 6344 4351 TST 5“1.!..(!2) MOV #1,R0 INC R ; SEARCH 4344 RO H 4299 ADD ASL RTS R1.R R2 P cMp BLTY R1.R3 1$ RTS PC , ; ; BNK.NUM,+ Rl 33 RO.R CLR on S.BLAST.TBL RCUTINE DECLARATIONS CLR MOV BR BEQ 587 011314 129 P SEQage016412 'Return false if no bits are set return FALSE; 12700 000001 01131 Bliss~16 v2(212) TOPS-20 Bliss~16 P(AJF:S v2(212 ALE>PMSKL4.BLI.1 (37) if .BLAST_TBL [.BNK_NUM, .SEARCH, FULL_WRD] neq ZERO then return TRUE; !Return tru if any bits set 016703 040376° 3 000012 1 011250 011254 011 | 16:07:57 18-Mar-1982 r 8 1?:24;41 18-Mar=-19 BSK EL 4 REV B PATCH 00 ROUTINE DECLARATIONS s SEARCH,* ; SEARCH,* 3 4298 : 4 , , J 13 BSKEL4 REV B PATCH 00 1‘-!0#1935 12:07:57 18-Mar-1982 ROUTINE DECLARATIONS : 4357 routine S_COLUMNS (MOST_OFTEN, SUM_MOST : 4 Les 3 : - 4 4 4 ' ' ' : 4361 15:44:41 LST_REM_ENTRY) = ! Functional Description: ; 2“2 : : 4367 i 3 The remainder table is searched for the best possible choice for blasting ie whether to select rows or columns for blasting. This is done by: while searching through the rem_tbl count how 393 ! : many different row numbers and column numbers ; 4371 i In the lower count group (default to rows if 3 g;‘ : most often. : 3 ; ; 4375 4376 3;8 4379 i ! : | The member which appears most often in this Llower count group will be the one chosen for blasting. For example: 3 l‘. 1 : exist in the remainder table. 3 3 : 4368 4372 4 4 o: ! ! 4385 :: ;3s ii 4390 4391 ! 4392 | 4393 6396 ! 3 4 : : uppose that these row column pairs > ! 4 Fs counts are equal) find which member appears i : : 3 there are. 4 4 4395 4397 4 : 4 . . pe 44 4405 ! From this there are 5 different column numbers ! 6 appears the most often and and column times. & it appears ! : Therefore i Formal Parameters: 1 DIF =5 MOST OFTEN = 6 SumM_RoST = 4 ] ] g1 1 710 12 95 1 38° 4401 . () [ ) 10 ! ! 44 fio W g MOST_OF TEN: Passed by reference and stores the most often found column. SUM_OF TEN: TOPS-20 Bliss=16 v2(212 ) PA:<NEALE>PMSKL4.BLI.1 (38) Page 130 SEQ 0165 i 13 ROUTINE DECLARATIONS T I T T TR TR TR TR TR T REH.?Br 1 mplicit Ousguts: MOST_OFTEN AND SUM_MOST which are passed b‘ reference to this routine is returned to the caller by reference with the column number which appears most often and the number of times it appears. Conple%ion codes: he number of different column numbers which were found in the remainder table is returned to the caller. Side Effects: none Llocal UR_SUM, PRE_SUM, CUR_MOST, T TR LA LA LA L AL A LA TR TR LA T - PRE_MOST. - 'Stores current sum of most often found column !Stores previous sum of most often found column !Stores current most often found column 'Stores Rrovious most often found column {Stores how many different columns were found - Also define the first table entr{ to be the column number to be selected for blasting. - - Start out the search by defining the current count, previous count and different count to be one. - e T T - T O L T T DIF: - e e e TOPS=-20 Bliss~16 v2(212) PA:<NEALE>PMSKL&.BLI.1 (38) Implicit Inputs: This is done in the event that there is only one table entry left to be selected for blasting. CUR_SUM = 1 PRESUM 3?5"—"?' = .REM_TBL [ZERO, COL); A e ' If only one table entry is remaini TR IR R 16:07:57 13-Nor-1935 12:66:61 !Current sum starts at one {Previous sum starts at onc ! values defined above as 'Different column count starts at one with the sgfault ! in the table then return the routines return ! values. . Previous most often starts at first column in table T e e 18-Mar-1982 Passed by reference and stores the sum of the most often found column. LST_REM_ENTRY: Points to the lLast remainder entry N BSKEL4 REV B PATCH 00 Page 131 55095166 BSKEL4 REV B PATCH 00 : 446 : 2229 : : 3 : 4468 4469 4470 4471 - 4474 : 4478 : : 3 3 : : 4464 4465 s (': _SORT (.LST_REM_ENTRY); ’ ! next table contents? ’ ;:“ LREM_TBL [.index, COL] eql .REM_TBL [.index + 1, COL] en bfigin CUR_MOST = .REM_TBL [.index, COL]; 4485 CURZSUM = .CUR_SUM + 1; 4486 4487 else 4488 4489 end be?in DIF = .DIF + 1; 4492 : : : 4494 4495 4496 Fs 4499 : 4501 : : : : 4505 4506 4507 2;88 ! This test to see if the last set of 4510 4511 if .CUR_SUM gtr .PRE_SUM : : : if .CUR_SUM gtr .PRE_SUM then 4493 btgin PRE_SUM = .CUR_SUM; PRE_MOST = .CUR_MOST; CUR_SUM = 1; end; 4500 450 450 4504 4512 !Find the sum, most often and different ! Is this table position contents the same as the : : : : 'Sort the column side of remainder table incr index from 0 to .LST_REM_ENTRY - 2 do 223(1) : 'First table entry is most oftem if table entry < 1 ! found. : 3 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (38) ! Index through the table and search for ! the column most often found and the number ! of time its found. Also search the table ! for the number of different column numbers 4481 4484 5 : then bstin 4479 : 3 if .LST_REM_ENTRY gtr ONE 4475 22%% : ROUTINE DECLARATIONS 447 3 3 L 13 13—!»-19 s 12:07:57 18-Mar-1982 15:44:41 !Is this the same as the next !Most often is this entry 1increment the sum of the most !Increment the different column count !Is the current sum > previous sum !Save the sum of the current most often !Save the current most often !Start current sum back to one end; end; . > : unique column numbers in the table is > the previous sum then 'Is the current sum > the previous sum Page 132 SEQ 0167 13 S begin .SBTTL S.COLUMNS: JSR CcMP MOV MoV 3StSEERRoERRRanRazs R1,$SAVES =(SP) ,=(SP) 2 4357 R1.RS ; *,CUR.SUM * PRE.MOST ; =, PRE.MOST : «,DIF ; *,PRE.SUM 4451 4452 4453 * LST.REM.ENTRY,* 4454 4463 R4 ,=(SP) 2 4466 #2.Ré : 4475 4482 #1.R1 -($P) R;H.TBL (SP) #1,2(SP) 001402° 000001 CMP BLE R4 .M 63 JSR PC,COL.SORT CLR R MOV MOV b b e PO 177364 (=] S.COLUMNS ROUTINE DECLARATIONS CLR MOvB MOV sus 000002 ZERIRIET Page 133 SEQ 0168 end; 000001 000002 000024 —a (212) 'Return the most often found column IReturn the sum of the most often column 'Return the different number of columns found .MOST_OFTEN = .PRE_MOST; .SUM_ROST = .PRE_SOM; resurn .DIF; 000001 D ek cnd oD sd cndh mud i o =D md e e ed s v Bliss=1 e B PRt VE end; 0000006 OOOOOOOOOOOOOOOOOOOS D o o D d cod oo e d D d d b e o cd b d TOPS=20 PA:<NEALE>PMSKL4.BLI.1 (38) !Save the sum of the current most often ISave the current most often PRE_SUM = .CUR_SUM; st,HOST = ,CUR_MOST; d cd - OV ViV X 2T 2k okl af 2kl 2 ROUTINE DECLARATIONS b ek REV B PATCH 00 ’ 16:07:57 13-Mar=1 A 985 13:24:41 18-Mar-1982 1$: aR 24(SP) ,R4 5 s INDEX MOV R2.R3 s INDEX,= :g{ R2.RO ; INDEX,= 001402° 001404° &B gfl.l’fll(lS).REH.TflL*Z(RD) 001402°' 000006 000007 MOVB CLRB REM.TBL(R3) ,6(SP) 7(SP) ; *,CUR.MOST : CUR.MOST 000004 BR INC gfi 43 4L(SP) g}.as Fi s DIF R1.RS 2 CUR.SUM,PRE.SUM #1.R1 : =, CUR.SUM 000006 000002 000001 INC 2$: MOV 3s: 4$: 5 6$: 000004 ASL R1 MOV 6(5P),2(SP) INC CMP RS R2.Ré MoV BLE IST 1$ (SP)+ CMP R1.RS MOV MOV R1.RS &(SP) , (SP) BLE 7% s CUR.SUM 2 CUR.SUM,PRE.SUM * CUR.MOST,PRE.MOST s INDEX s INDEX,® 3 s CUR.SUM,PRE.SUM : CUR.SUM,PRE.SUM : CUR.MOST,PRE.MOST BSKEL4 REV B PATCH 00 011514 011520 (11526 012676 010576 012600 -Har-19 806034 7%: 61355 006267 : Routine Size: (sp)o aze(sm a2d(s )+ no (sfi (sP)+” PC 65 words : Maximum stack depth per invocation: :0 7:57 -Har-19ss g:4 4:41 ROUTINE DECLARATIONS 10 words TOPS=20 Bliss~1 V2(212) PA:<NEALE>PMSKL4.BLI.1 (38) PRE.MOST ,MOST.OF TEN -SUM, SUM.MOST I;?E REV B PATCH 00 ROUTINE DECLARATIONS NS NN AWM WM WA WMIA WM IVAIVWAN &» v wy Formal Parameters: MOST_OF TEN: Passed by reference and stores the most often found row address. SUM_OF TEN: Passed by reference and stores the sum of the most often found row address. Y: ENTR LST_REM_ Points to the last copied remainder entry Implicit ln&ts: _OFTEN AND SUM_MOST which are passed b; reference MOST to this routine is returned to the caller by reference with the row number which appears most often and the number of times it appears. Completion codes: The number of different row numbers which were found in the copied remainder table is returned to the caller. none local !Stores current sum of most often found row 'Stores previous sum of mo.. often found row CUR_SUM, PRE CURTMOST, B?E_MST. A b - o~ NG remainder table is searched for row numbers. O v gzo e This global routine has the same functionality as search columns except that the copied V] s b&b&bbbbbb&&bbbbbbbb&bb&fibbbbbbbbbb&bbbbbbbbbb&&ba RRRRE 3858&¥EL sss 199 ! Functional Description: - SS? 55 Y 44 55 554 S55 Start out the search by defining the current count, previous count and different count to be one. Also define the first table entry to be the row number to be selected for blasting. This is done in the event that there is only one table entry left to be selected for blasting. .A PA:<NEALE>PMSKL4.BLI.1 (39) \J n Side Effects: SS§ s routg.n;'s_nous (MOST_OFTEN, SUM_MOST, LST_REM_ENTRY) = 551 wviwnawy ~ ~ T TR TR TR T T Y T L L L TR LR LR L T Ll T L L R O T T L L L L L LR LRL LR e T T e TR TR Sl.g g&so oV 18-Mar-1982 15:44:41 g ¥ | BSKEL‘ !Stores current most often row found !Stores previous most often row found SEQ 0170 P L4 . A REV B PATCH 00 ROUTINE DECLARATIONS TOPS=20 Bliss=16 v2(212) 18-Mar-1982 16:07:57 L4.BLI.1 (39) 12:“:61 PA:<NEALE>PMSK g-flar-flgs - CUR_SUM = 1; PRE_SUM = 1; 'Current sum starts at one 'Previous sum starts at one DIF"= 1; 'Different row count starts at one BSKEL4 4574 3 3 4575 457 $ 22;8 3 : 457 45 ' PRE HOSI -COPIED_REM_TBL [ZERO, ROW]; 'Previous most often starts at first table enrry 1 3 3 4581 i If only one table entry is _remaining : 3 458 4584 i values defined above as the routines return i values. : 4587 if .LST_REM_ENTRY gtr ONE 458 : : 4588 4589 228(1) s 3 : 3 459 459 4594 4595 'First table entry is most often if table entry < 1 then bsain ROW_SORT (.LST_REM_ENTRY); !Sort the row side of copied rem table ! Xndex throughthe table and search for t ! the row most often found and ! of time its found. Also snrch the tablo ! for the number of different row numbers 4596 ! found. 3 4599 incr index from 0 to .LST_REM_ENTRY = 2 do 2 Fs 4602 4603 ! Is this table position contents the same as the ! next table contents? 3 lzggg :'f‘COPIED_REM_TBL [.index, ROW] eql .COPIED_REM_TBL [.index + 1, ROW] : 4608 : - 461% 461 : : : : 3 3 : : : s 3: F: 439 4803 4609 4610 4611 22}2 4616 4617 4618 4619 4 1 44624i § : 'in the tablo then return with the default : 'Find the sum, most often and different ; begin . 'Most often is this entry CUR_MOST = .COPIED_REM_TBL (. indox. ROW]; of most sum the IIncrement CURZSUM = .CUR_SUMTM+ 17 end” else be? n DIF = .DIF + 1; if .CUR_SUM gtr .PRE_SUM then in SUM = SUM. PRE_MOST= .Ctl_MOST; end; CUR_SUM = 1; end; 'Increment the different row count !Is the current sum > previous sum 'Save the sum of the current most often 'Save the current most often row !Start current sum back to one Page 136 55095171 18-Mar-19gs 12:“:61 Lé m <X E37 D 14 18-Mar-1982 B PATCH 00 ROUTINE DECLARATIONS TN TN 4626 4627 4 4 TRTALALATE TR TR LA DT LR TR TR TR R T 46 4631 26 46 4635 46 4637 : unique row numbers in table is > the previous 229222282228 22222828238222222282 B P e e e L L L ] begin end; 4644 return .DIF; 'Return the number of different found rows end; .SBTTL S.ROWS: JSR cMP MOV MOV CLR MOVB 00500 008‘ 1$: 01 d D ot 614 006303 616 01 gggsog 001713* 001715° 000007 1 12 262 000004 10 628 10105 2%: : : *,CUR.SUM : =, PRE.SUM COPIED.REM.TBL+1,(SP) : = ,PRE.MOST -($P) ; i ! ' ! R&,=(SP) PC,ROW.SORT #2.R4 3 3 4590 4599 R2.R3 s INDEX,* 4606 CLR BR R b] ASL 'Rs"'( MOVB CLRB INC 8R INC gfi' MOV 4577 4578 CMP BLE MOV * PRE.MOST 4522 4575 4576 : =,DIF M R4, 63 %B 001713* 000006 R1,SSAVE -($P) ,~(5P) fM.R1 R1,RS #1,2(SP) MOV JSR SuUB 574 0104646 576 004767 177310 602 162704 000002 S.ROWS RgUTmE DECLARATIONS MOV MOV 566 020427 000001 572 003444 | iReturn the sum of the most often found row .SUM_MOST = .PRE_SOM; 562 016604 000024 , 'Save the sum of the current most often !Save the current most often row SUM = _CUR_SUM; PRE_MOST = .CUR_MOST; 550 116716 001713° o 'is the current sum > previous sum IF .cur_sum GTR .pre_sum then 004167 000000G 024646 012701 000001 010105 1 137 ' 554 012766 000001 644 Ugs 2 656 P ' This test to see if the lLast set of 'Return the most often found row 1" 0172 SEQ298173 end; 546 005046 612 Bliss=16 v2(212) .MOST _OFTEN = .PRE_MOST; 4645 61 TOPS=20 464 464 532 536 540 544 ’ (39) 3 L4.BLI.1 PA:<NEALE>PMSK end; 4638 4639 ‘622? 16:07:57 24(SP) R4 R g RO * LST.REM.ENTRY,* s INDEX s INDEX,* ggPIED.REH.TBLfl{RS).COPIED.REH. 1BL+3(RO) ; §0PIED.REH.TBL+1(R3).6(SP) (SP) R1 4% 4(SP) lst;.RS R1.RS 4587 s *,CUR.MOST s CUR.MOST s CUR.SUM 3 s DIF s CUR.SUM,PRE.SUM s CUR.SUM,PRE.SUM 4609 4610 4606 4614 4616 4619 LR TR TR T} REED iR ooowe CUR.MOST ,PRE .MOST *,CUR.Suh INDEX ,* INDEX e d 22223223222 e D d e e b cHess dite ROUTINE DECLARATIONS P REV B PATCH 00 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (39) S BSKELS D e i * CUR.SUM,PRE.SUM e ~ ~an CUR. SUM,PRE . SUM Size: g1 832 e — e e e e 7%: s tack 65 words depth per invocation: 10 words CUR.MOST,PRE .MOST PRE.MOST,MOST.OF TEN m;.gm.sw.mst Page 138 55095173 4620 4623 4599 4589 | 4635 BSKEL4 REV B PATCH 00 F 14 ROUTINE DECLARATIONS 18-Har-19gs 16:07:57 18-Mar=-1982 15:44:41 routine S_REM_TBL (BAD_CHIP, ALL_BAD) = 1+4 - ! Functional Description: The remainder table is loaded with all the remaining single cell failures scattered through out this failing chip. These scattered remaining row column f.irs are transfered into the remainder table were they are interigated for the best possible blasting selection. T LA L TR TR TR LR TR T T T LR T TN begin S S Formal Parameters: BAD_CHIP: Points the the failing chip presently ALL_BAD: O e e o e e e e Counts how many all bad rows and columns have been found thus far. If this count chig exceeds a count of 10 for any then that chip is called an all bad chip and a 'condition A’ message is printed. If two all bad chips are discovered in the a 'condition B' message the same bank t is printed and further testing of this array is aborted. Mo IMp_BLST TBL Implicit Outputs: The temporary blast table is loaded with a row or column address selected for blasting. The number of all bad row columns found by this routine is added to the count in all_bad. T Completion codes: - e ee TR IR being pm'ed. Implicit Inputs: e T T T T T T TR L T TRL L L S This global routine searches the remainder table of the remaining row column pairs and determines the best possible choice for blasting. The value of all_bad which indicates how many all bad chips found thus far is returned. Side Effects: none local TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (40) Page 139 SEQ 0174 G 14 | ROUTINE DECLARATIONS LST_REM_ENTRY, el N T T REV B PATCH 00 ~coLS. o u n ) “ROWS FTEN, ROW_MOS FTEN, MO I_REM_TBL ) T T 1e-mar- 1083 1884321 "TM BSKELS LST_REM_ENTRY ZERO; TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL&4.BLI.T1 (40) 'Points to last entry into remainder table Different no. of cols in remainder table 'Differnet no. of rows in remainder table 'Most often found row in remainder table 'Most often found column in remainder table 'Sum of the most often found row in remainder table 'Sum of the most often found column in remainder table 'Init the remainder and copied rem tables 'Last rem entry starts at zero X_TO_REM_TBL (.LST_REM_ENTRY); 'Xfer column count bable to remainder and copied tables LST-REM_ENTRY ' Repeat searching the remainder and copied ! remai nder tables for the best choice of ! blasting until all remaining row/column ; pairs have been selected for blasting. while .LST_REM_ENTRY gtr ZERO do begin 'Search the remainder and copied table until empty 1f the all bad count reaches 10 then this chip is concidered to be all bad ALL_BAD = .ALL_BAD + 1; !Increment the all bad row / column count if .ALL_BAD gtr 9 then '1s the all bad count > 9 R IR R e T T o L End this routine and return the all the tables count else continue searchi blasting. for for the best choice e O T R L L T R T R '+ return .ALL_BAD else Qegin 'Exit and return the count of all bad row/col i Search the remainder and copied remainder tables and find: K Number of different columns found in each. Number of different rows found in each. The column number most often found. ¢ The number of times the most often column number was found. 4. , B The rcw number most often found 6. The number of times the most row number was found. ; DIF_COLS = S_COLUMNS (COI._MST_OFTEN', su_sm. .LST_REM_ENTRY) :Find the columhs different, most Lften and sum DIF_ROWS = S_ROWS (ROW_MOST_OFTEN, ROW_SUM, .LST_REM_ENTRY); 'Find the rows different, most foten and sum i If occurances of unigue row numbers occured Page 140 SEQ 0175 517 K EL4 V B PATCH 00 I 475 T I T T TMPBLSTTBL [.ALL_BAD, NIBONO] = .BAD_CHIP74; 'Load the failing nibble position ROW_PURGE (.ROW_MOST_OF TEN, .ROW_SUM, .LST_REM_ENTRY): !Purgethis row from table 'Rellign the pointer LST_REM_|ENTRY =~.LST_REM_ENTRY - OHSUM; T 4759 4760 4761 LI L 476% 476 4764 else LA TE TETETE LA ( COL _MOST_OFTEN, .COL_SUM, .LST_REM_ENTRY); COL_PURGE LSTREHENTRY=~ .LSTTREM_ENTRY =~.COL_SUM; TR I IR 2;7 4774 4775 INSPASAIAR 233S35ooss elelolelelolelele) L] Soee — D D e e D e i D o cwd wd 811 end; 'Return the number of all bad rows/columns found return .ALL_BAD; 4,780 end; 004167 0000006 162709 000010 004767 173230 004767 175644 3403 57. .SBTTL S.REM.TBL: JSR R =-(SP) : LST.REM.ENTRY 2 4706 4707 4708 ST RO,R2 %, LST.REM.ENTR ENTRY :: LSTREM. 478 INC (SP) s ALL.BAD 4727 4729 CLR CLR 000030 000030 000011 000012 #10,sp 4646 SuB 18: JSR MOV R1,$SAVES ps.i.aen.m PC.X.TO.REM.TBL BLE ; Y Mov cMP (SP) ,R3 R3.A11 MOV (SP)+ R3.RO : 4731 MoV #12,-(SP) 3 4744 BLE TST 2%: S.REM.TBL ROUTINE DECLARATIONS : JSR 10 12746 !Purge column form talbe ‘Realign pointer end; 4776 2;;; 013?% 0 Load the failing nibble position ; VER CZMLCB ADDED '."' TO LST_REM_ENTRY 477 5 Hg TMPBLST_TBL [.ALL_BAD, NIB_NO] = .BAD_CHIP74; 2;28 . 354 end” TMP_BLST_TBL [.ALL_BAD, R_(C] = LR,G !Indicate this is a bad colums 'Load the failing column no. TMPTBLST_TBL L[.ALL_BAD, R_C_NOJ = TCOL_MOST_OF TEN; 4765 6769 S Page 141 SEQ 0176 a bad therowfailing row no. _BLST_TBL [.ALL_BAD, R_CJ= SET -FLG; 'lndicate this is‘Load tlg TMPTBLST_TBL [.ALL BAD. RZC NO = ,ROW_MOST_OFTEN; 475 4758 1098 TOPS=20 Bliss=16 Vv2( 2 2) PA:<NEALE>PMSKL4.BLI.1 (40) 'Are different rows < different columns if .DIF_ROWS leq .DIF_COLS theng 2;;5 005002 00504 1 ! more often then did columns numbers then choose : rows for blasting else pick columns for blasting. 47564 4779 18-Mar-1982 ROUTINE DECLARATIONS 4750 2;21 2;93 -fllr~19ss g BR 6% s ALL.BAD,* BSKEL4 ROUTINE DECLARATIONS REV B PATCH 00 012;‘ aoog ;dd ey ey q § RNS SL4t NN W% 10 177274 ; *.DIF.COLS 000012 OF* TEN, * ROW.MOST. 000012 RO.R 44(SP), (SP) #4,-(SP) ps.atsoxv g}.:z ; *,DIF .ROWS : BAD.CHIP,* L ,R3 #TMP.BLST.TB R1.Ré 3s #100000, (R3) 20(SP) ,RS R R ilggh T (R3) 000017 000020 4757 4758 4759 : ROW.MOST.OFTEN,* 4760 ; LST.REM.ENTRY,* 176406 000024 000024 * ROW.MOST.OFTEN,* : ROW.SUM, = 000024 000017 4754 #7760, (R3) RS, (RS) 177760 177760 ; DIF .ROWS,PIF.COLS RS RS #170017,RS 170017 007760 170017 007760 4759 4757 R 000024 4746 | ; ROW.SUM, : LST.REM.ENTRY,+ 177452 100000 Page 142 SEQ 0177 COL.SUM,* gggd Wi ("] 2 RIRR ) = b AS ol - 1 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (40) : LST.REM.ENTRY,* - = : - o8R8 &~ o INERBERNENS D cond oD cmd D D ) i cd D b cnd e D ced cocd D - d - 1 12:07:57 15:44:41 ; COL.MOST.OFTEN,* 000012 oo p 16 gl 114 13—!&-19 18-Mar=-1982 3s: ROW.SUM,LST.REM.ENTRY 4761 COL.MOST.OFTEN, * 4765 4756 317 17,85 :;7;93§k3) :}; ‘ggsao RO, (R3) % (SP) ,=(SP) 4(SP) ,=(SP) 4767 &N ROUTINE DECLARATIONS §16§¢ 308030 gz gigrs R2.ES§P;¥RGE s GTeet guoco 207 : Routine Size: 118 words flaxinun stack depth per invocation: 48: 5%: 6%: 20 words i P)* 26(3” RO #10,5P PC v2(212) TOPS=-20 Bliss=16 PA:<NEALE>PMSKL4.BLI.1 (40) Page 143 SEQ 0178 = ; LST.REM.ENTRY, AR 1) REV B PATCH 00 3"“?21385 1% TR TATA BSKEL4 COL.SUM,LST.REM.ENTRY ALL.BAD,* 4772 4733 4718 4646 4647| 4646 -Har-19gs g BSKELS 18=Mar-19 REV B PATCH 00 ROUTINE DECLARATIONS : ; ; 4781 2% 478, routine S_COL_CNT_TBL (BAD_CHIP, ALL_BAD) = begin '++ : 4785 | Functional Description: 3 2;33 : map is searched for bad rows. : - 4790 i 3 :3 4792 4793 479 || 10. counts grnser than table for columngreater is found then this is than 3 3 47 47 The column count table stores a count of adjacent failing columns when the error i i This global routine searches the colum count I1f a count of 4791 i called an all | bad column and the temp is loaded with tMs colmns blast table The column count table at this number. all bad column number is then cleared. 3 . 4795 279 : 4798 : lzggt’) : : : 4803 4806 4805 ; : BL COL_CNT_TT TBL.BLS MP. 23?3;” : 4812 3 : : 4799 2% ALL_BAD: o Keeps count of how uny all bod row and or columns 3 : 3 2’3}‘ 4815 23}9 : : 3 6813 481 2 ? ; 4 ; 3 2 : 4 : 4 & it 4 4 4 4 ; are found for this chi R exceeds 10 then this chip ! i chip. : f this count count is called a all bad licvt 1 I 4808 4811 : : : : | Formal Parameters: BAD_CHIP: Poif’\‘t’s a failing chip which is presently being : i 4802 |i : : : | Implicit Outputs: The temporary blast table is loaded with a row or column address selected for blasting. : | The number of all bad row columns found by this routine is added to the count in all_bad. i : i Completion codes: The value of all_bad which indicates how many all bad chips i found thus far is returned. : : side Effects: none i ' ! i ! Search through the column count table and find column numbers which were found bad more than 10 tins. Columns which errored more than 10 times will immediately by chosen ! for blasting. TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (41) Page 144 SEQ 0179 - : 4833 48 r was found ll: 4837 ! See if this column - 4840 3 484 ' If it was then up the all bad count, ! load the temporary blast table with this r and clear this table position ! column ! of this colunn number. 4869 if .COL_CNT_TBL [.COL_NUM] gtr 10 3 : : 3 : in error greater than 8 4841 484 times. : i8es then 'Is this locations count > 10 3 2328 s 4851 ! I1f the all bad count is equal to 485 ! all bad count else load the temp blast 4855 4856 ! ; 3 3 l.gs F. 4854 : : : 3 4857 : 4859 :: 486 486 e 4867 [ : : 33 3 & . 3 : : 2 : : : 'Increment the all bad row/col count _BAD= .ALL_BAD + 1; ALE 2%453 ' 10 then exit this routine with the ! with this column number. !Is the all bad count > 9 if .ALL_BAD gtr 9 4858 then 232(1) else 'Exit and return all bad count return .ALL_BAD column 2 bad number thisbadis column that the tindicate'Load BLsT_1BL [.ALL_BAD.,R_C] = CLR.FLG: Pa8 [COL_NUM; TMPTBLST_TBL L[.ALL_BAD,R_C_NO] = position nibble theoffailing iLoad = Culfilb NIB_NO] [.ALL_BAD, TBL TMPTBLST column bad this table the 'Clear OES. I ZE = l C.COL_RuM COL_CNT_TBL 4864 4865 4866 end; end; 4868 4869 4870 4871 487 487 4874 23;5 ! ' If the all bad count did not reach ' 10 then do a normal exit here with : the present value of all bad count. 487 return .ALL_BAD; 4878 012310 004167 012314 005002 Pa 550951 !Search thru the column table incr COL_M from 0 to .MAX_CHIP_COL - 1 do 3 : TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL&.BLI.1 (41) 3= g:07:57 -1 Har-19ss 15:44:41 -Mar=1982 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS end; end; 0000006 'Exit and return the number of all bad rows/cols .SBTTL S.COL.C NT.TBL ROUTINE DECLARATIONS CLR R1,$SAVE2 R2 S.COL.CNk;BL: : COL.NUM 4781 4834 BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS 012316 12320 012326 001002° 000012 012374 012376 012402 012406 012410 012414 012420 012424 012430 012434 012436 012442 012444 012446 012452 012454 012460 18: R n 2%: Page 146 SEQ 0181 4846 ; ALL.BAD 4849 4857| s ALL.BAD,* | | 4859 PC R 4862 #TMP %st.m.m L(R1) #100g R ; COL.NUM, 4863 ; BAD.CHIP,* 4864 = (COL .NUM) 4865 COL .NUM COL .NUM, = 4834 ALL.BAD,* 4782 4781 #170017,R0 170017 007760 #7760, (R1) ag (R1) 12(SP) ,=(SP) #6,=(SP) 000012 0000006 177760 000017 #17,(R1) RO, (R1) 001002°* 3s: 4$: 040376° 000010 53 words (41) ; *(COL.NUM) R1,R0 i nd : Routine Size: ¢ 2) ,#12 L.CNT.TBL(R TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 2% §§.§§§ 042700 042711 050011 016646 012746 004767 0657 142711 150011 105062 02 00 20; 02026 002722 016600 000207 (3] (SP) 10(SP) ,R1 R1,#11 10 ~ - > PN¥ N = 222992 Q2 o — o b 828820 drd S&S3onS 000453 126227 1 g“b 181 "119 16:07 57 13*3:-1923 1?244 a : : Maximum stack depth per invocation: 5 words COL.CNT. TBL(R2) '(‘sm.(sp)o é.m.cuxp.cou. 13(9).&0 PC N 14 BSKEL4 ROUTINE DECLARATIONS 18=Mar=1982 15:44:41 routine S_ERROR_MAP (BAD_CHIP) = begin +4 ! Functional Description: The error map is loaded with all the failing row numbers at thier failing sector addresses. This global routine searches the error map for occurances of bad rows. when a bad row is found a bad row count is incremented and a bad column count at the adjacent failing column is also incremented. 1f the row count exceeds 10 then this is called an all bad row and the row number is loaded into the temp blast table. The adjacent failing column count is decremented by one. If after searchina the error map the bad row does not exceed 10 then the program goes on to the next row and the failing column count are left alone. Formal Parameters: BAD_CHIP: Points to a failing chip presently being pm'ed. Implicit Inputs: ERROR_MAP, COL_CNT_TBL, COL_PTR, TMP_BLST_TBL e e e e e e TR T T T L T LR LL L T L LRL L R L T Ll L e T R L T LA T PR TRT T T T T REV B PATCH 00 12-Har-19gs 12:07:57 Implicit Outputs: The temporary blast table is loaded with a row or column address selected for blasting. The number of all bad row columns found by this routine is added to the count in all_bad. Completion codes: The value of all_bad which indicates how many all bad chips e e found thus far is returned. The error map is searched for failing rows addresses and they are cleared if set. The column count table is incremented with the number of times column pairs are detected failing. TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) Page 147 SEQ 0182 e e e T T e e T L L L TR TR LR TR TR T T T T T TR S TR TR TRTR T T T B PATCH 00 ROUTINE DECLARATIONS REV 29 1 9 49 49 4935 49 49 49 'c’a'mex iStores the error ug.uord where this row resides error map word where this bit resides iStores the bit i n t !Count of how many bad row found 'Pointer into to the column pointer table !Stores the calculated adjacent failing column number BIT_INDEX, _CNT, 4944 ap_PAIR_LOOP, 4945 4 494 4948 !Selects how many quadrants to test rants to test 'Selects how many QD_NUM SEARCH, QD"OFFSET, START_SEC, enp_SEC, 4949 ALL_BAD; '0ff set use in calculating which quadrant to test 'Starting sector variable 'Ending sector variable !Stores how many all bad chips are found = =1; CNT_TBL (); 'Start all bad at -1 this value gets returned 'Init the column count table 4951 2355 ALL ;_c 4954 4955 ! petermine which type chip this ! is and d=fine this routines run 495 ! 495 495 495 4960 4961 4 4 4 2 5 6%9 4 29 ! time parameters. if .BNK_NUM_SEC eql 127 then in QD_PAIR_LOOP = 0; QD”NUM_SEARCH = 0; 'Is this a 16k chip '16k chips only have one quadrant to test end olsom QD_PAIR_LOOP = 1; n QD_NUM_SEARCH = 1; 164k chips have four quadrants to test end; 237 QD_OFFSET = =2; !Start the offset off at -2 497 incr QD_LOOP from 0 to .QD_PAIR_LOOP do !Loop on two quadrant pairs 4974 29;5 237 SEQ 0183 'Leave loop label 2 'Z& 49 TR Label Llocal WRD_INDEX, 4950 (42) PA:<NEALE>PMSKL4.BLI.1 : Side Effects: ! none o= 49 4940 4941 18-Mar-1982 15:44:41 begin QD_OFFSET = .QD_OFFSET + 2; !Up the offset by two incr ROW_NUM from 0 to 127 do !Search all words in this sector ‘?mx ROW_NUM/16 BITCINDEX = .ROW_NUM mod 16; begin !Calculate which word this row is in iCalculate which bit in word this row is in | BSKEL4 4983 ROUTINE DECLARATIONS Page case .QD_SEARCH from 0 to 3 of set A LR TR LA L TR T TR TR N DR 'Which quadrant are we in 'We are in the first quadrant or just a 16k part ol : begin ROW_CNT = ZERO; PTRTM= =1; R O; L_PT 1_CO sec=b s‘m END_SEC = 1¢7 'Row starts at 0 for the first quad search 'The pointer starts at -1 'Init the column pointer table !'Quad 0 sectors start at 0 'Quad 0 end sector ends at 127 end; : [1] xn 2D SELs 385 end; ST 2l ée = ROaCNT = ZERO; PTR = =-1; Pfi( s‘rmrc=128 END_SE = NOWVS AN =0V Ni NS W gl ot eni el el il il =O 38T wiVviviwviviuaiuvaivi i i ot OO0 O00O0O0O0O0OO0O000 ={=l=l=lolalatolo 5005 = SEC end; : €3] STgRT SEC 384 = tes; END_SEC end; 'We are in quadrant 1 'Quad 1 sectors start at %56 'Quad 1 sectors end at 3 'We are in quadrant 2 IStart the row count at zero 'Reset the pointer 'Init the column pointer table 'Quad 2 sectors start at 128 'Quad 2 sectors end at 255 'We are in quad 3 'Quad 3 sectors start at 384 'Quad 3 sectors end at 511 incr SEC_NUM from .START_SEC to .END_SEC do begin 'Search thru all sectors for this quad if .ERROR_MAP [.SEC_NUM, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] eql 1 then 353‘?»7 = ROW_CNT + 1; 'Up the bad row count if .ROW_ CNT gtr 9 then be in '1s there > then 10 bad rows LL_BAD = .ALL_BAD + 1; 'Up the all bad count 149| SE095184 incr QD_SEARCH from 0 + .QD_OFFSET to .QD_NUM_SEARCH + .QD_OFFSET do 1Search both quadrants in this pair T LRTR L L T T T T L TR L A L R TR e e ee TR IR TOPS-20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (42) begin DR DI T LI AT T REV B PATCH 00 R1 'Is this row bit set —— — e BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 3 3 3 : F- 18°Har-19gs16:07:57 18=-Mar-=19 164:41 TOPS-20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (42) : ; '.‘ALL_BAD gtr 9 !Is there > 10 all bad rows/columns e return .ALL_BAD !'Exit and return the the count ggiz 5037 else 50 5039 : ‘3'82(1) b'eain TMP_BLST_TBL [.ALL_BAD, R_C] = SET_FLG: !'This is a bad row ; soag selectone .SEC_NUM of 3 5045 3 3 set £ 5044 !Find which row number this is [0 to 127, 256 to 383]: : : gg‘:.? 5048 E. ggg : : 5054 gggg 'Decrement the column counts incr index from 0 to .PTR do = .COL_CNT_TBL L.COL_PTR [.index]] - 1; index]] L. CoL_CNT_TBL [.COL_PTR : 5057 gggg 5060 then 5062 else : 3 : - : s TMPBLST 78L [.ALL BAD. R_C_NOJ = .ROW_NUM; [128 to 255, 384 to 511): TMPBLST T8L [.ALL BAD. R_C_NO] = .ROW_NUM + 128; 5049 TMP_BLST_TBL [.ALL_BAD, NIB_NOJ = .BAD_CHIP/4; if .QD_PAIR_LOOP oql 0 5061 5063 !Find which nibble its in !Clear the quad of this roww d incr CLR_SEC_ROW from 0 to 127 ERRflMAP L. CLR_SEC_ROW, .WD INDEX, .BIT_INDEX, ONE, ZERO]= CLR_FLG if .QD_SEARCH leg 1 - 5064 : 5066 3 5068 incr CLR SEC R?U from 0 to 127 do ; 2 5072 5073 5074 incr CLR_SEC aou fm 256 to 383 do _SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] = ERROR MAP[ CL_FLG; . . 5077 28; - 3 2 3 : : : : then 5065 5067 begin ROR_MAP CLR_FLG; 5069 28;? 5075 5076 5080 583} Page 150 | SEQ 0185 . ' else CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] = end begin mcr cua SEC ngu from 128 to 255 do HAP CLR CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] = Rgu from 384 to 511 do incr CLR eE(: CLR CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] 1 « !,, pa— BSKEL4 18 ROUTINE DECLARATIONS 5087 5088 5089 IO $3%% 509 509 BRI E ERNR ORI NS SRV, SO BB IR32522233 5095 18:04:21 85 16:07:57 s T0PS=20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (42) end; :eave A; 3091 vivaiwvaiwviwnawVi i ViV D e oD ) D wnd D ) D e D cond wncd e e d e d D d d ed D e D cnd D cd D comd wd b bt ad e = d R R R A R T R TR TR A T T T L T L L L TR L T L L L L PRLA T AL AL E TRLR LA TR TR LR P T T T REV C FATCH 00 E 15 18-Mar-1982 -Mar=19 nd; else !Leave the Loop and do the next row number end begin solectgne SEC_NUM of se 'Increment the adjacent column count table [h to 127] : befin COL_INDEX = .ROW_NUM + ,SEC_NUM; if .COL_INDEX geq 128 then COL_INDEX = .COL_INDEX - 128; end; [128 to 255] : batin COL_INDEX = .ROW_NUM + (.SEC_NUM - 128); if .COL_INDEX geq 128 then COL_INDEX = .COL_INDEX - 128; end; [256 to'gOSJ : gfif,xuoex = .ROW_NUM + (.SEC_NUM - 128); if .COL_INDEX geq 256 then COL_INDEX = .COL_INDEX - 128; end; [384 to 5111 : bstin COL_INDEX = .ROW_NUM + (.SEC_NUM - 256); if .COL_INDEX geq 256 then COL_INDEX = .COL_INDEX - 128; tes; end; COL_CNT_TBL [.COL_INDEX] = .COL_CNT_TBL [.COL_INDEX] + 1; PTR"= .PIR + 1; COL_PTR [.PTR] = .COL_INDEX; end; end; Page 151 SEQ 0186 - SOoHN gu“umg“ RN RN SR 3N NN il =S . - end; end; end; return .ALL_BAD; end; .SBTTL o0t 000010 172454 - s end; 0000006 =3 : &SHo &SN ROUTINE DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) 040416° 000177 000022 000030 00000} 000022 S.ERROR.MAP JSR suB MOV JSR CMP BNE CLR CLR 1$: 1 79976 000020 2%: 000020 3s: 000026 00150, 00000 0000 000020 o, 4$: Pc.i.cm..cm.r% *,ALL.BAD BNK . NUM. SEC,#17 QD.PAIR.LOOP QD .NUM. SEARCH *,QD.PAIR.LOOP *,QD .NUM. SEARCH *,0D.0FFSET @D.LOOP *,QD.OFFSET * QD .NUM, SEARCH, ROW.NUM .NUM, s *,BIT.INDEX : QD.OFFSET,QD.SEARCH : QD.SEARCH 000012 012670* #32,5P #-1.10(sP) . INDEX ,WRD OW.NUM,= 20 0013 000006 R1 2SSA\IES QD.OFFSET,* 000016 000012 i 40 S.ERROR.MAP ROUTINE DECLARATIONS L2 OVBNOWVSWN=O 0 ViV WAL v ek DEBRRNRRN NNW ncV B PATCH 00 F 15 1g-lar-19 18-Mar-19 —t BSK:L4 5%: 6$: ; QD.SEARCH,* Page 152 SEQ 0187 (SP) 1 7T -5%(’55‘"""' MOV 3"2" R vc-.(Lw JSR MOV 3"2” u§9.5 (SP) (SP) fis 32(SP) #-1,10(SP) PC,i.COL.PTR .§§(SP) o§9 377, (SP) LA : 000400 oooo%o 000022 §}1 gé 31127667§§ ooos99 000010 3‘1’29“ 1“7’970;; m oowg? 3} 172246 012762 000022 012766 012766 oo%igg 000020 8} % 01 7& 000 8s: §3° . %3999 0000 . §isn§ 000022 §3301f 118: Eg{' ’s (s ?.ag(SP) - 01 01 00002 012766 o000 901130 013053 013034 006 - : 108: 128: 88 8}3062 %?952 000001 1”% 67 0000006 706 000010 31 76 g g 0000 §i hg A ; oooo§5 000011 000654 31 123 8} } 030346° ;33 ' °°°°oooo}2 000011 §%§%§§ 709 °°°°°°oo11zs 3} 323 8i i?sé ‘8)?5' 000016 il 013176 ROW,CNT R0M:k B ::P e END.SEC :: =,,TART.SEC ; 3 gzen“ec.ssc.u 5018 : « END.SEC : BIT.INDEX,* a?g ST 38 }ggsn.m zgisp '1'2(9).“ 16(SP) mr. SI'.JSL.RI. s RS A BLE 1?5 5002 2333 5017 m JSR PC,BLSGT2 #10,spP ADD 5 NC (SP) ;‘gsm.m ;ag; NC 1 : «,START.SEC ; WRD.INDEX,* JMP | §9% 2332 | 4993 5008 wsm.ao :smn.m.ao -(SP) 14(SP) ,=(SP) gw;sfl SEQX 0188 : %, PTR :B; «,START,SEC *,END.SEC g{ RO Page 153 * ROW.CNT 3 RSRO ng - ;cfé' cg 158: :g{ 148: s 99 (SP) PA: <NEALE>PMSKL4.BLI.1 (42) JMP Wy ASL ADD MOV MOV 010230° 013050 062 013056 010046 013056 016646 000014 167 MOV ML 506300 013020 3}”‘ 000014 131 & TOPS=20 Bliss=16 v2(212) Qe 5 ; SEC.NUM, 5009 5010 5011 zgg 5022 5025 : ROW.CNT : ROW.CNT,+ 5028 5030 | ALL.BAD :: ALL.BAD,* : : ALL.BAD,* 5033 ; SEC.NUM 5042 secoun.s 5035 5037 5040 —— R I " 'c’fg 000010 999975 093%8 8}§382 31; 17 004739 012712 i 16:07:57 1anar-1988 ~Mar=19 18:%.:4 S -REVp BY PATCH 00 ROUTINE DECLARATIONS G 15 18-Mar=1982 H 205§7 00 i 000400 000200 =1 1 g{ 7 000377 02052 617 527 000600 14 ~NO ot w—d 222 RR r Y 32 L2 =823 8%32533gt 010 L8 3 18-nar-1983 183842 ROUTINE DECLARATIONS i 000577 i 4 2828 W 28 2 SoN 168%: 000200 17%: 188: 198: 208: 218: 22%: 5046| gg‘czoo SEC.NUM, * 5042| gsgpsrr SEC.NUM, 21§ gg‘peoo gg‘»rrr ROW.NUM, * 5049 BAD.CHIP,* 5052 INDEX 5054 R R : #7760, (R4) R2, (R4) 56(SP) ,=(SP) #6,-(SP) R . (R&) 23s: gas Sgt.PtR(RZ).Rk g ,COL.CNT.TBL(R4) 248: 000034 ,* * (INDEX) 5055 INDEX INDEX,PTR 5054 QD.PAIR.LOOP 5057 R4 R4 ,RO RO CLR.SEC.ROW CLR.SEC.ROW, * 5060 5061 20(SP) ,RO WRD. INDEX,* R2,14(SP) g‘(SP) 268 25%: 000020 SEC.NUM,* R3,R2 001002° 16646 SEC.NUM, * #200,R2 .RO COL.CNT.TBL(R4) 010230* ; SEC.NUM,* ; ROW.NUM,* 001002° 000020 ; SEC.NUM, * L #127760,R0 #17, (R4S 000017 000014 Page 154 | SEQ 0189 PC.BLSDIV 179960 002222° TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) #170017.R2 170017 007760 000056 000004 gs‘xaoo ?2‘0577 ASIR2 000777 8 01 15 te b BSKEL4 REV B PATCH 00 i R0 RROR .MAP RO ‘§.-(SP) 20(SP) ,=(SP) * BIT.INDEX, BSKEL4 REV B PATCH 00 115 1 -Har-19g$ 12:07:57 18-Mar-1982 ROUTINE DECLARATIONS MOV CLR JSR 013424 012746 000001 ooig&g 004767 0000006 01 0134 01 01344 01 013450 013452 8} 54 01 01 0 01347 013474 01 553 01 o1gso¢ 01351 01351 013223 013524 0135 81 5 1 g‘ 81 13544 01 ssg 01355 013554 1 gzs 1 13564 1 sgg 135 13574 1 ]1 1 } 11 1 1 000177 000012 000001 1 13650 268: 278: 000020 010230° 888850 gg; CLR ASL ASL ASL ADD ASL ADD MOV MOV MOV ADD W 000177 000400 INC CMP BLE B8R L JSR g INC 288: 000020 010230° 000020 000001 (MP BLE MOV MOV ASL ASL ASL ADD ASL ADD MOV MOV MOV 8883?8‘ 8 ADD INC 000200 BR MOV 000577 1 1 ADD 000010 gfiv gos: 0$: MOV ASL ASL 000020 ASL ADD ASL #1,~(SP) PC,BLSPU2 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) Page 155 SEQ 0190 -($P) #id,sP | RG R& #177 ;: CLR.SEC.ROW CLR.SEC.ROW,* 5 (sP) .M : QD.SEARCH,* isi $ Ré& R4 RO RO R R 20(SP) ,RO RO #ERROR .MAP RO RO,=(SP) 20(SP) ,=(SP) g PC,BLSPU2 #10,sP Ré R4, #177 278 #400,R4 R4 ,RO RO R (SP) ,RO RO RROR.MAP,RO -(SP) (sP) ,=(sP) ,-(5P) e #10,sP RG | 5060| : 5057 ; CLR.SEC.ROW 5068 5069 : CLR.SEC.ROW,* 5064 : WRD.INDEX,* ; BIT.INDEX,* ; CLR.SEC.ROW * CLR.SEC.ROW,* : *,CLR.SEC.ROW ¢ CLR.SEC.ROW,* 5068 5072 5073 : WRD.INDEX,* : BIT.INDEX,* RG #577 : CLR.SEC.ROW * CLR.SEC.ROW,* 5072 R4, RO : CLR.SEC.ROW,* 5081 ?oo #200,R4 RO RO %3‘5”’“0 . ;* »,CLR.SEC.ROW : WRD.INDEX,* 5064 5080 J 15 BSKEL4 REV B8 PATCH 00 ROUTINE DECLARATIONS 013652 010230° 062700 013656 010046 16646 %350 01 1 012746 01 013670 00 049 ooooogc 013672 0047 00001 013676 o(%? mgroz 00 013704 8504. 7 000377 003751 013710 013712 0127064 000600 013716 010400 01 013722 013724 og? 813734 013740 013742 013746 013752 013754 013760 013764 01 793 01 013774 013776 g} 006300 006300 006300 oosm 014012 014014 010501 301 0140 1 14 14 1 1 14054 %}%% 1 01407 31$: 000020 01 1394.6 88%0 1 012746 005 004767 0000006 000010 062706 §7 000777 3751 022 00051 7 uss; 14 ADD 338: 000177 414 527 000377 D11 8835% 000400 000577 ASL ASL RO RO MOV MOV ASL MOV MOV MOV CLR JSR ADD INC CMP BLE (WP BR ;fl aasu; 34s: 358: Sfi B8R CMP : CLR.SEC.ROW,* *,CLR.SEC.ROW CLR.SEC.ROW,* : CLR.SEC.ROW * CLR.SEC.ROW,* : : SEC.NUM '3'2!"" ; SEC.NUM,* OL . INDEX : SEC.NUM,C M, COL . INDEX : ROW.NU R1,#200 g‘noo RS, 4577 5084 5085 ; BIT.INDEX,* 52‘ 3 ag 377 35§ RS.R% ‘R4 R4 .R1 #200,R1 gknéoo 5080 : WRD.INDEX,* Rg.-(sp) 20(SP) ,=(SP) #1,-(5P) -($P) PC,BLSPU2 #10,sP RG RG N777 31 (SP)+, (SP)+ 418 RS, #200 BLT cMP BGT MOV ADD MOV SUB sc{'r‘ ; CLR.SEC.ROW #ERROR . MAP ,RO y (WP Page 156 SEQ 0191 | 58‘5”'“ :g.m Rl TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) :; BIT.INDEX,* #600,R4 R& RO RO MOV ADD cMP 1§7 000200 i 527 000200 RO, =(SP) 20(sP) ,=(SP) #1,-(SP) -($P) PC,BLSPU2 #10,sP A R& 30$4377 ADD 328: #ERROR . MAP, RO MOV MOV MOV CLR JSR ADD INC (MP BLE :g{ 700 010230° 8}‘43?‘ ou.mg 13-:4»-1935 12:0757 18-Mar=1982 15:44:41 : 5084 5090 5097 5102 * COL.INDEX,* 5104 ; SEC.NUM,* 5097 : SEC.NUM,* : SEC.NUM,* * ROW.NUM,* * «,COL. INDEX : =.COL.INDEX + COL.INDEX,* : SEC.NUM,* : SEC.NUM,* 5110 5112 5097 , BSKEL4 REV B PATCH 00 014156 014162 01619% 0141 014176 992222222222 4 4 4 4 DRSS IIDEIIDS o 000200 000400 5120| 000777 SEC.NUM,* ROW. NUM, * L . INDEX *,CO OL . INDEX *.C 000400 000400 COL. INDEX, * 378: 388: 1005' g 00001 10 002222* 39%: 09036 000020 300; 16 005266 5097 | 36%: 176614 000006 000006 #200,R1 COL.CNT.TBL(RT) 10(SP) 10(SP) ,R4 g}.COL.PTR(R&) RS5,20(SP) 4 000024 176420 000006 408: 176322 %6 000022 ; Routine Size: 459 words : Maximum stack depth per invocation: 6(SP) 6(SP) ,24(SP) gli 418: OL . INDEX *,C . INDEX) * (COL PTR PTR,* COL . INDEX,* SEC.NUM SEC.NUM,END.SEC 42%: 438: 448: 28 words 5126 5128 5133 5134 5135 5022 : QD.SEARCH 4984 ; ROW.NUM 4978 4977 : QD.SEARCH,* ; ROW.NUM,* 000177 NN 014 RS RRERSN S 01450 010401 162701 127 002421 000419 02052 415 020527 003012 010504 060304 010401 162701 80 127 %602 162701 105261 5 1 1101 Page 157 SEQ 0192 5118 LTATAIATATA LA 1} 14150 14154 8 15104121 003011 10 ("] 014122 014126 0141 0141 0141 014140 014142 014144 ROUTINE DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) pary 014076 01610% 01410 014104 014103 01411 014116 0141 K 15 lg-flar-19 18-Mar-19 aD.LOOP QD.LOOP,GD.PAIR.LOOP s ALL.BAD,* 4973 4880 4879 -— oo NNNNNNNN 18=-Mar=-19 :41 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (43) Page 158 SEQ 0193 routine S_CHIP_TBL (START) = begin 44 Functional Description: This global routino SQarchcs tho badship table ch ps. looking for fai ng U en a fa number is fai chip is found the failing found is chip no If returned. then a =1 is returned. Fornal Parameters: START: Indicates where to start searching in the bad chip table ln?uts luplicit llplicrt Outputs: none Conpletion codes: The number of the next failing chip to be PM'ed is returned or a =1 is returned if no fadling chips remain in this bank to be tested. Sido Effects: none w that chip number else return a -1 to indicate that all the failing ch1ps have been PM'ed !Search thru the chip table incr TBL_INDEX from .START to 38 do if .CHIP_TBL [.TBL_INDEX, FAULT] then return .TBL_INDEX: 'Exit and return =1 if no chip faults are detected S.CHIP.TBL ROUTINE DECLARATIONS MOv R1,-(SP) MOV 4(5P),RO : : START,TBL.INDEX ] .SBTTL S.CHIP.TBL: b return -1; 000004 'Exit and return ndex ow 014312 016600 is found then return to thc caller — 014310 010146 Search thechig table and ffnd the next fail ip to PM f one Vi VAILVAVAIWIVAWIALA T T LR LR L E T LR LR E LR L L T O S-flar-19ss g 157 ROUTINE DECLARATIONS W 2333%3&d3332223;323&&333333§33333232$3£332£23 b N W BSKEL4 REV B PATCH 00 -Har-19 18-Mar-19 ROUTINE DECLARATIONS 012601 000207 ; Routine Size: 18 words : Maximum stack depth per invocation: Page 159 SEQ 0194 ; TBL.INDEX ; TBL.INDEX,* 5193 ; TBL.INDEX 5191 | §HIP.TBL(R1) 2%: RO RO, 446 18’ 3s: 2 words #-1,R0 (gph R1 s 1BL.INDEX,* ed 014344 014350 014352 a3 R TOPS-20 Bliss=16 va( 2 2) PA:<NEALE>PMSKL4.BLI.1 (43) o 01433% Qosrer 02002 6 01433 012700 177777 1%: :57 v - s e 016 % °§8 014 00? 61 030230° 014316 352 161 Vv BSKEL4 REV B PATCH 00 N 15 BSKEL4 18-Mar-1982 1B Rarc1988 16:07:57 19:00:21 REV B PATCH 00 ROUTINE DECLARATIONS §197 i ! Functional Description: In order to perform Prom Maintenance on an array module the old prom data stored in the tested arr:, must be read and saved into the error map where the new prom data found by this program can be OR'ed with it. 382 : thiseglobal routine will read the old prom data in prom on the tested array into stored the error map. Formal Parameters: i NN ARRSBNK _SEL : N e Stores the array and bank seiect address. Implicit Inputs: ERRORS:AP. RET_STATUS e B - B Implicit Outputs: The error isr d to Look exactly like the blast table and the old prom data in this tested array is read into it. iy y Conblotion codes: none Side Effects: | w !Svores the built prom address LY .%'g - 3 = (=] [ oen i none !Incr loop ending variable To conserve memory space the ML-11 exercisers write and read buffers are redefined tg 30 a contigious blockvector of & blocks of 512 words ma g ERROR_MAP : blockvector [4, 512] volatile: - ! ! ! ! -t N BESSSS ONO NS W=D o i e Y P O T R i norononsnannonnN T T L T +* - T T T T T T O T T T T T i e T begin f+4 e R i N A A I 5198 routine RD_OLD_PROM_DATA (ARRSBNK_SEL) : novalue = TOPS=20 Bliss=16 v2(212) PR SNEALESPRRKLG.BLIST (44) each. This map declaration maps the exercisers ! 170 buffers into this structure. i pefine how many ! out of the on rows and column to read board UV proms. - !Map the error_map the same as the blast table Page 160 SEQ 0195 | [RLY @ T AW VWV g 51 E; '+ 5261 ! location. 5 Ss 525 5260 PROM_ADRS = ZEROES: iClear ADRS<10, 1> = ZERO; PROM_ADRS<8, 2> = .SEL.QK: 5269 '+ 527 ! location. NN R W W Ty % 1 incr nog_mn from 0 to .FINISH do n ADRS<0, 8> = .ROW_NUM; WRT RH (MLPA, PA_REG, .PROM_ADRS); 5 g DELAY (ONE_US); !Select the loops ending !Select the array 'Read prom data for all four banks on this array 'The first lLoop reads row prom data 'Select the pgpm bank pos?tion 'Read out all the prom row data !Scscct the row address iWrite the address to the mipa reg .Ua}t for prom data to clock into mlpd ERROR_MAP T[.SEL_BNK, .ROW_NUM, FULL_WRD] = .ML_ADDR [MLPD, PD_REG]. 'Put the prom data into the error map e 81 “ L PROM_ADRS<10, 1> = ONE; !This loop will read out the prom column data ' ! Within this bank of the on board proms ! read all column prom data and store it into the NN = ® ! Wwithin this bank of the on board proms ! read all row prom data and store it into the ! error map at its respective error map 5278 ii WG ! Read all old prom data stored in the on board ! proms and store the prom data in the ! error map at its respective error map g%gz 85 $YawwrwTwwTww PROM_ADRS<11, 4> = .ARRSBNK_SEL<.ARR_SEL_POS, ARRSSS!._SIZE>; 5 3578 § ;9 ATy reads !Enable thepromprom address . g 6; incr SE%EBK from 0 to 3 do 5270 5271 b 7; Vieawv if .BNK_NUM_SEC eql 127 then FINISH = 127 else FINISH = 255; 525 g g; v H RD_PROM iV I T VARSLWIWWRT a e g gg 54 T A A R R T L T T TR T T LR T O O e O L L T L N L T 5249 5250 MYV T AT ; frrort'i::p at its respective error map ! .- location. incr COIi.,Mll from 0 to .FINISH do n ADRS<0, 8> = .COL_NUM; WRT_RH (MLPA, PA_REG, .PROM_ADRS); DELAY (ONE_US); 'Read out all the prom column data !Select the column address !Write the address to the mlpa reg iait for prom data to clock into ml ERROR_MAP T[.SEL_BNK, .COL_NUM + .COL_BASE, FULL_WRD] = .ML_ADDR [MLPD, PD_REG]; TLoad the efror map with the prom data BSKEL4 REV B PATCH 00 5301 1a-nar-1935 12:44:41 PA:<NEALE>PMSKL4.BLI.1 (44) ROUTINE DECLARATIONS 18-Mar-1982 16:07:57 TOPS=20 Bliss=16 v2(212) Page 162 SEQ 0197 end; end; !Clear out the prom read mode ckg,mus: ena; RD.OLD.PROM.DAT ROUTINE DECLARATIONS JSR #22,SP R1,$SAVES : 5197 5251 040416* 000177 gzg ?rs«.nm.ssc.mr : 000177 angv 5}77. (SP) : #,FINISH 24mn1o(sp> :* *,ML.REG %.MLREG 1$: 000377 28: 040374° 000016 000024 000040 040374 " 100024 000042 0460412° 000004 0000006 : - 0377 <sp) MOV MOV CLR MOV ADD MOV MOV CLR JSR #40,R0° "3.ADDR,R1 24(RT) R2 #42,~(SP) SP, (SP) ARR. SEL .POS,=(SP) #4,-(SP) -($P) PC,BLSGT2 MOV MOV MOV BIC BIC 074000 176377 MOV SWAB ASL ASL ASL 103777 »H .SBTTL suB 000022 wy A LSDLY RD.OLD.PROM.DAT: 0000006 RRARRARRNNDN Hn .GLOBL _ 38: CLR nsuaxa BIC BIC 003400 #103777.R0 #74000,R2 ns Ré 0176377 RG og.né BIS Rlo R SWAB CLRB ASL RO RO RO MOV CLR 48: RO RO RO RO BR CLRB : *,FINISH :* MLREG,* PROM.ADRS : * ARRSBNK.SEL,* ; *,PROM.ADRS :+ SEL.BNK * SEL.BNK,* *,PROM.ADRS «.PROM. ADRS RS.RO + SEL.BNK,* 5281 RG : ROW.NUM 5276 R2 : PROM.ADRS 5278 9s R4 ,R2 ML .ADDR,R1 20 000024 80326 0000006 000030 5%: 8$: SS¥R3SREERYeR SRILICER=R ol mmd aead s &2 e N o - o 2888888238 ASY =3 AU =2 ON =2 N -- 16 p= Vool at at r ¥ 8 BREDDDIEDS g22PRSI IRRRARERE 2822222 IASIIS et OO000O00—= 040374 000046 000022 000022 010230°" 000010 9$: 13$ R R2 * ROW.NUM,* * ,ML.REG ML .REG,* ROW.NUM ROW.NUM,F INISH ; *,PROM.ADRS ; COL.NUM PROM.ADRS COL .NUM,PROM.ADRS *,ML.REG PROM.ADRS ,MLREG s MLREG,* : «, $STMP2 118: 5276 5285 5294 5296 5297 5298 : SSTMP : SSTMPY 11 R3,R4 COL .BASE .R4 RO.R4 R4 H%.ADDR R1 46(R1),16(sP) ;§($P).ERROR.HAP(R4) 15%: 5281 *, $STMP1 12¢: 14$: 5280 $$TMP2 R4, 10(SP) 48 5279 : $STMP .ADDR,R1 2 (R1),20(SP) 040374° 000046 000016 000016 010230° 000010 R3 gb.ADDR R1 13s: 040372° R&,R3 z;ooo.nz 040374° 000020 000020 000030 ~ SEQ 0198 ; $STMPI %‘(SP>.ERROR.HAP(RS) 108: 0000006 *,$$TMP2 46(R1),22(SP) 002000 040374"° 000020 000001 +, $$TMP1 63 R3 5% RO,R3 Page 163 PROM.ADRS ,MLREG 8s 5§0Lv.a1 R1 7%: * ML.REG MLREG, * 30(SP) 6$: ROW.NUM,PROM.ADRS R .zg(ni) #1.R TRTE I} 040374* 000020 000001 20(R1),24(SP) R2,R3 H%.ADDR R1 LR TR T8 T ROUTINE DECLARATIONS TOPS-20 Bliss=1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (44) TR 014542 014544 1 -a 1219 16:07 57 lg-n::-19gs 12244 a1 LA BSKEL4 REV B PATCH 00 R3,10(SP) $STMP2 COL -“!. 5299 *,ML.REG ML .REG,* COL .NUM 5294 COL .NUM,F INISH E 16 18-Kar=19 18-Mar-19 ROUTINE DECLARATIONS 8 18100121 TOPS=20 Bliss~1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (44) ;2‘ M~ VN= Ed IR 000012 ; Routine Size: 180 words . : Maximum stack depth per invocation: 19 words Page 164 SEQ 0199 5264| 5303 | H M0 000014 OO 10 =RORR—=RNDD o dnin o BSKEL4 REV B PATCH 00 ; *,ML.REG ; ML.REG,MLREG ; *,MLREG ; *,MLREG MLREG,* 5197 5307 RRRRRRRRRR o SO O &ugRug\”\i O DN N BN N 0 2O T T AT T T T TR T T T AT AT T IV ViAW IVAWLYWVIWVTWA AT U N U N NN N N NN N N N N NN W NN N NN NN N NN W NN PNINININININININD = wd ed ed d e cd e W vl iAW ~ CoO~NONWY S W =000~ SUNN=O TR TR R T L T L T T T TR T TT T e e . . BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 12:44:41 1g-fllr-1985 16:07:57 18-Mar-1982 TOPS=-20 Bliss=16 v2(212) L4.BLI.1 (45) PA:<NEALE>PMSK routine OR_OLD_NEW_PD (BNK_NUM) : novalue = begin 144 | Functional Description: ' ARRSBNK _SEL : i Once the nibble offsets have been counted and i offsets > 14 do not exist then the i old Rron data stored in the error map i at this bank is OR'ed into the blast i table where the check sums can then be calculated. i i Formal Parameters: i i Stores array and bank select address. ! Implicit Inputs: BLAST_TBL, ERRGCR_MAP : ; Implicit Outputs: The old prom data in the error map is OR'ed into their respective blast table locations. ] [ i Completion codes: ! none ! ! ! Side Effects: none |- I ! To conserve memory space the ML-11 exercisers ! write and read buffers are redefined tg 3 ! contigious blockvector of 4 blocks of 512 words This map declaration maps the exercisers ! each. ; 170 buffers into this structure. ma . ERROR_MAP : blockvector [4, 512] volatile; !Map the error map like the blast tasble '+ ! Logically 'OR' all non zero blast table locations ; with respective error map locations. incrbgg; from 0 to .MAX_CHIP_COL*2 = 1 do 1 n !Or all non zero blast table locations i Logical "OR' this blast table Location with ; its error map counter part if it is non zero. BSKEL4 REV B PATCH 00 18-Mar-19 ROUTINE DECLARATIONS Y T i;.BLAST_TBL [.BNK_NUM, .CNT, FULL_WRD] neq ZERO TOPS-20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (45) Page 166 SEQ 0201 !Is this location not zero BLAST TBL [.BNK_NUM, .CNT, FULL_WRD] = .BLAST_TBL L[.BNK_NUM, .CNT, FULL_WRD] or .ERROR_MAP [ N -BNK_NUM, .TNT, FULL URDJ 10r this Tocation with adjacent error map locationTM LR LR end; end; — JSR MoV ASL MoV SWAB CLRB 040376" 000014 §§§§§§§ 28885828 .SBTTL OR.OLD.NEW.PD: ASL CLR 18: 010230" 030372° 015206 015210 : Routine Size: MoV OR.OLD.NEW.PD ROUTINE DECLARATIONS HQX.CHIP.COL,Ré ; BNK.NUM,* 5359 R1 ; CNT 5352 RO, R3 R1.RZ : CNT,» 14(SP) RO PO Y 27 words 5359 #BLAST.TBL,R2 R3,R2 $s: o S?ROR.HAP(RB).BLAST.TBL(RS) R1.R4 1$ PC Haxinun stack depth per invocation: 5307 5352 R1,$SAVES R3’ 030372°* 015702 060 NS ) - 29222g2222222 ViAW vivvuiaivaivavuan iz R EEANR T 383NSERSFRSERS 0000006 000 e S words * CNT s CNT,x 5361 5352 5307 | BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS : 5367 routine BIT_CLR_OLD_NEW (BNK_NUM) : novalue = H W16 134‘"-1935 16:07:57 12:“:61 18-Mar-1982 5368 5369 5370 5371 5372 5373 5374 32 gg;g ! ! ! ! ; When a failing chip is searched for newly failing rows and columns there is always the possibility that old bad rows or columns may also fail. In fact we hope they do so to give us a performancd history of the chip. . : 3 3 5378 5379 5380 ggg% ! ! ! These failing rows and columns if an{ must be clear out from the blast table to allow the counting of bad nibble off- s 3 5383 gggg ! ; This ?lobal routine bit clears the error map with the blast table at the selected bank. s 3 3 5386 5387 gggg ' Formal Parameters: : BNK ! : 5390 ! Implicit Inputs: : 5393 ! Implicit Outputs: : 5395 ! 2 : H : s s : : F. 3 : 3 3 : 3 3 F g§g1 539 5396 5397 5398 539 54)0 5401 540z 5403 5404 5405 5406 5407 5408 22?8 5411 !++ ! Functional Description: Selected bank number for bit clearing. ; ERROR_MAP, BLAST_TBL : ! The blast table is cleared of old prom data occurances. ! ! Completion codes: none ! ! ! Side Effects: none ! !'=- '+ ! To _conserve memory space the ML-11 exercisers ! ! ! ; % write and read buffers are redefined tg contigious blockvector of 4 blocks of 512 words each. This map declaration maps the exercisers 170 buffers into this structure. 561§ map : 5415 '+ : 3 gfi}‘ 5419 gz%a 1 sets. ; : 3 P 167 55898203 begin : 3 3 3 3 : 3 3 3 TOPS=20 Bliss=16 v2(212) PA:(NEALDPHSKL‘.BEIJ (46) ERROR_MAP : blockvector [4, 512] volatile; ! Bit clear all blast table locations with their ; error map counter parts. ; !Map the error map like the blast table BSKEL4 REV B PATCH 00 e W o $22 gs3828% § =8 o0 S22 22 &3 ROUTINE DECLARATIONS incr CNT from 0 to .MAX_CHIP_COL*2 - 1 do »H > Y i o SEG 0203 Page 168| 'Bit clear blast table with error map at this bank ; end; 0000006 .SBTTL BIT.CLR.OLD.NEW ROUTINE DECLARATIONS JSR MoV ASL MOV R1,$SAVE3 ng.CHIP.COL ,R3 BIT.CLR.OLD.NEW: 040376° 000012 ;Z(SP).RO 5367 5420 BNK.NUM,* 5422 CNT 5420 R 1$: 5 046325 010230' 030372°* RO R1 2% RO.R2 35.82 S?ROR.HAP(RZ).BLAST.TBL(RZ) 2$: R1,R3 1$ PC : Routine Size: R ENEALEPRERL S B 11 6 T0PS-20 Bliss=16 V2(212) PA:<NEALE>PMSKL4.BLI. [.BNK_NUM, .CNT, F gLL_HRDJ = ( not .ERROR_MAP [.BNK_NUM, .CNT, FULL_WRD]) and .BLAST_TBL [ RST TBLNUM, BNK_NUM .ONT, FULL_WRD = end - L3S 2 015216 o 015212 -~ Vi SN ’{;‘\ IV VIS NN =O TR IR T 5419 54 e 18 22 words Haxinum stack depth per invocation: 4 words L CONT,* CNT = CNT 5422 5420 5367 BSKEL D00~ 18-Mar=-1982 routgzeilN_BLASY_TBL (ARRSBNK_SEL, TSTED_BNK) : novalue = gin 44 ] i i i i i i i i Functional Description: This global routine first clears the blast table of any old bad row or column data that might been found during the searching for new have failing rows and columns. The selected bank is then searched to see if ?ny additional failing rows or columns were ! [} i i i [ i i 1f no additional failing row columns were found then the bank is not further tested. If additional failing row or columns were found then the blast table and the error map is search for nibble offset > 14. [} i Formal Parameters: i ARRSBNK _SEL : i Stores array and bank select address i ! ! TSTED_BNK: Indicates how many banks per array module : i ! ! ! ! ! is to be pm'ed. Implicit Inputs: ERROR_MAP, BLAST_TBL, BAD_BNK_REG, DEGRADE_MOD_REG Implicit Outputs: 1. I1f nibble offsets exceed 14 then bad row or column address in the blast table are cleared until nibble offsets equal 14. ! ] i ] 2. A banks bad bank register bit is set if the bank has additional error to mask. ! 3. A banks degrage mode register bit is set if than 14 are detected. i 1 none LA TRR T T s e T T SEIS Vlrw—' VWA VIWAWIVIWVIVWWALIAA N BB o~ ROUTINE DECLARATIONS T A L A T PR TR PRTR A TRT TR T PR TR T DA L TR TN R T TN T T T T T L e T T e . |REV B PATCH 00 J 16 18-Mar-19 s 16:07:57 i nibble offsets greater ! ' ! Completion codes: ) i ! Side Effects: none local 15:44:41 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) Page 169 SEQ 0204 K 16 BSKEL4 18-Mar-1982 1Bhars1o8s 16:07:57 18: %00 REV B PATCH 00 ROUTINE DECLARATIONS : : 3 2 3 3 3 3 : 2 3 : 5481 548 QD_27SUM, QD 3 _SUM 'Quadrant 2 offset sum = sectors !Quadrant 3 offset sum = sg ;ors ROW_128_255_ COL_0_127_OFF, COL_128_255_OFF, BNK_NUM, ARR_NUM, OVER_FLOW; '0ffset count for rows 128-255 !0ffset count for columns -157 10ffset count for column 128-255 !Stores bank selector !Stores array selector !Stores offset counts which are > 14 '0ffsets count for rows 0= % rROQ_O 127 _OFF, OFF, 548 5484 5485 5486 5487 5488 gzgg 5491 !Quadrant 0 offset sum = sectors (=127 'Quadrant 1 offset sum = sectors 1 8-;55 QD_0_Sum, QD_1_Sum, 5479 5480 TOPS=20 Bliss=16 v2(212) PR eneaLEsemexLe. M1l 256-383 84=511 '+ ! To conserve memory space the ML-11 exercisers ! write and read buffers are redefined to be a ! contigious blockvector of 4 blocks of 512 words 2 : 3 5492 5493 5494 3 : 5497 5498 5499 gggg map : 3 3 3 5502 5503 5504 gggg I_ERROR_MAP (); 'Init the error map before we store the prom data in there 'Read the old prom data intc the error map RD_OLD_PROM_DATA (.ARRSBNK_SEL): BNR_NURM = .ARRSBNK_SEL<.BNR_SEL_POS, BNKSSEL_SIZE>; !Select the bank to interigate ARRCNUM = .ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>; !Select the array of this bank : ggg; incrbsfli._eux from 0 to .TSTED_BNK - 1 do : 5511 3 : gg‘%g 5516 incr NIB_NUM from 0 to 9 do : 3 : 5519 5520 ggz; ROW_128_255 _OFF = ZERO; COL_0_127_OFF = ZERO; COL-128_255_OFF = ZERO; 3 : 2 : 3 S : 3 . 3 5495 5496 ggqg 5512 5513 5517 5518 ; 5553 : gggg : gg?g 3 3 : ggg’so ssgo ! each.” This map declaration maps the exercisers ' 170 buffers into this structure. fe ERROR_MAP : blockvector [4, 512] volatile; egin BI?_CLR_OLD_NEH (.BNK_NUM); if S_BLAST_TBL (.BNK_NUM) then g:gin _BNK_REG [.BNK_NUM] = SET_FLG:; gsain 10_127_OFF = ZERO; incr ROW_NUM from 0 to 127 do begin !Map the error map lLike the blast table !Interigate the pm'ed banks !Clear the old failing rows/cols from the blast table !Are there any new errors in this bank !Flag that this is' a bad bank !Search thru all nibbles in this bank 'Init the row count iInit the row count !Init the column count iInit the column count !Sum the number of failing rows 0-127 }'f. .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] en ROW_0_127_OFF = .ROW_0_127_OFF + 1; if .ERROR_MAP [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] P 170 $£0°0205 L 16 18-Har-19gs 12:07:57 18=-Mar=1982 15:44:41 ROUTINE DECLARATIONS 531 then wg o 00 end; \hm\I!Vi\ll\I!MWMWWWWWMWWMMWMWMMWMU‘MMM vi BSKEL4 REV B PATCH LR T e e T T L o L L T T T T wvinunanninES S S BB L L L L TR LA LA LA T LA LR PR TR R TR TR T T DI T T g 3361 §§§ ROW_0_127_OFF = .ROW_0_127_OFF + 1; incrbcm;_nw from 0 to 127 do egin gggg gg;% COL_0_127_OFF = .COL_0_127_OFF + 1; it .ERROR_MAP C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] COL_0_127_OFF = .COL_0_127_OFF + 1; end; :’f‘ .BNK_NUM_SEC gtr 127 en incr bzoq_nw from 128 to 255 do gin 5582 !Sum number of failing rows 128-255 g Ver czmlcb added '.' to ROW_NUM : if .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] then cou_128_255_oFF = RQU_128_255_OFF + 1; if .ERROR_MAP [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] ROW_128_255_OFF = .ROW_128_255_OFF + 1; end; incr COL_NUM from 128 to 255 do !Sum number of failing col 128-255 :;efiPLAST°TBL C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] COL_128_255_OFF = .COL_128_255_OFF + 1; : ’f‘e;‘ERRm_MP C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] gg;g ggg? !Is this a 64k part begin gg;g gg;g !Sum the number of failing columns 0-127 if .BLAST_TBL C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 03 gggg 5567 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) COL_128_255_0OFF = .COL_128_255_OFF + 1; end; QD_1_SUM = .ROW_128_255_OFF + .COL_0_127_OFF; 'Sum number of failures in quad 1 Page 171 SEQ 0206 8 BSKELS 1 18-Rar=1982 16:07:57 REV 3 PATCH 00 ROUTINE DECLARATIONS 18-nar-1988 184331 ggg 8’&52‘& ROSoATEs0 Orr kol 2Na8 2580r: g?g gg% 5591 g”i 339 2295 gg%z QD_0_SUM = .ROW_0_127_OFF + .COL_0_127_OFF; BLiss-=10 ¥2(212) Page 172 ALE>PHSKLA.BLI.1 (47) SEQ 0207 iSUm mumber of failures inquad3 !Sum number of failures in quad 0 '1s quad 0 offsets > 14 1’1:.QD_0_SUM gtr 14 bfl 10PS-20 couNSG0) PR rsc;a(fz"a? iy '..'tllg”'.lfi;rPrint where incr ROW_NUM from 0 to 127 do !Delete row offsets until eql 14 DEGRADEFI.OU AOD-REt * difference “"TIndicate this is a degraded bank =.OD SUMTM-nunil'Calcu'(ato the OVER_ §§§8 i'fm‘BI.AST TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] !Is this row bad 5601 360 560 BLxST TBL =[.BNK M. .nou NUM, .NIB_NUM, 1, 0] = CLR_FLG; = T:; 'Decrement tho difference .ovs : fs"é?)? if .OVER_FLOW eql ZERO then exitloop; : 2608 : gg}? 3 : 3 i gggg gg}? : s 5618 5619 :S : end; :ffl.‘OVER_FLw neq ZERO n & ® 56 !Did deleting bad row get the difference to 14 !Delete bad column until offsets are at 14 OVER_FLW ,OVER.Slll-1; -1; iDecrement difference aD_1_SUM == .QD_ iDelete thisthecolumn from other sums if .OVER_FLOW eql ZERO then exitloop; !Exit if difference is at 0 end; g 9 g 1Exit if difference egl 0 if BI.AST TBL C[.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] gfls + .Cfl._BASE, .NIB_NUM, 1, 0] = CLR_FLG: T_TBL [.BNK “.«COL_NUM 5625 b1 !Clear this bad row Sll!- 1; = ipelete other sums using this row b incr COL_NUM from 0 o 127 do 5620 g 1 g % ggg .E QD_2°SUM = . 3614 :: :: .:_ OVER_FLOW end; end; if-BNK_NUM_SEC gtr 127 begin !Is this a 64k part -Har-19=s g:07:57 BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS - 26 : : ggz‘ ; 5645 : :: ; 5646 5647 : : 322? ggg : 5656 : gggg ; gggzs : 5665 : : : : : : : : then OVERFLOW = .ng ipelete other sums of this bad row 3°SUM = .aD_3_SuM !Exit when difference is at 0 if .OVER_FLOW eql ZERO then exitloop; then g gggg r BNK_NUM, .COL_NUM+ .COL_BASE, .NIBum. 1, 0]= CLR_FLG; OVER_FLOW - +OVER_FLOW= T; !Decrement difference 1Exit when at 0 if .OVER_FLOW eql ZERO then exitloop: end; ' end; if .QD_2_SUM gtr 14 then 56;8 5686 !Is this quad offset at 14 now Delete bad columns until offsets are at 14 incr COL_NUM from 0 to 127 do u .BLAST_TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] 5671 567 567 3681 ggsg Lx if .OVER_FLOW neq Z2ERO 2229 gggg 5670 2279 !Is this a bad row BLAST_TBL [.BNK nun. .nounun. .maNUM, 0 =difference CLR_FLG; ccrenont1,“the , e s this quad offsets > 14 ' msr (m7 conC_MSG, 0); ‘Roport the error incr ROW_NUM from 0 to 127 do !Delete bad rows until offset are at 14 DEGRADE BAK 'm - tindicate this sadegraded bank the difference TCalculate - 14;NeiopLe: .QD_ Sll" FL&“’ OVER ' | if .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] 'Is this a bad row Page 173 | SEQ 0208 'Delete bad rows until offsets are at 14 if LBLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] 5657 : :' incr ROW_NUM from 128 to 255 do 5649 567 PA:<NEALE>PMSKL4.BLI.1 (47) error ; IReport the.NIB_NUM) conc _MSGkn BNK_NUM, ERgSF (ERR_7, 1Tell where _B_N_PRIR (A PRINTB REG am§erFLG; !Indicat tMs is a degraded bank DEGRADE OVER_FLOW =".QD_ -sun - 16‘ Tcalculate the difference 5648 : 3 then sg 5639 5640 2221 : : : if .QD_1_SUM gtr 14 52 S 3 18-Mar-1982 15:44:41 'Is quad 1 sum > 14 TOPS=20 Bliss=16 V2(212) D BSKEL4 ROUTINE DECLARATIONS then TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) begin Bl.xST TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] = CLR_FLG; OVER_FLOW = .OVER_FLOW - T; !Decrement the difference if .OVER_FLOW eql ZERO then exitloop; !Exit when at 0 end; if .OVER_FLOW neq ZERO !Is quad offsets at 14 yet PRI E R LA DR TR TR LA en: begin incr COL_NUM from 128 to 255 do !Delete bad columns until offsets at 14 : .f‘".'BLAST-TBL C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] CONOWVISUWN=O VNS WN=O SEIKER NNNNVN T_TBL [.BNK ""flfi +COL_NUM + .COL_BASE, .NIB_NUM, QD _3_SUM= .QD 3 SUM 1, 0] = CLR_FLG; !Delete other sums of this column OVERCFLOW = .OVER_FLOW - 1; !Decrement the differnece if .OVER_FLOW eql ZERO then exitloop; !Exit when at 0 end; e end; e e - 1;~ end; !I1s this quad offsets > 14 : 'fm.'oo_s_sm gtr 14 PRIDR NSNS e o e o ' begin e NNNNNNNNNNYN DN wiviviiuaiviviaiaiviu i AL L E LE L E P R LA TR TR rr rranrr e a ra A TA LE LR a e r a MR R r e 16:07:57 1g-fllr-19ss 1?:“:61 5687 T DL DR T T TN REV B PATCH 00 1 18-Mar-1982 - begin !Report the error EJSF (ERR_7, CON_C_MSG, 0); PRINTB (A _B_N_PRIRT; .ARR_N(M BNKNUM, - NIB NUW) ; DEGRADE_MOD_REG [.BAK OVER_FLOW =".QD_3_SUM- 14; 'Print where = SET_FLB; - !Indicate this is a degraded bank incr ROW_NUM from 128 to 255 do TCalculate the difference 'Delete bad rows until offset are at 14 :'f.".'BLAST_TBL C.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] !Is this a bad row in = CLR_FLG; 0] difference 1, the .NIB_NUM, .ROW_NUM, TBL =[.BNK_NUM, mST !Decrement .OVER_FLOW - T; OVER_FLOW if .OVER_FLOW eql ZERO then exitloop; !Exit when at 0 end; : 'f.e'.'OVER,FLOH neq ZERO [ !'Is quad offsets at 14 yet Clear $£0°0209 Page 175 BSKEL4 REV B PATCH 00 SEQ 0210 ROUTINE I TN TR begin incr COL_NUM from 128 to 255 do T T if.BLAST_TBL L.BNKNUM. .COL.NUM + .COL_BASE, .NIB_NUM, 1, 03 BeRST TBL C.BNK_NUM, .COL_NUM + .COL_BASE, .NIBMM, 1, 0] = CLR_FLG: DL TN OVER_FLOW = .OVER_FLOW = T; !Decrement difference if .OVER_FLOW eql ZERO then exitloop; VTN end; end; g SN § N o NNNNNNN NNN end; end; gzaQLo_uEH_PD (.BNK_NUM) ; '0r the old prom data with new prom data : anx,nun = ,BNK_NUM + 1; !Increment to the next bank end; 0000006 000933 6 'Exit when at 0 end; EXF SN SI v S Vi DRT PRLALALE DA LA TR LA DA ALATE TR LA TE OO0 COO000000. o000 dddd‘d“ddd-‘sggdfld !Delete bad column until offset at 14 860002 .SBTTL IN.BLAST.TBL ROUTINE DECLARATIONS JSR R1,$SAVES IN.BLAST.TBL: 2 MOV m ADD MOV MOV SSh zvv ADD MOV MOV SSh MOV e 'S,St 'f -(SP) S&"&p D.PROM.DAT SP, (SP) BNK. SEL .POS,~(SP) #2,~(SP) 3 | :. ARRSBNK.SEL,* : ARRSBNK.SEL,* F‘mm h'éofltigl;; : *BNK.NUM Fs” 12 R Ififgn : *,ARR.NUM SP, (SP) ARR. SEL .POS,=~(SP) #6,~(SP) : ARRSBNK.SEL,* 5427 5502 5503 5504 5505 S""""SS 12:07:57 BSK 18-Ma 015372 01537 §80 0154.1 1 g 1 01541 0057 43 1 18: g ; 015422 015424 81552 015434 015442 01 01545 0154 01 01 0154 015473 01550 815504 15510 015514 01551 815 155 0155 0155 1 002674 30016 000022 01 000001 0000006 000030 000044 52 550. 153 1 1 15640 ROR 3}3 MOV ASR ASR ASR MOV ADD MOV BIC MOV MOV JSR MOV SWAB CLRB ASL MOV CLR CLR CLR CLR MOV 373<sp).zz(sm (SP csm (SP) (SP) ,=(SP) .BNK.REG, (SP) 2 (;fl =(SP) §177776. (3P) #1,-(SP) (SP) ,=(SP) PC.BLSPU2 (sP) RO : JSR ADD ROR ; BNK.NUM,* 5514 ; BNK.NUM,* 5516 5518 § (SP) :: ROW.NUM CoL.1éa.zsg'orr s&’ 5523 R R% Lg(SP) R&, (SP) L(SP) .;m RS,=(SP) 8888?86 5509 5511 ROW.0.127.0FF *: NIB.NUM ADC MOV ADD MOV m : BNK.NUM,* ; BNK.NUM,* RO.R3 _ 44 (SP) 000046 5 000001 5507 5526 2B PC,BLSGT2 010230° ; SEL.BNK ; BNK.NUM,* B JSR B 99211176 seoge R N sosee ;‘6 4S: s.susr 8L PC (SP)+ 5 an CLR.OLD.NEW 20(SP) ,=(SP) Ré,=(SP) (;a;m..(sm | ; 38: JSR ST JSR MOV ge 030372° 1557 - 42(SP) l.is 16(SP) ,=(SP) MOV 1 ! 28: S 1 5% 1 1 1 _ CLR JNP MOV TOPS=20 Bliss=16 v2(212) SKL4.BLI.1 (47) PA:<NEALE>PM s ng;gsp) : 5526 LS : ROW.0.127.0FF : : NIB.NUM,* ssg 55 PC,BLSGT2 #10,sP RO S— asv a PATCH 00 ROUTINE DECLARATIONS 15:44:41 ROUTINE DECLARATIONS 01 o 156 000044 §1“ } 015676 015 0}27 44(SP) RS N77 3 4 R2.he Ré E 000177 1 01 01 01 1e-har-1983 18:0:0 o*‘ ) 01C D1 D1 . 040372° 5%: ggl:iQAS 030372° 000001 1 01020 ROW. NUM 553 552 COL .NUM * COL.NUM, 5536 5539 NIB.NUM, * C ® 040372° 010230° NIB.NUM, * R = T ‘3@““4 = s 000001 806010 1605 16044 16 004767 06270 030372" Gioree 000001 16062 01041 16 010546 06 12 COL .NUM COL.NUM,= 000177 000200 D10 COL.0.127.0FF 000050 040416 i16 16 ROV.0.127.0FF COL.0.127.0FF 000052 806006 000050 010230° 5545 5536 5549 000177 3535354C22E8838 1 DANONONONONONONONE W\fl\fi\n\h 28222228223283822823232 15 00 177 R4 #BLAST.TBL,.R4 R&,-(SP) 013710 00406r 606006° 15 Page 55095212 LA TR T REV B PATCH 00 va2(212) PA:<NEALE>PMSKL4.BLI.1 (47) TOPS=20 Bliss=1 T BSKEL4 1 LR 6 *,ROW.NUM ROW.NUM,* NIB.NUM, = ROW.128.255.0FF 5. NIB.NUM,* 5553 5559 \ ROUTINE DECLARATIONS 12}32 12702 3 : e 12746 : - 040372° ch.sAse.m. a‘.m coL NUM,* R lBI.AST.}BL.M ; NIB.NUM,* 000001 0000006 000006 o 000054 COL.128.255.0FF C R2.Ré 'C.gl. .BASE ,Ré4 .Ré& Ré4 IEM.MP.“ R .(SP) R3,=(SP) #1,-(SP) 000001 §1 : %, COL.NUM ns.a.l 010230° 0 : ROW.NUM,« #200,R2 000200 040372° 016 : ROW.128.255.0FF * ROW.NUM R2,H377 030372* 0161 8} 174 RO g (SP) 000C<6 016193 0121 #10,sP % 5583 AR AR AR o ey 0 77 P 5578 5582 QI o o St L) PRNtea st L COL. COL .NUM COL .NUM, = s g3eqEq_AES= I\ 5574 5576 ; NIB.NUM,=* COL.128.255.0FF S NS 8}2} 016162 01216 016144 -($P) PC,BLSGT2 00476 7 i 016124 0161 000001 N 016 0161 161 1611 12746 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) #1,-(SP) 8Be 8}2?;2 8 18:%:20 Al BSKEL& REV B PATCH 00 H 1 12-’!»-19 18-Mar=-19 5584 5587 5589 5592 CON.C.MSG I BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS WORD 016 1 016 33 1 01 1 01 124" 016370 01 016376 012746 1 0164 104414 01 4 015912 0164 24" 1 016410 2 016414 04 11.3 177770 016420 000001 016426 012746 11949 8164 6 8888006 164 54 016601 016436 016442 162701 000016 ow.gs 005002 010 016450 ow.gz 0164 030372° 0164 01 1 01 010546 012746 8}“ : 9s: 67 301 0165 0000006 ~ 5;85 .000070 5 ; oug 125 116544 : 986; 000010 1 65 12 }g 16 165 165 01657 omos ; _ | : 000010 000177 040372° 108: 118: 128: T 138: 134‘»-1935 1?:44:41 RS.=(SP) 33(3».-(9) 62(SP) .=(SP) #A.B.N.PRINT,=(SP) #4,=(SP) SP.RO 14 44 (SP), (SP) .REG, (SP) RADE .MOD #DEG 42(SP) ,=(SP) #177770, (sP) #1,-(SP§ (SP) ,=(SP) PC,BLSPU2 54(SP) ,R1 #16,R1 5 R4 R2.R4 . TBL R4 #BLAST R&,~ RS,=(SP) ADD ROR BCC MOV MOV MOV CLR #10.sP JSR 12 16506 103021 16510 010446 81 12 010546 16514 012746 000001 9&9 816 O 16:07:57 MOV MOV MOV MOV MOV MOV TRAP MOV ADD MOV BIC MOV MOV JSR MOV SUB CLR MOV ADD ASL ADD MOV MOV ?Ex 000001 ’;86“9 0000006 ow.rgg 000010 o16§82 165 1 18-Mar-1982 JSR DEC DEC Lsé ADD B8R ADD INC Bc&: ;g‘r' CLR MOV ADD ADD ASL TOPS=20 Bliss=16 v2(212) <NEALE>PMSKL4.BLI.1 (47) PA: : NIB.NUM,* * BNK.NUM,* : ARR.NUM,* : SP,* : : BNK.NUM, : GD.0.SUM,OVER.FLOW . «,OVER.FLOW * ROW.NUM : : ROW.NUM,* Page 179 0214 SEQ 5594 5595 5597 5599 ; NIB.NUM,* #1.-(SP) PC,BLSGT2 Ré,~(SP) RS,=(SP) #1.-(5P) -(SP : : NIB.NUM,* 5602 R1 : OVER.FLOW :‘1’3.39 1 : QD.2.SUM : OVER.FLOW 5604 5606 : 5601 PC,BLSPU2 70(SP) |1u #10,5P R R2.M77 ?1 n? R2,R4 ch.aAse.at. R3.R4 R4 * ROW.NUM * ROW.NUM, - 5603 5597 : OVER.FLOW 5610 + COL.NUM,* 5616 : COL.NUM 5 5593 | 5614 PC,BLSGT2 836010° #16,sp 80 R2,Ré 040372* ggL.aase.aa R& 030372* ST.TBL.RG Ré,=(SP) eé‘fi*fi%&'& S 0000006 :g ,BLSPU2 000066 66(SP) 5619 : NIB.NUM,* 000010 1e.sp 162' OVER.FLOW @D.1.SUM OVER.FLOW 000177 ? 000020 #20,SP nrr 5591 5631 “NUM,SEC,#177 458 (SP) ,#16 QD.1.SUM, = 5635 5638 SN.C.HSG {sP) ,~(SP) 62(SP) .=(SP) ‘z.s.u.rnxnr.-(sp) » 0 » RS,=(SP) §;.35 000016 8GT 5623 5639 3 040416 000177 5620 5618 5614 3 #10,SP 332333533333385$heey 000010 ? R1 - NN:NNW POONOONON 3 Py -0; FNIRIAD : COL.NUM,* -($P) bl 288 O 000001 o90C —_— Page 180 | SEQ 0215 | s NIB.NUM,+ e 255 000001 %o = -~ 8-0-.-. Ré&,=(SP) RS.=(SP) c} -;sp) ®e P (=) ' > w NI 333 Sgsssgsggdd-QTNCORRTRRTND, - 30o&3 iiggggg & 228222228228 22222822323232322333233232333.2 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) R4 #BLAST.TBL 030372°* 001334 000036 1 18nar-1988 18:202:20 ROUTINE DECLARATIONS & b et N ..§§§§ < b m J 5640 r K BSK ELS REV E PATCH 00 200 1 19%: R2.R4 R4 R4 TBLT. #BLAS Ré&,=(SP) RS.=(SP) 030372° #1.-(SP) RE3 SS8R (=1=] Wl »H oo #2006 R2 ai.al 16 8,172 Qur uury ,R 56(SP) 6 016601 1 1 P 000001 RSSSSISITEARNE 0000006 Pg.eLspuz 000072 52(sa) 000010 2 #10,5P 2 : 0.sP R1 000010 §§‘1377 000377 Rl 040372* 030372* 858285 LCI238A8ES - IS RS RERNSonvo §§§ e i > D o i o s e 806010 5641 : *,ROW.NUM : 5643 5645 * «,0VER.FLOW : ROW.NUM,* ; NIB.NUM, = #10,sP 000001 000001 : QD.1.SUM,OVER.FLOW RO 218 030372° Page 181 SEQ 0216 -($P) Ré,=(SP) RS.=(SP) 0} -;sp» 040372° TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) PC,BLSGT2 0000006 000010 22 23 S NNIRRAREEREERERNSFRSRS& PC aLspug ~ e i vl D wnd oed D md o ed D o D b b oo0000000000222222222222 223222222332322222 it SN NNNNINNN s 01 017! 1707 004767 nNO 9 617 017069 017064 ROUTINE DECLARATIONS -t 017040 017044 017050 1 1g-n.r-19 g 12:07=s7 15:44:41 18-Mar-1982 R2,R4 : gg(.use.al. H : NIB.NUM,* ; OVER.FLOW 5648 5649 ; @D.3.S5UM 5650 s 5647 : OVER.FLOW : ROW.NUM ; ROW.NUM, = 5652 5643 : OVER.FLOW 5656 s COL.NUM 5660 s COL.NUM,= 5662 ‘.R‘ R T.TBL.RG ag".‘-“(sn (3P 2 NIB.NUM, * -($P) pe BLSGT2 #10.sP 89 52,a4 SE R4 " #BLAST.TBL.R4 + s COL.NUM, 5665 L BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 010446 017262 25 010546 017 012746 000001 017 93 017274 01 01 01 67 0000006 1003 5301 33 } 01 248: 258: Z 000177 000020 8} 0 017 3} oooogr 1422° 01 000010 000010 706 01 01 104454 000040 000016 17 174 1745 174 17 17 1747 17 17 17 8175 175 ADD INC #10,5P R 6$: 57:: S'L"E ADD S{'E TRAP MOV MOV MOV MOV MOV MOV TRAP MOV ADD MOV BIC MOV MOV JSR SUB ( C 06 R&,=(SP) RS.=(SP) #.=(5P) -($P) PC,BLSPU2 Rl 24 JWORD .u&g 010546 01 01 81661.6 000032 01 16946 000062 012746 003124" 01 017370 012746 01;274 010600 01 53 104414 4 8163916 0174 16 0404624" 017404 017410 01 16 177770 017414 012746 01 17424 11946 174 67 0000006 }3«7»01 000060 174 162701 000016 17436 17442 17444 MOV MOV MOV CLR JSR DEC BNE alpo 288: 030372* 000001 8338‘1’8 000001 . CLR MOV ADD ASL ADD MOV MOV MOV ADD ROR BCC MOV MOV MOV 1 13«.»1955 12:07:57 18-Mar-1982 15:44:41 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) Page 182 | SEQ 0217 | | ; NIB.NUM, ; OVER.FLOW 5666 ; : COL.NUM 5664 5660 * QD.2.5UM,* 5637 RS.=(SP) -sgcsm.qsm 62(SP) .=(SP) NT,=(SP) #A.B.N.PRI #4,~(SP) ¢ 1 44(SP) , (SP) REG, (SP) .MOD .ADE #DEGR -(SP) 4;( (SP) 4 #1,-(SP) (SP) ,=(SP) PC. (sP) ,R1 #16,R1 ; NIB.NUM,* : BNK.NUM,« : ARR.NUM,* 5680 RZ.R& * ROW.NUM,* ; 51 .SP 5 ‘nn #20,5P 4S(§P).016 4 7 sou.c.nss 2; 3.R4 Ré T.TBL,RG R&,=(SP) RS.=(SP) #.-(5P) 4 : COL.NUM,« ; : 5668 5676 5679 : SP,* : ; BNK.NUM,* 5681 : @D.2.SUM,OVER.FLOW : =, OVER.FLOW 5682 * ROW.NUM : 5684 5686 : NIB.NUM,* #10,sP ns 308 R&,=(SP) RS.=(SP) #1.-(5P) : NIB.NUM,* 5689 3 -~ - e et SRR 5 1 e 7 18-ar19 ) 2 1§har-1983 $:04: ROUTINE DECLARATIONS -(5P) PC,BLSPU2 R1 0000006 298 000010 #10,5P 000010 g1o.sp ni‘p177 31s: 040372° 328: 2 358 #200,R2 R2,Ré ch.aAss.aa ROW.NUM ROW.NUM,* 183 550982 18 5690 5692 5688 5684 OVER.FLOW 5696 *,COL .NUM 5700 5702 . NUM, « COL R3,R% - R #BLAST.TBL R4 030372° P) 000001 * NIB.NUM, 0000006 000010 COL.NUM,« 040372" 5705 030372* NIB.NUM, * 000001 606072° aD.3.SUM OVER.FLOW 000010 000010 w377 000377 358: 36$: PO ~ OVER.FLOW 31 000177 000200 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) Se % g FISERSonaa 255 &»H 22 BSKEL4 REV B PATCH 00 sP §P) .6 3W.C.HSG COL .NUM COL.NUM,* i QD.3.5UM,* 5709 5704 5700 5678 517 5720 BSKEL4 ROUTINE DECLARATIONS RS =(SP) 51 SP) ,=(SP) ( SP), 222222222 SIIIJIIY SRR REV B PATCH 00 R 147 #A. B.N.PRINT,=(SP) #4,~(SP) SP, in ), (SP) l.u GRADE . noo REG, (SP) 42( - m z sn NIB.NUM, * * BNK.NUM, 5721 : SP,» 5722 ; BNK.NUM,+ 62(SP) R QD.3.SUM,OVER.FLOW *,0VER.FLOW i 378: ge 184 SEO0219 : ARR.NUM,* s) (sf».-(s $PU ROW.NUM,* 5723 5725 5727 030372' 000001 800010° 5 NIB.NUM,* 000001 5730 : OVER.FLOW 000010 000377 000200 040372° 030372" 3 000010 J3EREETR - QO 1 TOPS-20 Bliss=-1 V2(212) PA:<NEALE>PMSKL4.BLI.1 (47) : OVER.FLOW §737 +,COL. ml 5741 5743 : R5,-(SP) COL NUM s NIB.NUM,* B BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS MoV CLR JSR 000001 W 040372° % .COL Ré.BASE .R4 ASL ADD R4 TBLT. #BLAS MOV CLR JSR .-(5P) -($P) LBLSPU2 ADD 030372° MOV MOV 000001 0000006 DEC BNE 4.\.» 000010 _—— 000377 8:: — pe:g 17521 46S: 478: m 000064 s ine Size: 799 words mum stack depth per invocation: 8s: 498: &2 words ”,-(SP) -($p) rs BLSGT2 #10,5P ADD 16:07:57 1‘-!”-13‘5 1?:“:61 ADD ROR 000011 2 18-Mar-1 ® .-cg) *=(5P) R .SP TOPS= liss=16 v2(212) PA:égl. »usui.um &7 ¥ COL.NUM, « PR P 185 SE%ZZO 5746 ; NIB.NUM,* : OVER.FLOW : 5747 5749 fi gl ¢ coL.mm gfi g‘r' ” ool ¢: NIB.Mm NIB.NUM,* 3518 : BNK.NUM,* 5761 ag JWP MOV JSR ADD INC R 377 g‘(SP), (SP) L OLD .NEW.PD 6&3’ ($P) s (W ¢ (SP) ,64(SP) RTS PC ADD - ) .SP : COL.NUM,* : 5513 : BNK.NUM 5764 : 5427 :: sEL.BMK SEL.BNK,TSTED.BNK 3309 ' C BSKEL4 144 L L T ! Functional Description: he error map is loaded with all the new and L row and sector addresses for a old failing failing chip. From this row and sector 1M?mtion stored here it can be calculated which are newly rows and columns and the best way failing to mask them. This global routine will interigate sho error map and load the blast table with this chips new masking prom data. This global routine executes in the following : 2 flslt first searches the error .,p for t all bad rows IE. occurances of rows > 10 times. bad 2. It then searches the column count table for column counts > 1 e $34FIPSIN LRI LIFIIN3338 3. It then transfers to the remainder table any remaining single cell failures. 4. It then interi tes the remainder }t"“ for these remaining single cell failures and selects the best one for blasting. T TR T 1 -llr-flss 1?:24:61 n L T Formal Paruotcrsf “Stores array and bank select address. g fefiigng chischip pesereent y 1th s to B Points LL L L L L el e e Implicit Inputs: R e DEGRADE .MOD_REG, FLG_REG Implicit Outputs: TS 5 15 datonnined that this is the first then the flag register in this all bad chip and degrade register bits are set. e iy e e v nd e VONOWNSHWN=O T T TR e O e e 16:07:57 routg'n;‘lfl.im_m (TEMP_ARRSBNK_SEL, BAD_CHIP) : novalue = 3801 T T T P TR L P TR L T PR LA TR LA TRLA TR LALA PR T LRTR TR TR L TR T TR TR TR TR T REV B PATCH 00 ROUTINE DECLARATIONS SR 2 18~Mar-1982 s the second als bad chip in this bank flag register bit abort_array is set. TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (48) P s53°5 86 || 186 1 | 221 none local LTS T ARR_SEL = .TEMP_ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>: T PR !Stores array select number {0L number iStores 'Records total all bad rows and columns found bad ARR_SEL ., BNK_NUM, ALL_BAD; LA L AL ATR A L L L T L liss=1 2 V2(212) 1 (48) offu.z Sido Effects: i R L 12 18-Mar-1 7 57 leotim codes: BNK NUM = T _TRP_BLST_TBL T); ~SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; 'Init"the temporary find failing Search the error For ! times. !Load the array ul number 'Loag the bnk sel number blast table r 10 ch have failed more thammore ! than ten tins H that don't fail ! column pair which will er ! these rows which failed loss than ALL _BAD = S_ERROR_MAP (.BAD_CHIP); times. !Search error map for all bad rows Did the search of the ’rror map find 10 all bad rows in error within this chip ? 1f 10 were found then this is called an all bad chip else continue and search the column 0 tt.::ble for columns in error greater than :;".'ALL_MD leq 9 !1s the all bad count <= 9 begin i Search the column count table for column counts ' greater than ten. ALL _BAD = S_COL_CNT_TBL (.BAD_CHIP, .ALL_BAD); !Search column count table for all bad cols i 1f the varch error map plus search colm count table found 1 L bad rows and colm tMn th s chig s callec the remainder all bad and no prom blastingi ? tur table for remaining row coluln pairs for blasting. R A T e a ea r TR T R R LR L T T T L ALR 1 -fllr-‘l ROUTINE DECLARATIONS PRLA LRL TR TRT T T BSKEL4 REV B PATCH 00 ::"'.'ALL_BAD leq 9 begin 'Is the all bad count <= 9 Pa 187 SEQ 0222 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 1 -llar-! ALL_BAD = S_REM_TBL (.BAD_CHIP, .ALL_BAD); . i For the purpose of report code summar Liss=16 v2(212) n:ofi&m BLI.1T (48) !Find the remaining bad rows/cols : ; newly each in blasted co?m and rows bad !: of failing mos ram chip. table’ report t’” a sntis : stzro into s and the number s$ ! the locations, ¢ if.PM_COUNT lss 128 'Only store a total of 128 failing chips in chip number thenumber ?ton .BAD_CHIP; BITS m_cmm fi.l.l’LOG bank ch !Store BNKTNUM; BNKS_| omt PM_LOG numbrer Mps array iStore Mps .ARR_SEL: BRDS” PM] .l . UNITS # PM_LOG number unit !Store ~DUT: coun PM_LOG r/c failing of enters Store number 1; the mnbor ,ALL_BAD + 'Up = FHJ [.PM”COUN PM"LOG table of + T cotm :SCMT = _PM_ s.:: : 3 3: : 'fm.‘hl.l..w leq 9 ‘Were there <= 9 all bad rows/cols found in .: : fim_usr_m (.TEMP_ARRSBNK_SEL, .ALL_BAD); else 5 !Xfer temp blast table to blast table begin : if not FLG_REG CF_ALL_BAD_CHIP] S_ 3H: 5 590 s% : 91; elso 91 end; 014 5915 916 917 913 '1s this the first all bad chip in this bank ta condition a 0); (ERR CON EgSF mmsm55¢ml?"';'A'hifist-.s. f iu m e l'leport where g gm 33 5 1; 2‘ TOPS~ ' : : :: : : 7:5 mun 1 t.u.mn FLG; et a condition b tReportt vhere 0); 6. CON_BNSG, *SEL: gflgr ERR ..';3 finmm set_FLG; iSet the abort array flag PRINTB 6 (REP [F_ QM- P 18 | 553’5222' 5 . }&rr:z}gss 12227357 4:41 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS - m em'ns\'i;!" JSR 000022 0412° MOV ADD MOV 000030 m- MOV ADD MOV MOV R MOV 83000& 0000006 0000006 w 1 1 . 171610 1 . 000002° 160077 177774 000003 18: R1,$SAVES #22,=(SP) sP ARR.SEL .POS,~(SP) #6,~(SP) PeBLsGT2 &b% #30,(sP) SP) .SEL.POS, = (SP) #2,-(SP) -($p) $6T2 ‘R 1.TMP,BLST.TBL (sP) RS . (SP§ . gm.m i) g‘v; 8 n MOV MOV ,=(SP) =(SP) .S son..cnr.m ~(SP) c=(5P) P BT cHpP (SP)+,(SP)+ ASL MOV ADD MOV SWAB RORB ROR ; 57 : : TEMP.ARRSBNK.SE,* ; *,ARR.SEL 5833 ; *,BNK.NUM : * BAD.CHIP,* 5834 : ALL.BAD,* : : ALL.BAD,* 5854 5861 : ALL.BAD,* 5865 : : TEMP.ARRSBNK.SE,* : : ALL.BAD,* 58 5843 5872 ) 2 & : BNK.NUM, 5889 #PM,LOG,R2 -(SP) ) (SP) (SP) m ’ ; 77.(SP) i a?fi”n oV 1C fi IS8 (SP)+,(R2) 1C8 Page 189 | SEQ 0224 IN.ERROR.KAP ROUTINE DECLARATIONS MOV CLR JSR MOV JSR MOV MOV JSR g‘rr MOV MOV JSR v2(212) TOPS~ &EH“-I >PMSKL4.BLI.1 (48) PA: %, (SP) (R2) o 040622° 0460624° 5891 : ALL.BAD,* ALL.BAD,* (so;) ;(SP) ;;Ix.m.ust.m TEMP .ARRSBNK . SE , * ALL.BAD,* 5892 #20,FLG.REG 5907 5908 5909 5910 58: (o] 000020 $35532 3355553583888t &% 558 gustse puf,=(spP) [+ Lv 1o o] - = =4 7 1ala] Z23 — % 333 3s: i e (n?x g dramg Sueety 0460400° ; ARR,.SEL,* 3 223 ‘gflf"‘ g o) oom® 800074 R5,=(SP) (SP) sP (SP) BL1- 1 (48) PR REALESPRSKLY 3§ 18nar-1983 18868 ROUTINE DECLARATIONS % 2 Seony REV B PATCH 00 6 [} BSKEL4 5906 5904 5914 BSK REV 1 } 1 1 1 1 H T PATCH 00 ROUTINE DECLARATIONS . 888888 7» 000100 040422° 000022 : Routine Size: 164 words : Maximum stack depth per invocation: 9:: : 21 words i it B .WORD son.a.nsc % RS ;(g)m MOV MoV gxmsb ST i .-isr’ ' 0 0"( °?$FLG.REG . RTS PC ADD 2 #22,5P — A R : ARR,SEL,* H SP,» P se8’0226 5915 | : 5916 5 : 5768 : | 57 16:07:57 12:2 1 v2(212) (49 PA=<N22L2>FHSKL2..LI.1 TOPS~ Liss=16 T R T A TR LRTR T .. mtg.n;irs.mu_cmrs (TEMP_ARRSBNK_SEL) : novalue = n £ i Functional Description: ! ! u ‘r’"? Lobal routim will search the selected banks failing chips. ! ;i t detected calc latod s cmmfl" ure a tgc c ic attcm aM tM stored intotm badpch ab e. ’ g ARRSBNK_SEL : lf T T L ! T [] e transfers lool: for add vi ? mass ! bad chip is i Formal Parameters: L L T L T T L L T T L T L T T AT AT AT TR TS I Ao LA R s R r-1 1 REV B PATCH 00 ROUTINE DECLARATIONS AR AL A A r=1 1 BSKEL4 Stores array and bank select address. 2 : 940 | Implicit Inputs: 943 | Implicit Outputs: gus : check tnns ers detects an UNC error. 59‘3 ! none 5&1 ; MO YC RET_STATUS. WRT_BUF, RD_BUF, FLG_REG 04 1 Pl flag register bits will be set if the write 534‘9 i Completion codes: 5949 5950 5951 5955 595 5954 5955 5 595 5953 g”m 5961 ! ! Side Effects: none ! lom local BITS_TSTED, OFFSET, 'Comts no. bits tested in read buffer iRandom data offset BAD BITS : bitvoctor [16]. 3% RAND_INDEX, FAIC_CHIP; = EMs SEED1 I : s’ctor‘rruer at random write buffer words iStarts th read buffer word data chip hilim ml-11 ecords the !Init random data seed! 5 S SEED§ 20°123%°; SEED. 20°7622"; 59’8 incr PAI’.'SEL from 0 to ONE + .RAND_PASS do !Loop thru all patterns 5965 5963 233? 37 59;5 OFFSET = ZEROES: _INDEX = ZEROES; selectone .PAT_SEL of set o] : ilnit random data s tInit random data Clear the rm data offset for 1's and 0's data 'Reset random index to zero !Select a pattern Page 192 85095227 8?.::%385 R AL REV BPATCH 00 ROUTINE DECLARATIONS L_1_0O_DATA (.TEMP_ARRSBNK_SEL, ZEROES); !Load zeroes data 59;5 ViAWY gg;g E858 % 1 : §ggg :s 3995 gggg : .: 599 5998 : 5999 : 6006 : 6009 % 1u cmoE ; :8% 6005 : S s 3 : : : 6010 6011 601% [othoruiso] !Load ones data dataoffset randomdata !Loadrandom DATA (.TEMP_ARRSBNK_ SEL)IEnable the gmon ="2; offfi tes; incr SEECNT from 0 to .BNK_NUM_SEC do 'Write check all sectors in this bank SediR. “SRCTM= WRT_BUF tam;m WRD1); WRT_CHK_TRANSFER (SIZE = =256, DST = (.TEMP_ARRSBNK_SEL + .SEC_CNT), if .ML_ADDR [MLEE, crcl 'Was there a crc bit error CHAN: [MLEE. ADDR ML = PRTi"cuIP .PAT_SEL): (.FAIL_CHIP, knfim TBL else cocbif umber the failing {fead iStore away the failing bit and pattern begin 'Was there a uncorrectable error if .ML_ADDR [MLEE, UNCJ !Set the unc error flag for future ref SET_FLG; = LG] [F_UNC_ERR_F REG "'2 end' g iWas there a write check error if JML_ADDR [MLCS2, WCEJ then btgin MBUS; iClear the mass bus of the error 601 %g tested countSEL + .SEC_CNT); bits m iClear ZEROES; = TSTED ans .TEMP_ARRSBNK_ = SRC RD_BUF, = DST =256, = RD_TRANSFER (SIZE 6016 incr BUF_INDEX from 0 to 255 do 2319 6021 gog 4 22 : : - f._1.o_om (.TEMP_ARRSBNK_SEL, ONES); e Tty B R 'Find the failing read buffer word :'fm.‘m_w CC.RAND_INDEX + .BUF_INDEX), WRD] neq .RD_BUF [.BUF_INDEX] min _BITS = .WRT_BUF [(.RAND_INDEX ¢ .BUF_INDEX), WRD] xor .RD_BUF [.BUF_INDEX]: incr BIT_INDEX from 0 to 15 do !Find the failing bit(s) BSKEL4 REV B PATCH 00 K 2 18-Mar-1982 16:07:57 1 -fllr-19ss 12:2‘:41 ROUTINE DECLARATIONS :;QEBAD.BITS C.BIT_INDEX] eql ONE TOPS-20 Biiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (49) Page 194 $E00229 !Is this a bad bit begin FA?L-CHIP = (BITS_TSTED + .BIT_INDEX) ufd 36; iCalculate the Tailing ml=11 biit L-SHIP_TBL (.FAIL_CHIP, .PAT_SEL); ) IStore away the bit and pattern end; end; BITS_TSTED = .BITS_TSTED + 16; end; 'Add 16 bit to the bit tested count end; 2:=D_INDEX = .RAND_INDEX + .OFFSET; !Bump the random index if random data end; end; .SBTTL o ah wd ek s ¢b ~oRSo RSFRERSRENFSRE e cmd coeed conh b e ol b cand D oo cnd T ccd md b ok D D d d D b d b md R e = e e e e e i e b == b 8 FB.DATA.CHIPS: FB.DATA.CHIPS ROUTINE DECLARATIONS JSR 7622 suB CLR 0000006 0000006 MOV MOV CLR MOV INC CLR MOV 18: JMP CLR {fi{ MOV CLR 2%: 38: 000010 48: BR fi MOV MOV JSR ¥y MOV JSR MOV $SAVES s; SP * #7622, .seeo; SEED 6(SP PASS.RS RS,12(SP) 12(sP) R 163 4(SP) R1 (SP) ,~(SP) =(SP) 3s R1.M 3(9) =(SP) #-1,-(5P) 3 : : : : OFFSET : : PAT.SEL : RAND. INDEX * PAT.SEL : TEMP.ARRSBNK.SE,* : PAT.SEL,.* : TEMP.ARRSBNK.SE,* PC,L.1.0.DATA gmm -(SP) DATA P .3 RANDOM. #2.10(SP) * TEMP.ARRSBNK.SE,* : *,OFFSET 5970 5981 5982 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS o1 36 44 16766 1 o1 50 1044 021 311 76 11 0211 01 1 73 8110 1 }0 0 131 010467 1316 1 1w.9 1324 3on 1 16705 16* 000016 1 1774 040426" 6 . 000012 58: 68: 0 "gz 1352 016 040374" (73 0125533 000042 000040 1 01 000040 1 021 5 oz1§;4 5 1376 1400 5 5 1402 1406 042705 177700 1410 010566 000012 1414 010546 1416 010146 14 767 164120 }4 4 022626 016705 040374° 1430 000042 000036 }2‘4 2 040422° 1444 15276 unousug‘. 816705 1452 1456 016566 330010 000034 12% °17‘§ 040000 000034 135815 gg 8s: MOV MOV MOV ASR ASR ASR ASR ASR ASR BIC MOV MOV MOV JSR gw MOV g 8158 MOV MOV gg 374° 000032 MOV 016903 10 000030 16566 Geo3re’ MOV MOV 5 47% 8?6 16 1 1512 1516 nov MOV MOV ADD MOV MOV :so\( MOV 78: 1 15 016705 10 32 0 040374° nun SEC,16(SP) CLR ADD MOV MOV JSR MOV oosgv 040432° 161610 040374" 016566 m 00004 00004 1 1 -le-‘lzgs 1 -fllr-l 22 MOV MOV BISB MOV -(SP) l.oo )§u (sfi63 .osf -(SP) wsn.m. . BUF ,Ré #WRT R, SRC Ré4.=(SP) PC.m cm: TRANSFE lstsn (a .ADDRRS 4o(R ».tg(sn 40(SP). R R R R RS RS #177700,R5 fi"f"” =(SP) R1.-(5P) PC Ls HIP.TBL gfi +,(SP)+ RS - 3”36(9) JFLG. "S? < .;z(sn 1 g 34(5P) RS Aggn,$21sP) (RS) 39).: #40,Ré nk.isoa RS RE.T0(RS), » '1'6(3?9.30“ Bliss=16 v2(212)(49) TOPS-20ALE>PMSKLG.BLI.T1 PA: Page 195 SEQ 0230 : 5986 | : | 5987 | 5989 | : RAND. INDEX, * 5990 ; :; . ML.REG 5989 5992 :: «,ML.REG : ML.REG,* 5995 : SEC.CNT : ;: TEMP.ARRSBNK.SE,* SEC.CNT,* : «.ML.REG : * FAIL.CHIP : FAIL.CHIP,* : PAT.SEL,* : : : «,ML.REG : : : «,ML.REG : «,ML.REG : ;o ML, nes : n..m : REG *,ML.REG ;: maes.o 5996 233’5 6001 6004 6009 6011 n2 18-marc1988 18:%0:30 ROUTINE DECLARATIONS D e 2;79975..5 e RS.Ré -ADDR RS eogEeIY : MLREG,* : BITS.TSTED ~ -(SP) 3 =(SP) e Ll $E%E st P) Ré F . INDEX BU ,* BUF , INDEX & RD . TRANSFER BUF . INDEX,* (SP) R4 (sP) PE0RRRR BITS * BIT.INDEX BIT.INDEX,* 6024 BAD.BITS,* A e e T W AN = IO B 23N 338 S omo one 9 ] o4 9&%‘0 Vo AV% BIT.INDEX,* o4 o = LI I Com 108: 1 (m) 000034 (RS) .R3 R3 ~r D~ N 007230° ng) .-PSP) “‘%3%‘- "TM g Bemg frng 8073%- ) (R5) ,RD .BUF BUF (R4 e 3823 002234* 007230° RAND . INDEX , * B ASL 8 8 = 000022 $35383%785C027288885583C3 2333/IN SERSREREERREIRGT g3IR AN SE0°0231 sees ~ o e o Rg 1 ;nS» D e e D i o D cnd o cd = 1 Page + MLREG #7,Ré o D cnd e e e — b = e wwd D b o e - b md e e v2(212) ; ML.REG,MLREG 30(SP%.=2 —d Liss=16 PA:< ALE”HSKL BLI.T (49) TOPS~ 0 * FAIL.CHIP FAIL.CHIP,* 6031 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS R1,-(SP) L. CHIP.TBL 163534 P V2(212) 6028 6024 6036 6016 000026 128 000014 138: OFFSET ,RAND . INDEX 000016 148: SEC.CNT = SEC.CNT ne Size: 268 words mum stack depth per invocation: 31 words +* N 12(SP) - b TM 4 178: VR —=2=2DD~ 16$: (] 158: @ 000377 16 197 | Page SEQ°0232 PAT.SEL,* .SP 118: 000017 000020 R . B 11 149 AL EPRRKL PAT.SEL PAT.SEL,* 0 5 5 l Description: sonlyca crcc ps orauoct bank a unc error occured during the find bad data chip : global routine. i If a bad crc cM is f : data pattern then it is stor into the bad. ¢ i table along with its failing i Formal Parameters: ARRS$BNK i : “Stores array and bank select address. i Implicit Inputs: : - lET_'S?st L L L i Implicit Outputs: [ none l i Completion codes: il R L L none i Side Effects: l.. none local RAND_INDEX, orrs!r SAVE: bitvector [16]; 'Storts uctor ransfers at random write buffer words 'Random data offset iSave location for nibble prom data OFFSEI = ZERO; Icl "‘“ofi'g'fias“ from CRC_P to CRC_B do 'Find bad crc bits p, a. b Ho'1533"; = SEED? = SEEDS %o'7622" :.".nnot .CHIP_TBL C[.CRC_SEL, FAULT] the rm data offset for 1's and 0's data seedl Bte s {ile s Bk Be iR e 'Did this crc bit fail during 'fb_data_chips' begin incr PAI'.'SEL from 0 to ONE + .RAND_PASS do _INDEX = ZERO; !Loop thru all patterns 'Reset the random index |S—_— i TSR e T AR out’mtm finds all the additionalllfailing i ti [ : 1 MR '00 iF i 1 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (50) rwtg.n:i:B.CRC_CHIPS (TEMP_ARRSBNK_SEL) : novalue = % ii L L L L L TR TR TR TRT TN T T N N TN T T 7 141 1 :57 Rt 1000 s-nar-‘l ROUTINE DECLARATIONS O‘N BSKEL4 REV B PATCH 00 200 A 113 -fl.r-‘l’ 7:57 r=19 18 26161 e [0l : DM_1_0_LOAD (.TEMP_ARRSBNK_SEL, ZEROES): 1 : DM_1_0_LOAD (.TEMP_ARRSBNK_SEL, CNES); TOPS~20 Bliss=16 v2(212)(50) PA:<NEALE>PMSKL4.BLI.1 P 199| 35395234 !Load zeroes data !Load ones data [Cotherwisel : DM_RANDLgAD (.TEMP_Mm SEL); tes; !Load random data iEnable the random data offset OFFSET e o o - LS AN N b cd e e A b o DRD L ETR LA TRPRI AT E TRLA LA PR PRLA LA IRA A A R e s A A TR TR DA L o !Select a pattern solc:tgm PAT_SEL of i AP R TRTR TR T T TR T TR BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS end; DM_RD_TRANSFER (SIZE = =256, DST = RD_BUF, SRC = .TEMP_ARRSBNK_SEL): case .CRC_SEL from CRC_P to CRC_B of set !Select the failing crc bit !Test crc bit p [36] : begin incr SES'_‘CNT from 0 to .BNK_NUM_SEC do 'M'.:? _CNT from 0 to 127 do 61 '!Read thru all sectors 'Read thru all words in sector nsm-.n.mm PD_REG]; 'Read out the prom data for this word 61 g} 1 DAT_CLK; g} g‘:ot PD_SAVE [CRC_NIBBLE] 'Cloclx thc datainto the diaj reg's !1s this a good nibble 61 S & begin i 1g.n.nm CMLE2, B_36) neq .WRT_BUF [(.RAND_INDEX + .WRD_CNT), BIT_12] 61 61 616? bo! HIP_ Tl (.CRC_SEL, 2}2 mi 6144 end; 6145 £is fl‘ 6150 - ' .PATSil.)- 1Save the failing chip and pattern w.mex = .RAND_INDEX ¢ .OFFSET; !Bump the random index ‘ — D BSKEL4 1BRar-1083 ROUTINE DECLARATIONS 1800527 PR NEALESPRSKLL.BLI-1 (50> Pa !Test crc bit a 371 : begin incr SE%CNT from 0 to .BNK_NUM_SEC do '!Read thru all sectors AK; 'Read thru all words in this sector e incr ul?ficur from 0 to 127 do g’SAVE = ML_ADDR [MLPD, PD REG{: : Dfnnot .PD_SAVE [CRC_NIBBLE] DAT_CLK; I N n !Clock out data !Get this words prom data into the diag reg's !1s this a good nibble begin eb z'fm.‘n._»u CMLE2, B_37] neq .WRT_BUF [(.RAND_INDEX + .WRD_CNT), BIT_13] A% N~ B bogin L_CHIP_TBL (.CRC_SEL, PAT_SEL); pattern ch ip {Save the bad e end; R end; e e R w_xmx = .RAND_INDEX + .OFFSET; !Bump the random index D R e B e O 1Test crc bit b incr SE%_CNT from 0 to .BNK_NUM_SEC do ) n incr mg’,'cm from 0 to 127 do lb'g’SAVE = .ML_ADDR DAT_CLK: !Read all sectors 'Read all words in this sector !Get ghe prom data for Cloc out fita‘%nto diag reg's PD, PD_REG]: :Ofnth .PD_SAVE [CRC_NIBBLE] 00 | sea°6235 end; e T LS SEIRRRUINS RQREREC2STRARORIN2EI NOURNYISEIRRRAR T T A IRTR T A TR T R LR T PR LA LR LRT Ll 1) AR TEALE TE TRTR IR TR TR LA LR DRTR DEPR TR LR TR TR TR T T T REV B PATCH 00 3 , !Is this a good nibble begin :'tm.'n_»oa CMLE2, B_38] neq .WRT_BUF [(.RAND_INDEX + .WRD_CNT), BIT_14] | 3 BSKEL4 1'-‘»-1 REV B PATCH 00 ROUTINE DECLARATIONS in 16:07:57 1?:2‘:61 TOPS~ Liss=16 v2(212) n:oégn.gmf.w .1 (50) Pa 550’52 01 | : L_CHIP_TBL (.CRC_SEL, .PAT_SEL); o 'Save the bad chip and pattern « @ il ond coich el wh ot VRNV NN =O !Clear the single step dma mode CLR_MBUS:; FB.CRC.CHIPS ROUTINE DECLARATIONS J R1,$SAVES 3 = 3 88 A4 Hap M RAND . INDEX PAT.SEL $ ; SP) : §"‘s PAT.SEL TEMP.ARRSBNK. SE , * 6103 s PAT.SEL,.* g 4$: 338C3%acyCR ANy AR ERReEEes 18: SBEsgE & .SBTTL FB.CRC.CHIPS: @ VIS AN = ITALALALE LALA TR TRDI T T TN T T T T N Y 3 18-Mar-1 F BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 58 68: 78: 8s: 9s: ; 108: D¢ 118: ¥ 024 MOV JSR -1 -(§n MOV JSR MOV MOV MOV MoV MOV MOV MOV JSR MOV 60(SP) ,=(SP) PS.M.M.LOAD #2.4(SP) #-400, (SP) (sP),S12E #RD .BUF ,~(SP) ( Sgsf ($P) ,=(SP) (SP) , SRC Ps.nfi.uo.tmsreu R1.RS 'm“' MoV gu TRAP CLR MOV MOV a 855446 MOV 022456 BITs 224666 ” MOV m ADD S MOV ; TEMP.ARRSBNK.SE,+ * TEMP.ARRSBNK.SE,* ; *,0FFSET ; P 2 SE%ZQ?’ 6106 6110 6111 6115 : TEMP.ARRSBNK . SE, : CRC.SEL,* 6117 .ur.sec.ms» (SP : : SEC.CNT 6123 } '.3.. RS : 6129 ( ;.l’(s» (SP) .4.gsn (S”l«w SP) -RG - g p gnb #3.45(SP) 40(SP) )RS T MoV gzm,k OQ a R1,=(SP) 5\: ~(SP) [ )22 BIS8 TOPS-20 Bliss=16 v2(212) PA: AI}”HSKL .BLI.1 (50) (RS) .PC .WORD KoY OV 0224ke 60(SP) ,=(SP) PC,BM.1.0.L0AD ADD 02243 039436 \rr. 16:07:57 1:-007‘-18:5 1?:24:61 MOV O ¥ 3 18-Mar-1 L.CHIP.TBL .: WRD.CNT : = ML.REG 6124 6127 : ML.REG,PD.SAVE : *ML.REG : ML.REG,MLREG : *ALREG : MLREG,* : % PD.SAVE1 6133 : 6137 : w.m 3 +CNT,® : RAND. INDEX,* : ML.REG,* : CRC.SEL,* : PAT.SEL.+ 6140 heross 16:07:57 ROUTINE DECLARATIONS 158: ed mcd 5 ek D ek e ot 5000000 L] Gy I~ 178: P 1. ¥ Nt . 168: 188 198 208 218: ~ ~ Py =3 3 g%e = gty oo 148: e o 138: s md wend Y 000014 b e o 000012 TOPS=20 Bliss~-1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (50) WRD. CNT * WRD.CNT, ) ,6(SP) . INDEX OFFSET ,RAND ), 14(SP) SEC.CNT,* +SEC,14(SP) SEC. CNT SEC.CNT . CNT WRD * ML .REG ML.REG,PD.SAVE * ML .REG H..Rifiéfl.REG ., MLRE *,PD. SAVE+1 WAD ENT .o 6165 6169 RAND . INDEX, U}M(R) RO Rz, ?’-( ) :}c}‘;fi’r ( h,(;'io8L o 000006 el 000¢ 1g (SP)+,(SP)+ e 000177 (o] 12%: o a<<8 3333BACFICIBLIRELIY L RRRERASEL REV B PATCH 00 g BSKEL4 177 (SP) ,6(SP) (SP) SP) ,14(SP) JNUN.SEC,14(SP) SP) ML.REG,* CRC.SEL,* PAT.SEL.,* WRD. CNT WRD.CNT,» grssr RAND . INDEX c.cnf SEC.CNT,* SEC.CNT 6172 BSKEL4 ROUTINE DECLARATIONS T T T OIRLRRSROYSRSNSRRSBRSYRNS eU,LYUAUURUUAUAUUUee REV B PATCH 00 3; §1 Eii, R T T 248: % s“ Ek: P r=1982 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS i} e RIS MOV MOV ADD o : Routine Size: 340 words : Maximum stack depth per invocation: 28 words w = wv Lizs=16 16:07:57 y2(212) WBnarcions 19:00:07 InE it B2, s Reohe RS ‘1‘8'«' S) 2. id VRLREC : MLREG,* : sEa%5250° 6047 J BSKEL4 3 18-Mar-1982 1:—!01'-19‘5 16:07:57 1?:2 161 REV B PATCH 00 ROUTINE DECLARATIONS TOPS~-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (51) P 206 SE%’&ZM ; Sewe routine FB_CHIPS (TEMP_ARRSBNK_SEL) : novalue = , begin and umat §hip* calls the ind rouring global S Sletclcrc arc rout nu chip' scription: T T Functioml N findbad 5fm and | tested bank and this 7ng ch’ps. im detectes a unc global routine is not then the fb_grgflp error called. DA TR DA TRTR DRR TR T DR T T T 1f the fbdata_chip gl Formal Parameters: ARRS$BNK s “Stores the array and bank select address. Implicit Inputs: et Implicit Outputs: none T Completion codes: R A none PR Side Effects: TR A TA T T none 023374 FI.G REG [F_UNC_ERR_FLG] = CLR_FLG; CRIP_TBLTM(); FlMrlCHIPS (. TEMP_ARRSBNK_SEL); 'Cl’ ar the mcornctablc error flag :}n ind .u bod’ the data chs 0-35 in this bank if .FLG_REG LF_UNC_ERR_FLG] then FB_CRC_CHIPS (.TEMP_ARRSBNK_SEL): 'Find all the bad crc chips in this bank end; 142767 1 000002 0460422° .SBTTL FB.CHIPS: FB.CHIPS ROUTINE DECLARATIONS JFLG.REG cu{r.m 767 1 ms 8IC8 JSR 767 000002 040622° gz giui.m' MOV 4(SP),=(SP) 0 1 Jnovs. ggooos 7 6466 1s: JSR 17 ST 2( rs‘ufi’cmrs PC,FB.CRC.CHIPS (SP)+ (SP)+ : : 6256 6257 : 6260 : TEMP.ARRSBNK.SE,* 6258 : TEMP.ARRSBNK.SE,* ; 6227 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS RTS 023442 000207 ; Routine Size: 20 words : Maximum stack depth per invocation: 2 words PC K 3 :07:57 Har=1 18hanc198s 18:00:2T V2(212) Bliss=16 TOPS=20 AN SEABAREKLE. B 1 s H 207 || Page 0242 SEQ 6226 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS v2(212) PR SNEALESPRSKLL.L1.1 (52) TR PRTR PRTR T DRT T routine PM_THIS_BANK (TEMP_ARRSBNK_SEL) : novalue = begin £23 Functional ocscr{ption ine Lloops on routines that will the error map, and load the blast table interigate the error findgonly faofsng chips, load with all the newl faib.:g rows and columns addresses uithin his T LA LALI ETR LA LA Formal Parameters: ARRSBNK : ~Stores the array and bank select address. l.pliCitln?gts FLG_REG 1 T LRL LRL LR L LR LR T - :ufailing chip gets PM'ed the fault bit licit 0ut in tho flag register gets cleared. Completion codes: none Side Effects: none local BAD_CHIP, !Points to bad chips to be t BAD_CHIP = S_CHIP_TBL (ZERO); 'Find a bad chip to test if .BAD_CHIP geq ZERO then in 'Are there any chips to test ‘Last pattern test for this toiling chip W)= “PAT; LST_ ONONONONONON TT L L TR R TRR e e T eharions 10037 2:8_REG CF_ALL_BAD_CHIP] = CLR_FLG; do in SEED1 = ZERO; 1233 SEED2 = %0'1233°': SE = %0°' 7622°; FLG REG !Init the random data seed! i1 F_ERR_MAP_ENTERED] = CLR_FLG; MAP_ (); mbu SrPAT"= ZERO: do !Clear the all bad flag begin 'Cloar the entered error map flag ‘Init the error 'Last pattern starts at 2ero !Test all failing patterns for this bad chip 208 SEO0243 BSKEL4 REV B PATCH 00 s-fllr-19ss lg 26141 PA:<NEALE>PMSKL4.BLI.1 (52) ~Mar-19 ROUTINE DECLARATIONS 7:57 TOPS~20 Bliss=16 v2(212) LST _PAT = L_AILING CHIP (. EHP_ARR‘BNK SEL, .BAD_CHIP, .LST_PAT); 5 L_ERROR_MAP~(. TEMP_KRRSBNK_SEL, 'Loaa tho error map with failing rows and columns e end until .CHIP_TBL [.BAD_CHIP, PATS] eql ZEROES: L T if .FLG_REG [F_ERR_MAP_ENTERED] then DI T RN TR D TR 'Repeat until all patterns are tested in !Interigate the error map in uncom rt the unccmp G, 0); 2335: mum (ERR_4& (A_B_C_PR ‘ns hnx ARR_SEL_POS, ARRSSEL. S1ZE>, LE mséu.u«SEL_POS’ u«iSEL-SIZE>, .BAD_CHIPY; !Report where CHIP_TBL [.BAD CHIP, FAULT) = CLR_FLG; IClear this chips fault flag m_THIP ='S_CRIP_TBL(.BAD_CHIP)? !Find the next failing chip S TRTR T ETELE ALALE ge 209 'Were any failing rows/cols detected EE;ERROR_NAP (.TEMP_ARRSBNK_SEL, .BAD_CHIP); else SEG0244 6 until (.BAD_CHIP Lss ZERO) or (.FLG_REG [F_ABORT_ARRAY]); G 6340 6341 end; 'Repeat until all bad chips tested end; .SBTTL PM. THIS.BANK: JSR CLR JSR 0000006 170632 0460422° 2 161530 000016 162220 : MOV 18: BICB CLR MOV MOV J BLT m $SAVEL ) :8 CHIP.TBL RS #20,FLG.REG SEED #123 , # seeo 8ICB TRAP JSR FLG.RE 2 PC,1.ERROR.MAP MOV MOV MOV MOV JSR MOV MOV 16(SP) ,R2 R2,=(SP) R ,-(sn m -(5P) PC.L.FAILING.CHIP ‘Ré R2. (SP) CLR Rso{ 28: PM.THIS.BANK ROUTINE DECLARATIONS R R Rl : : : *,BAD.CHIP 3 : : : . : : * LST.PAT * BAD.CHIP,* : TEMP.ARRSBNK.SE,* : BAD.CHIP,* : LST.PAT,* : *,LST.PAT : 6264 6297 6299 6302 6306 6307 6308 6309 6311 6312 6320 6316 6317 N REV B PATCH 00 ROUTINE DECLARATIONS 010, 06004767 163041 33985 18 000004 :‘ - 01 004767 030230°* JSR ~WORD 0103465 000022 - 516 Aoy MOV C.CHIP.MSG 83 -(sp) 032.-(9) 6331 (SP)+, (SP)+ ,2(8P) *S. CHIP. TBL MOV MP R3 (SP)+,(SP)+ | gg fioo.n.s.m ;fl - 12 words ST RTS 6320 -($P) e it | %s abgsg?.cm.mmn JSR 6315 PC,BLSGT2 T o 48: ssfi’fizfis o:l BAD.CHIP,*ot ; BAD.CHIP,* T, #A.B.C.PRIN(SP) J 10 6322 6325 . MOV "‘ztsfi”’ (SP) 'c'gl P : ; : TEMP.ARRSBNK.SE,* MOV 58: : SP, (SP) ARR.SEL .POS,~(SP) #4,~(SP) 0000006 : Routine Size: 109 words ; Maximum stack depth per invocation: .~(SP) PC. IN.ERROR.MAP ; BAD.CHIP, .. : ADD MOV MOV CLR JSR CMP 12° 000100 040422° #4 ,FLG.REG PA: SNEALE>PMSKL .812.1.12(52) ; TEMP.ARRSBNK.SE, ROV MOV 52° 7.CHIP.TBL(R1) v2(212) SP, (SP) BNK. SEL .POS,=(SP) 2,~(SP) -($P) PC ?LSGTZ D6616 8838%.2 5 : g TOPS=-20 Bliss=16 ADD MOV MOV CLR JSR : 838'63 ' 2 : 57 0000006 Ne7es 170336 0 % Ei"‘s” MOV MOV 174546 1 ‘1’88833 030230° R3.=(SP) .MAP ERROR PC.L. % BIT 040422° 16:07:57 15—:1»-193 1?:“:41 MOV JSR ADD g'xg 001456° 616 3 18-Mar-1982 BSKEL4 PC(SP)+ sP o® : —. '2§§ : *,BAD.CHIP : %gs : 52’-S M iRl : BAD.CHIP : 6337 ' ROUTINE DECLARATIONS routine CAL_CHK_SUM : novalue = begin Functional Description: ms globolproutim will calculate the new check sums values for the prom data to bo blatcd into the selected arrays proms. Formal Parameters: none Implicit Inputs: - W_®, BLAST_TBL., ERROR_MAP Implicit Outputs: The error map and blast table is loaded with the new checksum values for the newly discovered failing row and column addresses. Completion codes: none Side Effects: none local PD_SAVE: bitvector [16], CNT CHR_SUR_Cnf, NDER; PD°0 9 Label A; {Stores the prom : 8-3. calculated of b 'Counts number Hte G Shd shostmen valA iStores the number of count to update the check sums with !Leave loop Label L T T T TR L incr BNK_SEL from 0 to 3 do begin : 'fm.'w_u.lifi [.BNK_SEL) !Make the error map look like the blast table ‘Look at all the banks !Is this a bad bank begin TR IE R R L ERROR_MAP : blockvector [4, 512] volatile; incr PD_WRD_SEL from 0 to .MAX_CHIP_COL*2 - 1 do begin 'Look at all the rows and columnsns :'fn'.‘wl'.m [.BNK_SEL, .PD_WRD_SEL, FULL_WRD] neq ZERO 'Is this location enpty 211 § TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL&.BLI.1 (53) T L T T T TR LA LRLR LR LR LA L L L T PRI AL AT LRI LA TR TR TRTR T TN TR TR T T T BSKEL4 REV B PATCH 00 b -lor-"fi g 2 57 4:41 r- 19 SE 0 0246 C BSKEL4 18-Mar-1982 1BRar-108 16:07:57 15:04:21 REV B PATCH 00 ROUTINE DECLARATIONS 2 6396 A : & TOPS=20 Bliss=16 V2(212) PA:NEALESPRSKLS.BLIZ1(53) :: : % 6¢ 3? gg _CNTT==ZERO; 33"9 ZERD; cmSUR_CN the count ‘Clur the iClear PD_SAVETM= .BLAST_TBL [.BNK_SEL, .PDuao SEL. FULL_WRDJ; ' 228(1} incr CNT from 0 to 9 do ICount the # of bits set in 0 = 9 664‘85 ; 6404 : 2283 ; ; : 6405 ugg 64 : 6410 E 6414 : 641 : 64 :: 64 6424i - s : - : : : 64611 6415 6619 wg 2‘6 1 it .PD_SAVE [.CNT) then PD_0_9_CNT = .PD_0_9_CNT ¢ 1; CHK_SUM_CNT = .PD_SAVE<10, 3>; 'How many more to enter = PD_0_9_CNT = .CHK_SOM_CNT; Do we add in more than 3 if .REMAINDER geq 4 then if .PD_SAVE<12, 1> eql ZERO then begin !Set this bit if .REMAINDER eql ZERO !Are we all done REMAINDER= .REMAINDER = 4: iSubtract the weight thcn .PD_WRD_SEL, FULL_WRD] = .PD_SA Eu«_ggt. ~SEL, FULL_WRD L e h 'cmt temkwe end; 64 end; : 64 if .REMAINDER geq 2 : 64 : 6440 PD smm 1> = SET FLG; : 64 if .REMAINDER 3 6445 s 3 : - 64 64 2‘& 5 gfié 6444 !1s this bit already set PD_SAVE<12, 1> = SET FLG: F : e’ m old count CHK"SUMTMCNT = .CHR_SUM_CNT + .PD_SAVE< cnxsm'cnr = -CHK"SUMCNT + .PD_SAVE< sgg = -CHKSUM_CNT + .PD”SAVE<1i , §ase 64 64 'Get this prom dtat word Do we add in more than 1 then begin if .PD_SAVE<11, 1> eql ZERO 'Is this bit already set ISet this bit REMAINDER= .REMAINDER - 2; !Subtract the weight then begin u.ls . eql ZERO 'Are we done [.BNK_SEL, sea02sr | SR 5 ROUTINE DECLARATIONS L-WRD L_WRD eusrrbl. C.BNK_SEL, end; end; ::m.'mubea geq 1 Do we add more than 0 begin :'fm.‘nSAVE<10, 1> eql ZERO begin !1s this bit already set SAVE(IO 1> = SET FLG. this bit the weight !Subtract REMAINDER - 1; !Set REMID " REHAIUER eql ZERO 'Are we done .PD_WRD_SEL, FULL_WRD -PD_SAVE [.BNK_SEL, .BNK_SEL, 3{131 # E35 .PDW~SEL, FULL_WRD BLKST_TBL EW b8 SERREESNENENS-ST TOPS-20 Bliss=1 VZ(ZIZ) PA:<NEALE>PMSKL4.BLI.1 (53) leave A end; 'I.nvo thc Loop end; end; :’fm.‘nSAVE<13, 1> eql ZERO !Is this bit already set begin !Set this bit PD SAVE<13. 1> = SET_FLG; REMAINDER = .REMAINDER - 1; if .REMAINDER eql ZERO then '!Are we done e TR TR LA T R T LRL R L L A T T T TR L L TR A TR PRI AL A TRLA LA L TR LR T LR T L T T T I REV B PATCH 00 SS i BSKEL4 3333 X a TR A A A R e s r e HSEI.. .PD_WRD_SEL. FULL_WRD] 649 EWFDM’ L ea ve = .PD_SAVE: ?DSEL. FULL_WRD] = .BLAST_TBL C.BNK_SEL., .PD wRb_SEI" Ene the loop v " end; :'fm.‘PD_SAVEd‘. 1> eql ZERO !Is this bit already set Page 213 55098248 | BSKEL4 REV B PATCH 00 : ; : ROUTINE DECLARATIONS PD SAVE<14, 1> = SET_FLG; § it -REMAINDER eql ZERO !Are we done REMAINDER= .REMAINDER = 1; i 214 iSubtract the weight 6513 :- 1 63 65 g : 6525 end; 004167 0000006 end; end; PD sm«s 1> = ssr g. t the bit L, FULL”3 .PD_SAVE; BLAST E Emof” L. .PD]mSEL. FULL-WRD] = .BLAST_TBL [.BNK_SEL, .PD_WRD_SEL, gs;s 6?1? 251 65 65264 PA:<NEALE>PMSKL4.BLI.1 (53) Page 55005249 ; mn JBNK_SEL, .nWRD_SEL, FULL_WRD] = .PD_SAVE; T ERROR” sen. ~SEL., FULL_WRD uxsr,tbu. C.BNK_SEL, uus uu sa. w g Ceave the Loop leav :3 3 s 10PS-20 BLiss-16 ¥2(212) 1Set this bit 6499 66 66 6 é 10 ¢ }1 6§1§ 6514 : 15:46:41 begin 6498 : ; : : : 33 3 :: : r&mo 16:07:57 end; end; end; LSBTTL CAL . CHK. SUM: JSR 000016 18: 0404620° MOV ASR ASR ASR ADD i 'l?c' MOV ?999% 000001 SSA I ROR 000070° 6* 000014 000014 sus CLR 28: e MOV ASL CAL.CHK.SUM ROUTINE DECLARATIONS R1,$SAVES né -(SP (SP).RO .?'u.m.ao : 634¢ * BNK.SEL,* 6382 6385 : BNK.SEL T e P 05 (sP) #1,-(SP§ BNK. SEL, * e 5: ; °“”mz L MAX., CHIP.COL,14(SP) 14(SP) 6389 BSKEL& REV B PATCH 00 T0P ROUTINE DECLARATIONS * 83 40 41 41 41 41 1 1 55 B ;: 04 545 5¢ 3 " ‘;;, W G2 R B s3 ¥g ¥g 24 P 5 n 41 241 41 41 41 1 ~1 1 1 1 1 41 0 Bliss=1 v2(212) PA:%M.E»HSK&.BU .1 (53 15 SE 0’52%0 Pa BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 4 4340 005 4 4 66 100001 024 4 4 4 4 4374 000002 1 1 78: 1 5 000002 §21§& 004000 000016 o‘zgg 002000 000016 g;? 1 8? 766 020000 000016 0C 1 01414 §3§ 040000 000016 3 108: 002000 000016 3254 5 1(7)05 020000 000016 1 13 1 10 010230° 000014 wsm ¢ PD.SAVE 177 188: sefi°52§1 s : 6407 : %, CHK,SUM, CNT . PD.0.9.CNT,REMAINDER : CHK.SUM,CNT,REMAINDER 6408 &r BIS g}oooo.msn #10000,16(SP) ; *,PD.SAVE ; %,PD,SAVE 6414 6417 : REMAINDER,* ; *,PD.SAVE 6433 6437 3}.»4 #6 R1 148 |1u 7] g& L16(SP) * REMAINDER,* ¢ « REMAINDER : 6410 6418 6423 BIS #4000,16(SP) ; *,PD.SAVE 6440 p.xé g ; *,PD.SAVE 6460 suB B8EQ TST BLE DEC gg ; 16 | R4 ,2(SP) s(in.m (SP) .R1 128: 138: 148: 158: 168: Ré P ADD MOV ) 118: 178: oooogg ; *,CHK.SUM. CNT ST 8PL RG BEQ E,‘.E W— 000003 Ré,2(SP) BIS 040000 000016 796 1 g CLR ac{'r’ 2,‘} 66 004000 000016 162701 000002 1440 005701 oggm Ré SUB 8EQ 98: PA: <NEALE>PMSKL4G.BLI-1° (53) INC S'G 17 010000 000016 786 83386'2 000016 TOPS=20 Bliss=16 v2(212) ADD INC 8s: “7 162701 455 16:07:57 13-».--1935 13:24.::.1 000016 2 & 8IS gt Q #2.R 1 R1 1 L16(SP) #2000,16(SP) R 1 g ¥R 1 ! L16(SP) L16(SP) L16(SP) : «,REMAINDER : * REMAINDER : *,PD,SAVE * REMAINDER : : *,PD.SAVE :: IEHMDER *,PD.SAVE 6441 6446 6456 6463 6464 6469 6479 228 : : *,PD.SAVE 6496 6488 8IS #40000,16(SP) : *,PD.SAVE 6499 MOV nOV INC 18<sn 1%39) $10(5P) 810(SPJ ,ERROR.MAP (RS) (SP ‘gn.msn : «_PD.SAVE : PD.SAVE,+ : * PD.WRD.SEL * PD.WRD.SEL,* 6514 6515 61S g 'x"u'f 95 JmP ADD 4" (sP) {g:.n 7 #20,5P ; REMAIIDER §309 6513 6389 : BNK.SEL 6382 : 6342 : BNK.SEL,* L S—— G 18-Mar-1982 H REV B PATCH 00 ROUTINE DECLARATIONS 024634 RTS 000207 : Routine Size: 208 words : Maximum stack depth per invocation: 18 words PC & etVR AL :07: - - 3 BT ses°0282 BSKEL4 LRL PA: <NEALE>PMSKL&.BL I. 1 ( 54) Doscription chtion’l L routine will search through the blast for non-zero locations and l thon will blast tested array modules UV proms with the new prom data. Formal Parameters: ARRSBNK_SEL : Stores the array and bank select address. Implicit Inputs: MO e BAD_BNKREG, BLAST_TBL. FLG_REG, RET_STATUS lnlicit Outputs: data clock time out flag in the flag register M ill be set if Ms control logic times out. Completion codes: none Side Effects: none labei L L L L LR L ( 1 2) TOPS~20 Bliss=16 v2(2 :07:57 routine BL_PROMS (ARRSBNK_SEL) : novalue = begin A e TT TRL T MR RO 4 13—0\«»198 24:41 ROUTINE DECLARATIONS T T R LA TRLA LRTR DA L TR TRTR TR R TR T R T REV B PATCH 00 1 18-Ma r=-19 !Leave loop lLabel local PROM_ADRS, !Stores the generated FINISH; if .BNK_NUM_SEC eql 127 then FINISH = 127 else FINISH = 255; WRT z PROR = ZEROES; 'Eublo fi:‘ . prom address !Is this a 16k part nfim !Select the array PROM_.msm 4> = _ARRSBNK_SEL<.ARR_SELPOS. SIZE>;' 'Loop thru all the banks e incr SEL_BNK from 0 to 3 do 1 begin :;.am.uu,nec [.SEL_BNK] in MSQ ‘D= .gfl.b& $<10, 1> = incr ROW_NUM from 0 to .FINISH do !1s this a bad bank 'Load the bank select 'Load the row address select bit !Blast all the new row prom data 18 EO023 BSKELS4 REV B PATCH 00 ROUTINE DECLARATIONS 1-lar-1ggs g 2 r~1982 1 : 25;8 begin : g 0 : 'fm.‘susr_m C.SEL_BNK, .ROW_NUM, FULL_WRD] neq ZERO gaaan : 3 65 623‘ :; :: I36§§ 6 gS : 6591 : : :o : 3 ERRSF (Ell 10, 6605 o 6608 : 6609 :3 6610 2211 3: w§ :: mg g}g : 6618 6619 : 1 BNOWNS N § : : TIME_OUT ‘Load the prom data !Did the data clock time out G0) Ml (o pds.LK_TIME_ caie ou'f=SET_FLG; n.sm ?‘ffi ‘Report the error : 6539 6598 223‘ : b“fn 2295 : : :'fm‘JML_ADDR [MLMR, D_CLK] 659 6599 6600 2281 !Is this table entry not zero prom address the !Select .PROM_ADRS): PA_REG, HLPl ( WRT_RM FULL_WRDJ); .ROW_NUM, se t. T?L .BLAST mm m.n. PD_REG, henew prom datain iva t for the write to complete DELIV(leTY_mS); end; end; PROM_ADRS<10, 1> = ONE; incr COL_NUM from O to .FINISH do e !Turn on the column addresses !Blast all the new columns ns: FULL_WRD] ENTRY NOT zrroZERO this-table MIs then nulbor lulnthe 'L COL_NUM; »3?‘ &m_gg = ,C0L_ ==aaianls prom address m (MLPA, n.cuBASE, FULL_WRD]); . .cuam aust,c L mt‘m (MLPD, PD bWFite o ce-ptete ivait fr thc oem(hm_ns)if .BLAST_TBL [.SEL_BNK, .COL_NUM+ if .ML_ADDR [MLMR, D_CLK] tm"fl e sr cm 10 n§ ’. flSG FLG_mA;?‘ _CLK_ mt lcove end; !Did the data clock time out 0); 5 ): =" SET_FLG; 'Report the error Page 219 SEQ 0254 = ,ROW_NUM; oog tho row number 2§§ 3 3 v2(212 IOPS ALE>PMSKL 0 Bliss~1 é6 ELI .1(56) K 3 2 : 3 3 : 66 6631 66 g 66 66 6635 s 66 2 66 : 6637 CLR_MBUS; end; .SBTTL BL.PROMS: BL.PROMS ROUTINE DECLARATIONS RhSSAVES 6526 5 «NUM.SEC,#77 6561 040416° 000177 8 % #34 000177 000002 =gv #177,2(SP) 000377 000002 ,SP * FINISH MOV * FINISH * ML .REG 040412° 000004 MOV MOV MOV MOV CLR MOV ADD MOV MoV 0000006 JSR 000024 000030 000140 040374" 000024 18: 2s: 000054 50( +epd ¢n$4 5 96’ 20 'Clear the prom write enable 'Wait for the voltage to settle DELAY (TEN_MS); 177770 000001 706 000010° * ,MLREG MLREG,* PROM.ADRS ARRSBNK . SEL , * 6564 6565 SWAB ASL it BIC BIC 38: 040420° MOV CLR 103777 074000 '5 Pa end; 0460374" )62700 seaY52%% end; 000034 6 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (54) end; 0000006 3 18-nar-1988 18:80:40 ROUTINE DECLARATIONS We %o REV B PATCH 00 LA TR TR 1) BSKEL4 4 MOV ASR fl « ,PROM.ADRS *PROM.ADRS SEL .BNK SEL.BNK,* ADD ROV BIC MOV CLR AbD ADD SEL.BNK,* 6567 6571 & L 18-nar-1983 1884320 TOPS-20 Bliss=16 v2(212) PA: ALE>PMSKL4.BLI.1 (54) Pa 02 SEQ 21 RO 2s g‘.m. 4$: #176377 R4 cil. RS i «/PROM.ADRS RS.R SEL.BNK,* 6580 RO, 10(SP) Ré ROW.NUM 6577 * ROW.NUM, 6580 PROM.ADRS ROW.NUM,PROM.ADRS 6583 R R R he RO 5$: = BsERAzAR W23 10(SP) ,RO T.TBL(RO) ~ o = Py X~ D 3% ' - - *,ML.REG ML. GéMEG 6587 — $STMP $STMP1 v ~ $S$TMP2 w St * ,MLREG 31 (SP) Py 6585 * ,MLRE ~ 20 -dn . & X~ sty D *,ML.REG MLREG, * b 8 oy SRe3TV2Y Eo-‘ (gl RS DO 6584 PROM.ADRS ,MLREG g ' 060%76 %6 000032 * ML .REG % 040 72' 00824 gocos0 eS N L 030372° 000042 -] R 828%(‘6" 000034 0000006 LY 0 D RN 040374 * 84g374800744 RZYRACTARLBE Tas;. RS bt z iit£oAg &%£ 558 B 040374° 000020 000036 s R 030372* 0000 000032 6575 ! «,PROM.ADRS R&,R 000010 000010 | SEL.BNK,* St o, e 000626 { “ * ,ML.REG * ,ML.REG 6589 6592 L 12:24:61 13-!0#1935 16:07:57 REV B PATCH 00 ROUTINE DECLARATIONS BSKEL4 18-Mar-1982 JWORD "WORD 025 WORD 176° 556" 1256° : MOV iP.RO ; SP,» W MOV 108 118 000012 002000 125: 040372° oooo15 6595 6577 gfl #2000,R3 ; *,PROM.ADRS 6603 6605 O m BRC"Rass.n0 fi'('sn.nb ¥- - R4.R3 * COL.NUM,PROM.ADRS : PROM.ADRS 6612 R4, 12(SP) ',‘3, R1 g (R1),26(sP) ¥ R1 a MOV MOV BLAST. fBL (R0) ,R2 am R1 ROV MOV ML.REG .ADRS ,MLREG Aba), (R1),82(sP) : *,ML.REG SP) ns A imbR RV % #1464 ,R2 MOV DEC : : * : il :: *,ML.REG MoV BEQ : COL.NUM "1‘1 fi Saflf&'m’ MOV MOV 8EQ CLR DEC BNE * ROW.NUM,F INISH zfisr.mtm MoV MOV MOV MOV 000022 158: 659 8IS .cfi 000024 148: ‘ ; SP,# : * ROW.NUM % MOV 138: | SP.RO 14 178 Ré BISB 040374* 000020 000026 ogwes $G,<§p)(SP) 0gv£.nss.#2,-(SP) 6593 |x MOV MOV TRAP BR INC gz CLRB 030372* | #REP.M7363.MSG,~(SP) ogns.nsc.-«sn #2,-(SP) P 222 ' 5589525; | MOV MOV MOV %' 12 TIME.OUT.MSG O TOPS~-20 Bliss=16 v2(212) L‘.BLIJ (54) PA:(NEALE)P‘SK 1 : LY.R1 $ 42(SP) R 148 R2 : «,MLREG 6613 6614 s S— * M(.REG,MLREG R: MLREG,* : o« $STHP2 : *,$STHPY : SSTMP : SSTMPY : SSTMP2 6616 -lar-19ss 12 2 nsv s PATCH 00 ROUTINE DECLARATIONS 1 w 000020 1% 14. 32 18-Mar-19 168 T 4 u*on 002116" DOUUULU ' 012746 012746 010600 046414 12716 12746 127 * «,ML.REG TRAP S ; 6621 . 6622 : SP,# : 6623 BEQ "WORD 19513 040622° 062706 3885‘1’3 000016 (PC),20(sP) 1 12 #REP.M7363.nss.-«sm -MSG,~(SP) #2,-(SP) ;n.no & #SUPRES .MSG, (SP) .MSG,=(SP) #2,-(SP) BISE go #300.FLG.REG gfi?& 19s: 208: gg INC P 86T q?msn R RS, 43 1$ 218: MOV 188: MOV INC JMP 000014 fr.ao Ré RS, MOV BEQ s2 23s: CLR Q.E‘C 5 (SP) _ 24$: DEC R2 ?gu.m R ; COL.NUM 6605 : COL.NUM,FINISH : SEL.BNK ' : SEL.BNK,* : MLREG,* ?Qi‘a‘“.'ms» § (sn.' ’ %.ns :8 6624 6625 : 3 m;fl MOV % B8IC RICH gg: ; SP,* : 10(R1) ,16(sP) 16(SP). RO R & BIS 22%: *.ML.REG .Agu R1 MOV MoV 81s8 MOV % : 6618 TIME.OUT.MSG o MOV MOV MOV MOV TRAP MOV MOV MOV 178:. Page 223 SEQ 0258 mmn%o(sn R1 'z'kim .m ss' v2(212) ALE>PMSKL4.BLI.1 (54) %v MOV BIT «WORD 7 ;2!;5-20 gliss-! 6567 6634 : =, ML.REG : ML.REG,MLREG R F 6 : *,ML.REG : ML.REG.MLREG ; *,MLREG : «.MLREG : '-'Ifirbz : *,$8TMPI SSTMP :: grm : SSTMP2 ; 6637 REV B PATCH 00 ROUTINE DECLARATIONS gfig g 000044 : Routine Size: 323 words : Maximum stack depth per invocation: 258: 29 words ADD BR RTS 2 #64,SP PC Rs 0 Bliss=1 v2(212) ALE>PMSKL4.BLI.1 (54) Pa 24 850’52 9 6526 g G ROUTINE DECLARATIONS routine VER_BLAST (ARRSBNK_SEL) : novalue = BRI I IAE B s begin 44 Functional Description: After the proms have been blasted they must beread back to insure the data was written corroctly. This data global routine reads the banks prom back andcompares it to the respective prom data stored in the error map. On compare erors the rator will be notified ofa condition D and og:" the error occured. Formal Parameters: ARRSBNK : “Stores the array and bank select address. lmlicgt Inputs: RROR_MAP, DEGRADE_MOD_REG, RET_STATUS Implicit Outputs: On compare errors this banks degrade mode register bit is set. Completion codes: none Side Effects: none local PROM_ADRS, 'Stons the ARR_SEL; iStores which array is selected for pm'ing FINISH, !variable rated prom address ng sector number !Make the error map look like the blast table if .BNK_NUM_SEC eql 127 then FINISH = 127 else FINISH = 255; RD_PROM_MODE; A a s a s a i ERROR_MAP : blockvector [4, 512] volatile; e s s e e RR T R L R R L A T RTR A LA TR L AT A TRLA L AL E TRTR LA PR TR TR PRTR TR TR TRTR TN T . BSKEL4 REV B PATCH 00 'Is this a 16k chip rud mode ‘Load the array select number OS, ARRSSELs'{%SEL<.ARR_SEL_P M SEL"= ARR TClear the prom addres W= ZEROES; _ADRS<11, &> = _ARR_SEL: incr sen'.n_u from 0 to 3 do _ADRS<10, 1> = ZERO; iLload the array select number ‘Loop on all banks 1Select the row addresses ge 225 | SEG0260 l D BSKEL4 18-Mar-1982 18-!01*198 16:07:57 12:26:61 REV B PATCH 00 ROUTINE DECLARATIONS 9‘I PROM_ADRS<B, 2> = .SEL_BNK; § 3: t g& end; 271 2 : : 2;41 : [+ 671 6714 .: 2;%. s:s -s 6719 s 2 : g /4 : 67 'Look at all the columns b = .COL nofi,»ns) DELR U§ 026046 004167 : 1Select the column addresses iSelect the prom address !Ua}t for thg prom data to come out the error 'l&rt 0 D_HSG. CM l (ERR EaSF *SS (A PRINTB d DEGRADE .SEI. SET'LG. end; end; | end; CLR_MBUS: end' 0000006 . IClear out the VER wi?fifll 016701 8282?1 1$: 28: ”prom read mode R] SSAVES 5 M SEC.M77 : gv %77.(5” s «,FINISH MoV #377,(SP) MOV « VER.BLAST ROUTINE DECLARATIONS s g"sg g gz 828226' 000177 000177 76 ‘ :;.aemMAP [.SEL_BNK, .COL_NUM + .COL_BASE, FULL_WRD] neq .ML_ADDR CMLPD, PD_REG] 5 6 1 'R rt the error 0 CON_D_MSG, (ERR_3 'flsr m .S SEL,= SETFLG: B hum.'Rsm (A . mnn GRADE_MOD_RE incr coli.m from 0 to .FINISH do 6724 3 | 1Select the column addresses 66721 6 g 6 s !Select the bank PROM_ADRS<10, 1> = ONE: gqs : 226 SEOge 0261 ; f'f..'.‘fim _MAP [.SEL_BNX, .ROW_NUM, FULL_WRD] neq .ML_ADDR [MLPD, PD_REG] ) 6701 : TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (55) incr RG:_M from 0 to .FINISH do !Look at all row addresses in the blast table 8> = .ROW_NUM !Load the row number !Soioct the prom address l PA_REG, .PROM_ADRS); iva ( WRT lu t for the prom data to come out u§ DELAY (ONE 6%; 36 ' 5 ML.ADDR,R1 : : : «,FINISH 6639 6681 E 18:9%:2 18har-1983 16:07:57 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS % 000020 e MOV MOV MoV MOV s MOV m- MOV CLR JSR MOV CLR MOV 0000006 SWAB 38: 1 do3200 -( - .agsm ‘R RS.R3 Bl BIC Efi MOV Page 898,257227 || SEQ 0262 : *,ML.REG : «,MLREG | : MLREG,* ©‘ ARRSBNK.SEL, e . ; *,ARR.SEL : PROM,ADRS : ARR,SEL,* 6685 6686 ; *,PROM.ADRS u’ 3 Bl .'é% c'u-' i: skl u:.ms SEL.BNK,* 6688 6691 ;. PROM.ADRS i Skl ..““.'" 6699 : ROW.NUM 6693 : PROM.ADRS 6695 : 6696 '] movV gn 4S: %"® 3 0000006 000012 .ADDR ,R1 a‘zmh st ARR.SEL .POS,~(SP) (55) Ll [ ASL 000012 000032 24(R1) ,20(SP) #40,R0 TOP$S=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 ASL ASL 1 ogsmm %1 S 18-Mar=1982 Cl.g 81 : ROW.NUM,PROM.ADRS MoV : «,ML.REG POV 000026 m - MOV 2\‘ 68: CLR i 78: 8s: : .ADRS ,MLREG :: -.51#2 G, * gx : =, $STMPY 6697 : SSTMP Q.E‘C : SSTMPY gc MOV & : SSTHP2 : ROW.NUM,¢ RO 12(SP) RO 6699 BSKEL4 18-Mar=1982 -Mar=19 REV B PATCH 00 ROUTINE DECLARATIONS 1 §3§§§. 88885‘4 10230° - 0000006 e 860373 98: 108: 18: . - CON.D.MSG MOV MOV MOV MOV MOV TRAP MOV a;.-(sn RS.=(SP) u.o.n;m.-(sm #3,-(SP ir.no 6 g.no ADD #DE .MOD.REG,RO ¥ (SP) B JSR ADD INC gz 8IS C.Ll cn.g : 148: 158: . (SP) -(SP) fedh, LSPU2 TOPS=20<NEALE>PMSKL4.BLI.1 Bliss=16 v2(212)(55) PA: ML .REG : ««,ML.REG p 26 8 s£398,%%° | ‘ s ; SEL.BNK,* : ARR.SEL.w 6703 ; SP,* : SEL.BNK,* 6704 ; SEL.BNK,* : * ROW.NUM * ROW.NUM,F INISH : *,PROM.ADRS 6701 6693 : cOL.NUM 6709 6711 8] * COL.NUM,PROM.ADRS : PROM.ADRS 6713 oV a ip '%Ms : '-'.'fitbz 6715 e : g : COL.NUM,* MOV = 138: . "WORD - WORD MOV MOV 8IC 177770 sy ) i‘n"t’?'éflsn JAAP(RO) , 24 (SP) §2 ASR ASR ASR 060624° m' gvv cvc .im“ 10 w3 W 16 000010 002000 88 16:07:57 18: %2 a gt A% ASL ‘ — 6714 ; =, SSTHPI SSTWP 1%, ; SSTMP2 N7 G B REV B PATCH 00 ROUTINE DECLARATIONS 74° 888838 ’ . 13-“--1955 16:07:57 1g:u:41 MOV MOV ac?; nk.ma R1 46(R1),20(SP) sm? .MAP(RO) ,20(SP) TRAP TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (55) Page 229 | $E0 0264 | : *,ML.REG : *.ML.REG -WORD S aou.o.nss : 6720 66 LWORD 56 MoV ng.-(sr) ; SEL.BNK,* 6721 b6 ¥ 56 ¥ 6 6 33358" 3 )26¢ ¥, ¥ 1266 ¥¥ ¥: i 266 66 266 66 26 RS.=(SP) #A.B.PRINT,=(SP) #3,-(SP) RO 4 ASR R #DEGRADE .MOD .REG, RO ASR ASR ADD 040624° % BIC MOV 177770 000001 moos 16 000010 19:: 178: : MOV JSR ADD INC g.'t' INC P : : )26 188: 10 MOV MOV MOV MOV TRAP MOV 56 867 JMP MOV 3%‘“’3) hfio (SP) ’#1,-(SP) ‘ SEL.BNK,*§ (SP) ,=(SP) [ &u»uz #16,5P R ‘msn R2 43 .ADDR,R1 D26 D267 D267 BIS8 HoV MOV RO 5 R1 J10¢RT) 02677 BI¢ BIC8 7;%.:5 # [ AoV H: 27000 8IS DO¢ m MOV D270 : Routine Size: 248 words ; SP,* ; SEL.BNK,* 10(R1).16(sP) W : ARR.SEL.* R2.RO mov o’r S 18-Mar-1982 16(SP), 10(R datsp) RS, .*” .1 10(r1) 6722 : : COL.NUM : COL.NUM,FINISH : SEL.BNK 6719 6711 ' 6688 : 6727 : SEL.BNK,* : *,ML.REG : ML.REG,MLREG : * MLREG ; MLREG,* : * ML.REG : %,MLREG : *,MLREG : MLREG,* REV B PATCH 00 ROUTINE DECLARATIONS BSKEL4 : Maximum stack depth per invocation: 27 words -Mar=19 : TOPS~20 Hu-l v2(212) -llar-l’gs 182 PA: «mg 1 (55 3 230 553’5265 RSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS -Mar-1982 16:07:57 A:<NEALE>PMSKL4.BLI.1 (56) TOPS-ZO Bliss=16 rwt;.n:iVEI_Em_MSK (ARRSBNK_SEL, TSTED_BNK) : novalue = £33 i Functional Doscription good blast the rows and lutcd all that sure made and rnin i ¢ write s arn octod se columns ha ‘nn succnsfu Ly blasted. error and that the array be replaced. single chip failures ade mode ban s tolerated and does not cmtitun an error. singlo chip failures in uon-dogrm node banks is not tolerated and will cause an Formal Parameters: _SEL : ARRSBNK Stores the array and bank select address. Implicit Inputs: - REG. FLG_REG, DEGRADE_MOD_REG & Implicit Outputs: none Completion codes: none Side Effects: none local !Stores the selected bank number !Stores the selected array number BNK_NUM, ARR_NUM; ARR_NUM = _ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>: !Load the array number incr SEI'.BNK from O to .TSTED_BNK - 1 do !Verify all banks O T e T T A TRTR L PR LA TRTR LA T DRTR TR TR DR TR T T T T T Mter the rcu avo bnn blutod and the proms are read 'f on? warrents the array to be replaced. uvac errors are not to}ontod in any bank _NUM = _ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; !Load the bank sel number !Is this a bad bank AR O T :'fm..w.u_nfs [.BNK_NUM] MR v2(212) n A T T T 6731 s-llr-flsi 1?:24:41 begin FB_CHIPS (.ARRSBNK_SEL): 'Find any bad bits : gfls‘_cmr_m (ZERO) geq ZERO !Were any bad bits found begin ifmfl.fiREG [F_UNC_ERR_FLG] !Was it an unc error Pa SEQ 231 266 J 1?:44:41 13—m-1935 16:07:57 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS :: 3 g67852 6 : 3 () g;g : 6 : - 679 3 gm ; : ; : UNC_ERR _MSG, 0); (ERR_11, m;? (REP_PRINT,TM .ARR_NUM); ° PRINTB end then bain !Report the error o !Is this not a degrade mode bank PRINTB (REP_PRINT,” .ARR_NUM); 679 229 end; 3 6800 1 6806 P 32 55395257 ERRSF (ERR_12, MEM_ERR_MSG, 0); !Report the error end: end; end; maux_ssu. = .ARRSBNK_SEL + .INC_BNK; : TOPS=20 Bliss=16G.BLI-1° V2(212)(56) PA:<NEALE>PMSKL in if not .DEGRADE_MOD_REG [.BNK_NUM] 6791 679 : : else 18-Mar-1982 'Select the next bank end; w— 000020 .SBTTL SSAVES SR X n1 VER-ERROSMOV #20.~(sP) ADD MOV CLR JSR W’ 0000006 000030 m' 0000006 18: P, (SP) #6,-(SP) -($P) :§ $GT2 MOV ARR. SEL .POS,=(SP) MoV R %n MOV ADD % cg J ASR 060420° VER.ERROR.MASK ROUTINE DECLARATIONS fi ADD MOV # -(SP) fio tsP) .SEL ,POS,~(SP) : : ARRSBNK.SEL,* : +_ARR.NUM : SEL.BNK : * ARRSBNK.SEL,* #2,-(SP) -($p) ,BLSGT2 -(SP) ?n.aux.nec.(sn R2,=(SP) : BNK.NUM,* 6731 6766 6768 6770 K REV B PATCH 00 ROUTINE DECLARATIONS 716 177770 0271 BIC #177770, (SP) BCC §6 YA JSR PC,BLSGT2 :fib.sr ADD D271 0271 0271 0271 MOV JSR CLR JSR - 1 ogo%g 174 165114 67 027174 ST Bor 0 2 000002 040422° 057300 032767 097902 027210 BEQ 001414 02 11 m:.ga 027216 037552 . ; BIT TRAP 0¢ U (SP) ,=(SP) PC,.FB.CHIPS -($P) PC,S.CHIP.TBL » 28: i MOV ADD 4 #2.FLG.REG g B 3 -($P) aw;.noo.m.(sn ) MoV 2758: o‘gc ROV o oeshs g " & : N3 8 027 30C &D LORD 02730¢ 0273( JWORD JWORD MoV MOV MOV 027310 02 027316 5% 057356 D2733¢ 0273 D¢ 027346 027350 i s o 76 , 4s: 58: 68: w B ST ADD ADD INC P BLT TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (56) 233 | 29¢.2 SEQ 0268 | Page ; ARRSBNK.SEL,* : 6775 6777 ; 6781 : 6784 m——— * ¢: ARR.NUM, o 6785 (SP)+ Zuonno g«c.ean.nss fiov: OREP.PR;NT.Ré,=(SP) (SP) MOV ' e e 007042 16:07:57 H~Mar=1988 18:0.:2 gag o g8 714 800870° ;}% G 71§4. S 18-Mar=1982 BSKEL4 14 MEM.ERR.MSG O «(SP) ntr.n;ut.-(sn .~(SP se =(SP)+ ms.u.msn #10,5P R1 R1,24(SP) 18 e : 6783 6790 . u.”.' : 6793 : ARR.NUM,* 6794 .:o~ : «,ARRSBNK.SEL : + SEL.BNK * SEL.BNK,TSTED.BNK 6792 6774 ogos 6769 6768 L S 18-Mar-1982 ,‘.@"5‘5””“" 00 ROUTINE DECLARATIONS 037388 068308 0000 : Routine Size: 112 words ADD 0 0 10 : Maximum stack depth per invocation: s 18 words #10,5P e 16:07:57 134»:--1935 13:24:41 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (56) 3 : Page 234 55005269 ; 6732 §733 BSKEL4 INITIALIZE CODE SECTION BGNINIT; loul 'nordtm-o ptable entry temporary storage locations Bron nint the entire system rom maint a single array module iProm maint a single bank Bank ¥ pointer L T 'Where more one ptable built :f LSUNIT gtr ONE hen gfii’m‘%&’fis’" ERRHSG’ 0); m'.fll (OE:H“. W" SEL_MSG); R L T L T T Hardwareptab 'Supervisor logical unit number variable T L R L TR T T TR L T r to g;‘pron int Drive opt on code 1 = ml=-11a, 0 = ml=11b Are the t- ponntors correct flag lmrt the error 'Report what the error is 'loport that the first ptable built will be used 'Only one drive is to be tested LSUNIT = 0; i Because of the i Y eh t of this am if not (READEF (EF_START)) R LR 'flsr (E II.L cmHSG 0): T L FRINTD the anand will be i ML=11 system only the start ¢ : recognized to start program execution T L LR r to be prom maint Array module number to be prom maint ress lh uo register T AA L TR v2(212) : INITIALIZE CODE SECTION ' 'Was the start command used to start the program !Report the error ‘loportruatihc error is _'Goto tm cl.nn up code section ! The contents of the first p-table built (lun 0 ) ! will be the selected progran parameters. all other remaining g P=-tables built will be ignored. R LR TOPS=20 Bliss~1 Al BLI.1 (57) Isbttl *INITIALIZE CODE SECTION' T TR T TR TR LR TR LA L LR D T T N TR REV B PATCH 00 ?‘ .FI"SS 18000 L Page 235 sta%2%0 INITIALIZE CODE SECTION -n.r-1935 16:07:57 if (GPHARD (.LUN, PTBL_PTR)) eql ZERO !1s the first ptable present then 18-Mar-19 G’O) fllSSHSG .fisLUNg (ERR 2=a$F sps PRINTB e TSTR TR 1) . BSKEL4 REV B PATCH 00 in 'Report suppress message 'Report returning to drs> '‘Drop this unit DODU (.LSUNIT) 'Goto the drop unit code section .........‘.......'....‘..............'..'....... LA TETE TR TR TR TRTR TR PR LRTR T TRL L L e DOCLN; : 0 Bliss=16 v2(212 ) 10p PA:s-20 BLiss-16 ¥2(21 (57 !Report the error PRINTB (ous nss. RET_DRS_MSG); else 4:41 in i Input to the program the hardware ptable ! .2@31.. and sgorc them ’nto the tugporary ; storage locations SYS_HWTBL = .((.PTBL_PTR) + zo'g') ARR_HWTBL = .((.PTBL“PTR) + %0'2'); BNK_HWTBL = .((.PTBL_PTR) + 20'4°); BNK_NO_HWTBL = .((.PTBL_PTR) + '§')ARRTMNO"HWTBL = .((.PTBL"PTR) + %0'10°); RH_BASE WWTBL = .((.PTBL_PTR) + %0°12'}; DUT HWTBL = .((.PTBL_PTRY + %0°'14"'); OPTION MWTBL = .((.PTBL_PTR) + %0'16'); CORRECT_HWTBL = .((.PTBL_PTR) + %0°20°); end; l i Before we start, lets see if the operator ; entered his parameters correctly. if not .CORRECT_HWTBL then 'Are the inputed parameters correct PRINTB (LFS); 'Print some Line feeds to be neat Print the suppress message RET DAY Med) 2 (ONEMSC: PRINTD(.LSUNI T); DODU DOCLN; end else iPrint r turn ng to drs> message Drop this unit !Go to the clean up code section begin ! Build the run time parameters © arrSbnk_ scl = zeroes; BASE_HU at_DUY = DUT'MUWB[ !Load thc arrl £ bank soloct variahle uith zeroes 'Load the ml=11 base ad?ross into ml 'Load ml_dut uith the divices drive solect number i Set up 16k or 64k mos ram run time parameters Page 236 | SEQ 0271 B 6 BSKEL4 REV B PATCH 00 g INITIALIZE CODE SECTION if .OPTION_HWTBL eql ML11A B TOPS~20 Bliss=16 v2(212 ) PA: <NEALE>PMSKL&.BL 4.BLI.1 (57) 'Is this a ml=11a option 16k parts !Load the column base offset 'Load the bank increment voriablt N0 'Load the ariay increment variable !Load the banks number of uston variable 'Load the array select ”}'f on constant ‘Loat the bank select position constant 'Load the maximum columns per chip variable g 'L ] [] 1 ;l E% $3k== 3 i£3%% 23 28e2 ol then 0 7:57 4 4:41 & 'Load the column base offset variable 'Load the bank increment variable ;Load the array increment variable 'Load the banks number of sectors variable 'Load the array selection position constant 'Load the bank selection position constant 'Load the maximum columns per chip variable % 4 else lad ime parameter for masking re system, an entire array or 69 '1s the entire ml=11 system to be prom maint P 2&3SRR A R OO 69. 940 in URT AW (WLCS2, DRV SEL. ML DUT): ILISN‘gAgg°=6E -~ TCTSTED_ARR = . if .ARR_MWTBL then mi?srso_nm = 0; RAND PASSTM= 8; TSTEUIgK = &4; -~ begin iSelect the drive under test 'Read and save the sizing 'Do two random data passes !Test four banks per array ADDR [MCMR, S1ZING) -1 !Is a single array to be prom maint 'Load loop variable to test only one array passes of random data Do three !Test all four banks on the array _SEL<.ARR_SEL_POS, ARRSSEL_SIZE> = .ARR_NO_HWTBL:; iSelect which array to test Pa 37 SEQ 0272 REV B PATCH 00 INITIALIZE CODE SECTION 7:57 TOPS-20 Bliss=16 v2(212) -lar-l’gg lg 26:461 PA:<NEALE>PMSKL4.BLI.1 (57) 232;- thon 6974 else 66329 6968 6969 6970 6971 69;‘§ 69 !Is a single bank to be prom maint s? TSTED_ARR_= ‘Load L variable to testdata only ’ one arra 4 of random 'Do m‘.”fium == 13.1; 0; PASS M !Test only one bank TSTED BNK _SEL<.mSEL_POS, MRSSELiSelect S1ZE> =which .ARR _NO_HWTBL; arnhtoprom maint ARRSBNK_SEL<.BNK_SEL_POS, BM(SSEL SIZE> 'Select uMch Sanl to prom maint end ! The hardware questions were not answered ! corrcctly. Masking eithera system, array 69 6978 i or 69 was not selected. Report the error ; and rerturn to DRS>. 6 6984 6985 6 L - § 6995 299 'Goto the clean up code section end; end; ! : VER CZMLCB ADDED PM_COUNT % PM_COUNT = 0; 1 t suppress message end; 699 6994 poODU (.L 'Print returning to drs> message !Drop this unit %l_.fl. 6 699 'Roport the error G)- : .Pogort what the error is PRINTB (GEHSG. PRINTB (ONE_ G. RET_DR | 2987 6 2.mEM G. ERRSF (ERR PRINTB ( 6 'Init the prom maint counter e [} Added this init code of this structure here. The prom maint error log tablo tores the number ? detected all bad rows and or columns toct dur the run time of thisdiwtic. ln this table is stored e T e —— M and a count of hov-nn‘ bodmsmdorcolmns p. detected withib each This code initializes this structure t? zeroes before starting execution of the exerciser. ' A SWNL=O R T R # the : unit #, board IR R A 18-Mar-19 if .BNK_HWTBL 6963 e T T TR TRLR L L LR T LR T T T T TR TR TR L L T O T L L L L I I e T T BSKEL4 P 38 568952;3 | BSKEL4 REV B PATCH 00 15 FHLOG .index, WRDS0] == 2Z LINIT xngrxAsze CODE SECTION M %sufi .M [ 54 1 go.ennMSG #GTR.MSG,=(SP) o R #2,-(SP) L T 1$: R 104414 1032° o 2%: : 6833 ; SP,* #UNIT.SEL.MSG, (SP) : .MSG,=~(SP} ?:.RO : SP,» #12,SP : éi o s [ : : H 8LL.CHD.HSG #START .MSG,~(SP) .MSG,~(SP) #2,-(SP) 0000006 000006 ; : : ‘.RO #2,-(SP) SR o 39| 883 ok PSS3% TN .SBTTL gg5Enins g LINIT: D —Cgflmb %g - ~ @ — Pa SEQ 0274 | ENDINIT; - ggfl‘ D o e 2o R 'Clear word 2zero !Clear word one fil% E index, WRDS:1] }g 004 !Clear the prom maint error log table incr indox from 0 to 127 do 13 1 B I ISR INITIALIZE CODE SECTION : ‘.RO : SP,» guuxr.no : 4 8 4 .SP : RS s « PTBL.PTR g LUN : 6834 N wwr 6 18-har1983 8; O .se INITIALIZE CODE SECTION v2(212) 0 Bliss=16 1 (57) PR cnEALE>PMSKL4.BLI. Pa 3 SEQ 02 = - -~ - - = mumuwulw,.swsw.u.:u A S”~ BSKELS REV B PATCH 00 E i - =1 4S: w it ea Coe0Or0 5 . %" 2. 10 000010 A0é 504 20620° z;‘; 177760 108: 41 | Pa TRTR TR LR L 550’52 6 A R TR TR el w g e 34 23 322 TR «,SYS.HWTBL T T LR e e ] (- L-] 000012 16568 - )1 ‘ ; 1664 TM » 23 i6’ e b oz i 5767 01670 3564 e 1 * ML .REG ML.REG,MLREG * ,MLREG * ,MLREG MLREG,* * ML .REG ML.REG,* +LST.TSTED.ARR #4 ,RAND .PASS %TSTED.“ L T 07 .fi‘: il - _.’ j ") g % 376" £ | cha 15767 12767 - 0372 . 10° 16 12767 15767 15767 15767 saas> N s_. INITIALIZE CODE SECTION B3qeq REV B PATCH 00 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (57) LRI R EER A YA A L LR L LR BSKEL4 1,4(SP) 0$ = ,ARR.HWTBL 6941 6952 6955 6956 §T.TSTED.M 0,RAND .P 6 ARR.NO.HWTBL ,* .Ouowm 695 696 G BSKEL4 REV B PATCH 00 INITIALIZE CODE SECTION ’ CLR 5] 82832. ’ 12' 1256° . 1316° ' 0000006 m') 000177 000014 : Routine Size: 339 words ?gx 3}"“;':62 : ARR.NO.HWTBL,* MOV MOV MOV = (SP) BNK. SEL .POS, 'f =(SP) 14(SP) ,=(SP) ; BNK.NO.HWTBL,* MORD 5 2 "WORD -WORD 1144"° 556° 4 : :: : 8 TRAP e138: i 1%8: 15s: MOV MOV MOV MOV TRAP MOV MOV MOV MOV TRAP MOV MOV MOV MOV TRAP MOV TRAP B ADD CLR LST.TSTED.ARR TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (57) :is RAND . PASS #1, TSTED.BNK MOV 118: 13—»»-19 16:07:57 1?:24:41 MOV MOV MOV MOV MOV 14* i 1 ' 6 18-Mar-1982 nmgm.sfl..-(sm ARR.SEL ,POS,=(SP) #4,-(SP) ulu’&tu«.sa.(sm : Page 242 SEQ 027 6966 6967 6968 6969 6971 e 6982 HO.ERR.M3G #H0.MSG, = (SP) .MSG,=(SP) #2,~(SP) gn.no 4 #SUPRES .MSG, (SP) .MSG,=(SP) #2,-(SP) RO 4 #RET.DRS.MSG, (SP) “MSG.=(SP) #2,-(SP) gr.ao 4 ksum.no 1 K ”6639 PM. COUNT : 6983 : SP,* : 6984 : SP,* : 6985 : SP,* : 6986 : e 6950 s INDEX,* 7017 . : 6998 7015 Ré s INDEX é LOG(RS) % CLR PM.LOG+2(RS) :: INDEX 7018 7015 : 6806 CLR =s°|.v INC P BLE ADD RTS R4 RS Ré RG 4177 15$ #14,5P PC : INDEX,* BSKELS4 REV B PATCH 00 : Maximum stack depth per invocation: 1 767 1 : Routine Size: 1} "e'38 18:9%:3 ;2'.-'5 M Be181%sn INITIALIZE CODE SECTION 176526 19 words LSBTTL LSINIT::JSR TRAP RTS & words : Maximum stack depth per invocation: 0 words LSINIT INITIALIZE CODE SECTION PC.LINIT 11 PC 3 sea%02%6 2019 | : | v2(212)s TOPS=20e Bliss=16 onekie A1 P 18-Mar219 1088 18:00:07 Barc BSKEL4 REV B PATCH 00 MAIN PROM MAINT CONTROL CODE Page 264 sea%52%9 ?Sbttl 'MAIN PRCM MAINT CONTROL CODE' TR TR D T T T T g Main prom maint control code BGNTST; 3“ ional TR cription ipti : Dfi uzory system with its uostly arra tochnology has the facillocations in its memory arrays. fty to offset around known bad memory PR PRL ! Funct om column ba 553"‘.1; is on gomt ? o:f:o: fic s?:si dress u’xations special a on done s This test -odu e. Initially, these memor am s are tested for on the array ory tester by Memory Manufacturing. T TR prom T TR LR The design of the ML11 has also provim lO’lC that when under software control will qduto an arra nodu n ° futting information. This logic is to bo utilized when addit ‘ re disco~ %‘ R 7049 7031 7038 7054 77855 7039 Program Execution Overview 1. Via software quostionscc ion g'ronpt the operator for progru parameters and run time parameters which rols the programs oxocut on. 2. While in ECC-DIS Reads to find all bank under test. checks and faulty data chips (bits 0 to 35) in the numbers chip table 22(1«!":0119 tbl’M faili s tterns into the bad 3. If a % Err occurred during Step 2 iMlc in dlta #m ic llodo 7058 7059 (bitsngzto';g ‘n y fault 1 " CRC Chips Storo u’lit“a’up nusbers and v R El“failing mttom into ‘chip_tbl’. Do not perform this step. 5 4. While in Data Diagnostic Mode do single step DMA Writes and Reads and :i::'t’ E} hiling chip in the bankundtr test with a failing ern. 5. while in Data Diagnostic Mode do Single s; read all words in all the sectors of the just loadcd chip. | A AR L A O T writc do Mass Bus writes Store faili R A TR TR T TRL T T L L T T L T T TRL LAL T P vered bad after the system has left tho nnuhctur ng fac Lity. MAIN PROM MAINT e BSKEL4 REV B PATCH 00 6 CONTROL CODE ata. T TR 16:07:57 TOPS=20 Bliss=16 v2(212) 1 -Har-19gs 1?:64:61 3ntuch read compare the read chip data to the PA:<NEALE>PMSKL4.BLI.1 (58) forced chip L E TRTR LA TR TR LR T T T T T T On a cmgarc error load the failing Row address into the error map at the failing Sector number. 6. Repeat steps & and 5 with all failing patterns for this chip. 7. lntori?atc the error map for this cM? and lgad 5'\1 blast table at this chips nibble and bank position with failing Row and Column offset information. Zero the error map and repeat steps 4 thru 7 for all chips in this Bank under test. 9. failing Zero the error map and chip_tbl and repeat stogs 2 thru &J:r all remaining banks under test within this array mo- for this array module and see if the newly discovered nibble row and column offsets plus the old nibble Row and Column offsets exceed 14 for any one nibble position. TR LA T TR TRPR LA 10. Interigate the blast table at each bank under test 1f any bank under test within this array module L sets :g::od 14 nibble off- T Mask as many errors as possible (maximum of 14) and leave the remaining errors unmasked. TR A T T VIS W= . T e e R e e -l-l-n-.-l-.-.—l-.-ns OOVRNOWNS NN =O 7108 NNNNNNNNNNNNNNN NN e e e e T E e T T O R R R J 18-Mar-1982 Report to the operator a condition 'C’ message and continue program execution. Else : continue program execution. 11. At each bank under test within this array module and at newly discovered nibble Row and Column offset position only, calcuLlate the new check sum values. Store the check sum value?fiinto the blast table at their respective Row or Column position. and at their only. positions offset Column and Row nibble newly discovered inoffset new the with proms UV test under %:::tggz module 12. At each bank under test for this array module 13. Read the module under test UV blasting was successful. proms back and verify that Page 245 | SEG 0280 | K BSKEL4 REV B PATCH 00 : : : : : : : : 3 : : 3 : 7126 7127 n 7 71 MAIN PROM MAINT CONTROL CODE Continue program execution ] else ] ;} 5 : 7 ;}28 ! : 7 7 Report the unsuccessful Prom blast. i i : Report a condition 'D' message and abort further program execution and return to DS> 71%% ! 14. Verify the blasting has masked the newly discovered grror: by repeating steps 2 and 3 at all tested banks within this array module. 3 ;}2 : ! At each iteration the table storing faulty chips and patterns : 7164 | If not zero : 7150 i : ;}g : 3 : : : : 7141 TOPS=-20 Bliss=16 7145 7169 7147 ;}23 7151 7156 i : 7156 ! : 7155 ;}gz then 1f this is a degraded mode Arraf then 1. Ignore single bit errors 2. ! : : should be zero. ! ! ! : Call Array out for replacement of UNC errors occur If this is a non degrade ! mode Arra; then : Report 2. Report UNC errors suspect single bit errors. errors : 7159 ;}g? : : : 7 ;}64 i : 15. Increment the Array Selection count and repeat steps 2 thru steps 14 until all present Array Modules have been tested. : ;}65 : 16. Report to operator that Array Maintenance is completed. : 71 i Formal Parameters: : ;};1 i Implicit Input : 7175 3 : : F: i 1. ;}29 : 71 ! suspect HW errors 17. Abort program execution and return to DS>. none ;};% ; - DEGRRB?_AOD_REG. BAD_BNK, SBE_LOG, WRT_BUF 717 | Implicit Outputs: ; - none - v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) then 1 il =Mar=19 If blasting was successful ] & ] 6 }g-flar-19ss }g:gi:g; Page %?6 SE@ 02 REV B PATCH 00 MAIN PROM MAINT CONTROL CODE - BSKEL4 : -Har-19gs 15:07:57 18-Mar=1982 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) ! Completion Codes: none ! i Side Effects: : T T T ocal TE!PTSTED BNK é !Temporary storage for the number of tested banks per array !Temporary storage for the array £ bank select variable ' i Prompt the operator that the T ] ! prom maintanence program has begun !B and which drive is selected. i I i PRINTB (ONE_MSG, BGN_MSG): eRlNTB (DRV_SEL_PRINT, .ML_pum); T L LT L TN T T O T L N I T T T O N T none - i This outer Loop will pm all selected i! arrays. It will pm from either one array to the selected i i . drives max arrays present. incr b:m;SEL from 0 to .LST_TSTED_ARR do n !Test all selected arrays BREAK DEGMDEMOD_REG = ZEROES: g'aradcmode register 'Clnr the {’Ell’ TSTEDB‘l’(. TSTED_BNK TEMP_ARRSBRK_SEL = ARR!ORSEL; stor into t s into of t teste r¥ ll.::d m st d banks iLoad the array £ bank sel into ten:~§t¢>ray:ge = ZEROES; BAD_BNKREG FLGREG= ZEROES; Clear the 'Clnr the fl.a ro istor: flags ster This inmr loop will find new failing rows & columns within bad chips in m banks of the selected arrays. Either 4 banks, if pm'ing s{sllrny r 1 bank if pm*ing a single bank will be tested. R do TI T PRINTB (ARR_SEL_PRINT, .ARRSSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>); L Prompt the operator which array is presently selected ; 'Prom maint all the failing chips in this bank n SEL POS. MSSEL SIZE>): PRINTB (BNK_SEL_PRINT, .TWARR$BNKSEL(.?K this bank 'Print bad chips in bank iProm n ntthe bad chips intothis PM”THIS_BANK(Tmmm §eu) SE% + JINC_BNK; 'Increment the next bank SMRM TEMP_ARRSBNK_S iDecrement the tested bank count TSTED_Uk TEH’ TED LE'IdP FB_CHIPS (.TEMPTARRSBNK SEL) Page SEQ 02 2 L) 3 41 until (.TEMP_TSTED_BNK eql ZERO) or (.FLG_REG [F_ABORT_ARRAY)): 'Repeat until all banks are tested i The blas table has now been loa? ed with all ; newly fa Lling rows and columns w thin this tested array. if .FLG_REG [F_ABORT_ARRAY] 'Was the abort array flag set during prom maint ) !Report that prom maint for this array is aborted then PRINTB (ONE_MSG, ABORT_MSG) else !Interigate the blast table in ?fifmw,m (.ARRSBNK_SEL, .TSTED_BNK); 3 fi : 8 3 3 48 49 g? BL_PROMS (.AMM-SEL): : g; it .FLG_REG CF_D_CLK_TIME_OUT] then exitloop; : 54 VER_BLAST (.ARRSBNK_SEL); IVerify that the blast was successful : 7 gg e tverify that the blast masked out the new failing rows/cols : 7258 : 1 : 7265 : 3 3 else : 59 : n CHK_SUM (); end; !Calculate the new ’ 3 'Report that the PRINTB (M'gs. RET:DRS_fiSG): 3 : 71 ;67 S 12746 DODU (.LSUNIT); DOCLN; 127 127 1 104414 001000° . ram is completed ‘Print r tumsng 't'mr» uss‘a: 'Drop this unit 'Go to the clear up code section 72 ENDTST; : !Increment to the next array rator that the : program exogz:ion has ended PRINTB (ONE_MSG, END_MSG); : prom data check sums 'Blast the proms ui't’h the newly failing rows/cols mguu,s& = .ARRSBNK_SEL + .INC_ARR; ! Prompt the !Are there any additional errors to blast 'Print no additional errors message JSEL, .TSTED_BNK): VER_ERROR_MASK (.ARR 55 F 0 : ’fm.‘w,u.ase eql ZERO \ PRINTB (ONE_MSG, NO_AD_MSG) 2’5 : Page 248 SEQ 0283 $T1: .SBTTL $T1 MAIN PROM MAINT CONTROL CODE JSR R1,SSAVES 3 MoV MOV MOV lgt.nss.- SP) #2,-(SP) RO : SP,» MOV TRAP nén.nss.-isn 4 : 8 “9) MAIN PROM MAINT CONTROL CODE TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) R NN = REV B PATCH 00 18-nar-1982 1884320 a BSKEL4 BENRGRER ARR. SEL (2] 206 7207 2 M . . 7205 7220 R S w @ L) TM. 8- w - 0 & o WM mre -1 > = E2 7210 ~o or- va\m wvim [ aq; 208 209 a 806062 2%: SP,* € TM .POS.'(SP) UK.SE §i5268040422° 000100 040422° 3s: O=-D 000100 D=~ 000014 w Rmeam - =2 10F T 172320 TEMP .ARRSBNK . SE , * 7224 #2,.~( ( ) PC,BLSGT1 . (SP) ?.SE%."]NT.'(S’) SP,* = 805002 et 7202 ufin SEl’..PRINT,=(SP) 0000006 SOCOC 7195 & » VIR 0000006 SEQ 0284 7203 L -t Tb=ee - aar % Page 249 SP,* R4 LST.TSTED.ARR, 040434° 0460614° 000002 vhrhrtr ettt TOPS-20 Bliss=1 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) :gaeugé& PRINT,=(SP) gageas: 0404 -4 el BTSSRI S PN NNNN 7 16716 127 1274 01 10441 e 1607 MAIN PROM MAINT CONTROL CODE §2§g§2§g§§§§s;§§§§§ BSKEL4 REV B PATCH 00 i #14,SP TEMP.ARRSBNK . SE , * 7225 TEMP.ARRSBNK. SE, * 7226 *, TEMP.ARRSBNK . SE 7227 TEMP. TSTED..BNK TEMP. TSTED.BNK g‘00,.FLG.REG z;OO.FLG-REG 7237 OMT.HSG -(?) 7239 B 7 18-Mar-1982 MAIN PROM MAINT CONTROL CODE 13-n.r-193§ 1?:24:4.1 TRAP 2° ' 1 28 040420° 7 48: 1764" 556" 8% MOV JSR ST BNF tsm.au =(sP) PC,IN.BLAST.TBL gab.u:.m : TRAP ¢ MOV MOV MOV MOV MOV ST 1 1 000022 ' 58: g .SP ARRSBNK . SEL , (SP) 78: MOV MOV JSR ST ADD ADD .SEL, (SP) TSTED .BNK , = (SP) PC,VER.ERROR. (SP)+ ms.m.m.sa 'f .SP 9s: C”E mg 060402° 8s: 1222' ' 108: 16° 0000006 000022 169 words depth per invocation: (SP)+ I go MOV g{: 6 175540 #NO.AD . MSG, ~(SP) .MSG,=(SP) #2,-(SP) ‘RO PC,CAL PC,BL . ’ B8R ARRSBNK . SEL ,=(SP) JSR MOV JSR ' . 1"7‘4n i% 14 BR JSR INC MOV MOV MoV TRAP MOV MOV MOV MOV TRAP MOV TRAP TRAP ADD RTS 22 words . CHK . SUM .SEL,=(SP) . PROMS FLG.REG PC,VER.BLAST R ?}.M .MSG, (SP) -MSG.=(SP) .;ssn X 4 #RET.DRS.MSG, (SP) -MSG.~(SP) +=(SP) fr.no 4 gmr.ao 1 :.3 #22,5P PC 16:07:57 PA:<NEALE>PMSKL4.BLI.1 (58) TOPS=20 Bliss=16 v2(212) seo’fizis | Page 250 : 7237 : 7244 : : 7242 7246 ; SP* 3 7244 : 7252 : : 7254 7255 : : : 7261 : * ARR.SEL : ARR.SEL.,* E 49 7250 7241 7203 7202 7268 2 SP,» ; 7269 : SP,* : 7270 : 7021 BSKEL4 REV B PATCH 00 0} 0311 004767 177252 }' g2 .SBTTL PC.$T1 ] 1 PC 6 words : Maximum stack depth per invocation: 0 words Page 251 SEQ 0286 T1 MAIN PROM MAINT CONTROL CODE 6 137 031376 : Routine Size: 3#:21353 8% e MAIN PROM MAINT CONTROL CODE 0 Bliss-16 V2(212) ALE>PMSKL4.BLI.1 (58) : 727 | REV B PATCH 00 CLEAN UP CODE SECTION -mmm 8:05%:0 BSKEL4 Jsbtel "CLEAN UP CODE SECTION' ; 7273 ! 4 ;Si Clean up code section : 787 3 : 7 1 ;8 14 1 14 1472 1474 177770 10441; Routine Size: A -ADDR,RO 10(R0) , = (SP) (sP) ,Ri #40,R1 n%.bon RO R1.10(RO) -ADDR,RO 10(R0) ,=(SP) (SP)+ h;o BIS RO.R1 RTS ¥2(212) SEQ 0287 | Page 252 | ; n{ DR, RO R1,10(R0) (SP)+ (SP)+,R1 : : v ML, ec : M(.REG,MLREG ¢ «,MLREG : MLREG,* ; *,ML.REG * ML.REG,MLREG 7272 7277 ; *,MLREG : «,MLREG : MLREG,* : 7272 : 7278 PC LSCLEAN CLEAN UP CODE SECTION JSR PS.LCLEM RTS PC TRAP & words R1,=(SP) & words .SBTTL LSCLEAN:: 177676 Maximum stack depth per invocation: fi MOV MOV MOV BISB MOV MOV MOV MOV m\\; MOV MOV ST MOV : Routine Size: 31 words : Maximum stack depth per invocation: o 1502 I.CLENSJ CLEAN UP CODE SECTION B8IC 71'799;6.100 BICB #7.R1 000007 000207 004767 +SBTTL LCLEAN: MOV 1 040374° 1 }go 000010 6 012601 031476 BLizs=16 CLR ENDCLN 101 142701 85 1 e iReke M1 10PS=20 aencu.u. 1 1 76° 1 1 10 1412 011 1414 152701 0 0374" 013 14 1424 0101 10 14 16 0460374 " 14 1 10 } } 1 sl 11452 18-Mar=1 1 0 words end eludom ; OTS external references BSKEL4 REV B PATCH 00 CLEAN UP CODE SECTION Ll 3 - g g P m IR TATETE] ; B Tine: 563 ¢ §g 7.8 1530° 3¢ + 9592 data words 1 g ? r-1 TOPS~20 Bliss=16 v2(212) 1 r-‘lgss 16:07:57 18:2‘:‘1 PA:OEAL:M BLI.1 (59) .GLOBL BLSGT2, $SAVES, $SAVEL, $SAVE3 .gt% s'S.AVEs. BLSPUZ, ILSG;L BLSDIV Pa 53| SEO’SZ%B ' sL A ABORT_MSG ADJACENT _CNT - o Paski3 Psklé 3447 Pmsklé 2 914 Pmsklé o y; 72 23924 5 ALL_BAD_CNT ARRSBNK _SEL. Psklé 2 527 Pmsklé 2 ARRSSEL_S1ZE Pmskls ARR_SEL _PRINT Pmsklé ARR_TYP AS_PRINT ATIN ATTN_REG Pmsklé Paskls Pmsklé 26114 2433 7 E;fi 9 ggg 401 4 41 4 4191 e 11 & i1 7 174 731 4905 4937 4960 4983 5002 5019 5 SEQ 0289| i } WO &R B 63 0 4341 4354w g;gz 54.1;; $2%0 507 4014 401 401 5037 4841 5076 5195 77 9 188 1967 1892 1974 4365 30800 30eow A 43728 1 5480 44619 6244 5214 622¢ Pmskl2 9 L4 “gg Pask Pmsk L4 1730 1916 1997 211 Pmsklé 727 W Pmsklé 4014 E BA_PRINT a’m PackL4 Pmskl4 Fnskg S BITS_TSTED e Pmsklé 4466 BGNAUTO BGNCLN BGNDU BGNHRD BGNHY BGNINIT BGNMSG BGNPROT BGNRPT BGNSF T BGNSW BGNTST 37 11 3 BAE_REG 888 5 I 21 2714 Pmsk L4 A_B_PRINT i BAD_CHIP 52 Pmsk L4 A_B_C_PRINT A 1 7 ”" . S e Pmsklé ifs’ 531 g §,gg o 4016 08 434 gn B8 o9 0% owmom 8195 377 B 34sie OB 35ais oo 3%ed Pmsklé A_B_N_PRINT F . o : 4 e ARR_SEL_POS 97 81 76 Pmskl Paskls S “181 Puski3 Pmsk( Pmsk 4 s;g Pmsk Pmsk L4 123 Pmski 1 Pmskl3 114 Paskl3 Pmskl2 Pmskl4 55 3 52 11 i 1 035 939 1113 W 4?4.0 4524 45470 | 4232 5 11 7 s7178 5755 1869 11959 1952 S 1 4810 186 1248 4827 3 63 4828 2053 4279 4831 1899 1907 1982 1 20 4 4836 27 4372 4842 “Lolmlxlllllll EF E ERERERERERERERE .4.56..8.... T =MWO eLPSRGtois)etl’dAe o - e ahy s fi“ POS —SEL_PRINT PR~ 3 IUEX LA Pmsklé Pmsklé Pmsklé Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk 9754 989 O=-\~ 990 bol 9938 - 31 2427 3451 7 4050 2070 3872 4041 3873 4050 & 130 & 1 L) 4540 6197 A 6932‘ 49351 50 93950 5026 = 2‘“‘?‘ w -lo Pmsklé& A‘IB ”“‘s w BNK_NUM_SEC ~ RN m“ummmwmwmmmmmm S Ul &D_'ffl afi,%é;fi“%s%; ..'.-.-. ©oOooooOONOOOOMOD@OE® SEQ 0290 9' 5735 3870 40 61;; L2758 54328 997 4 127 B & 4 SA4 4060 4142 4999 7 £958 4980 4981 5442w 5482 5735 4821 5715 4527 4530 4533 1 21 5 Pmsklé ii 1877 didis # § 36234 oe 1907 76 3558 5 2038 4176 4 4216 1108 1182 1243 2220 8% 7 % §g95 31 2993 2996 % iiii 2 3 gEs 5 77’ Mk@ g SEQ@ 0291 36294 36314 3816 4127 mw 41 $i3% a3 36378 3639 3646 i 6 R&e@8aId L4a7s 3646 coCPUR .l COL_SEL COL~SORT coL=SuM ERR COMP CON-Bn3e CON-CMSG COND-MSC COPTED, REM_TBL seege Paskie (A Pmsklé . 37 Pmsk 4 385¢ 41 5 is st Pmskle Pmskls & Pmsklé Puskls CRCTP Pskis Puskls 1 Pmskls Pasklé 1 4599 CS1_PRINT CS2 PRINT Pmsklé Pmsklé 54 CUR-SUM C_HTBL Paskl4 Paski2 294 4] CRESEL CRLF CSSREG CUR-MOST DATA .CLK DAT DATTMDA DA_PRINT DA”REG DBY REG DB2-REG DCK G DEGRADE_MOD_RE 7 DESCRIPT DEVIYP DFP DIAG.REG_SEL DIF DIF_COLS DIF D1SABE DISPATCH DLT DN_1_0_LOAD DM_RAND_LOAD OM_RD_TRANSFER DOOU Pmsk L4 Pmsk L4 PmskL4 Pmskls Pmsklé 3283 o 2 SEQ 0292 4231 gfi;c Uame s 2618 9 4190 1, 653 26400 2653 298 2801 3067 30864 31214 S878 4503 3284 o 1358 4599 W46 1 599 402 Pk 1003 PmskL4 Pmsk L4 PmskL4 Pmskle 3282 54 L4 Pmsk Pmkls Pmskle PmskL4 SML' g 1%0 CRCS8 CRC A 3566 o § PrskLé Pmsklé CRC-B CRC-NIBBLE 537 355 Pmsk 14 L4 Prsk Pmskle coPY CORRECT_MWTBL CPAR cRC CRCSA 33 7 724 4628 4676 4708 4 s ¢ 7 ¢ yiom 33 31so 1073 03 1615 W seer 1185 1247 : soe 3003 %0 1852> 1§§; 1063 1998 938 1112 1041 1062 $61# 3814 2814 s ugas 9 2 1652 B sz 52158 52334 5301 44218 42330 41928 41SIH %3' 41058 Paskle 385 ¢ 8@ 4% 4o 05 357 Paskl® askis 16 1 Pmski3 Paski? 36 Pmsklé 210 3947 Pmskle Pmskls $210 Pmskl4 3311 Pmskls 1508 Paski2 34 euskld 284r Pskis 10 2+ Paskie 945« 136 (7] 210 378 356 1850 187 1861 1891 PmskLé . 3190 it 55 skt 1143 1126 Pasklé ¥ 426 1188 1192 21 STiee S$031 307 3089 31250 3155 4gle 1906 4617 1521 1% 1951 196 19w 19% 2om 1308 1257 131 127 1309 u): 78 [ 5410 AW 5498 AR 5782 0 i BNNESBWSS W e e el e bR R s SEQ 0293 B - & DS_PRINT 110 1183 1245 905' 166 938 21604 97 450 10354 45254 116% 1192 1205 1254 1267 5100 5129 935 109 1244 23884 2399 3459 35084 3514# 3533 e ‘ég. i i I 35924 4054 896 936 1200 1262 899 16104 1151 v SneNsatkes 3 23 T 2§SO klé 5358 o s W i g’\fl’“ . 528%% 250“ Ofll—igfl e — 3 L = wn = 33 o o & e o AN e e s o LT e 8 STV R R R R S SN W s e (e (e (e e e e o e o S NN & -3 T ®¥ 23 3g 561 N DSSNBR_OF _TESTS DST g gfi!!fi!ifi! £ DONE _HRD DPAR DPR DRVTYP DRV_PRAM DRVSEL DRV_SEL_PRINT DRY 3538 1185 ERR_10 ERRTM11 m_1§ Pmsklé Pmskle Pmsklé ERR1 ERR ERR ERR & Pmsklé Pmsklé Pmsklé Pmsk L4 5132 1054 1 18; 1;0 ] 33: 1 ;4 zl. 4 1142 1192 1205 1074 4 SEQ 0294 ERRTM ERR”8 ERRTM9 ER_PRINT E_BIT E"DIS Pmsk (4 Pmsklé Pmsklé Pmsk L4 Pmsklé Pmsklé 1 1014 441 “8 41 531 5§34 726 632 4149 5231 4190 4231 FRIL_CHIP Pmsk L4 198 1260 1705 174 17713 1746 11 174 1719 1752 g?gl. 4602 4845 3805 5070 ERRTMS ERR FALSE FAULT FB_CHIPS FB_CRC_CHIPS FB"DATA_CHIPS F IELDNAR FIFTY MS FINISA FLG_REG FMT16 FOUR_MSG FULL_WRD Pmsklé Pmsklé 1;: 1 1 1w on 13: Pmsklé 1;90 Pmsklé 1;0 Pmsklé 4737+ Pmskl4 l.ssgPmsk L4 “2 * Pmsklé Pmsklé 655 1414 Pmsklé g?“ Pmsklé 1 f 2 1 s; 477 4769 g;sr S 3 371 4 4 1354 :uwcc_g F_ABDRT_ARRAY FTALL CHIP T F_ERR _ENTERED ?;m v “%7 12 Pmsklé 1% Pmsklé 1214 4415 =t 113‘ 25 Pmsklé 117# Pmskle F_UNC_ERR FLG A GEN_RANDOR_DAT CPHARD GPRMA 2 g1 Pmsklé Pmsklé Pmsklé Pmsklé F-FLG_ERR ! 187 1267 17;; 17 470 1725 45068 1728 4507 1731 45408 173 4542 50724 5088 5116 5186 5192¢ 5204 5135 S S718# 5741 3873 3933 5026 5027 5091 5096 1968 1983 i 18934 1 w21 3 484 2 3792 33;9 ;gé 501 018 1116 1187 1249 1737 19234 44615 19384 l.gg' 19534 4278 1968# 45158 19834 i o6# Pmsklé Pmsk L4 Pmsklé FUNC FUNC_1 FUNC_, FUNCTM F-HWTBL F_RAND_DATA 7 1851 g;z ] 2119 FUNC_& 736 1254 Pmskl4 Sen S54 403 g 9 1 & 675 gr 49 Sg It 502 33;2 4959 4980 = ‘238 & 5135 6030 57641 57 ugg 5748 4813 %fi 1 %;; 2 ;m 1923 1938 1953 11 * Pmsk L4 1 8") 9; 200 }s02 ;83 i ; 1902 1917 1932 1947 Prskie 871" 87 Pmskl3 3934 4982 fl}; Pmsk!2 Pmskl4 11 Pmsklé 4981 1962 1977 SEQ@ 0295 = e ans R] gp=y " oo o TeRtBlmm“swxm 7 a0 ~N s g § 5340 53484 5360 83 184 2611 %;90 19# 2630 54334 54438 @ P ~ AR b 5730 110 N % 2% 899 1249 2 s s e e 113 1186 1248 940 1114 1116 1135 1187 1189 SEQ 0296 202 1120 1139 1183 1245 724 896 936 110 1§21 1 9 938 112 1185 1247 1133 1200 1262 4812 4712 L Y (i (e 692 5124 4673 4% 5125 m 1 7 n 1 724 1133 el 688 5705 100 722 723 724 725 1110 1183 1245 4402 RS el 0= ~N~ 2” o ~N~ N e ~ T a% 655 '~ o f SN 8 3033 661 CONNNO 0 (] Q"fiflnb “SSSeeSe NS b 35" S ~N NS S b RNRO WON33SNLeR *SWSS o P gt < A4 &~ &Ho &~ e &~ BB S WNNNANN N NN S S S 8 — YTM 7 670 863 e g e g [ = o e IS NN X xR r 3 2 S 3% "2 7= zzzganazaaaa o M 939 720 H=a 4 1 3 33 e- w xx 714 728 g;%W.WTBL mflz 5 23y OR_OLD_NEW_PD OuER_FL0u Pmsklé Egsmc.lfib PATS 0_1_PRINT FALo PAT_SEL 53944 5424 3818+ 427 424 Lo588 426 %Efi 2?}: 2718 Pmsklé 1§g 4831 2783 15‘4 2 ekts 3000 410 TR Pmsklé 6124 PA_REG Pmsklé e ig Wb g4l 'A 'A ZEFEEEE g 5 Pmsklé 4775+ 5 1 § =s 2 REoE A Cona- T 2 smmsssaas & l 333 o4 ' %m g8 F3IEEEEE T - 1 3 853 %?ég 1 i;%é 1 8Z9 20644 1894 2055 1909 4477 1924 4481 &4 I 4673 4705 5 5125 5210 5228 3 1 gotz 331 gou 's'ozg '5'332 s - 4399 4400 4401 4402 4403 44044 55094 795 43998 44008 44014 44028 4403# 5 'AB0 5124 5207 5225 1939 4507 B8 ggi 0 S0104 Sg}g M 5024# B 5025 5o %E%- é;i B Wr WS RB ML Y W W B s =l o om w mom o BoR oW W M SE :g:gflqi'cm R M 2790 o oug W ouE = Pmsklé 13?3 17 1 1 ;fi; R 2 ONE MSG ; OEI_US w0, g B0 SbR, W OAR9 B33 B 2 G, 9 9 Z 99 i logg %498 o o i 5RO 1255 1268 Paetid y 1% "3; gt 8 6 1143 1 s pn WR do S 226 208 . 791 0w308 o 1§§’ ;z% :::t{: sits Pmsklé 2 ¥ orrser ONE > BB = 2 Lo DS 2 * P - 5 g e O S N & b o b o e e e i o R b 29 o ‘9?1' i G 4426 &g‘ P ~N - el candd wrdh o o wem o O aad 2 o-ggfl v [ wre - X s =g - w o s =y 2618 2630 2639 on 08 img40954 fe L1614 62?7! ‘320 4234 2630 4691 G798 4501 7% Gr St TM~ -t BN o3 —> O e ~N ey g S 5305 “ 3 NN a0 %~ N> NN 7 M 2550 s 2561 4533 4626 9 4931 4946 Ha S NA' SE S = B8 E (V. ¥ wv sgae g £5% N 2611 wn 4 b 5392 L2 SHeREs (5490 5391 3 gzzg gy ggzg’ . %gg = g 7 ol i = W = 77 41 g A3 W ® 2 83 P SESRIFREN A o) g...r-o§ o — 4 wbad B Rand -y < N =b acd wa ks e 4- b i e R SRLRRINTE e R NN x ; 8- o i i v odt d8 3 SRR S9N e s D 8 8 868 i §§§ss> §g e o e = = b b b W=D g< £EEEEEES 3 33 DEBDDDDDDDDDDDDSN NN o & & ; 3 R .‘ 0 nl # 7 4 0 5 3 o s o e B e 49528 Bk A Lo 7 9 790 4 1124 5705 I{ J 5706 9 4106 5393 5394 2639 2640 2652 4530 4533 4552 4590 4954 4967 4975 4977 5395 ROW_PURGE ROUSUM' RO_TL R_C o ROW_SEL gEAR- s s%Mg¢ paskl4 Pmsklé mhE 3995 Pask(4 backid 331 Pmsklé 21 40 g‘%lz. Sflt Pmsklé Sg; Pmsklé Paskle $974 Pmsklé 2} ? [ Pmsklé 4 421 i s L WS40308 407oN B B 599 §§ 04 489; 62 6135 4041 35?5 44280 §9? 18 327 397 B 1% ; 1439 fiSi 7 8 gg 427 dE 4093 O 347 44236 % 1 gy 409 l;:ssflz 23%}0 %‘l‘l% 135 Pmsklé %lg 205 Pmsklé ‘zsg SEED1 Pmsklé SEED SEL _BNK SET_FLG SIZE Pmsk L4 v 117 53790 3 4§ 4238}o 4108 4241 ;221 6117 50!3 i‘g’ 4{13 5091 4394 %488 J’sz 5094 lggg 5096 2551 7 2640 1 2653 2730 2731 2732 2801 1189 1202 1251 1264 39; 2403 2408 2415 4497 4500 4525 4634 4667 ; z 45954 4B17H b1 b] 5091 5119 1608 Pmskl4 1610 1659 1660 4819 43078 7 18 1 18 g 14 2312 1 18 1719 17;; 5279 1734 4621 5215 1737 4627 5233 mm 1151 1184 1 937 7\ 1035# 1077 12?0’ 122& 21604 ‘gos ‘2350 46264 STARTTMSEC Pmskls 2 399 dwomomoe 3458 SRR T Puskl3 6r 146 Paskie 2868 0 M3 WY sor Paskie it ; : Posklé S 53878 5452 paskls 3859 2037 35074 sues 3513# 3613 5233 1731 &4 5135 121& Mo 1 3608 Sggg 172 4233 5106 ;5 1 010 3553 5096 3§§§ 4 1 - ’223' @ 2? 4 sg% 1725 6192 5024 3536 2;9 g‘ 4§;g 4974 3533 4515 Pmsklé i SUM_MOST oS HSG eL T SYS HUTBL 3 BLAST.TBL 182 468 SN_PRINT SUMMARY e dris 79 220 1713 %fl.} - o 798 470 Pmskle 78 Pmsklé 3775 sk g}gs g199 Pmsklé4 14% 170§ SFPTBL SIZING 3 co o5 mite Sl BE B OBS W OB we wa SEC_CNT SEC_NUM SE siis e o 5300 g oo g1.ons.s0 BASE_HUTL R, ROW 8 o g ROW-128_255_OFF ROU-MOST_OF ROW_NUM ~ TEN c 8 35228 35284 o 3533 WRT_TRANSFER WRT XFER_MSG :r_tm_xrsa_nsc 3 @WNNOON SNt B\ b oo g5:&..5; —2\NQ0 N SN &8 el 2 woues NS 3 NERA N =2\ vl L A 3 28358e Fepesee et Sy b G 1 1850 i12 $95% 1 3808 32704 32764 3277» 3278# 54584 54794 5720 5753 5766 1139 4520 335 nn 991 1 205 1254 1267 1652 1651 S § 687 688 4533 1652 467N 2626 S¥Pes vn—-fla‘c 1 5 4501 & W VI Ownes T b Rran 1192 2 WRT_PROM_MODE WRT_RH 1485 433 X)) WRT_CHK_TRANSFER 1142 1072 1 WRT_BUF 1438 S5 g 1 Pmsklé i, =1 WCE WC_PRINT WC_REG i N ssp_ERROR_HASK e=3ne VER_BLAS =5 AN o UNS UN%.DRV ;RR_HSG SRS N, S UNC_ERR_MSG UNITS_PR UNIT_SEL_MSG ON TWO_MSG UNC UNC_CHIP_MSG b TRE TRT (W TMP_BLST_TBL S g e o g o e BB TIME_DUT_MSG IR TR TEN_RS tmtsunsc TXRT TEMP_TSTED_BNK I TEMP TEMP_ARRSBNK_SEL 4846 % 4648 1035 4712 690 538 692 1112 12‘5 694 695 ZEROES llll 2 xxxxx Togxdek Y]1 WE(DExxx("Soo SB 2 kkkk SEQ 0301 | F PSECT Storage Map Name §8 W SOWNS 035016 040440 $CODES ?888 0 SPLITS 075456 005450 sXxxs 103126 000324 $XYZ$ 103452 000010 . ABS. 103462 000000 /Start Length File ; Module Ident 31 7 B0 Paskd BSKELD REVS rasse 1 6 76 RANDOM RANDOM 103452 000010 LSTAD LSTAD e s e wem B16PNT BI16PNT 120 1 NONE 8 SEQ 0302 |m:§m: 81 $ B1 % 5 $SCODES B1 J03 Elon : naw $ m ' SEQ 0303 ies e~ Map of Global Symbols $ s . §§§ . ( ot s Hm* ' g&i "“fi e “%; fi% 1 : gfooes ObES g{f 000116 scooeg ODES BSKE )GO: BSKE goosg X{t ODE % $CODES $SCODES )2 $CODE et 08 Bt feme $CODES $CODES BSKEL )0244 Lg 002626 $CODE : gfii oo m' 20 !flfi m'” A $ e BanpOY 0 450 ScobES BSYAD. 0 0 0 SCODES $CODES BSKEL4 $CODES ODE
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies