Digital PDFs
Documents
Guest
Register
Log In
AH-S511B-MC
July 1982
305 pages
Original
12MB
view
download
OCR Version
11MB
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_bw.pdf
OCR Text
MODULE BSKEL1 XTITLE SEQ 0001 = ‘*CZMLCBO ML-11 FROM MAINTENANCE PROGRAM' ¢ 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 OF DIGITAL EQUIPMENT CORPORATION: DiGITAL DEC PDP DECUS UNIBUS DECTAFE MASSBUS GENERAL INFORMATION PROGRAM ABSTRACT SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS NOWVMISWWN=O OPERATING INSTRUCTIONS O ASSUMPTIONS ERROR INFORMATION o &~ W NN S-S0 TABLE OF CONTENTS PERFORMANCE AND PROGRESS REPORTS COMMANDS SWITCHES FLAGS HARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DJALOGUE QUICK STARTUP PROCEDURE 5.0 DEVICE INFORMATION TABLES ¢.0 PROM MAINTENANCE TABLE REPRESENTATIONS 7.0 TEST SUMMARIES 8.0 MAINTENANCE HISTORY Sea 0002 1.0 GENERAL INFORMATICN 1.1 PROGRAM ABSTRACT 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 COLUM: 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 65%%2 92€IE§§$OVERED BAD AFTER THE SYSTEM HAS LEFT THE MANUFA(CTFIELD SERVICE HAS REQUESTED THE CREATION OF A PROGRAM THAT WHEN RUN WILL TEST A GIVEN ML-11A OR ML-11B 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 OF FSETING 525&“" ENTIRE ML-11 SYSTEM, A SINGLE ARRAY MODULE OR A SINGLE THE PROGRAM WILL EXERCISE AN ML-11A OR ML-11B WITH ALL ONE S, ALL ZEROES AND RANDOM DATA PATTERNS TO FIND ANY ADDITIONAL FAI LING MEMORY CELLS. 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. :g:a;; CENTRAL PROCESSOR WITH A MINIMUM OF 28K USABLE MAIN 2. (CONSOLE TERMINAL. 3. RH11 OR RH70 DISK CONTROLLER. SEQ 0003 4. 5. 1.3 1.4 A MINIMUM OF ONE ML-11A AND ML-11B ABOVE RH CONTROLLER. E SYSTEM ATTACHED TO THE 1 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 1S 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 (CHOUS). 2.1 COMMANDS THERE ARE ELEVEN LEGAL COMMANDS FOR THE DIAGNOSTIC RUNTIME SERVICES (SUPERVISOR). THIS SECTION LISTS THE COMMANDS AND GIVES A VERY BRIEF DESCRIPTION OF THEM. COMMAND THE XXDP+ USER'S MANUAL HAS MORE DETAILS. EFFECT SEQ 0004 F STARY RESTART CONTINUE PROCEED EXIT ADD DROP PRINT DISPLAY 1 START THE DIAGNOSTIC FROM AN INXT}:t STATE START THE DIAGNOSTIC WITHOUT INITIALIZING 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''. FLAGS IFLAGS THIS PROGRAM USES THE DIAGNOSTIC RUN TIME SERVICE FOR PROGRAM PARAMETER INPUT, ERROR REPORTING AND MESSAGE PRINTING. IT 1S 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 IS THE *START® COMMAND AND CONTROL C AND ANY OTHER DRS> COMMAND MUST BE AVOIDED. 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''. 8Y DESIGNATED IS NUMBER DECIMAL A BELOW, IN THE DESCRIPTIONS SWITCH ETFECT /TESTS:LIST EXECUTE ONLY THOSE TESTS SPECIFIED IN /PASS :DDDDD /FLAGS :FLGS NUMBERS, FOR EXAMPLE - /TESTS:1:5:7-10, THIS LIST WILL CAUSE TESTS 1,5.7,8,9.10 TO BE RUN. ALL OTHER TESTS WILL NOT BE RUN, EXECUTE DDDDD PASSES (DDDDD = 1 TO 64000) SET SPECIFIED _FLAGS. FLAGS ARE DESCRIBED /EOP:DDDDD JUNITS:LIST THE LIST. LIST IS A STRING OF TESY IN SECTION 2.3. REPORT END OF PASS MESSAGE AFTER EVERY ODDDD PASSES ONLY. (DDDDD =_1 T0 64000) TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE - /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12 (UNIT NUMBERS = 0-63) EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS:1000/EOP:100 SEQ 0005 6 1 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH 5 WILL BE EXECUTED, 2) ALL UNITS WILL BE TESTED 1000 TIMES AND 3) THE A END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES ONLY. SWITCH CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE "'/TES:1-5'' INSTEAD OF "/TESTS:1=5"". BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND. START RESTART CONT INUE TESTS PASS FLAGS EOP UNITS X X X X X X /! X X X PROCEED X DROP ADD X X X PRINT X X X DISPLAY FLAGS ZFLAGS EXIT AS MENTIONED BEFORE THE PROGRAM 1S DESIGNED TO TEST ONE ML=11 SYSTEM AND IS EXPECTED TO RUN FROM START TO FINISH OPERATOR INTERRUPTIONS. WITH NO 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 EFFECT HOE HALT ON ERROR - CONTROL IS RETURNED TO LOE IER* 18R+ LOOP ON ERROR INHIBIT ALL ERROR REPORTS INHIBIT ALL ERROR REPORTS EXCEPT FIRST LEVEL (FIRST LEVEL CONTAINS IXR* PRI PNT B0E UAM ISR RUNTIME SERVICES COMMAND MODE ERROR TYPE, NUMBER, PC, TEST AND UNIT) INHIBIT EXTENDED ERROR REPORTS (THOSE CALLED BY PRINTX MACRO'S) DIRECT MESSAGES TO LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES BELL'' ON ERROR UNATTENDED MODE (NO MANUAL INTERVENTION) INHIBIT STATISTICAL REPORTS (DOES NOT SEQ 0006 1 H APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) INHIBIT PROGRAM DROPPING OF UNITS IDR EXECUTE AUTODROP CODE LOOP ON TEST ADR LorT 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: OE : IER:BOE /FLAGS:L 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 (IN DECIMAL). ONLY ONE DRIVE IS PERMITTED TO BE PROM MAINTENANCED PER EXECUTION OF THE PROGRAM THEREFOR ANSWER THIS gg%g}igzswlTH *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 'y 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 SOF TWARE 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 T0 BUILD P-TABLES FOR MULTIPLE DRIVE TESTING. BECAUSE OF THE [MPACT 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 ''Y*’ 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 A DIAGNOSTIC: GENERAL, BASIC AND EXTENDED. GENERAL ERROR_MESSAGES ARE ALWAYS PRINTED UNLESS THE ‘‘IER'* FLAG 1S SET (SECTION 2.3). 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. EXTENDED ERROR MESSAGES CONTAIN SUPPLEMENTARY ERROR INFORMATION SUCH AS REGISTER CONTENTS OR GOOD/BAD DATA. THESE ARE ALWAYS PRINTED UNLESS THE '‘IER"’, "'IBR" OR “‘IXR'' FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GCNERAL 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 IS 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_S 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 1S NOT PROM MAINTENANCED AND THE ERROR CORRECTION IS EXPECTED TO CORRECT THE FAILING DATA SEQ 0009 K 1 FROM THIS CHIP UNTIL F%LD SERVIC E CAN REPLACE THE ARRAY FROM WHICH TH1S CHIP RE Sl DES. ERR_6 CONDITION B THIS INDICATES THAT A SECOND ALL BAC 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 ;gHgggRECT 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 afigxggf 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 L 1 DATA THE PROGRAM VERIFIES THAT ALL NEWLY FAILING ROWS AND COLUMNS KAVE 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 NLOPPED 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®. m 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(O) 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(O) STORES A TRUE OR FALSE VALUE AND HAS NO DEFAULT VALUE. SELECTS WHETHER A SINGLE ARRAY MODULE IS TO BE PM'ED. 3. C_HWIBL : INITIAL(O) STORES A TRUE OR FALSE VALUE AND HAS NO DEFAULT VALUE. SELECTS WHETHER A SINGLE BANK IS TO BE PM'ED. 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(O) STORES THE SELECTED ARRAY MODULE TO BE PM'ED IF PM'ING SINGLE ARRAYS. THERE 1S NO DEFAULT VALUE. 6. F_HWTBL : INITIAL(176400) EESSEESTHE RH CONTROLLER BASE REGISTER THE DEFAULT ADDRESS IS X0°176400°. 7. G_HWTBL : INITIAL(O) STORES THE DRIVE SELECTION NUMBER OF THE SELECTED DRIVE TO BE PM'ED. THERE IS NO DEFAULT VALUE. 8. H_HWTBL : INITIAL(O) STORES THE DRIVE OPTION CODE FOR THE SELECTED DRIVE. YES = 16K MOS RAMS NO 9. I_HWIBL : INITIAL(TRUE) = 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 5& CALCULATED BY ADDIMG THE ROW ADDRESS TO THE ROWS SECTOR NUMBER. ERROR_MAP 1 I I ROWS 0~127 1 SECTOR 0 I I I I i[ I ] Rous 0-127 1I SECTOR 1 I I I i i 1 |[ Rous 0127 I T—— - |I SECTOR 511 OR 127 I ] MAIN BLAST TABLE LOCK VECTOR OF FOUR BLOCKS. THE BLAST TABLE IS EACH BLOCK REPRESENTS PROM BANKS 0 TO 3. EACH BLOCK HAS 512 WORDS. EACH BLOCK IS FURTHER DIVIDED INTO TWO SECTIONS. THE UPPER SECTION REPRESENTS ROW PROM DATA 0 TO 127 (OR O TO 256 IF 64K CHIPS) AND THE LOWER SECTION COLUMN PROM DATA 0 TO 127 (OR 0 TO 256 IF 64K CHIPS). MAIN BLAST TABLE [-mmeeee I SEQ 0013 I 1 SEQ 0014 } ROWS ADRS { % ------------- } 1 COLS ADRS 1 { ROWS ADRS } BANK 0 I 1 | e1 1 ] { -------------- { BANK 1 1 1 COLS ADRS 1 1 === | 1 % 1 ROWS ADRS } ------ --------} BANK 2 1 1 COLS ADRS } ROWS ADRS 1 1 % ------ % 1 1 1 1 f --------} BANK 3 i COLS ADRS } 1 I 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 10 WORDS, IN EACH WORD IS STORED A BAD ROW OR COLUMNS RESPECTIVE NIBBLE NUMBER, ITS ROW OR COLUMN NUMBER AND A FLAG TO TELL WHETHER THIS TABLE ENi "V IS A ROW ADRS OR A COLUMN ADRS. THIS TABLE IS Ntv.>SARY 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 DART 1S 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 |] 310 — 12 10 4 [ 15 ) L] BITS I Boung Pt ENTRY 1 Do Gt Pt Bt B ] g G G g Pumg Goeg Lo] NIBBLE NUM I ENTRY 0 1 g vt B et ot et § Gt Pt 1 [} 4 1 [} [} ] St Pt Gt ot st (et Gt Bt | Ot Bt [} 1 [} ] [} [} [} [] [} 1 [} St Gt Gt ot $e R_C_NUMBER ENTRY XX TABLES USED IN CALCULATING SELECTED ROWS AND COLUMNS FOR BLASTING. COLUMN COUNT TABLE THIS TABLE KEEPS A COUNT OF THE NUMBER OF TIMES THE COLUMNS FAILS WITH A PARTICULAR FAILING ROW. ROW COUNT THIS SINGLE VARIABLE COUNTS HOW MANY TIMES A ROW NUMBER IS FOUND BAD WHEN SEARCHING 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 IG 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 THKIS 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 Efiglgg INTERIGATED AND SELECTED FOR THE BEST POSSIBLE BLASTING COLUMN COUNT TABLE SEQ@ 0015 D 2 I 1 coL 0 REMAINDER TABLE 1 1 coL 1 —— ) PR [ ROW ADRS { COL ADRS I { } % 1 I COL 2 I 1 coLs3 l ............... l ........... ----I 1 I CCL & I I coLsS I I COL 6 I [ coL 7 1 I coL 8 1 1 coL9 l-......l I I 1 1 1 ) I [ l ............... l l---.---l -e - P—— 1 I-------I P —1 l ....... I P—— 1 I I coL 10 S —, 1 I 1 coL 1 I I coL xx l ....... l | —— 1 ROW COUNT I I I 1 I 1 g By Brmg Pumg) urg g Suung ey meg g S e fumg g P Paeeeg Preg fong Do P Sy g 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: I 1 BIT 15 BIT 14 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 BIT 7 BIT 6 BIT S BIT & BIT 3 BIT 2 BIT 1 BIT O IS A FAULT INDICATOR SEQ 0017 [INDICATES ZEROES DATA FAILURE INDICATES ONES DATA FAILURE INDICATES RANDOM DATA 1 FAILURE INDICATES RANDOM DATA 2 FAILURE INDICATES RANDOM DATA 3 FAILURE INDICATES RANDOM DATA & FAILURE INDICATES RANDOM DATA 5 FAILURE INDICATES 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 BAD CHIP TABLE J-m--v I I 1 CHIP 0 I 1 CHIP 1 I 1 CHIP 2 I 1 CHIP 3 I I CHIP &4 [-==--- I [------ 1 [-==-- I === I [-==--- I I CHIP 5 I [-mmmmv I I cHIP xx ! I I CHIP 38 I------- I 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: 8 MODIFICATIONS TO THIS DIAGNOSTIC ARE PRECEEDED WITH A LINE COMMENT OF *! VERSION CZML(B'. )X ELUDOM Fo2 18-Mar<1982 16:07 BSKELZ2 18-Mar-1985 16:04 REV B PATCH 00 MODULE BSKEL2 ( IDENT = 'REV B PATCH 00') = O W &» & b b b b b b D ey CYORYOVYIYOY - ~ OO0~ B NN (V.1 NN WA =2 OO0 NPV NN NI NI NN NINININI A WA = OOV N b b b b cd b i d och b NS WA =O b b e o nd b b e i i e e i ned o e i e e e e b e camd e v i e e s REQUIRE 'BLSMAC.REQ': ISBTTL ‘PROGRAM HEADER' LITERAL DSSNBR_OF _TESTS = 1; 98 L [aYalnlialn] alalalntalsl b e e TR KN KN Y PR PR RN TR RN .o.a.l.'...o‘........-.n.o..!..-.o‘....l.........ai‘..Io!.‘.\...'o.t LR mgmvnmmm\nv\b &H bl 38 ~ SIRCAN288 ~ s -d ®e Qe e BEGIN x( IS THE INTERFACE BETWEEN é’;HE PROGRAM HEADER PROGRAM AND THE SUPERVISOR. ; THE DIAGNOSTIC 51 EQUALS: POINTER (ALL); HEADER (XASCII'CZMLCA®,XASCII'B*,%ASC11°0°,120,0,PRI00); XSBTTL °DISPATCH TABLE' I ¢ 2 : THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. : IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. 5z DISPATCH (DSSNBR_OF _TESTS); ERRTBL; XSBTTL 'DEFAULT HARDWARE P-TABLE' X( 14 : 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. v2(212) TOPS-20 Bliss=-16 PA:<NEALE>PMSKLZ2.BLI.1 (1) Page SEQ 0018 1 6 2 18-Mar-1982 16:07:33 18-Mar-1982 16:04:10 DEFAULT HARDWARE P-TABLE TOPS=-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLZ2.BLI.T1 (1) 5% BGNHW (DFPTBL); GLOBAL ENDHW; A_HWIBL : INITIAL (0), B_HWIBL : INITIAL (Q), CCHWIBL : INITIAL (0), D_HWIBL : INITIAL (Q), E_HWTBL : INITIAL (0)‘ F_HWTBL : INITIAL (X0°176400'), G_HWIBL : INITIAL (0), H_HWTBL : INITIAL (1), I_HWTBL: INITIAL (1); 'MASK ENTIRE SYSTEM FLAG INDICATOR IMASK A SINGLE ARRAY FLAG INDICATOR 'MASK A SINGLE BANK FLAG INDICATORG !BANK NO. TO BE MASKED 'ARRAY NO. TO BE MASKED 'RH REGISTER BASE ADRS 'DRIVE SELECT NO. OF DRIVE TO MASKED '0PTION, 1 = 16K MOS RAMS, 0 = 64K MOS RAM 'PARAMETERS CORRECT INDICATOR LSBTTL 'SOFTWARE P-TABLE' X( P24 THE SOFTWARE TABLE CONTAINS VARIOUS DATA USED BY THE PROGRAM AS OPERATIONAL PARAMETERS. THESE PARAMETERS ARE s SET UP A ASSEMBLY TIME AND MAY BE VARIED BY THE OPERATOR AT RUN TIME. SECTION. HOWEVER THIS PROGRAM WILL NOT USE THIS OPTIONAL e ' PDeomrmemimeamtmemsmrts S WA= O 000 NS NN 2OV 0O NN UWN =2 OO0 NN NS NN = O DN O N NN NNNNNNNOOONOONOO OO O VNN WNIWVIUVRN S SN S B OO0 0000000 GO 000000000000 A WA e e e el o e woud memd weod camd i e b ) e e e WA VI AWV VT YYD WIN) == O OO NN b caad et e o e e b e v i b e e e e A WA e e e e el v (aTelslinlsialnlialnl VAW I P TIE WA PR TR TRTR TR PR PN PR TN PRPR PR TA TR P YN TR E T R IR TR IR T AR WA VT AR VT WA AWV d A TN I A S i e i TR XL L D e N b d VAN AN UA O WA BSKEL?2 REV B PATCH 00 THERE ARE NO SOF TWARE 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' GNSW (SFPTBL): GLOBAL SWTBLS_RET : INITIAL (O); ENDSW; XSBTTL 'PROTEC.ION TABLE' 3 s+ ; THIS TABLE 1S USED BY THE RUNTIME SERVICES ; TO PROTECT THE LOAD MEDIA. 'DUMMY ARGUMENT Page 2 SEQ" 0019 BSKELZ REV B PATCH 0O W 2 18-Mar-1982 16:07: 18-Mar-1982 16:04: PROTECTION TABLE )% '1ST ARG = o] [olelelelelels] NONWN W) = b d o e e b b BGNPROT(=1,~1,-1); 12ND #RG = !3RD ARG = CFFSET INTO P-TABLE FOR C SR _ADDRESS OFFSET INTO P-TABLE ;g: SASSBUS ADDRESS RIVE NUMBER OFFSET INTO P-TABLE ENDPROT; END ELUDOM BSKELZ /REV B / 101 :: LSNAME LSREV:: LSUNIT:: LSTIML:: : LSHPCP: LS$SPCP:: LSHPTP:: 000000 000050 000051 000052 003 003 000000 000000 000000 0000006 0000006 000000 LSSPIP:: L SLADP:: LSSTA:: L$CO:: LSDTYP:: LSAPT:: LSDTP:: LSPRIO:: LSENV]:: LSEXPT:: LSMREV:: LSEF:: L$SPC:: LSDEVP:: : LSREPP: : P4: LSEX $CODES /CIM/ /LCA/ 0 0 /8/ /0/ TSPTHV 170 LSHARD LSSOFT LSHW OO0 103 115 O~ r~oO0O0OWwWnW 132 SDVIYP $SRPT T0PS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLZ.8LI.T (1) Page SEQ 0020 3 o 5 & NaR RREFEZIRR ~N g &8 288 888588aEE é 000100 000000 0000006 104035 000126 0000006 0000006 0000006 000172 000000 000009 000000 000071 0000006 000000C 000000 000000 000000 000000 000000 175400 000000 000001 000001 000000C 000000 177777 177777 177777 LSEXPS5:: .WORD LSAUT:: .WORD LS$OUT:: .WORD LSLUN:: .WORD : .WORD LSDESP: : : .WORD LSLOAD LSETP:: .WORD LSICP:: .WORD LSCCP:: .WORD LSACP:: .WORD LSPRT:: .WORD LSTEST::.WORD LSDLY:: .WORD : : ,WORD LSHIME : ,WORD DSPCNTY: LSDISPATCH:: . WOR D ERRTYP::.BLKW R: : .BLKW ERRNB : : .BLKW ERRMSG : : .BLKW ERRBLK LSHWLEN:: .WORD A.HWTBL:: . WORD 8.HWIBL:: .WORD C.HWIBL:: -WORD D.HWIBL:: .WORD E.HWTBL:: .WORD F.HWTBL:: .WORD L G.HWTB:: .WORD H.HWTBL:: .WORD 1.HWTBL:: .WORD : : .BLKW LSNDHW : LEN: LSSW .WORD SWIBLS.RET:: .WORD W: : .BLKW LSNDS : : .WORD LSPROT .WORD .WORD 0 LSAU $0U 0 LSDESC -73743 LSERRTBL LSINIT LSCLEAN LSAUTO LSPROT =2 DOO 000074 000076 000000 0000006 0000006 ) 000066 000070 000072 18-Mar-1982 16: PROTECTION TABLE db REV B PATCH 00 I 2 18-Mar-1982 16: —t e KEL BSKELZ <<LSNDHW=-LSHUWLEN>/2> 10PS~20 Bliss=16 VE(212) PA:<NEALE>PMSKLZ2.BLI .1 v Page SEQ 002° [ J K BSKEL?Z REV B PATCH 00 18-Mar-1982 16:04: 10 PROTECTION TABLE .GLOBL "GLOBL 'GLOBL 160000 040000 020000 010000 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 000034 000340 000300 000240 000200 000140 000100 000040 000000 000004 000010 000020 000040 000100 000200 000400 001000 2 18-Mar-1982 16:07:33 BIT15== BIT14== BIT13== BIT12== 8IT11== BIT10== BIT09== 81108== BI707== BIT06== BITQ5== BITQ4== B1703== 81102== B81T01== B81700== BIT9== BIT8== 8I17== BIT6== BIT5== BITé4== BIT3== BIT2== BITl== BIT0== EF.START== EF .RESTART== EF .CONTINUE== EF .NEW== EF .PWR== PRIQ7== PRI06== PRIQS5== PR1Q4== PRI03== PR102== PRIQ1== PRI00== EVL== LOT== ADR== IDY== ISR== UAM== BOE== PNT== 1 LS$SOFT, TSPTHV, LSRPT, LSINIT LSCLEAN, LSLAST, LSHARD, LSDVTYP LSDESC, LSDU, L$AU, LSAUTO, T -100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 1000 400 200 100 40 20 10 4 2 1 40 37 36 35 34 340 300 240 200 140 100 40 0 4 10 20 40 100 200 400 1000 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLZ2.BLI.1 (1) T ol o] T o of gud -— ERRTYP LSSWLEN+2 LSHWLEN+2 LSREV+1 LSHWLEN+2 LSSWLEN+2 000140° 000011° 000140° 000166° AYR TR FE TR X MO Mime—. PROTECTION TABLE 002000 004000 010000 020000 040000 100000 000126° 000166 Size: T0PS-20 Bliss=16 Vv2(212) PA:<NEALE>PMSKLZ2.8LI.1 (1) oOO0OMDXD» BSKELZ REV B PATCH 00 0 code + 64 data words 00:03.4 Run Time: Elapsed Time: 00:10.0 Used: 29 pages { Complete ation Comp1 Page SEQ 0023 6 PR 0001 BEGIN 1493 EQUALS: IRW W YT RE 1494 IR }232 AL AL 1497 -‘—‘-fl-‘-A—‘—‘-fl-‘-‘-fl-fl-‘—fl-fl-fl-fl-‘—J-‘—‘-fl-fl-‘—‘-‘-fl-fl-‘_‘—A-‘_‘_‘_‘ b d b AV VAV wviwiuiuuiiuiaavviiavuaunnunuaannaaiiivIi I R TR 1498 1499 ggg A T 504 =200 00~ NN = O 000 NS W CAIIICIONIOIONDY NN N NN NI RIAIRIRININININY b wd b o ek b b b ek b Q O O aauuug =2 OO NON NS AN = OO 00 NON N b e R T PN 282 2 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BL1.1 (1) MODULE BSKEL3 (IDENT = 'REV B PAT(H 00') = 0002 0003 L A X LR PR PR TR TR PR L TR TR TR T A T P T e EITIIE R ETE T MR L 18-Mar-1982 16:07:45 18-Mar-1982 15:44:21 REQUIRE °BLSMAC.REQ'; EXTERNAL ROUTINE SUMMARY : NOVALUE: ! SUMMARY REPORT CODE ROUTINE XSBTTL 'TYPE AND DESCRIPTION' DEVIYP (XASCIZ'ML-11 BLOCK MODE MEMORY SYSTEM'); DESCRIPT (XASCIZ'ML-11 PROM MAINTENANCE PROGRAM'); XSBTTL 'HARDWARE PARAMETER CODING SECTION' X( 244 : 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. )}4 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(XASCIZ'IS A SINGLE BANK TO BE MASKED ), M”BNK_NO = UPLIT(XASCIZ'ENTER BANK NO. TO BE MASKED ?Y), ?) M_BRD_NO = UPLIT(XASCIZ'ENTER BOARD NO. TO BE MASKED M_RH_BASE = UPLIT(XASCIZ2*STARTING RH BASE REGISTER ADDRESS ot - BSKEL3 REV B PATCH 00 25, ?%), M_DUY = UPLIT(XASCIZ'DUT DRIVE NUMBER M_OPTION = UPLIT(XASCIZ'IS DRIVE OPTION AN M.11A ), M_TORRECT = UPLIT(XASCIZ'ARE YOUR INPUTED PARAMETERS CORRECT 2°); SELECT WHICH OPTION THE PROGRAM IS TO RUN UNDER. OPTION 1. PROM MAINT ENTIRE ML11 SYSTEM OPTION 2. PROM MAINT A SINGLE ARRAY OPTION 3. PROM MAINT A SINGLE BANK Page 1 SFQ 0024 g ASK AM 1 TO MASK AN ENTIRE SYSTEM ? GPRML (M_SYS,%0'0',1,N0,1); §rsnr(ouv_PRAn): i ASK AM I TO MASK AN ENTIRE ARRAY ? [} GPRML (M_ARR,%0°'2°',1,N0,1); ¥FERT(ENTER_BOARD5; g ASK AM ] TO MASK A SINGLE BANK ? @pRnL(n_eux.zo'A'.1.~o.1>; i INPUT TO THE PROGRAM THE SELECTED | PROGRAM RUN TIME PARAMETERS. grsar(oons_uno>; g ENTIRE BANK TO BE PROM MAINT AL'3’ GPRMD (M_BNK_NO,%0°6',D,%0'7",0,XDECIM,NO,1); SL(E?TER_BOKRD): g ENTIRE BOARD TO BE PROM MAINT CIMAL 15° ,NO,1); GPRMD (M_BRD_NO,%X0°10°,D,%0°77°,0,XDE SL(D?V_PRAH’: i ENTIRE RH BASE ADDRESS i ENTIRE DRIVE UNDER TEST i ENTIRE DRIVE OPTION 16K PARTS OR 64K PARTS GPRMA(M_RH_BASE ,%0'12°,0,0,%0°177777° ,YES,1); 279 9PRML(n_oprxou.zo'i6 L8015 T e e wrnd rd il b e wnd b b PR P 5 ° N0, ) GPRMD (MZDUT, X0*§4* .0,%0°#°10,%0°77 PR PN T 5 580 i FORCE THE OPERATOR TO REVIEW HIS INPUTED ggg | RESPONCE i PARAMETERS FOR CORRECTNESS BY ASKING THE i NEXT QUESTION. THE INIT CODE WIL{ ABORT i THE PROGRAM EXECUTION IF HE RETURNS A NO T e A T T 581 582 583 $L(DONE_HRD); T wnd S 586 ENDHRD; ggg YSBTTL 'SOF TWARE PARAMETER CODING SECTION' e e e e e e P € € GPRML (M_CORRECT,%0'20*,1,YES,1); ggg A A 587 1592 1593 2 ] g R T L S NNNNNNNNNOOOO OOV S S S B e QOO NS NN =2 OO 0O NO NS NN = OO 0O NON WV B NN = O D O O IS N N IR A TR YR YATR TRTR YRLN TR AN 2] LR TR YRR FEIEFE IR FEFE TN VR NE FE PR TR PN ¥ I b b cnd wmd o D d b oD el wed e b b e b s wd b b d D D cd b d = D d e D b b VI IV T IV IV IV IV AV, IV AV IV IV IV IV IV IV IV TV IV IV, TV, TV, TV 1V 1V 1V (V. 1V [V ) ¥ BSKEL3 REV B PATCH 00 HARDWARE PARAMETER CODING SECTION n 18-Mar-19 82 16 :07:45 18-Mar-1982 1 5:46:21 %( ;++ TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page SEQ 0025 ¢ PN PN TY THE SOF TWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE TRTE PR TE 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. L 4 A TR PRI AL AL IR SRR BGNSFT; BIND b b e e e s OOONONOONONONO e i aved )2 e s e CYOVOIOYVD v emed b e e e =d od b o e cod e LN NN NINPININNINIPNININ) NN NN NN =000~ oo~NOoOW AN =200~ S NN =0 VNN ek - D D ) b e e e R R \ % DEFINE THE SOFTWARE MESSAGES 1606 TN PRTR LR PRTR PR PN PR TR YR YR A P R [ PRI R R 0000G0 SOF TWARE PARAMETER CODING SECTION A alalalalalale] 1594 1595 1596 1597 1598 1599 IR LRLN IR PRPR TR T PN YR BSKEL3 REV B PATCH 00 N 2 18-Mar-1982 1 18-Mar-19 82 1 ! q_RET = UPLIT(XASCIZ® NOT USED TYPE <CR>'); % INPUT THE SOFTW'RE QUESTION TO THE PROGRAM GPRML (M_RET,0,1,YES,1); ENDSFT; XSBTTL 'REPORT CODING SECTION' % ‘e i THE REPORT CODING SECTION FONTAINS THE | 'PRINTSTM CALLS THAT GENERATE STATISTICAL REPORTS. )% BGNRPT; i THE SUMMARY REPORT CODE ROUTINE FOR THIS i PROGRAM IS LOCATED IN PMSKL4 OF THIS ; DJAGNOSTIC. SUMMARY (); RETURN; 'CALL THE REPORT SUMMARY ROUTINE ENDRPT; .TITLE IDENT BSKEL3 /REV B / .PSECT $CODES TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) oL B BSKEL3 REV B PATCH 00 REPORT CODING SECTION 000000 118 000003 061 000022 000025 000030 000033 000036 000040 000043 000046 000051 000054 000057 000062 000065 000070 000073 000076 105 122 123 124 000 115 061 120 115 101 124 101 105 122 122 000 000006 000011 000014 000017 102 103 115 105 000100 000000C 000102 000104 000106 000110 000120 000000° 000001 000000C 000112 001120 000114 000116 000120 000122 000124 000126 000130 000132 000134 000136 000140 000142 000144 000146 000150 000152 000154 000156 000046° 000001 000000C 002120 000114° 000001 000000C 003042 000162° 000007 000000 000003 001004 004042 000230°* 000077 000000 000017 114 061 114 113 117 040 115 131 13 105 000 114 061 122 040 1M1 105 116 040 117 101 000 055 LSDVTYP:: 117 040 123 115 0SS 040 117 115 116 116 103 120 107 115 LASCII /ML~-/ .ASCI1 LASCID LASCI1 LASCI1 /BLO/ /0K / /MOD/ /E M/ ASCI] JASCII LASCI1 .ASC11 .ASCI1 /TEN/ /ANC/ /E P/ /ROG/ /RAMN/ ASCIT 040 117 040 104 115 3 18-Mar-1982 16:07:45 18-Mar-1982 15:44:21 .ASCI1 LASCII LASCI1 LASCII LASCII LSDESC::.ASCI1 ASCII .ASCI1 ASCII ASCII LASCII LSHRDLN:: WORD GP$1:: .MWORD WORD WORD $DRV.PRAM JWORD GP$2:: .WORD .WORD MORD SENTER.BOARD: JWORD GP$3:: .WORD WORD LMORD $SDONE .HRD : WORD GP$4:: .WORD GP$5:: L.WORD LWORD LWORD LWORD MWORD SLENTER.BOARD: LMORD .WORD .WORD MWORD WORD TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) 711 / /EMO/ /RY / /S8YS/ /TEM/ <00><00> /ML~/ /11 / /PRO/ /M W/ /AIN/ <00><00> <<<LSNDHRD=LSHRDLN>/2>=1> 120 M.SYS 1 <<<<SLDRV.PRAM=SDRV.PRAM>*400>+4>+20> 1120 M.ARR 1 <<<<SLENTER.BOARD-SENTER.BOARD>*400>+4>+20> 2120 M.BNK 1 <<<<SLDONE .HRD=$SDONE .HRD>*400>+4>+40> 3042 M.BNK.NO 7 0 3 1004 4042 M.BRD.NO 77 0 17 Page 4 SEQ 0027 - c BSKEL3 REV B PATCH 00 REPORT CODING SECTION 000160 001004 SLDRV.PRAM: 000162 000164 000166 000170 000172 00503 000276° 000000 177777 006022 GP$6:: 000176 000200 000202 000204 000206 000210 000007 000000 000077 007120 000376° 000001 000174 GPE/:: 000344’ GP$8:: .WORD JWORD WORD .WORD .WORD .WORD MORD .WCRD 1004 .WORD SLDONE.HRD: 000216 000220 000222 000436° 00C001 010130 GP$9:: 000224 000000C LSSFTLN:: MWORD 000216 000226 000230 000232 000234 000000 000000 000003 000006 000011 000014 000017 000022 000025 000030 000033 000036 000041 000044 000046 000051 000054 000057 000062 000065 000070 BLkw GP$10:: .WORD WORD LMWORD LSNDSFT:: 000504° 000001 1M1 105 1M 040 055 040 123 115 117 105 101 105 077 1M1 101 m 114 101 101 124 .WORD LWORD .WORD LSNDHRD : : 000130 123 116 122 115 061 123 124 040 040 040 123 104 000 123 040 116 105 122 131 117 040 124 105 114 061 131 105 124 102 115 113 040 P.AAA: 040 123 107 040 122 040 040 P.AAB: 1004 5031 M_RH.BASE O -1 6022 M.DUT 7 O 77 7120 M.OPTION 1 .WORD .WORD MWORD MORD .MWORD 001004 000212 3 18-Mar-1982 16:07:45 18-Mar-1982 15:44:21 10130 M.CORRECT 1 1 <<<LSNDSFT=LSSFTLN>/2>=1> 130 M_RET 1 BLKW 1 .PSECT .ASCIl ASCI1 .ASCI] ASCIY LASCII JASCI1 ASCII LASCI1 LASCI1 ASCI1 ASCl] .ASCl1 LASCII .ASCI1 ASCI1 LASCI1 SPLITS, /IS / /ENT/ /IRE/ / ML/ /=11/ 7 SY/ /STE/ /M 1/ /0 8/ /E MW/ /ASK/ /ED / LASCII .ASCI]1 LASCI1 LASCI1I 72/<00> /IS / /A S/ /ING/ /LE / /ARR/ /AY / /T0 / D T0PS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.T1 (1) 5 Page SEQ 0028 b ik € L 104 « a s o Ld e s 8 o 8 & 040 e > P.AAD: P.AAE: P.AAF: @ Ll * P.AAC: >>» b 2 3 040 123 104 040 040 3» g g Brung (g e Guing Drncg Srng Svag Povg $rnag Sncg ng g Bug g g Soung bang g hung g g Beug g g Brsg Svug Baneg g Bouveg Bung g g Bumg Sug Sronet Pumg St B Sy rmp Bt Bveg B B St g B Sy Bt vt B Sung g Sung ey Bmngt g Song B $mnt St B g g Doy g $rasg Sormg Srumg g Bt remt Bovug By g S Bncep B Sy Sumcg et et B et Brac Bt g By Bomg Sruseg Duung oy Srucg (g Bug Suup Gung Sovasg Bror) St B S >> >» > > v unnmunrunununnnnn wnn winn o wmnn »ninn "Yurunuvnnnnnn nunhnuvrnun ralalalalalalalalalalalalalalalal [alalalnlzslalalslislels] P lalalalalniniaialalalzlalinlslalalalialalelealelele] Ld ORI (=] 040 123 OCOOWVINISNOO ~ BB 105 OO bbb adad b ) - 105 OO radad AN Ouded D=t b e e i e i med e (=] OO b (O b b (O e ~ 2 A NN 8 b b b~ 040 040 102 115 113 OO0 € v b ced b ek aid e b b ) b avd b ON == O =N S &H Db OHO=O ONNO OWWIN SN N HPO00 NO=ON €D b cnd md b b b b B Db ON) e = O OWWNN & NN 000170 e el ol e SEHERNIES 000073 000076 000101 000104 000107 QOON=NNN WVIWVANNOVNIWNO o oA VINOWVINI NS g888858 gggassass BSKEL3 REV B PATCH 00 D REPORT CODING SECTION 18=Mar-1 18-Mar-1 /8E / /MAS/ /KED/ / / / / /?/7<00> /1S / /A S/ /ING/ /LE / /BAN/ /K 1/ /0 8/ /E M/ /ASK/ /ED / /2/<00> /7 /ENT/ /SKE/ 7?/<00> / /STA/ /R11/ /NG / /RH / /BAS/ /€ R/ /EGI/ 3 585 18 46:21 07:45 PA:<NEALE>PMSKL3.BLI L 1 TOPS~20 Bliss=-16 v2( 212) SEQ 0029 Page 6 f E 000323 000326 000331 000334 000337 000342 000344 000347 000352 000355 000360 000363 000366 000371 000374 000376 000401 000404 000407 000412 000615 000420 000423 000426 000431 000434 000436 000441 000444 000447 000452 000455 000460 000463 000466 000471 000474 000477 000502 000504 000507 000512 000515 000520 000523 0005c6 123 122 104 105 040 124 040 106 123 040 105 101 122 123 040 P.AAG: 126 116 102 124 122 105 125 105 omn 040 077 040 m 040 126 116 116 114 101 040 040 P.AAH: 105 117 040 120 105 120 101 124 123 117 105 040 P.AAl: 117 125 104 131 040 122 P.AAJ: 077 104 040 000 125 104 122 01 000 m 104 000 123 122 061 011 061 040 077 101 04C 125 m 125 104 101 115 105 040 122 103 077 040 124 000 122 131 122 116 124 040 122 105 122 103 122 124 000 116 040 076 000 111 040 115 040 040 126 117 m 040 040 040 123 040 120 074 040 040 105 120 117 101 115 040 105 124 105 103 .ASCII .ASCI1 .ASCII LASCII CASCIN /STE/ /R A/ /DDR/ /ESS/ /0 LASCI1 LASCIL .ASCII ASCII ASCII LASCII ASCII .ASCI1 .ASCII LASCII LASCI1 LASCI1 LASCII LASCI1 LASCIT ASCII LASCII LASCII _ASCII LASCII LASCII LASCII LASCI1 LASCII LASC11 LASCII .ASCI1 LASCII LASCII ASCII ASCII .ASCII LASCIT +LASCII LASCII LASCI1 LASCII LASCIT /1vE/ /7 N/ /MBE/ 1> /R/C11>A / /7 /7 %/ <00><00> /1S / /DRI/ /vE / /0PT/ /ION/ /7 AN/ / ML/ /11A/ 11>/ 7 / /7 72/<00> /ARE/ /7 vo/ /UR / /INP/ /UTE/ /D P/ /ARA/ /MET/ /ERS/ /7 CO/ /RRE/ /€T / /2/<00> / NO/ /T W/ /SED/ /7 1v/ /PE / /<CR/ />/<00> LASCII .ASCII1 .ASCI1 .GLOBI 100000 3 18-Har-198$ 12:07:45 18-Mar-1982 15:44:21 BSKEL3 REV B PATCH 00 REPORT CODING SECTION 8IT15== /2/<00> /puv/ / DR/ SUMMARY =100000 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page SEQ (T xrr 80E== PNT PR IX 18 IE MM 2D MM oo nhuh WUt nn ADR== IDU== ISR== o SOOOO -l\\J\(’\‘\Jii; =2 PO NN OOV OOO OOLOEDE B NONO SN D B R R RRR] OO I OQ—=NIN ] WHHLUUDN PRIO PRIO PRIO PRIO EVi= LOT== ) =t SN PRI PRIO ey by ey ey e Y Y Y Y T L e e T Tl e L Tl v 0o 00 0 G0 To OO OO 0 0D T € (0 00 Cb G D (0 D 0 0 @ [y 0 C N e i e e = LHHHNY [T ef e e ecf e e T O O T O (IO TR T A T A 1] f =4 e o e e e e o e f ot —¢ VO OOOO QOO OCD ~d b add e b =PI VIO N & #Huwan ©Q 2PN S VION NOD OO =N 81 EF.START== EF .RESTART== EF . CONTINUE== EF .NEW== 33337 040000 020000 00 BSKEL3 REV B PATCH 00 REPORT CODIMG SECTION F 3 18-Mar-1982 12:0 : 18-Mar-1982 15:4 400 -100000 TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) SEQ 003" Page g G BSKEL3 REV 8 PATCH 00 REPORT CODING SECTION M.CORRECT= L$SOFT== M.RET= .SBTTL LRPT REPORT CODING SECTION JSR RTS PC,SUMMARY PC : : 1635 1616 .SBTTL PC,LRPT LSRPT REPORT CODING SECTION : 1636 LPSECT LRPT: 000236 004767 0000006 000242 000207 : Routine Size: 3 words ) : Maximum stack depth per invocation: 0 words 000244 004767 177766 LSRPT:: JSR 000250 000252 TRAP 104425 RTS 000207 ; Routine Size: & words . : Maximum stack depth per invocation: : ; 1639 %gzq P.AAF P.AAG P.AAH P.AAl LSSFTLN+2 P.AAJ M.RH,.BASE= M.DUT= M.OPT]ON= 000236 XSBTTL $CODES 25 PC 0 words ‘*AUTODROP SECTION® C 1642 X< ; C 1644 : C 1646 ! THIS CODE IS EXECUTED IMMEDIATELY AFTER THE INITIALIZE CODE IF ! THE "'ADR'' FLAG WAS SET. THE UNIT(S) UNDER TEST ARE (HECKED TO ' SEE IF THEY WILL RESPOND. THOSE THAT DON'T ARE IMMEDIATELY ; : ; £ 1643 C 1645 : ; C 1647 C 1648 : 1650 : : : : Page 9 SEQ 0032 P.AAA P.AAB P.AAC P.AAD P.AAE M.SYS= M.ARR= M.BNK= M.BNK.NO= M.BRD.NO= 000276 000344 000376° 000436° 000226° 000504° T0PS-20 Bliss~16 v2(212) PA:<NEALE>PMSKL3.PLI." ") LSHROLN+?2 LSHARD== 000102 000000°* 000046° 000114* 000162° 000230° 3 18-Mar-1982 16:07:45 18-Mar-1982 15:44:21 !+ ! DROPPED FROM TESTING. '~ 1649 )% 1651 }2?5 ' THIS SECTION 'AUTO DROP®' IS NOT USED ; DURING THIS PROGRAM 1654 1655 BGNAUTO; RETURN; H BSKEL3 REV B PATCH 00 1656 H 000254 000256 000262 000264 004767 104461 000207 : Routine Size: 000266 -2 OO 00~ =00V~ VNN 00000300‘0000‘0‘0‘0‘0‘ OONONONONONOM NN NNNOO b b o d o ok e e IICIOND b oo b cad b b cnd A TETEATEYREIE TRTN TR A TR P R T R B ; Maximum stack LAUTO: 1 word LSBTTL RTS depth per invocation: 0 words 177772 .SBTTL LSAUTO: : JSR TRAP RS 4 words depth per invocation: YSBTTL 17 Page SEQ 0032 LAUTO AUTODROP SECTION PC ; 1638 LSAUTO AUTODROP SECTION PC.LAUTO H 1655| 61 PC | ! 0 words °‘DROP UNIT SECTION' 1 te i THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE | TO NO LONGER BE TESTED. ¥4 ' THIS SECTION 'DROP UNIT' IS NOT USED i DURING THIS PROGRAM BGNDU; RETURN; ENDDU; Lbu: 000207 004767 104453 000207 TOPS-20 Bliss=-16 v2.212) PA:<NEALE>PMSKLS.BLI.1 (1) ENDAUTO; 1 word : Routine Size: : Maximum stack depth per invocation: 000270 000274 000276 18-Mar-1982 15:44:21 AUTODROP SECTION 000207 ; Routine Size: : Maximum stack 3 18=-Mar-1982 12:07:45 177772 .SBTTL LDU DROP UNIT SECTION PC : 1656 .SBTTL JSR LSDU DROP UNIT SECTION PC.LDU : 1671 RTS PC RTS 0 words L$DU:: TRAP 53 BSKEL3 REV B PATCH 00 : Routine Size ; Maximum stack 1673 1674 1675 4 words ] depth per invocation: XSBTTL i’ O ~ - ! THE ADD-UNIT SECTION CONTAINS ANY CODE THE PROGRAMMER WISHES I TO BE EXECUTED IN CONJUNCTION WITH THE ADDING OF A UNIT BACK TO THE TEST CYCLE. )% ' THIS SECTION °'ADD UNIT®' IS NOT JSED ! DURING THIS PROGRAM Be BGNAU; RETURN; ENDAU; LAU: 000207 1 word 0 words 004767 104452 000207 177772 LSAU:: : Routine Size 4 words depth per invocation: O O N -t .SBTTL RTS LAU ADD UNIT SECTION PC 1672 .SBTTL JSR TRAP LSAU ADD UNIT SECTION PC,LAU 5e 1688 RTS FN J ; Maximum stac k YR TN Page SEQ 0034 °*ADD UNIT SECTION® : Routine Size LR (N 0 words : Maximum stack depth per invocation: 000302 000306 000310 v2(212) %( ! Ve Bs 8 000300 DROP UNIT SECTION T0PS-20 Bliss=16 PA:<NEALE>PMSKL3.BLI.1 ‘e o (aTalalalals) 1676 By B0 820 0,00 % %0 0 0, H : : 1 END ELUDOM 0 words PC J BSKEL3 REV B PATCH 00 ADD UNIT SECTION : Size: 22 code + 251 data words : Run Time: 00:04.6 ; Elapsed Time: 00 08.3 ; Hemor{ Used: 30 pages : Compilation Complete 3 18-Mar-1962 g :07:45 18-Mar-198 21 14 :2 1 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL3.BLI.1 (1) Page 12 SEQ 0035 982 16:07:57 18-§ar§1 18-Mar-198215:44:41 BSKELS : 0003 ?EGIN : 0005 ; PRETTY BLF COMMANDS 0007 ;<BLF/LOUERCASE_KEY> [=] o purd MODULE BSKEL4 (l?EfiT = 'REV B PATCH 00' [=] 0001 !] LIBRARY FILES ] ! | REQUIRE FILES o 1506 X( W= O 000N require 'BLSMAC.REQ'; DUE TO THE BLISS-16 COMPILER BLISS16COMPILERS USED: THE FOLLOUING ROUTINE SUBSCRIPTS ARE ; ROUTINE SUBSCPIPTS 1 ROUTINE NAME = INITIALIZE = INTERIGATE IR _ROUTINE NAME = LOAD L_ROUTINE NAME NN = O V0NV on ROUTINE NAME= DIAGNOSTIC MODE n = GENERATE GER_ROUTINE NAME 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 = CALCULATE CALC_ROUTINE NAME BL_ROUTINE NAME = BLAST VER ROUTINE NAME = VERIFY S_ROUTINE NAME = SEARCH X TROUTINE NAME = TRANSFER NN NN=O OO e e o e b o b cmd v ed b md ) e e b D e e cnd b ViAW AAAAIA AT A AT WA NIV NI N o b cnd b b b b b b bOO0 W WWNNINONININIAININI CICICIIICIOIAOIOIIOIOICIOIOIOIOIOIOI OO IO O 0015 b o e [ S P A I e R T T TR TR TR TR IR TR T PR DI S PR LY RN -— o (= I ) - 0011 BLiss=16 Vv2( 2 2) TOPS=-20 PA:<NEALE>PMSKL4.BLI.1 (1) ; MISCELLANEOUS SUBSCRIPTS )2 F_MISCELANEOUS NAME = FLAG RESTRICTION OF 6 CHARACTERS PER UNIQUE VARIABLE NAME Page _ 1 SEQ 0036 BSKELS ONO\ON O VNN NS BN IS B S5 85 35 B 8 B N NN W= O VOOV W= OO NO VNS W —=O 0NN S b ek b b b mmb cod b b b b b ik b d b b = cmd b wd b el ek d b b wd b rd d b D d wd b o D d d e e e D VI AA AW A A WMIA A WVTAIAWIA AWMV NN IOV 33 64 65 566 567 568 569 570 571 572 573 R e e m e anelh e o 574 575 576 577 578 R EEEIEEEI I e s n r e T L T T T S PR PR R PR TRYR ERRLR LR FI L T T RN REV B PATCH 00 579 ggg gg% 584 : CONSTANT LITERAL DECLARATIONS q T0PS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (2) Xsbttl "CONSTANT LITERAL DECLARATIONS® g CONSTANT LITERAL DECLARATIONS litefal % Mass bus transfer codes func_1 = 20'000001°, FUNCZ2 = %0'000011°, FUNC3 = %0'000031°, FUNCT4 = %0'000051°, FUNCZS = %0'000061°. FUNCZ6 = 20'000071", !Noop function 'Drive clear function ‘Search function ‘Write check function 'Write function 'Read function g DATA CONSTANTS ONES = %0°177777', ONE = %0'000001° 'AlLL ones data field ISingle one data field ZERO = ¥0'000000"., 17ero data field ZEROES = %o'000000°, ALl zeroes data field g REGISTER ACCESS OFFSET INDEXES MLCST = 0, MLWC = 1, MLBA = 2. MLDA = 3. MLCS2 = 4. MLDS = 5, MLER = 6. MLAS = 7. MLLA = 8. MLPA = 8. MLDB = 9 MLMR = 10, MLDT = 11, MLSN = 12, MLE1 = 13, MLE2 = 14, MLD1 = MLD2 = MLEE = MLEL = MLPD = 15, 16. 17, 18, 19 MLBAE = 20, MLCS3 = 21, 'ML_ADDR + 20°'0° CONTROL AND STATUS REGISTER 1 iMLZADDR + %0°'2' WORD COUNT REGISTER iMLZADDR + X0'4" UNIBUS ADDRESS REGISTER iMLZADDR + X0°6° DESIRED ADDRESS REGISTER iMLZADDR + 20°'10’ CONTROL AND STATUS REGISTER 2 iMLZADDR + 20°12' DRIVE STATUS REGISTER iMLZADDR + 20°'14° ERROR REGISTER iML"ADDR + %0°'16° ATTENTION SUMMARY REGISTER iMLTADDR + 20°'20° LOOK AHEAD REGISTER iML”ADDR + X0°'20° PROM ADDRESS REGISTER iMLZADDR + 20°22' DATA BUFFER REGISTER iMLZADDR + X0°'24’ MAINTENANCE REGISTER iMLZADDR + %0°'26' DRIVE TYPE REGISTER iML”ADDR + X0'30° SERIAL NUMBER REGISTER iML”ADDR + %0'32° ECC CRC WORD REGISTER 1 iMLTADDR + X0°'34’ ECC CRC WORD REGISTER 2 iML"ADDR + %0°'36° DATA DIAGNOSTIC REGISTER 1 iML”ADDR + X0°40° DATA DIAGNOSTIC REGISTER 2 iMLTADDR + X0'42° ECC ERROR REGISTER iML”ADDR + X0'44" ECC ERROR LOCATION REGISTER iMLZADDR + X0'46' PROM DATA REGISTER 'MLTADDR + X0°50" BUS ADDRESS ES2TENSION REGISTER IMLZADDR + %0'52° CONTROL AND STATUS REGISTER 3 | ERROR NUMBER CONSTANTS ! «tax ERROR LOCATION rexx Page SEQ 0037 I BSKELL REV B PATCH 00 : : : : 1585 1586 1587 1588 n3 ERR_1 = 1, ERR_2 = 2, ERR_3 = 3, ERR_& = &, 18-Mar-198 12:07:57 18-Mar=-1982 15:44:41 !Init code section 'Init code section 'Init code section 'Pm_this_bank routine ERR_7 = 7, ERR_8 = 8, ERRT9 = 9, 'In_blast_tbl routine tver_blast routine 'Init code section (CONSTANT LITERAL DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (2) 'In_error_map routine 'In_error_map routine : . 1589 1590 ERR_S = 9, ERR_6 = 6, : : : : 1594 1595 1596 }ggg ERR_10 = 10, ERR_11 = 11, ERR_12 = 12, gRR_lB = 13, : }ggg 1601 : DESIRED SECTOR ADDRESS FIELD SELECT CONSTANT VALUES 'Bank select size expression bnk$sel_size = 2, 1591 1592 1593 }gg% QRRSSEL_SIZE = 4, }ggg ; FLAG REGISTER SELECTION DEFINITION 1606 1607 1608 f_flg_err = 0, F_UNT_ERR_FLG = 1, F_ERR_MAP_ENTERED = ¢ 1609 S NA 2O VO NO NS NN = OV NS W= O g&WWWWWNNNNNNNNNN—i—D—I—l—D—D—n—n—o—a it o e e o s i D e b cemd ek e e e o b b d b e o e b d b oONONROONOOO OO OO OO OO O OO OO NONONON TR R R IR R T T PR T PR TR SR I A TR R IR IR LN PR TR TNTR R X TEYIAIE A IE T E TR N T : : : F-BLST_TBL_ENTERED = 5, E‘Skh Bsg EHIP =4, FZABORT_ARRAY =6, F-D_CLK_TIME_OUT = 7, 'Bl_proms routine 'Ver_error_mask routine 'Ver_error_mask routine iMass bus transfer routine 'Array select size expression ‘General purpose error fl 'Indicates an uncorrectable error was detected I Indicates that the error map has an entry 'Indicates that the blast table was entered tIndicates that this bank has one all bad chip >14 row or col bad ‘Indicates that random data gattern is presently used 'Indicates that further testing of thi s array is to be aborted 'Indicates that the data clock bit is hung high g BOOLEAN VALUES TRUE = 1, FALSE = 0, !Logical true indicator 'Logical false indicator g CRC DATA BIT DEFINITIONS CRC_P = 36, CRCCA = 37, CRCB = 38, CRCCNIBBLE = 9, 1Ecc IEcc 'Ecc Ecc crc crc crc crc chip 36 chip 37 chip 38 nibble nine g DELAY MACRO DELAY VARIABLES 6ne us = 1, FIFTY Ms = 100, gen_ns = 10000, ‘delay for one micro second !Delay for 50 milli seconds 'Delay for 10 milli seconds g MISCELLANIOUS CONSTANTS mt11a = 1, SET_FLG = 1, 'ML11A is a 16k mos ram array !Constant to set a flag Page SEQ 0038 3 BSKELG REV B PATCH 00 CONSTANT LITERAL DECLARATIONS : : : 1637 1638 1639 1640 CLR FLG 0, enabE DISABE = 6 N 3 18-Mar-1982 16: 0 7 18-Mar-1982 15:44 v2(212) T0PS-20 Bliss=16 SKL4.BLI.1 (2) PA:<NEALE>PM 'Constant to set a fla? 'Enable mimr register function iDisable mimr register function SE090039 Page 4 B Isbtrl 'FIELD DECLARATIONS' 1643 1644 g FIELD DECLARATIONS i REMAINING ERROR TABLE STRUCTURE MAP ! MAP_REM_TBL = set ROW CoL RO_CL IR IR b el At O OOOO0O bt bbb bdladicdiods v & & & Y N W % % 4 b ~ & % & . =1 (w1} 'Set when this chip has additional failing row/col 'This chip fails zeroes pattern 'This chip fails ones pattern !This chip fails random pat !This chip fails random pat 'This chip fails random pat 'This chip fails random pat 'This chip fails random pat 'This chip fails random data 6 WA =lelolale] b cad o wd cud b S & S % b nad wmd and % & nd wmd & & & —bemddwd® \n Orv=du s - b b b b b NIRRT v v & v v S VVON NO0 D =2 OO I 0. -l (O L T T O T T LU RAN"% RANTS RANZ6 RAN. 7 RAN_ -8 RAN_ -9 R AN_ 1 AN_1 AN_1 AN_1 L RANC1 RAN_2 RAN_3 [ lenlmlon D lon Jan Lan Jan Lan i Lon set FAULT PAT_0 PAT 1 OOWHWD MAP_CHIP_TBL = 'This chip fails random data 7 'This chip fails random data 8 'This Aip fails random data 9 'This chip fails random data 10 ‘This chip fails random data 11 'This chip fails random data 12 ‘This chi fails random data 13 tSelect all failing gatterns 'Select all bits in byte tes, g WRITE BUFFER STRUCTURE MAP 0], e b . NN iad ol e cnh i e QOO 01, ) NS NN =O YW e e rrey I v ¢ (racg fumg S g S -4‘-4'-4'-."“-‘ ] BIT 0w 8IT_0 nainhn MAP_WRT_BUF OODDOD 3332222 $22%8%8 SREREE b d b b b wh cud ad !Select both row and column position % FAILING CHIP AND PATTERN STRUCTURE MAP = [0, ALL wnlh cmd o 'Select failing column position tes, PATS 80 'Select failing row number position (8. 8. 01, fo; 8..01. Of"\ i ~ W N — OV d e i o o~ oo b wd b e b el OO NOOAONON OO~ fiet? HWNO—=O OO\ ANV S N 8 Yy 0&0‘00000000000000 NN AN -OVOO~N owne b —— o D b b wud ) d el A e i i o PRI A L N .o TR TRE N PRI I LR LN ¥ L PTRR PR YR PR PRPR PR TR TN P T eN P Y P A e Y L FIELD DECLARATIONS 1641 1642 K I IR P P W WA REV B PATCH 00 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (3) NN = BSKELS 18-Mar-1982 g 18=Mar-1 982 1 &-U" - [ !Defines bit 0 of write buffer Defines biv 1 ° !Defines bit 2 ** ‘Defines bit 3 ' ° Defines bit &4 ©* . Defines bit 5 ' ' ‘Defines bit 6 ©° 'Defines bit 7 Page SEQ OOLO C 1693 1694 1695 BIT_8 = (8. 1, 0J. BITTM9 = [9, 1. 0] BITZ10 = [f0.71.702. BITZ11 = 11, 1. 03, BITC12 = [12. 1. 02. BITD14 = b e e i e NN NN = NV INN = OV NN S LN OO0\ S NN =LOV s b e e o b d e b o s e i i i e e o s e o e e N SN SN N SN SN NN N SN SN b b e e NN N jololelels] W OV ~NOMWNS N ~ NN b b b b 701 e e o AR R R T FIELD DECLARATIONS BITT13 = 513. 1. 03, N NN NN SN NN N N N N N SN R Y Y P T T T P T P PN PR LR YR L R R R LR T L I PR TR PRI A LR LN T ) P PR TN TN TN TN TN YR, BSKELS REV B PATCH 00 & 18-Mar=-19C2 12:07:57 18-Mar-1982 15:44:41 [14, 1, 0], 03, BITZ1S = C15. 1, WRDTM= [0, 16, 03 TOPS=20 Bliss-16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (3) 'Defines bit 8 ' ' ' ' ' 'Defines bit 9 ' ' ' 'Defines bit 10 ' ' ' :pefines bit 11 *' ' ' 'Defines bit 12 ' oo Defines bit 13' : " *' 16 bit ‘Defines ' ' ‘Defines bit 15' 'Defines word of the write buffer tes, g TEMPORARY BLAST TABLE STRUCTURE MAP MAP_TMP_BLST_TBL = NIB_NO = EO. 4, 01, R_CTMNO = [4, 8. 0], RZC= [15, 1, 03 'Defines failing chips nibble pos1t1cn 'pefines chips a1lin? row or column clr = column address 'Set = row address, tes. i RH / ML-11 REGISTER ACCESSING STRUCTRUE MAP MAP_ML11_REG = §et g MLCST CONTROL STAUTS REGISTER 1 'Special condition 'Transfer error 'Bus parity error '‘Drive available 'Drive ready ruu? to."6. 0. i Interrupt enable 'Funtion go bit 'Funtion code ; MLWC WORD COUNT REGISTER we_reg = o, 16, 01, 'Word count register ; MLBA UNIBUS ADDRESS REGISTER BA_REG = [0, 16, 01, 'Unibus address register ; MLDA DESIRED ADDRESS REGISTER Qa_reg = [0, 16, 0], ‘desired sector register ; MLCS2 CONTROL AND STATUS REGISTER 2 pLT = [15, 1. 0. WwCE = [14. 1. 03, 'Data late 'Write check error Page SEQ 0041 /. D Y L 'Missed tranfer IMassbus data bus parity error 'Output ready ! Input ready ‘Controller clear 'Parity test T LN 1 ) T0PS-20 Bliss=16 V 2 ( 212 PA: <NEALE>PMSKL4.B L 1 1 (3 ‘Program error L iy 16:07:57 15:44:41 'Unibus parity error !Non-existent drive 'Non-existent memory Wt ¢ 8 s * o [=] IO OOIOOOW e 8 8 o .« % & - - O - o - PAT = -~ O i~ vl ol by Lan Lon Lan Lo i MDPE ORDY IRDY CLR = nun PGE MXF ~ ey NO VWA —=O V] O Il IV VIV AV IV VI N A oo NN = OV ol ad Sl e d cd d wd ) S b ol ) b wnd cnd cwd NNV NNYNYIYNIISISIS wadd e NEM 766 B PE = [ NS NI O b b b N e v s ONNO O—=AN FIELD DECLARATIONS NED b ....q.......!...t.hni-.‘n\n0:!-0...!...\oto!.Q.Q-Q..n!-.-......lo!ot.-.tonc!o.ot..o-!o..-o..'-.--.-. REV B PATCH 00 . 01, o 'Unibus address increment inhibit 'Unit select i MLDS DRIVE STATUS REGISTER COMP_E MOL L87 DPR DRY 'Attention active Error summary ‘Medium on line 'Last block 'Drive present ‘Drive ready ‘volume valid e X BSKEL& & 13-Har-198 18-Mar-1982 YV = (6, 1, 01, g MLER ERROR REGISTER !Data check bck = €15, 1, 01, UNS = [14. 1. 03, oPl = [13. 1. 01. ;g;ivet¥nsa;e 10peration 1AE = [10, 1, 03, AOE = [9,71,70], ECH_ERR = (6, 1, oPAR = {5. 1. 03, 01, CPAR = [3. 1, 03, RMR = [2. 1' OJO ILR = [1, 1. 03, ILF = [0, 1, 01. ] : Let incomplete 'Invalid address error iAddress overflow error 'Ecc hard error ‘Data parity error {Control parity error !Register mod erfused error 'ILlegal register error 'ILlegal function MLAS ATTENTION SUMMARY REGISTER attn_reg = [0, 16, 0], tattention summary register g MLPA PROM ADDRESS REGISTER eA_REG = [0, 16, 01, 'Prom address register § MLMR MAINTENANCE REGISTER SIZING = [11, 5, 01, TRT = (8, 2,701, ARR_TYP = Li0,71, 03, REFMAR = [7.°1,70], P_RE = (6, 1. 05, !System siz2ing !Transfer rate 'Array type 'Refresh margin 'Prom read/write Page SEQ 0042 WA b b e e MR_REG = [0,"16."0], g MLDT DRIVE TYPE REGISTER DRVTYP = [1, 8. 0], OT_REG = [0, 1, 0], ‘Drive type . ‘Drive type register g MLSN SERIAL NUMBER REGISTER SERIAL_REG = (0. 16, 0], 'Serial number register | MLE1 ECC CRC WORD REGISTER 1 PAR_CRC_WRD WRD = [8 (8 6. 01, 3 CRCSA = E1_REG = 6, 16, 03, 'Parity crc¢ word 'CRC word A-A 'Ecc crc register 1 | MLE2 ECC CRC WORD REGISTER 2 8234 = [10, 1. 0], 'Data bit 32 :Data bit 33 ‘pata bit 34 B-37 = [13. 1. 0J. 8°38 = (14, 1. 03, cRcse = [0, 6. 0] 'Data bit 37 !Data bit 38 !Crc word b-b B_32 = (8, 1, 01. B33 = [9, 1, 0] 8235 = [11. 1, 03, E2_REG = €0, 16, 03. 'pata bit 35 ‘Data bit 36 1Ecc crc register 2 8210 = (10,71, 03, 8-11 = [11. 1. 02, B-12 = (12, 1. 03, 8213 = [13. 1. 03, 8-14 = [14. 1. 03, AN = O 8.8 = [8. 1. 03, 879 = [9, 1, 0] X X X 2 b ek md e = AO QO NO VNN = O 8_7 =7, 1, 0]. X 0], 01, 03. 03, 0], T 1. 1. 1. 1. 1, X 1 1, 02, T b0 = [0, 8.1 = [1, 8-2 = [2. 83 = 3. 8% = [4, 8-S = [5. X i mLD1 DATA DIAGNOSTIC REGISTER 1 F o X CONOMASS NN — E‘g§5-=t51'1i’ogj' 'Prom disable ‘Data clock 'Data diag mode ‘Data check enable 'Ecc disable mode ‘Ecc diag mode !Maintenance register L e md o b b i i e o oo e o e e cmd e i e o o e e o e e e e o e b ncd e o st s e e I TR YA TE YR B R I A LR YR X TR TRPRSI PR TR TR PR N [ YETEYREIETE i e b h WA W W T R TN PR TR T P N RN TR Q0 0o 00 00 00 09 00 G0 00 00 G0 0O GO CO 0O 0G0 06 00 G OB o 0O 0o OO GO 00 OB GO 0o 0O 0 0O OB GO GO G 0O OB 0B 0O < b ok b i dd d b b 2 O O Q ooooog B NN N N NN NN NN PNORNINININININ) FIIIFIN 8 OO B NN =OOVOONO VW =0 V00 ~[« JV, FVTN NO VSN OLVONOWVS P_DIS = [5., 1. 01, D-CLK = ga. 1. 03. 3,71, 0], 0-OM = DEN = [2, 1, 0) SP R 1797 1798 1799 1800 ST WA FJIELD DECLARATIONS TN NI PRI YA RE V B PATCH 00 16:07:57 1g-nar-198 12:44:41 el BSKELS E 4 18=Mar-1982 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (3 Fag e g SEQ 0043 BSKEL& REV B PATCH 00 FIELD DECLARATIONS 8 15 = [15, 1, 03, 1849 ; 981_REG z fO. 16, 0], }g%? ; g MLD2 DATA DIAGNOSTIC REGISTER 2 }ggg : : : : : : : ; : : 1854 1855 1856 1857 1858 1859 1860 1861 1862 : 1864 : 1863 8_16 = [0, 15. 01, 817 = (1. 1,702, 8_18 = [2. 1. 0]. 8_19 = [3, 1, 0]. 8720 = (4, 1. 0. 8_21 = [5. 1, 0], 822 = [6. 1. 0], 8223 =17, 1, 01, 8724 = [8. 1. 03. 8225 = [9, 1, 0] 8-26 = [10, i, 0J. F & 18-Mar-198 ;2521:2; 18-Mar-198 'Data bit 15 'Data diag register 1 T0PS=-20 Bliss=16 v2(212) PA: <NEALE>PMSKL4.BLI.1 (3) 'Data bit 16 ‘Data bit 18 'Data bit 19 ipata bit 20 'Data bit 21 iData bit 2% ‘Data bit 2 iData bit 24 iData bit 17 iData bit 25 iData bit 26 iData bit 2/ iData bit 28 iData bit 29 1365 1866 1867 g7 = [11. 1. 03, B-28 = [12. 1. 03. 8-29 = [13. 1. 0]. : 1869 331 = [15, : : }ggg 1874 g MLEE ECC ERROR REGISTER UNC = [15. 1, 03, : 1876 crc = [13, 1, 0], : }g;g E_Bit = £6, 6, o3, : : : }ggg }ggg }ggg g MLEL ECC ERROR LOCATION REGISTER gL_aee = [0, 16, 0], | MLPD PROM DATA REGISTER : }ggg éD_REG = [0, 16, 0], iProm data register ; : : : : : ;ggg ;gg? }ggg }ggg }ggg 1898 § MLBAE BUS ADDRESS EXTENTION REGISTER QAE-REG = [0, 16, 0]. g MLCS3 CONTROL AND STATUS RLGISTER 3 'Sus address extention register : : : : : : : 1868 }g;g 1875 1877 8230 = [14. 1. 01. 1, 0], DB2_REG = o. 16,01, s6L = [14, 1, 0. CHAN = [6, 6, 0] iData bit 30 ‘Data bit 31 iData diag register 2 'Uncorrectable error 'Single error iCrc error ‘Channel in error iError function 1Error location register ‘Control and status register 3 éSS_REG = [0, 16, 01, § ML_ALL ACCESS ALL BITS IN SELECTED REGISTER 'Access all register bits ML_ALL = [0, 16, 0] Page 9 SEQ 0044 BSKEL&G REV B PATCH 00 g, ! yer czmlicb prom maintenance error ; log table error log table map NN vl — and cwd v e and i DS VeV NI e e VR b b PM_MAP = Lol olellelelle ool e — e d e b OO (=T~ S LI =O 000 ~NOo~ Be N FIELD DECLARATIONS set BNKS_PM = BRDS_PM = BITS PM = 6 & 18-Mar-1 982 16:07::5 4 18-Mar-1 982 15:44 :4 1 TOPS-20 Bliss~16 v2(212) PA:<NEALE>PMSKL4.EL].1 {3) Page SEC OL4t H 56 371 ~NON W = ok b= e O = OOV = OOV NV NN = OO0 NO VSN & NN NN WN NN NI NININ NI NN NN ok b o e s e b end b vaed d e b e i e e o e b d b e b D b b N TR TR P AT PR YNPR TR TR R YRAT IEIE 155 A FEYE PRFREXE PR TR R 138 00 O O O O OO O O OO O O O 010 O O O OO OO OO0 OO BSKELSG REV B PATCH SR 10 '3 STRUCTURE DECLARATIONS 18-Ma 18-Ma Isbrtl *STRUCTURE DECLARATIONS' i STRUCTURE DECLARATIONS structure ML-11 register accessing structure this structure allows ML-11 register accessin? to be transportable between 1 the PDP-T1 and VAX diagnostic supervisors 1 <BLF /NOFORMAT> RH [0, P, S, E] = begin local ML_REG; ML_REG = .(RH + Xupval+*0)<0, Xbpval, 0>; ML _REG end <P, S, E>; '<BLF/FORMAT> 157 1 T0PS-20 Bliss=16 Vv2(212) PA:<NEALE>PMSKL4.BLI.T1 (&) Page SEQ 004t [ BSKEL4 REV B PATCH 00 372 VN VIVAMVIAIWNANES S S S S 2R = OO 00 NON N NN = O 00NN b wad b b D D e b e ol D b wed b cod OO oo~ VIS AN b D O O O 0 000V OOV OVOOO 1942 1943 —t el e Y T YA T E TR TR TR IR YR TR RN I WIS TR I I PN Y I S " 4 EXTERNAL DECLARAT]IONS 4 18-Mar=-1982 16:07:57 18-Mar-1982 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (5) ?sbttl *EXTERNAL DECLARATIONS' g EXTERNAL DECLARATIONS extefnal routine % Random number generator routine written in macro source code RANGEN : novalue; extecnal % Random number generator routine seed variables SEED1, SEED2., SEED3, QANDAI. 'First word of random number buffer 'Second word of random number buffer 'Third word of random number buffer 'Linkage which random numbers are returned % Diagnostic supervisor global variables LSUNIT; 'Supervisor storage of units selected Page 172 SEQ 0047 J BSKELS REV B PATCH 00 : : : : }ggg 1968 1969 1970 4 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 OWN STORAGE DECLARATIONS TOPS=20 Bliss=-16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (6) ?sbttl 'OWN STORAGE DECL *RATIONS' | Own storage declarations ! : 1971 : }g;{ : %g;g g Prom Maintenance error summary report structures : 1977 PM_COUNT, : }gg? : 1982 g Error map interigation structures COL_CNT_TBL : vector [256, byte) volatile, !Column count table : }ggg gOL_PTR : vector [10, bytel volatile, 'Column count table pointer ; : : : : : 1972 }3;8 1983 1984 1987 1988 own ! ; VER CZMLCB added these storage structures to this version ] 'Counts number of bad chips found gH-LOG : blockvector [128, 2, wordl field (PM_MAP), REMTMTBLTM: block [100) field (MAP_REM TBL) volatile, 'Remainder table COPTED REM_TBL : block [100] field (MAP_REM_TBL) volatile, !Copied remainder table i 1/0 butfers ! : }838 ; VER CIMLCB changed 128 to 256 : 1991 WRT BUF : block [(256 + 511%2)) field (MAP_WRT_BUF) volatile, : }33? % Failing row and sector storage structure : }ggg éRROfl_HAP : blockvector [512, 8] volatile, : }833 é Failing chips and pattern storage structure : 2000 CHIP_TBL : block [39] tield (MAP_CHIP_TBL) volatile, : : : : : : : 588% 2004 2005 %889 gggg gg}g Sg}g g Row & col blast information storage structure !Temporary blast table TMP_BLST_TBL : block [10] field (MAP_TMP_BLST TBL) volatile, ) table blast !Actual volatite, 512] [4, or blockvect BLAST_T8C : blast table into index base adrs iColumn QOL_BISE. g ML-11 accessing structure referance ML_ADDR : ref RW field (MAP_ML11_REG) volatile, | Init code global variables : : : ; 2014 2015 2016 2017 MAX_CHIP_COL, ML_BuT :“volatile, | ARRSBNK SEL : volatile, TSTED_BRK : volatile, : }gg% iRead buffer ?D,BUF : vector [256] volatile, Write buffer 'Error map of failing rows and sectors IFailing chip table 'Rh base register address INumber of columns per mos ram o . !ML=11 divice under test 'Fabricated desired sector adrs where array maint is pertformed 'Count of how many banks to array maint 13 Page SEQ 0048 K BSKEL4 REV B PATCH 00 OWN STORAGE DECLARATIONS TR T ) INC_BNK : volatile, INCCARR : volatile, ARR-SEL_POS : volatile, R % Program L e e BNK_SEL_POS : volatile, QNK_NUH_SEC : volatile, BAD_BNK_REG: bitvector [8) volatile, &4 18-Mar-~1982 21 16:07:57 18-Mar-1982 15:44:41 TOPS-20 Bliss=16 v 2 v2( 212) PA:<NEALE>PMSKL4.B L 1.1 (6 'Bank adrs increment value !Array adrs increment value . 'Field select position expression 'Field select gos1tion expression 'Indicates num er of sectors per bank. 16k = 128, 64k = 256 lag registers FLGREG : bitvector [16] volatile, ?EGRADE_HOD_REG : bitvector [8] volatile, ‘Indicates if bank has new errors !General flag register 'Degrade array mode flag register e 8200V 00,000,000 ; Miscellaneous variables SIZE : volatile, DST : volatile, SRC : volatile, , LST_TSTED_ARR : volatile, RAND_PASSTM: volatile; ] 2039 2040 2041 ; 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 Page 14 SEQ 0049 BSKEL& REV B PATCH 00 & L 18-Mar-1982 1 g:07:57 18-Mar-1982 1 BIND DECLARAT]ONS :64:41 (212) TOPS~20 Bliss~16 v2(212 (7 1.1 PA:<NEALE>PMSKL4.BLI.1 15 Page SEQ@ 0050 R R I E R ETE ST A e T T P PR TR TN PN SNR g 2059 VER CIMLBB newly defined messages to print out statisical prom maintenance messages. MT16 = uplit (Yasciz'INIDITA(D) SHEADER = uplit (Xasciz'UNIT #: : » A bind - g Bind declarations "2E3 ;g.gg'fl —m oooooogooo S NN = O D00 NOMWN OO VAN NN VIAWNMANNS NN NINLALNINININININININD 0000 LR T L TN T RR YR L] .o @ TR YE IR YE) ?sbttl '8IND DECLARATIONS® AD2YA(D) AD13A(D) BIT #: BANK #: ARRAY #: ID23A(D) AD6IA(D) '), COUNT #:*), uplit (¥asciz'PROM MAINTENANCE PERFORMANCE SUMMARY REPORT'), uplit (Zasciz'NO ADDITIONAL ERRORS DETECTED WITHIN THIS UNIT*), THE FOLLOWING LISTS AN ACCUMLATIVE COUNT OF PREVIOUSLY AND NEWLY'), FAILING ROWS AND COLUMNS DETECTED WITHIN EACH ERRORING CHIP.'), HOWEVER THIS LIST DOES NOT NECESSARILY INDICATE THE NUMBER OF NEWLY' FAILING ROWS OR COLUMNS BLASTEDIN'), uplit (Yasciz'INZA uplit (Xasciz'INIA uplit (Zasciz'INXA uplit (Xasciz'INXA i Error and run time messages ILL_CMD_MSG = uplit (Xasciz'ILLEGAL PROM MAINTENANCE PROGRAM COMMAND Y., BGN_MSG = uplit (Xasciz'STARTING PROM MAINTENANCE'), START MSG = uplit (Xasciz'TYPE START TO EXECUTE PROGRAM'), HQ_ERR_MSG = uplit (Zasciz'HARDWARE QUESTIONS NOT ANSWERED CORRECTLY "), HQ“MSG = uplit (Xasciz'BLASTING SYSTEM, ARRAY OR BANK NOT SELECTED ", END _MSG = uplit (Xasciz'P~OM MAINTANENCE COMPLETED ‘), SUPRES_MSG = uplit (Xasciz'SUPPRESSING PROGRAM EXECUTION '), RET_DRS MSG = uplit (Xasciz'RETURNING TO DRS>'), LUN_MISS MSG = uplit (Zasciz'LUN O P-TABLE NOT PRESENT'), CON_A_MSS = uplit (Xasciz'CONDITION A' ) ) CON_B_MSG = uplit (Xasciz'CONDITION 8°), = uplit (Xasciz’CONDITION C* )] [ X = uplit (Zasciz'CONDITION O 'J, UNC_CRIP_MSG = uplit (Xasciz'UNCONFIRMED FAILING CHIP'), GTRCMSG = uplit (Xasciz'MORE THAN ONE UNIT SELECTED FOR PROM MAINT®), UNIT_SEL MSG = uplit (ZJasciz'ALL UNITS EXCEPT UNIT O WILL BE IGNORED'), Sw_B0G_MSG = uplit (Zasciz®UNEXPECTED SOF TWARE BUG DETECTED NOTIFY DIAG ENG*), ABORT_MSG = uplit (Zasciz'PROM MAINTANENCE ABORTED FOR THIS ARRAY'), NO_AD"MSG = uplit (Zasciz'NO ADDJTIONAL ERRORS BLASTED FOR THIS ARRAY'), UNT ERR MSG = uplit (Xasciz'UNCORRECTABLE ERRORS DETECTED AFTER BLASTING'), TIME OUT_MSG = uplit (Xasciz'DATA CLOCK BIT FAILED TO RESEY AFTER PROM WRITE®), REP_M7363 MSG = uplit (Xasciz'REPLACE ARRAY DATA MODULE M7363'), MEM_ERR_M3G = uplit (Xasciz'MEMORY ERRORS STILL EXIST AFTER BLASTING'), UNX_DRV_ERR_MSG = uplit (Xasciz'UNEXPECTED DRIVE ERRORS DETECTED®), RD_RFERTMMSG = uplit (Zasciz'OCCURED DURING A MASS BUS READ TRANSFER')‘ WRT _XFER MSG = uplit (Xasciz'OCCURED DURING A MASS BUS WRITE TRANSFER'). WT_CHK_XFER_MSG = uplit (%asciz'OCCURED DURING A MASS BUS WRITE CHECK TRANSFER'), {.HSG Z uplit (Xasciz'’), % Printing formats n BSKELS o4 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 REV B PATCH 00 BIND DECLARATIONS TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (7) 2094 2095 ONE_MSG = uplit (Xasciz'XTIN'), TWO MSG = uplit (Xasci2'XTXTIN’) ! PRINT ONE MESSAGE 'PRINT TWO MESSAGES : : 2098 2099 : 210 CRLF = uplit (Xasciz'IN'), LF = uplit (Zasciz'IN'), LFS = uplit (Yasciz'ININ') O_1_PRINT = uplit (1asc12’i71011~'). 'PRINT A LINE FEED <CR> i PRINT TWO <CR> : 2107 SXSYSASYABANKXSXSYSAD1IN') , BNK_SEL_PRINT = uplit (Xasciz'XSASXSASESYSASASASXSASYSX ! PRINT THE BANK PRESENTLY UNDER TEST TO THE OPERATOR . A_B_C_PRINT = uplit (Zasciz'XAARRAYXSID2YSXABANKYSY01XSIABIT #ZSID2IN') ; : : : : : : : H : : : 2096 2097 2100 2102 2103 2104 2105 2106 2108 2110 : 2109 : H : : : : 2112 2113 : : : : : : : : : : : : : 21 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 g}gg THREE_MSG = uplit (Xasg1z'!TZT!TiN') FOUR_MSG = uplit (;asc1z'!TZT!TZT!N'5, ! PRINT THREE MESAGES ! PRINT FOUR MESSAGES ! PRINT OCTAL DIGIT AND A MESSAGE ! PRINT SIX OCTAL DIGITS AND A MESSAGE O_6_PRINT = uplit (Zasci2'XT206XIN'), ! PRINT A TWO DIGIT NUMBER AND A MESSAGE D 2_PRINT = uplit (Yasciz'XTXD2IN'), ), SELECTEDIN' DRV_SEL_PRINT = uplit (%asciz'¥ADRIVE XO1%A ' PRINT THE DRIVE SELECTED NUMBER TO THE OPERATOR ARR_SEL_PRINT = uplit (%asciz'¥SXSXSXSXISXSXSASIATESTING ARRAY XD2IN'), OPERATOR . ! PRINT THE ARRAY SELECTED TO THE ANIBBLE!SIDZZN'5. A“BCN_PRINT = uplit (!asc1z'!AARRAY!S!DZ!S!ABANKXS!O1!S! SXSYAOR RERUN PROGRAMIN'), REP_PRINT = uplit (Xasciz'XAREPLACE ARRAY MODULEXSXD2Y A_BZPRINT = uplit (Xasciz'IAARRAYXSID2XSYABANKXSXO1ZN') ®) CS1_PRINT = uplit (Zasciz'XSYSYSTSYAMLCSTXSXSXSXSYSXSASASASASASASTSASYSISTOCIN ST06IN'), STSTISASASI SXSASISTISX XSYSXSYSYSA SXSYSYAMLWC WC_PRINT = uplit (Zasciz'¥SX BAZPRINT = uplit (Yasci2’'XSISISISIAMLBAXSYSYSYSXSISISISISASISISISISISASI0OIN'), ). DA_PRINT = uplit (Xasciz'XSXSXSXSXAMLDAXSYSYSISXSISISTSASISISISASASISISTO06IN €S2 PRINT = uplit (Xasciz'XSTSISISYAMLCS2YSXSASLSYSASTSISISASASASISISISISTIO6IN'). DS_PRINT = uplit (Xasciz’'TSXSXSYSYAMLDSISYSYSASASYSYSYSASASISYSISISISISI0OIN'), ER_PRINT = uplit (Xasciz'XSISXSYSIAMLERYISYSYSASASAISTISTSISISASISASISISIST06IN'), AS_PRINT = uplit (Xasciz'XSISISISYAMLASISISYSYSYSISYSYSISISTSISYSISASISI0OUIN), MRZPRINT = uplit (Zasciz'XSISTSISTAMLMRISYSXSISASISASASASISISISTSASISISICOIN'), DT_PRINT = uplit (Xasciz'¥SXSISTSTAMLDTXSYSXSYSYSXSYSYSTISTISISTISSTISASIST0OIN'), SN_PRINT = uplit (Xasciz'ZSYSXSXSIAMLSNISXSYSYSXYSISASISTSTSISISISISISIST0OIN'), EE_PRINT = uplit (Xasciz'XSXSTSTSYAMLEEYSISYSASISYSTISTSISISISISISISISASI0OIN'), EL-PRINT = uplit (Xasciz'¥SYSXSYSYAMLELXSXSXSXSXSYSASTSISYSASISISISISISI06IN®), HEADER_PRINT = uplit (Zasciz'XSISXSYSYSXSYSASYSXSIAREGISTER DUMPININ'), COL_DESC_PRINT = uplit (Zasciz’YSYISYAREGISTER NAMEXSYSXSYSISXSTACONTENTSIN®), X_PRINT = uplit (Xasciz2''); Page 16 SEQ 0051 N BSKELL REV B PATCH 00 MACRO DECLARATIONS : g;gg : 2133 : H : ; : 2136 2135 2136 2137 g}%g : : 2140 2141 : g}zg ; M 2144 ; M 2146 : M 2149 : : : : : : : M 2145 WRT_RH (0, FIELDNAM, IMAGE) = begin MLREG = .ML_ADDR [0, ML ALLJ: (.ML_ADDR + Xupval+*0) = .MLREG; M 2152 2153 2155 M 2158 : : : 2161 2162 M 2163 : %}gg : M 2168 ; 2171 ; ; ; supervisors. MLREG<Xfieldexpand (FIECDNAM}> = IMAGE; : : ! this macro allows ml-11 register accessing_to be | ! transportable between the PDP-11 and VAX diagnostic M 2151 2156 M 2157 ; macro ) . ! g macro accessin ; ML-LL register M 2150 ; H : ! Macro declarations ! local MLREG; 2154 ! end:%, . ! Clear rh and mass bus devices ! CLR_MBUS = WRT_RH TMLCS2, CLR, ONE);!Clear the mass bus %}gg QRT_RH (MLCS2, DRV_SEL, g}gg .ML_DUT):X, ! Clear mass bus devices ! CLR_DRIVE = ?RT_RH TMLCST, FUNC, FUNC_2):%, RD_PROM_MODE = 2169 WRT_RHTMLMR,MR_REG,PM_RD_MODE);X, WRT_PROM_MODE = M 2170 WRT_RH(MLMR,MR_REG,PM_WRT_MODE).X, DAT_DM (X) = M 2172 : : : ; ECC_DIS (XY = M 2174 2175 WRT_RH TMLMR,E_DIS, X):X, PROM RW (XJ = M 2176 2177 WRT_RH (MLMR,P_RW, X):X%, DAT_CLK = m 2178 2179 WRT_RH TMLMR,D_CLK, ONE);X, PROM DIS (R) = M 2180 2181 WRT_RH (MLMR,P_DIS, X):X%, H : : : : 2173 WRT_RH TMLMR,D DM, M 2182 . 'Restore the drive select number ] iClear the drive ; Maintanence register diag mode setting macros : : TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (8) ?sbttl *MACRO DECLARATIONS' M 2147 M 2148 : 4 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 DCK_EN (X) "= X):X, !Enable prom reads . !Enable prom writes . ‘Enable/disable data diag mode . . ‘Enable/disable ecc disable mode . 'Enable prom read write !Data clock . 'Enable prom disable Page 17 SEQ 005¢ B 18-Mar=1982 15:44:41 REV B PATCH GO MACRO DECLARATIONS : X)X, 'Enable data check enable YRT_RH TMLMR E_DM, X):X, 'Enable ecc disable ECC_DM (X)"= M 2184 : ! Miscellanious macros definitions PM_RD_MODE M 2189 2190 X0°'0000407%, PM_WRT MODE = m 2191 2192 %0°000740°'%, : : : : M : TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (8) 2183 WRT_RH (MLMR,D_EN, : : 5 18-Mar-1982 16:07:57 BSKELS %}gg S}gg M 2193 . ) FULL WRD = %}8? 0, 16, 0%; 'Enable prom read mode . 'Enable prom write mode iSelects full word of data element Page 18 SEQ 0053 BSKEL& REV B PATCH 00 2196 2197 C 5 18-Mar-19 82 16:07 18-Mar-1982 15:44: EXTENDED MESSAGE PRINTING SECTION Ysbttl "EXTENDED MESSAGE PRINTING SECTION' I+e ; fFunctional description: register dump gnmsg will get called when the etects errors during a mass this bgnmsg will print bus transfer. the error registers. terminal out to the This drive i !Print the dump message ; BGNMSG (DUMPER) TITLE BSKEL4 .PSECT $SPLITS, /INX/ D1/ N 102 m .ASCII NN, ~N) Ugfl L) |-] o~ s 2& ~ = /T 8/ ~N N JASCII CASCII LASCII LASCII .ASCII .ASCI!I ASCI11 7)/<00> % 072 040 116 043 040 122 131 P.AAB: R 043 040 101 040 040 101 101 m 043 /A(D/ /) agn - > 040 .ASC1I LASCII ASC11 JASClI -ASCI11 .ASCIl -ASCII LASCI11 LASCI1 ASC11 .ASC1l .ASC1l .ASCI1 .ASC1l .ASCII .ASC1I ASCII .ASCI11 .ASCI1I LASCII .ASC11 ASCII .ASCII ASCI] LASCII 045 104 040 040 104 101 051 040 040 061 050 040 040 045 045 104 040 040 045 045 104 ey S R b=d ~ O ~n) el 3 e e ~~ A 116 061 050 040 040 045 045 104 040 040 194 101 051 040 040 062 050 040 040 040 066 050 000 116 040 040 . .ASCII * gE8gReses SIPERTENGIRRD 000102 P.AAA: 045 /REV B / ~ . IDENT /RAY /7 ¥/ /BAN/ K 8 /: / / 81/ D TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BL].1 (9 Page SEQ T, .- D BSKELG REV B PATCH 00 000145 000150 000153 000156 000161 000164 000167 000170 000173 000176 000201 000204 000207 000212 000215 000220 000223 000226 000231 000234 000237 000242 000244 000247 000252 000¢55 000260 000263 000266 000271 000274 000277 000302 000305 000310 000313 000316 000321 000324 000327 000332 000335 000340 000343 000346 000351 000354 000357 000362 000365 000370 000373 040 040 040 103 116 J43 063 240 (40 117 124 072 115 101 124 101 105 105 117 101 105 125 101 040 120 124 116 101 1m 117 114 122 122 104 105 105 127 110 040 111 125 124 045 101 124 040 114 127 107 11 123 116 103 115 126 105 122 040 m 105 116 040 122 122 116 040 115 122 122 117 000 117 104 1264 116 040 122 123 105 103 104 11 11 124 123 116 000 116 011 110 106 114 11 040 123 040 040 103 114 1 040 117 115 116 116 103 120 106 115 103 123 115 131 105 122 P.AAC: 040 104 11 101 105 17 040 124 124 040 124 116 110 040 m 000 045 01 105 117 117 116 114 124 101 101 125 101 126 103 P.AAD: 000 120 18-Mar-1982 15:44:41 EXTENDED MESSAGE PRINTING SECTION 124 072 040 040 125 040 P.AAE: LASCIL JASCIL ASCII LASCII ASCII LASCIT /T &/ /Y / /7 /7 CO/ /UNT 7/ #H:/ LASCII LASCII1 ASCI1 .ASCI! .ASCI1 .ASCI11 LASC11 LASCI1 .ASCIl LASCII .ASCI1 LASCl] ASCI1 LASCII LASCII LASCI1 JASCI1 LASCII ASCII ASCI1 ASCI1 ASCI1 ASCI3 LASCI1 LASCI1 ASCI1 ASCI1 ASCII LASCII ASCII .ASCII LASCII ASCII ASCII LASCII ASCII ASCI1 ASCII ASCI1 LASCI1 ASCII LASCII LASCII ASCII /M W/ /AIN/ /TEN/ /ANC/ /E P/ /ERF/ /ORM/ /ANC/ /E S/ 7ummv/ /ARY/ / RE/ /POR/ /1/<00> /NO / /ADD/ /1T1/ /0ONA/ /L E/ /RRO/ /RS / /DET/ /ECT/ /ED / /7WlT/ /HIN/ /7 TH/ /1S / /UN1/ 71/7<00><00> /INX/ ZA/<115<11> /THE/ /7 FO/ /LLO/ /WIN/ /6 L/ /1ISV/ /S A/ /N A/ /CCu/ /MLA/ /TIV/ /E C/ LASCII .ASCI] § 18-Mar-1982 16:07:57 <00> /PRO/ TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 20 SEQ 0055 8 . - - - L4 . - - g¢ P.AAG: Sv Sogvcg Somf S g Sueg SyBy Bo Bg Bg g BG BD Sg Sung bB Bg g DSy=t gg e Syumeg NNNVIVNN eS Seung Sg SLWVOLWLW mg $Suvnfg BPingNNVIVNNV Sy Gg SB SrOLLLULUW Se BS NVVIVVNN g S5 g BS g PSemeg (g G GB S Dg GS Sg Buge SG GS Sye Pg SyLLWULVOL LLOOL WOLVLLLL DOOVWVWL LLULLLLL LNLLULLU LULULLLU Y LNNNHLNN ANVDBNVN NVNANNNV DDAVNANN N DNDNABAN T <€ . . . SEQ 0056 9 PA:<NEALE>PMSKL4.BL].1 EXTENDED MESSAGE PRINTING SECTION 00 REV B PAT CH BSKELS P.AAF o Pa ye TOPS-20 Bliss=16 v2(212) E 5 18-Mar- 1982 12:07:57 18~Mar~- 1982 15:44:41 - P.AAK A NN e T ONOF rme— NN SO0 ~ON~ONOONNY OO Ym0 NINNNOOON P.AAJ: R I I II T L LT T LC LT L T T Y N A A S B g G S g B S e S Sy f c n u S G i S G g g e S G S g (g g i P e G SY gB gY BN SR B RS Do BBy S S GB GR S DRo S S GN S SL S L S IS b brtr-tr-trrdr -rdrdr-trd -tr-trtrdr-tr T I < -— -— A P.AAH mm.lO!lN=z2sM 22 SEQ 0057 Page (9) T0PS=20 Bliss=16 v2(212) 1T PA:<NEALE>PMSKL4&.BLI. EXTENDED MESSAG E PRINTING SECTION BSKEL& REV B PATCH 00 VT R e ot o S R e iB R R R R S S S S S R T R R R -3 2 2 0 e e i T e Bt B S S S S ev cccc ccccccssss ccccccssssss ccccccssssss cccccc ssssssssssss sssSsscccccc ssSSsscccccc SSssSScccccc Sssssscccccc P.AAD: N TONMOMSEAO TN-N=O NN w AN N OM ANNOW NeeOJTNEVNI MNMN 040 ADN2O—A=<NMNOMO =4 5 [ 1-1- EXTENDED MESSAG E PRINTING SECTION REV B PATCH 00 P.AAL: 23 SEQ 0058 Page (9 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BL].1 BSKELS& —— BSKELS REV B PATCH 00 EXTENDED MESSAGE P RINTING SECTION TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI .1 9 Page 2« SEQ 0059 BSKEL& REV B PATCH 00 [S"al"at1"a} S38 B8 3 8 8 838 8da Lo 12 11 EXTENDED MESSAG E PRINTING SECTION TOPS~20 Bliss~16 v2(212) PA:<NEALE>PMSKLG.BLI . (9 Page ) SEQ 0060 N NN NN, CrOOFIOODIT—OO0 VWANNFOrINNINLIO~D NOOOTrO—ONONNY—ONOOOOO Pg ev Bg Be SB Bi cccccc etg gg eg Pg BS SS BS1§ eg SB Sg PO BS GS eg BS SSemag Sg Sg SS BS S) Bg SS SB gg S) BP (eS Doo BS cccccc gg Bet gg By9 gB BS SS Bye Bg ggcccc Sg SS Syi Pgng BDng SIne cccccc ccCccc cccccC ccccCc cCCCcc cccccc VNNV NNNNANY NVNNNARN NNNNNNVL VINVINYN NNNNNUVI NNNNNNVN ANDANNND gL CL LCLECCCCL CCCL(CLLC LCCLCLCLC LCLCLCCLL CLCLCLCEC LLCLCLILC CLLCCLLCL PyTNRtARSVAotSTtAeBADW S NN N NN NN NN NN N NON N NNNNNNNNNNNNY NSNS A Page 26 SEQ 0061 (9 TOPS-20 BLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 EXTENDED MESSAG E PRINTING SECTION BSKELS REV B PATCH 00 BSKEL4 EXTENDED MESSAG E PRINTING SECTION g g Bmag g B S B S B S Sune S ) S S e S G Do S g g G S ) ) B G G g B S Py ) i S B B S g S i g P B B g g B g g 59 VOQP2IOTN"F4=N2O0“ RS Rt REV B PATCH 00 TOPS=-20 Bliss=16 v2(212) 9) PA:<NEALE>PMSKL4G.BL].1 eON=TvNO P.ABE: P .ABF A A A A - P.ABG: 040 101 106 (-8 ; o[ =] A Page 27 SEQ 0062 L BSKEL& 18-Mar-1982 15:44:41 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 002447 002652 002455 002460 002463 002466 002471 002474 C02477 002502 002505 002510 002513 002516 002521 002524 002527 002532 002535 002540 002543 002546 002551 002554 002556 002561 002564 002567 002572 002574 002577 002602 002605 002606 002611 002614 002617 002622 002625 002626 002631 002632 002635 002640 002643 002646 002650 002653 002656 002660 002663 002666 040 123 122 105 122 123 122 117 125 104 125 116 101 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 116 045 104 116 102 040 11 040 101 106 000 103 122 040 122 107 040 123 102 040 m 040 105 040 101 106 000 000 124 000 124 045 000 124 045 116 125 127 124 124 116 105 000 103 105 104 mm 040 115 123 125 127 124 103 103 124 116 105 000 045 000 045 116 P.ABI: P.ABJ: P.ABK: P.ABL: 045 124 000 P.ABM: 124 045 124 000 116 045 124 045 000 000 P.ABN: 116 000 P.ABP: 116 000 124 061 000 124 066 000 124 062 000 045 000 045 045 P.ABG: 045 045 P.ABS: 045 045 P.ABT: P.ABO: P.ABR: LASCID LASCII LASCII LASCII .ASCI11 LASCII 7/ BU/ /S W/ .ASCII .ASCII .ASCI11 .ASCI1 LASCII LASCII .ASCI1 .ASCII LASCII LASCII LASCI1 .ASCII LASCII LASCII LASCII LASCII .ASCII ,ASCIIl LASCII ASCII LASCI1 /0CC/ /URE/ /D D/ /URI/ /NG / /A M/ /ASS/ 7/ BU/ /S W/ /RIT/ /E C/ /HEC/ /K T/ LASCII LASCII ASCII LASCII LASCII LASCII ASCII LASCII LASCII LASCII .ASCII .ASCI11 _ASCII LASCII .ASCIl LASCII ,ASCIl1 .ASC11 LASCII .ASCII LASCII LASCII ASCII LASCI1 LASCII 5 18-Mar-1 982 16:07:57 /RIT/ /E T/ /RAN/ /SFE/ /R/<00><00> /RAN/ /SFe/ /R/<00><00> <00><00> /%T%/ /N/-0N><00> /XTa/ /TIN/ <00><00> /%T%/ /T13T/ /ZIN/<00> <00> /XT%/ /T%1/ /XT%/ /N/<00><00> /XN/<00> <00> /IN/<00> <00> /INX/ /N/<00><00> /XT%/ /01%/ /N/<00> /XT%/ /06%/ /N/<00> /XT%/ /D2%/ /N/<00> TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page ¢8 SEQ 0063 ////////<///////////////////,///,//////////I//////// ssss sSssss ssssss e i M SR S e e essssss S S e ssssss S S A L ssssss S e SsSsSsS S L St L e L e e ssssss P E e Rssssss P.ABX: OO rrr OFrOrOrrerrrO0 OrOrOrOrOrOrOrO0 FrrerO0FOrrer-OrO P.ABW: N 4alL oy EXTENDED MESSAG E PRINTING SECTION REV B PATCH 00 A Page BSKELS P.ABvV 29 SEQ 0064 TOPS=-20 Blis s=16 v2 (212) PA:<NEALE>PM SKL&.BL 1.1 9) §:% (oX 18-Mar-1 18-Mar-1 5 ] BSKEL& REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 003121 003124 003127 003132 003135 003140 003143 003146 003151 003154 003157 003162 003165 003170 003173 003176 003200 003203 003206 003211 003214 003217 003222 003225 003230 003233 003236 003241 003244 003247 003252 0U3255 003260 003263 003264 003267 003272 003275 003300 (03303 003306 003311 003314 003317 003320 003323 003326 003331 003334 003337 03342 00334 045 045 122 131 045 045 101 116 123 061 045 11 114 123 062 000 045 105 101 040 122 040 104 105 045 045 123 117 122 125 120 107 115 000 045 122 131 045 045 101 116 123 061 000 045 123 045 101 103 045 123 045 116 101 122 045 104 123 102 113 045 045 101 102 105 045 045 000 101 120 103 101 101 115 125 045 104 123 045 122 105 116 122 122 045 000 101 101 123 062 045 101 045 117 123 116 102 045 104 116 122 114 105 122 131 117 114 123 062 045 101 040 122 040 117 101 116 P.ABZ: 101 122 045 P.ACA: 104 123 102 113 045 045 101 101 123 062 045 101 045 117 116 123 045 123 115 123 123 045 123 045 123 045 114 061 045 123 045 P.ACB: - P.ABY: LASCI1 .ASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCI1 LASCI1 LASCII LASCII .ASCII LASCII LASCI1 .ASCII .ASCI1 LASCII JASCII .ASCII LASCI1 LASCII LASCII LASCI1 LASCI1 LASCI1 +ASCII LASCI1 JLASCII .ASCI1 LASCII CLASCII LASCII .ASCII .ASCI1 LASCII LASCII LASCII LASCI1 LASCII LASCII LASCII LASCII .ASCI1 LASCII LASCII LASCI1 .ASCII .ASCI1 LASCII LASCIT N 5 18-Mar-1982 1?:07:57 18-Mar-1982 15:44:41 /IN/<00> /XAA/ /RRA/ /YXS/ /%D2/ /%SX/ /ABA/ /NKX/ /S%0/ /1%S/ /%AN/ /188/ /LEX/ /SZD/ /2XN/ <00><00> /XAR/ /EPL/ /ACE/ / AR/ /RAY/ / MO/ /DUL/ /EXS/ /3D2/ /XS%/ /SXA/ /OR / /RER/ /UN / /PRO/ /GRA/ /MIN/ <00> /XAA/ /RRA/ /YXS/ /XD2/ /XS%/ /ABA/ /NKX/ /SX0/ /1IN/ <00> /aS%/ /SXS/ /XS%/ /AML/ /CS1/ /XSX%/ /SXS/ /%S%/ TOPS=-20 Bliss=16 v2(212) PA:<KNEALE>PMSKL4.BLI.1 (9) Page 30 SEQ 0065 X (o EXTENDED MESSAG E PRINTING SECTION A TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9 3 L} Page SEQ 0066 P NN NN S NN NN ON SN NN NN NN NN NSNS NN AR LR LR R R R ER TR T 3 a wi 123 066 000 045 123 045 101 104 123 S 2424242‘142‘022 Or OO0 ~Ore—rO OCrOrOrULVROO OO~ O~ O~ OrrO~0O —OrerrOOrOr 65351735353535353%Lalalalalalalal'alns REV B PATCH 00 4[ wr BSKELG 8 ) 18-=Mar=1 18~Mar-1 v [=] o A C BSKEL4 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 003603 003606 003611 003614 003617 003622 003625 003630 003633 003636 003641 003642 003645 003650 003653 003656 003661 003664 003667 003672 003675 003700 003703 003706 003711 003714 003717 003722 003725 003730 003733 003736 003741 003744 003747 003752 003755 003760 003763 003766 003771 003774 003777 004002 004005 004010 004013 004014 004017 004022 004025 045 123 043 123 045 123 045 123 045 123 066 000 045 123 045 101 103 045 123 045 123 045 123 045 123 045 123 045 117 116 045 123 045 101 104 123 045 123 045 123 045 123 045 123 045 123 066 000 045 123 045 101 123 045 123 045 045 123 045 123 123 045 123 045 123 045 045 045 123 045 123 045 117 116 123 045 123 115 123 123 045 123 045 123 045 123 045 123 045 123 P.ACF: 115 123 045 123 045 123 045 123 045 123 045 123 045 045 045 123 045 114 062 045 123 045 123 045 123 045 123 045 123 045 045 000 045 123 045 114 045 123 045 123 045 123 045 123 045 123 045 117 116 123 045 123 115 045 123 045 114 P.ACH: 066 000 123 045 123 P.ACG: LASCI1 LASCII LASCII LASCII LASCIT LASCII LASCI1 LASCII LASCII LASCI1 LASCII LASCII .ASCII .ASCII1 LASCII LASCI1 LASCII LASCII LASCI1 LASCII .ASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCII LASCI1 .ASCII LASCI1 LASCII LASCI1 LASCII LASCI1 LASCI1 LASCI1 LASCI] LASCII LASCII LASCI1 LASCII LASCII LASCII LASCII LASCI1 LASCIE .ASCII JASCI: LASCII LASCII 6 18-Mar-1 982 16:07:57 18-Mar-1982 15:44:41 /XS%/ /S%S/ /XS%/ /S%S/ /%S%/ /SXS/ /XS%/ /SXS/ /%XS%/ /S%0/ /6XN/ <00> /XS%/ /SXS/ /XS%/ /AML/ /CS2/ /XS%/ /SXS/ /XSX/ /SXS/ /XSX/ /SXS/ /XS%/ /SXS/ /XSX%/ /S%S/ /XS%/ /06%/ /N/<00><00> /XSX%/ /SXS/ /XS%/ /AML/ /DSX/ /SXS/ /XS%/ /SXS/ /XSX/ /SXS/ /%S%/ /5%S/ /XS%/ /SXS/ /XSX%/ /5X0/ 763N/ <0UL> /XSX/ /SXS/ /XSX/ /AML/ TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BL1.1 (9) Fage 32 SEQ 0067 BSKELS EXTENDED MESSAGE P RINTING SECTION TOPS-20 Bliss=16 v2(212) PA: <NEALE>PMSKL4.BLI.1 O R L L L R T R R R R R e e AR R R R R R R R R T 8383 8388283258 2OrOr8O2r3O3r5O5—208O23e 50325‘3254325“325‘325432“ REV B PATCH 00 ) ) 18=Mar-1 982 1?:07:57 18-Mar-1 982 15:44:41 g - O~0 0~O -0 60 3 ~ [ —1‘725O%3V“,1 _QOere~0r 9 Page 33 SEQ 0068 BSKEL& REV 8 PATCH 00 TOPS-20 Bliss~16 v2(212) PA:<NEALE>PMSKL4.BL].? EXTENDED MESSAG E PRINTING SECTION ENOVO NIEVNIEII NN/,,,// VO L VNI NRNIEN VORI NN////// ENIEN ENIINI X ANIENI 2////// ////< /,/,,/ ////</NN //ll//IRNIEN ///<// ////// 31‘72537.250361 725 g2 SRgRgs Rnena NAb|yL WNOMNO 004442 004461 - 004503 (9) Page 34 SEQ 0069 < SISNNrOOAWrOVTMrNMMOrIOOWS~rAOMNOOOrWrrNMNOOWNOr~NNMUO=PN~~NMMT0OWW0NO~OAFVSWeFNVWOOOrUVNNAVTMUSTN DSS I g g P g S S g e B B G S e g S Sum o S S S e g B g e G Biug Ping S S G S Smnf Brae) e S B Bt v B S Dung G B LOLL LLVVLVLL LLLLLLLU LLULULLL L CCLCCL CCCLCCLC LLLWLVOL LLCLLCLCCVWLOLWLL LCLLCLLLCLLWLDLLW CCCLCCCECLOULODUL CLCLCCLCL CCCCCECCL < < ) SOWNS, .PSECT 000000 o [=] A Siddddsddddniiianna 004620 v Or~ 9 PA:<NEALE>PMSKL4.BLI.1 EXTENDED MESSAG E PRINTING SECTION REV B PATCH 00 BSKELSG < _ZIN;Io32mN SPT<FN(UO=eL4"alala’sl"2all’a’lal"la 35 SEQ 0070 Page TOPS-20 Bliss=16 v2(212) 18=-Mar-1 982 12:07:57 18-Mar-1 982 15:44:41 6 3 | BSKELS REV B PATCH 00 18-Mar-1982 15: EXTENDED MESSAGE PRINTING SECTION PM.COUNT: .BLKW 400 .BLKW , TBL : .BLKW REM 200 .BLKW COL.PTR:.BLKW : .BLKW WRT.BUF 144 5 PM.LOG: COL.CNT.TBL: COPIED.REM.TBL: 0460414 040416 040420 040422 060426 BLKW INC.BNK: .BLKW INC.ARR: .BLKW ARR.SEL.POS: BLKW BNK.SEL.POS: BLKW BNK.NUM.SEC: .BLKW BAD.BNK.REG: .BLKB .EVEN — = ML.DUT: .BLKW : . SELK ARRSBN — BLKW ML.ADDR:.BLKW MAX.CHIP.COL: .BLKW aub wad el 040406 040410 040412 4000 -—b 040404 12 -l 040400 040402 COL .BASE: 47 wd 040374 040376 .BLKW TMP .BLST.TBL: .BLKW BLAST.TBL: BLKW -—b 040372 10000 FLG.REG:.BLKW -—b 030372 400 .BLKB .EVEN BLKW SIZE: .BLKW DST: BLKW SR(: LST.TSTED.ARR: BLKY RAND .PASS : .BLKW E .MOD .REG: DEGRAD — 030346 2376 — wnd cwd 030230 .BLKW - 010230 RD.BUF: 144 —-— 3 G 6 18-Mar-1982 1 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 36 SEQ 0071 H BSKELG REV B PATCH 00 .GLOBL 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 00010 000094 000002 000001 001000 0004600 000200 000100 000040 000020 000010 000004 000002 000001 000040 000037 000036 000035 000034 000340 000300 000240 000200 000140 000100 000040 000000 000004 000010 000020 000040 000100 000200 000400 001000 18=Mar-1982 15:44:41 EXTENDED MESSAGE PRINTING SECTION .GLOBL BIT15== BIT14== BIT13== 8IT12== 8IT11== 81T10== BIT09== 8IT08== 8IT107== 8I706== BIT0S5== BIT04== 8I1T03== BIT02== BITOQ1== 81700== BI19== 8178== 8177== BIT6== 8I75== BIT4== 81T73== BIT2== 8IT1== 81T0== EF.START== EF .RESTART== EF .CONTINUE== EF .NEW== EF .PUR== PR107== PR106== PRI0S== PRI04== PRI03== PR102== PRI01== PRI00== EviL== LOT== ADR== 1DU== ISR== UAM== BOE== PNT== 6 18-Mar~1982 16:07:57 TOPS=-20 Bliss=16 v2(212) FA:<NEALE>PMSKLSL.BLI.1 (&) RANGEN, SEED1, SEED2, SEED3, RANDAT LSUNIT ~-100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 1000 400 200 100 40 20 10 4 2 1 40 37 36 35 34 340 300 240 200 140 100 40 0 4 10 20 40 100 200 400 1000 Page 37 SEQ 0072 I BSKELL REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 002000 004000 010000 020000 040000 100000 000000° 000104° 000170* 000244 000324 000434° 000544° 000656" 000726* 001000° 001032 001070° 001144° 001222° 001256° 001316° 001340° 001372° 001406° 001422° 001436° 001454° 001506 001562° 001632 001714* 001764" 002040° 002116° 002176° 002236° 002310°* 002352 002422° 002474 002554 002556° 002564 002574° 002606* 002622° 002626° 002632° 002640° 002650° 002660°* 18-Mar=-1982 15:44:41 PR]== IXE== IBE== 1ER== LOE== HOE== FMT16= PMSHEADER= PM.HEADER= PM. 14 .M5G= PM.10.MS6= PM.11.MSG= 2000 4000 10000 20000 40000 -100000 P.AAA P.AAB P.AA( P.AAD P.AAE P.AAF REP.M7363.M56G= P.ABD PM.12.MSG= PM.13.MSG= 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= CON.D.MSG= UNC.CHIP.MSG= GTR.MSG= UNIT.SEL .MSG= SW.BUG.MSG= ABORT.MSG= NO.AD.MSG= UNC.ERR.MSG= TIME.QUT.MSG= MEM.ERR.MSG= UNX.DRV.ERR.MSG= RD.XFER.MSG= WRT .XFER,MSG= WT.CHK.XFER.MSG= X.MSG= ONE .MSG= TWO.MSG= THREE .MSG= FOUR.MSG= CRLF= LF= LFS= 0.1.PRINT= 0.6.PRINT= D.2.PRINT= 6 18-Mar~-1982 16:07:57 P.AAG P.AAH P.AAl P.AAJ P.AAK P.AAL P.AAM P.AAN P.AAO P.AAP P.AAQ P.AAR P.AAS P.AAT P.AAU P.AAV P.AAW P.AAX P.AAY P.AAZ P.ABA P.AB8B P.ABC P.ABE P.ABF P.ABG P.ABH P.ABI P.ABJ P.ABK P.ABL P.ABM P.ABN P.ABO P.ABP P.ABQ P.ABR P.ABS P.ABT T0PS~-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 38 SEQ 0073 BSKEL4 REV B PATCH 00 J EXTENDED MESSAGE PRINTING SECTION .SBTTL .PSECT 000000 000000 000004 000006 004767 104423 000207 DUMPER: : JSR TRAP RTS 000000V 2212 SIS ANNNLNININLNIN) PPN PININININININD! S LAY LY N=O e le VT AN PtV ) [T Y R PRI PE PRYR TR YR FY PR PR TS X1 4 words Routine Size: per invocation: depth Maximum stack PC ,MSDUMPER 23 PC ML ALLJ) (cS2_PRINT, .MC_ADDR [m.céz ALLY); .ML_ADDR [MLDS AELJ). (DS_PRINT, (ERZPRINT, .ML_ADDR [HLER HL CALLY): (AS_PRINT, ML “ADDR [MLAS, ML_ALLJ): PRINTB (MR"PRINT, PRINTB (DT_PRINT, PRINTB (SNZPRINT. PRINTB (EE PRINT PRINTB (ELZPRINT, ENDMSG; : 0 words (DA"PRINT, .ML"ADDR [MLDA, Page 39 SEQ 0074 DUMPER EXTENDED MESSAGE PRINTING SECTION SCODES PRINTB (HEADER_PRINT); PRINTB (coL_DESC PRINT) ; PRINTB (CST"PRINT. .ML ADDR [MLCS1, ML_ALL)); PRINTB (WC_PRINT, .ML_ADDR [MLWC. ML_ATLIS: PRINTB (BAPRINT. .MLZADDR [MLBA, ML ALLY): PRINTB PRINTB PRINTB PRINTB PRINTB TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) P.ABU P.ABV P.ABW P.ABX P.ABY P.ABZ P.ACA P.ACB P.ACC P.ACD P.ACE P.ACF P.ACG P.ACH P.ACI P.ACJ P.ACK P.ACL P.ACM P.ACN P.ACO P.ACP P.ACQ DRV.SEL.PRINT= ARR,SEL .PRINT= BNK.SEL .PRINT= A.8.C.PRINT= A.B.N.PRINT= REP.PRINT= A.B.PRINT= CS1.PRINT= WC.PRINT= BA.PRINT= 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= 0026790 002722° 002770° 003052’ 003124 003200° 003264" 003320° 003406° 003472° 003556° 003642° 003730° 004014°* 004100° 004164 004250° 004334° 004420°* 004504° 004570 004642 004716° 6 18-Mar-1982 16:07:57 18-Mar-198215:44:41 .MLZADDR [MLMR, ML-ALL)): .ML_ADDR [MLDT, ML_ALL)): -ML_ADDR [MLSN. MLZALLY): ML ADDP [HLEE. ML ALLJ). .ML_ADDR [MLEL, ML_ALLY): 'Print the header !Describe the column headings ‘Print mlcs] contents 'Print mlwc contents 'Print ml a contents ‘Print mlda contents iPrint mlcs2 contents iPrint mlds contents IPrint mler contents 'Print mlas contents 'Print milmr contents tPrint mldt contents 'Print mlsn contents Print mlee contents ‘Print mlel contents 2206 BSKEL4 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 162706 000032 HSDUMPER; 012746 012746 010600 004570 000001 012716 012746 010600 104414 017766 016616 012746 012746 010600 004642° 000001 104414 040374 000036 000036 003320°* 000002 040374° 000002 000040 003406 000002 040374 000004 000042 003472° 000002 000006 o b OO 000044 000042 us MoV #32,S P #HEADER.PRINT,=(SP) #1,-(SP) SP,RO 14 (SP) #COL.DESC.PRINT, #1,-(SP) SE.RO MOV MOV TRAP MoV Mov MOV TRAP Mov MOV MOV MoV MoV TRAP MoV Mov MoV MoV TRAP MoV Mov MoV MOV MOV TRAP 3 ML.ADDR,RO * ,ML.REG ML.REG,* SP,RO SP, #WC.PRINT,~(SP) #2,~(SP) 14 ML .ADDR,RO 4(R0) ,42(SP) S . (SP) 42(SP #8A.PRINT,~(SP) * ML.REG 2209 2210 2211| ML.REG,» #2,<(SP) SP.RO 14 ML .ADDR, RO 6(R0) , 44 (SP) 44 (SP), (SP) 2212 SP,RO 14 000046 2213 #CS2.PRINT,=(SP) #2.=(SP) 003642° 000002 0000359 003730° 000002 * ,ML.REG 2(R0) ,40(SP) 40(SPJ, (SP) ML.ADDR,RO 10(R0) ,46(SP) 46(SP),(SP) 000012 SP,« SP,« 14 04037¢4° ° 040374 2208 SP.RO #DA.PRINT,=(SP) #2,-(SP) 000046 SP,« ML.REG,* #CS1.PRINT,=(SP) #2,<(SP) 40 g0075 2206 2207 , 36 (SP) aML.ADDR 36(SP), (SP) 003556° 000002 000010 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 MSDUMPER EXTENDED MESSAGE PRINTING SECTION MoV 000044 16:07:57 .SBTTL MoV MoV SP.RO 14 - o080 &H» [« X< Y- 3 NNOONON —A—l—b—h; R —A-a-a-n—b—lg &5—‘&0—‘ N\lg§\u~ gfifi&ofia - b NN ~ & d OO0 O=200000 O=0O000 040374 000040 K 6 18-Mar-19 18-Mar-19 000050 ML .ADDR,RO 12(R0),50(SP) - (SP) 50(SP) #DS.PRINT,~(SP) #2,=(SP) 2214 b b P orooOTM b w=d g_a_a-a.-o..n_a? [elelelellelalolelelel dolel SN 060374 000014 000952 000052 004014° 000002 616 060374° 000016 000054 000054 004100°' 000002 040374 000024 000056 000056 004164° 000002 040374 000026 000060 000060 004250° 000002 04037¢4° 000030 000062 000062 004334° 000002 o ~ o o TOPS-20 Bliss~16 v2(2 2) PA:<NEALE>PMSKL4L.BLI. EXTENDED MESSAGE PRINTING SECTION 010600 -t X BSKEL4 REV B PATCH 00 040374°* 000042 000064 000064 004420°" 000002 040374 000044 000066 000066 004504 000002 000124 . 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 MoV TRAP MoV Mov Mov MOV MOV MoV TRAP Mov MOV MOV MOV MoV MOV TRAP ADD 6L 55090076 e SP.' ; *,ML.REG 2215 ; ML.REG,* SP'. . ML.ADDR,R 16(R0O), 54(sp> (SP) 54(SP). #AS.PRINT,=(SP) #2,~(SP) SP.RO ; *,ML.REG 2216 : ML.REG,* SP.* . 14 . *,ML.REG ; ML.REG,* . SP" * ,ML.REG ; ML.REG,* . 2217 2218 SP.. 1 ML.ADDR,RO 30(R0) ,62(SP) 62(SP), (SP) ; *,ML.REG : ML.REG,* SP.RO ; SP,* #SN.PRINT,~(SP) #2,-(SP) 14 L.ADDR,RO 42(R0) 64 (SP) 64(SP) ,(SP) T, - (SP) #EE.PRIN #2,=(SP) SP,RO 14 ML.ADDR,RO 44(RO) ,66(SP) , (SP) 66(SP) #EL .PRINT ,~(SP) #2,-(SP) SP,RO 14 #124,SP ; *,ML.REG 2219 2220 ; ML.REG,* : SP,* . *,ML.REG 2221 ; ML.REG,* . SP.‘ 2206 ) BSKELS 18~Mar-1982 16:07:57 18-Mar-1982 15:44:41 REV B PATCH 00 EXTENDED MESSAGE PRINTING SECTION 000566 RTS 000207 ; Routine Size: 186 words . : Maximum stack depth per invocation: &2 words PC TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (9) Page 42 SEQ 0077 N TR R A ST TSR T0PS-20 BLiss-1 6 v 2 ( 2 1 2 ) (10) PA:<NEALE>PMSKL 4 .8 L I Isbttl "ROUTINE DECLARATIONS' global routine SUMMARY : novalue = begin 1+ ] i i i i i i Functional Description: This global routine is called from the report The purpose of this routine is to report to the operator a statistical report of the prom maintenance program on this unit. ' i i i i i i formal Parameters: none Implicit Inputs: UBUFFp 3 Implicit Outputs: ' Completion codes: Side Effects: - none + : none e i i i . code section contained in skell 2 of this diagnostic. if any additional errors were found bad See -t an s 00N 2248 6 18-Mar 1982 16:07:57 YA 18~Mar 1982 15:44:41 during execution of the Prom Maintenance program. S Eas amt et et NN G N NN NN N NN NN N NN NN = OO0 ~NONWN S ROUTINE DECLARATIONS i NININININLNLNLNINININININD NININININININI NN NN OO\ g =2 OV NOWNMSWNI=O A T PO AR A A RN TR TR TR ) LTERTEREIEAIETEIE TN T T TE I N FI R I I TN s @4 e YR IR BSKEL4 REV B PATCH 00 the console terminal the Prom Maintenance program If additional errors were found then dump to the summary report code else print that no additional were found. if .PM_COUNT gtr ZERO then begin PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB PRINTB eRINTB (CRLF); (ONE_MSG, PM_HEADER); (PM_T0_MSG); (PM_11_MSG) ; (PM_12°MSG) ; (PM_137MSG.; (CRLF); (ONE_MSG, PMSHEADER):; 'Were additional errors found ‘Print Print 'Print Print Print Print 'Print Print a formating <crlf> the header message out out out out summary summary summary summary message message message message another formating <crilf> out the chip location header i Index through the summary table and print out its ! contents to the console terminal for operator review. 1 Page 43 SEQ 0078 BSKEL4 ROUTINE DECLARATIONS Page 44 SEQ 0079 incr index from 0 to .PM_COUNT - 1 do be VVOVOO s e ey, REV B PATCH 00 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (100 in PR NTB (FMT16, ] .PM_LOG [.index, UNITS PM], !This is the printing format 'Print the failing unit of this sbe P .PM_LOG [.index, SUHS_PMJS: 'Print the total rows/col blasted .PM_LOG [.index, BRDS_PM], .PM_LOG [.index, BNKS_PM], .PM_LOG [.index, BITS_PM] 'Print the failing board number !Print the failing bank number 'Print the failing bit number end; else end ) begin PRINTB PRINTB PRINTB PRINTB . 'Print a formating <crif> I1Print the header message 'Print out summary message PRINTB (CRLF). PRINTB (ONE_MSG, PM_MHEADER); PRINTB (PM_TO_MSG): !Print out summary message Print out suwmary message 'Print out summary message 1Print another formating <crlf> (PM_11_MSG): (PM_12_MSG): (PM_13_MSG); (CRCF)3 PRéNTB (ONE_MSG, PM_14_MSG); end; end; 0000006 P 800 4\8 OO g [ Yo ¥ andy wand b cnd =l e b OO=OO0OO=SOO0O—=00 N o R NN R NN ? S5 NN NN 35 BN b ek BN b b 000000° SUMMARY: SUMMARY ROUTINE DECLARATIONS Pg.COUNT 3 002622° 000001 #CRLF ,~(SP) #1,-(SP) 000170°* 002556° 000002 14 R, (SP) #PM.HEADE #ONE .MSG,~(SP) #2,-(SP) 000324 000001 ° 000434 01 0000 000544 000001 2225 2261 R1,SSAVE3 SP.RO SP.RO 14 (SP) #PM.10.MSG, #1,-(SP) SP.RO 14 #PM, 11.M56G, (SP) #1,-(SP) S:.RO 1 , (SP) #PM_12.15G #1,-(SP) 2264 SP,» 2265 SP,« 2266 SP,* 2267 SP, 2268 BSKELG REV B PATCH 00 000676 000700 000702 000706 000712 000714 000716 c 7 18-Mar-1982 16:07: 18-Mar-1982 15:44: ROUTINE DECLARATIONS MOV TRAP MOV 010600 104414 012716 012746 010600 000656 000001 012716 012746 010600 002622° 000001 012716 012746 012746 010600 000104 002556° 000002 104414 107,414 TRAP g SRR R vl o N 8 232293R888820988-2=222 SSSINBRESY ggggsesssss 177774 #PM.13.MSG, (SP) #1,-(SP) SP.RO 14 #CRLF ,(SP) #1,-(SP) R, (SP) #PMSHEADE SP) .MSG,~( #ONE #2,-(SP) SP,RO 14 PM,COUNT ,R3 R2 1%: 177600 14 ?:.RO 000000* 000004° 000002°* SP,RO 2% R2.R1 R1 R1 Page 45 SEQ 0080 ; SP,+ 2269 ; SP,» 2270 ; SP,» 227 : SP,» INDEX : * INDEX, 2277 2284 PM.LOG+2(R1),~(SP) R #177600,R0 RO,~(SP} (1) ,=(sP) #7774, (SP) 177760 (R1) ,RO RO RO #177760,R0 177770 RO RO RO RO #177770,R0 000000° 000206 26.-(SP) 000016 TOPS-20 Bliss=16 " 2 Vv2( 212 ) (10) PA:<NEALE>PMSKL4.B L 1.1 RO, - (SP} (R1).RO RO, ~(SP) #FMT16,-(SP) s:.ao 1 #16,5P R2 s SP,v ; INDEX 2278 $577 D ROUTINE DECLARATIONS 00272% 2s: OOO=O000=000=0OQ00O20OO00-2000~0000+2000 3s: — 600 —h_n—lg 002622 000001 OONON TT 716 010600 104414 062706 000207 . 2301 1% 43 #CRLF ,=(SP) #1,-(SP) 000170°* 02556 000002 R, #PM_HEADE(SP) #ONE .MSG,-(SP) #2,-(SP) ° 000324 000001 14 G, #PM.10.MS(SP) #1,-(SP) SP.RO SP.RO 14 000434 000001 ; Page 46 SEQ 0081 INDEX,« 2261 2290 : SP,» 2291 ; SP,x 2292 ; SP,« 2293 2294 : SP,» 1 2295 G, #PM.13.MS(SP) 000656° 000001 #1,-(SP) SP.RO 14 , (SP) #CRLF #1,-(SP) 002622° 000001 SP.RO 14 ° 000244 002556° 000002 4S: 22 words : SP,» 2296 ; SP,x (SP) 14 .MSG, . #PM #ONE .MSG, - (SP) #2,-(SP) ?P.RO 2297 #26,SP 2226 2225 4 000026 TOPS-20 Bliss=16 v2(212) PA: CNEALE>PMSKL4.BLI.T (10) ; SP,x 000544° 000001 . 162 words . : Routine Size: : Maximum stack depth per invocation: 4 R2,R3 ?2.RO &» S v SNNNSONNS St OANNESO NSSVflbgfl\lfi S e T T S P TN 02020 — e wd () b md e S o NN &»H NNNS 83888288333288832238338838 g NIN) =D ot b cad D d b e e aod o = and od ed o =D e d =] NALNINIA) b —d —d b N N ane & SIRNERRRARNSERFREEN D BSKELS REV B PATCH 00 7 18=-Mar-198 18-Mar-198 PC E BSKELG REV B PATCH 00 18=Mar=-1982 15:44:41 ROUTINE DECLARATIONS ; : : : 2302 2303 2304 2305 2306 routine GEN_RANDOM_DATA : novalue = begin : g%}? : : : : : : : : : 2312 2313 2314 2315 2316 2317 2318 5;}3 ! Formal Parameters: none ! . ! ! Implicit Inputs: WBUFF ! . ! ! Implicit Outputs: : : H ; : : : : 2321 2322 2323 2324 2325 2326 2327 2328 ! Completion codes: none ! | ! ! Side Effects: none ! !-- : : : : 2331 2332 2333 %ggg ' : %gg{; : VER CZMLCB CHANGED 128 TO 256 : ; 2338 sgzg . . ' ; Fill the write buffer up with random data ; : 2341 5%2% incrbURQ_CNT from & to 256 + 511%2) do : H : 2344 2345 2346 RANGEN (); BREAK WRT BUF + .OFFSET = .RANDAT; 2348 2349 2350 end; ; : : : : : : : : 2307 2308 2309 L. ion: Descript al ! Function e+ ! ! ! . T0PS~20 Bliss=-16 v2(212) PA:<NEALE>PMSKLG.BLI.T1 (11) ) This global routine will generate a write buffer of random data. The global routine to actually ?gnerate the random number is a global routine inked at link time. . WBUFF is full up with random data ; local '10ffset variable into write buffer ‘Initial seed] to write buffer + 0 'Initial seed? to write buffer + 2 'Initial seed3 to write buffer ¢+ & 'Adjust offset by 6 OFFSET; %%%8 7 18~-Mar-1982 16:07:57 WRT_BUF + %0°'0' = .SEED1; WRT_BUF + Xo'2' = .SEED2; WRT_BUF + X0'4"' = .SEED3; OFFSET = X0'6°; egin OFFSET = .OFFSET + 2; 2347 ‘Load 768 words with random data !Generate the random number . 'Write buffer ¢+ offset gets the random number 'Bump the offset by 2 end; .SBTTL GEN.RANDOM.DATA ROUTINE DECLARATIONS Page SEQ Ll TRAP MoV ADD INC CMP 8LE RTS 0000006 00223¢4°* 000002 002376 . : Routine Size: 28 words . : Maximum stack depth per invocation: JSR 3 words [ [4 ¥4 ,R2 PC . RANGEN 22 (R1) AT ,WRT .BUF RAND #2,R1 R2 R2.#2376 1% PC « OFFSET * ,WRD.CNT «, «(OFFSET) * OFFSET WRD.CNT « WRD.CNT, W) = [4 N LNANLNLH AN EED] WRT.BUF EEDQ WR) .BUF +2 EED3 WRT .BUF +4 6.R1 LY 1%: MoV MOV MOV MOV MOV (=2 0000006 002234’ 0000006 002236 0000006 002240° 000006 Q0004 0000006 NN 016767 016767 016767 012701 012702 004767 104422 016761 i 001300 001306 001314 001322 001326 001332 001336 001340 001346 001352 001354 001360 001362 GEN.RANDOHéDATA: 1,85 A VE?2 J$S N W 0000006 Ve We B By T G Ve 004167 OOV 001274 ( TOPS=20 Bliss=16 V 2(21 2) (11) PA:<NEALE>PMSKLG.BLI.1 1 LYR TR TR I ROUTINE DECLARATIONS ROOWVND BSKELS REV B PATCH 00 F 7 18-Har~1g 82 2 16:07: 18-Mar-19822 15:44: BSKEL4 KFv B PATCH 00 G ROUTINE DECLARATIONS 2351 routine DM_RD_TRANSFER (SIZE, DST, SRC) : novalue = 2354 2355 L. . l++ ! Functional Description: 2360 ! Formal Parameters: : 2362 ! : : 2364 2305 ! ! : 2367 . ; : : : : : : : ; : 2352 2353 2356 2357 %ggg 2361 2363 2366 gggg 2370 2371 This global routine will perfrom a diagnostic mode read transfer at the designated buffer and sector addresses. ! ! ; | SIZE: ! BUFFER: L ) Specifies the size of the transfer Write buffer address where data is coming from or going to. , SECTOR: sector address where data desired ML-11 ! ! is coming from or going to. ; ! Implicit Inputs: none ! L. ! ! Implicit Outputs: none ! . ! ! Completion codes: none ! ! ! Side Effects: none ! !-- : : : : 2384 2385 2386 2387 DAT_DM (ENABE); WRT_RH (MLCS2. DRV_SEL, .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZEJ; WRT_RH (MLDA, DA_REG, .SRC): 2389 WRT_RH (MLCS1, FONC, FUNC-43: : : : 001364 2383 2388 2390 ‘Load a read function with go set .SBTTL DM.RD.TRANSFER ROUTINE DECLARATIONS DM.RD.TRANSFER: 000010 152701 016700 000040 040374° 001410 010160 000010 0158700 !Load the transfer destination address end: 001372 016046 001414 ‘Enable data diag mode 'Select the divice under test ‘Load the transfer size 'Load the transfer source address WRT_RH (MLBA, BA REG, .DST): 001366 016700 040374°' 001400 001404 !Clear the mass bus CLR_MBUS; 010146 001376 011601 Page 49 SEQ 0084 . . . : ; : : : ; ; TOPS-20 BLliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (12) begin 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 : : : : 7 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 (040374° R1,~(SP) : 10(RO) ,-(SP) : *,ML.REG 8IS8 MOV #40,R1 ML.ADDR RO ; *,MLRE MOV ML.ADDR,RO MOV MOV MOV MOV MOV ML.ADDR,RO (sP) ,Rf R1.10(R0) : : M REG,MLREG ; MLREG,® 235 235 MOV MOV 040374° * ,MLREG * ,MLREG R1.10(R0) MLREG,» ML .ADDR ,RO ML _ADDR, RO (sP) ,Ri #10,R) 000010 040374 000024 040374 000010 ML.ADDR,RO R1.24(R0) ML ADDR. RO 10(R0) ,~(SP) (sP) .Ri 040400° 177770 000007 nL.pgr RO 040374° 000010 040374 000002 000022 040374° ML .ADDR, RO #177776.R0 MLREG,» 22(sPS R ML.ADDR,RO R1.2(RO} ML .ADDR,RO 6(R0) ,=(SP) 20(sPS R ML.ADDR,RO R1.6(RO} ML .ADDR,RO 4(RO) ,~(SP) 010077 062706 012601 000207 R 24(sPS R1.4(RO) ML.ADDR RO aM{ .ADDR,=(SP) (SP)+ RO #77.R0 #51.R0 RO, aML . ADDR #16,5P 000016 . 98 words ; Routine Sicze: : Maximum stack depth per invocation: (SP3+,R1 PC 10 words * ML.REG ML .REG,MLREG R1.10(RO) 2(R0) ,=(SP) 142700 152700 MLREG,* * MLREG * MLREG . ML .ADDRRO 010160 017746 012600 * ML.REG ML.REG,MLREG * ,MLREG #7.R1 RO,R1 We Se %o Ve 016700 #7.R1 RO,R1 24(R0) , = (SP) 000024 0160 #177770.R0 o %aNe ®g 0, 040374° 000010 ML.DUT,RO Page 50 SEQ 0085 *,ML.REG ML.REG,MLREG %o Ve ®e N 000007 8Ic BI(B 177770 ; ; e Ve 0o 0, 14 040400 (sP) .Ri By 0 001436 001442 042700 10(RO) , = (SP) Qe G 001432 0 016700 MOV MOV MOV 000010 A TE YR YR YR YR ¥} 001420 001426 001426 ROUTINE DECLARATIONS TOPS-20 BLiss=-16 v2(212) PA:<NEALE>PMSKLA.BLI.1 (12) [ BSKELG REV B PATCH 00 W7 18-Mar-1982 16:07-57 18-Mar-1982 15:44:41 * ,ML.REG SIZE ,MLREG * MLREG, * ML.REG SRC,MLREG MLREG, * * ML.REG DST,MLREG MLREG, * « ML.REG ML.REG,MLREG 2384 2385 2386 2387 2388 2389 * MLREG * MLREG MLREG, * 2351 BSKELS REV B PATCH 00 : 2391 07:57 g-Har-19g$ 2 18-Mar-19 ROUTINE DECLARATIONS routine DM_WRT_TRANSFER (SIZE, DST, SR() begin 64:4 TOPS-20 Bliss=16 V2(2 2) PA: CNEALE>PMSKL4.BLI. (13 51 Page SEQ 0086 : novalue = oo Functlonal Description: This global routine will perform a diagnostic mode 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. 1mpl1c1t Inputs: none lmplwcvt Outputs: none Complet1on codes: none Side Effects: !Clear the mass bus ‘Enable data diag mode 'Select the divice under test 'Load the transfer size CLR_MBUS. o n &H N DAT_DM (ENABE) ; e Ve ReBo RN, NN none 001670 010146 001672 001676 001702 001704 001710 001714 001720 016700 016046 011601 152701 016700 010160 016700 WRTZRH (MLCS2. DRV_SEL, .ML _DUT): WRT_RH (MLWC, WC_REG, .SIZEJ: iLoad the destination address !Load the source address 'Load a write function with go set WRT_RH (MLDA, DA_REG, .DST): WRT_RH (MLBA. BATREG. .SRC): WRT_RH (MLCS1, FONC, FUNC_S); end; .SBTTL DM.WRT.TRANSFER ROUTINE DECLARATIONS MoV Mov MOov MoV BIS8 MoV Mov MOV R1,-(SP ) RT . TRANSFER: DM.W ° 040374 0 00001 000040 040374 000010 ° 040374 ML.ADDR, RO 10(R0) (sP) ,Ri #40,R1 Z(sP) 6) ML.ADDR,R R1.10(R ML.ADDR, RO * * ML.REG * M.REG,MLREG : «,MLREG : MLREG,* 23N 2392 18-Mar-19 ROUTINE DECLARATIONS MOV MOV MOV 000010 040400 177770 000007 10(R0) ,=(SP) (sP) ,Ri ML.DUT,RO 000010 040374 000024 040374° 000010 #10,R1 000024 (sP) ,Ri ML.ADDR,RO R1.24(R0) ML .ADDR,RO 10(R0) ,=(SP) (SP) .Ri ML .ADDR,RO 6(R0) ,~(SP) 22(sP} .R1 ML.ADDR,RO R1.6(ROS ML .ADDR,RO 4(RO) ,~(SP) 22(sP} ,R1 ML.ADDR,RO R1.4 (RO} 000004 040374* aM{ _ADDR,-(SP) (SP)+ RO 277 R0 000077 #61.R0 RO, SML . ADDR #16,5P (SP)+ R 000061 ° 040374 000016 . ; Routine Size: 98 words : Maximum stack depth per invocation: PC 10 words 2424 ML.REG,MLREG * ,MLREG MLREG,* * ML .REG ML.REG,MLREG 2625 * MLREG * ,MLREG .e Se Re ®o O ML .ADDR,RO 2(R0) ,=(SP) MLREG,* MLREG, « Se Ve e e R1.10(RO) * ,MLREG * ,MLREG MLREG, * AR TR TR N ML .ADDR,RO MLREG,* L] #172770,R0 #7.R1 RO,R1 LYR X ML.DUT,RO 22(sPS .R1 R1.2(RO) 152700 PRI IR 040374 ML _ADDR,R( 24(R0) ,<(SP) ML.ADDR,RO 010077 062706 012601 000207 ; «,ML.REG ; ML.REG,MLREG [4 ®e e e v, R1.10(RO) 000010 Page 52 SEQ 0087 [4 #177770,R0 RO,R1 ML .ADDR RO 040374 040374° 000010 040374 002160 002164 002170 002172 TOPS~20 Bliss-16 V 2(212) PA:<NEALE>PMSKLS.B L1.1 (13 #7.R1 040400°' 177770 000007 010160 017746 012600 142700 16:07: 15:4 TR TR IR IR IR 016046 011601 016700 042700 142701 050001 016700 010160 016700 OVWOO—~000 001724 001730 001732 001736 001742 001746 001750 001754 001760 001764 001770 001772 001776 002002 002006 7 18-Mar=-19 Co o oo J BSKELS REV B PATCH 00 ~ ,ML.REG 2626 SIZE.MLREG * ,ML.REG DST.MLREG * ML.REG 2427 2428 SRC,MLREG MLREG, * * ,ML.REG ML.REG,MLREG 2629 * ,MLREG * MLREG MLREG, 239N K BSKELS REV B PATCH 00 ; 2431 Szgg ; : 2440 26441 ! Formal Parameters: ARRSBNK _SEL : ! ; 2443 ! 2442 L. . !+¢ ! Functional Description: . This global routine will load via diagnostic mode random data to the designated array and bank ! ! selected by arrSbnk_sel. : This ar?ument stores the array and ! bank select address. 2444 2445 . ! ! Implicit lnfiuts: : ; ; 2447 2448 gzgg . ! ) ! Implicit Outputs: WRT_BUF is filled with random data ; : 2451 : : : : : : : : : 2446 2452 2453 2454 2455 2456 2457 2458 2459 WRT_BUF, RET_STATUS ! ! Completion codes: none ! ' ! Side Effects: none ! !-local S_BUF INDEX, 80F _INDEX; Szg? : : ; 2462 2463 2464 GEN_RANDOM DATA (); s_BOF_INDEX = ZERO; BOF_IRDEX = .S _BUF_INDEX; : 2467 '+ ; 2469 ! with random data. : : gzgg 2468 sz;% : : : ! Increment through all sectors and load them incrbSEq-CNT from 0 to .BNK_NUM_SEC do ‘Load all sectors in bank with random data eqgin BREAK %2;? incrbHRQ_CNT from 0 to 127 do 2482 ‘Start buffer index pointer 1Buffer index pointer !Generate a write buffer with random data 'The first sector starts at write buf word zero 'Buf index will get 128 random data words DM_ORT_TRANSFER (SIZE = =256, DST = ,TEMP_ARRSBNK_SEL, SRC = WRT_BUF); S:;é 2478 2479 2480 2481 . L. H : : TOPS~20 Bliss~16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (14) begin : : 18-Mar-1982 15:44:41 routine CM_RAND_LOAD (TEMP_ARRSBNK_SEL) : novalue = 2432 2433 2434 2435 2426 2437 18-Mar-1982 16:07:57 ROUTINE DECLARATIONS : : : : : : 7 egin 'Load all words in sector with random data WRT_RH (MLD,, DB1_REG, .WRT_BUF [.BUF_INDEX, WRD]). !Load data reg 21 WRT_RH (MLD2, DB2 REG, .WRTZBUF [.BUF_INDEX, WRD]); !Load data reg 3 WRT_RH (MLE2, E2_REG, .WRT_BUF [.BUF_INDEX, WRD]); !Load data reg TClock the random data into the ml-11 long word DAT_CLK; BUF_INDEX = .BUF_INDEX + ONE; 1Get the next random data word Page 53 SEQ 0088 REV B PATCH 00 2683 2484 2485 2486 2487 2438 2489 2490 7 L 18-Mar-1 982 6:07 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS TOPS-20 Bliss=16 ya212 (14) Blisso16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 Page 54 SEQ 0089 end; = S_BUF_INDEX 80F _IRDEX = end; tStart the next sector 2 word deeper 'Buf index will gt 128 more random data words DEX + 2; !Clear the single step dma mode CLR_MBUS: end; 004167 0000006 162706 000020 .SBTTL 177064 177400 040426° 000040 040430’ 002234 040632 177420 040416° 000010 000006 ° 040374 000036 000024 DM.RAND.LOAD: JSR sus JSR CLR CLR MOV MOV DM.RAND.LOAD ROUTINE DECLARATIONS R1 SSAVES PgGEN RANDOM.DATA R4 #-400,-(SP) (SP),SIZE 40(SP) ,=(SP) (SP) ,DST #WRT.BUF ,-(SP) (SP) ,SRC PC,DM.WRT. TRANSFER BNK.NUM. SEC, 10(SP) M.ADDR,R3 36(R§).24(SP) 2431 ; F . INDEX * S.BU * BUF. INDEX 2462 2463 2464 2465 ; TEMP.ARRSBNK.SE,* ; * SEC.CNT WRD.CNT : *,ML.REG 2472 2473 2476 2478 * BUF.INDEX,* 002234 040374 000036 040374 000040 000022 040374° 000040 040374 000034 R3 3) é2(sp> ADDR R3 40(n3) 000020 ° 040374 000034 040374 000024 000016 000016 000020 éo<sp> ML.ADDR,R az 34(R 3) 24(R3) ie(sp) ; *,MLREG ; MLREG,* ¥ «,ML.REG REG 2479 * «.ML : MLREG,* * «,ML.REG : *,MLREG : MLREG,* : *,ML.REGLREG : ML.REG,M : *,MLREG 2480 040400° 177770 000007 BI(8 B1S MoV MOV ADD RTS 04037¢4° 000010 000026 17 words ] Qe oo nD > DDR,R3 ),i4(sP) ~NOw» X I =t VOO D VW v 000012 ] 126 words : Routine Size: ; Mayimum stack depth per invocation: e 000010 000012 MoV MoV 8158 MOV MOV MoV MoV MoV MoV 8IC MOV 040374 000010 000014 000014 000040 040374 000010, 040374 6(SP) ,10(SP) BLE £ 000010 INC T 000006 3s: ~om 000006 ) IR2 R,R3 RS) LR TR TR X ADD MOV 000002 Ba e e S, 000177 LR RN INC INC CMP BLE Bl 016366 016602 152702 016703 010263 016703 016366 016602 016705 042705 142702 050502 016703 010263 062706 000207 MOV MOV ~J* 002470 002476 002502 002506 002512 002516 002522 002530 002534 002540 002544 002550 002552 002556 002562 002566 016703 010263 005206 005200 020027 003713 062705 010504 005266 026666 003700 016703 ROUTINE DECLARATIONS L 002420 002424 002430 002432 002434 002440 002442 002446 002450 002454 002462 002464 TOPS=-20 Bliss=16 V 2(212) PA:<NEALE>PMSKLL.B L1.1 (14) -O N S0 BSKELS REV B PATCH 00 MLREG,« 55 Page SEQ 0090 F . INDEX BU 2482 2476 F . INDEX *,S.8U 2485 2486 2472 D . CNT WR .* WRD.CNI F . INDEX S.BUF . INDEX,BU SEC.CNT SEC.CNT,+ * ML.REG ML.REG,MLREG 2487 * MLREG MLREG, * * ,ML.REG ML .REG ,MLREG * MLREG * MLREG MLREG,* 2431 N : 2491 : : H : 2492 2493 26494 2495 : 2497 : 2496 begin L. 4+ ! Functional Description: ! ones or ZEROS '’ the contents of data "~ to ! the designated array and bank selected by arr$bnk_sel. ; : : 2°°7 251 ! Formal Parameters: ARRSBNK_SEL: ! : : 2503 2504 This argument stores the array and bank ! ! DATA: ! select address. ) : ! : 2507 ! ; gg}g : : 2512 ! Implicit Outputs: H : : : : : : 2514 2515 2516 2517 2518 2519 2520 data. ! ] ! codes: tion ! Comple none !} ! ! Side Effects: none ! : 2522 : : : : 2506 2508 2509 2513 2521 . This argument contains the selected data pattern 2505 : . ) . This global routine will load via diagnostic mode %233 2502 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (15) routine DM_1_0_LOAD (TEMP_ARRSBNK_SEL, DATA) : novalue = : : 7 18-Mar-1982 16:07-57 18-Mar-1982 15:44:461 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS to be written into the array and bank selected by ! array bank select. L. ! ! Implicit Inputs: WRT_BUF, RET_STATUS . WRT_BUF is filled with ones or zeros ! -~ . . : : 2523 Sggg : 2526 !S1ngl: step dma write mode ?H_URT_TRANSFER (SI2E = =256, DST = .TEMP_ARRSBNK_SEL, SRC = WRT_BUF): ! Load the diagnostic registers up with the ; gggg ; will either be all ones or all zeros. : ; 2530 2531 WRT_RH (MLD1, DB1_REG, .DATA): WRT_RH (MLD2, DB2_REG, .DATA); : 2534 : : : : : : : : : 2527 ggg% 2535 2536 2537 2538 2339 ggzg 542 ! data contained in the argument ‘data‘. Data WRT_RH (MLE2, E2_REG, .DATA); '+ ! ! ! ! Load this banks sector range up with the data just loaded into the diagnostic registers, 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. !Load data reg 1 with data 'Load data reg 2 with data 'Load dJata reg 3 with data . Page 56 SEQ 0091 B VIV ‘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 + to the unit under test. This will later be used as compare data when this sector number is read back. incr WRD CNT from O to (255 + 511+2) do 'Fill the write buffer up with data CLR_MBUS; end; !Clear the single step dma mode WRT_BUF [.WRD_CNT, WRD) = ,DATA; 000014 177400 040426 000036 040430° 002234 040432° 177034 04037¢4* 002 N (=] & R£3589 _a-ao_.-.-na[ =] 57 Fill the write buffer up with the same data pattern that was just transtfered 162706 o b and and aud v oud wnd and wd wod cnd wmb cud end =d NOn [ 3 - NN NNOVN ~ OO o OO0 - NN —_—— Page SEQ 0092 g VER CZMLCB changed 127 to 255 0000006 05 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (15) incr SEC_CNT from O to .BNK_NUM_SEC do Gttt s e AWM AWV O\ NAVIWAWWWVIVIWVIWSS S = OO0 NN NN = OO0~ PNININIAININNINN NI NININININD ROUTINE DECLARATIONS 004167 [alelelatelelelelelelelelelelelo] Q00O parQard (YR IETREYERLEXE FE PRLN R YR YRR K] BSKELS REV B PATCH 00 8 18-Mar-1982 16:07:57 18-Mar=1982 15:44:41 000036 000040 DM.1.0.LOAD ROUTINE DECLARATIONS JSR sus MoV R1,$SAVES : 2491 #-400,~(SP) ; 2524 36(SP),~(SP) : TEMP.ARRSBNK.SE,* &SP (SP) ,S12E (SP),DST SWRT.BUF ,~(SP) (SP) . SRC PC,DM.WRT, TRANSFER 000020 040374 000040, 000016 000034, 000014 040416° .SBTTL DM.1.0.LOAD: ML.ADDR,R1 : 2530 36(R1),20(SP) = ML.REG ML.ADDR ,R1 RO,36(31) : MLREG,* : : «,ML.REG 2531 ML -ADDR,R1 : MLREG,* : * ML REG 2532 BNK.NUM. SEC,Ré : 40(SP) .RS RS,RO ML.ADDR,R1 40(R1),f6(sP) ML .ADDR R1 RO,40(RT) 34(R1),14(SP) ML.ADDR,R? RO, 34 (RT) R : DATA.+ : «,MLREG : MLREG,* * SEC.CNT 2543 003136 000423 105002 016701 016166 016600 152700 016701 010061 005202 020227 003757 005203 020304 003753 005000 010001 006301 010561 005200 020027 003770 016701 016166 016600 152700 016701 010061 016707 016166 016600 016705 042705 142700 050500 016701 010061 062706 000207 ROUTINE DECLARATIONS 040374° 000024 000012 000012 ; WRD.CNT [ 2 o4 002736 002720 002742 1002746 002756 002760 002766 002770 002776 002776 603002 003004 003006 003010 003012 003014 T0PS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (15) nN ~a BSKELS REV B PATCH 00 : *,MLREG ; 3$: 4%: s?.R1 :3.URT.BUF(R1) 002234 RO,#2375 002375 000010 2545 : MLREG.» : WRD.CNT 000177 000010 58 : «,ML.REG ; ML.REG,MLREG 000020 040374 000024 040374° Page SEQ 0093 43 ML.ADDR,R1 10(R1),10(SP) 10(SP) .RO #440,R0 000010 ML.ADDR,R1 RO.10(RT) ML .ADDR,R1 (SP) .61) 10(R 6(SP) RO ML.DUT,RS 000006 #177770.RS 000007 #7.R0 * 040374 000010 000022 ML .ADDR,R1 . 116 words . : Routine Size: invocation: per depth : Maximum stack R5.R0 RO, 10(R1) #22,5P PC 15 words WRD.CNT,» ; SEC.CNT ¢ SEC.CNT,* 2543 : WRD.CNT,« : WRD.CNT 2561 2562 ; WRD.CNT 2561 : WRD.CNT,¢ * = ML.REG 2562 ; ML.REG,MLREG ; *,MLREG ; MLREG,* . *,ML.REG ; ML.REG,MLREG : ; * ,MLREG *,MLREG : MLREG,~ 269N routine WRT_CHK_TRANSFER (SIZE, DST, SRC) : novalue = begin T4 . ! Functional Description: ! T I T L T T R Y R R P P PN ViAWV N oo gmmmmam\nwwwwwwwwwoo WA = O DB N NS AN -2 O 000 ~NOo~ NININININ NI NLNINININI AN NN NN NN N 2587 18-Mar-1982 15:44: 41 ROUTINE DECLARAT]ONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLSG.BLI.1 16) . This global routine will perform a write check transfer at the designated buffer and sector address. Formal Parameters: SIZE: BUFFER: 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. Implicit Inputs: none Implicit Qutputs: none Completion codes: none Side Effects: none CLR_MBUS: !Clear the mass bus WRT_RH (MLCS2, DRV_SEL, .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZEJ; WRT_RH (MLDA, DA_REG, .DST): WRT_RH (MLBA, BA_REG, .SRC); !Select the divice under test ‘Load the transfer size ‘Load the destination address tLoad the source address ECC_DIS (ENABE); WRT_RH (MLCST, FONC, FUNC_4); if .ML_ADDR [MLCS?1, SC] then Disable error correction 'Load a write check function with go set iDoes the transfer cause a sc error begin [ IR YR IR TETER A EYR I A TN TR PN T P TN X Be e Ve Ve Bo Ny o WeVys0e0e00B08s0: 0050 %0 8005 %003 %500 | BSKELS REV B PATCH 00 D 8 18~Mar-1982 16:07 :57 if not .ML_ADDR [MLCS2, WCE] then begin 'We expect the write check bit to be set ERRSF (ERR_13, UNX_DRV_ERR MSG, DUMPER): PRINTB (ONE_MSG, WT_CHR_XFER_MSG); DODU (.LSUNIT); DogLN: eng., !Report the unexpected error !Print what transfer caused the error iprop this unit 'Jump to the clean up code Page 59 SEQ 0094 E BSKEL4 REV B PATCH 00 8 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (16) Page 60 SEQ 0095 end; 'Delay for transfer to complete 0 do until .ML_ADDR CMLDS, DRY]; 'Did the transfer cause a sc error i; .ML_ADDR [MLCS1, SC] en begin 'We expect the write check bit to be set :; not .ML_ADDR [ML(CS2, WCE] en begin ERasF (ERR_13, UNX_DRV_ERR _MSG, DUMPER); PRINTB (ONE_MSG, WT_CHR_XFER_MSG); DODU (.LSUNIT); DOCLN; end; !Regort the unexpected error !Print which function caused the error ‘Drop this unit ‘Jump to the clean up code end; 2639 end; 010146 162706 152701 0167G0 010160 016700 016066 016601 016700 042700 142701 050001 016700 010160 016700 016066 0166C1 152701 016700 010160 016700 016066 016601 .SBTTL WRT.CHK.TRANSFE ROUTINE DECLARATIONS MOV R1,-(SP) 2566 ; 2567 CHK ., TRANSFE: WRT. 040374" MOV ML.ADDR, RO 000030 000040 040374" SUB MOV MOV BISB MOV #32,SP 10(R0) , $0(sP) : * ML .REG.MLREG * «,MLREG MOV MoV MoV 30(SP) _R1 #40.R1 ML.ADDR,RO R1.10(r0) ML .ADDR, RO 10(R0) , 26 (SP) 26(SP) .R1 : MLREG,* ; «,ML.REG : ML.REG,MLREG 000032 000010 000030 000010 040374" 000010 000026 000026 040400° MoV MOV nL.ogr RO BICB #7.R1 : «,MLREG MOV MOV MOV ML .ADDR, RO R1.10(R0) 24(R0) , 24 (SP) : MLREG,* : * «,ML.REG 2598 : MLREG,* : + «,ML.REG 2599 177770 8IC 040374" 8IS MOV 000007 000010 040374" 000024 000024 000024 000002 040374" 000024 040374* 000010 000022 000022 T «,ML.REG MOV BISB MOV MoV MoV MOV MOV #177276.,R0 RO.R1 ML .ADDR,RO 24(SP) .R1 #2.R1 ML.ADDR RO R1.24 (RO) ML .ADDR,RO 10(R0) , 22 (SP) 22(SP) .R1 * «.MLREG : ML _REG,MLREG + «,MLREG + ML.REG,MLREG 040400° ML.DUT,RO 000007 #7.R1 RO,R1 ML .ADDR RO #127776,R0 040374 000010, 040374 000002 000042 ° 040374 000002 040376 000006 000040 ° 040374 000006 040374 000004 000036 040374° 000004 040374* 000012 000077 000051 R1.10(RO) ML .ADDR RO 2(R0) ,20(sP) 000020 . R1 42(SPS ML.ADDR,RO R1,2(ROS ML .ADDR,RO 6(R0) ,16(SP) 000016 40(SPJ .R1 ML.ADDR RO R1.6(ROJ ML .ADDR RO 4(RO) , 14 (SP) 36(SPJ ,R1 000014 ML .ADDR,RO R1,4(ROS L 12(SP) . ADDR, aM 000012 12($P) ,R0 #77.R0 #51.R0 RO, aML . ADDR 040374° ?21.ADDR.10(SP) 040374 000010 040374 000010 040000 ML .ADDR,RO 10(R0) ,6(SP) 000006 000006 #40000.6(SP) 1$ MLREG, * * ML .REG 14 MLREG, * ,ML.REG 000006 040374° 000012 000004 000004 1%: MLREG,* * ,ML.REG 12(R0) ,4(SP) 2602 2603 « ,MLREG * ,MLREG MLREG, * * ,ML.REG * ,ML.REG : *,ML.REG 2612 2613 SP._» 2614 * ML .REG 4(SP) ML .REG 040374* 000002 SQL.ADDR.Z(SP) *,ML.REG 040374 ML.ADDR.RO 18 2601| SRC,MLREG 44 #6,SP RO ML.ADDR 2600 DST_.MLREG LSUNIT,RO 51 0000006 61 SIZE.MLREG 15 002474 002556° 000002 Page SEQ 0096 * ,MLREG 54 MSG DRV .ERR . UNX DUMPER #JT . CHK XFER.MSG,~(SP) #ONE .MSG, - (SP) #2,=-(SP) SP,RO (16) * ,MLREG LYA TR R XY 177770 Qe Gy ®e S 016700 042700 142701 050001 016700 010160 016700 016066 016601 016700 ROUTINC DECLARATIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKLSL.BLI.T L YR TR TN T3 003314 003320 003324 003330 F 8 18-Har-1985 | 18-Mar-1982 1 (YA TIRIR IR TR X BSKEL& REV B PATCH 00 2611 2622 2624 2628 003640 016016 032716 001022 104454 000015 ¢ 8 18-Mar-1982 ROUTINE DECLARATIONS MOV 000010 040000 BIT TRAP .WORD +WORD . WORD 002474 002556 000002 0000006 000006 000032 2s: 000207 181 words : Routine Size: : Maximum stack depth per invocation: 16:07:57 Jamar- 1985 18:00: 17 words MoV MOV MoV MOV TRAP MoV TRAP TRAP ADD ADD Mov RTS 21 T0PS-20 Bliss-16 V2 (212) PA:<NEALE>PMSKLS.BL 1.1 (16) . (SP) 10RO #40000°(SP) 28 i - [ Page 62 SEQ 0097 * ,ML.REG * ,ML.REG 2631 s UNX.DRV.ERR.MSG DUMPER #WT.CHK.XFER.MSG,~(SP) #ONE .MSG, = (SP) 2632 #2,-(SP) SP,* SP.RO 14 LSUNIT,RO N 4% #6,SP #33,5P (SPS5+.R1 PC Qe e BSKEL4 REV B PATCH 00 H BSKELS REV B PATCH 00 H H 2640 2641 18-Mar-1982 ROUTINE DECLARATIONS ) This global routine will perform a write transter at the designated buffer and sector address. ! formal Parameters: BUFFER: ey N o AV,] SIZE: 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. Implicit Inputs: none Implicit Outputs: none Completion codes: none Side Effects: none CLR_MBUS; WRT_RH (MLCS2, DRV_SEL, .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZEJ: WRT_RH (MLDA, DA_REG, .DST); 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, SC] !Does the transfer cause a sc error WRTRH (MLCST, FONC, FUNC_5): thenb ] iLoad a write function with go set N !Qegort the unexpected error DUMPER); ERgSF (ERR_13, UNX_DRY_ERR_MSG, function caused the error which 'Print ); oo N o P N NNR TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.! begin ! Functional Description: IR A FETE TR TR PR PR TR TR FI TR P SE TN PITE N 15:44:41 routine WRT_TRANSFER (SIZE, DST, SRC) : novalue = Iee - 8 18-!0r-19g$ 12:07:5 7 eqgin PRINTB (ONE_MSG, WRT_XFER_MSG DODU (.LSUNIT); DOCLN; 'Drop this unit 'Jump to the clean up code 0 ipelay for transfer to complete end; do until .ML_ADDR [MLDS, DRY]; if .ML_ADDR [MLCS1, SCJ 'Did the transfer cause a sc error (17) Page 63 SEQ 0098 PRINTP (ONE_MSG., DODU (.LSUNIT); end; 000022 000020 040374° 000010 040374° — o e O o - b o b o ek 000010 000016 000016 040400° 177770 000007 ° 040374 000010 04037 000002 000014 000034 040374° 000002 040374 000006 000012 000032 040374° 000006 04 0374° 000004 000010 000030 SuB MOV Mov MOV 81s8 MOV MoV Mov MoV MoV MOV BIC 8I(B 81s 2640 R1,-(SP) #24 5P ML.ADDR,RO 10(R0), 22 (SP) 22(SP) .R1 cao R ML.ADDR,RO e ®e e 8, MOV WRT.TRANSFER ROUTINE DECLARATIONS * ML.REG ML.REG,MLREG ; MLREG,* 10(&0) 50(sP) 20(SP) .n1 ML.DUT,R 2177770, no ; *,ML.REG #7.R1 RO.R1 R1,10(&6) ML .ADDR,R ML.ADDR,RO 10(R0),16(sP) 16(SP).R1 ML.DUT ;RO 3177776 RO 47.R1 RO.R1 ML .ADDR,RO R1.1o<a6 ML.ADDR 2(R0) SL(SP) R1 34(5P HL Aoofisno 6 (RO) .12(sp) n1 HL ADDR 32(SP} R1 6(no$ ML.ADDR ML.ADDR,RO 4 (R0) ,10(sP) 30(SPS,R1 2641 % ,MLREG n1 10(r0) ML .ADDR, RO ; ML.REG,MLREG LR K] .SBTTL WRT.TRANSFER: 162706 016700 016066 016601 152701 016700 010160 016700 SUEKENRORSN 64 SEQ 0099 ‘Drop this unit Jump to the clean up code DUCLN; end; 010146 spEzanEEee (17) !Report the unexpected error _MSG, DUMPER) ; 'Report which gsr (ERR_13, UNX_DRV_ERR function caused the error WRT_XFER_MSG); LA TR TR X 26946 2695 2696 2697 2698 2699 2700 then TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 * MLREG * MLREG MLREG, * ML.REG ML .REG,MLRES 2672 ; *,MLREG * ,MLREG e We %o % 2692 2693 18-Mar-1982 15:44: ROUTINE DECLARATIONS LR TR TR XY REV 3 PAT(H 00 1 8 18-Mar-19 82 16:0 MLREG, * * ML.REG SI1Z2E .MLREG MLREG,* * ,ML.REG 2673 2674 DST,MLREG MLREG, * * ,ML.REG SRC,MLREG 2675 REV B PATCH 00 ROUTINE DECLARATIONS 004154 004160 040374° 000004 040374* 000006 000006 000077 000061 040374° 040374* 000004 004164 004172 004176 004202 004206 004212 004220 004222 004224 004226 004230 016700 O 14 152700 01 004256 004366 #61.R0 RO,aML.ADDR aML.ADDR, 4 (SP) 18 54 15 000006 040374° 000012 000002 #2,-(SP) SP,RO 14 2678 2682 SP,* zessi #6,SP ML .ADDR,R | 2680 2689l 12(R0) . 2<sp> 040374 SML.ADDR, (SP) 28 54 15 UNX.DRV.ERR.MSG DUMPER . XFER .MSG,~(SP) MURT 151 words ; Routine Size: ; Maximum stack depth per invc.ation: 2676 LSUNIT,RO 2(sP) 18 v ML.REG ML.REG *,ML.REG #2,-(SP) SP.RO 14 LSUNIT,RO 2691| 2694' 2695 . MSG, - (SP} #ONE 0000006 65 2681 51 4% 1%: Page SEQ 0100 * ,MLREG * ,MLREG MLREG,* * ,ML.REG (SP} . MSG, = E #ON 002422' 002556° 000002 012601 000207 * ML .REG ML.REG,MLREG . XFER.MSG,=(SP) #WRT 000002 000006 000024 MLREG,* UNX.DRV.ERR.MSG DUMPER 0000006 004260 R1.4(ROJ #77.R0 002556° 000002 004252 ML.ADDR,RO aML .ADDR,6(SP) 6(SP) ,RO 002422’ 004232 004236 004242 004246 004250 004272 004300 004304 004306 004312 004314 004316 004320 004322 004324 004330 004334 004340 004342 004344 004350 004352 004354 004360 004364 MOV T0PS~-20 Bliss=16 v2(212) (17) PA:<NEALE>PMSKLS. 8LI.1 IR YRR IE IR BSKEL4 J 8 18~-Mar-198 2 16:07:57 18-Mar-198 2 15:44:61 SP,% 2696 51 2$: 44 6 sp 224, (spioR1 PC 14 words 2693 2640 BSKEL& REV B PATCH 00 LSS ST STNT, N1, N1, N1, 1,01, 87,8/ SNNSNNNNNNNNNN PININD) ad cd ad o cnd b wmd s wmd ) =2 OO0 NN BN = R IR L LRI A I IR IR A RR RN 2701 2702 2703 2704 2705 ROUTINE DECLARATIONS begin Tee ] i i i i i i i This global routine performs a read transfer at the designated buffer and source addresses. formal Parameters: SIZE: BUFFER: | ! ! SECTOR: : i : ! ; : .‘ : ML-11 desired sector address where data is coming from or going to. Implicit Outputs: none Completion codes: none ! i Write buffer address where data is coming from or going to. none ; ; Stores the size of the transfer Implicit Inputs: : R TR TR PR Functional Description: Side Effects: none !-- CLR_MBUS: A MR 0, % V000N, !Clear the mass bus WRT_RH (MLDA, DA_REG, .SRC): WRT_RH (MLBA, BA_REG, .DST): '‘Disable error correction 'Select the divice under test 'Load the transfer size 'Load the source address 'Load the destination address if .ML_ADDR [MLCS1, SC] ‘Does this function cause a sc error ECCCDIS (ENABE); WRT_RH (MLCS2, DRV_SEL, .ML_DUT); WRT_RH (MLWC, WC_REG, .SIZEJ. WRTZRH (MLCST, FONC, FUNC_6); Ve S, TOP5-20 Bliss=16 v 2 ( 2 12 ) PA:<NEALE>PMSKL& IB L 1 1 (18) routine RD_TRANSFER (SIZE, DST, SRC) : novalue = ; YRR K 8 18-Mar-19 82 16:07:57 18-Mar-19 82 15:44:41 then beqgin ERRSF (ERR_13, UNX DRV _ERR MSG, DUMPER); DOCLN; !Report the unexpected error function cause the error which 'Report ‘Drop this unit tJump to the clean up code 0 'Detay for the trans‘er to complete PRINTB (ONE_MSG, RD_XFER_HSG): DODU (.LSUNIT); end; do 'Ltoad @ read function with go set until .ML_ADDR [MLDS. DRY]; Page 66 SEQ 0101 . . AL\ 1, S1, ST, N1, ¥1,8],S1,N} N SNNSNNNNN NN ~ (203 Yo SV VAV AV 1V, 1V 1 w N =2 OO0~ W BSKELS REV B PAT(H GO ROUTINE DECLARATIONS then TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLG.BLI.1 Fage 67 SEQ 0102 'Did the transfer cause a sc error if .ML_ADDR [MLCS1, SC] beqir !Regort the unexpected error ERRSF (ERR_13, UNX_DRV_ERR_MSG, DUMPER) ; 'Print whic function caused the error PRINTB (ONF_MSG, RD_XFER_MSG): DODU (.LSUNIT); 'Drop this unit ‘Jump to the clean up code DOCLN; end; end; .SBTTL RD.TRANSFER: 010146 162706 016700 8 L 18-Mar-1982 16:07:57 18-Mar-1982 15:44:¢° 000026 060374 000010 000024 000024 000040 040374 000010 040374 000010 000022 000022 040400 177770 000007 040374° 000010 040374 000024 000020 000020 000002 * 040374 000024 040374° 000010 000016 006016 040400°* 177770 000007 040374° MOV su8 MOV MOV MOV 8ls8 Mov MoV MoV MoV MoV MOV 8IC BI(B 8IS RD.TRANSFER ROUTINE DECLARATIONS R1,-(SP) #26,5P : 2701 ML .ADDR,RO 10(R0) , 24 (SP) ; 2702 24(SP) 'R «,ML.REG * ML.REG,MLREG R1.10(R0) ; MLREG,* 10(R0), 82 ($P) ; *,ML.REG #60,R1 ML .ADDR RO ML .ADDR,RO 22(SP) R1 ML.DUT ;RO #177770,R0 ; *,MLREG : «,MLREG R1.10(R) ; MLREG,* ; + «,ML.REG ML .ADDR,RO ML.ADDR,RO 24(R0) ,20(SP) 20(SP) 'R #2.R1 ML -ADDR RO R1.24(RO) 10(R0) , 16 (sP) ML -ADDR RO 16(SP) -R1 ML.DUT ;RO #177770.R0 #7.R1 RO.R1 ML .ADDR,RO «,MLREG : MLREG,* : * «,ML.REG 2734 : M(.REG.MLREG : *,MLREG * ~.MLREG 2(R0) , 14 (SP) 36(SPJ .R1 R1.2(ROS : MLREG,* ML.ADDR,RO 2733 * ML .REG,MLREG : MLREG,* ; * % ML.REG ¢ SIZE.MLREG ML .ADDR,RO ML .ADDR RO 04037¢4° : ML.REG,MLREG #7.R1 RO.R1 R1.10(R0) 000014 * «,MLREG : 2735 2736 REV B PATCH 00 ROUTINE DECLARATIONS 004624 004632 004636 004642 004646 004652 004660 004664 004670 004674 004702 004706 004712 004716 004722 004730 004732 004734 004736 004740 004742 004746 000006 2 016066 6(R0) ,12(SP) 000012 SRC ,MLREG R1,6(R0O) MLREG, * 4(R0) ,10(sP) R 34 (SPS * ML.REG DST,MLREG R1.4(ROS MLREG,* ML .ADDR,RO ML.ADDR RO (SP) aML . ADDR,6 6(SP) RO #77.R0 #71.R0 RO, aML .ADDR 040374 040374 000004 (SP) aML . ADD4R, 1$ 54 15 UNX.DRV.ERR.MSG DUMPER #RD . XFER.MSG,~(SP) #ONE .MSG, = (SP) #2,-(SP) SP.RO 14 002352" 002556" 000002 000006 * 040374 000012 000002 000002 #6.SP ML .ADDR,RO 12(R0) ,2(SP) * ML.REG * ,ML.REG %?UNIT.RO 44 2s: #6,SP #26,SP (SPS+,R1 PC 2742 2751 2753 2756 DUMPER 0000006 000207 2745 @ML.ADDR, (SP) 2% 56 15 UNX.DRV.ERR.MSG 14 2740 SP,x ML .REG #RD . XFER.MSG,~(SP) #ONE .MSG,~(SP) #2,-(SP) SP.RO 002352 002556° 000002 2738 2744 2(SP) 1$ 2737 2743 5 18: 68 * ,MLREG MLREG, * * ,ML.REG 44 040374 000006 000026 * ,ML.REG ML.REG,MLREG * ,MLREG LSUNIT RO 0000006 Page SEQ 0103 * ,ML.REG 32(sPJ .R1 ML.ADDR RO 040374 000004 000010 000034 040374 000004 040374 000006 004752 004756 004760 004762 004766 004770 004772 004776 005002 005010 005014 005016 005022 TOPS=20 Bliss=16 V 2(212) PA:<NEALE>PMSKLG.B LI.1 (18) YA TR IR IR LS XY BSKEL4 M8 18-Mar-198 2 16:07:5 7 18-Mar-198 2 15:44:4 1 2757 SP,» 2758 2755 2701 BSKEL4 REV B PATCH 00 N 18-M 18-M ROUTINE DECLARATIONS ) ; Routine Size: 164 words, : invocation per depth stack ; Maximum 15 words 157 1 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.8LI.1 (18) Page 69 SEQ 0104 REV B PATCH 00 ROUTINE DECLARATIONS B b 1982 18:00:0] IOPRERLBLInElS Ki%he BSKEL4 :: : g;gg 2763 2766 L : jne.d I_CHIP_TB routine novalue lue ! Functional Dgscrigtion: The chip table stores for a tested ; bank all the mos ram chip numbers ! which have data errors within them, ; : 772 i ; %;;g ; : 2776 | Formal Parameters: ; : 2780 | ; 2782 H This routine when called 2773 ! i Implicit Inputs: P Latp TBL | Implicit Outputs: The chip table is loaded with zeros. : 2785 | Completion codes: ! §¥§§ i Sid E::ne 7 ! ] 279 Side ects: i th i"Lo p s locat?g:t;gn the ! and initialize ' : %% 2794 ! Loop through all table L :; o gggg incr : : : : S;gg 2801 : zero. 1TBL_INDEXC.TBL_INDEX imer CHIP_TBL from (0 to 38 do , ALL] = ZEROES: LSBTTL 1.CRIP.T R1 i )BL ROUTINE DECLARATIONS I.CHIP.TS%; 005102 005000 882%85 . 030230° 882}53 85%9;5 000046 005124 012601 i Initialize the bad chip table 'Initiali end; 005100 010146 882%}2 will init ! ; : s£a%5105° entries. g;gz : - this table of all previou: bad ggip : ; i !++ 2767 2768 2769 S;;? 777 T oP<~ = ; : ; : : 9 :07: 18-Mar-1982 16:07:57 CLR RO S Ek? gglP.TBL(RI) MOV (SP)+,R1 grg ~(SP ?2.#46 :: TBL.INDEX 2788 T8L.INDEX ;: TBL.INDEX,* 2798 . : 2763 c BSKELL 18-Mar=1982 15:44:41 REV B PATCH 00 ROUTINE DECLARATIONS 005126 RTS 000207 : Routine Size: 12 words . : Maximum stack depth per invocation: 9 18-Mar-1982 12:07:57 2 words PC TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKLG.BLI.T (19) Page 71 SEQ 0106 o BSKEL& REV B PATCH 00 : 9 18-Mar=-1982 16:07:57 18-Mar-1982 15:44:461 ROUTINE DECLARAT]IONS 2802 routine I_TMP_BLST_TBL : novalue = 2806 ) ) e+ ption: Descri onal ! Functi 280 2804 2805 ; : : : 2807 2808 2809 %g}? ! ; : : : 2812 2813 %g}g ! ! ; maintenance and they are the ‘blast table' and the ‘tempory blace table’'. The tempoc‘ blast table holds the bad row, column, nibble and chip information until it can be transfered into the main blast table. : 2816 ! This routine when called will clear this temp ! The tempory blast table is loaded ! none : : . : : : : : : to all zeros. ! ! ! rormal Parameters: none ! . ! ! Implicit Inputs: TMP_BLST_TBL | . ! ! Implicit Outputs: : H : 2827 2828 2829 with zeros ! . ! ! Completion codes: 2831 ! 2826 : 2830 : H : : : 2832 2833 2834 2835 2836 : : : 2837 2838 . ! Side Effects: none ! == '+ ! Index through the temporary blast ! table and initialize its locations : 2839 ! to all zeros. : 2842 incr TBL_INDEX from 0 to 9 do : 2845 end; : 005130 ggzz 010146 005132 005000 005134 010001 005136 006301 72 There are two tablcs which stores the needed information necessary for prom ! ! 2817 2818 2819 2820 2821 2822 2823 2824 2825 : Page SEQ 0107 begin : : : : T0PS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BL1.1 (20) !Initialize the temporary blast table TMP_BLST_TBL [.TBL_INDEX, FULL_WRD] = ZEROES:; SBTTL I.TMP.BLST.TBL ROUTINE DECLARATIONS I1.TMP.BLST.TBL: 1$: MoV R1.,-(SP) MOV RO,R1 CLR ASL RO R1 : s TBL.INDEX s TBL.INDEX,* 2802 2842 2843 18-!\&-1955 g Z 2; 18-Mar-19 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 005140 005144 005146 005152 005061 030346° CLR 020027 003770 000011 P 8LE 005200 INC MOV 005154 012601 005156 RTS 000207 ; Routine Size: 12 words i : Maximum stack depth per invocation: 2 words TMP.BLST.TBL(R1) TOPS-20 Bliss=16 v2(2 2) PA:<NEALE>PMSKL4.BLI.1 (20) Page 73 SEQ 0108 RO ; TBL.INDEX 2842 (SP)+,R1 : 2802 RO, 411 13 PC ; TBL.INDEX,* BSKELS RIV B PATCH 00 : : 2846 2847 ; H 2848 2849 ; 2851 H ; 2850 F ROUTINE DECLARATIONS | Functional Des:cription: The column count table stores the number ! ! : of times a particular column number has failed with any failing row number. 2855 ! This routine when called will init this table to all zeros. ggg; : : 2858 ! Formal Parameters: ; : ; : ! Implicit Inputs: COL_CNT_TBL ! ! ; 2860 2861 2862 2863 2864 sggg ! Implicit Outputs: : : : 2867 2868 2869 ! Completion codes: none ! ! 2872 ‘!-- H : ; : ; : : : ' : ; ; : 005160 2870 2871 2873 2874 none ! The column count table is loaded with 2eros : ! Side Effects: none ! . te 2875 in the i Index through all locations 2877 i the locations to all zeros. 2880 incr TBL_INDEX from 0 to 255d 2882 2883 end; 2876 11 2881 ! column count table and initialize = ZEROES: COL_UNT_1BL [.TBL_INDEX] 005000 1%: 005170 020027 000377 005176 000207 : Routine Size: J.COL.CNT.TBL ROUTINE DECLARATIONS CLR RO P RO, #4377 RTS PC 8 words : Maximum stack depth per invocation: CLRB INC BLE 003772 0 words ‘Initialize the column count table LSBTTL 1.COL.CNT.TBL: 5162 105060 001002°' 005166 005200 005174 Page 74 SEQ 0109 '+e : ; TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (21) routine I_COL_CNT_TBL : novalue = begin~ 285% 5324 2859 9 18-Mar-1982 16:07:57 18~Mar=1982 15:44:41 : TBL.INDEX COL.CNT.TBL(RO) RO ; =(T8L.INDEX) s TBL.INDEX 1$ : : TBL.INDEX,* 2880 2881 2880 2846 G BSKEL4 18-Mar-1982 15:44:41 REV B PATCH 00 ROUTINE DECLARATIONS : : : : : 2884 routine I_REM_TBL : novalue = 2888 ! Functional Description: 2885 2886 2887 289 2895 ! ! . The copied remainder table is a copy of n determini in used s i and table the remainder : : : ; ; : 2896 gggg addresses within a failing MOS chip that has not yet been blasted. ! : row addresses for blasting. The remainder table is used in determing column addresses for blasting. This routine when called will init these ! ; : %38? 2899 ! : ; ; : : 2902 2903 2904 2905 %389 ! Formal Parameters: none ! . ! ! Implicit Inguts: : 2908 ! Implicit Outputs: : : : 2912 2913 2916 ! Completion codes: none ! V- : 2N7 == : : : : : : : : : : ‘ 2909 58}? 2915 2916 2918 2919 2920 2921 2922 S5 tables to all zeros. ; REM_TBL, COPIED_REM_TBL : . Both the remainder table and the copied remainder tables are loaded with zeros. ! : ! Side Effects: none ! . '+ ! Index through the remainder table ! and the copied remainder table and ! initialize thier locations to zeros. 'Initialize the remainder and copied rem table ‘ncrbteg_INDEx from 0 to 99 do : sgsg : 2927 REM_TBL [.TBL_INDEX, RO_CL] = ZEROES: 2929 end; ; ; : H H 005200 egin coPTED_REM_TBL [.TBL_INDEX, RO_CL] = ZEROES; 2928 2930 2931 010146 PA:<NEALE>PMSKL4.BLI.T1 (22) . . !++ The ramainder table stores all the single cell failing rows and columns 2889 2890 2891 %gg% TOPS-20 Bliss~16 v2(212) begin ! ! ; : 9 18-Mar-1982 16:07:57 end; .SBTTL 1.REM.TBL: I.REM.TBL ROUTINE DECLARA) IONS Page 75 SE090110 H BSKELS REV B PATCH 00 18-Mar-1982 ROUTINE DECLARATIONS 005202 005000 005204 010001 18: 005206 005%10 006301 005061 001402° 005222 005226 020027 003766 000143 005232 000207 : Routine Size: RTS 14 words | ) 2 words 76 ; ; TBL.INDEX 2928 2925 (SP)+,R1 ; 2884 R1 REM. TBL (R1) Mov 005230 012601 nage SEQ 01N COPIED.REM.TBL(R1) RO ASL CLR CMP BLE PA:<NEALE>PMSKL4.BLI.1 (22) 2884 R1,=(SP) CLR MOV 15:44:41 TOPS=-20 Bliss=16 v2(212) : MOV CLR INC 005214 005061 001712° 005220 005200 : Maximum stack deptn per invocation: 9 18-Har-19gs 12:07:57 RO RO,R1 RO,#143 18 PC ; TBL.INDEX s TBL.INDEX,* ; TBL.INDEX,* 2925 2927 1 L3 1A%l RN RIS 18 IOLE ahariegs 1982 10:00:0 18har REV B PATC(H 00 ROUTINE . DECLARATION s BSKELS begin St fed 2937 ! Functional Description: column pointér The ! [ Ctvt Socy B i 2943 :i ggzg Yo TS gentered t'h:mb" :bfzi:nfim "rfi:s:hfi t the into ttable cofaggtcgzn _the in columns f::?1ng tcent :g pointer this via ted decrimen ?e must uhicfi ggég ; This routine when called wi count table to ze:;fl clear thisi column pointer 59‘7 . is pointing to their respective table locations. ? ! 2951 | Formal Parameters: : . ! Implicit Inputs: 2957 2958 gggg 2961 gég% i Implicit Outputs: i loaded The column zeros.p point er table is The fi | Completion codes: ' ) none i ! Side Effects: ; t : : P t 948 ; : t i oints or ;ailures greater than 10 in the errog : erro 10.g°ill this row is determined to be all bad (greater : : table }2 fihe column count tablepuhich hgvgog::;ons se:regestgd during the present row number being gggg ; 20a i : o Sggg routine 1_COL_PTR : novalue = Sggg 2967 ; 1 58;? 404 Index and initilaize the Tocggsgns ;':_to :gble zero. :: 53;2 to 9= ggaoss; from 0 X] TBL_INDEX incr COL-PIRC TBLOTNDE : 2977 end; : : : 9 005234 005000 005236 105060 through the column poi .SBTT L 1. COL.PTRS ' TR i ze the column pointer table 'Initiali I.COL.PT .COL. R ROUTINE DECLARATIONS RO : £a95115’ e BSKELS REV B PATCH 00 005242 005200 005244 005250 020027 003772 J ROUTINE DECLARATIONS INC 000011 0 words RO CMP RO, 411 RTS PC BLE 005252 000207 i : Routine Size: 8 words ; Maximum stack depth per invocation: 9 18-Har-1985 12:07:57 18-Mar-1982 15:44:41 1$ TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (23) ; TBL.INDEX ; TBL.INDEX,* : Page /8 SEQ 0113 2974 2932 K BSKEL& REV B PATCH 00 : : : : : : : ; : : . H : : ; 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 18-Mar-1982 ROUTINE DECLARATIONS ! map of the tailing chip row or column ! error out. adiresses can be chosen for masking the ! o . . This routine when called will init the | ! ! Implicit Inputs: none ! ! ; H : : 3002 3003 3006 3005 ! Completion codes: none ! ! ! Side Effects: ; 3007 !'-- : : : 3019 3on 3012 : Loop through all the blocks and words ! in the error map structure and load the ! Locations up with zeros. 3015 gg}g incr TBL_INDEX from 0 to X0'17776°' bg Xo0'2' do (ERRDR_MAP + ,TBL_INDEX) = ZEROES; 3018 end; : ; : : 005254 3008 3009 The error map is loaded with zeros. ; none ! ‘e e .SBTTL 1.ERROR.MAP: 005000 005256 005060 010230° 005262 062700 000002 005266 020027 005272 003771 005274 000207 79 The error map stores by sector and row number all of the detected failures within a tested mos chip. From this ! ! ! 2996 3006 Page SEQ 0114 ! Functional Description: error map to all zeros. ! ! ! Formal Parameters: ggg? TOPS-20 Bliss~16 v2(212) PA:<NEALE>PMSKL4.BL1.1 (24) L. . !4+ ERROR_MAP i ! ! Implicit Outputs: : 15:44:41 begin 2997 2998 2999 ; : : 12:07:57 routine I_ERROR_MAP : novalue = 2991 2992 2993 2994 2995 9 18-Mar-198 017776 1$: tIntialize the error map [.ERROR.MAF ROUTINE DECLARATIONS CLR RO s TBL.INDEX cmp RO.#17776 ;. TBL.INDEX,* CLR ADD BLE RTS ERROR . MAP (RO) #2,R0 18 PC NS s «(TBL.INDEX) s =, TBL.INDEX 3016 3015 : 2978 BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS ; Routine Size: 9 words , ; Maximum stack depth per invocation: 9 L 18-Har—1985 12:07:5{ 18-Mar=-1982 0 words 15:44:4 TOPS=20 Bliss=16 ( ve(212) PA:<NEALE>PMSKL&.BL 1.1 (26) Page 80 SEQ 0115 BSKELS REV B PATCH 00 : : : ; 3019 3020 3021 3022 mno ROUTINE DECLARATIONS L. . '++ ! fFunctional Description: 3025 ! The blast table stores for all banks of ! a tested array module all blasting information out data errors. ; needed to mask 3028 ! This routine when called will init this table 3029 3030 3031 3032 to zeros. ! ! ! Formal Parameters: none ! . ! ! Implicit Inputs: 3033 3034 3035 3036 3037 BLAST_TBL ! . ! ! Implicit Outputs:® : H : ; 3040 3041 3042 3043 ! Completion codes: none ! ! ! Side Effects: : : 3044 3045 3046 . . The blast table is loaded up with 2eros. ; none ! -~ : 3047 '+ : 3052 incr TBL_INDEX from 0 to X0'7776° bg Xo'2' do : 3055 end; ; ; H 005276 3048 3049 gggz ! Loop through all blocks and words and fill ! the words up with zeros. (BLAST_TBL + .TBL_INDEX) = ZEROES; JSBTTL 1.BLAST.TBL: 005000 005300 005060 030372° 005304 062700 000002 1$: 003771 : Routine Size: 9 words 0 words 'Initialize the blast table 1.BLAST.TBL ROUTINE DECLARATIONS RO : TBL.INDEX RO #7776 s TBL.INDEX,® CLR ADD BLAST.TBL(R0O) #2,R0 BLE 19 RTS 005316 (000207 ; Maximum stacfi depth per invocation: CLR CMP 005310 020027 007776 005314 . 2859 gggg Page 81 SEQ 0116 begin 3023 3024 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLG.BLI.1 (25) routine I_BLAST_TBL : novalue = ; : ; ; : ; 18=-Mar-1982 16:07:57 18=-Mar-1982 15:44:41 PC 3052 : «(TBL.INDEX) . «,TBL.INDEX 3053 | 3052 H 3019 005320 N 9 18-Mar-1 982 ) T0PS=20 Bliss=16 v2(212) SKL4.BLI.1 (26) ; ~.. PA:<NEALE>PM 15:44:41 18-Mar-1982 16:07:57 ROUTINE DECLARATIONS ‘" routine L_RANDOM_DATA. (TEMP_ARRSBNK_SEL) : novalue = - begin 144 . P 82 55896117 ] ! Functional Description: his global routine will load via mass bus write transfers random data to the selected array and bank addressed by arr$bnk_sel. ! ! ; i Formal Parameters:" ‘ ARRSBNK_SEL : ! bank select address. °§ . array and This ar%ument stores the ! i Implicit InButs: WRT_BUF, BNK_NUM_SEC % i Implicit Outputs: none ; i completion codes: none W [= (o] o 5 i Side Effects: s; none ) 'Write buffer random data index . . =~ local RANDOM_INDEX; -1The first transfer starts at write buf word zero RANDOM_INDEX = Z2ERO; iGenerate a write buf of random data GEN_RARDOM_DATA (); " 00BNt Te RNt NI NI NI NININIRIRINININI NI TN NINININININIBENItEVet0 V0NN, 3056 -~ 3057 3058 3059 . S T . 1 Loop through all sectors in this bank and ! fill .the sectors up with random data contained in ! the write buffer. At each sector transfer ! the write buffer index will start two words i deeper. °° N incrbSEé_CNT from 0 to .BNK.NUH_SEC do ‘Load all sectors in bank with random data . : SRC = WRT_BUF C.RANDOM_INDEX, WRDI1): HR? TRANSFER (SIZE = =256, DST = .TEMP_ARRS$BNK_SEL + .SEC_CNI, 2 word deeper in write buffer eqin 0000 0c0e00 00 b M 6 B e e BSKEL4 REV B PATCH 00 ’ IR RAgbOM_INDEx = .RANDOM_INDEX + 2; end; INext sector starts end; 004167 000000G .SBTTL L .RANDOM.DATA: L.RANDOM.DATA ROUTINE DECLARATIONS . REV B PATCH 00 005324 005326 005332 005336 005340 005003 004767 016704 05001 000430 012746 011667 010102 066602 010267 010246 010302 006302 062702 010267 010246 004767 062703 062706 005201 020104 003746 000207 18~Mar-1982 16:07:57 18=Mar=1982 15:44:41 ROUTINE DECLARATIONS JSR CLR JSR MoV 173742 040416 177400 040426 18: 000016 040430 Mov MoV MOV ADD MoV MOV MOV ASL ADD 002234 040432° MOV Mov 176302 000002 000006 . 36 words ) : Routine Size: : Maximum stack depth per invocation: CLR B8R 2%: JSR ADD ADD INC BLE RTS 8 words TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (26) R1,$SAVES R3 RANDOM. INDE X PC,GEN.RANDOM.DATA E?K.NUH.SEC.R4 SEC.CNT 2% 4-400,~(SP) (SP),SIZE R1.R2 16(SP) ,R2 R2.DST R2.~(SP) R3.R2 R2 MWRT . BUF ,R2 R2.SR( R2,=(SP) PC,WRT.TRANSFER #2,R3 #6,SP R1 R1.Ré4 1$ PC Page 83 SEQ 0118 3056 3086 3087 3097 3099 T ; SEC.CN,» : TEMP.ARRSBNK.SE,* ; RANDOM. INDEX, « Ve Ve Ve BSKEL4 * ,RANDOM. INDEX SEC.CNT SEC.CNT,» 3100 3098 3097 3656 ¢ 10 BSKELS REV B PATCH 00 005430 NN = O VOO NS NN = OO0 NS WWIN = OO~ D e D o e o e rad e e e e ek e e o oD e e e 5 8 o e AN -2 CINOCONO NS NN = O VB NN D e e e med d e e e e e NN NN NN AN NI N NI NI NI NI PO NININ) = N AN N N U L AN AN U A NN U U N O sk e o ASAAES 85 85 85 85 85 85 8 o rh o e AU L A L PR PRI I TR RLA T PR YR PR PR PR R R LI 2 AR TR TR FY I NN I P FI N L TR I W IR T S Y LA TR T TN e e i b b ek v etd ek —d ed 3 Q O O O b nh 3104 3105 N U N AT N O N N AN W N NN AN N AN N AN N N AN NN NN : H 004167 18-Mar-1982 16:07:57 ROUTINE DECLARATIONS 18-Mar-1982 15:44:41 ( 1 2) TOPS-20 Bliss=16 v2(2 PA:<NEALE>PMSKL4.BL ! routgne.L-1,0_DATA (TEMP_ARRSBNK_SEL, DATA) : novalue = egin !0* 1 i i i i i i i i i Functional Description: or 2eros data. Formal Parameters: ARRSBNK_SEL: This ar ?ument stores the array and bank select address. ! : Implicit_Inputs: WRT_BUF, BNK_NUM_SEC ! Implicit Outputs: i i i i i i Completion codes: : . This global routine will load the selected array and bank with ones . WRT_BUF is filled up with data none 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 + S511%2) do WRT_BUF [.WRD_CNT, WRD] = .DATA; Load the write buf with data [ ! Now fill this bank under test up with ; the data just load into the write buffer. iLoad all sectors in bank with data incr SEC_CNT from 0 to .BNK_NUM SEC do HRT_TRANSFER (SIZE = -256, DST = .TEMP_ARRSBNK_SEL + .SEC_CNT, SRC = WRT_BUF); end; 0000006 .SBTTL L.1.0.DATA: L.1.0.DATA ROUTINE DECLARATIONS 1 27 Page 84 SEQ 0119 BSKELS REV B PATCH 00 005434 005436 005440 005442 005450 005452 005456 005460 005464 005466 005470 005474 005500 005502 005506 005512 005514 005520 005000 010001 006301 016661 005200 020027 003767 016703 005002 D 10 18-Mar-1982 16: 7 18-Mar-1982 15: 4: ROUTINE DECLARATIONS 18: 000012 002234° BLE MOV 040416° 2$: 000016 040430° 002234 040432° 176162 000006 3s: 000207 ; Routine Size: 38 words ; Maximum stack depth per invocation: MOV ASL MOV INC cMP 002375 177400 040426 JSR (LR 7 words CLR 8R R1,$SAVE3 RO RO,R1 R1 TOPS=-20 BLliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (27) ; WRD.CNT : WRD.CNT,« ;S(SP).URT.BUF(R1) ; DATA,» ?0.#2375 ¢ WRD.CNT,» $ BNK.NUM,SEC,R3 R2 3s ; WRD.CNT ; SEC.CNT ; SEC.CNT,« JSR ADD INC R1.,DST R1,=(SP) #WRT.BUF ,~(SP) (SP),SRC PC.WRT.TRANSFER #6,5P R2 : SEC.CNT BLE RTS PC 16(SP) ,R1 R2.R3 28 3104 3140 3141 3140 3148 3149 #-400,-(SP) (SP),SI1E R2,R1 MOV MoV MOV ADD MOV MoV MOV MOV Page 85 SEQ 0120 : TEMP.ARRSBNK.SE,« ,» ¢ SEC.CNT 3148 3104 BSKEL& REV B PATCH 00 E 10 18-Har-1932 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS : : : ; : 3152 3153 3154 3155 3155 routine L_CHIP_TBL (FAIL_CHIP, PAT_SEL) : ~ovalue = begin : ; : o . !ee ! Functional Description: 3161 3162 %}gz ! ! ! ! ! ! : The bad chip table stores for a bank all the tailing mos rams and thier tailing data patterns. The possible data patterns that could fail are: ; : ; 3165 3166 g}gg ! ! : This global routine will set the fault ftag and tailing data gattern flag for each mos ram found to be bad. . : 3169 3170 ! Formal Parameters: FAIL_CHIP: ! : 3172 ! : : : : : : 3157 3158 3159 3160 3171 3173 1. 2. 3. ! PAT_SEL: ! all ones data all 2eros data thirteen random data patterns o ) . Points to the tfailing chips table position Points to the current failing pattern for this : : ; : : : 3174 3175 3176 3172 3178 3179 chip. ! ! ! Implicit Inputs: CHIP_TBL ! . ! : %}3% ! : : : : : 31846 3185 3186 3187 3188 ! Completion codes: none ! | ! ! Side Effects: none ! ; %}g} CHIP_TBL [.FAIL_CHIP, FAULT] = SET_FLG; : 3193 1+ : 3195 ! chip and pattern number and set the bit. ; : : 3180 3181 3194 %}33 : : 3200 3201 H LN H PSS wn : TOPS~20 Bliss-16 v2(212) PA:<NEALE>PMSKL4L.BLL.T (28) . . ! Implicit Outputs: Chip tables bit positions fault and either pat_0 or pat_1 or ran_1 to ran_13 ! ! are selected and set to a 1. . . 'Set this chips fault flag . ! Index into the chip table at this failing case .QAT_SEL from 0 to 14 of se ] : iSelect the chips failing data pattern CHIP_TBL [.FAIL_CHIP, PAT_0] = SET_FLG; !Set zeroes data flag Page 86 SEQ 0121 BSKEL4 REV B PATCH 00 18-Har-19 18-Mar-19 ROUTINE DECLARATIONS [11 : CHIP_TBL [.FAIL_CHIP, PAT_1 = SET_FLG: 2] : CHIP_TBL C.FAIL_CHIP, RAN_1] = SET_FLG; (33 : IR T I A IR TLE) PRI I TETETE PRI AN N AN UNAN NN AN AN NN NN PON) PO\ b e e d ced d oo d =D - OO 00 NN SN — CHIP_TBL [.FAIL_CHIP, RAN_2] = SET_FLG: CHIP_TBL C.FAIL_CHIP, RAN_3) = SET_FLG: 5] : !Set random data 2 flag !Set random data 3 flag [71 : CHIP_TBL C.FAIL_CHIP, RAN_6] = SET_FLG; 1Set random data 6 flag (81 : CHIP_TBL C.FAIL_CHIP, RAN_7] = SET_FLG; !Set random data 7 flag CHIP_TBL [.FAIL_CHIP, RAN_8] = SET_FLG; !Set random data 8 flag ] : CHIP_TBL C.FAIL_CHIP, RAN_9] = SET_FLG: !Set random data 9 flag CHIP_TBL [.FAIL_CHIP, RAN_11] = SET_FLG; 3] : CHIP_TBL C.FAIL_CHIP, RAN_12] = SET_FLG: £14] tes; 016600 006300 062700 flag !Set random data 5 flag £12]) : 005546 005552 !Set random data 1 6] : CHIP_TBL C.FAIL_CHIP, RAN_5) = SET_FLG; CHIP_TBL C.FAIL_CHIP, RAN_10] = SET_FLG; 010146 !Set ones flag 'Set random data & flag [11] : 3247 ( 12) TOPS=20 Bliss=~16 v2(2 PA: <NEALE>PMSKL4.BL l. 1 ¢ 28) CHiP_TBL C.FAIL_CHIP, RAN_4] = SET_FLG; [9] : 005544 005554 4] : 8 12 CHIP_TBL C.FAIL_CHIP, RAN_13) = SET_FLG; iSet random data 10 flag 'Set random data 11 flag iSet random data 12 flag 1Set random data 13 flag end; .SBTTL L.CHIP.TBL ROUTINE DECLARATIONS mov Mov ASL ADD R1,-(SP) L.CHIP.TBL: 000006 039230° 6(SP) RO RO #CHIP.TBL RO * FAIL.CHIP,* Page 87 SEQ 0122 610 BSKEL& REV B PATCH 00 ROUTINE DECLARATIONS 18-Mar-1982 1 6:07 5 18-Mar-1982 1 5:64 14 005560 100000 (RO) 002000 001000 000400 005764 005766 ONOWVIOOOWOORO = ~ 835% -A—l—h}—l—bw SENENEY -—h W 1Y, - W - WO - WVQWO —— VAV 88 82 VSIS VIVAVIVAWVIALA NSNS 23 NN, PESIE R rS aNO 000200 012601 000207 : Routine Size: 000100 000040 000020 000010 17§ 17§ (SP)+,R1 PC /4 words SSRERIECE 000001 #1,(RO) 004000 N 000002 22, (RO) 010000 - 000004 020000 152710 1%: 168-1$ #40000, (RO) 17$ #20000, (RO) 17$ #10000, (RO) 17$ #4000, (RO) 17 #2000, (RO) 17$ #1000, (RO) 17$ #400, (RO) 17$ #200, (RO) 17 #100, (RO) 178 #40. (RO) 17$ #20, (RO) 178 710, (RO) 17$ #4, (RO) 040000 3198 W 005576 ; PAT.SEL,* 88 L 006301 066107 000036 000004 Page SEQ 0123 ey 005570 005572 005576 016601 (28) Py 005564 052710 TOPS=20 dlLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 BSKELS REV B PATCH 00 H 10 18-Mar-1982 16:07:57 18-Mar-1982 15:44:461 ROUTINE DECLARATIONS ; Maximum stack depth per invocation: 2 words TOPS-20 Bliss=16 v2(212 PA:<NEALE>PMSKL&L.BLI.1 (28) Page 89 SEQ 0124 BSKELS REV B PATCH 00 110 18-Mar-1982 16:07: 18~Mar-1982 15:44: ROUTINE DECLARAT]IONS routine L_FAILING_CHIP (TEMP_ARRSBNK_SEL, BAD_CHIP, LST_PAT) = NINININIAINININD begin led ! Functional Description: The progran will first search though a selected arrays bank and find all newly tailing mos rams and store them 2L into the chip table. TR IR AR A IR ! Once they are found the‘ are then loaded with the data pattern which failed them and failing row column pair addresses are IR S searched for. formal Parameters: : ARRSBNK_SEL This ar?unent stores the array and bank selcect address. . . : BAD_CHIP Wh pod oo PP S R SIS R T e T A oo N b L) n 0 N N W LIS TR T ) L A W I P TR ] R X Y IR IR A IR T A This global routine will load a tailin? chip with one of the data patterns which failed during the mass bus transfers. LST_PAT: . is a pointer into the failing pattern This portion of the table. The failing pattern search starts at the last found failing pattern and will return with the next failing pattern found. Implicit Inputs: e . This points to a failing chip which is currently being pm‘ed. CHIP_TBL Implicit Outputs: none Completion codes: . At the completion of this routine Pat_sel is returned to the operator which points to the table location which was last referenced. This enables an N search of this table rather than an N squared search. 11 a chip is found to be bad then the failing pat_sel is returned. A negitive one is returned if no chip are found to be bad. T0PS-20 Bliss=~16 v2(212) PA:<NEALE>PMSKLSL.BLI.T (29) Page 90 SEQ 012 5 J 10 BSKELL REV B PATCH 00 3300 3301 3302 : : ; : : : : : : : : 3303 3304 18~-Mar-1982 16:07:57 18~Mar=-1982 15:44:41 ROUTINE DECLARATIONS ! ! Side Effects: none ! !-- ) 3305 '+ 3308 3309 ! failing chip number. 1f a failing ! pattern is found then return the index 3306 3307 3310 331 3312 3315 3316 3317 3318 ! Increment through the chip table and ! search for failing patterns for this ! value for that pattern else return a ! =1 to indicate that no failing patterns ! exist for this chip. incr PAT_SEL from .LST_PAT to 14 do begin 1Search th chip table for a failing pattern . '+ 3319 ! Index into the chip table at this : gg%z ; pattern is set for this failing chip. : : : 3325 3324 3325 ! If a se.ected random pattern bit is not ! set for a failing chip then generate the ! random data in the write buffer anyways. : ; : : : 3320 3326 3327 3328 : : 3329 3330 H : 3332 3333 : 3331 : gggg H 3336 : 3339 : : : ; 3337 3338 3342 : 3344 : ggzg : 3347 : 3349 ; 3351 : ! This will keep the write buffer filled with ! random data relitive to the random data failing ! the mass bus transfers. - case .PAT_SEL from 0 to 14 of set 3348 3350 iSelect a pattern ol : if .CHIP_TBL [.BAD_CHIP, PAT_0] !Did this pattern fail then begin DM_1_0_LOAD (.TEMP_ARRSBNK_SEL, ZEROES): !Load chip with zeroes !Clear this pat flag CHIPTTBL L[.BAD CHIP, PAT_0] = CLR_FLG; !Clear the random flag FLG_REG C[F_RAND_DATA) = TLR_FLG; return .PAT_SEL: end; 3343 : : ! pattern selected and see if this 3340 3341 : TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (29) !Return which pattern was selected 0l : if .CHIP_TBL [.BAD_CHIP, PAT_1] !Did this pattern fail then begin DM_1_0 LOAD (.TEMP_ARRSBNK_SEL, ONES): CHIPCTBL [.BAD_CHIP, PAT_1] = CLR_FLS; L. 'Load chip with ones data !Clear this pat flag Page 91 SEQ 0126 BSKELSG REV B PATCH 00 : : : 3358 : : : 3359 3360 : : : 3365 3366 3367 : : 3369 3370 : end; 21 : 1f not .CHIP_TBL [.BAD_CHIP, RAN_1] then else g%;% : 3373 en return .PAT_SEL: end; if not .CHIP_TBL [.BAD_CHIP, RAN_2] : 3378 3379 else ; ; 3381 3382 : : ; : ; : 3388 : ; : 3389 3390 3394 : 3395 : 3398 : : : H : : : return .PAT_SEL: end; 3403 IReturn which pattern was secected {41 : if not .CHIP_TBL [.BAD_CHIP, RAN_3] then | begin GEN_RANDOM_DATA (); else end !Did this pattern fail . 'Gen the random data but dont load it begin SEL);: DM _RAND LOAD (.TEMP_ARRSBNK L. !Load chip with random data !Clear this pat flag CHIP_TBL [.BAD_CHIP, RAN_3]"= CLR_FLG; random data flag the !Set SET_FLG; = ATA] [F_RAND_D FLG_REG 3396 3397 3399 3400 3401 3402 . !Load chip with random data !Clear this pat flag CHIP_TBL [.BAD_CHIP, RAN_217= CLR_FLG; ISet the random flag FLG_REG [F_RAND_DATA] = SET_FLG:; 339 3392 3393 ) begin 3383 gggg ; en 'Did this pattern fail ‘Gen the random data but dont load it DM_RAND LOAD (.TEMP_ARRSBNK_SEL): 3380 ; : ; begin GEN_RANDOM_DATA (); %%;9 3384 3385 'Return which pattern was selected £3] : then : !Gen the random data but doni load it begin 3374 3375 : : 'Did this pattern fail !Load the chip with random data DM_RAND LOAD (.TEMP_ARRSBNK_SEL); ‘Clear this pat flag CHIP_TBL [.BAD_CHIP, RAN_1]"= CLR_FLG; !Set the random flag FLG_REG [F_RAND_DATAJ = SET_FLG; 3368 : begin GEN_RANDOM_DATA (); 3361 3362 3363 3364 TOPS-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLG.BLI.1 (29) !Clear the random flag FLG_REG [F_RAND_DATA] = CLR_FLG; 'Return which pattern was selected return .PAT_SEL: 3354 3355 3 ; ROUTINE DECLARATIONS 3352 3353 %529 : K 10 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 return .PAT_SEL? end; (51 : . 'Return which pattern was secected if not .CHIP_TBL [.BAD_CHIP, RAN_4] . . . 'Did this pattern fail Page 92 SEQ 0127 BSKELG ROUTINE DECLARATIONS 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 36417 36418 then else 'Gen the random data but dont load it §RANDOM_DATA (), en be DHgRAND LOAD (.TEMP_ARRSBN K_SEL); ‘Load chip with random data FLG_REG [F_RAND DATAJ return .PAT_SEL; end; !Clear the pat flag iSet the random data flag SET_FLG; “IRetturn which pattern was selected €6l : if not .CHIP_TBL [.BAD_CHIP, RAN_5] then else 'Did this pattern falil _RANDOM_DATA (); fl en begin DM_RAND_LOAD (.TEMP_ARRSBNK_SEL); CHIP TBL [.BAD CHIP, RAN_5]1"= CLR_ e FLG_REG LF RAND_DATA) T return .PAT_SEL N end; ‘Load Chlp with random data !Clear the pat flag = SET_FLG; 'Set the random data flag “iReturn which pattern was selected 7] : if not .CHIP_TBL [.BAD_CHIP, RAN_6] then else N TN N | begin GEN_RANDOM_DATA (}; T TN PR R N TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (29) CHIP_TBC [.BAD_CHIP, RAN 417= CLR FLG; R A TR L L AN RN P P T] REV & PATCH 00 L 10 18-Mar~1982 16:07:57 18-Mar-1982 15:44:41 end begin ‘Did this pattern fail 'Gen the random data but dont load it 'Load chip with random data Clear the pat flag 'Set the random data flag = SET_FLG; ~IReturn which pattern was selected TN T DM_RAND _LOAD (.TEMP_ARRSBNK_SEL): CHIP_TBL [.BAD_CHIP, RAN 61 = CLR_ O FLG_REG [F_RAND_ DATA] O O reéurnPAT_SEL TR TR TR TR T T T T T O end; [81 : if not .CHIP_TBL [.BAD_CHIP, RAN_7] then else GEfi_RANDOH,DATA (); m 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 CO : : : 3459 3460 gzg; : 3463 : : : : 3464 3465 3467 3468 3469 3470 3471 : 3473 : : H 3476 : 3478 : : : : : : : : : : : ; : 3477 3479 3480 3482 3483 3484 3490 3495 3494 : %239 ; ; 3498 3499 ; : : 3501 3502 3503 : GEN_RANDOM_DATA (); end else . begin 101 : if not .CHIP_TBL [.BAD_CHIP, RAN_9] then begin GEN_RANDOM_DATA (): else end . 'Did this pattern fail . !Gen the random data but dont load it L. begin !Load chip with random data DM_RAND LOAD (.TEMP_ARRSBNK_SEL); !Clear the pat flag CHIP_T1BL [.BAD CHIP, RAN_91 = CLR_FLG; !Set the random data flag FLG_REG CF_RAND_DATA] = SET_FLG; 'Return which pattern was selected return .PAT_SEL: end; 11l : if not .CHIP_1BL [.BAD_CHIP, RAN_10] then | beg1n GEd_RANDOM-DATA 0; else n | begin !Did this pattern fail . 1Gen the random data but dont load it DM_RAND_LOAD (.TEMP_ARRSBNK _SEL); .. !Load chip with random data CHIP_TBL [.BAD CHIP, RAN_10] = CLR_FLG; !Clear the pat flag !Set the random data flag FLG_REG [F_RAND_DATA] = SET_FLG; IReturn which pattern was selected return .PAT_SEL; end; 3504 3506 !Gen the random data but dont load it end; 3500 3505 'Did this pattern fail !Load chip with random data DM_RAND _LOAD (.TEMP_ARRSBNK_SEL); !Clear the pat flag CHIP_TBL [.BAD_CHIP, RAN_8] = CLR_FLG; !Set the random data flag FLG_REG [F_RAND_DATA] = SET_FLG: 'Return which pattern was selected return .PAT_SEL: 3488 : ; begin 3489 3493 : then 3487 : : if not .CHIP_TBL [.BAD_CHIP, RAN_8] 3485 3486 %23; : 9 : 3481 : : end; 3472 3474 3475 TOPS-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLG.BLI.T1 (29) !Clear the pat flag CHIP TBL [.BAD_CHIP, RAN_7] = CLR_FLG; 'Set the random data flag FLG_REG [F_RAND_DATA] = SET_FLG; 'Return which pattern was selected return .PAT_SEL: 3466 : : : ROUTINE DECLARATIONS 3456 3457 3458 : H : : : m10 18-Mar-1982 16:07:57 18-Mar=-1982 15:44:41 121 : Page 94 SEQ 0129 if not .CHIP_TBL [.BAD_CHIP, RAN_11] (=] w N = OO0 walala UL i i iaivivaiviaivaviwnuba L G U U AN U U W O U NN N U AN U O U AN N AN AN AN wiWaalawiiviviuauaaivawv o RO RO PO iririvivtvtretetytvivie] A A A AR RORORO RORO 8 h b b b b b 8 3 £ VAL o atat a al aaem AN A LN N N L N N Y TR PR TR LIN R A PR LA TR I E PR P P P P T A PR YA IR Y I P P T T A P ROUTINE DECLARATIONS OOo0 =OV NARWVIH NN =0V NAWNEIWNN NO NI NN O VOO NONNEANN) W BSKELS REV B PATCH 00 005770 004167 005774 006000 016600 006300 N 10 18-Mar-1982 16 :07:5 7 18-Mar=-1982 15 thé:4 1 then begin t his p attern Page 95 SEQ 0130 fail !Gen the random data but dont load it GE§_RANDOH_DATA 0. else 'Did T0PS~20 Bliss~16 v2 (212) PA:<NEALE>PMSKLS .8L 1.1 (29) en begin DM_RAND LOAD (.TEMP_ARRSBNK_SE L ): 'toad chip with random data !Clear the pat flag CHIP_TBC [.BAD_CHIP, RAN_11] = CLR_FLG; !Set the random data flag FLG_REG CF_RAND_DATA] = SET_FL G ‘R eturn which pattern was selected reéurn .PAT_SEL; end; [13] : I; not .CHIP_TBL [.BAD_CHIP, RAN_12] en begin !Gen the random data but dont load it GEd_RANDOM_DATA Q0 else !Did this pattern fail en begin DMgRAND LOAD (.TEMP_ARRSSBNK_SEL); !Load chip with random data !Clear the pat flag CHIP_TBL [.BAD_CHIP, RAN_12] = CLR_FLG: !Set the random data flag FLG_REG [F_RAND_DATA] = SET_FLG; IReturn which pattern was selected resurn .PAT_SEL: end; [14] : 'Did this pattern fail Z; .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: iSet the random data flag FLG_REG [F_RAND_DATA] = SET_FLG; 'Return which pattern was selected reéurn .PAT_SEL; end; tes; end; 'Return negitive one if all pattern flags are cleared regurn -1; end; 0000006 000012 .SBTTL L.FAILING.CHIP ROUTINE DECLARATIONS L.FAILING.CHIP: R1,$SAVE2 JSR MOV ASL 12(SP),RO RO : BAD.CHIP,* 3248 3336 BSKELS REV B PATCH 00 006002 006006 006010 006014 006016 006022 006024 012702 060002 016601 005301 000167 010100 006300 066007 000036 000064 B 11 18-Mar=-19 18-Mar-19 ROUTINE DECLARATIONS 000010 1%: 000560 006032° 6:07: TOPS=-20 Bliss=-16 V 2 2 12) 1 29) PA:<NEALE>PMSKLL.B L1 Pa 96 55095131 TBL,R2 MOV 030230° ; 5:4 ; LST.PAT,PAT.SEL s PAT.SEL 3315 s PAT.SEL,* 3331 3s: 000126 000152 000176 000222 000246 ~ 1746460 040000 #40000, (R2) 000416 010000 14(SP) ,=-(SP) TEMP.ARRSB . SENK ,* PC.DM.1.0.L0AD 040422° 63: 78: 173776 #20000, (R2) #40 . FLG.REG (SP)+,(SP)+ 23 #10000, (R2) 198 14(SP) ,=(SP) . LOAD PC,DM.RAND TEMP.ARRSBNK . SE , * #10000, (R2) 010000 8s: 000014 173752 004000 002000 1$ #-1,-(5P) 000014 004000 63 #20000, (R2) Q0O NN = 000014 177777 174430 020000 000040 3340 N 58: 020000 22 #4000, (R2) 198 14(SP) ,=(SP) . LOAD PC,DM.RAND #4800, (R2) 9¢: 253 #2000, (R2) 3339 &uwuw DERNRA [« JY,IV. 7 [N guren $3333355000n0se0eR0ES 3N FS R 006104 TEMP.ARRSBNK . SE , * O 14(SP) ,=(SP) =(SP) PC.DM.1.0.LOAD 000014 3336 TEMP .ARRSBNK . SE , * g& 040000 218-3% qgoooo.(n2> & Wi n RR 4$: JSR 8IC 128: 000014 173634 000200 BI(8 13s: 000014 173610 000100 000040 148: 173470 000004 8IT8 BEQ 8I1(8 15%: BITB BEQ Mov JSR 8l(8 16$: 000014 173514 000010 000014 JSR BICB B8R MOV JSR 000014 173540 000020 000004 BITB BEQ MOV 000014 173564 000040 000010 TSTB BPL MOV JSR 17%: 8IT8 8EQ JSR 8I1(B8 BR 8l18 8EQ JSR 8I(8 #4600, (R2) 228 (R2) 19s 14(SP) ,=(SP) PC,DM.RAND .LOAD #200, (R2) 228 #100, (R2) 19 14(SP) ,=(SP) PC,DM.RAND .LOAD #100, (R2) 22% #40, (R2) 198 14 (SP) ,=(SP) . LOAD PC,DM.RAND 260, (R2) 22$ #20, (R2) 198 14(SP) ,=(SP) PC,DM.RAND.LOAD #20, (R2) 228 #10, (R2) 198 14(SP) ,=(SP) PC,DM.RAND .LOAD Qe %o Ge %o 0 e e We Gy v, #4600, (R2) 198 14(SP) ,=(SP) PC,DM.RAND.LOAD 228 19§ 14(SP) ,=(SP) PC.DM,RAND .LOAD #6. (R2) 3426 TEMP.ARRS3NK . SE , * TEMP .ARRSBNK . SE , * TEMP.ARRSBNK . SE, « TEMP .ARRSBN . SE ,K* 24, (R2) 33N 3395 TEMP .ARRSBN . SE ,K« TEMP .ARRSBN . SE ,K* 710, (R2) SEQ 0132 3411 3412 3418 3421 3425 I TS TEA TR TR X} Mov 000014 173656 000400 000100 BIT 8EQ 228 97 TEMP .ARRS.BNK SE , * I TYE A TR TR XY 3N, 91,81 3 NNONNO NN[o W - ) s8%82 28 §§3EIRNIEEIR 08_. ~ N ~ -2 ) —b — 118: #1000, (R2) Page 3396 3397 3403 3406 3410 I X TR A TR T 173702 001000 000400 8lT BEQ MOV JSR 8iC 000014 000020 P N 10%: 2 000, (r2) 22 $ '3 0 00, (R2) 198 14(SP) ,=(SP) PC,DM.RAND.LOAD TEMP.ARRSBNK ., SE , * LY TEA TR TR XY 004767 062712 000533 032712 001505 016646 004767 042712 000521 105712 100074 016646 004767 142712 000510 132712 001462 016646 004767 142712 000476 132712 001450 016646 001000 JSR 8IC LA YA TR TS ¥ 016646 MOV 000014 173726 002060 19 $ 14 (SP) ,=(SP) PC DM.RAND . LOAD N Y] 004767 042712 000545 032712 001517 PA:<NEALE>PMSKLL.BL] .Y R TR 016646 8tQ T0PS=20 Bliss=16 v2(212) IR 001531 —h 006234 006236 006242 006246 006252 006254 ROUTINE DECLARATIONS —— REV B PATCH 00 Lo Lo] [V, BSKELS 1 18=-Mar-19 18-Mar-19 TEMP .ARRSBNK . SE , * TOPS=-20 Bliss=-16 v2(212) 2 & ROUTINE DECLARATIONS 172550 19%: PCiGEN.RANDOH.DATA 000014 173436 20$: 000001 21s: X NN ~ NN — o 3582 Fok258 NN ~N -~ O —=2On bk md wab O NN NO=NINOONN g & 0C00V2 g 228 #2‘(R2) —-Q0 (=] PA:<NEALE>PMSKLG.BL].1 18%: W OO SN Wl OSSO VAN S l\gWNNN-J-aS g 53553508 BSKELS REV B PAT(H 00 000002 000014 173412 000001 000040 040422° 228: 23$: 000016 248: 20 24 14 (SP) ,=(SP) PC,DM.RAND.LOAD JZi(RZ) 20 #1,(R2) 24$ 14(SP) ,=(SP) PC.DMé§AND.LOAD #1.(R TEMP.ARRSBNK . SE , * R1,RO PAT.SEL,* g} A6 PAT.SEL PAT.SEL,* #40 FLG.REG (SPS+ PC 25¢$ 177204 177777 25$: . : Routine Size: 206 words . : Maximum stack depth per invocation: 5 words TEMP.ARRSB . SENK ,* 2% PC 98 g0133 BSKELS REV B PATCH 00 : : : 3553 3556 EN 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS routine L_ERROR_MAP (TEMP_ARRSBNK_SEL, BAD_CHIP) : novalue = . 1+¢ 3557 ! Functional Description: 356C %gg; ! ! ! ; . The error map stores by sector all the chip. newly failing row addresses within a fa1l1ng : ; : 3563 3564 3565 3566 g;gg ! ! This ?lobal routine searches all sectors within a failing chip look1ng for bad row addresses. It a bad row is detected then that rows bit position in the error map at this sector is set indicating the bad row. ; 3569 | Formal Parameters: 3571 ! ; 3573 ! : gg;g ; : 3578 . : : : : ; ; : 3558 3559 3570 3572 3574 3575 ; gggg : 3581 ! ! ; | The failing column address can be calculate by adding the row number to the sector number. ARRSBNK_SEL: This argument stores the array and bank select address ) This argument points to a failing which is presentl‘ being tested. Dividing this arg by 4 gives the nibble position in the ML-11 word and this arg mod 4 gives the chips bit position within its nibble. BAD_CHIP: ! ! i Implicit Inputs: ! ERROR_MAP, FLG_REG, WRT_BUF | Implicit Outputs: ! ; gggg g Completion codes: %ggg ; Side Effects: : ; 3591 3592 local : 3597 : ; : ; : ; 3587 | none 3390 i-- T 3593 3594 3595 3596 3598 N [* o N : ] The error map is loaded with failing row address locations within the tested chip sector range. 3582 gggz : : T0PS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) WRD_INDEX, BIT_INDEX, RAND_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 ! POINT TO WHICH CIAGNOSTIC REGISTER THE BAD ! CHIP CAME FROM AND THE BITS ! POSITION WITHIN THE REGISTER. in the error map !Points to a word 'Points to a bit in the error map . 1Sector random starting position resides chip iSelect data dia? reg where failing Page 99 SEQ 0134 BSKEL& REV B PATCH 00 : : ; : 3605 3606 gggg 3609 F1N 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS ! 'Calculate which data diag reg to read iCalculate failing chip, bit position OFFSET = .BAD_CHIP/16; BIT_SEL = .BAD_CHIP mod 16; ! : : : 3610 3611 gg}g ! OFFSET VALUES 2 = MLE2 = 14; 0 = MLDT = 15; ! = MLD2 = 16; ; : : : 3614 3615 gg}g : : 3618 gg}g ! From the value of offset calculated above ! it can be determined which data diagnostic ; register this failing bit comes from. ! Therefore examin the contents of offset and ; determine which register this bit belongs to. : 3621 : : : : : : : : : 3622 3623 3624 'Is bad chip divided by 16 egual to 2 it .OFFSET eql 2 then 3625 3626 3627 3628 else 3631 ! %g%g TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (30) begvn DIAG_REG_SEL = 14; BIT_SEL = .BIT_SEL + 8; !Select data diaa reg mlel 'This registers data bits starts in high byte DIAG_REG_SEL = .OFFSET + 15; 0 + 15 = MLDY; 1 + 15 = MLD2 end . . ! when random data is loaded into ! the drive it is done by start1ng ; : 3632 3633 : : 3635 gggg ! deeper into the write buffer from ; the previous transfer. ; : : : . 3638 3639 3640 3641 3642 ! ! ! ! ! : 3644 ! is not required. ; %gzg if .FLG_REG [F_RAND_DATA] then OFFSET = 2 else OFFSET = ZERO; : ; 3649 ggg? DM _RD_TRANSFER (SIZ2E = -256, DST = RD_BUF, SRC = .TEMP_ARRSBNK_SEL): ‘The first sectors data starts at word zero RARD_INDEX = ZERO; : 3652 '+ : 3654 3655 3656 ! is filled with a fa1l1ng data pattern from this ! tailing chip. Now the tailing chip in this bank ! is read back to find all the previous and newly : H ; 3634 3643 3653 ! the next sector write transfer two The flag register will indicate if the data loaded into this bank is random data or not. If random data was loaded then this routine must also offset into the write buffer two words deeper at each sector transfer. ! If random data was not loaded then the offset is . L. . ! Before this routine is called this tested bank ‘Otfset = 2 if random data Page 100 SEG 0135 BSKELS REV B PATCH 00 3657 3658 3659 3660 3661 3662 3663 3664 : : : : : e 3667 3668 3669 3670 3671 ¢ 1 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS ! ! ' ! ! ' ! ! rows. . . Increment through all sectors in this bank and compare the write data to the data s1tt1ng_1n 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. 'Read all sectors in failing chip incr SEC_NUM from 0 to .BNK_NUM_SEC do begin BREAK; . '+ ) : : 3672 3673 . ! Increment through all words in this sector failing the store and row(s) failing ! and find all : %g;; incrbRoq_NUH from 0 to 127 do ; gggg DAT_CLK; : 3681 '+ 3685 ! the error map. : : 3676 : : : 3682 3683 3684 H : 3688 3689 : : ; : : : : ! number in the error map at this sector. egin 'Read all words in failing chip !Clock data into the data diag registers ! Compare the write data to the read data ! and if in error then indicate the failure ! b‘ setting this row bit at this sector in EL, if .WRT_BUF [.RAND_INDEX + .ROW_NUM, .BIT_SEL, ONE, 2ERO] neq .ML_ADDR [.DIAG_REG_S !]s write buf data eql data diag registers data .BIT_SEL., DNE, ZERO] then 3690 3691 . begin !Calculate error map word of faxlvq?.rou WRD_INDEX = .ROW_NUM/16; 'Calculate error nag bit pos of failing row BIT_INDEX = .ROW_NUM mod 16; ERROR MAP [.SEC RUM, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] = SEV_FLG. FLG_RE. [F_ERR_MAP_ENTERED] = SET_FLG: !Flag that error map was entered 3692 3693 3694 3695 end; : : 3696 3697 ; : : 3699 3700 3701 ! Bump the next sector transfer two words ;;8; ; add zero. : : ; end; 3698 3702 3703 %;89 3708 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (30) ! ! deeper in the write buffer if this data ! is random data if not random data then RAgD_INDEX = _RAND_INDEX + .OFFSET; end; !The next sector starts 2 words deeper if random data Page 10° SEQ 0136 H 1 JSR MoV MOV MOV 000040 000006 1$: 040422° 2s: 0640426 007230° 040430 000052 3s: 'A ¥ 040432°' 5%: 000014 007064 062703 00223¢4°* 8R CLR MOV MOV MOV MoV MoV Mov JSR CLR MOV 172366 000014 040416' 000016 040374"* 000024 000032 000032 000020 060374 000024 8IT BEQ MOV 000002 177400 JSR MOV CMP BNE MOV ADD BR MOov ADD 6%: ASL CLR B8R TRAP CLR MOV Mov MoV BIS8 Mov MoV MOV ADD ASL ADD 40(SP) ,-(SP) BAD.CHIP,* #20,~(SP) PC,BLSDIV RO,‘R 44(SP), (SP) 420, -($P) PC,BLSMOD RO 6(SP) RG. #2 13 #16,R2 #10,6(SP) 23 540.FLG.REG 3606 ; ~,OFFSET : BAD.CHIP,» 3622 3625 FFSET,DIAG.REG. SEL »0Q 000017 107 3553 R1,$SAVES #22,SP S MoV MOV 000044 000020 0000006 000006 000002 000016 000010 Page SEQ 0137 L.ERROR.MAP ROUTINE DECLARATIONS Qe e e Be B O, .SBTTL L.ERROR .MAP: JSR sus 000022 000040 000020 0000006 T0PS-20 Bliss=16 V2 (212) PA:<NEALE>PMSKLS.BL 1.1 (30) !Clear the single step dma mode CLR_MBUS; end; 0000006 4:461 DIAG.REG. SEL 3622 3629 * OFFSET #2,Ré 4$ OFFSEY R4 #-400, (SP) (SP) ,SIZE #RD.BUF,= (SP) (SP) ,DST SZ(SP) ~(SP) 3649 TEMP.ARRSBNK . SE , * (SP), SRC PC,DM,RD. TRANSFER RAND . INDEX 14(SP) BNK.NUM.SEC,16(SP) SEC.NUM ML.ADDR,R3 4(R3),$2(sP) 2(SP) .RO #20,R0 ML.ADDR RO, 24 (RS) R1.R3 14 (SP) ,R3 R3 #WRT .BUF ,R3 Ve By 0e B,y O 162706 8222822 ;L 006630 004167 LuBEtE g53 V52 RLEG> 006624 ROUTINE DECLARATIONS 7:57 Ve 3709 3710 18-Har-1982 18-Mar-1982 1 ROW.NUM « ML.REG ML.REG,MLREG * ,MLREG LX3 BSKELS REV B PAT(H 00 RAND. INDEX, * 3688 016646 012746 005046 004767 062706 010003 010200 066700 011066 012716 060616 016646 012746 MOV MoV 000014 000001 0000006 000006 ADD MOV R3.=(SP) 14(SP) ,=(SP) M ,=(SP) -($P) #6.SP RO.R3 3689 R2.RO * ,ML.REG #32, (SP) P, (SP) ML.REG,* BIT.SEL,* 14(SP),-(SP) 000014 000001 SEQ 0138 PC,BLSGT2 ML -ADDR, RO SP) (RO),32(S 0640374° 000032 000032 Page 103 ; BIT.SEL,» #1,-(SP) -($P) 3688 PC,BLSGT2 0000006 000010 #10.sP 000020 0000006 000026 #20.-(sP) PC.BLSDIV RO.26(SP) R3,R0 78 R1,-(SP) 3692 R1,(SP) 3693 #20,-(sP) PC.BLSMOD 000020 0000006 000026 RO.26(SP) RS,‘RO RO’ 3694 RO RO RO #ERROR . MAP RO RO, (SP) 010230° 0000006 000004 040422° 000014 000177 #1.-(5P) (SP),~(SP) PC ,BLSPU2 FLG REG 78: 000014 8s: 000016 000010 000026 000040 BIT.INOEX 26(SP) ,=(SP) 000026 000001 040374° WRD. INDEX, 30(SP) RO 000030 000026 c}l . Mm77 R1 6% ] 007236 007242 007244 007250 007254 007256 007262 007270 007274 007276 010346 L PR TR TR 007070 007072 007076 007102 007104 007110 007114 007116 007120 007124 007130 007134 007136 007142 007146 007150 007154 007160 007162 007164 007166 007172 007176 007202 007204 007210 007214 007220 007222 007224 007226 007230 007234 ROUTINE DECLARATIONS TOPS-20 Bliss=16 V2(2 2) PA: <NEALE>PMSKL4.BLI.1 (30) SS 1o<m)ébcsp) 26(SP)‘RO #40,R ROW. NUM ROW.NUM, « . INDEX SET ,RAND OFF SEC.NUM » SEC.NUM, 14 (SP) RG, RS RS,16(SP) Be o 0e by BSKEL& REV B PATCH 00 I 11 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 3695 3691 3677 3706 3667 3707 007342 007346 007352 007356 007364 007370 007374 007400 007404 007406 007412 007416 007422 0 016705 0 062706 000207 ROUTINE DECLARATIONS MOV MoV MoV Mov MoV MoV 040374° 000010 000034 MoV MOV ML .ADDR,R1 RTS PC . 192 words . : Maximum stack depth per invocation: ; Routine Size: ML.ADDR,R1 0460374° 000010 040374 000010 000024 000024 040400° 177770 000007 BIC 8i(8 BIS ADD 26 words — b BSKEL& REV B PATCH 00 1 coCo N J 18-Mar=-19 18-Mar-19 T0PS-20 Bliss=-16 v2(212 ) PA:<CNEALE>PMSKLSG.BL].1 (30) RO.10(RY) : MLREG, 24 (SP) 10(R1), ; *,ML.REG ML .ADDR,R1 24(SP) JRO ML.DUT RS #177770,R5 #7.R0 RO.10(RT) #34,5pP Page 104 SEQ 0139 : ML.REG,MLREG ; *,MLREG ; *,MLREG ; MLREG,* 3553 K 11 BSKEL4 REV B PATCH 00 ROUTINE DECLARAT]IONS 18-Mar-1982 16:07:57 18=Mar=-1982 15:44:41 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (31) routine X_TMP_BLST_TBL (TEMP_ARRSBNK_SEL, ALL_BAD_CNT) : novalue = + + T R YRR IR ) number, nibble the The temp blast table stores for a flag row/column number and a r/c select blasting. for selected row/colunm which has been Functional Description: T R T Once it is determined that this chip is not all bad (IE. > 10 all bad row/col) then th:s temp blast table is xfered into the main blast table. is needed because once this information This table the main blast table there is no way into is xfered chip this bad row/col came from, which of knowing it impossible to delete a row/col making therefore once it has been loaded into it. table blast the from R N = OO 00 ~NONNE NN NN N WNWNN N SNNNSNNNNNN PIPVN) b d b o b b Formal Parameters: ARRSBNK_SEL: This argument stores the array and bank select address. ALL_BAD_CNT: This _argument tells this ylobal routine how many remainder table entries t> xfer into the the main blast table. e PN PR N L LA L L L IR AR LIRS T TR N T ) (R YR TR LR PR N begin YRN L Implicit Inputs: BLAST_TBL, TMP_BLST_TBL IR T T O EE TN TN P R e R R P G IR T Implicit Outputs: The tempory blast table contents are transfered to ggg last table at this bank, row and nibble position. Completion codes: none Side Effects: none local T R BNK_NUM; TR BNK_NUM = .TEMP_ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; O N e ~4 YRR ‘e ! Index through the temporary blast table ! and set the appropriate row or column bits ! in the main blast table at this row or L. 'Points to failing bank !Calculate the failing bank Page 105 SEQ 0140 BSKEL& LRI I I IL LI I L Y REV B PATCH 00 007424 007430 007434 007436 007442 007446 007450 007454 007456 007460 007462 007464 007466 007470 007472 007474 007500 007502 007504 007506 007510 007512 007514 007516 007520 007524 ROUTINE DECLARATIONS end; 004167 0000006 060616 016746 012746 005046 004767 000300 006201 006201 006201 006201 042701 000411 P SEQ 106 0141 'Transfer temp blast table to blast table incr'CNT from 0 to .ALL_BAD_CNT do ! ! ! ! ! 1f 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. Z; .TMP_BLST_TBL [.CNT, R_C] eql 1 en 'Is this a failing row BLAST_TBL [.BNK_NUM, .TMP_BLST_TBL C.CNT, R_C_NOJ, .TMP_BLST_TBL [.CNT, NIB_NOJ, ONE, 2ERO] = ‘Load the blast"table with the failing row no. at this nibble SET_FLG else BLAST_TBL [.BNK_NUM, .TMP_BLST_TBL [.CNT , R_C_NOJ + .COL_BASE, .TMP_BLST_T8BL [.CNT, NIB _NOJ], ILoad the blast with " the failing column at hiis nibble no. ONE, ZERO] = SET_FLG; X.TMP .BLST.TBL ROUTINE DECLARATIONS .SBTTL X.TMP.BLST.TBL: R1,$SAVE3 JSR . MOV #16,-(SP) 040414 000002 MOV MoV BNK.SEL .POS,~(SP) #2,=(SP) 0000006 JSR PC.BLSGT2 000016 ADD CLR 105000 006300 010003 005002 000450 010201 006301 012700 060100 005710 100010 011001 TOPS-20 Bliss=16 v2 ( 21 2) PA:<NEALE>PMSKL&.BL 1 .1 (31 ; columns nibble position. 3763 3764 3765 3766 3767 3768 3769 3770 377 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 012746 L 11 18~Mar-1 98 2 16:07 157 18-Mar-198 2 15:44: 1 1$: 030346° SWAB CLRB ASL MOV CLR BR Mov ASL MOV ADD TST RO RO RO RO,R3 R2 43 R2.R1 R1 3766 = CN,T 3776 R1,RO (RO ASR ASR R1 R1 8IC #177400,R1 BR CNT #TMP.BLST.TBL,RO 2s (RO) ,R1 ASR * TEMP.ARRSBNK.SE,* 3711 3757 ~(SP) BPL MoV ASR 177400 SP, (SP) [4 R1 R1 3s 3778 007526 007530 007532 007534 007536 007540 007544 007550 007552 007554 007560 007562 007564 007570 007574 007576 007602 007606 007610 007614 007616 007622 011001 006201 006201 006201 006201 042701 066701 060301 006301 062701 010146 111046 042716 012746 011646 004767 062706 005202 020266 003725 062706 000207 2s: 177400 0460372° 3s: 030372’ 177760 000001 0000006 000010 000022 4$: 000010 . ; Routine Size: 64 words : Maximum stack depth per invocation: 12 words MOV ASR ASR ASR ASR 81C ADD ADD ASL ADD MOV Movs 8IC MoV MOV JSR ADD INC BLE ADD RTS — ol ROUTINE DECLARATIONS o000 LJRL 18-Mar-19 18-Mar-19 (oS 1,V ] BSKEL4 REV B PATCH 00 TOPS-20 Bliss=16 v PA: <NEALE>PMSKL& .8 3781 (RO .R1 R1 R1 R1 R1 #177400,R1 ,R1 COL.BASE 3782 R3,R1 R1 #BLAST. TBL.R1 R1,-(SP) (RO) , = (SP) #177960,(SP) #1,-(SP$ (SP),=(SP) PC,BLSPUR2 #10,spP R2 R2,22(SP) 1$ #10,SP PC Page 107 SEQ 0142 CNT CNT ,ALL .BAD.CNT N1 BSKELSL REV & PATCH 00 ; : ; ; : 3785 3786 3787 3788 3789 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS routine X_TO_REM_TBL (REM_PTR) = begin L. ) !++ ! Functional Description: ; g;gz : ! Once the error map and the column count tables for all bad rows and columns all have been searched that remains are single cell failures scattered : : 3795 3796 ! ! This global routine xfers all the.remaining row column address pairs of the remaining failures into ; : ; 3790 3791 3792 3797 g;gg 3800 3801 ! ! through out the error map. : the remainder table where they are 1nterlaated and the best blast selection is determined. ! It should be noted here that two copies of the . ! be used to manipulate column addresses (the right side of the table) and the 'copied remainder table' will be used to manipulate row addresses (the left side of the table). 3802 3803 3804 gggg ! ! ! : : ; 3807 3808 ! Formal Parameters: REM_PTR _ | ! ; 3809 3810 gg}; 3813 . : 3814 ! Implicit Inputs: : 3818 ! Implicit Outputs: : 3824 ! Completion codes: : gggg : : ; : : H : : : : : : ; : : : 3815 gg}g 3819 3820 3821 ggg% 3825 3826 3829 3830 3831 3832 3833 3834 3835 3836 ! : ! ! ! : ! ! ] This argument will first point to the starting table position where the first transfered row/column pair is to go. ! ! ; ! The ‘remainder table' will remainder table exist. : ; : : : : : TOPS=20 Bliss=16 v2.ic> PA:<NEALE>PMSKL4.81.1.1 (32) ERROR MAP, REM_TBL, COPIED_REM_TBL, COL_CNT, BNK_NOM_SEC, MAX_CHIP_COL The remainder and copied remainder table are loaded with the remaining single cell failures within this tested chip which have not yet been selected for blasting. Once the global routine is completed ‘rem_ptr' is returned to indicate how many row/col pairs were xfered into the remainder table. ! Side Effects: none ! !-- local WRD_INDEX, BIT_INDEX, ROW_NUM, . . !Stores the adjacent row addresses word position !Stores the adjacent row addresses word bit position !Stores a columns adjacent row number Page 108 SEQ 0143 O BSKELS ic 18-Mar-1982 16:07:57 18-Mar=-1982 15:44:41 REV B PATCH 00 ROUTINE DECLARATIONS 3837 ADJACENT _CNT, START SEC, END_SEC; TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL4.BLI.T (32) 'Stores the number of adjacent row addresses found 'variable sector starting address 'variable sector ending address e ! Index through the column count table and ! transfer failing columns adlacent row ! pair into the remainder table. incr COL_NUM from 0 to .MAX_CHIP_COL - 1 do 'Search column count table Cam oot - begin 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 LR P PR PRI IRTR e B0 N, e, then 'Does this locatfon have a count in it 9egin i Determine which type chip we are testing ! and generate the appropriate run time ; parameters for this routine. if .COL_NUM gtr 127 then begin END_SEC = 511; 'The first column address starts at 128 'The first sector starts at 256 ‘The end sector ends at 511 begin START_SEC = ZERO; ‘The start sector starts at zero ROW NUM = _COL_NUM - 128; START_SEC = 258: else !Is this a 64k chip end ROW_NOM = . COL_NUM; ‘At the first sector the column = row if .BNK_NUM_SEC eql 127 then END_SEC = 127 else END_SEC = 255; !Is this a 16k chip end; ¢DJACEN1_CNT = ZERO; tClear the adjacent count i Now search thru the error map and find this columns ; adjacent failing rows using row_num as a pointer to the i adjacent row. incr SEC_NUM from .START_SEC to .END_SEC do !Search all these sectors Page 109 3EQ 0144 € 12 BSKELS REV B PATCH 00 : : : 3889 1890 3891 ; 3893 18~Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS begin TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLSG.BLI.1 (32) !Calculate which word this row is in WRD_INDEX = .ROW_NUM/16; :; .ERROR_MAP [.SEC_NUM, .WRD_INDEX, FULL_WRD] neq ZERO !ls this row bit set en begin 'Calculate the rows word bit position BIT_INDEX = .ROW_NUM mod 16; :; .ERROR_MAP [.SEC_NUM, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] eql 1 en begin e T '!Up the adjacent count ADJACENT _CNT = _ADJACENT_CNT + 1; !Load the rem_tbl with this column no. REM_TBL T.REM PTR, COL] = .COL_NUM; 'Load the copied table too COPTED_REM_TBL C.REM_PTR, COL]I = .COL_NUM; I selectgne .SEC_NUM of !Find which physical row number this is R se T o tg 127, 256 to 383] : egin 'Are we in quad 0 or 2 N T REfl 18L [.REM_PTR, ROW] = .WRD_INDEX+16 + .BIT_INDEX; *16 ¢+ .BIT_INDEX; N COZIED-REH-TB[ C.REM_PTR, ROW] = .WRD_INDEX N T end; N t128bto.255. 384 to 5111 : T egin e T REM_TBL [.REM_PTR, ROW] = .WRD_INDEX*16 + .BIT_INDEX + 128; COZIED_REH_TB[ C.REM_PTR, ROW] = .WRD_INDEX+16 + .BIT_INDEX + 128; N A S tes:c o 0 N N na; REM_PTR = .REM_PTR + 1; !Up the rem_ptr pointer T N !Are we in quad 1 or 3 R O if .ADJACENT_CNT eql .COL_CNT_TBL [.COL_NUM] then exitloop: O end; T end; I ROg_NUH = (LROW_NUM = 1) and %0'177'; !Decrement the row count and avoide over run T T end; I P P T end; 'Return how many row column pairs were xfered PO A return .REM_PTR; 007624 004167 0000006 .SBTTL X.TO.REM.TBL: X.TO.REM,.TBL ROUTINE DECLARATIONS Page 110 SEQ 0145 ROUTINE DECLARATIONS 000502 000177 2s: §SP),#177 3s: 040416° 000177 000002 000012 000010 000020 0000006 000012 000012 010230° 010054 010056 010060 010064 010066 010072 010076 060516 010046 012746 005046 004767 062706 005300 000020 0000006 000014 010230° 000001 0000006 000010 COL .NUM, « 3865 . NUM COL .NUM_ROW 3868 *,START.SEC « END.SEC 3869 3870 3865 3874 3875 3877 48: 5$: 6$: 7,2(SP) SP) SP) ,R& R1,=(SP) #20,-(SP) PC.BLSDIV RO.12(SP) R4 .RO RO RO RO START.SEC COL .NUM_ROW . NUM * END.SEC N 000377 3856 7,2(SP) ~mN 000002 COL.NUM,+ * ,ROW.NUM 000002 000177 ; [J 168 000010 000010 COL.NUM VeV Ny By 8w, 000200 000400 000777 178 (SP) .R& 5gL.CNT.TBL(R4) 3847 . L XY 001002° 18: . [ Ge Ve Ba 0, 000520 -(SP) 111 v MAX.CHIP.COL,12(S?) 040376* 000012 Page SEQ 0146 3785 R1,$SAVES né,sp 000014 007630 007634 007642 007644 07650 007652 007656 007660 007664 007670 007672 007674 007700 007706 007714 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4L.BLI.T (32) .e BSKELS REV B PATCH 00 D 12 18-Mar-1982 16:07: 18-Mar-1982 15:44: « END.SEC ADJACENT.CNT START.SEC,SEC.NUM SEC.NUM 3881 3888 ROW.NUM, « 3890 * ,WRD. INDEX SEC.NUM,+ RO.RS 12(SP) .RS RS WRD. INDEX, = 148 R1,~(SP) ROW.NUM, « 3892 ERROR.MAP(R5) #20,-(SP) PC,BLSMOD RO 14 (SP) - (SP) . MAP,OR #ERR RS, (SP) RO.~(SP) #1,~(SP) -($P) PC,BLSGT2 #10,sP RO * BIT.INDEX BIT.INDEX, 3895 3897 116612 012703 060503 116613 005704 002403 020427 003406 020427 002420 020427 003015 016600 006300 006300 006300 006300 066600 110062 110063 000433 020427 002403 020427 003406 020427 002422 1 000022 000044 001402°' 4 000010 001712° 1 R 000010 Ré 78 000177 000400 78: 000577 0C0016 8%: 000014 000001 000001 000200 9s: 108: 118: 000010 COL.NUM, « COL.NUM, « SEC.NUM Page 11/ SEQ 0147 3900 3901 SEC.NUM, + * WRD . INDEX, SEC.NUM, » R4§#600 12 R A777 SEC.NUM, » 16(5P) RO WRD. INDEX,* 128 RO RO RO RO 14(SP) ,RO 3909 BIT.INDEX, * R4 4377 11$ 3904 SEC.NUM,» SEC.NUM, = 108 3902 SEC.NUM, = 12 R4 ,#200 RO,RS 3910 3904 SEC.NUM, = 3915 BIT.INDEX, * #200 RS 000200 000001 000010 001002° 000022 T . CNT ADJACEN REM.PIR,* noi1<R3> 000777 000001 000044 RG.M177 8s R4, 4400 93 R4 4577 9s 16(SP) ,RO RO RO RO RO 14(SP) ,RO RO,1(R2) 000377 000600 .R2 (SP), (R2) OS%ED.REH.TBL.R3 R>, 10(SP), (R3) 4 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 EM, TBL ,R2 ) 000014 062706 S 2 (SP) 4 (SP) RS 000016 010332 D NS NOWN 001117 005266 016605 006305 012702 060502 ROUTINE DECLARATIONS WVICY O BSKELG REV B PATCH 00 £ 12 18-Har-1932 16:07:57 18-Mar-1982 15:44:41 128: RS,1(R2) R5.1(R3) 44(SP) RS 10(SP) ,R3 ) RS COL.CNT.TBL(R3 ,R5 22(SP) 138 #10,sP REM.PTR COL .NUM, ADJACENT.CNT, « 3916 397 010412 DEC 8lC CMP INC 000002 BLE INC 000014 177246 000034 000016 . 188 words oii: invocati ; Maximum stack depth per : Routine Size: MOV 177600 (SP) ,14(SP) 18$ BGE JMP 18 ADD RTS #6,sP PC MOV 21 words $ (SP) 34(SP) ,RO LYY MOV TOPS-20 Bliss=-16 V 2(212) PA:<NEALE>PMSKLSL.B L1.1 (32) ROW.NUM,« [TX TR TR R L) BR cMP DD~ 000413 022626 010105 005305 010501 042701 022626 005204 020466 003600 005216 021666 002002 000167 016600 SV = \NN=-2 NN G10336 010340 010342 010344 010346 010350 010354 010356 010360 010364 010366 010370 010374 010376 010402 010406 ROUTINE DECLARATIONS OV~ BSKELS REV B PATCH 00 F 12 18-Mar-1982 1 18-Mar-1982 15: * ,ROW.NUM * ,ROW.NUM SEC.NUM SEC.NUM,END. SEC Page 1°3 SEQ 0148 3894 3928 3889 3888 COL .NUM » COL.NUM, 3847 REM.PTR,* 3786 3785 G 12 BSKELS REV B PATCH 00 ; : : : : 3937 3938 3939 3940 3941 3942 3943 3944 ROUTINE DECLARATIONS o . ¢+ ! Functional Description: ) ) ) ! The remainder and copied remainder table are loaded with all the ! through out the remainin ! ggzg ; slngge cell failures scattered These tables are interigated the chip. tor the best choice for blasting and once a row ! column pair is selected for blasting it's occurance This global routine will search the remainder tables selected column address for blasting and purges the table of its occurance and also its row pair address. in these tables must be taken out. : 3949 ! : ggg} : H : 3953 gggg ! : : 3956 ! Formal Parameters: : : 3958 3959 : 3963 ! Once the selected column address is purged the remainder table is copied into the copied remainder table. 3957 ! COL_SEL: 3960 3961 3962 ! ! ! the table. ) QUANTITY: column this of occurances many how Indicates : : 3964 %322 ! ; LST_REM_ENTRY: Points to the last table entry + 1, : 3967 ! Implicit Inputs: : 3969 ! : : : H : 3968 ! ! This argument points to the column selected for blasting and the column to be purged from to expect to find in the table. ! REM_TBL, COPIED_REM_TBL ! L. Implicit Outputs: : 3970 ! ; 397% ! Completion codes: : 3979 !-- : 3982 : : : : H : : : : H ; 3971 gg;g 3975 3976 3977 3978 3980 3981 3983 3984 3987 3988 PA:<NEALE>PMSKL4L.BLI.T1 (33) begin ! 3950 18-Mar-1982 15:44:41 TOPS-20 Bliss=16 v2(212) routine COL_PURGE (COL_SEL. QUANTITY, LST_REM_ENTRY) : novalue = 3945 3946 18-Mar-1982 16:07:57 ! : . The remainder and copied remainder tables are purged of column address selected for blasting. none . ! Side Effects: none ! ! 1+ ! It only one row or column pair is left ! in the remainder table then there is ! no need to purge. if .LST_REM_ENTRY gtr ONE then 'Purge the columns if remainder tadle entries > 1 Page 114 SEQ 0149 W12 8SKELG REV B PATCH 00 3989 3990 3991 ; : : : : 3992 3993 3994 %ggg 3997 3998 3999 4000 : : 4001 288% : 4004 : : : 4006 4007 4008 ; : : : : : : : 4005 4009 4010 4011 4012 4013 4014 101 : 4017 : ; 4019 4020 : 4018 18-Har-198$ 16:07:57 ROUTINE DECLARATIONS 18-Mar-1982 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLG4.BLI.T1 (33) begin e ! ! ! ; , . Search through the remainder table looking for the occurance of this selected column for purging. Pur_Lloc will point to the table location where this column is first found. incr PUR_LOC from O to .LST_REM_ENTRY - 1 do begin ! 'Purge the remainder table of this column . ! Is the contents of this table entry ; equal to the selected column for purging. if .REM_TBL [.PUR_LOC, COL] eql .COL_SEL then begin ! 'Is this column to be purged . . ! It this column 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 columns out of ! the table. ’ if (.PUR_LOC + .QUANTITY) neq .LST_REM_ENTRY then 'Is this column last in table begin ! . ! The selected columns for purgnng are not at i the end of the buffer so their table placements ; must be shuffled around to purge them out. : : : 4021 4022 2852 : : 4025 4026 incr PURGE from .PUR_LOC to (.LST REM E ITRY - 1) - .QUANTITY do : 4029 end; : 28%; REM_TBL [.PURGE,”RO_CL] = .REM_TBL L.PURGE + .QUANTITY, RO_CL]; : ; 4030 28%} . ; ver camlcb moved this incr loop here : : 4033 4034 ! Once the remainder table has been purged of ! this selected column the copied_rem_table : 4036 ! table arrangement. : ; 4035 4039 4040 ! must get a fresh copy to reflect the new !Copy rem tbll to copied tbl incr COPY from 0 to .LST REM _ENTRY = ,QUANTITY do COPIED_REM_TBL [.COPY, RD_CL) = .REM_TBL [.COPY, RO_CLJ: Page 115 SE0 0150 BSKELS REV B PAT(H 00 4041 4042 4043 4044 4045 4046 4047 4048 4049 0104614 010420 010422 010426 010432 010434 010436 010440 010442 010444 010446 004167 005746 016605 020527 003460 005016 000454 011601 006301 005004 156104 020466 001043 016603 010300 061600 020005 1 12 18-Mar-1982 16:07 18-Mar-1982 15:44: ROUTINE DECLARATIONS end; end; end; 0000006 .SBTTL COL .PURGE : 1%: VIAVWVHAWIWVILA NANINI = b =2 s 3¢t COONMNO b o i o et i cMP BLE CLR B8R MoV RS .41 9s (SP) ASL MoV MOV ADD 000022 =(SP) 3937 ¢ ; LST.REM.ENTRY 3987 ; PUR.LOC 3998 (SP) ,R1 R1 Ré& ; PUR.LOC,» 4005 gg.?k(SP) ; +,COL.SEL 22(SP) ,R3 ; QUANTITY,» 20(SP) ,RS 8s REM.TBL (R1) R4 R3,R0 (SP) RO RO,RS 010502 01104 005304 (SP) R4 RG : PUR.LOC,PURGE ; PURGE R4 .RO R0 ; PURGE ,+ R4 ,R1 R1 : PURGE,* R3,R¢ 2%: 3s R3.R1 €01402° 001402' 3s: 4(s: 5%: 001402' 001712° gEH.TBL(R1).REH.TBL(RO) R4 .R2 2% R3.R2 R3.R2 RO 6$ g?.R1 REM. TBL(R1) ,COPIED .REM. TBL(R1) 4017 ; PUR.LOC,« 'A RS ,R2 010506 bt R1,$SAVES CLR BIS8 CMP BNE 001402° 000024 COL.PURGE ROUTINE DECLARAI]IONS JSR 1ST MOV 000020 000001 160302 COO00O0000O0 Page 116 SEQ 0151 'Exit the loop when purge is complete 001420 [>lelalelelelelele TOPS-20 Bl1ss~-16 v2(( 212) (3%) PA:<NEALE>PMSKL&4.BLI.1 1.1 4026 ; PURGE 4027 4026 ; PURGE,* 4039 : COPY ; COPY,» 4040 010556 010560 010562 010564 010566 010570 010572 010574 010576 18-Mar-1982 15:44: ROUTINE DECLARATIONS 005200 020002 003770 000403 005216 021605 002722 005726 000207 : Routine Size: 58 words ) : Maximum stack depth per invocation: 6%: 7%: 8s: : 98 7 words INC BLE B8R INC CMP BLY TST RTS RO RO,R? S$ TOPS-20 Bliss~16 & PA:<NEALE>PMSKL . COPY ; COPY,« XY REV B PATCH 00 J 12 18-Mar-1982 16:07: (SP) (SP) RS 18 (SP)+ PC LR BSKELS PUR.LOC PUR.LOC,* Page 117 SEQ 0152 4039 4042 3998 3937 K 4050 PE PR FE TR FE TR TE TN P PA:<NEALE>PMSKL4.BLI.1 egin ++ ! 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. i Formal Parameters: ROW_SEL: ] This ar?ument points to the row to be purged Tfrom the table. ) QUANTITY: Indicates how many occurances of this column to expect to find in the table. LST_REM_ENTRY: Points to the last table entry ¢+ 1. R ETAYETEIATETETETE IR PR PEFEVEPATEIE TR LA TR TR 17 18-Mar-1982 15:44:41 TOPS=-20 Bliss=16 v2(212) routgne.ROU_PURGE (ROW_SEL, QUANTITY, LST_REM_ENTRY) : novalue = i Implicit In uts: REH_TBL. COPIED_REM_T8BL i Implicit Outputs: The remainder and copied remainder tables are purged of all occurances of row addresses selected for blasting. i Completion codes: none i Side Effects: none 'y ! 1f only one row or column pair is left ! in the copied_rem_tble then there is ! no need to purge. z; .LST_REM_ENTRY gtr ONE en !Purge the row if copied table entries begin e ! ! ! ! Search through the copied_rem_tble looking for the occurance of this selected row for purging. Pur_loc will point to the table location where this row is first found. [P S A N S WK PIC I D SRR 12 18-Mar-1982 16:07:57 ROUTINE DECLARATIONS I SRR T TN ey . BSKELS REV B PATCH 00 incerUB_LOC from 0 to .LST_REM_ENTRY - 1 do egin 'Purge the copied rem table > 1 (34) Page 118 SEQ 0153 L 12 ! Is the contents of this table entry ; equal to the selected row for purging. NI =4 © O 00 NN S AR = © O B NIOMA & !Is this the row to be purged Qegin 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 the table. i; (.PUR_LOC + .QUANTITY) neq .LST_REM_ENTRY en !1s this the last table entry Qegin i The selected rows for purging are not at O N IS ! 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 OIS LIR) = © 0 00 COPIED_REM_TBL [ PURGE. RO_CL] = TCOPIED_REM_TBL [.PURGE + .QUANTITY, RO_CL]: o - end: Cmrm ettt D wmd b b o cnnd wd b il el end wud =2 OO 00 NOMN B NN = OO 00 Y Y b b wnd med wmb b b b D =D wd d D e D wnd YTy STV D b b d b wad b YT YY VYYS b AN W IR NI R NI NN TONIRIN) =2 b b b b b bk b = D O O O OO YO TNV en AN b wd e wod i; .COPIED_REM_TBL [.PUR_LOC, ROW] eql .ROW_SEL 25 08 5 3 5 WA YC YUYW VS YUY Y b v e Y . b e VAD DD TOPS=-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLG.BLI.T1 (34) . ! 4102 b 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS 4103 I Y Y Y IR R R ETR T T e T T T PR T PRRO PRI ETEPE PRPATETE TN PR LR LA TN TR TR TR PR PRT P FI WS T T TN YN TR BSKEL4 REV B PATCH 00 ver czmlcb moved this incr loop here Once the remainder table has been purged 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_C[] =".COPIED_REM_TBL [.COPY, RO_CLI; ex;tloop: eng, end; end; end; léxit Loop when purge is completed Page 119 SEQ 0154 BSKELS REV B PATCH 00 010600 010604 010606 010612 010616 010620 010622 010624 010626 010630 010632 004167 005746 016605 020527 003460 005016 000454 011601 006301 005004 156104 n 12 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS 0000006 000020 000001 .SBTTL RIOW. PURGE : JSR TST MOV 1%: MOV MOV ADD CMpP 000022 2s: 3s: 48: 5$: 001712* 001402° 6$: 7%: 8s: 0°9762 9%: 000207 : Routine Size: 58 words MoV ASL CLR 81s8 CMP BNE 001713°* 000024 001712* 001712’ CMP BLE CLR BR BEQ MOV sus MoV DEC BR MOV ASL MOV ADD ASL MoV INC cMp BLT MOV su8 CLR B8R MOV ASL MOV INC TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (34) Page 120 SEQ 0155 ROW.PURGE ROUTINE DECLARATIONS 4050 R1,$SAVES =(SP) 20(SP) ,RS M R5. 9 (SP) 8$ (SP) ,R1 R1 Ré4 ,R4 COPIED.REM.TBL+1(R1) R4 ,24(SP) 78 22(SP) ,R3 R3,RO LST.REM.ENTRY,* 4089 PUR.LOC 4100 PUR.LOC,* 6107 * ROW.SEL : (58) ,RO RO.RS QUANTITY,« 4119 PUR.LOC, + 4128 PUR.LOC,PURGE PURGE R : PURGE,* R3.R1 R?.R1 PURGE ,« R COPIED.REM.TBL(R1),COPIED.REM.TBL(RO) ; R4 R4 ,R2 2$ R5.R2 R3.R2 RO 6$ 4129 ; PUR GE ; PURGE ,* 4128 . 4141 - [4 ; COPY » ; COPY,x 4142 R COPY COPY,« 41461 (SP) PUR.LOC Rg,R1 R CgPIED.REH.TBL(R1).REH.YBL(R1) RO,R2 5% 9s (SP) .R5 1$ (SP)+ PC ’ PUR.LOC,* 4144 4100 4050 BSKEL4 REV B PATCH 00 N 12 18-Mar-19 S 16:07:57 15:44:41 18-Mar-1982 ROUTINE DECLARATIONS : Maximum stack depth per invocation: 7 words TOPS~20 Bliss=16 v 2 v2( 212) PA:<NEALE>PMSKL4.B L 1.1 (34) Page 121 SEQ 0156 w BSKELS REV B PATCH 00 : 4152 18-Mar-1982 16:07:57 18-Mar=1982 15:44:41 ROUTINE DECLARATIONS routine COL_SORT (LST_REM_ENTRY) : novalue = begin : : : ; 4153 4154 6155 4156 4157 2}28 ! ; Before the remainder table is interigated for columns the column side of the table must be sorted. : 4160 ! This global routine will sort the column side of the : : ; : 4761 2}2% ; 4164 L ) !lee ! Functional Description: ! Formal Parameters: LST_REM_ENTRY: ! 4165 2}29 ; H 4168 ! Implicit Inputs: : 6172 ! : ; : : 6176 4175 4176 4177 . ! ! Completion codes: none ! Y : ; : H 4179 4180 4181 4182 ! !-- : : : H : : : 4169 4170 4171 4173 4178 2132 4185 : : 4186 4187 ; : 4189 4190 ; 4188 : 4191 : 4193 ; : : : : : : : 4192 4194 4195 4196 4197 419 258? 4202 4203 . o remainder table and the row pair will get moved around with the column pair. ! ; : : TOPS=-20 Blyss=16 v2(212) PA:<NEALE>PMSKLS.BLI.1 (35) . Points to the last remainder table entry REM_TBL ! ! ! Implicit Outputs: The remainder tables column addresses are sorted in ascending order. ! ! Side Effects: none local !Temporary storage for bubbled entry TEMP; ! . ! If there is only one table entry ! remaining then there is no need to ! sort the table. ! if .LST_REM_ENTRY gtr ONE then . . !Sort the table if entries are > 1 begin '+ ! Index each table entry and bubble up ! table values in ascending order. - incr PASS from 1 to .LST_REM_ENTRY - 1 do e ! Bubble up this table entry so its !Bubble sort table until in asending order Page 122 SEQ 0157 ! 4204 4205 4206 4207 4208 9 Page 123 SEQ 0158 in ascending order. incr index from 0 to ((.LST_REM_ENTRY - 2) = (.PASS = 1)) do =2 OO 00 ~NO NI NN — o sememmewmtons NN oy &~ AD I It F [ IO N NI N NINIAIAIAINININI NI NN LI 005746 016646 021627 003441 011600 162700 005003 011014 011016 011020 011022 011024 011026 011030 011032 011034 011036 000431 010005 160305 010501 005201 005004 000421 010405 006305 012702 011044 010405 011046 011050 011054 011056 011060 (35) 'Bubble up the biggest number Is this table entry greater then the next table entry and it so then swap the two entries else its in ascending order. if .REM_TBL [.index, COL) gtr .REM_TBL [.index + 1, COL] then t1s the next entry > this one . beflin !Copy the bigaer entry TERP = _REM_T8L [.index, RO_CL]; REM_TBL [.index, RO_CL] = .REM_TBL [.index + 1, cLl; REg_TBL C.index + 1, RO_CL] = ,TEMP; !Put the smaller entry here 'Put the bigger entry in next entry end; 010770 010772 010776 011002 011042 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 end; 004167 011012 141 15:44:4 end; 010764 0110064 011006 18-Mar-1982 ROUTINE DECLARATIONS TN T PO TR TS LRI IR SO T RIS i N TR Y BSKEL4 REV B PATCH 00 c 13 18-Har-1985 16:07:57 060502 006305 062705 121215 101405 011266 0000006 000020 .SBTTL COL.SORT: JSR TS8T H 4152 20(SP) ,~(SP) s LST.REM.ENTRY,~ 4N 6s (SP) RO H 4207 R3 : PASS 4200 MOV RO.RS ;L 4207 MOV INC RS.R1 R1 MOV CMP 000001 BLE MOV su8 000002 CLR 18: B8R sSus CLR 2$: 001402°* COL.SORT ROUTINE DECLARATIONS B8R :2{ MOV R1,$SAVES -(SP) (SP) ¥ #2,Rb 58 R3.RS5 R4 43 gg,R5 : INDEX ; INDEX,* 4215 TBL ,R2 #REM, ADD :g{ R5.R2 gg.RS 001404 ADD C(mP8 #REM.TBL+2,R5 (R2), (RS) 000002 MOV (R2),2(SP) BLOS s PA3S,x J3 : INDEX,® ; «, TEMP 6219 OOJ‘S — SN NN~ g § 011512 ROUTINE DECLARATIONS 000002 38: 48 5$: 002744 022626 000207 ine Size: e ~ XD — e d d e D e d == 1= j=d=] v 2222922252 REV B PAT(H 00 6%: 43 words . . ximum stack depth per invocation: o 18-Mar-1982 16:07 18-Mar-1982 15:44: 8 words MOV MOV INC BLE INC BLT CMP RTS (RS), (R2) 2(SPJ, (RY) R4 R4 .RY 23 R3 R3, (5P) 18 (SP)+,(SP)+ PC TOPS-20 Bliss=16 v2(212 PA: <NEALE>PMSKLG.BLI.1 . [] . 4l ; ; L] ’ L XY D13 BSKEL 4 ,» TEMP INDEX INDEX, PASS PASS ,« Page 124 SEQ 0159 4220 4221 4207 4200 6152 E 13 BSKELG REV B PATCH 00 e TR E TR YREYTETRY Semg. TR JPIC I TR YT SRR LSS ROUTINE DECLARATIONS 18-Mar-198 4227 routine ROW_SORT (LST_REM_ENTRY) 4230 4231 4232 4933 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 45245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 427% 4275 4276 e+ 4228 4229 e 18-Mar-198 4277 4278 begin { i ] ! : Implicit inputs: COPIED_REM_TBL ! Implicit Outputs: : : : : : [ : novalue = column sort except the copied remainder table Formal Parameters: ; ( 36) fFunctional Description: This global routine serves the same purpose as i i i i i i ! T0PS-20 Bliss=-16 ve( 212 ) PA: <NEALE>PMSKL& .8LI. 1 row addresses are sorted in ascending order. _ LST_REM_ENTRY: Points to the last remainder table entry . The copied remainder tables row addresses are sorted in ascending order. Completion codes: none Side Effects: none local !Tempory storage for bubbled entry TEMP; 1f there is only one table entry remaining then there is no need ‘o sort the table. if .LST_REM_ENTRY gtr ONE then begin 'Sort the table if entries > 1 ‘e ! Index each table entry and bubble up ! table values in ascending order. incr PASS from 1 to .LST_REM_ENTRY - 1 do fe ! Bubble up this table entry so its ! in ascending order. '‘Bubble sort table until in aseending order Page 125 SEQ 0160 REV B PATCH 00 F 13 18-Mar-19 82 16 18-Mar-1982 15 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (36) Page 1/ 26 SEQ 0161 incr index from 0 to ((.LST_REM_ENTRY = 2) = (.PAS S = 1)) do 'Bubble up the biggest number L279 «280 4281 4282 lIs this table entry greater then the next table entry and it sO then . swap the two 4283 4284 4285 4286 entries else its in ascending order. it .COPIED_REM_TBL [.index, ROW] gtr .COPIED_REM_TBL [.index ¢+ 1, ROW] 4287 4288 4289 then begin rsflp = .COPIED_REM_TBL [.index, RO_CL 1; 'Copy the bigger entry [.index9+ 1, RO_CLI; COPIED_REM_TBLTM[.index, RO_CL] = ,TOP 1ED RE TE the bigger entyr in next entry TPut mp; COPIED_REM_TBL [.index + 17 RO_CL] = \A\hVNAJ"MbJ‘gPflE;NflU—J N - 0000006 OB NOOTNO/NOL~O b - b ) S wd ard D uh [- X 3 OONONONNNO NSRRI ) =b b b wcd wd o = wd iko Y NI b —b ol e el amh B o [eYwlelelelelelolalelelclelelelelelalelelelelalelolalele) it o wd emed b vl el i i b wd d D wd b wh md cnd D cnd D nd D =D cndh =D b —h e i wulh e i vl wd s b wnd D mh b e wud b cnd cnd D nd D ) = D cod b dd o . end; .SBTTL ROW.SORT: JSR TST MOV cmP BLE MoV su8 1$: CLR B8R MoV sus MOV ROW.SORT ROUTINE DECLARATIONS -(§P) 20(SP) ,~(SP) (SP) 4 #2,R) R3 5% RO.RS R3,RS RS.R1 R1 4$ R4, RS RS ,R2 TBL M. #COPIED.RE R3.R 001712 = ; LST.REM_ENTRY, 68 (SP) ,RO Ré 2%: 4227 R1,$SAVES R&.R RS 4263 4279 ; PASS ; PASS,* 4272 4279 : INDEX : INDEX,* : INDEX,* 4287 #COPIED.REM.TBL+2,RS 001714° 1(R2),1(R5) 33 38: 48: (R2),2(SP) (RS) { (R2) *, TEMP R X INDE * INDEX, 2{595.<n5) R4 R1 TEMP, « 4290 4291 4292 4279 SERK o 23 on 2 on 2 0112 0112 0112 42 5%: 63: 000207 45 words : Maximum stack depth per invocation: 8 words BLE INC cMP 8LI RTS .(SP) P)¢+,(SP)+ rono ROUTINE DECLARATIONS 003753 005203 020316 002742 022626 ; Routine Size: 18-Mar-19 V~=2DDON REV B PATCH 00 g-flar-19 [aX%] JV IV 1 J BSkeLSG TOPS-20 Bliss=16 V2(2 2) (36) PA:<NEALE>PMSKL4.BLI. ; ; (4 . [ PASS PASS,* Page 127 SEQ 0162 4272 6227 BSKEL4 REV B PATCH 00 ; : : : : : ; 4298 4299 4300 4301 4302 4305 64304 18-Mar-1982 16:07:57 18-Mar=1982 15:44:41 ROUTINE DECLARATJONS routine S_BLAST_TBL (BNK_NUM) = pegin . e+ . ! Functional Description: To determine it a bank has any additional tailing row or columns the blast table is ! ! : searched for any bits set. ; 4307 4308 2%?3 ! ! If bits are set then this bank must be pm'ed. If no bits are set then this bank : : 6311 4312 ! ! s blast table at the This global routine searche the selected banks and sees if any bits are set H 2%}2 E Formal Parameters: : 2%}5 : : : 4319 ‘gg? ! : 4322 | Implicit Outputs: : 4325 ! Completion codes: : 4327 ! : 2%82 : : H : : : : 2;}2 6325 6324 4326 4328 4329 : : H 4330 4331 4332 : 4334 H ; : : 4333 4335 4336 : Points to the bank to be searched Implicit Inputs: BLAST_TBL, MAX_CHIP_(OL ! ! none . ! A true indicator is returned if new errors ! no new errors are found. . exist and a false indicator is returned if ! ! Side Effects: none ! !-1+ . . ! Search all row and column blast information ! stored in the blast table for this bank and ! blasted. If new blast info is found then 4339 4340 43461 ! return true 2s the routines value else return ! false indicating that no blasting is to be done ! for this bank. 4344 incr SEARCH from © to MAX_CHIP_COL*2 - 1 do : : : : indicating new errors were found in this bank. f 4337 4338 : : : can be skipped. : ! see if any new rows or columns need to be : 4345 4346 4347 4348 TOPS~-20 BLiss=16 v2(212) PA:CNEALE>PMSKL4.BLI.T (37) begin . . . ! ! Does this table location contain new ; prom blast information? !Look at all rows and cols for this bank Page 128 SEQ 0163 BSKELS REV B PAT(H 00 113 18-Har—1932 12:07:57 18-Mar-19 2 15:44:41 44: ROUTINE DECLARATIONS it .BLAST_T8L L. BNK_NUM, TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 _SEARCH, FULL_WRD] neq ZERO then return TRUE: Page 129 SEQ 0164 'Return tru if any bits set end. ‘Return false if no bits are set return FALSE; end; LSBTTL S.BLAST.TBL RCUTINE DECLARATIONS JSR R1,$SAVE?R 0000006 011250 011254 011256 016703 006303 016600 040376° MOV 000300 ASL MCY SWAB CLRB ASL CLR 000012 [} (== - \SY o HN N — OO oo W NN ggesss S [=] w 105000 18: e o W n 2$: 3s: N 4298 4344 ; BNK . NUM, « 4351 : SEARCH 4344 : H SEARCH,« 4351 R1 R1,R3 H SEARCH : SEARCH,« 6344 RO : 4299 4298 MAX.CHIP.COL,R3 a3 12(SP) ,RO RO RO RO R1 38 RO.R2 R1,R2 TST 8EQ BLAST.TBL(R2) 23 RTS PC INC Cop BLY RIS 4 words : MoV ADD (LR 005000 000207 ) : Routine Size: 26 words ; Maximum stack depth per invocation: B8R ASL 030372°* 000001 Q o 80 §ob~o$$ N WAN LA N NN NN n N AR > =b = N o &» nNOONSO b b s —h o e nh D od b e b e e wd o wd i ad ol md cad e d i d d b D [e]l=lelalelelolalolelolelalelalels] 1POROA AU RO o SNNYN 004167 b nd D d 011244 S.BLAST.TBL: R2 18 PC M BSKELS REV B PATCH 00 ; routine S_COLUMNS (MOST_OFTEN, SUM_MOST 6362 4363 4364 L . e+ ! Functional Description: The remainder table is searched for the ! i best possible choice for blasting ie i whether to select rows or columns for 4365 : : : : IR ETETYAIE TR ] LN I T TR X : : : H : R : ; ; LST_REM_ENTRY) 4357 4358 4359 4360 4361 4366 4367 4368 4369 4370 43N 6372 4373 6374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4,387 4388 (389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4604 4405 4406 4407 4408 begin i i : i i i i i i i [ i i i i i i i i i blasting. This is done by: While searching through the rem_tbl count how many different row numbers and column numbers there are. In the lower count group (default to rows it counts are equal) find which member appears most often. The member which appears most often in this lower count group will be the one chosen for blasting. Suppose that these row column pairs exist in the remainder table. ROW i i i i i i i i i i i i i [ E 0 it appears & times. Therefore i i COLUMN From this there are 5 ditferent column numbers and column number 6 appears the most otten and i i i i . For example: it " b b O8O ON O VAR : : ; : ROUTINE DECLARATIONS O~ ; J 13 18°Har-1g 8 S 16:07:57 18-Mar-1 8 16:44:41 DJF = § MOST OF;EN sum_RoS ‘ 6 Formal Parameters: MOST_OFTEN- Passed by reference and stores the most often found column. SUM_OF TEN: TOPS-20 Bliss-16 v2(212) PA:<NEALE>PMSKL4L.BLI.1 (38) Page 130 SEQ 0165 LST_REM_ENTRY: Points to the last remainder entry L Implicit Inputs: » an_rgf MOST _OFTEN AND SUM_MOST which are passed b‘ reference to this routine is returned to the caller y reference with the column number which appears most often and the R ST AT SN T T number of times it appears. Completion coles: R WA LRI none ey PR TR TR R T L T I Side Effects: local CUR_SUM, PRE_SUM, TETE A TETE YR TR PR P PN TN ittt mom st et et e ot o - IOy G e CUR_MOST, PRE_MOST, DIF? ] A P P YR . The number of different column numbers which were found in the remainder table is returned to the caller. the current count, previous count and different count to be one. Also define the first table entr{ to be the column 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. CUR_SUM 1; 1; PRE_MOST = .REM_TBL [ZERO, COLJ: 4455 4456 4457 4458 4459 4460 DIF = 1; i+ I1Stores current sum of most often found column !Stores previous sum of most often found column !Stores current most often found column 'Stores grevaous most often found column tStores how many different columns were found Start out the search by defining PREZSUM [ P YR . Implicit Outputs: L T L L T IE L Lh TOPS-20 Bliss=-16 v2(21 212) PA:<NEALE>PMSKL4.B L1.1 (38) Passed by reference and stores the sum of the most often found column, i Y ., AN WAY " K 13 5 18-Mar-1982 16:07:57 15 164:461 18-Mar-1982 ROUTINE DECLARATIONS upa BSKELS REV B PATCH 00 {Current sum starts at one !Previous sum starts at onc If only one table entry is remaining in the table then return with the default values defined above as the routines return values. ) . 'Previous most often starts at first column in table 1Different column count starts at one Page 131 SEQ 0166 BSKEL4 REV B PATCH 00 . . . 4461 4462 4463 ROUTINE DECLARATJIONS TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (38) |- . it .LST_REM_ENTRY gtr ONE then begin COL_SORT (.LST_REM_ENTRY); i 1 'first table entry is most oftem if table entry < 1 'Sort the column side of remainder table Index through the table and search for the column most often found and the number ; of time its found. Also search the table i i for the number of different column numbers found. incrbinQex from 0 to .LST_REM_ENTRY - 2 do ) egin !Find the sum, most often and different i Is this table position contents the same as the ! next table contents? 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 if .REM_TBL [.index, COL) eql .REM_TBL [.index + 1, (OL] then 'Is this the same as the next begin 'Most often is this entry CUR MOST = .REM TBL [.index, COLJ; 'Increment the sum of the most CURCSUM = .CUR_SuUM + 1; else end be?in DIF = .DIF + 1; if .CUR_SUM gtr .PRE_SUM | then begin PRE_SUM = .CUR_SUM. S S R S P O N T A IR TR TR 4464 4465 6466 4467 4468 4469 4470 4471 4472 4473 44674 4475 4476 4477 4478 4479 4480 L 13 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 PRS.HOST = .CUR_MOST; 'Increment the different column count '1s the current sum > previous sum 1Save the sum of the current most often 'Save the current most often O end; N CUR_SUM = 1; Se®etia,n, ., TR T T R T end; 1Start current sum back to one end; end; This test to see if the Last set of unique column numbers in the table is > the previous sum if .CUR_SUM gtr .PRE_SUM then 'Is the current sum > the previous sum Page 132 SEQ 0167 M3 =2 OV W F ¥ o ¥ o X oV ¥ W W P (W [V, 1V 1V, 1V, IV IV 1V, ]w PIN) = = acd b b b -t BSKELS REV B PATCH 00 18-Mar-19 82 16:07:5 7 18-Mar-1982 15:44:4 1 ROUTINE DECLARATIONS begin PRE_SUM = .CUR_SUM; .SUM_ROST = .PRE_SOM; return .DIF; end; 011334 011336 011342 011344 011346 011352 011360 024646 012701 000001 001402° 000001 000024 .SBTTL S.COLUMNS: JSR CMP MOV MoV CLR MOvB MOV MOV (MP 000002 000001 BLE MOV JSR b el ) cd and NS D wad wod and Ed pd =—d BBDDDDDDDDDL U\«bbb&bfl\)l\)-‘—'d—'g NNOOCOONSNO 177364 000002 222922222222 'Return the most often found column 'Return the sum of the most often column 'Return the different number of columns found .MOST _OFTEN = .PRE_MOST. 0000006 sus 18: 001402*' 001404° 001402° 000006 000007 2$: 000004 011454 000006 000001 000002 3s: 4%: S$: 6s: 000004 Page 133 SEQ 0168 !Save the current most often end; 004167 (38) 1Save the sum of the current most often PRE_MOST = ,CUR_MOST; 011330 TOPS=20 Bliss=16 v2(21 212 ) PA:<NEALE>PMSKL4.B L1.1 CLR BR MOV ASL MOV ASL S.COLUMNS ROUTINE DECLARATIONS R1,$SAVES M 4357 #1.,R1 R1.RS : *,CUR.SUM ; *,PRE.SUM 4451 4452 4453 -(SP) ,=(SP) «-(SP) REM.TBL, (SP) : PRE.MOST : « ,PRE.MOST 24(SP) R4 = ; LST.REM.ENTRY ; «,DIF 4454 4463 : 4466 : 4475 gg.RS ; INDEX,x 4482 s%.RO s INDEX,x #1,2(SP R4.M 63 R4 ,=(SP) PC,COL.SORT #2.Ré R2 5$ gfi:fi ggH.TBL(R3).REH.TBL*Z(RO) MOVB CLRB REM. TBL (R3) ,6(SP) 7(SP) R1 INC B8R INC (MP BLE MOV MOV Mov INC cMp BLE 1ST CMpP BLE MOV MOV 43 L(SP) §}.R5 R1.RS : INDEX : *,CUR.MOST : CUR.MOST : CUR,.SUM : s DIF ; CUR.SUM,PRE.SUM : CUR.SUM_PRE.SUM 6(SP) ,2(SP) : CUR.MOST,PRE.MOST R2 R2.R4 . INDEX : INDEX,=* 1$ (SP)+ ;}.RS R1,R5 4(SP),(SP) 4485 4486 4482 4490 4492 4495 4496 4499 4475 : ; CUR.SUM,PRE.SUM 4465 451 : CUR.SUM,PRE.SUM : CUR.MOST,PRE.MOST 4514 4515 011514 011520 G11524 011526 011530 012676 010576 012600 N 13 18-Mar-1982 16: 18-Mar-1982 15: ROUTINE DECLARATIONS 000026 000024 78: ; Routine Size: 65 words ; Maximum stack depth per invocation: R5, 324 (SP) RTS PC TST 005726 000207 10 words (SP)+,326(SP) MOV MoV MOV ($P)+.RO (SP)+ TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 LR TR TS X BSKEL4 REV B PATCH 00 PRE .MOST ,MOST.OF TEN S?F.SUH.SUH.HOST R (38) Page 134 SEQ 0169 4518 4519 4358 4357 BoKtiLé REV B PATCH 00 4522 : : : : 4523 4524 4525 6526 ; 4528 : ; 6527 22%8 4531 ; : : ; ; : : : : ; ; ; : o . l+e ! Functional Description: ! ! Passed by reference and stores the sum of the most often found row address. ! ! ; 4541 ! 2222 ; ! ! ! Implicit Inputs: . number of times it appears. 22?8 ; . of different row numbers which were found The number ! in the copied remainder table is returned to the caller. 4551 ! Side Effects: 4554 4555 local none ! !-- !Stores current sum of most often found row CUR_SUM, iStores previous sum of mo. often found row !Stores current most often row found !Stores previous most often row found PRE_SUM, CUR_MOST, PRE_MOST, 4557 4558 4559 4560 DIF; ! L. 4563 ! Start out the search by defining 2222 ; and different count to be one. 4567 4568 2298 ! Also define the first table entry ! to be the row number to be selected : for blasting. 4«57 4572 ! This is done in the event that there ; is only one table entry lLeft to be ! selected for blasting. 4564 . MOST_OFTEN AND SUM_MOST which are passed bz reference to this routine is returned to the caller by reference with the row number which appears most often and the ! Completion codes: 4562 . Points to the last copied remainder entry 4547 4561 . Passed by reference and stores the most often found row address. ! ! 2228 . MOST_OF TEN: LST_REM_ENTRY: 4556 Fe VL T6/7 Formal Parameters: ! 6552 4553 W remainder table is searched for row numbers. SUM_OF TEN: 4548 WUl T122 as search columns except that the copied ! ; ! 45642 4563 4544 IV G LV PA: <NEALE>PMSKL4.BLI.1 (39) This global routine has the same functionality 4535 64538 1V v begin ! 6536 4537 Fiuwl " Hodl 18-Mar-1982 15:44:41 routine S_ROWS (MOST_OFTEN, SUM_MOST, LST_REM_ENTRY) = 4532 4533 4536 Tw ROUTINE DECLARATIONS ! the current count, previous count V&S bt SEQ 0170 BSKEL4 REV 8 PATCH 00 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 18-Mar-1982 15:44 141 ROUTINE DECLARATIONS CUR_SUM 1; 1; PRE_SUM PRE:HOST = .COPIED_REM_TBL [ZERO, ROW]; DIF = 1; R YR (39) !Current sum starts at one 'Previous sum starts at one 'Previous most often starts at first table enrry 'Different row count starts at one '+ ! 1f only one table entry is remaining ! in the table then return with the default ! values defined above as the routines return ! values. if .LST_REM_ENTRY gtr ONE then begin ROW_SORT (.LST_REM_ENTRY); . ] . ] . IR PR YL Y TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 i IE Y 4584 € 14 18~Mar-1 982 16:07:57 :5 ] . [} . ] . } 'first table entry is most often if table entry < 1 'Sort the row side of copied rem table Index through the table and search for the row most often found and the number of time its found. Also search the table for the number of different row numbers found. incr index from 0 to .LST_REM_ENTRY - 2 do ?egin 'Find the sum, most often and different i Is this table position contents the same as the ; next table contents? if .COPIED_REM_TBL [.index, ROW] eql .COPIED_REM_TBL [.index + 1, ROW] then P P PR CURTSUM = _CUR_SUM + 1; else end be?In DIF = .DIF + 1; if .CUR_SUM gtr .PRE_SUM then begin PRE_SUM = .CUR_SUM. PRS_HOST = .CUR_HOST: S e begin CUR_MOST = .COPIED_REM_TBL [.index, ROW]: N T L T P PN T TR I R . S R 'Increment the different row count 'Is the current sum > previous sum tSave the sum of the current most often 'Save the current most often row end; CUR_SUM = 1; end; R 'Most often is this entry 'Increment the sum 4f most 'Start current sum back to one Page 136 SEQ 0171 D 14 BSKELS REV B PATCH 00 ROUTINE DECLARATIONS 4626 4627 4628 4629 4630 4631 22%% 4634 ; 011532 011536 011540 011544 011546 011550 18-Mar-1982 15:44:4 ! . ) PRE_SUM = .CUR_SUM. PRE_MOST = .CUR_MOST; 6642 4643 .MOST OFTEN = ,PRE_MOST; .SUM_ROST = .PRE_SOM; then 001713° 020427 003444 000001 004767 011606 011610 005002 000432 1$: 006303 126360 001713* 001715° 011630 MOV MOV #1,2(SP) 24(SP) R4 ; *,DIF ,* ; LST.REM.ENTRY 4578 4587 MOV R4 ,.-(SP) : suB #2.R4 : 4590 4599 MOV R2.R3 : INDEX,« 4606 MOV R2.RO s INDEX,* JSR 011622 011632 011640 011644 011646 011650 011654 011656 011660 4522 4575 4576 4577 cmp BLE 177310 010200 006300 ; : *,CUR.SUM : = ,PRE.SUM : PRE.MOST MOVB 162704 000002 ASL CMPB BNE 001007 116366 001713* 000006 105066 000007 005201 000412 005266 000004 020105 003404 010105 CLR B8R ASL . 28: S.ROWS ROUTINE DECLARATIONS R1,$SAVES -(SP) ,~(SP) #1,R1 R1,R5 -(SP) S.ROWS: JSR cmp MoV MOV CLR 011616 011620 'Return the number of different found rows .SBTTL 011612 010203 011614 !Return the most often found row 'Return the sum of the most often found row end; 116716 011576 011602 'Save the sum of the current most often 'Save the current most often row return .DIF; 004167 0000006 024646 012701 000001 010105 005046 011576 010446 'is the current sum > previous sum begin 011554 012766 000001 000002 011562 016604 000024 011566 011572 SEQ 0172 . ' This test to see if the last set of ; unique row numbers in table is > the previous 4638 4639 4645 PA:<NEALE>PMSKL4.BLI.1 (39) Page 137 end; IF .cur_sum GTR .pre_sum 4644 T0PS-20 BLiss=16 v2(212) end; 4635 4636 4637 : : 18-Mar-1982 16:07:57 MOV8 CLRB INC BR INC CMP BLE MoV COPIED.REM.TBL+1,(SP) R4 .M 6% PC,ROW.SORT R2 5% R3 RO : *,PRE.MOST : INDEX COPIED .REM.TBL+1/R3) ,COPIED.REM. 1BL+3(R0) ; 2% COPIED.REM.TBL+1(R3),6(SP) 7(SP) R1 43 4(SP) R1.RS 33 R1,RS : *,CUR.MOST : CUR,.SUM : : DIF ¢ CUR.SUM,PRE.SUM s CUR,.SUM,PRE.SUM + CUR.MOST 4609 4610 4606 4614 4616 4619 016666 012701 005202 020204 06 0 2 6 2 003744 005726 020105 003403 010105 016616 012676 010576 30 005726 6 732 012600 ROUTINE DECLARATIONS 000006 000001 MOV MOV 000002 INC BLE ST BLE MOV Mov MoV Mov 000004 000026 000024 MOV TST RTS 000207 ) 65 words . ; Maximum stack depth per invocation: : Routine Size: 10 words 6(SP) ,2(SP) #1,.R1 R2 R2.R4 13 (SP)+ R1,RS 78 R1,RS 4(§P), T0PS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (39) R TR N REV B PAT(H 00 7 18-Mar-1982 15: 4: LY BSKELSG Page 138 SEQ 0173 CUR.MOST ,PRE.MOST 4620 INDEX ,* INDEX 4599 CUR.SUM,PRE .SUM LY YRR IR IR L] £ 14 18-Mar-1982 16: CUR.SUM,PRE . SUM CUR.MOST,PRE .MOST PRE .MOST ,MOST.OF TEN S?E.SUH.SUH.HOST % 4623 4589 4635 4638 4639 4642 4643 4523 4522 BSKELS REV B PATCH 00 : ; : : ROUTINE DECLARATIONS TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 routine S_REM_TBL (BAD_CHIP, ALL_BAD) = begin fee ) ! Functional Description: all the with loaded The remainder table is scattered failures cell remaining single through out this failing chip. These scattered remaining row column pairs . the remainder table ered are transfinto possible best the for d interigate are they were blasting selection. This global routine searches the remainder table of ng column pairs and determines the remainirow the best possible choice for blasting. formal Parameters: BAD_CHIP: ALL_BAD: St Ee At M R N NSt M IS I I I MM I MO U I W S WOt MmO : 4646 4647 4648 4649 4650 F 14 18-Mar-1982 1 18-Mar-19 82 15 Points the the failing chip presently being pm'ed. Counts how many all bad rows and columns have been found thus far. If this count exceeds a count of 10 for any one chig then that chip is called an all bad chip and is printed. If a ‘condition A’ message two all bad chips are discovered in the the same bank then a ‘condition B® message is printed and further testing of this ; ;: RSt U 4691 4692 4693 4694 4695 4696 4697 S at omt am S AP ARt 4687 it o L O T T LT N W W » Lo [*.d o » o oo Sewene e array is aborted. Implicit Inputs: TMP_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. Completion codes: L ) The value of all_bad which indicates how many all bad chips found thus far is returned. Side Effects: none local (40) Page 139 SEQ 0174 BSKELSG REV B PAT(H 00 : 4699 4700 4701 4702 4703 2;8; : 4706 : : : : : : : : ROUTINE DECLARATIONS LST_REM_ENTRY, 4698 ; : : : : : : G 14 4707 4708 2;?8 748 712 4713 4714 2;}2 4717 TOPS-20 BLiss=16 v2(212) PA:<NEALE>PMSKLG.BLI.T1 (40) into remainder table 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 'Points to last entry DIF_COLS. DIF _ROWS, ROW_MOST_OF TEN, COL_MOST_OF TEN, ROW_SUM, CCL_Sum; IDifferent 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 I_REM_TBL (); !Last rem entry starts at zero LST_REM_ENTRY = ZERO; LST_REM_ENTRY = X_TO_REM_TBL (.LST_REM_ENTRY); 'Xfer column count bable to remainder and copied tables 1+ ! ! ! : ) ] Repeat searching the remainder and copied remainder tables for the best choice of blasting until all remaining row/column pairs have been selected for blasting. !Search the remainder and copied table until empty uhilg .LST_REM_ENTRY gtr ZERO do : 2;}3 ; : ; ; 4721 4722 4723 4724 2;32 ' ! ! ! ; : 2;3; ALL_BAD = .ALL_BAD + 1; !Increment the all bad row / column count : 4729 if .ALL_BAD gtr 9 ‘1s the all bad count > 9 : 4731 : : : : : ; ; 4720 ! 9 egin If the all bad count reaches 10 then this chip is concidered to be all bad. End this routine and return the all bad count else continue searching.the tables for the best choice for blasting. 4730 then 4732 4733 4734 else 'Exit and return the count of all bad row/col return .ALL_BAD begin ! ) ] ) ] : Search the remainder and copied remainder tables and find: : 2;%2 : : : ; 4737 4738 4739 4740 ! ! ! ! 1. Number of different columns found in each. 2. Number of different rows found in each. 3. The column number most often found. 4. The number of times the most often column number was found. H 2;2% : 6. The number of times the most row number was found. : : 47464 4745 DIF_COLS = S_COLUMNS (COL_MOST_OFTEN, COL_SUM, .LST_REM_ENTRY)S ‘Find the columns different, most Lften and sum ; 2;2; \ ; 4749 : : 4741 4746 ! S. The rcw number most often found. DIF_ROWS = S_ROWS (ROW_MOST_OFTEN, ROW_SUM, .LST_REM_ENTRY). 'Find the rows different, most foten and sum ! 1f occurances of unigue row numbers occured Page 140 SEQ 0175 BSKELS REV B8 PATCH 00 H 14 ROUTINE DECLARATIONS 4750 2;25 4753 4759 4760 LST_REM_ENTRY =", LST_REM_ ENTRY - ROH SUM; 4761 4762 4763 4764 else _BLST_TBL [.ALL_BAD, R_C] = CLR_FLG; !Indicate this is a bad colums !Load the failing column no. THP“BLST_TBL [.ALL_BAD, R_C_NOJ = TCOL_MOST_OF lEN; failing nibble position the 'Load ~CHIP74; .BAD TMP_BLST_TBL [.ALL_BAD, NIB_NOJ] = 2;98 ; VER CZMLCB ADDED *.*' TO LST_REM_ENTRY COL _PURGE (.LOL _MOST_OFTEN, .COL_SUM, .LST_REM_ENTRY); !Purge column form talbe 'Real1gn pointer =" .LST_REM_ENTRY ~".COL_SUM; LST_REM_ENTRY 4773 4774 4775 : 4777 : 4779 : 011734 end; end; 4776 4778 4780 004167 end; 'Return the number .i all bad rows/columns found return .ALL_BAD; end; 0000006 .SBTTL S.REM.TBL: JSR SUB 011740 162706 000010 S.REM.TBL ROUTINE DECLARATIONS R1,$SAVES : 4646 PC.1.REM.TBL R? =(SP) : s LST.REM.ENTRY H 4706 4707 4708 ; %, LST.REM.ENTRY #10,sp 011744 004767 173230 011750 005002 011752 005046 JSR (LR CLR 011760 010002 MOV RO.R2 CMP BLE R3.#11 2% 011754 004767 020327 003403 012006 012010 010300 000534 JSR 175644 011762 005702 011764 003543 0117266 005266 000030 011772 016603 000030 011776 012002 'Realtgn the pointer b in . : : end” 4765 4766 2;2; 4771 4772 : b in _BLST_TBL [.ALL_BAD, R_C] = SET_FLG:; !Indica te this is a bad row THP TBLSTZTBL [.ALL_BAD, R_C_NO) = TROW_MOST_OFTEN; !Load the failing row no. TMPBLST_TBL [.ALLCBAD., NIB_NO] = .BAD“CHIP74; ‘Load the fa1l1ng nibble position ROW_PURGE (.ROW_MOST_OFTEN,”.ROW_SUM, TLST_REM_ENTRY); !Purge this row from table 4757 4758 : Page 141 SEQ 0176 'Are difterent rows < different columns if .DIF_ROWS leq .DIF_COLS then 4755 4756 : : : T0PS=20 BLliss=16 v2(2i2) PA:<NEALE>PMSKL4.BLI.1 (40) ! more often then did columns numbers then choose : rows for blasting else pick columns for blasting. 4754 ; 18-Mar-1982 16:07:57 18-Mar-198215:44:41 18: 000011 TST 012004 005726 012012 012746 000012 1ST BLE INC MOV 2%: MOV BR MOV PC.X.TO.REM.TBL ; LST.REM.ENTRY ; ALL.BAD ; ALL.BAD,* 4718 4727 4729 (SP)+ : 473 #12,-(SP) : 4744 R2 $ 30(sP) 30(SP) ,R3 R3.RO 6s 012030 012034 012036 012042 012044 004767 010001 000012 (=] N —d wad b S P g OOO—'—Ig Y LST.REM.ENTR,« RO R4 «,DIF.COLS SP, (SP) ROW.MOST.O TEN,F* SP, (SP) R2.-(SP) PC.S.ROWS RO.R1 ROW.SUM, « 000012 000012 #128,-(SP) 177452 #TMP.BLST.TBL R3 170017 007760 #170017,RS #7760, (R3) 177760 000017 #177760,R0 #17,(R3) DIF .ROWS,PIF.COLS 4754 TEN, * ROW.MOST.OF 4757 4758 RS, (R$) 4759 RO, (R3) 20(SP),~(SP) 20(SP) .=(SP) 000020 000020 176406 000024 3s: R2,-(SP) PC .ROW . PURGE 24(5?).n2 s #100000, (R3) 24(SP) ,RS RS 4759| 4757 R1,.Ré 000020 100000 000024 «,DIF .ROWS BAD.CHIP,» R 33 4100000, (R3) %g(SP).RS 4746 LST.REM.ENTRY,* #4,=(SP) Pg.BLSDIV 100000 Page 14¢ SEQ 0177 « COL.SUM, 44(SP), (SP) 000044 030346 b SRSRVENSRERRVSR&R NN% &R P, (SP) R2.~(SP) 82, (SP) 000000G rd -‘d.‘—‘-‘—l-‘d—ba—l_‘_._.d—‘dd—‘—l—ld-d—d—l—.-D-l—l_g_‘—l_...-. NININLNLNNINIALPLNINI NN NI NLNININL NI NI NN N NN NI NI AL N N PN NN AN e i amd b b ) e cnd i i wnd e D e wad D wadd web N LYLY NN b cd aed od ~ N &8 N N SN * COL.MOST.OFTEN, PC.S.COLUMNS 1772764 000004 (el=lelelelelelelelelelololaloleclalelalnlalelelolololelololololelele) SP, (SP) ¥12,-(SP) ROW.MOST.O TEN,F* ROW.SUM,« 4760 ROW.SUM,LST.REM.ENTRY 4761 4754 4765 4756 LST.REM.ENTRY Ny 012020 012024 012026 060616 012746 060616 010246 004767 010004 012716 060616 012746 060616 010246 8 012016 ROUTINE DECLARATIONS e REV B PATCH 00 TOPS-20 Bliss=16 v2(212) (40) PA:<NEALE>PMSKL4.BLI.1T B, BSKELG COL.MOST.OFTEN,* RS RS 170017 007760 177760 000017 000024 000024 RS #170017.R 5 #7760, (R3 ) RS, (RS) #177760,R0 #17, (R3S RO, (R3) 24(SP) ,~(SP) 24(SP) ,-(SP) 4767 COL .MOST.OFTEN,* COL.SUM,* 477 2254 6 2 66 2 4 6 02 010246 0064767 166602 062706 000633 005726 016600 062706 000207 ROUTINE DECLARATIONS MOV 176132 000030 000022 000026 000010 . 118 words . : Routine Size: : Maximum stack depth per invocation: JSR sus 'A ¥ ADD SS: TST 6%: 20 words MOV ADD RTS R2,=(SP) PC,COL.PURGE 30(SP) ,R2 #22,SP 13 (SP)+ 26(SP) ,RO ”M0,SP PC T0PS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (40) Page 143 SEQ 0178 s LST.REM.ENTRY,+ ®e e e Be Vs 8, — e d mad wd b D o [elolololelolels) BSKELS REV B8 PATCH 00 J 14 18-Mar-1982 16:07 18-Mar-1982 15:44: COL.SUM,LST.REM.ENTRY ALL.BAD,* 4772 4733 4778 4646 4647 4646 K The column count table stores a count of adjacent failing columns when the error map is searched for bad rows. Y T T T Functional Description: T This global routine searches the column count e L L table for column counts greater than 10. It a count ot greater than 10 is found then this is e called an all bad column and the temp blast table is loaded with this columns number. The column count table at this all bad column number is then cleared. e 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 (804 4805 Formal Parameters: BAD_CHIP: . . ALL_BAD: pm'ed. Keeps count of how many all bad row and or columns If this count count egqeeds 10 then this chip is called a all bad chip. Implicit Inputs: TMP_BLST_TBL, COL_CNT_T8L Implicit Outputs: ) . The temporary blast table is loaded with a row or column address selected for blasting. ISP TP A . L Poin;s a failing chip which is presently being are found for thls.chvfig PP : 4792 L2 4 T . 4787 (788 4789 4790 4791 begin S : : : ; : 4786 routine S_COL_CNT_TBL (BAD_CHIP, ALL_BAD) = SRS SR : 4781 4782 4L783 4784 4785 ey e : : : : ; 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS R BSKELS REV B PATCH 00 The number of all bad row columns found by this routine is added to the count in all_bad. Completion codes: L P o oo NS Fo) SR DTN Y IR WA Side Effects: none '+ W o0 ~ o T - . The value of all_bad which indicates how many all bad chips found thus far is returned. . 14 18-Mar-1982 12:07:57 ! ! ! ! ! Search through the column count table and find column numbers which were found bad more than 10 times. C(Columns which errored 10 times will immediately by chosen more than for blasting. T0PS-20 Bliss=16 v2(212) PA: <NEALE>PMSKL4.BLI.1 (41) Page 144 SEQ 0179 L 14 BSKELS REV B PATCH 00 4833 4834 4835 ROUTINE DECLARATIONS TR TETE YR TR TR RN FE T TN Iy SO W e Y ; : : : ; begin .Sttt Page 145 SEQ 0180 See it this column number was found in error greater than 10 times. If it was then up the all bad count, load the temporary blast table with this column number and clear this table position of this column number. i; .COL_CNT_TBL [.COL_NUM] gtr 10 then begir 'Is this locations count > 10 ‘Increment the all bad row/col count QL _éAD = ,ALL_BAD + 1; ! 1t the all bad count is equal to ! 10 then exit this routine with the ! all bad count else load the temp blast 4853 ; with this column number. 4854 4855 4856 'Is the all bad count > 9 2; .ALL_BAD gtr 9 4857 4858 4859 4860 4,861 l en else 'Exit and return all bad count return .ALL_BAD begin TMP_BLST_TBL [.ALL_BAD, R_(] = CLR_FLG; !Indicate that this is a bad column 'Load the bad column number TMP_BLST_TBL L[.ALL_BAD, R_C_N 0] = .COL_NUM; 4862 4863 TMP_BLST_TBL [.ALL BAD, NIB"N 0] = .BAD_CHIP/4; !Load the failing nibble position !Clear the table of this bad column cog_cm_TBL C.coL_Ruml = ZERO ES; 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 TOPS=20 Bliss=16 v2(212) (41) PA:<NEALE>PMSKL4L.BLI.T1 4 !Search thru the column table incr COL_NUM from O to .MAX_CHIP_COL - 1 do 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 : : : 18-Mar-1 982 16:07:57 18-Mar-1982 15:44:41 eng,; end; end; If the all bad count did not reach 10 then do a normal exit here with the present value of all bad count. 'Exit and return the number of all bad rows/cols }esurn ALL_BAD; end; 012310 004167 012314 005002 0000006 .SBTTL S.COL.CNT.TBL ROUTINE DECLARATIONS JS CLR R1,$SAVE? R2 S.COL.CNT.;BL: : ; COL.NUM 4781 4834 012316 000453 126227 101446 005266 016601 020127 003402 010100 000207 006301 062701 042711 010200 ( 1 2) T0PS~-20 Bliss=-16 V 2(2 (41) PA:<NEALE>PMSKL4.B LI.1 1 ROUTINE DECLARATIONS 18: 001002°* 000012 000010 000010 000011 2%: 030346" 100000 006300 012460 006300 006300 006300 042700 042711 050011 016646 012746 004767 042700 142711 150011 105062 022626 005202 020267 002722 016600 000207 ; Routine Size: 3] BLE 28 MoV RTS ASL ADD BIC MOV ASL ASL ASL ASL 8IC 8IC 8IS MOV 170017 007760 000012 MOV 000004 0000006 177760 000017 001002°* 3s: 48: 040376° JSR 8IC 8I(8 81S8 CLRB cmp INC 8Lt MOV RTS 000010 53 words B8R CMPB BLOS INC MOV . . : Maximum stack depth per invocation: S words Page 146 SEQ 0181 ggL.CNT.TBL(RZ).fi12 , *(COL.NUM) 4846 10(SP) 10(SP) ,R1 R1.411 ALL.BAD ALL.BAD, 4849 4857 .. BSKELG REV B PATCH 00 4859 4862 . . * COL.NUM, 4863 BAD.CHIP,» 4864 ; «(COL.NUM) 4865 ; R #170017 R0 #7760, (R1) RO, (R1) 12(SP) ,=(SP) #4,=(SP) PC.BLSDIV #127760,RO 17, (R} RO, (R1) COL.CNT. TBL(R2) (SP)+, (SP)+ R2 ?g.HAX.CHlP.COL 10(SP) ,RO PC [ . [ . NUM COL = UM, COL.N : . [4 ALL.BAD,* 4861 4834 4782 4781| N 14 ‘e i all the with The error map is loaded failing thier at failing row numbers ! Functional Description: o e TGRS e S el T AS S e S M i Il Rttt Em I Rl Ml M et et Mttt @t et et ar et et ettt b 1 begin bt o~ w Qo ~ He 0 0o 000 (=2] N N L R R R R N T LR P T AR N L e R N R 18-Mar-1982 15: 4 4 24 routine S_ERROR_MAP (BAD_CHIP) = R N T T T T T O T N T T TR T T T T T [ 18-Mar-1982 16: 0 7.5 14 ROUTINE DECLARATIONS W &~ & 1oV} 4879 PRLN R PR TR T TN T P BSKELS REV B PATCH 00 sector addresses. This global routine searches the error map for occurances of bad rows. When a bad row is found a bad row count a bad column count is incremented and column is also failing adjacent the at incremented. It 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. 1f after searching does not exceed 10 the error map the bad row then the program goes on to the next row and the failing co?umn count are left alone. formal Parameters: BAD_CHIP: ) i Points to a failing chip presently being pm'ed. Implicit Inputs: ERROR_MAP, COL_CNT_TBL, COL_PTR, TMP_BLST_T8L 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 found thus far is returned. The error map is searched for failing rows addresses and they are cleared if set. d the number with The column count table is incremente of times column pairs are detected failing. TOPS=-20 Bliss=16 V 2 ( 2 1 2) (42) PA:<NEALE>PMSKL4.B L 1 1 Page 147 SEQ 0182 - e P b Y REV B PATCH 00 : : 4931 : 4932 4933 4934 4935 4936 ; 4938 : 4939 : : 4941 4942 ; ; ; 4944 4945 4946 4947 4948 ; COL_INDEX, !Stores the error mag word where this row resides . !Stores the bit in the error map word where this bit resides !Count of how many bad row found !Pointer into to the column pointer table !Stores the calculated adjacent failing column number 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 WRD_INDEX, 4940 BIT_INDEX, ROW_CNT, PIR, 6963 !Selects how many quadrants to test !Selects how many quadrants to test QD_PAIR_LOOP, QD_NUM_SEARCH, QD OFFSET, STARY_SEC, END_SEC. ALL_BAD = =1; 1_COL_CNT_TBL O); 4953 ! . . . 4954 ! Determine which type chip this 4956 4957 4958 ! ! ! 4955 4959 is and dafine this routines run it .BNK_NUM_SEC eql 127 4962 begin QD_PAIR_LOOP = 0; QD_NUM_SEARCH = 0. 4963 4964 else 4965 4966 4967 4968 4969 11s this a 16k chip 116k chips only have one guadrant to test end egin QD_PAIR_LOOP = 1; QD_NUM_3EARCH = 1; end; 4970 !Start all bad at -1 this value gets returned 'Init the column count table time parameters. then 4960 4961 H : 'Leave loop label local 4952 ; 164k chips have four quadrants to test 4971 QD_OFFSET = =2; !Start the offset off at -2 4973 incr QD_LOOP from 0 to .QD_PAIR_LOOP do !Loop on two quadrant pairs 4972 . 4974 begin 28;2 QD_OFFSET = .QD_OFFSET + 2; 'Up the offset by two 4977 incr ROW_NUM from 0 to 127 do tSearch all words in this sector 4978 4979 2839 4982 SEQ 0183 none Label A; 4949 4950 4951 ; PA:<NEALE>PMSKL4.BLI.1 (42) ! Side Effects: ! 1-- 4937 : 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS begin A WRD_INDEX = .ROW_NUM/16; BIT_INDEX = .ROW_NUM mod 16; begin !Calculate which word this row is in ‘Calculate which bit in word this row is in BSKELS REV B PATCH 00 : 4983 C 15 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKLSL.BLI.1 (42) incr QD_SEARCH from O + .QD_OFFSET to .QD_NUM_SEARCH + .QD_OFFSET do : 4984 : Zggg begin : 4988 case .QD_SEARCH from 0 to 3 of : 4991 ; ; : 4993 4994 4995 ROW_CNT = ZERO; PTR = =1; 1_COL_PTR O); 'Row starts at 0 for the first quad search at -1 !The pointer starts table pointer 'Init the column : 4997 END_SEC = 127; 'Quad 0 end sector ends at 127 : 4999 : : : ; : : : : ; : : 4985 2838 4992 5001 5004 5005 ; : : 5008 5009 5010 : : 5007 ; 5017 : 5016 5019 ggg? ; 5022 : gg%g : : 5027 gg%g : 5030 : gggz : ; : ; START_SEC = 0; end; 03 START _SEC = 256; END_SEC = 383: end; gggz 5031 5032 'We are in the first quadrant or just a 16k part ] 'Quad 0 sectors start at 0 !We are in quadrant 1 'Quad 1 sectors start at 256 ‘Quad 1 sectors end at 383 ) 21 : begin ROW_CNT = ZERO; PTR = =1; I_COL_PTR (); START_SEC = 128; END_SEC = 255; end; !We are in quadrant 2 !Start 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 . £33 : beg&n START _SEC = 384; END_SEC = 511; tes; !Which quadrant are we in : beg&n 5018 : | begin 5013 5014 5015 : ol : 5011 5012 : H set 5002 5003 5006 ; : !Search both quadrants in this pair 4998 : : . 4996 5000 Page 149 SEQ 0184 end; !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 i; .ERROR_MAP [.SEC_NUM, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] eql 1 en begin ROW_CNT = .ROW_CNT + 1; !Up the bad row count if .ROW_CNT gtr 9 then begin !Is there > then 10 bad rows ALL_BAD = .ALL_BAD + 1; 'Up the all bad count !Is this row bit set BSKELS REV B PATCH 00 D15 18-Mar-1982 16:07:57 18=-Mar-1982 15:44:41 ROUTINE DECLARATIONS 2; LALL_BAD gtr 9 L en else return .ALL_BAD !Exit and return the the count bfigin selectgne .SEC_NUM of A SR TRLA TRPR LR TN PR Y] e Bt %y a0, se !This is a bad row !Find which row number this is [0 to 127, 256 to 383) : TMP_BLST_TBL [.ALL_BAD, R_C_NOJ .ROW_NUM; [128 to 255, 384 to 511] : TMP_BLST_TBL [.ALL_BAD, R_C_NOJ .ROW_NUM + 128; tes; TMP_BLST_TBL [.ALL_BAD, NIB_NO] = .BAD_CHIP/4; incr index from 0 to .PTR do 'find which nibble its in Decrement the column counts COL_CNT_TBL C[.COL_PTR [.index]] = .COL_CNT_TBL [.COL_PTR [.index]] -~ 1; :; .QD_PAIR_LOOP eql 0 !Clear the quad of this roww en incr CLR_SEC _ROW from 0 to 127 do ERROR_HAP C.CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] = CLR_FLG else if .QD_SEARCH leg 1 then AT YA TR Page 150 SEQT 0185 !ls there > 10 all bad rows/columns TMP_BLST_T8BL [.ALL_BAD, R_C) = SET_FLG: begin incr CLR_SEC_ROW from 0 to 127 do EfgogtgAF [.CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] PR PR TR YRR YRRTE PR TN PR PR T TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T (42) incr CLR_SEC ROW from 256 to 383 do EfsogtgAP C.CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] else end begin incr CLR_SEC_ROW from 128 to 255 do ERROR_MAP [.CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, Z:RO] CLR_FLG; incr CLR _SEC ROW from 384 to 511 do ERROR_MAP [.CLR_SEC_ROW, .WRD_INDEX, .BIT_INDEX, ONE, ZERO] CLR_FLG; BSKELS4 ROUTINE DECLARATIONS 5087 5088 5089 5090 5091 5092 5093 5094 5095 le:ve A; !Leave the lLoop and do the next row number end; else end begin selectgne .SEC_NUM of se !Increment the adjacent column count table [0 to 127] : begin b W N NN N NN AN A NI NI N NN NI NI NN b b b ed ek od 1wk b ek 2 QO O OO OO O (=4 CONOMES NN = O O 0O NN NN 2 OO NV B LN = OV ~NOM NS W N VIV COL_INDEX = .ROW_NUM + _SEC_NUM; [128 to 2551 : bef1n d COL_INDEX = .ROW_NUM + (.SEC_NUM - 128); e e wd e WAL AVVIAWTA WA D if .COL_INDEX geq 128 then COL_INDEX = .COL_INDEX 256 to 383] : e befin e cand o COL_INDEX = .ROW_NUM + (.SEC_NUM - 128); rd e if .COL_INDEX geq 256 then COL_INDEX = .COL_INDEX 128; e = e end; [384 to 5111 : begin COL_INDEX = .ROW_NUM + (.SEC_NUM - 256); ol s AA IWA VT 128; end; if .COL_INDEX geq 256 then COL_INDEX = .COL_INDEX b o o rach el = b ol e 128; end; b d b wd e ATV VIV ek D if .COL_INDEX geq 128 then COL_INDEX = .COL_INDEX tes; end; COL_CNT_TBL [.COL_INDEX] = .COL_CNT_TBL [.COL_INDEX] + 1: PTRTM= _PIR + 1. i ol WVIWIWAWIWA I P TE PR TR LN FI FIYE DN T TR YR TR PR TR PRI IR YR YE TR FE TS PRV P e e S T YA TP LI TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) end; T TIPS TN TN TN T TN Y REV C FAYH 00 E 15 18=-Mar-1982 16:07:57 18-Mar-1982 15:44:41 CO%_PTR C.PTR] = .COL_INDEX; enda; end; 128; Page 151 SEQ 0186 Wy (V] return .ALL_BAD; end; A R 000091 000001 177776 000026 001502 000002 LSS B S 000030 000020 000022 000030 000020 000020 000016 000016 000020 0000006 000012 012670° #-1.10(SP) PC,i.COL.CNT.T 8 L BNK.NUM. SEC., #1 7 4 *,ALL.BAD 6951 4952 4959 CLR CLR B8R 22(SP) 3g(SP) 2 QD.PAIR.LOOP QD .NUM. SEARCH 4962 ~,QD.PAIR.LOOP *,QD.NUM. SEARCH *,QD.OFFSET @D.LOOP 4967 BNE 000022 000030 18: 2s: 3s: 48: 5$: 68: #32,5P MOV JSR CMP MOV MoV MoV CLR JMP ADD MOV ADD CLR MOV Moy JSR MoV Mov MOV JSR MoV MOV DEC JMP MOV ASL ADD .WORD .WORD .WORD .WORD 1$ #1,22(sP) #1.30(5P) #-2,20(SP) 26(SP) 438 #2,20(SP) 30(SP) ,16(SP) 20(SP) .16(SP) R3 R3,~(SP) #20,~(SP) BSe W %o NeBe Ve B 060416* 000177 4879 R1,$SAVES R ¥ 000010 S.ERROR.MAP ROUTINE DECLARATIONS ATR TE TN 000032 177777 172454 .SBTTL S.ERROR.MAP: JSR sus PC.BLSDIV PC.BLIMOD A S(SP).RS 65(R§).PC QD.NUM, SEARCH, * QD.OFFSET,+ ROW.NUM ROW.NUM, * ROW.NUM, « #20.-(sP) RO.12(SP) 26(5P).,6(sP) 6(5P) * ,QD.OFFSET INDEX . RD * ,W , 12 (SP) RO R3’ (SP) LEE TR T OWVOONONES NN =D O b cnd W Y T end; T ) wd cd cd cd ad T N1 ST NT N NT T NT ST S ST N T N Y I TR R DRI ch wd wnd D el e b o el e - end; end; 162706 000114 Page 15¢ SEQ 0187 end; 000020 0000006 000012 000026 000006 000006 001340 000006 012676 TOPS~20 Bliss=16 V 2( 212) PA:<NEALE>PMSKL4.B L1.1 (42) end; 0000006 012766 004767 026727 £ 15 18-Mar-1 98 18-Mar-1 98 ROUTINE DECLARATIONS 004167 D wvh =D elelelelelelelelelelolelelola) S Y IR W Sy b ol cund - VIVIIIVIVIWA VIV (¥, 8Sk.:L4 ncv B PATCH 00 *,BIT.INDEX 4959 4971| 4973 4975 4984 4977 4979 4980 QD.OFFSET,QD.SEARCH QD.SEARCH 4984 QD.SEARCH, * 4988 | BSKELG REV B PATCH 00 G 15 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS 000032 177777 172316 000022 000177 000020 000400 000577 v00022 000020 000032 177777 172246 000010 012700 005066 012704 012766 012712 004767 012716 005066 012722 012766 012730 000433 012732 012766 012740 012766 012746 000624 012750 005066 012754 012766 012762 004767 012774 012766 000377 000020 013004 013012 83%852 012766 012766 85??82 000600 000777 000022 013026 000167 001150 000010 78: 8$: 9%: 013002 000406 013032 010500 013034 013036 013040 013042 013046 013050 013054 013056 013062 013066 013070 006300 006300 006300 066600 005300 062700 010046 016646 012746 005046 004767 000022 000020 108: 11$: 128: 13¢: 000014 010230° 000014 000001 0000006 32(SP) #-1,10(SP) Pc,1.COL.PTR 22(sP) #177,20(SP) 118 #400,22(SP) #577.20(SP) 118 32(SP) #-1,10(SP) Pc,I.COL.PTR ; ROW.CNT t «,PIR : * START.SEC * * END.SEC : ‘ «, ,TART,SEC : ~,END.SEC : * ROW.CNT ‘PR : MOV MOV MOV EEX #377.20(SP) 178 #600,22(SP) #777.20(SP) 5§(sr>.ns % END.SEC : * «,START.SEC + =, END.SEC . §E€RLQ§EC'SEC'"“" 5012 4988 ; SEC.NUM,* 5025 B8R JMP MOV ASL ASL ASL ADD ASL ADD MOV MOV MOV CLR JSR ADD 013074 062706 000010 #200,22(5P) 398 RS,RO RO RO RO 14(SP) ,RO RO #ERROR.MAP,RO RO,=(SP) 14(SP) ,~(SP) #,-(SP) -(SP) PC,BLSGT2 RO 128 005300 001351 013110 026627 000032 CMP 32(5P), M1 INC 16(SP) 013104 005266 000032 013116 013120 003002 000167 000011 000654 013124 005266 000016 013130 026627 000016 000011 013136 INC 148: CMP BLE 003404 013140 062706 000006 013144 000167 001126 013150 016604 000016 86T JMP ADD 158: JMP MOV 32(SP) 143 338 5030 5037 16(SP) ,R4 : ALL.BAD,* 5040 RS ; SEC.NUM 5042 RS, 4177 ; SEC.NUM,* 448 013176 003406 CMP 5028 : BLE 020527 000177 : ROW.CNT : ROW.CNT,» #6,SP 15$ 002403 013170 013172 ; BIT.INDEX,* 5033 16$ ST : WRD.INDEX,* : ALL.BAD BLT 013166 005705 030346° 100000 5017 5018 5022 * ALL.BAD,* R4 R4 TBL T. ATMP_BLS #100000, (R4) 006304 062704 052714 5011 16(5P) ,.#11 ASL ADD BIS 013154 013156 013162 : «,START,SEC 4994 4995 499% 4997 4988 5002 5003 4988 5008 5009 5010 #10,5P DEC BNE 013100 013102 Page 153 SEQ 0188 4993 CLR MOV JSR CLR MOV BR MOV MOV BR CLR MOV JSR MOV 0:2766 012766 000200 000022 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4L.BLI.T (42) 17§ 5035 H 15 BSKELG REV 8 PATCH 00 ROUTINE DECLARATIONS 013200 000400 020527 013204 002405 013206 020527 013212 003002 013214 010302 013226 020527 000377 003406 020527 013240 002417 18-Mar-1982 15:44:41 168: 000577 013216 000417 013220 020527 000200 013224 002403 013232 013234 18-Mar-1982 16:07:57 000600 178: 013246 003014 188: 168: BLE (MP 208 RS, #600 208: 013256 013260 013262 013264 013266 013272 013276 006302 006302 006302 006302 042702 042714 050214 218: 013304 013310 012746 004767 013252 062702 000200 013300 016646 170017 007760 000056 000004 0000006 228: 000412 005004 013340 005000 013346 013350 005300 110064 001002° 013356 020266 000014 013342 013354 156204 002222° 156400 001002° 005202 013362 003763 013364 005766 000034 013370 001031 013372 005004 013374 010400 013376 013400 013402 006300 006300 006300 013410 013412 013416 006300 062700 010046 013404 013420 066600 016646 000020 010230° 000020 23s: 22% ; SEC.NUM,* ; ROW.NUM,* 5046 ; SEC.NUM,+ 5042 ; SEC.NUM,* ; SEC.NUM,* : SEC.NUM,* MoV R3,R2 : ROW.NUM, 5049 : BAD.CHIP,* 5052 R2 : INDEX 5054 (LR R4 : 5055 CLR RO DEC MOV8B RO RO,COL.CNT.TBL(R4) (MP R2,14(SP) : INDEX 5054 34(SP) :; QD.PAIR.LOOP 5057 CLR MOV R& R4 RO : CLR.SEC.ROW : CLR.SEC.ROMW,* 5060 5061 ADD 20(SP) ,RO : WRD.INDEX,* 20(sP),=(SP) : BIT.INDEX,* 228 ADD #200,R2 MOV 56(SP) ,=(SP) ASL ASL ASL ASL BIC BIC 8IS MOV JSR BR BISB INC BLE ST BNE 258: RS, #4377 ; SEC.NUM,# RS, 4777 BISB 248: 21$ RS, #4200 19$ Page 154 SEQ 0189 CMP BGT CLR 013332 013334 BLT BISB 150014 013326 005002 013330 CMP BIC BICB 013315 042700 177760 013320 142714 000017 013324 18§ RS #577 18$ R3,R2 010302 MOV RS, #400 B8R CMP BLT 013242 020527 000777 013250 C(MP BLT CMP BGT TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (42) ASL ASL ASL ASL ADD MOV MOV R2 R2 R2 R2 #170017.R2 #7760, (RG) R2, (R4) #4,-(SP) PC.BLSDIV #177760,R0 #17. (R4S RO, (R&) 248 COL.PTR(R2).,R4 P «(INDEX) ,« COL.CNT.TBL(R4).RO R2 238 268 RO RO RO RO #ERROR .MAP RO RO,~(SP) * INDEX.PTR BSKELS& REV B PATCH 00 013424 013430 013432 013436 013442 013444 013450 013452 012746 005046 004767 062706 005204 020427 003751 000550 115 18-Mar-1982 1 18-Mar-1982 15: ROUTINE DECLARATIONS 000001 #1,-(SP) 0000006 000010 #16.5P 000177 RG #177 000012 R4 25§ 000001 328 26%: 12(sP) .M 29% R R4 ,RO RO RO RO mv\mmmmmmmgw o»mowogwo gKWNN—l—‘ - sl = i wd md b ot oD b b wd b uwwwuwuuwwg [elelelelelelelelalele]e] 28(SP).RO 000020 R RO,~(SP) 20(SP) ,=(SP) 000020 #1.,-(SP) -($P) 000001 #10,sp BLE 28$: SessaRRRRREERs SRS RUASSS SRNCERERRIFNER MOV ASL ASL ASL ADD ASL ADD Mov 010230° (elelelelalelelelelalelelele] 5060 ; QD.SEAR(H,+ 5057 5064 : CLR.SEC.ROW : CLR.SEC.ROW,* 5068 5069 ; WRD.INDEX,* ; BIT.INDEX,* ; CLR.SEC.ROW ; CLR.SEC.ROW,* 5068 R4 RO ; *,CLR.SEC.ROW ; CLR.SEC.ROW,* 5072 5073 28(SP).RO : WRD.INDEX,* R4 000177 000020 000001 0000006 000010 000577 000020 ¢ CLR.SEC.ROW ; CLR.SEC.ROW,* PC,BLSPU2 0000006 000010 000200 SEQ 0190 #ERROR .MAP ,RO 010230° 000020 0 013600 Page 155 -($P) PC,BL$PU2 27s: 000400 ) ( TOPS-20 Bliss=16 ve(212 PA:<NEALE>PMSKL4.BLI. 1.1 (42) 298%: : 308 R& ,M177 27$ #400,R4 RO RO RO R #ERROR . MAP ,RO - (SP) RO, 20(SP),=(sP) MOV CLR JSR ADD INC #1,-(5P) -(S$P) BLE 288 MoV ASL ASL ASL ADD ASL ; BIT.INDEX,* PC,BLSPU2 #10,sp R4 RG 577 ¢ CLR.SEC.ROW : CLR.SEC.ROW,* 5072 323 5064 R4 RO 5081 #200,R4 RO RO RO 20(SP) ,RO RO ; WRD.INDEX,* J 15 BSKEL4 REV B PATCH 00 014072 005046 004767 062706 005204 020427 003751 012704 010400 #ERROR .MAP, RO RO,~(SP) 010230° 20(sP) ,=(sP) 000020 000001 #1,-(SP) -($p) 0000006 000010 PC,BLSPU2 000377 RG 4377 000600 #10.sp 5080 Ré,RD ; *,CLR.SEC.ROW ¢ CLR.SEC.ROW,* 5084 5085 20(SP) ,RO : WRD.INDEX,« 20(SP) ,~(SP) ; BIT.INDEX, « 30$ 000020 #600,R4 RO RO RO RO #ERROR . MAP ,RO RO,=(SP) 010230° 000029 000001 SEQ 0191 : CLR.SEC.ROW : CLR.SEC.ROW,* R4 31s: Page 156 ; BIT.INDEX,» #1.,-(5P) -($P) PC,BLSPU2 0000006 000010 :lb.sp 000777 R4 NTTT R 328: 33s: 31$ : CLR.SEC.ROW : CLR.SEC.ROW,* 41 5084 5090 (SP)+,(SP)+ s SEC.NUM 5097 ; SEC.NUM,COL.INDEX ; ROW.NUM,COL. INDEX ; COL.INDEX,= 5102 000177 000200 000200 ; SEC.NUM,» 000377 R3.R4 R4 R1 #200,R1 R1,#200 000200 000200 000400 020527 000577 5104 ; SEC.NUM, » 348 ) 013772 013774 013776 014000 014002 014004 014010 014012 014014 014016 014022 014024 014026 014032 014034 014040 0146042 014044 014046 014050 014054 014060 014062 0146064 014070 052700 070046 016646 012746 ROUTINE DECLARATIONS TOPS-20 Bliss-16 4 ( PA:<NEALE>PMSKL&.BL I 358: LA TR PR YN 013652 013656 013660 013664 013670 013672 013676 013702 013704 013710 N13712 013716 013720 013722 013724 013726 013732 013734 013740 013742 013746 013752 0137564 013760 013764 013766 18-Mar-1982 16:07:5 ? 18-Mar-1982 15:464:4 1 * SEC.NUM, ROW.NUM,« 5110 COL . INDEX,* 5112 «,COL. INDEX *,(OL.INDEX 388 37 RS, #400 ; SEC.NUM,» RS, #4577 ; SEC.NUM, « 368 5097 005266 016604 110164 005205 020566 003002 000167 005266 026666 #200,R1 R1.#400 000200 000400 36$: 000600 000777 388 RS, R4 R3.R4 R .R1 #400.R1 000400 000400 378: 38s8: 000200 001002°* 000010 000010 002222' 39%: 000020 176614 000006 000006 38§ 378 RS, #4600 38$ RS #4777 408: 000024 176420 R1,#400 38$ #200,R1 COL.CNT.TBL(R1) 10(SP) 10(SP) R4 2;.c0L.PTR(R4) RS,20(SP) 408 138 176326 428: 438: 000022 176262 448: 000010 14306 000207 : Routine Size: 000032 459 words . 26(SP) 26(SP) ,22(sP) 443 3s 10(SP) ,RO #32,sP PC . : Maximum stack depth per invocation: 28 words 5118 COL.INDEX,* 5120 *,COL.INDEX 5097 SEC.NUM,« « SEC.NUM, ROW.NUM, * *,COL . INDEX 5126 L . INDEX «,CO COL.INDEX,* *,COL. INDEX . INDEX) *(COL PTR PTR,* COL.INDEX, SEC.NUM SEC.NUM,END.SEC ; QD.SEARCH ; ROW.NUM : ROW.NUM, * 000177 000026 000026 * SEC.NUM, ROW.NUM, » «,COL.INDEX ; SEC.NUM, « : Page 157 SEQ 0192 ; QD.SEARCH,* 41$: 000006 Ve Na Ve Ve e 014166 0164172 014176 014202 014204 014210 014212 014216 014222 014162 105261 36$ RS, R4 R3.R4 R ‘R1 Ve e %a By % 003011 010504 060304 010401 162701 020127 002421 000416 020527 0026415 020527 003012 010504 060304 010401 162701 020127 002402 162701 ROUTINE DECLARATIONS TOPS=-20 Bliss=16 Vv2(212) PA:<NEALE>PMSKLGL.BLI.T (42) Ve ®aNe Ve Ve Ve N 014076 014100 014102 014106 014106 014112 014116 014120 014122 014126 014130 014134 014136 014140 014142 014144 014150 014154 014156 K 15 18-Mar-198 18-Mar-198 ror BSKELS REV B PATCH 00 4978 4977 . QD.LOOP 4973 ; 4880 4879 ; QD.LOOP,QD.PAIR.LOOP ALL.BAD,x O routine S_CHIP_TBL (START) = R, This global routine searches the bad chip table looking for fallin? chips. When a failing chip is found the tailing chip number is returned, If no failing chip is found then a -1 is returned. formal Parameters: _ START: ' Indicates where to start searching in the bad chip table e L L E L L L L L o e Functional Description: Implicit Inputs: CHIP_TBL Implicit Outputs: none Completion codes: . . The number of the next failing chip to be PM'ed is returned or a -1 is returned if no failing chips remain in this bank to be tested. Side Effects: none + Search the chip table and find the If one next failing chip to PM. is found then return to the caller that chip number else return a -1 to indicate that all the failing chips have been PM'ed ISearch thru the chip table incr TBL_INDEX from .START to 38 do if .CHIP_TBL [.TBL_INDEX, FAULT] then return .TBL_INDEX: return =1; Exit and return =1 if no chip faults are detected end; S.CHIP.TBL: MoV Mov S.CHIP.TBL ROUTINE DECLARATIONS R1,-(SP) 4(SP) RO : START,TBL.INDEX s LSBTTL 000004 'Exit and return ndex o 016600 +e O 014312 . Dy O N NN = OO 00 NN NS AN = OO 00 NN N SN = O O 00 O A NN =2 OO 00 NN 010146 Page 158 SEQ 0193 (9,1,] AN — b el D 014310 TOPS=-20 Bliss=16 Vv2(212) PA:<NEALE>PMSKL4.8L].1 (43) begin b D s el =D D D ocd ) i - ol il b A N VTA VDT A TN VIVIVAIWVV D D wd i b D b AN D cd =D B D el D il A T A AT I ) b b cnd b ol ) e e b i WVIVIWA VIV 18-Mar-1982 15: ROUTINE DECLARATIONS 00 D e A VTVHA A VA - .. L IR IRIR N T I T T N P T P L 15 18-Mar-1982 1 O OOV VOVOVB0BCOON000000000 NN NNNNNNNNOOO OOV AL BSKELS REV 8 PATCH 030230° 000045 177777 ) ; Routine Size: 18 words . on: invocati per depth stack : Maximum 2%: 3s: 2 words RO ; TBL.INDEX MOV ASL 1ST RO.R1 R1 ; TBL.INDEX,« 5193 TBL.INDEX 5191 INC CMP BLE CHIP.TBL(R1) 33 RO RO, #46 MOV 18 #-1,R0 RTS PC MoV (sP+.R1 ; 18L.INDEX, « b 003767 012700 012601 000207 1%: DEC Vivn -0 014342 014344 014350 014352 005300 000405 010001 006301 005761 100406 005200 020027 Page 159 SEQ 0194 b 0164316 014320 014322 014324 014326 014332 014336 016336 ROUTINE DECLARATIONS TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (43) VAN BSKELS REV B PATCH 00 m 15 18=Mar-1982 16:07 18=-Mar-1982 15:44: N 15 BSKELS REV B PATCH 00 ROUTINE DECLARATIODNMS : routine RD_OLD_PROM_DATA (ARRSBNK_SEL) : novalue = 5197 5198 00 NO N NN =2 OO0 NON S (N = OO0 00 RN S NN = OV 00 NN WA =2 O 000 NS IR = O mwmm\nmmmm\nmmmmmmm\nmmmmmm\nmmmmmwmmmmmmmmmmmmmmmmmm AINLINININLNINL VNINLNINIALININNLNI NI NINININI NN NINI NI NN NN AININI NI NN NN NI NN NININININD 8585 85 25 85 85 8 2 D AN NN NN NN AN N PO NN N NINININ) =2 cd wmd ed ed ed aad —d 2 S O O O OO OO0 0O 5199 N PR T T A T T S S e WA T P P SO P T PR PR PR TR T P A TR E TR TR PR TN IR P TR TN I T S I : o 18-Mar-1982 16:07:57 18=Mar=1982 15:44:41 1 ) TOPS=-20 Bliss~16 v 2 ( 212 PA:<NEALE>PMSKLS. 8 L 1 1 (44) begin ‘es . ! Functional Description: e on an Maintenanc Prom perform In order to ! : ! ! : array module the old prom data stored in the tested arrar must be read and saved into the error map where the new prom data found by this program can be OR‘ed with it. ! ! This glqbal routine will read the old prom data stored in prom on the tested array into the error map. : i Formal Parameters: ARRSBNK_SEL: ! Stores the array and bank secect address. : i Implicit Inputs: ERROR_MAP, RET_STATUS ; ) i Implicit Outputs: ! ! : v The error mag is remafiped to Look exactly like the blast table and the old prom data in this tested array is read into it. i Completion codes: : none i Side Effects: : none . local PROM_ADRS, FINISH; + !Siores the built prom address ‘Inc: loop ending variable 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 each.” This map declaration maps the exercisers 170 buffers into this structure. ma P ERROR_MAP : blockvector [4, 512] volatile; i Define how nan‘ rows and column to read ! out of the on board UV proms. 'Map the error_map the same as the blast table Page 160 SEQ 0195 ATV VV y'S I IV IV IV TV IV IV TV IV AV IV TV LS LS LST,NT,ST ST, NT ST 6T T NT ST 61,81 9T ¢ OO OO NN AV NN S WA= O 000NN WA = OO nLy it .BNK_NUM_SEC eql 127 then FINISH = 127 else FINISH = 255; !Select the loops ending !Enable prom reads RD_PROM_MODE; PROM_ADRS = ZEROES: iClear the prom address PROM_ADRS<11, 4> = .ARRSBNK_SEL<.ARR_SEL_POS, ARRSS®!._SIZE>; !Select the array '+ ! 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 location. incrbSEg_BNK from 0 to 3 do PRgn_ADRS<10. 1> = ZERO; egin PROM_ADRS<8, 2> = ,SEL_BNK; 'Read prom data for all four banks on this array !The first loop reads row prom data !Select the proms bank position ‘e ! Within this bank of the on board proms ! read all row prom data and store it into the ! ! error map at location. its respective error map incrbROQ_NUH from 0 to .FINISH do egin PROM_ADRS<0, 8> = .ROW_NUM; WRT_RH (MLPA, PA_REG, "PROM_ADRS); !Read out all the prom row data !Select the row address !Write the address to the mipa reg DELAY (ONE_uS). 'Wait for prom data to clock into mipd ERROR_MAP r.SEL_BNK. .ROW_NUM, FULL_WRD] = .ML_ADDR [MLPD, PD REG]: g 'Put the prom data into the error map end; !This loop will read out the prom column data CEL O TP P L I Y PROM_ADRS<10, 1> = ONE; '+ ! Wwithin this bank of the on board proms ! read all column prom data and store it into the ! error map at its respective error map ; location. incrbcog-NUH from 0 to .FINISH do egin PROM_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 iWait tor prom data to clock into ml d ERROR_MAP t.SEL.BNK. .COL_NUM + _COL_BASE, FUL _WRD] = -ML_ADDR [MLPD, PB_REG]: TLoad the efror map with the prom data C 16 BSKEL4 REV B PATCH 00 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL&.BLI.1 (44) Page 162 SEQ 0197 end; end; !Clear out the prom read mode CLR_MBUS; end; .GLOBL 014354 014360 014364 014372 014374 014400 014402 014406 014412 014420 014424 014430 014434 014436 014442 014444 014450 014454 014456 014462 014464 004167 162706 026727 001003 012716 000402 012716 016701 016166 012700 016701 010061 005002 012746 060616 016746 012746 005046 004767 000300 006300 006300 006300 H o 000022 .SBTTL RD.OLD.PROM.DAT ROUTINE DECLARATIONS RD.OLD.PROM.DAT: JSR R1,$SAVES : su8 gng ?gx.nun.ssc.x177 : 000177 ggv g;??.(SP) : «,FINISH MOV MOV MOV MoV MoV #377, (SP) ML .ADDR,R1 24(R1),16(sP) #40,R0 ML.ADDR,R1 ; *,FINISH CLR R2 000377 040374 " 000024 000016 000040 040374 " 18: 2s: MOV n00024 MOV ADD 000042 MOV 0460412° 000004 103777 BIC BIS CLR MoV SWAB BIC BIC BIS MoV SWAB CLRB ASL CLR 4$: : : ARHSBNK.SEL,* ARR. SEL .POS,~(SP) PC.BLSGT2 8IC 003400 #42,-(SP) SP, (SP) JSR SWAB ASL ASL ASL 074000 : MLREG,* #4,-(SP) BR CLRB 5197 5251 : %,ML.REG : «,MLREG RO,24 (RY) MoV CLR 0000006 176377 105002 #22,SP 040416°* 000177 3s: &fi“‘“"”‘"‘"‘""'g NOOVSNONNO A WVIAVIVIVIVAVIVIAAAAL —d il b D ) cld e e oD el BBBBBDDDDEHDN jelelolelolelelelolelele b 062700 042702 0000006 LS$DLY : PROM.ADRS -(SP) RO RO RO RO #103777.R0 #746000.R2 RO.R2 RS R5.R4 R& #176377 R4 #3400,R2 : *,PROM.ADRS : =,PROM.ADRS : SEL.BNK ¢ SEL.BNK,* 5264 5267 ; *,PROM.ADRS : «.PROM.ADRS : SEL.BNK,* 5281 R4 ; ROW.NUM 5276 R2 ; PROM.ADRS 5278 R4 ,R2 RS,RO RO RO RO 9s 014564 014570 014574 014576 0164602 014604 014610 014612 014614 014616 014620 014622 014624 014626 014632 014640 014646 014650 014654 014656 01670 001404 005066 005301 001374 005303 000766 010003 060403 006303 016701 016166 016663 005204 020466 003731 052702 060374 000020 (SP) 1), 20(R24 000024 R2.R3 ML .ADDR,R1 060374° 000020 000001 R3.20(RT) 5%: 0000006 000030 : %, 887WP2 : ; $$TMP2 46(R1),82(SP) 22(SP) "ERROR.MAP (R3) 0102 000010 9%: 002000 0000006 000030 20(R1) ,20(SP) R4.20(R1) 118: #1.RG 143 %SDLY.R1 148: 5279 5280 5281 « ,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 ; MLREG,* : %, $8TMP2 5298 : «,$$TMP : $SSTMP : $SSTMPY 12%: $ 3,R4 R4 COL.BASE : $8TMP2 =« ; COL.NUM, 5299 Ré& ML.ADDR,R1 040374* 000046 000016 000016 010230° 000010 R4 R4,10(SP) X3 #2000,R2 R3 15s R2 R3,R2 ML .ADDR,R1 R2.R4 ML .ADDR,R1 138: 040372 ROW.NUM, « ML .ADDR,R1 Page 163 SEQ 0198 v, $8TMP1 7%: 040374 000046 0000 040374* 000020 000001 020366 ; MLREG,* 8%: 000022 * ,ML.REG PROM.ADRS ,MLREG : $SSTMP ; $$TMPY ° 040374 000020 000020 5002 8$ ROW.NUM,PROM.ADRS 6%: 108: 5000 #1.R3 e e ®, v 016701 016166 0 0 0 01270 00141 R4 ,R2 ML .ADDR R1 (X YR TR XY 014542 014546 014550 014556 014560 ROUTINE DECLARATIONS TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (44) e O REV B PATCH 00 D 16 18-Mar-1982 18-Mar-1982 Ve %y a2 te Be BSKELL 46(R1),16(SP) 15%: 16(SP) .ERROR.MAP (R4) R3 R3,10(SP) * ,ML.REG ML.REG,* COL .NUM COL.NUM_FINISH 5294 015006 015010 015012 015016 015020 003727 005205 020527 003633 016701 016166 016600 152700 (V 1V, [V 1V ] 016701 010061 016701 016166 016600 016705 042705 050500 016701 010061 062706 000207 Routine Size: RV, ; 04 6 2 6 2 142700 E 16 18=-Kar=-1982 16:07:57 18-Mar=-1982 15:44:41 ROUTINE DECLARATIONS BLE INC CMP BLE MoV MoV MOV 8lse Mov MOV Mov MOV MoV MoV BIC BI(B BIS MOV MOV ADD RTS 000003 040374° 000010 000014 000014 000040 040374 000C10 040374° 000010 000012 000012 040400°' 177770 000007 040374 000010 000032 180 words ; Maximum stack depth per invocation: 19 words 108 RS RS5,#43 33 ML.ADDR,R1 10(R1),14(SP) TOPS=20 Bliss=16 V 2(21 212) PA:<NEALE>PMSKL4.B LI.1 (44) .. BSKEL& REV B PATCH 00 SEL .BNK SEL.BNK,* #40,R0 * ML.REG ML.REG,MLREG * ,MLREG RO.10(R) MLREG,« 14(SP) .RO ML.ADDR,R1 ML .ADDR,R1 Page 164 SEQ 0199 5264 5303 * ,ML.REG ML.REG,MLREG * ,MLREG ML .ADDR,R1 RO, 10(R1) #32,5P PC * ,MLREG MLREG, * 5197 £ BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS : 5307 : : : : 5308 5309 5310 5311 : : 5314 5315 : : 531§ 5313 L. . !4+ ! Functional Descrggtton: ! ! Once the nibble offsets have been counted and otfsets > 14 do not exist then the table where the check sums can then be calculated. old gcom data stored in the error map at this bank is OR'ed into the blast ! ! : : : 5318 5319 ! Formal Parameters: ARRSBNK _SEL : ! Stores array and bank select address. : ggg? : : : 5322 gggz ! Implicit Inputs: BLAST_TBL, ERROR_MAP ; ! Implicit Outputs: 5326 gggg ! : : : : : : 5329 5330 5331 5332 5333 ! Completion codes: none ! ! ! Side Effects: none ! : 5335 : 5337 : 5341 H : : : 5336 . . The old prom data in the error map is OR'ed into their respective blast table locations. H : H !-- 5336 1+ 5338 5339 5340 ! write and read buffers are redefined to be a ! contigious blockvector of 4 blocks of 512 words ! each.” This map declaration maps the exercisers : : 5342 5343 ! To _conserve memory space the ML-11 exercisers ! 1/0 buffers into this structure. - ] : 5344 ggfig map : : : 5347 5348 gggg L ! Logically 'OR* all non zero blast table Locations : : 5351 5352 : : 5355 g%gg : 5358 : TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (45) begin g%}g 5325 16:07:57 18-Mar-19 S 12:44:41 routine OR_OLD_NEW_PD (BNK_NUM) : novalue = : : 16 18-Mar-1982 ERROR_MAP : blockvector [4, 512] volatile; . !Map the error map like the blast tasble ! with respective error map locations. incr CNT from 0 to .MAX_CHIP_COL*2 - 1 do !Or all non zero blast table locations ! Logical 'OR' this blast table location with ! its error map counter part if it is non zero. Page 165 SEOQOZOO BSKEL4 REV B PATCH 00 : G 16 18-Mar-1982 16:07:57 18-Mar-19 82 15:44: 41 ROUTINE DECLARATIONS if .BLAST_TBL [.BNK_NUM, .CNT, FULL_WRD] neq ZERO 3360 then TOPS-20 Bliss=-16 v2(212) PA:<NEALE>PMSKL4.BLI. 1 e_166 SEO 0201 'Is this location not zero BLAST TBL [.BNK_NUM, .CNT, FULL_WRD] = .BLAST_TBL [.BNK JNUM, .CNT, FULL_WRD] or .ERROR_MAP [ BNK_NUM, .ONT, FULL_ WRD]; 10r this Tocation with ad]acent error map location” end; 015170 015172 015174 015210 000300 105000 006300 005001 000414 010003 060103 006303 012702 060302 005712 001403 056363 0000006 040376" MOV R1,$SAVE4 HAX CHIP.COL,Ré 000014 MOV 14(SP).R0 JSR ASL 1%: 030372’ ADD TST 8EQ 010230* 030372° 27 words SWAB CLR8 ASL CLR BR MOV ADD ASL MOV 2$: 3s: 000207 : Routine Size: OR.OLD.NEW.PD ROUTINE DECLARATIONS . Hax1mum stack depth per invocation: 5 words BIS INC CMP BLT RTS R1.AZ R3’ 5307 5352 ; BNK.NUM,+ 5359 ; CNT 5352 E CNT,x 5359 #BLAST.TBL ,R2 R3,.R2 (R) 2$ quOR.HAP(RS).BLAST.TBL(R3) R1.Ré 18 PC tCONT LY, 015142 015144 015146 015150 015152 015154 015156 015160 015162 015166 016704 006304 .SBTTL OR.OLD.NEW.PD: N) =2 015130 015134 004167 end; W 015124 5366 A : = : CNT, 5307 H 16 BSKEL& REV B PATCH 00 : : : : : 5367 5368 5369 5370 5371 18-Mar-1982 16:07:57 ROUTINE DECLARATIONS 18-Mar-1982 15:44:41 routine BIT_CLR_OLD_NEW (BNK_NUM) : novalue = begin o !4+ ! Functional Description: | ! d newly for Whena failing chip is searche g%;g ; so to give us a performancd history of the chip. 5378 5379 5380 ! ! ! These failing rows and columns if an{ must be clear out from the blast table to allow the counting of bad nibble off- : : 5383 gggg ! ; This ?lobal routine bit clears the error map with the blast table at the selected bank. : : 5386 5387 ! Formal Parameters: BNK_NUM: ! ; : 5372 5373 5374 5375 ggg; ; gggg ; 5390 tailing rows and columns there is always the possibility that old bad rows or columns ) may also fail. In fact we hope they do ! ! ! sets. ; ! Implicit Inputs: ERROR_MAP, BLAST_TBL ; gggg : 5393 ! Implicit Outputs: 5395 . occurances. ! none ; ; : 5394 5396 5397 ; 5394 ; 54)0 : 5403 : ; : : : 539 5601 540z ] ) Selected bank number for bit clearing. ; ; : . Tha blast table is cleared cf old prom data ! . ! ! Completion codes: ' ! Side Effects: ! !-- none 5404 '+ 5406 ! write and read buffers are redefined to be a 5435 ! To conserve memory space the ML-11 exercisers ! contigious blockvector of 4 blocks of 512 words : 5407 5408 22?8 ! each.” This map declaration maps the exercisers ; 170 buffers into this structure. : : : 5411 5412 22}2 map : 5415 '+ gz}g ! error map counter parts. : : : : 5416 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (46) ) ] 'Map the error map like the blast table ERROR_MAP : blockvector [4, 512] volatile; . . . ! Bit clear all blast table locations with their Page 167 SEQ 0202 e TR T BSKEL4 REV B PATCH 00 1 16 18~-Mar-1982 16:07:5 7 18=-Mar-1982 15:44:4 1 ROUTINE DECLARATIONS incr CNT from 0 to .MAX_CHIP_COL*2 - 1 do begin TOPS-20 Bliss-16 PA:<NEALE>PMSKL4 Page 168 SEQ 0203 '8it clear blast table with error map at this bank BLAST TBL [.BNK_NUM, .CNT, FULL_WRD] = ( not .ERROR_MAP [.BNK_NUM, .CNT, FULL_WRD]) and .BLAST_T8L [ .BNK_NUH. JINT, FULL_WRD]; N end; L end; 015212 004167 0000006 015216 015222 015224 015230 015232 015234 016703 006303 040376° 015236 015240 015242 015244 015246 015250 015256 015260 015262 015264 016600 000300 105000 006300 005001 000407 010002 060102 006302 046262 005201 020103 002767 000207 ; Routine Size: .SBTTL BIT.CLR.OLD.NEW ROUTINE DECLARATIONS BIT.CLR.OLD.NEW: R1,$SAVE3 JSR COL,R3 MAX.CHIP. MOV ASL MOV SWAB 000012 R AZ(SP).RO 5367 5420 BNK.NUM, « 5422 CNT 5420 CLRB 1%: 010230°* 030372° 2s: ASL CLR B8R MOV ADD ASL 8IC INC CMP 8LT RTS 22 words | . : Maximum stack depth per invocation: 4 words R2 ERROR.MAP(R2) ,BLAST.TBL (R2) R1 R1.R3 1$ PC Y CNT,* CNT CNT, 5422 5420 5367 BSKEL& REV B PATCH 00 ; : : : J 16 ROUIINE DECLARATJIONS 18-Mar-1982 16:07:57 18-Mar=-1982 15:44:41 5427 routine IN_BLAST_TBL (ARRSBNK_SEL, TSTED_BNK) : novalue = 5631 ! Functional Description: 5428 5429 5430 gzg% 5634 begin !¢+ ! : i L. . This global routine first clears the blast table of ang old bad row or column data that might have e been found during the searching for new failing rows and columns. ; gzgg ; : 5437 5438 i ! The selected bank is then searched to see if any additional failing rows or columns were s found. : 2228 : 5441 gzz% ; 1f no additional failing row columns were found then the bank is not further tested. 5464 | If additional failing row or columns were 2229 ; map is search for nibble offset > 14, : 5448 | : gzg; ; ; 5453 ; : 5455 5456 : ; : : 5445 5449 5450 ! found then the blast table and the error ! Formal Parameters: ARRSBNK_SEL: ! i Stores array and bank select address TSTED_BNK: 5454 ! : gzgg 5457 ! Implicit Inputs: : 56460 | Implicit Outputs: : 5462 ! : : 5461 Indicates how many banks per array module ! ! % ! is to be pm‘ed. ERROR_MAP, BLAST_TBL, BAD_BNK_REG, DEGRADE_MOD_REG 1. If nibble offsets exceed 14 then bad row or column address in the blast table are cleared : gzgz : 5465 : 5468 gzgg % : 5471 i Completion codes: : 5474 : : : : : ; : gzgg ; until nibble offsets equal 14. | 2. A banks bad bank register bit is set if the i 3. A banks degrage mode register bit is set if ; bank has additional error to mask. nibble offsets greater than 14 are detected. 5472 5473 ! ! none 5475 5476 ! !-- nune 5477 5478 ! Side Effects: local TOPS=-20 BLliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) Page 16y SEQ 0204 K BSKELS REV B PATCH 00 : 18-Mar-19 82 16:07:57 ROUTINE DECLARATIONS 5479 18-Mar=-1982 15:44:41 aD_0_SuM, ‘Quadrant Q offset sum = sectors 0-127 ROW_D_127_OFF, iDffsets count for rows 0-127 COL-128_255_OFF, BNK_NUM, ARR_NUM, OVER_FLOW; '0ffset count for column 128-255 !Stores bank selector !Stores array selector !Stores offset counts which are > 14 'Quadrant 1 offset sum = sectors 128-255 'Quadrant 2 offset sum = sectors 256-383 'Quadrant 3 offset sum = sectors 384-511 5480 5481 5482 QD_1_sum, QD_2_SuM, QD_3 _SuM : : 5484 5485 ROW_128_255 COFF, COL-0_127_OFF, : : 5488 gzgg : : : : : : : : : : 5483 5486 5487 5491 56492 5493 5494 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) '0ffset count for rows 128-255 i0ffset count for columns 0-127 '+ . ! 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 : : : : 5495 5496 5497 56498 : §§8? 5499 map : : : 5502 5503 5504 !Init the error map before w2 store the prom data in there I_ERROR_MAP (). !Read the old prom data intc the error map RD_oLD _PROM_DATA (.ARRSBNK_SEL); BNR_NUR = _ARRSBNK_SEL<.BNR_SEL_POS, BNKSSEL_SIZE>; !Select the bank to interigate ; gggg incrbSEg-BNK from 0 to .TSTED_BNK - 1 do : 5511 : gg}g BAD_BNK_REG [.BNK_NUM] = SET_FLG; !Flag that this is a bad bank ; §§}9 incrbNIQ_NUH from 0 to 9 do !Search thru all nibbles in this bank : 5518 : : : : : : : gggg ggqg 5512 5513 ! each.” This map declaration maps the exercisers ! 170 buffers into this structure. ‘] ERROR_MAP : blockvector [4, 5123 volatile; ARR_NUM = .ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>; !Select the array of this egin BI?_CLR_OLD_NEU (.BNK_NUM) ; if S_BLAST_TBL (.BNK_NUM) then | begin egin !Init the column count gg%} : 5523 incr ROW_NUM from 0 to 127 do : : : H : H : !Are there any new errors in this bank COL_128_255_OFF = ZERO; : 5524 5525 5526 5527 5528 5529 5530 !Clear the old failing rows/cols from the blast table 'Init the row count ROW_128_255 OFF = ZERO; COL-0_127_OFF = 2ERO; begin 'Init the row count 'Init the column count !Sum the number of failing rows 0-127 2; .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] en bank !Interigate the pm‘'ed banks ROW_0_127_OFF = ZERO; 5519 5520 : : . !Map the error map Like the blast table ROW_0_127_OFF = .ROW_0_127_OFF + 1; if .ERROR_MAP [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] Page 170 St@ 0205 OMA S NN = O VOO NN N MAN = O 000 NOMN S AN =2 OO 0O NN AN = O 0 00 NOMA S IR 000000 I NNNNNNNNNYOORONOONONONONON O\ NNV S IS S 85 85 25 85 5 8 DN INIW W LR IR T NE TR TR A AT A FE PR YR YR FE TR DI YL RN T R T PICYSL T K TN W ; A WVMAA N WA N AN AN A VTV AV VRN AN O VAV VA VIVAIVIAAWDY A WA INAAIMA N AN MR A ANV DA TDAAIVIIWA VWAV VIV f L 16 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS 5531 VIWAWAAAVA VIVAWMAA VAR AWM LEE I TR TR I EA KIT RIE DA I WY TN BSKEL4 REV B PATCH 00 then ROW_0_127_OFF = .ROW_0_127_OFF + 1; end; incrbCOL_NUM from 0 to 127 do egin COL_0_127_OFF = .COL_O_127_OFF + 1; it .ERROR_MAP C.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] end; COL_0_127_OFF = .COL_0_127_OFF + 1; i; .BNK_NUM_SEC gtr 127 en IIs this a 64k part begin incrbROU-NUM from 128 to 255 do egin tSum number of failing rows 128-255 g Ver czmlcb added '.' to ROW_NUM i;efiBLAST'TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] ROW_128_255_OFF = .RQU_128_255_0FF + 1 :;eaERROR_MAP [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] ROW_128_255_0FF = .ROW_128_255_OFF + 1; end; incrbcog_NUH from 128 to 255 do !Sum number of failing col 128-255 egin it .BLAST_TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] en COL_128_255_0FF = .COL_128_255_OFF + 1; if .ERROR_MAP [.BNK_NUM, .COL_NUM + .COL_BASE. .NIB_NUM, 1, 0] then ? end; 2 !Sum the number of failing columns 0-127 if .BLAST_TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] 7 g TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) COL_128_255_0OFF = .COL_128_255_OFF + 1; QD_1_SUM = .ROW_128_255_OFF + ,COL_0_127_OFF; !Sum number of failures in quad 1 Page 171 SEQ 0206 8 REV 8 PATCH 00 ROUTINE DECLARATIONS 8\0 BSKELY 1 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 LROW_0_127 OFF + .COL_128_255 OFF; QD_2_Sum .ROW_128_255_OFF + .COL_128_255 0 F; QD_3_SuM end; " QD_0_SUM = .ROW_0_127_OFF + .COL_0_127_OFF; if .QD_0_SUM gtr 14 !Sum number of failures in quad 3 TR 'Report the error CON_C_MSG, 0); (ERR_7, ERgSF PRINTB (A_B_N_PRIRT; .ARR NUM, .BNK_NUM, .NIB_NUM); 'Print where PR DEGRADE_MOD REG [.BNK_NUM] = SET_FLG; N N OVER_FLOW NI I RN DU R 1Indicate this is a degraded bank =.QD_0_SUM - 14; 'Calculate the difference incr ROW_NUM from 0 to 127 do !Delete row offsets until eql 14 I; .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NuM, 1, 0] IR WL R en !Is this row bad BLgST T8L [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] = CLR_FLG; OVER_FLOW= .OVER_FLOW- T; 'Decrement the difference LA TR IRW RN I QD_2_SUM = .aD_2_SUM - 1; iClear this bad row !Delete other sums using this row if .OVER_FLOW eql ZERO then exitloop. 'Exit if difference eql O end; :f .OVER_FLOW neq 2ERO 5612 nen 'Did deleting bad row get the difference to 14 begin incr COL_NUM from 0 *o 127 dc Y TR PR TN PO 1Sum number of failures inquad 2 'Is quad 0 offsets > 14 !Delete bad column until offsets are at 14 YA I if .BLAST_TBL [.BNK_NUM, .COL_NUM + ,COL_BASE, .NIB_NUM, 1, 0] then TE I E A A I E BLzST T8L [.BNX NUH .COL NUM + . COL _BASE, .NIB_NUM, 1, 0]= CLR_FLG; OVER_FLOW - T !Decrement the Jifference QD_1_SUM== .OVE SUH-1 iDelete this column from other sums A it .OVER_FLOH eql ZERO then exitloop; R end; AR end; R R R Page 17¢ SEQ 0207 'Sum number of failures in quad 0 end; (TR TOPS-20 Bliss~16 V2(212) PA:<NEALE>PMSKL4L.BLI.1 (47) Z;efiBNK'NUH'SEC gtr 127 begin !Is this a 64k part 'Exit if difference is at 0 BSKELS ROUTINE DECLARATIONS if .QD_1_SUM gtr 14 then ‘Tell where !Indicate this is a degraded bank incr ROW_NUM from 128 to 255 do !Delete bad rows until offsets are at 14 OVER_FLOW =".QD_1_SUMTM~ 14; Tcalculate the difference I; .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] PR T PN P en !Is this a bad row BLRST TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM,1, 0] = CLR_FLG; OVER_FLOW = .OVER FLow - T; QD_37SUM = TR IE TR LN TR T Page 173 SEQ 0208 'Is quad 1 sum > 14 = SET, FLB; DEGRADE_MOD_REG [.BNK_NUM] 3.5um - 1; IDecrement the difference iDelete other sums of this bad row if .OVER_FLOU eql IERO then exitloop; ‘!Exit when difference is at 0 end; PR IR IR IR PR R 2; .OVER_FLOW neq Z2ERO en !Is this quad offset at 14 now begin incr COL_NUM from O to 127 do ‘Delete bad columns until offsets are at 14 :g .BLAST_TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] A en T N BLgST TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0]= CLR_FLG; PSS OVER_FLOW = .OVER_FLOW- T; !Decrement difference NN P if .OVER_FLOW eql ZERO then exitloop; 'Exit when at 0 PR end; end; P PN TR P T e P P i S S T L TOPS-20 Bliss=16 V 2(212) PA: <NEALE>PMSKL4.8B LI.1 (47) (ERR_7, CON_C_MSG, 0); !Report the error ERgSF PRINTB (A B N PRIRT, .ARR NUH. .BNK_NUM, .NIB_NUM); TR TN I TR T TN I Para REV B PATCH 00 1 ¢ 18-Mar-1982 16:07:57 18-Mar-158215:44:41 end; Z; .QD_2_SUM gtr 14 en ‘l1s this quad offsets > 14 begin ERRSF (ERR_7, CON_C_MSG, 0); {Report the error PRINTB (A B_N_PRIRT. .ARR_NUM, .BNK_NUM, .NIB_NUM); !Report where DEGRADE_MDD_REG [.BNK _NUMI = SET FLG 'Indicate this is a degraded bank OVER_FLDW =".0D_2_SUM"~ 14; TCalculate the difference incr ROW_NUM from 0 to 127 do !Delete bad rows until offset are at 14 if .BLAST_TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] !Is this a bad row BSKEL4 ROUTINE DECLARATIONS then 5687 5 TOPS=-20 Bliss=16 VE (212) PA:<NEALE>PMSKL4.BLI. 1.1 (47) begin BLRST TBL [.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] = CLR_FLG; OVER_FLOW = .OVER_FLOW - T; 'Decrement the difference it .OVER_FLOW eql ZERO then exitloop; 'Exit when at 0 end; I; .OVER_FLOW neq ZERO en !Is quad offsets at 14 yet begin incr COL_NUM from 128 to 255 do ‘Delete bad columns until offsets at 14 R LR TN TR T TR LR IS TN TN TN A IETE REV B PATCH 00 1 D 18-Mar-1982 16:07: S ; 15:4 18-Mar-1 982 15:44:4 PR PR IR IR TR LN i; .BLAST_TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] en oD _3_5uM = .aD 3 SUM ~ 1. !Delete Other sums of this column OVERCFLOW = .OVER_FLOW - 1; !Decrement the differnece PR TR PR TN P PR L TN P R R R E T T T A TN N P I P T begin BLRST TBL [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] = CLR_FLG: if .OVER_FLOW eql ZERO then exitloop; ‘Exit when at 0 end; end; end; if . Qb_3_SuM then gtr 14 'Is this quad offsets > 14 begin ERRSF (ERR_7, CON _C_MSG, 0); PRINTB (A_B_N_PRIRT, .ARR_NUM, !Report the error .BNK NUM, .NIB_NUM). OVER_FLDW =".QD_3_SUM = 14; Tcalculate the difference ‘Print where DEGRADE_MDOD”REG L.BNK_NUMI = SeT_FLG; !Indicate this is a degraded bank incr ROW_NUM from 128 to 255 do ‘Delete bad rows until offset are at 14 z;eaBLAST_TBL C.BNK_NUM, .ROW_NUM, .NIB_NUM, 1, 0] !Is this a bad row gf é? TBL C.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; ZLGAOVER_FLOU neq ZERO 'Is quad offsets at 14 yet !Clear Page 174 SEQ 0209 BSKELS REV B PATCH GO E 1 18-Har-198g 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS incr COL_NUM from 128 to 255 do TOPS-20 BLiss=16 v2(212) PA: <NEALE>PMSKL4L.BLI.T1 (47) ‘Delete bad column until offset at 14 : §;21 : 574 : ; : 5745 5746 g;zg ; g;gg if .OVER_FLOW eql 2ERO then exitloop: 5751 end: : : : : 5757 5758 g;gg : : 5761 g;g% : 5764 015266 end; 5756 5765 5766 5767 004167 end; end; OR_OLD_NEW_PD (.BNK_NUM); end; !Increment to the next bank end; end; 000000G .SBTTL IN.BLAST.TBL: JSR suB IN.BLAST.TBL ROUTINE DECLARATIONS R1,$SAVES H 5427 PC.1.ERROR.MAP S0(SP) ,=(SP) : < ARRSBNK.SEL,* 5502 5503 ; 5504 #30,5P 167752 000050 JSR MOV 015312 012716 000052 MOV #52, (SP) CLR -(§p) 015306 004767 016646 '0r the old prom data with new prom data BNK_NUM = ,BNK_NUM + 1; 015272 162706 000030 015276 015302 004767 177042 JSR 015316 015320 015324 060616 016746 012746 040414° 000002 ADD MOV MOV 015332 015336 004767 010066 0000006 000010 JSR MOV 015346 060616 015330 005046 015342 012716 000060 MOV 015350 015354 015360 015362 MOV MoV CLR JSR 015366 016746 012746 005046 004767 010066 'Exit when at 0 end; 5753 : H : : : begin BLAST _T8L [.BNK_NUM, .COL_NUM + .COL_BASE, .NIB_NUM, 1, 0] = CLR_FLG:; OVER_FLOW = .OVER_FLOW - T; !Decrement dffference 5752 5754 5755 ; if .BLAST_TBL [.BNK_NUM, .COL_NUM + ,COL_BASE, .NIB_NM, 1, 0] then 5744 : : Page 175 S€Q 0210 040412° 000004 0000006 000044 ADD MoV PC.RD.OLD.PROM.DAT SP,(SP) BNK. SEL .POS,~(5P) #2,~(SP) s ARRSBNK.SEL,* PC,.BLSGT? RO,10(SP) s *~,BNK.NUM SP, (SP) : ARRSBNK.SEL,* #60, (SP) ARR.SEL .POS ,=(SP) #4,-(SP) -(SP) PC.BLSGT2 RO,44(SP) ; ; *,ARR.NUM 5505 ; GNK.NUM,+ 5514 : BNK.NUM,* 5526 SP) SP) S SP),=(SP) .BNK .REG, (SP) sP) = (SP) (SP) PU2 RO 3$: 000050 000052 % 4$: OU‘-‘BOOO o~ 76, (sP) 3] b A 0000006 000030 000046 SP),22(sP) N 177770 000044 5511 AVAWVVAVAIVIWVY VAWMV -l b b NN 2s: 000001 000001 0000006 000006 000046 010230° 000001 0000006 000010 Ré,=(SP) (SP) #BLAST.TBL, R3,=(SP) RO 46(SP) Ré, (SP) (SP) ROR . MAP, #ER RS,=-(SP) ”n.,-(SP) -(§P) PC,BLSGT2 #10, P RO ; ROW.0.127.0FF : NIB.NUM,* a2 &5 030372° VW 016600 000300 105000 006300 010003 + ; BNK.NUM, . 000022 000022 015510 015514 015516 015520 015522 5509 g 0000%% « : BNK.NUM, ®eviNevevveN 002674 P),=(SP) I1T.CLR.OLD.NEW P),=(SP) ) .BLAST.T8BL 38 006266 006266 006266 173622 Page 176 SEQ 0211 5507 v 015452 015442 015446 1$: 000016 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKLSL.BLI.T (47) ; SEL.BNK nD~1 ~N¢. VF s ~AN 000167 0 00476 01664 00476 005726 006000 103402 000167 016666 WO~RRN) QYN =3 =) 015376 015402 015406 015412 015616 015622 015424 015426 015430 015434 — 000042 005066 000 NN 015372 ~ ROUTINE DECLARATIONS NINIRONINI SNV~ TNV 2 8 8 PNINININIO N ON OO P .y L] Ve »~s A 1%] wnnBdwv + v BSKELS REV B PATCH 00 F 1 18-Mar-19 18-Mar-19 \BSKELS REV B PATCH 00 ROUT INE DECLARATIONS 015642 015646 000044 1 G 18-Mar-1982 16:07 :57 18-Mar=-1982 15:44:61 44 (SP) R2 R2.M177 000177 015650 015654 040372°' 4$ S$: 2 R2.R4 R4 COL .BASE TOPS-20 Bliss-16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (47) ; ROW.0.127.0FF s ROW.AUM ; ROW.NUM,» ; COL.NUM ; COL.NUM, * R3,R4 R4 #BLAST.TBL R4 030372° R4 ,=(SP) RS.=(SP) 000001 * : NIB.NUM, 0000006 000006 000052 R2, s COL.0.127.0FF col.gASERé 040372 Ré& . #ERROR. MAP ,Ré& R4, (SP) 010230° RS.-(SP) 000001 : NIB.NUM, * 0000006 000010 000050 R2 23"‘77 000177 030372°* 000001 0000006 000006 000050 010546 010230° ; COL.NUM ; COL.NUM,« 6$: #200,R2 R3.R% aza4 : *,ROW.NUM * ROW.NUM,* a4 -(SP) JBLAST TBL. (SP) RS,=(SP) £1.-(5P) 2 NIB.NUM, = -($P) PC,BLSGT2 #6,5P RO 50(SP) R4, (SP) (SP) OR . MAP, #ERR R5,-(SP) 5545 5536 5549 gnx.NUM_SEC,#177 040416° 000177 000200 ; COL.0.127.0FF : ROW.128.255.0FF ; NIB.NUM, » 5553 5559 Page 178 SEQ 0213 #1,-(SP) -(5P) 000001 PC,BLSGT2 0200006 000010 000200 7%: 040372° #200.R2 ,COL. OL. R2,Ré R4 COL .BASE R3.R4 R% #BLAST. TBL ,Ré Ré.-{SP) 030372° R5,=(SP) 000001 [4 we S8 000377 [aS 3] OW.NUM OW.NUM, R2,N377 6$ v 0W.128.255.0FF g 6 000G AW RO 46(SP) R2 vy #10,sp » RAINIPIA) b =b b NO&OONO? 012746 ROUTINE DECLARATIONS T0PS=-20 Bliss=16 V 2(21 212) PA: <NEALE>PMSKLS.B LI.1 (47) (=X¢ BSKEL4 REV B PATCH 00 H 1 18-Mar-19 82 16: 18-Mar-19 82 15: NIB.NUM, « 0000006 000006 000054 R2, E ,R4 COL .BAS RS, Ré& #ERROR . MAP 4 Ré, (SP) R3,-(SP) 040372° 010230° 000001 ; COL.128.255.0FF * : COL.NUM, 5574 5576 + NIB.NUM, 0000006 000010 000052 : COL.128.255.0FF 000377 * ¢ COL.NUM, 016352 ~ -Nt N YN e Y Y P T wwmunnunnnnm VVVVVOVVO [P ) [0 P Nt N N Nt Nt Vs VOVVVVVO R 8s: G 7 s P o N, P wmumninnny [74] 000034 000016 e N 78 46(SP), O NAA=M AN S NS \Yu SN OO - 000046 000050 00004 4 000052 000046 000052 000044 000050 000034 s COL.NUM ON.C.MSG : s ; s : s : s ROW.128.255.0FF.aD.1.SUM COL.0.127.0FF ,QD.1.5UM ROW.0.127.0FF,QD.2.SUM COL.128.255.0FF,QD.2.SUM ROU.1$8.255.0FF.00.3.S COL.128.255.0FF ,aD.3.SUM ROU.0.1%7.0FF,QD.0.SUH COL.0.127.0FF,QD.0.SUM 5582 5583 5584 5587 5589 5592 BSKEL& REV B PATCH 00 016354 ROUTINE DECLARATIONS .WORD 000000 016356 010546 016360 016364 I 016646 016646 MOV MOV MOV 000032 000062 MOV 016370 012746 003124" 016374 016400 016402 012746 010600 104614 000004 0 RS, =(SP) 32(SP),=(SP) 62(SP) .~(SP) #A.B.N.PRINT,=(SP) ADD MOV REG, (SP) .MOD .ADE #DEGR 42(SP) ,~(SP) : BNK.NUM, 44(SP), (SP) #177770, (SP) #1,~(SP} 54(SP) ,R1 062716 016646 040424' 000042 016420 042716 177770 016426 012746 000001 016430 016432 011646 004767 BIC MOV 0000006 MOV MOV JSR 016452 060204 016454 016456 016462 006304 062704 010446 016472 005046 98: 030372' (SP) ,~(SP) PC.BLSPU2 su8 CLR MOV #16,R1 R2 n3,R4 ASL ADD MOV R TBL R4 #BLAST. R&.=(SP) ADD R2.R4 016464 010546 016466 012746 000001 MOV MoV RS,=(SP) #1.-(SP) 0000006 JSR PC,BLSGT2 016474 004767 * BNK.NUM.¢ * ARR.NUM.* : SP,« 016410 016414 016442 162701 000016 016450 010304 ; NIB.NUM,* #4,=(SP) SP.RO 14 MOV 016436 016601 000054 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) MOV MOV TRAP 016404 016616 000044 016446 005002 1 18-Mar-198 2 16:07:57 18-Mar-1982 15:44:41 CLR : ; 0D.0.SUM,OVER.FLOW : *, OVER.FLOW : ROW.NUM : : ROW.NUM,* Page 179 SEQ 0214 5593 559%| 5595 5597 5599 : NIB.NUM,* -(§P) 016500 062706 000010 ADD #10,spP 016510 010446 016512 010546 016514 012746 000001 MOV MOV MOV R6,~(SP) RS.=(SP) #1,-(SP) ; * NIB.NUM,* 5602 DEC R1 : OVER.FLOW 5603 ST R * OVER.FLOW 5606 ADD BR 108 #10,5P 128 MNP #10,SP R2 R2.M177 : * ROW.NUM 5601 5597 R1 : OVER.FLOW 5610 CLR R2 : COL.NUM 5614 ASL Ré 016504 016506 006000 103021 016520 016522 005046 004767 016534 005701 016540 016544 062706 000406 016526 005301 ROR BCC CLR JSR 0000006 DEC 016530 005366 000070 016536 001003 000010 016546 062706 000010 016552 005202 016554 ozo;zr 000177 016560 003733 016564 001457 016562 005701 016566 005002 016570 010204 016572 066704 040372° 016576 060304 016600 006304 BNE 108: 11$: 128: 138: ADD INC BLE 1ST BEQ MOV ADD ADD RO 118 -($P) PC,BLSPU2 70(SP) 9 16$ R2,R4% ,Ré COL .BASE R3.R4 QD.2.SUM * ROW.NUM,« * COL.NUM,+ 5604 5616 BSKELS REV B PATCH 00 016602 016606 016610 016612 016616 016620 016624 016630 016632 016634 016636 016642 016644 016646 062704 010446 010546 012746 005046 Ré,=(SP) RS.-(SP) #1.-(SP) -($p) PC,BLSGT2 000001 0000006 000010 Page 180 SEQ 0215 ; NIB.NUM, =+ »16,sp RO 158 R2,R4 R4 COL .BASE R3,R4 ; COL.NUM,+ 5619 Ré #BLAST.TBL.R4 R4,~(SP} R5,~(SP) #1,-(SP) =(SP) PC,BLSPUZ R1 000001 0000006 000010 000177 R2,#177 s COL.NUM = s COL.NUM, 13§ 000020 040416 000177 000016 ; OVER.FLOW ; 0D.1.5UM : OVER.FLOW 148 #10,SP 168 #10,5P R2 000010 ; NIB.NUM, + Rl 66(SP) 000066 001334 000036 TOPS-¢0 BLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) ,Ré ST . TBL #BLA 030372° 030372°* #20,SP BNK.NUM.SEC,#177 188 45$ 36(SP) M6 278 56 I4 ; QD.1.SUM,» OONOO SON.C.HSG b b oud O PR O=0O000 — v B b - ) b onh ach sk OODOg GngN -ANN%N~NOVSONNYN I 017036 ROUTINE DECLARATIONS 0640372° 016652 016654 016656 016662 016664 016670 016672 016676 016700 016702 016706 016710 016714 016716 016722 016724 016730 016736 016740 016744 016752 06754 016756 016760 016762 1 J 18-Mar-19 8 2 16:07:57 18-Mar-19 8 2 15:44:41 000032 000062 003124 000004 000044 060424 000042 177770 000001 R3,=(SP) 32(SP) ,~(SP) 62(SP) ,~(SP) #A.B_N.PRINT,~(SP) #4,~(SP) SP.RO 14 44(SP), (SP) .REG, (SP) RADE .MOD #DEG ,=(SP) 42(SP) #177770, (sP) #1,-(SP) (SP) ,~(SP) 5640 BSKEL4 REV E PATCH 00 017040 017044 017050 017054 004767 016601 162701 K 1 18-Mar-19 18-Mar-19 ROUTINE DECLARATIONS 0000006 000056 000016 000200 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (47) QD.1.SUM,OVER.FLOW 5641 * ,ROW.NUM 5643 5645 * ,OVER.FLOW 19%: Page 181 SEQ 0216 ROW.NUM, * #BLAST. TBL R4 030372°* R&,=(SP) RS.-(SP) #1.-(5P) 000001 NIB.NUM, -($P) PC,BLSGT2 0000006 000010 #16 SP 218 R4 ,-(SP) R5,=(SP) #1,-(SP) -(5P) 000001 PC.BLSPUZ 0000006 72(SP) 000072 NIB.NUM, 5648 OVER.FLOW QD.3.5uUM OVER.FLOW 000010 000010 000377 51s: ROW.NUM ¢ ROW.NUM,+ 22%: 040372° 23$: +Ré C0L .BASE R4 R3.R4 OVER.FLOW 5656 COL .NUM 5660 5662 * COL.NUM, R4 030372°* #BLAST. TBL.R4 000001 RS.-(SP) #.-(5P) -($P) 0000005 000010 040372° 062704 030372° R ,-(SP) NIB.NUM,* PC.BLSGT2 6 SP 255 R2,R4 ,R4 COL .BASE R3.Ré R4 #BLAST.TBL.R4 COL.NUM, « 5665 R4 ,-(SP) R5,=(SP) #,-(SP) -(SP) PC,BLSPUZ k1 010446 004767 000001 0000006 #10,SP 26$ #10,5P R2 000010 000177 000020 000040 R2 M177 COL .NUM COL .NUM, = #20,SP 40(SP) .6 QD.2.5UM,+ 23§ 000016 368 56 #4.=(SP) 000044 040424° 14 (SP) , P) 44(S (SP) ADE . MOD .REG, #DEGR 42(SP) ,=(SP) 5637 5676 5680 BNK.NUM,» (SP) ,=(SP) PC,BL$PUR 60(SP) ,R1 000000G 000060 000016 28$: #;6.R1 R R3.Ré4 Re¢.R4 R QD.2.SUM,OVER.FLOW * , OVER.FLOW ROW.NUM « ROW.NUM, 5684 5686 R4 #BLAST.TBL P) 000001 012746 5664 5660 5681 2177770, (SP) #1,-(SP} 177770 000001 5668 SP,* SP.RO 000042 017510 NIB.NUM, « « BNK.NUM, ARR.NUM,« 32(SP) ,=(SP) 62(SP) .=(SP) #A.B.N.PRINT,=(SP) 000004 5666 5679 7 CON.C.MSG 0 RS, =(SP) 000032 030372°* OVER.FLOW 248 000010 Page 182 SEQ 0217 NIB.NUM,* TRTEIR IR Y] 010546 012746 005046 TOPS-20 Bliss=16 Vv 2(212) PA:<NEALE>PMSKL4L.B LI.1 (47 [ 017262 017264 ROUTINE DECLARATIONS o000 BSKEL4 REV B PATCH 00 1 L 18-Mar=19 18-Mar-19 NIB.NUM,* PC,BLSGT2 0000006 000010 mab.sp 000001 308 R4 ,~(SP) R5,-(SP) #1,~-(SP) R NIB.NUM,+ 5689 LR BSKEL& REV B PATCH 00 017514 017516 017522 0175264 017526 017532 017534 017540 005046 004767 005301 001003 062706 000406 062706 ROUTINE DECLARATIONS 0000006 000010 000200 040372° s OVER.FLOW Page 183 SEQ 0218 5690 5692 ; ROW.NUM 318: : OVER.FLOW 5696 328%: ; *,COL.NUM : COL.NUM,« 5700 5702 COL.BASE R4 R3.R% ; ROW.NUM, « R4 lBLAST.TBL.RA 030272°' R&,~(SP) RS.=(SP) #1.-(SP) ~(SP) PC,BLSGT2 000001 017606 0000006 000010 017610 017614 017620 017622 017624 017626 017632 017634 017636 017642 017644 017646 R2,R4 E COL.BASR4 040372 5705 R #BLAST.TBL R4 R4,~(SP) 000001 RS, ~(SP) #,=(SP) -($P) : NIB.NUM,« 72(SP) R1 ; QD.3.SUM ; OVER.FLOW PC,BL$PU2 0000006 000072 338 000010 3333 000010 000377 000000 = : COL.NUM, Rz.R4 030372* 000029 000042 = ; NIB.NUM, 316 SP 343 017652 017654 017732 017734 -(SP) PC.BL$PUZ R1 29% #10,SP 318 #10,sP R2 R, M177 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (47) 5688 5684 29%: : 308 000010 000177 017542 017546 017550 017552 017554 017560 017562 017566 017570 017572 017576 017600 017602 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 000016 358: 368: #10,sP 358 #10,SP R2 R2 #4377 32§ #20,SP 42(SP) M6 458 54 7 SON.C.HSG 5706 5707 5709 : COL.NUM 5704 5700 : aD.3.SUM,+ 5678 577 * COL.NUM,» 5720 N BSKELS 18-Mar-1982 15:44:41 REV B PATCH 00 ROUTINE DECLARATIONS 017736 010546 017740 016646 017746 016646 017750 012746 017756 012746 017760 010600 017762 104414 000032 000062 003124° 000004 017770 017776 062716 016646 04606426° 000042 020010 020012 011646 004767 MOV 020000 042716 177770 020004 012746 000001 020022 162701 020034 060204 000062 000016 020026 012702 000200 020032 010304 020036 020040 020044 006304 062704 010446 020050 020054 020056 012746 005046 004767 020046 010546 378: 0000006 020062 (052706 000010 020074 020076 020102 020104 010546 012746 005046 004767 000001 020114 020120 062706 000406 000010 020130 020227 000377 0000006 020122 062706 000010 020126 005202 020134 003736 408: 020136 005701 020140 001455 020142 012702 000200 020146 010204 020150 020154 020156 020160 066704 060304 304 062704 020166 010546 010446 040372' 030372' BIC MOV MOV 62(SP) ,R1 MOV MOV #200,R2 R3.R% ASL ADD MOV R4 #BLAST.TBL.RG Ré ,=(SP) MOV CLR JSR #1,=-(SP) -(§P) PC,BLSGT2 ADD 418: (SP) ,=(SP) PC.BLSPU2 #16.R1 R2.R& RS.=(SP) TOPS=-20 Bliss~16 V2(212) PA:<NEALE>PMSKL4.BLI.1 (47) ; NIB.NUM,» * BNK.NUM,* ARR.NUM.* ; SP,* ; Page 184 SEQ 0219 5721 5722 : BNK.NUM, ; QD.3.SUM,OVER.FLOW + *,OVER.FLOW : *,ROW.NUM : * ROW.NUM,* 5723 5725 5727 ; NIB.NUM,+ ADD #10.sp MOV RG,=(SP) : 5730 R1 38% ; OVER.FLOW : 5731 5733 #10,$P R? ; : ROW.NUM 5729 5725 : OVER.FLOW 5737 ; *,COL.NUM 5741 RO 398 MOV MoV CLR JSR RS.=(SP) #1,-(SP) -(SP) PC,BLSPUR ADD 8R #10,SP 408 CMP R2 A377 DEC BNE 388: 398: 44(SP) , (SP) 177770, (SP) #1,-(SP} ROR BCC 020072 010446 020110 005301 020112 001003 (SP) ADE .MOD .REG, #DEGR 42(SP) ,~(SP) MOV 000001 006000 103016 ADD MOV Sus 030372’ 020066 020070 32(sP) ,~(SP) 62(SP) .= (SP) #A.B.N.PRINT,=(SP) #6,=(SP) SP.RO 14 MOV JSR 0000006 RS,=(SP) MOV MOV MOV MOV MoV TRAP MOV 017764 016616 000044 020016 016601 1 18-Mar-1 982 16:07:57 ADD INC BLE 37§ TST R1 MOV #200,R2 ADD ADD ASL ADD R4 COL .BASE R3.Ré Ré #BLAST.TBL,RG BEQ MOV MOV MOV 443 R2,Ré R¢,=(SP) RS,-(SP) * NIB.NUM,* * ROW.NUM, * COL.NUM,* : NIB.NUM,* 5743 BSKELS REV B PATCH 00 g ROUTINE DECLARATIONS 020170 012746 000001 MoV #,-(SP) 020202 062706 000010 0000006 ADD #10,sp 040372° ADD ADD ASL ADD MOV R4 COL .BASE R3.Ré R& TBL R4 #BLAST. Ré,~(SP) 020174 720176 005046 004767 020206 006000 020210 103025 020212 010204 020214 020220 020222 020224 020230 066704 060304 006304 062704 010446 020240 020242 005046 004767 CLR JSR ROR BCC MOV 030372' 020232 0105646 020234 012746 000001 r.20246 005301 MoV MOV CLR JSR 0000006 DEC 020250 001003 020252 062706 000010 020256 000406 020260 062706 020264 005202 020266 000010 020227 000377 020274 062706 020300 005205 000020 020272 003725 020302 020527 000011 020310 020314 020320 020326 020330 020334 000167 016616 004767 062706 005266 005726 175212 000030 174600 000010 000020 020342 026666 000062 020306 003002 020336 005266 000042 020350 002002 020352 000167 175024 428: 438: 448: 458: 468: 478: 000064 488: 020356 062706 000046 498: 799 words ; Routine Size: ; Maximum stack depth per invocation: &2 words 020362 000207 RO 438 R2,Ré ; COL.NUM,® ; OVER.FLOW 5747 #10,5P R2 : : COoL.NUM 5745 5741 : : NIB.NUM 5719 5516| : BNK.NUM,* : * BNK.NUM : 5761 5427 : 41§ : COL.NUM,* RS, 411 P NIB.NUM,« ADD INC cgo.sp R 867 468 JNP MOV JSR ADD INC ST 33 30(sP), (SP) PC.OR,OLD.NEV.PD #10.5P 20(5P) (SP)+ (MP 42(SP) ,64(SP) : SEL.BNK,TSTED.BNK #46,5P : 86E NP ADD RTS 5746 R1 -($P) PC,BLSPU2 R2,4377 INC SEQ 0220 ; NIB.NUM,+ P (P PA:<NEALE>PMSKL4.BLI.1 (47) Page 185 RS.~(SP) M ,-(SP) 428 #10.5P 44$ BLE TOPS=20 Bliss=16 v2(212) -($p) PC,BLSGT2 BNE ADD BR ADD INC 2 18-Mar-1 982 1g:07:57 18-Mar-1982 15:44:41 42(SP) 4 18 PC : SEL.BNK 5749 5513 5764 5508 5507 5768 5769 5770 5771 5772 5773 5774 5775 5776 S777 routgne.lN-ERROR_HAP (TEMP_ARRSBNK_SEL, BAD_CHIP) : novalue = egin lee . ! Functional Description: The error map is loaded with all the new and old failing row and sector addresses for a failing chip. From this row and sector information stored here it can be calculated which are newly failing rows and columns and the best way to mask them. This global routine will interigate the error map and load the blast table with this chips new masking prom data. This global routine executes in the following steps: 1. It first searches the error map for alt bad rows 1E. occurances of bad . 2. It then searches the column count table for column counts > 10 3. It then transfers to the remainder table any remaining single cell failures. 4. It then interigates the remainder table for these remaining single cell failures and selects the best one for blasting. Formal Parameters: ARRSBNK_SEL: Stores array and bank select address. BAD_CHIP: Points to the failing chip persently being pm'ed. b Implicit Inputs: DE E_MOD_REG, FLG_REG g b b el e b b cnd b b ANWVAVIVAVAVAVAVAVA VNS AN =O e 8 T T L T T L T rows > 10 times. ©0 000D 0o 00 05 00 0000 0O B e Ba ®e By Bse®oBet)B:Bety, ®esVetsBeBa0aNe s BeBePr Ve Bs V0000000070080 0e0e%i%0000sas L T3 WK YR TP WAL IO ; : 18-Mar-1982 1 ROUTINE DECLARATIONS R BSKEL4 REV B PATCH 00 t 2 18-Mar=-1982 1 Implicit Qutputs: . If it is determined that this is the first all bad chip in this bank then the flag register and degrade register bits are set. If this is the second all bad chip in this bank then the flag register bit abort_array is set. TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (48) Page 186 SEQ 0221 D BSKEL4 REV B PAT(H 00 : 5820 : 5821 : 5823 5826 ROUTINE DECLARATIONS 18-Mar-1982 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKLGL.BLI.T (48) ' Completion codes: none ! 5822 ! 5825 5826 5827 !~- 5828 5829 ggg? 2 18-le-19g$ 16:07:57 ! Side Effects: none ! local ARP_SEL , BNK_NUM, ALL_BAD; !Stores array select nurber iStores bank sel number 'Records total all bad rows and columns found bad 5832 5833 gggé ARR_SEL = .TEMP_ARRSBNK_SEL<.ARR_SEL_P0OS, ARRSSEL_SIZE>: 'Load the array sel number ‘Load the bnk sel number BNKTNUM = . TEMPTARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; }_THP_BLST_TBL [OF 'Init"the temporary blast table 5836 ! Search the error map and find failing row : 5838 5839 5840 ?gfi} ! times. For the rows that don't fail more ! than ten times save a count of the adjacent ! column pair which will later be used to find ; these rows which failed less thar. 10 times. : ggzz QLL.BAD = S_ERROR_MAP (.BAD_CHIP); ; : 5845 ggzg ! Did the search of the error map find 10 all ; bad rows in error within this chip ? : 5848 : : 5852 5853 : : : : : : : : : : : : 5837 ! addresses which have failed more than 10 !Search error map for all bad rows ! 1f 10 were found then this is called an all 5849 5850 5851 ! bad chip else continue and search the column ! count table for columns in error greater than ' 10 times. 5854 if .ALL_BAD leq 9 5855 5856 5857 5858 gggg } then !Is the all bad count <= 9 begin ! ! Search the column count table for column counts ; greater than ten. : ggg; @LL_BAD = S_COL_CNT_TBL (.BAD_CHIP, .ALL_BAD); ; : : : 5863 5864 5865 gggg ' ! ! ; ; : 5868 5869 if .ALL_BAD leq 9 ; : 5870 5871 !Search column count table for all bad cols If the search error map plus search column count table found 10 all bad rows and columns then this chip is called all bad and no prom blasting is done else search the remainder table for remaining row column pairs for blasting. then begin !1s the all bad count <= 9 Page SEQ Ocee E BSKELG REV B PATCH 00 : gg; : : ; 5874 5875 5876 : : : 5878 5879 5880 : 5882 : : ; . : : ROUTINE OECLARATIONS 18-Mar-1982 15:44:41 AL%,BAD = S_REM_TBL (.BAD_CHIP, .ALL_BAD;; end; TOPS-20 Biiss=16 v2(212) PA:<NEALE>PHSKLG.BLI.1 (48) !Find the remaining bad rows/cols end; 5877 ! 5881 ! the locations, chip numbers and the number ! of bad rows and columns blasted in each newly 5885 if .PM_COUNT (ss 128 5886 5887 2 18-Mar-1982 16:07:57 ! For the purpose of report code suwmary ! store into a statistical report table ! tailing mos ram chip. then 'Only store a total of 128 failing chips begin 5888 5889 5890 5891 5892 !Store the chip number PM_LOG [.PM_COUNT, BITS_PM] = .BAD_CHIP; bank nusber chips !Store .BNK_NUM. = BNKS_PM] [.PM_COUNT, PM_LOG numbrer array chips !Store .ARR_SEL. = BRDS_PM] [.PM_COUNT, PM_LOG ] number unit chips !Store _ML_DUT; = PM] UNITS [.PM_COUNT. PM_LOG 'Store number of r/c failing PM_LOG [.PM_COUNT, SUMS PM] = _ALL_BAD + 1; : gggg end; : 5896 : : : : : : : : 5893 5897 5898 : gggg : : 5901 gggg : 5904 : 5907 : 5910 : : : : : ; 5916 : : : : X_LHP_BLST_TBL (.TEMP_ARRSBNK_SEL, .ALL_BAD); else en | then begvn ERRSF (ERR_S5, CON_A_MSG, 0); 'Is this the first all bad chip in this bank !Report a condition a PRINTB (A _B_C_PRIRT, .ARR_SEL, .BNK_NUM, .BAD_CHIP); 'Report where FLG_REG LF_ALL BAD CHIP] = SET FLG; 'Set the all bad chip flag DEGRADE_MOD_REG C[.BNK_NUM] = SET_FLG: else end 5914 5915 begin ERRSF (ERR_6, CON_B_MSG, 0); PRINTB (REP_PRINT, CARR_SEL): 5917 end; FLG_REG LF_KBORT_ARRAYJ = SET_FLG; 5918 5919 5920 5921 !Xfer temp blast table to blast table begin if not .FLG_REG [F_ALL_BAD_CHIP] 911 : 'Were there <= 9 all bad rows/cols found begin 5908 5909 5912 5913 !Up the number of table enters it .ALL_BAD leq 9 then 5905 5906 : : : ; OM-COUNT = _PM_COUNT + T; end; end; . 'Report a condition b !Report where iSet the abort array flag Page 188 SEQ 0223 F BSKELS REV B PATCH 00 012746 060616 016746 18-Mar-198 ROUTINE DECLARATIONS 0000006 000022 040412° 000004 0000006 R1,$SAVES #23,~(SP) SP, (SP) = (SP) ARR. SEL .POS, -($P) Pc.agsstz SP, (SP) BNK . SEL ,POS,=(SP) : TEMP.ARRSONK . SE.* PC.S.ERROR.MAP 171610 2 R3.~(SP) RO,~(SP) PS.S.COL.CNT.TBL 000000° 000002°* 2s: "”o" 5833 BAD.CHIP,* 5834 5843 F3ki ALL.BAD,* 5854 R3.~(SP) 000000°* 000200 5768 5832 34(SP) R R3,(SP) ?S"11 171216 SEQ 0224 . ; *,ARR.SEL 172000 000011 * TEMP.ARRSBNK,SE,* RO R 164460 000011 . [4 ( 48) Page 18 #4,-(SP) RO, PC.1.TMP.BLST.TBL 000034 PA:<NEALE>PMSKLL.BLI.T JSR MOV ADD MOV MOV #30,(spP) 040414 000002 15:44:41 TOPS~20 Biiss=16 v2(212) IN.ERROR.KAP ROUTINE DECLARATIONS CLR 000030 16:07:57 .SBTTL IN.ERROR.MAP: 0000006 RO,=(SP) PC,S.REM. TBL (SP)+,(SP)+ (SP)+,(SP)+ ALL.BAD,* ALL.BAD,* ALL.BAD,* 5861 5869 5872 5871 5856 5885 P}g. COUNT ,#200 5888 R4 PM. COUNT R4 Ré #PM.LOG,R2 g§'R%sp> (SF) (SP) (SP) Y —d b wd O b o O NN NN b 2382?% b b RO ONON 006016 VA NRON CINIMNINY 020370 020374 020376 020402 020406 004167 — 020364 2 18-Mar-1982 00 177774 000003 (SP) #160077, (SP) #17700, (R2) (SP)+, (R2) R1,-($P) #177774., (SP) #3.(R2) (SP)+, (R2) BNK .NUM, « 5889 BSKELS REV B PATCH 00 6 2 lg-flar-19 5 16:07: 18-Mar~-1982 15:4 ROUTINE DECLARATIONS R5,=(SP) NN 010§46 006316 NN NN ~Nw QI NININD NN o - b b b ek wERS 58 83822%%%%3 oo 2%-—5_.-.-.-0-.& 16 (SP) 0460400° #74, (R2S (SPS+, (R2) mL.puf.-(sP) 017777 (SP) (SP) 07777, (SP) 000074 190 5890 5891 (SP) (SP) 4160000, (R2) (SP)+, (R2) 160000 RO,PM.LOG*+2(R4) PM.L0G+2 (R&4) s ALL.BAD,* 5892 ¢ ALL.BAD,* 5893 5896 000036 RO.#11 3 36(SP) ,~(SP) 166512 ;g.X.THP.BLSY.TBL 000004* 000004* 000000 38: 000011 2o :3&-. SSSess = Fa &3 000020 PM. COUNT RO,~(SP) 040422° 48: #20,FLG.REG 58 g‘ CON.A.NSG 0 R3,=(SP) R1,-(SP) R3.=(SP) #A.8.C.PRINT,-(SP) #4,-(SP) 003052°* 000004 NOOONONON : ARR.SEL,* Pa SE0°0225 (SP) #177703, (SP) 177703 000020 2232 TOPS-20 Biiss~16 v2(212) PA:<NEALE>PMSKLSL.BL]. 1T (48) 14’ #20,FLG.REG R1,RO RO RO RO 040422° : TEMP.ARRSBNK . SE,* : ALL.BAD,+* 5899 5896 5904 5907 5908 5909 5910 #DE GRADE .MOD .REG,RO RO, (SP) 040424 R1.~(SP) 0177§§o (SP) 177770 000001 #,~(SP} (5P) ,=(SP) PC ,BLSPU2 0000006 000012 c}é.Sp 5$: 4 6 5906| 5914 BSKELS O~ ) 746 746 414 021066 021072 ROUTINE DECLARATIONS 07:57 TOPS-20 Bliss=-16 V2(2 2) PA:<NEALE>PMSKLS.BL! .1 Page 191 SEQ 0226 ON.B.MSG £3% s323e2 =233 (=] R N (=] - N (=] b REV B PATCH 00 g-m.'--wi 24.4:41 18-Mar=19 762 000100 062706 000207 000022 RS,=(SP) ARR.GE,L "2, -(SP) SP.RO SP,s #REP. annt -(SP) 903200° 000002 14 #100,FLG.REG (SP)+ #22,SP PC 040422° ; Routine Size: 164 words : Maximum stack depth per invocation: 21 words 5915 5916 5769 5768 ] N VWA OO0 BSKEL4 REV B PAT(CH 00 2 18-Mar-19 s ROUTINE DECLARATIONS 18-Mar-19 6:07: 5:44 7 1 TOPS~20 Bliss=16 v2(212) PA:ZNEALE>PMSKL4.BLI.1 (49) routine FB_DATA_CHIPS (TEMP_ARRSBNX_SEL) : novalue = begin tes | i ) 1 i i 1 i i ) ' } i i 0w i 1 i [ i i AR TN T RN PN N Y A S TR P T ey PR PR PR TR PN FE PR TR TR T SsBe % o, [} ! Functional Description: This global routine will search the selected banks via mass bus transfers looking for additional failing chips. It a bad chip is detected then the bit from which the failure came from is calculated and the failing chip number and pattern is stored into the bad chip table. fFormal Parameters: ARRSBNK _SEL: Stores array and bank select address. Implicit Inputs: RET_STATUS, WRT_BUF, RD_BUF, FLG_REG Implicit Outputs: The flag register bits will be set if the write check transters detects an UNC error. Completion codes: none ! Side Effects: ; none tocatl BITS _TSTED, OFFSET, RAND INDEX, BAD BITS : bitvector [16], FAII_CHIP: tCounts no. bits tested in read buffer !Random data offset SEED3 = %0'7622': tInit random data seed! !'Init random data seed Init random data seed incr PAT_SEL from 0 to ONE + .RAND_PASS do ‘Loop thru all patterns SEED1 ZEROES; SEED2 = %0'123%'; OFFSET = ZEROES; b:fl!n RAND_INDEX = ZEROES: selectone .PAT_SEL of set ol : . iStarts sector transfer at random write butfer words 'Loaded with failing read buffer word 'Records the failing ml-11 data chip ‘Clear the random data offset for 1's and 0's data ‘Reset random index to zero !Select a pattern Page 192 SEQ 0227 BSKELG REV B PATCH Q0 1g-flar-19gs 16:07:57 ROUTINE DECLARATIONS : gg;g : : 5976 gg;g 1l : L_1_0_DATA (.TEMP_ARRSBNK_SEL, ONES): 5979 [otherwise] : 5980 5981 ; 5982 5983 : gggg : 5988 : ggg? TOPS~20 BLiss=16 v2(212) -Mar-19 15:44:41 PA:<NEALE>PMSKL4.BLI.1 (49) L_1_O_DATA (.TEMP_ARRSBNK_SEL, ZEROES). !Load zeroes data eg ANDOH DATA (.TEMP_ARRSBNK_SEL); OFFSET ~2: end; 1ncrbSEC CNT from 0 to .BNK_NUM_SEC do 'Load ones data ‘Load random data 1Enable the random data offset '‘'Write check all sectors in this bank BREAK; 5989 WRT_ CHK TRANSFER (SIZE= =256, DST= (.TEMP_ARRSBNK_SEL + .SEC_CNT), : 5992 if .ML_ADDR CMLEE, crc) : 5994 : H : : : 5993 : 6001 6004 : : 6006 288; : 6009 : : H : : : 6010 6011 6012 6013 gg}é 6016 28}; : 6019 : 28%% : L gHIP TBL (.FAIL_CHIP, .PAT_SEL): else en 6020 6021 6024 !Read the failin’ i number !Store away the tai bit and pattern begin if .ML_ADDR [MLEE, UNC] then begin 'Was there a uncorrectable error FLG_REG [F_UNC_ERR_FLG] = SET_FLG; end; 6005 : : ; begin 6002 6003 : !Was there a crc bit error FAIL CHIP= .ML_ADDR [MLEE, CHAN]; gggg 5998 2883 H then 5995 H : : : “SRCTM= WRT BUF (. RAND INDEX URDJ) !Set the unc error flag for future ref end; if .ML_ADDR [MLCS2, WCEJ then begin CLR_MBUS. BITS TSTED = ZEROES; iVas there a write check error ‘Clear the mass bus of the error 'Clear the bits tested count RD_ TRANSFER (SIZE= =256, DST= RD_BUF, SRC = .TEMP_ARRSBNK_SEL ¢ .SEC_CNT); tFind the failing read buffer word incr BUF_INDEX from 0 to 255 do begin if .WRT_BUF C[(.RAND_INDEX + .BUF_INDEX), WRD) neq .RD_BUF [.BUF_INDEX] then begin BAD_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) Page 193 SEQ 0228 K BSKEL& REV B PATCH 00 2 18-Mar-1982 16:07:57 18~Mar=1982 15:44:41 ROUTINE DECLARATIONS ig .BAD_BITS [.BIT_INDEX] eql ONE en TOPS=-20 Biiss=16 V2 ( 2}2%‘9) PA:<NEALE>PMSKL4.BLI. Page 194 SEQ 0229 !Is this a bad bit begin FA?L-CHIP = (BITS_TSTED + .BIT_INDEX) mod 36; iCalculate the Failing ml=11 biit L_gHIP_TBL (.FAIL_CHIP, .PAT_SEL); !Store away the bit and pattern end; end; BI;S_TSTED = BITS_TSTED + 16; 'Add 16 bit to the bit tested count end; end; RAgD_INDEx = .RAND_INDEX + .OFFSET; !Bump the random index if random data end; end; 6046 N NIV IRVEREREN SR b e o S o S D wud and T wud awd emd ud end avd w=d and 004167 162706 end; .SBYTL FB.DATA.CHIPS: 0000006 JSR 000034 0000006 001233 0000006 007622 0000006 000006 000732 000004 1$: Fi H 000001 000052 177777 164214 021224 021230 3s: 48: 000052 164070 000002 000010 H SEED1 H #34,sP MOV MOV CLR #1233,SEED? #7622,SEED3 6(SP) MOV MOV INC CLR JMP CLR TST BNE MOV 000052 R1,$SAVES sus CLR 000012 FB.DATA.CHIPS ROUTINE DECLARATIONS RAND,PASS ,R5 RE,12(SP) 12(SP) R1 163 4(SP) R1 2% 52(5P) ,~(SP) CLR -(SP) CMP R1. M BR BNE MOV MOV JSR TST BR MOV JSR MOV 3s 48 $2(SP) ,~(SP) #-1,-(SP) PC,L.1.0.DATA (SP)+ 5% 52(SP) ,-(SP) PC.L.RANDOM.DATA #2,10(5P) : : : OFFSET : : PAT.SEL : RAND. INDEX : PAT.SEL 5968 5970 : TEMP_ARRSBNK.SE,» 5974 : PAT.SEL.« 5970 ; TEMP _ARRSBNK.SE,* 5977 : : TEMP_ARRSBNK.SE,* 5970 5981 ; *,OFFSET 5982 R S6(SP) 4(SP) ,R3 R3,DST R3.-(SP) 12(sp>.n4 R4 MWRT .BUF ,R4 Ré,SRC 000012 002234° 040432° ML-ADDR,RS 5992 040374 000010 000032 000032 32(59) 15(ns)>.R4 32(SP #40,RG ML.ADDR RS n410(a§> 000030 10(n5>30(sp> (1]} mm TM L X4] L . 20 X [~ ). « M o A TR TR Y] g (1] R ML.ADDR 10(RS), (SP) #60000 (SP) TM 02 FLG, REG 0 42¢ns) $6(sp) 22 ADDR RS 5996 5994 5992 6001 s 09 7$: 5995 Se ggP)*.(SP)+ ¢ _FAIL.CHIP FAIL.CHIP,* PAT.SEL,* N R1,~(SP) PC,L.CHIP.TBL = xx » % RS 40(SP) RS,12(SP) RS.~(SP) 000002 040422' 040374* 000010 000034 040000 000034 000010 5989 #177700 RS 0¢ 0374 000042 000036 5990 Ré.=(SP) 62(R5) 40(sP) 164120 010465 016705 016566 : RAND. INDEX,* ADDR R5 177700 000012 000040 040374 000010 040374* TEMP.ARRSBNK.SE,* SEC.CNT,* 42(RS5),42(sP) czoooo"42(SP) 040374 000042 000040 000040 06 2 6 2 6 2 ; PC.WRT.CHK. TRANSFE 161610 040374° 000042 900042 020000 000042 016705 016566 016604 152704 016705 #=400,~(SP) (SP),S112 Page 195 SEQ 0230 5987 5989 22 Ve 006304 062704 010467 177400 060426 000056 000004 040430°' 14$ (49) 5986 * SEC.CNT SNy 021310 6$: 2(SP) FRTR ¥ 021276 021302 000002 000610 58: LI 040416° 000016 016766 005066 000167 104422 012746 011667 016603 066603 010367 010346 016604 a 021236 021244 021250 021254 021256 021262 021266 021272 TOPS=-20 Bliss=16 v2(2 2) PA:<NEALE>PMSKL&.BLI.1 - ROUTINE DECLARATIONS 1 »» REV B PATCH 00 :07: 57 ’8222221385 1 164:461 LR BSKEL4 6009 6011 n 2?2 18-Mar-1982 12: 7: 18-Mar-1982 15: 4: TOPS-20 Bliss-16 v2(212) PA: <NEALE>PMSKL4.BLI.1 REV B PATCH 00 ROUTINE DECLARATIONS 021540 021544 021550 021554 021560 021562 021566 000030 040400 30(SP) ,R4 ML.DUT ;RS ; ML.REG,MLREG 000007 #7.R6 s *,MLREG R&.10(RS) : MLREG,* 021612 021616 021622 021624 021630 021632 060374° 000010 20(sP) 000020 177400 040426 007230°' 060430°' 040432° ; BITS.TSTED X F . INDE ; BU (SP),S12E #RD . BUF ,=(SP) (sP),psf R3.SRC R3,-(SP) :g.RD.TRANSFER 162540 000022 : *,MLREG &8 021602 021606 RS .R% ML .ADDR RS 9s%: R2,R4 R4 22(SP) R4 zg.RS 002234* 007230° gg;.BUF(R&).RD.BUF(RS) 002234° F (R4) ,R3 WRT.BU UF (R5) ,-(SP) RD.B 007230° +* : BUF _INDEX, : RAND.INDEX,* ; BUF . INDEX,* 6022 R3, (SP) RD.BUF (RS) ,R3 (SP)+,R3 R3,34(SP) 007230° 000034 6024 6026 108: 000034 177770 000001 SEQ 0231 &8 021572 021576 #177770.RS 177770 Page 196 Vo BSKELS ; BAD.BITS,» R&.~(SP) RS.~(5P) 177770, (SP) #1,~(SP} ; BIT.INDEX,* -(5P) 0000006 000010 PC,BLSGT2 000030 000044 0000006 000024 30(SP), (SP) #10,spP RO 118 RS.=(SP) 244, ~(8P) PC,BLSMOD 24 (SP) RO, RO, (SP) ; BIT.INDEX,* ; BITS.TSTED,* s % FAIL.CHIP s FAIL.CHIP,« 6029 6031 REV B PATCH 00 010146 004767 N 2 18-Mar-1982 16:07:57 18-Mar-1982 15:44:4) ROUTINE DECLARATIONS R1,-(SP) PC,L.CHIP.TBL 163534 000006 118: 000017 000020 12$: 000026 000002 000002 000014 138: 000016 148: 177154 022122 : Routine Size: R RS .M17 10 #20,26(SP) R R2,A4377 000377 000006 000016 000006 #6,SP 15$: 000012 16$: 177034 000034 17%: 268 words ) : Maximum stack depth per invocation: 31 words 9s #6,SP 16(SP) ,14(SP) #6,SP P) ww BSKELS P) ,16(SP) TOPS-20 Bliss=16 v2(212 ) PA:<NEALE>PMSKL4.BLI.1T (49) Page 197 SEQ 0232 s PAT,SEL,» IT.INDEX IT.INDEX, «,BITS.TSTED : BUF.INDEX : BUF . INDEX,* OFFSET ,RAND . INDEX SEC.CNT SEC.CNT,» * PAT.SEL : PAT.SEL,* 6028 6024 6036 6016 6011 6041 5987 5986 5967 5966 5922 8 HuKELG .. IR TR YRR TR Y F I WA Y AR TR A S REV B PATCH 00 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS routine FB_CRC_CHIPS (TEMP_ARRSBNK_SEL) begin 44 [} i i i i i i Functional Description: 3 18-Har-1932 16:07:57 1 ) TOPS-20 Bliss=16 v 2 ( 212 PA: <NEALE>PMSKL4.B L 1 1 (50) : novalue = . L . This global routine finds all the additional failing crc chips for a selected bank and is only called it a unc error occured during the find bad data chip global routine. 1f a bad crc chip is found then it is stored into the bad chip table along with its failing i i data pattern, ; ! ! i ; : i i i i i i i i ! formal Parameters: : ARRSBNK_SEL Stores array and bank select address. Implicit _Inputs: RET_STATUS Implicit Qutputs: none Completion codes: none Side Effects: !-- none local RAND _INDEX, OFFSET, ] PD_SAVE : bitvector [16]; iStarts sector transfers at random write buffer words 'Random data offset iSave location for nibble prom data SEED1 = ZERO; 1Clear the random data offset for 1's and 0's data !Init the random data seed! SEED3 = %0'7622°; {Init the random data seed OFFSET =_2ERO; SEED2 = %0'1233°; incr CRC_SEL from CRC_P to (RC_8 dc begin :; not .CHIP_TBL [.CRC_SEL, FAULT] en ilnit the random data seed% ‘find bad crc bits p, a. b 'Did this crc bit fail during 'fb_data_chips’ begin incr PAT_SEL from O to ONE + .RAND_PASS do begin RAND_INDEX = ZERO; !Loop thru all patterns 'Reset the random index Page 198 SEQ 0233 BSKELS REV B PATCH 00 : : : : : : 6099 6100 6101 l: : 6108 : : 6110 6111 6109 : : 6112 g}}z : gug : 6117 : : : : set 6105 6118 6119 6120 g}g} DM_1_0_LOAD (.TEMP_ARRSBNK_SEL, CNES); begin !Load random data DM_RAND_LOAD (.TEMP_ARRSBNK_SEL). data offset random the 'Enable OFFSET = 2; tes; end; DM_RD_TRANSFER (SIZE = =256, DST = RD_BUF, SRC = .TEMP_ARRSBNK_SEL); !Select the failing crc bit case .CRC_SEL from CRC_P to CRC_B of set 'Test crc bit p [£36] : begin incr SEC_CNT from 0 to .BNK_NUM_SEC do : 6127 incr WRD_CNT from 0 to 127 do 6128 !Load ones data {otherwisel : 6123 6124 2}%2 Page 199 SEQ 0234 !Load zeroes data DM_1_0_LOAD (.TEMP_ARRSBNK_SEL, ZEROES); : : : TOPS=20 Bliss=16 v2(212 ) PA:<NEALE>PMSKLG4.BL] .1 (50) !Select a pattern selectone .PAT_SEL of J : 2189 3 18-Har-19g$ 16:07:57 18~-Mar-19 15:44:41 ROUTINE DECLARATIONS 6102 2}82 : : ¢ begin BREAK; begin 'Read thru all sectors 'Read thru all words in sector PDSSAVE = .ML_ADDR (MLPD, PD_REG]; 'Read out the prom data for this word iClock the data into the di.j reg's DAT_CLK; ;; not .PD_SAVE [CRC_NIBBLE] en ‘Is this a good nibble begin it .ML_ADDR [MLE2, B_36] neq .WRT_BUF [(.RAND_INDEX + .WRD_CNT), BIT_12] begin L-?HIP_TBL (.CRC_SEL, .PAT_SEL);and pattern b aod e e wach A OO0 NO NN p b ek OOOONONONONRON Y Sy TR IR IR IRTR LI Wy then end; 'Save the fa?lvng chip end; end; RA:D_INDEX = .RAND_INDEX + .OFFSET; !Bump the random index end; b BSKEL& REV B8 PATCH 00 : : : 6151 6152 6153 3 18-Har-1985 1g:07:57 ROUTINE DECLARATIONS 18-Mar-1982 15:44:41 iTest cr¢ bit a £37] : begin g}gg : : : 6156 6157 g}gg incr SEC_CNT from 0 to .BNK_NUM_SEC do ; g}g? 1ncrbukg_CNT from 0 to 127 do ; g}gz : ; : g;gg : : 617 6172 ; 6175 : ; 6176 : g};g ; 6180 : H : 6182 6183 6184 H : if not .PD_SAVE [CRC_NIBBLE] then 1; .ML_ADDR [MLE2, B_37] neq .WRT_BUF [(.RAND_INDEX + .WRD_CNT), BIT_13] en begin L_CHIP_TBL (.CRC_SEL, .PAT_SEL). end; 'Save the bad chip and pattern end; 6177 end; RAND_INDEX = .RAND_INDEX + .OFFSET; '!'Bump the random index end; 6181 end; !Test crc bit b £38] : begin 6185 g}gg : 6188 incr SEC_CNT from 0 to .BNK_NUM_SEC do : g}g% incrbURq_CNT from 0 to 127 do ; g}gg : : : : ; : 6189 2}3? 6194 6197 6198 2}33 6201 6202 !Is this a good nibble begin : H : : 'Read thru all words in this sector DAT_CLK; 6173 6174 : 'Read thru all sectors !Get this words prom data [MLPD, PD_REG]; PDQSAVE = .ML_ADDR iClock out data into the diag reg's egin 6165 6166 g}gg : begin BREAK; 6162 : : Page 200 SEQ 0235 end; : : T0PS-20 Bliss-16 v2(212) PA:<KNEALE>PMSKL4.8LI.T (50) begin BREAK; egin !Read all sectors 'Read all words in this sector PDQSAVE = ML_ADDR [MLPD, PD_REG]; !Get the prom data for iClock out data into diag reg's DAT_CLK; if not .PD_SAVE CCRC_NIBBLE] then 'Is this a good nibble begin if .ML_ADDR [MLE2, B_38] neq .WRT_BUF CC(.RAND_INDEX ¢+ .WRD_CNT), BIT_14] then E BSKELS REV B PATCH 00 3 18-Mar-19 18-Mar-19 ROUTINE DECLARATIONS 8 18:8:40 TOPS-20 Bliss=-16 v2(212) PA: CNEALE>PMSKL4.BLI.1 (50) Page 201 SEQ 0236 begin L_CHIP_TBL (.CRC_SEL, .PAT_SEL); iSave the bad chip and pattern 6203 6204 6205 6206 end; end; end; RAND_INDEX = .RAND_INDEX + .OFFSET; 'Bump the random fndex end; end end; end; !Clear the single step dma mode CLR_MBUS; end; 022130 022134 022140 022144 022152 022160 000042 000002 0000006 001233 0000006 007622 000044 FB.CRC.CHIPS: JSR 0000006 18: 030230° ~ 30 022232 022236 022240 022242 022246 s388288888es SRERFSSER 001052 001016 2s: 3s: 000060 000001 4$: SuB CLR CLR MOV MoV MoV MoV ASL TST 8PL JMP MoV MOV INC CLR JMP CLR TST BNE MOV CLR BR cmp BNE FB.CRC.CHIPS ROUTINE DECLARATIONS R1,$SAVES 842 ,SP 2(SP) SEED1 #1233, SEED #7622 SEED 044 R1 R1.RS R TRYR TR TN 71 0000006 LA .SBTTL 022124 OFFSET +,CRC.SEL CRC.SEL,» CHIP.TBL(R5) 23 273 . PASS ,R5 RAND R5.10(sP) 10(sP) R2 2 6¢ (SP} R2 43 60(SP) ,~(SP) (5P} 5% R2.M 63 PAT.SEL RAND . INDEX PAT. SEL 6097 TEMP.ARRSBNK . SE , + 6103 PAT.SEL,* 5%: 000060 157676 000002 000004 177400 060426 007230* 040430° 000064 060432° 68: 78: : TEMP.ARRSBNK . SE, 6106 PC,DM.1.0.LOAD (SP)+ 7% 60(SP) ,=(SP) ; #2.4(SP) : *,0OFFSET PC.DM.RAND . L DAD #-400, (SP) TEMP.ARRSBNK . SE ,+ © 160304 (sP),S1ZE #RD.BUF ,~(SP) (sP) ,pst 64 (SP) ,~(SP) ; R1.RS : CRC.SEL,* 157022 (SP), SRC PC,DM.RD. TRANSFER 000044 #44 RS TEMP_ARRSBNK.SE,+ 6117 RS 040416* 000014 000012 9s: 108: 040374° 12(SP) $ 118: SP) SP) 000042 SP) 000044 SEC.CNT I P FETR T ¥ 8s: gs¢as>.pc $-83 14$-8$ 203-8$ BNK . NUM. SEC, 14 (SP) e 8o 022356 220 S AN = o \V.|WA b ol SR i o wad 0ed ~ —d PO ~N N g2 4OCNDCMDCND§¥> gg% Rax &;fl o0& F Ovuoh\ursLflo"vo“u g Mg NS czczhununa NI&RE PONIPININY Efi o nN [w] o (=] RRR N A% c‘ nv ARE QN & 066507 60(SP) ,=(SP) #=1,-(SP) Page 202 SEQ 0237 Vit 000060 127777 016646 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (50) (- 3 O?% 022250 022254 fF 3 18-Har-198$ 02:07:57 18-Mar-1982 15:44:41 pu e -t b ROUTINE DECLARATIONS [e]ele] LRRRR BSKELG REV 8 PAT(H 00 WRD. CNT * ML .REG ML.REG.PD.SAVE 6123 6124 6127 6129 * ML .REG ML .REG,MLREG : *,MLREG 040374* 000034 000040 000006 002234° 167777 000040 167777 . 1 M. ADDR RS 34(RS) ,40(sP) R3,RS 6(5P) RS RS WRT . BUF (RS) ,RO 16 RO 40(SP) R4 :zskgrf.a4 128 1 022540 006; : MLREG,* 163000 PC.L.CHIP.TBL t ,PD.SAVE+] 7 ) 000043 L TR YR TR 000002 «* ML.REG , WRD.CNT RAND . INDEX, * 6133 6137 s ML.REG,* s CRC.SEL.* 6140 040416° 000014 14$: 15$: 040374 000036 000042 16$: )T o 000012 N?H.SEC.14(SP) .ADDR RS . 56(SP) (RS) (SP) .42(SP) ML.ADDR RS 24 (RS), 84 (sP) 34(39)‘Ré 000034 #20,R4 ML.ADDR,RS RG24 (RS) ';i‘S(SP) 000043 ML .ADDR RS 040374 000034 000032 34(&5) $2(sp) R3,R5 6(SP) RS 000006 w15799§(§3)'ko 002234" 157777 000032 + SEC.CNF : SEC.CNT, SEC.CNT . CNT URD * M.REG ML.REG,PD.SAVE *,ML.REG ; ML.REG,MLREG * ,MLREG : MLREG,* : =, PD.SAVE+] ML .REG WD CNT,» RAND. INDEX, * 157777 J1S§P77 R 32(SP) R4 ML.REG,* 162562 R1,=(SP) R2,~(5P) PC.L.CHIP.TBL PAT.SEL,* 178: 000177 000010 000012 000012 éifi” (SP)+ nsnr? :ozsp) 6(SP) 000006 000014 18%: 040416° 000014 000012 208: 19%: 21$: g(SP) 14(SP) NUM_SEC,14(SP) Page 203 SEQ 0238 : OFFSET,RAND. INDEX Ve ®e 0o 13%: (50) s WRD.CNTY ; WRD.CNT,+ IE IR L) 000014 SP) ,6(SP) SP) SP) ,14(SP) 19PS-20 Bliss~16 V2(2 2) PA:<NEALE>PMSKL4.BLI.1 L IR 000006 (" T7 PoY o) 000010 000012 000012 R3 . #77 b i 000177 (SP)¢+,(SP)+ b i 003713 12%: b o 222626 005203 020327 :0 7:57 g-flar—19g$ g04 4:41 OO‘I"’ [V, N1,o~ - L8 022544 022546 022550 022554 18-Mar-19 ROUT INE DECLARATIONS WS B DN == 4 8>oKEL REv 8 PAT(H 00 CRC.SEL,* WRD .CNT WRD.CNT ,» : OFFSET.RAND. INDEX SeC. Cnf SEC.CNT, ¢ SEC.CNT 6165 6169 22%: AN 000030 000042 SPOADINOOD 000026 000043 ML.ADDR,RS 040374 000034 000024 (SP) .24S) 34(R R3.RS 6(SP) RS RS WRT. 9r(as>.no #137777 .80 26(SP) .R& 000006 002234° 137777 000024 137777 #37777.R4 1623644 23s: 000177 Page 204 SEQ 0239 6192 6194 : M{.REG,PD.SAVE ; *, ML .REG . ML.REG,MLREG : *,MLREG : MLREG,* ; %,PD.SAVE+1 Y« ML.REG * WRD,CNT,w * RAND. INDEX, « 6197 6201 ; ML.REG,* 000014 248%: 25%: 000010 26$: 176750 278: 000046 R1,=(SP) R2.~(SP) PC,L.CHIP.TBL ; CRC.SEL,* R3. 077 ; WRD.CNT 6203 6192 ; OFFSET,RAND. INDEX s SEC.CNT 6212 6188 (SP)+,(SP)+ 22§ 000006 000006 176674 ° 040374 i oe,M_,REG (50) R4 RO 23$ 000010 000012 000012 ; WRD.CNT 10(sP) ,6(SP) 12(SP) 12(SP) ,14(SP) 218 #6,SP R2 RZ2,10¢(SP) §7£ $ R1 R1.#46 288 000014 28%: R,RS 10¢ 14 , {4(sP) 0(RS) 14( 4(SP) R R4 #40 ML.ADDR ¢ R 5 R 4.10(R5) R.R 5 Ly .1 ( SP) 1 0(R5),12 (RS) SP) ) R R4 1 2(SP e 000012 : PAT.SEL,* : WRD.CNT,* : PAT.SEL : PAT.SEL,+ s CRC.SEL s CRC.SEL,.* AT TR TR X 060374 AN ROUTINE DECLARATIONS N REV B PAT(H 00 TOPS-20 Bliss=16 v ( 212) PA:<NEALE>PMSKL4.BLI. 1 ) BIXKELS * ML .REG ML.REG,MLREG « ,MLREG ; MLREG,* ; *,ML.REG ; ML.REG,MLREG 6222 BSKELS REV B PATCH 00 1-flar-19gs 2 7 ROUTINE DECLARATIONS 18-Rar-19 023340 016705 ot.gros 177770 023344 023350 140704 000007 MOV 8IC T,RS RS 0179976 0% 062706 000062 ADD m.é SP 040400° BICB 023354 050504 ozgsss 016705 0460374 010465 000010 BIS MOV MOV 000207 RTS 3372 . : Routine Size: 340 words ; Maximum stack depth per invocation: 28 words #7.Ré RS Ré ML.ADDR RS RG.10(RS) 41 T0PS-20 BLliss~16 v2(212) PA:CNEALE>PMSKL4L.BLI.T (50) Page 205 SEQ 0240 ; «,MLREG * «MLREG : MLREG,+ : 6047 HWOKELS REv B PATCH 00 J 3 18-Har~1985 16:07:57 18-Mar-1 982 15:44:41 ROUTINE DECLARATIONS routine FB_CKIPS (TEMP_ARRSBNK_SEL) begin TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (51) page 206 SEQ 0241 : novalue = fee ! functional Description: ! ! ; This global routine calls the 'tind bad data chip’ and *tind bad crc¢ chip® global routines which will search this tested bank and find and log all failing chips. i If the ftb_data_chip global routine detectes a unc error then the fb_crc_chip global routine {is not ! called. ; i Formal Parameters: ARRSBNK_SEL: ! Stores the array and bank select address. ; i Implicit Inputs: ! FLG_REE i Implicit Outputs: et w ; i Completion codes: B2 ; none Se i Side Effects: P T TRTR % none FLG_REG [F_UNC_ERR_FLG] = CLR_FLG; 1_CRIP_TBL”O): FB_DATA_CHIPS (.TEMP_ARRSBNK_SEL); !Clear the uncorrectable error flag 'Init the bad chip table iFind all the bad data chips 0-35 in this bank if .FLG_REG [F_UNC_ERR_FLG] *hen FB_CRC_CHIPS (.TEMP_ARRSBNK_SEL): 6263 023374 none 142767 004767 'find all the bad crc chips in this bank P end; 000002 040422° 161472 000002 175456 000002 LSBTTL FB.CHIPS: 81C JSR #2,FLG.REG PC,1.CHIP.TBL : H JSR gég PC.FB.DATA.CHIPS g;.FLG.REG 6256 6257 6258 : 6260 MOV 4(SP) ,~(SP) . SENK ,* H TEMP.ARRSB 187 TST (SP)+ (SP)+ : MOV 040422° 000004 176466 JSR 1$: FB.CHIPS ROUTINE DECLARATIONS 2(5P) ,=(SP) PC,FB.CRC.CHIPS . SENK ,* : TEMP.ARRSB 6227 6:07:57 Ig-fll'-19 5 BSKEL4 REV B PATCH 00 ROUTINE DECLARATIONS 023442 18-Mar-19 000207 : Routine Size: RTS 20 words : Maximum stack depth per invocation: 2 words PC 5:44:41 TOPS=20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (51) ; e 207 SEO 0242 6226 BSKtL4 REV B PATCH 00 6264 6265 6266 6267 6268 6269 L 3 18-Mar-19 S 16:07:57 18=Mar=1982 ROUTINE DECLARATIONS 15:44:41 TOPS=-20 Bliss=-16 v2(212) PA:<NEALE>PMSKL&.BLI.1 (52) routine PM_THIS_BANK (TEMP_ARRSBNK_SEL) : novalue = begin 144 ! Functional Description: ! ! ! ! ; This global routine loops on routines that will find newly failing chips, load the error map, interigate the error map and load the blast table with all the newly tavling rows and columns addresses within this bank. i Formal Parameters: ! : ARRSBNK _SEL: Stores the array and bank select address. i Implicit Inputs: ; CHIP_TBL. FLG_REG . i Implicit Outputs: ! ; As each failing chip gets PM'ed the fault bit in the flag register gets cleared. i Completion codes: ; none i Side Effects: YR IR TETEEE FE R PN P KR LI N B DS I YA AP QY WA WL TR ; none local . !Points to bad chips to be tested 'Last pattern test for this failing chip BAD_CHIP, LST_PAT; BAD_CHIP = S_CHIP_TBL (ZERO); 'Find a bad chip to test 2; .BAD_CHIP geq ZERO 'Are there any chips to test en begin FLG_REG [F_ALL_BAD_CHIP] = CLR_FLG; do begin SEED1 = ZERO; SEED2 = %0'1233°; IClear the all bad flag !Init the random data seed) iInit the random data seed? 1Init the ranomd data seed3 SEED3 = X0'7622°. 'Clear the entered error map flag ;kglsz CF_ERR_MAP_ENTERED] = CLR_FLG; 1_ERROR_MAP (); LST_PAT = ZERO; do ) begin iInft the error map ILast pattern starts at zero !Test all failing patterns for this bad chip Page 208 SEQ 0243 n BSKEL& 18-Mar-1982 REV B PATCH 00 ROUTINE DECLARATIONS : 6317 2%}8 : 2%%? : 6322 : : . 352 eg mnb IN ERRORMAP (.TEMP_ARRSBNK_SEL, .BAD_CHIP); 6325 6326 else a PRINTB (AB C PRIRT, .TEMPARR‘BNKSEL<.ARR_SEL _POS, ARRSSEL_SIZE>, g%g; 4 .TEMP AR‘BNK SEL< BNK SEL POS BNKSSEL SIZE>. .BAD CHIPY; end; 6333 CHIP_TBL [.BAD_CHIP, FAULT] = CLR_FLG; 6334 BAg THIP ='s_CRIP_TBL (.BAD_CHIP)? gggz 023452 end !Interigate the error map ERRSF (ERR &, UNC _CHIP MSG, 0); 'Report the unconfirmed error P 6330 iClear this chips fault flag until (.BAD_CHIP Lss 2ERO) or (.FLG_REG [F_ABORT_ARRAY]); 6339 6340 6341 end; end; 004167 0000006 004767 023456 010003 023460 002544 023462 142767 000020 040422° 023470 005067 0000006 023474 012767 001233 0000006 023502 012767 007622 0000006 023510 142767 000004 040422° PM.THIS.BANK ROUTINE DECLARATIONS JSR R1,$SAVE4 : JSR PC.S.CHIP.TBL : *,BAD.CHIP CLR MOV 18: BLT 8I(8 CLR MoV MOV BI(B TRAP 023516 104422 ‘Repeat until all bad chips tested .SBTTL PM.THIS.BANK: 170632 ‘Report where !Find the next failing chip gg%g 023450 005046 e 209 SEQ 0244 ‘Repeat until all patterns are tested until .CHIP_TBL [.BAD_CHIP, PATS] eql ZEROES: 'Were any failing rows/cols detected if .FLG_REG [F_ERR_MAP_ENTERED] 6329 023444 TOPS=20 Bliss=16 V2(2 2) PA:<NEALE>PMSKL4.BLI.1 (52) L ERRORHAP (.TEMP_ARRSBNK SEL. .BAD CHIP) ; 'Load the error map with failing rows and columns end 8327 6328 ; : ; 16:07:57 18-Mar-1982 15:44:41 LST_PAT= L_FAILING_CHIP (.TEMP_ARRSBNK SEL, .BAD_ CHIP, .LST_PAT); 6316 H : 3 -($P) RO.R3 58 020 FLG REG 5 SEED% 01 33 22,.SEED 04 FLG.REG 22° : 6264 6297 : : ; : : : 6299 6302 6306 6307 6308 6309 023520 004767 161530 023524 005004 023526 010301 JSR CLR MOV PC.].ERROR.MAP R4 R3.R1 : s LST.PAT : BAD.CHIP,» 6311 6312 6320 023532 016602 000016 MoV 16(SP) ,R2 ,* : TEMP.ARRSBNK.SE 6316 R3.~-(SP) R4 ,-(SP) PC.L.FAILING CHIP RO R4 R2. (SP) ; BAD.CHIP,» 0235 0235 023540 023542 023544 023550 023552 ASL 006301 010246 010346 010446 004767 162220 01 0004 010216 2s: MoV MOV MoV JSR MOV MoV R1 R2.-(SP) : LST.PAT,» : «,LST.PAT : 6317 BSKEL4 REV B PATCH 00 023554 023556 N 3 18~-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS R3,-(SP) 163042 000010 0?7777 030230° 000004 060422° PC,L.ERROR.MAP #10,sP 6315 6320 #4 ,FLG.REG 6322 23R o = O\ [ Yy R3,-(SP) zg.IN.ERROR.HAP 3s: SEQ 0245 : BAD.CHIP,» 3s 174546 Page 210 | 5;7?77.cu1p.raL(n1> R2,=(SP) 9 o TOPS-20 Bliss=16 V2 (212) PA: <NEALE>PMSKL& .BL 1.1 (52) : BAD.CHIP, 6325 [4 6322 6329 a3, —(SP) : BAD.CHIP,* 6331 SP, (SP) BNK. SEL .POS ,=(SP) ; TEMP.ARRSBNK.SE, * 24 - * (3 gNC.CHIP.HSG #22,~(SP) 000022 040614* #2,~(SP} -($P) 000002 PC,BLSGT2 (SP)+, (SP)+ RO, 2(SP) 0000006 000002 000024 #24, (SP) SP, (SP) ARR. SEL .POS,=(SP) 040412° 000004 #4,~(SP) <(SP) PC,BLSGT2 0000006 000002 003052°* 000004 000006 100000 030230° 48: 170336 000100 : TEMP.ARRSBNK.SE,* (SP)+,(SP)+ RO, 2(SP) #A.B.C.PRINT, (SP) #4,=(SP) SP.RO 14 ¥6,SP TBL(R1) 000, CHIP. #100 R3. (SP) PC.S.CHIP.TBL RO.R3 040422° 58: : Routine Size: 109 words : Maximum stack depth per invocation: 12 words (SP)+,(SP)+ R3 5% #100,FLG.REG 18 (SP)+ PC : SP,x 6328 * BAD.CHIP,* ; *,BAD.CHIP : BAD.CHIP 6335 6305 6337 6265 6264 8 BSKEL& REV B PATCH 00 ; : : 6342 routine CAL_CHK_SUM : novalue = begin 6345 !++ 6343 6344 6346 6347 6348 6349 : : ; : : : : : ; : : : ; : : : : ! proms. ! ! Formal Parameters: 6354 6355 ! ! Implicit lgfigts: ! none ggg? ; BAD_BNK_REG, BLAST_TBL, ERROR_MAP 6358 6359 6360 ggg; ! Implicit Outputs: ! The error map and blast table is loaded with the new 6363 ! Completion codes: 6366 6367 6368 6369 6370 ! Side Effects: none ! !'-- 6379 Label : 6353 6364 6355 6371 6372 6373 gg;g and column addresses. : none ! ' . local PD_SAVE : bitvector [16], PD"0_9 CNT, CHR_SUR_CNT, REMAINDER; iLeave 6382 incr BNK_SEL from 0 to 3 do 6385 6386 gggg ; 6389 6392 6393 !Stores the prom data to be calculated 1Counts number of bits 0-9 set ) ICounts the old check sum value IStores the number of count to update the check sums with ‘Leave map g%gz TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (53) checksum values for the newly discovered failing row ! 6378 6379 K : i 18=Mar=-1982 15:44:41 . ! Functional Description: This global routine will calculate the new ! check sums values for the prom data to ! be blasted into the selected arrays ! 6350 6351 6352 g%g? : ROUTINE DECLARATIONS & 18-Mar-1982 16:07:57 ERROR_MAP : blockvector [4, 512] volatile; begin it .BAD_BNK_REG [.BNK_SEL] then la lo p loop label . 'Make the error map look like the blast table ‘Look at all the banks ‘Is this a bad bank begin incr PD_WRD_SEL from 0 to .MAX_CHIP_COL*2 - 1 do ‘Look at all the rows and columnsns if .BLAST_TBL [.BNK_SEL, .PD_WRD_SEL, FULL_WRD] neq ZERO then !'Is this location enpty Page 211 SEQ 0246 J\\h --~ C 4 18-Mar-198 18=-Mar=198% ROUTINE DECLARATIONS 3596"9 CNT = ZERO TOPS=20 Bliss=16 V2(212) PA:<NEALE>PMSKLSL.BLI. 1 (53) CHR_SUM_ CNT = ZERO ‘Clear the count !Clear the count incr CNT from 0 to 9 do 'Count the # of bits set in 0 -9 PD_SAVE= .BLAST_ TBL [.BNK _SEL, .PD_WRD_SEL, FULL_WRDJ; '6et this prom dtat word if .PD_SAVE [.CNT] then PD_O_9_CNT = .PD_0_9_CNT ¢ 1; CHK_SUM_CNT = .PD_SAVE<10 'Get the old count CHK"SUMTMCNT = .CHR_SUM_CNT o *PD _SAVE<13, 1>; CHK_SUM_CNT = .CHKZSUM_CNT + .PD”SAVE<14, 1>; cuxSuM” CNT = “CHK"SUMTMCNT + .PD”SAVE<15, 1> REMRINDER = .PD_0_9_CNT - LCHK_SOM_ CNT; if .REMAINDER geq 4 | then begin !How many more to enter 'Do we add in more than 3 it .PD_SAVE<12, 1> eql ZERO then PDQSAVE<12 1> = SEY FLG; be if .REMAINDER eql ZERO then begin 'Set this bit ‘Are we all done R BLAST_TBL [.BNK_SEL, .PD_WRD_SEL, FULL_WRD] PArTar T ERROR"MAP [.BNKZSEL. .PD"WRDZSEL, FULL_WRD] .PD_WRD_SEL, FULL_WRD]; Leave A end; TI PR PO YEYEFEYEIEIEAIETELE TR TR T " !Is this bit already set REMAINDER = .REMAINDER - & ISubtract the weight T PEL PN IR WL TN PN T LI T Y Y BN PO WA T I IR PR Y e veneg, BSKEL4 REV B PATCH 00 -PD_SAVE: .BLAST_TBL [.BNX_SEL. 'Leavé the loop end; end; :;QRREHAINDER geq 2 Do we add in more than 1 begin :;OBPD SAVE<11, 1> eql ZERO begin PD SAVE<11, 1> = SET_FLG; ‘Is this bit already set !Set this bit REHAINDER .REMAINDER - 2; 'Subtract the weight if .REMAINDER eqi ZERO then begin 'Are vwe done Fage 212 SEQ 0247 BSKELS 18-Mar-19 ROUTINE DECLARATIONS S3IAAAS O OO00 ~NONN S NN - (=] *& 6461 D_WRD_ SEL, FULL URDJ Leave A7 end; end; :; .REMAINDER geq 1 en 'Do we add more than 0 begin :; .PD_SAVE<10, 1> eql ZERO en begin 'Is this bit already set PD SAVE<10, 1> = SET FLG; 'Set this bit if .REMAINDER egl ZERO 'Are we done REMAINDER = .REMAINDER - 1; !Subtract the weight then BLxST 18L [.BNK_SEL, .PD_WRD_SEL, FULL_WRD] = .PD_SAVE; ERROR"MAP [.BNKTMTSEL, .PD_WRD_SEL, FULL_WRD] = .BLKST TBL [.BNK_SEL, T PO U YA OAT SN TN TR TR T !Leave the loop end; .PD_WRD_SEL, FULL_WRD]: Leave AT 'Leave the loop Qfid end; end; :; .PD_SAVE<13, 1> eql ZERO !lIs this bit already set en be PDQSAVE<13 1> = SET FLG REMAINDER = .REMAINDER ~ if .REMAINDER eql ZERO IE TR YA IS YR T 10PS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (53) ERRORTMMAP [.BNK®_SEL, PDTWRDTM_SEL, FULL “WRD] = .BLKST TéL {.BNK_SEL, then N EE TII N I 5:44:4 BLAST_TBL [.BNK_SEL, .PD_WRD_SEL, FULL_WRD] = .PD_SAVE; 6446 6447 6448 6449 I TS TN A T IS TP WY WA O 3 v arv ae LI I Yy REV B PATCH 00 -Har-19g% 6:07:57 1; !Set this bit 'Are we done begin BLAST_T8L E.BNK_SEL, .PD_WRD_SEL, FULL_WRD] ERROR"MAP [.BNK”SEL, .PD_WRD_SEL, FULL_“WRD] Lleave AT Ceave the loop .PD_WRD_SEL FULL _WKD]; end; end; if PD_SAVE<14, 1> eql ZERO !lIs this bit already set then .PD_SAVE; .BLKST TBL [.BNK_SEL. Page 213 SEQ 0248 $oKELG Q€Y B PATCH 00 4 E 18-Har~19gs 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS begin PD SAVE<14, 1> = SET FLG; 6498 6499 6500 REMAINDER = .REMAINDER - 1; if .REMAINDER eql Z2ERO then ( 1 TOPS-20 Bliss=16 V2(212) PA:<NEALE>PMSKLSL .BL 1 1 (53) !Set this bit 'Subtract the weight 'Are we done begin .PD_WRD_SEL, FULL_WRD] .PD_SAVE; .BLAST_TBL C.BNK_SEL, PD WRD_SEL, FULL_WRD] L_WRB]: 'Ceave the Loop 023776 end; NIV OO OCOONOONOOON [ YR YRE TR TETETR TR TR YIS Sarany 6310 PD_SAVE<1S, 1> = SET_FLG: 1Set the bit BLAST_7BL [.BNK_SEL. .PD_WRD_SEL, FULL_WRD] ERROR_MAP [.BNK_SEL. .PD_WRD_SEL, FULL_WRD] end; FOLL_wRD]; = .PD_SAVE; = .BLAST_TBL [.BNK_SEL, .PD_WRD_SEL, end; end: end; end; 0000006 000016 LSBTTL CAL . CHK.SUM: JSR 1$: MoV 634c R1,$SAVES . SEL BNK BNK.SEL ¢ -(SP) (SP) .RO RO 6382 6385 ; BNK.SEL,.* 000002 177770 000001 M ,-(SP} -($P) PC,BLSGT2 0000006 000010 000530 040376' 000014 000014 CAL.CHK.SUM ROUTINE DECLARATIONS 0 040420° 0 024072 Page 214 SEQ 0249 28 Moy 17 MAX.CHIP.COL,14(SP) : 6389 F BSKELS REV B PAT(H 00 ROUTINE DECLARATIONS (53) Page 215 SEQ 0250 6392 105000 38: A (SP) a10(sP) ,16(SP) 000016 Ré R‘R R3,~(SP) Ré -(;P) 177770 000001 0147770, (sP) :} -;svs 0000006 000010 #10.5P PD.0.9.CNT CHK.SUM.CNT +,PD.SAVE CNTY CNT,» : PD.SAVE,* : CNT,« PC,BLSGT2 RO 6(SP) 000006 Ré R, M1 b3 3 16(SP) ,Ré 000011 000016 Ré R4 Ré #177770 R4 177770 000002 68: 000016 : PD.0.9.CNT : CNT : CNT,» » s PD.SAVE, az.zmi M. : *,CHK.SUCNT 550000.16(SP) P *,PD.SAVE R 000016 000002 040000 6392 10(SP) (SP) R 48: 5%: 020000 : PD.WRD.SEL,* Se %e0p O n, 000010 6389 3 024146 000006 000002 ; PD.WRD.SEL LAST.TEL,10(SP) il c el w» O * 000010 —_— 000004 024132 024134 024142 024152 024154 026160 024164 024170 024176 024200 024202 024204 024206 024210 024214 024216 024220 024222 024224 024230 024234 024236 TOPS~20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 011600 000300 Lo N0 024076 024100 024102 024104 026106 024112 024116 024722 024126 & 18-Mar-19 S 18-Mar-19 Ré& R4 ,2(SP) Ré #40000,16(SP) 78 : *,CHK.SUM.CNT * «,PD.SAVE 6405 6406 00<000 000002 000016 108: 14! m 000016 02200.16(SP) 002000 000016 02000 16(SP) 020000 009016 020000 000016 §0000.16(SP) 0000,16(SP) F $ #60000,16(SP) 138 :60000-16(SP) 000014 177306 000003 177160 000020 178%: 188: 610(59) A 000010 nooooo 16(SP) SP _5\-‘ 000016 000010 010230° Qe 100000 000016 oo 000016 *s 040000 12%: b b 000016 &SN " 040000 * ,REMAINDER REMAINDER, + e Gy Wy Ve «,PD.SAVE * PD,SAVE * ,REMAINDER REMAINDER «,PD.SAVE *,PD.SAVE REMAINDER w» 11$: da‘—'. 002000 e %e % 0 % ,PD.SAVE A YR X 000016 #10000,16(SP) #4 ,R1 [TX 004000 CHK. SUM. CNT, REMAINDER REMAINDER, * *,PD . SAVE 10 #4000,16(SP) 108 04000 16(SP) 607 *, CHK.SUM, CNT 510000.16(SP) o $ 9%: 000002 Page 216 SEQ 0251 PD.0.9. CNT REMAINDER ®e 000004 PD.SAVE LA T PR 23 000016 : ERROR.MAP (RS) SP), 4(SP) $ (TR TRTE T3 010000 R1.44 9s : *,CHK.SUM.CNT TRYA TR YR XY 000016 6(SP) ,R1 2(SP) ,R1 T0PS-20 Bliss-16 V 2(212) PA:<NEALE>PMSKLL.B LI.1 (53) IR TR 8s: 010000 —h > R4 ,2(SP) R4 16(SP) 8s Ré& R4 ,2(SP) 000016 000002 ©oDCo [a¥ 1p ¥ Ré 7%: 000002 o\ "> 005204 ROUTINE DECLARATIONS L BSKELS REV B PATCH 00 G 4 18-Mar-19 18-Mar-19 REMAINDER *,PD.SAVE =, PD, SAVE REMAINDER *,PD.SAVE PD.SAVE,* PD.WRD. SEL PD.WRD.SEL s BNK.SEL s BNK.SEL,* 6342 -Mar=19 BSKELG REV B PATCH 00 ROUTINE DECLARATIONS 024634 g-flar-1 SS g RTS 000207 : Routine Size: 208 words : Maximum stack depth per invocation: 18 words PC TOPS-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLL.BLI.T1 (53) Pa 17 550082 2 4 BSKEL S (=2 v o Lot s At aleal e al e aleal sl i A alonoo NON v.lv,} NS REV B PATCH 00 ROUTINE DECLARATIONS 4 I 7:57 18-Mar-19 S 16:07: 15:64:41 18-Mar-19 T0PS=-20 BLiss=16 vo( 212 1 ) ( 56) PA: <NEALE>PMSKL4.B L1 routine BL_PROMS (ARRSBNK_SEL) : novalue = begin ee ! Functional Description: This global routine will search through the blast table and louk for non-zero locations and then will blast tested array modules UV proms ! ! ! with the new prom data. s i Format Parameters: ARRSBNK _SEL : ! Stores the array and bank select address. % i Implicit Inpute: ; » BAD_gzg_REG. BLAST_T8BL, FLG_REG, RET_STATUS i Implicit Outputs: The data clock time out flag in the flag register will be set if this control logic times out. ! ; i Completion codes: ; none i Side Effects: ; none Labet : !Leave loop label PROM_ADRS, FINISH; iStores the generated prom address local A if .BNK_NUM_SEC egl 127 then FINISH = 127 else FINISH = 255; 'Is this a 16k part WRT_PROM_MODE; ‘Enable prom writes PROM_ADRS = ZEROES; !Clear the prom adrs PROM_ADRS<11, 4> = _ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIIE>; !Select the array incr SEL_BNK from 0 to 3 do | ‘Loop thru all the banks begin :; .BAD_BNK_REG [.SEL_BNK] en beggn 'Is this a bad bank PROM_ADRS<10, 1> = ZERO; PROM_ADRS<8, 2> = .SEL_BNK; 'Load the row address select bit 'Load the bank select incr ROW_NUM from 0 to .FINISH do !Blast all the new row prom data 1 Page 218 SEQ 0253 J BSKELG & 18-Har—198$ 16:07:57 REV B PATCH 00 ROUTINE DECLARATIONS : g;;g begin : ggg? i; .BLAST_TBL [.SEL_BNK, .ROW_NUM, FULL_WRD] neq 2ERC : 6582 : H : : en 18-Mar-1982 15:44:41 TOPS=-20 Bliss=-16 v2(212) PA: <NEALE>PMSKL4.ELI.T1 (54) !Is this table entry not zero beagn PROM_ADRS<0, 8> = .ROW_NUM: !Load the row number WRT_RH (MLPA, PA_REG, .PROM_ADRS): !Select the prom address 6583 6584 WRT_RH (MLPD, PD_REG, .BLAST_TBL t.SEL_BNK‘ .ROW_NUM, FULL_WRD]); 6585 6586 DAT_CLK; TClock the"new prom data in if .ML_ADDR [MLMR, D_CLK] !Did the data clock time out DELAY (FIFTY_MS); gggg : 6589 ; 6592 ERRSF (ERR_10, TIME_OUT H§G. 0. : : : : ; : : 6596 6597 6598 6599 6600 6601 6602 leave A; end; 6603 PROM_ADRS<10, 1> = ONE. !Turn on the column addresses : 6605 incr COL_NUM from 0 to .FINISH do !Blast all the new columns : 6608 if .BLAST_TBL [.SEL_BNK, .COL_NUM + .COL_BASE, FULL WRD] neq ZERO : 6610 then : ; : : : : : : gggg 6609 6611 : 6613 begin tIs this table ENTRY NOT zrro begin 6618 :: : 6e5 6622 ; : H 6625 6626 6627 o o N O WRT_RH (MLPD, PD_REG, LBLAST_TBL t.SEL_BNK. .COL_NUM + _COL_BASE, FULL_WRD]); : : end; 6614 6615 gg}g : : end; 6612 : : : 'Report the error PROM_ADRS<0, 8> = ,COL_NUM; !Load the column number - : beain PRINTB (ONE_MSG. REP _M7363_MsG); PRINTB (ONE_MSG, SUPRES MSD): FLG_REG [F_D_CLK_TIME_00T) = SET_FLG: 6593 6594 6595 : : then 6590 6591 'Load the prom data 'Wait for the write to complete ; 6619 WRT_RH (MLPA, PA_REG, .PROM_ADRS): DAT_CLK; DELAY (FIFTY_MS); Tclock the new prom data in ‘Wait for the write to complete if .ML_ADDR [MLMR, D_CLK] !Did the data clock time out then 6623 6624 6628 !Select the prom address PRRLF (ERR_10, TIME OUT MSG, . 0) 0); PRINTB (ONE_MS$G, REP R7363 Ase) PRINTB (ONE_MSG, SUPRES n§6>: FLG_REG [F_D-CLK-TIHE_OUT leave A; end; end; = SET_FLG; 'Report the error !Repor Page 21Y¥ SEQ 0254 K B8SKEL4 REV B PATCH 00 4 18-Mar-198¢ 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS T0PS=-20 Bliss=16 V PA: <NEALE>PMSKL .8 4 Page 220 SEQ 0255 end; end; end; !Clear the prom write enable 'Wait for the voltage to settle CLR_MBUS: DELAY (TEN_MS); end; 000034 040416° 000177 000002 000377 000002 000024 000030 1$: 6561 «,FINISH 2 #377,2(SP) ML.ADDRR1 ML.ADDR,R1 R%.Zb(ki) R #54,~(SP) SP, (SP) « FINISH : *,ML.REG * ,MLREG ARR,SEL .POS,~(SP) #4,~(SP) =(SP) MLREG, PROM.ADRS ARRSBNK . SEL , * 6564 6565 PC.BLSGT2 RO RO RO RO 103777 074000 3s: 0000006 000010 BNK.NUM. SEC,#177 24(R1),30(sP) 0000006 025026 025032 6526 434, 5P #140,R2 040412° 000004 177770 000001 R1,$SAVES 1$ #177,2(SP) 000054 040420 JSR L YR TR TR 1 000177 000140 040374 000024 BL.PROMS ROUTINE DECLARATIONS #103777 ,RO #74000,R3 20.83 5 RS,RO RO RO LY RYR TR 3] 0000006 ° 040374 .SBTTL BL.PROMS: * ,PROM.ADRS *,PROM.ADRS SEL.BNK * SEL.BNK, RO RO, =(SP) RS, ~(SP) #1#7770 (SP) #i.-(sP§ -($p) PC,BLSGT2 #10,sp SEL.BNK, * 6567 6571 006000 103402 ROUTINE DECLARATIONS 000626 48: 208 RS, R4 R& 2176377 R4 #3400,R3 R5.RO RO,10(SP) 5%: Ré& 11$ R4 RO 10(SP) ,RO +,PROM.ADRS «.PROM.ADRS * SEL.BNK,* 6580 : ROW.NUM 6577 ; ROW.NUM,« 6580 10$ R3 R4 ,R3 ML .ADDR,R1 20(R1),36(sP) R3,R2 ML .ADDR,R1 * 040374 000020 040374 000046 000034 030372°* 040374 000046 040374 000024 000032 R2.20(R) ML .ADDR ,R1 46(R1),34(sP) TBL (R0) ,R2 BLAST. ML.ADDR,R1 63: PROM.ADRS ROW.NUM_PROM.ADRS MLREG,* « ,ML.REG 24(R1),82(sP) 32(SP).R2 : *,ML.REG ; ML.REG,MLREG : *,MLREG R2.24 (RT) s MLREG,« 98 6584 6585 * ,MLREG ; MLREG,* 2144 ,R 6583 PROM_.ADRS ,MLREG R2.46(RT) ML .ADDR,R1 #20,R2 H%.ADDR R1 000042 : * 6575 RO 040374°* 000020 000036 0000006 ; SEL.BNK,* BLAST.TBL(RO) 030372°' 016002 016701 010261 16701 016166 016602 152702 016701 010261 012701 SEQ 0256 R 000010 025164 025170 025174 025200 025204 025212 025216 025222 025226 025232 Page 221 RO 3 176377 003400 000010 ) ( TOPS=-20 Bliss=16 v2(212 PA:<NEALE>PMSKL&4.BLI.T ( (56) 1.1 (TR TR TR TE I 025036 025040 4 L 18-Mar-1 982 16:07: 57 18-Mar=1982 15:44: 41 ®e ®s 8o 0 BSKELS REV B8 PATCH 00 : %, $3TMP2 6587 : %, $STMPY 7$: 8s: 040374° 000024 000030 000020 000030 025304 9%: 6589 6592 BSKELS REV B PATCH 00 025306 025310 025312 000012 002116° 000000 025320 025326 012746 012746 nog 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ROUTINE DECLARATIONS LWORD 'WORD ‘WORD ; 6593 SP.RO 14 #SUPRES .MSG, (SP) ; SP,* ; 659 TRAP SP.RO 14 ; SP,* (MP R4, 12(SP) * ROW.NUM,F INISH 8IS MOV 025330 010600 025332 104414 025334 012716 001256° MOV TRAP MOV 025350 010600 MOV 025340 025344 012746 012746 025352 104414 025354 000535 025356 005204 025360 020466 025372 005004 025376 010400 025364 003647 000012 025366 052703 002000 025374 000534 025400 066700 MOV MOV MOV MOV 002556 000002 040372' 108: 118: 025406 066600 000010 025410 025412 025416 006300 005760 001522 025422 150403 025420 025426 025430 025436 025440 025444 025450 0254564 025462 025466 025472 025476 025502 025510 025514 025520 025524 025530 025534 025536 025542 001404 025544 005066 025550 005301 025552 001374 025554 030372° 105003 016701 016166 010302 016701 010261 016701 016166 016002 016701 010261 016701 016166 016600 152700 016701 010061 012702 001411 016701 005302 BR INC #2000.R3 ; «,PROM.ADRS 6603 MOV Ré RO : COL.NUM,* 6608 ASL ST BEQ RO TBL (RO) BLAST. 188 BIS8 R&4.R3 R : PROM.ADRS 6612 *: «,ML.REG PROM.ADRS .MLREG :: MLREG,* : «,ML.REG : *,MLREG : MLREG,* ; *,ML.REG * ML.REG,MLREG 6613 MOV BEO MOV ML .ADDR ,R1 zgmn.éocsm R3.R2 ML .ADDR,R1 R2.20(RY) ML -ADDR R1 46(R1), 34 (SP) BLAST. ¥8L (R0) .R2 ML . ADDR,R1 R2.46(RT) ML .ADDR,R1 54«:1).22(59) %(sm.no #20,R0 ML.ADDR ,R1 RO, 24 (RT) #és,R2 16$ LSDLY.R1 CLR DEC 42(SP) R1 ; SSTMP : SSTMPI DEC R2 ; $STMP2 BLE B8R ADD ADD 000042 MOV MOV MOV MoV MOV MOV MOV MOV MOV MOV MOV MOV MoV BIS8 oV MOV 138: 148: 158: .MSG .~ ($P) #ONE #2,-(SP) 6595 6577 (LRB 040374° 000020 000026 040374° 000020 040374° 000046 000024 030372° 040376" 000046 040374° 000024 000022 000022 000020 040374° 000024 000144 0000006 (SP) .MSG .~ E #ON #2,-(SP) ; ROW.NUM CLR 128: Page0257 222 SEQ #REP.M7363.MSG,~(SP) 025314 012746 002176° 002556" 000002 12 TIME.OUT.MSG O TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (54) BEQ BNE 17% R4 5$ R4 198 COL .BASE ,RO 19(SP) RO 158 148 COL.NUM * COL.NUM,PROM.ADRS 6605 6614 : «,MLREG : MLREG,* T o, SSTHP2 ; *,$STMPY 6616 ROUTINE DECLARATIONS 025556 000766 016701 040374° 025564 016166 000026 000020 025572 031766 000020 025560 025576 025600 025602 025606 025606 025610 025614 025620 025624 025626 025630 025634 025640 025644 001432 104454 000012 002116° 000000 012746 012746 012746 010600 104414 012716 012746 012746 010600 025664 025666 005204 020466 000012 025674 025676 005205 020527 025656 062706 000012 025662 000404 025672 003641 025702 003002 025704 025710 025714 025722 025726 025732 025736 025742 025746 025754 025760 025764 025770 025776 025776 026002 000167 016701 016166 016600 152700 016701 010061 016701 016166 016600 016705 042705 142700 050500 016701 010061 000003 026014 016701 0000006 0 60%3 0260 026032 1404 000042 5 5301 1374 005302 040422° 177064 040374" 000010 000016 000016 000040 040374' 000010 040374° 000014 000010 000014 040400° 177770 006007 040374° oggmo 023420 012702 26006 001411 026012 0 wgg 0260 MOV MOV MOV MOV TRAP MOV MoV MOV MOV 001256° 002556° 000002 000200 B8R MOV MOV BIT BEQ TRAP MORD 'WORD "WORD 002176° 002556° 000002 104414 152767 025646 025650 168: 178: 188: 198: 208: TRAP BISB ADD B8R INC (WP BLE INC Mp 867 218: 138 24(R1) ,50(SP) (pC),20(sP) ML .ADDR,R1 TOPS-20 BlLiss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (54) ; 6618 ; 6621 #REP.M7363.M56,~(SP) - (SP) SONE .MSG, #2,-(SP) SP.RO 14 #SUPRES .MSG, (SP) #ONE .MSG,~(SP) #2,-(SP) SP.RO ; 6622 : SP,w ; 6623 #12,5pP 208 ; 18$ S& 12 TIME.OUT.MSG O 14 czoo.m.m * «.ML.REG : SP,x : : COL.NUM : COL.NUM,FINISH RS RS, 43 : SEL.BNK * SEL.BNK,* 6567 : 6634 12§ 218 3s ML.ADDR,R1 16(R1),16(sP) 16(SP).RO #40,R0’ ML.ADDR,R RO,wmh ML .ADDR 14(59) 1o<m> usp)no g MOV Lsou R1 n?? 76as : «,ML.REG «,MLREG :ML.REG,MLREG : MLREG,* *,ML.REG s* ML.REG.MLREG 22%: MOV BEQ 0234 0,R2 238: BEQ (LR 248 42(SP) ; $STMP 238 : $$TMP2 BNE DEC 6624 6625 Ré R&,12(SP) : *,MLREG ¢ «.MLREG :P MLREG,* ow,SSTHP2 24$: SEQ 025 : «,ML.REG JMP MoV MoV MoV BISB MOV MOV MOV MOV MOV MOV BIC 8I1c8 BIS MOV MOV DEC Page 2 in g-flar-19gs }gigzizq 18-Mar-19 oony BSKEL4 REV B PATCH 00 nsao ADDR R1 gcni) R1 R2 ; +,$8TMPI : SSTMPI 6637 B BSKEL& REV B8 PATCH 00 026034 026036 026042 000766 062706 000207 ROUTINE DECLARATIONS 000044 ; Routine Size: 323 words ; Maximum stack depth per invocation: 5 18-Mar-1 982 16:07: 5 7 {8=-Mar-1 982 15:44 14 1 25$%: 29 words BR ADD RTS 22% #4464 ,SP PC T0PS-20 Bliss=16 v 2 ( 212 ) PA:<NEALE>PMSKL&. 8 L 1 1 (54) Page 224 SEQ 0259 6526 BSKEL4 REV B PAT(CH 00 6639 6640 6641 Y IO SR UK SR O LIS I Y A NEFREE BN NFETE TR TR IR TR FI ) A TOPS-20 Bliss=16 V 2¢ 2 1 2 ) PA:<NEALE>PMSKL4.8 L1 1 (55) begin fee i i i i i i i i i i i Functional Description: After the proms have been blasted they must be read back to insure the data was written correctly. This data global routine reads the banks prom back and compares it to the respective prom data stored in the error map. On compare erors the ogerator will be notified of a condition D and where the error occured. formal Parameters: ARRSBNK_SEL: Stores the array and bank select address. ; Implicit Inputs: ERROR_MAP, DEGRADE_MOD_REG, RET_STATUS i i i i Implicit Outputs: bit is set. ! ! [} Completion codes: none i ! i . . On compare errors this banks degrade mode register Side Effects: none !- tocal PROM_ADRS, FINISH, ARR_SEL; YR S 5 :57 41 routine VER_BLAST (ARRSBNK_SEL) : novalue = ) ey, L 18-Mar-19 ROUTINE DECLARATIONS i i i i "% e By e, c S 18-Mar=-19 map !Stores the generated prom address 'variable ending sector number 'Stores which array is se'ected for pm‘'ing ERROR_MAP : blockvector [4, 512] volatile; !Make the error map look Like the blast table if .BNK_NUM_SEC eql 127 then FINISH = 127 else FINISH = 255; RD_PROM_MODE; !Enable prom read mode incr SEL_BNK from 0 to 3 do ‘Loop on all banks !1s this a 16k chip ARR SELTM= .ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL _SIZE>; !Load the array select number PROM_ADRS = ZEROES: TClear the prom addres PROM_ADRS<11, &> = _ARR_SEL. !Load the array select number bea;n PROM_ADRS<10, 1> = ZERO; !Select the row addresses Page 225 SEQ 0260 BSKELS REV B PATCH 00 [ 18-Har-19g$ 16: 0 15:44 1R=-Mar-19 ROUTINE DECLARATIONS PROM_ADRS<8, 2> 6691 669 669 6694 6695 6696 6697 6698 6699 - - TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.T1 (55) Page 226 SEQ 0261 !Select the bank .SEL_BNK; 'Look at all row addresses in the blast table incr ROW_NUH from 0 to .FINISH do be ROW_NUM. ADRS(O 8> HRT RH (MLPA, PA -REG, “PROM _ADRS) ; DELAY (ONE US:. !Load the row number !Select the prom address !Wait for the prom data to come out it .ERROR_MAP [.SEL_BNK, .ROW_NUM, FULL_WRD] neq .ML_ADDR [MLPD, PD_REGI] then 'Report the error CON_D_MSG, 0); (ERR_8 ERgSF finxnr. .ARR SEL, .SEL a K): PRINTB (A B ([ .SEL_BRX DEGRADE_MOD_REG end; = SET_FLG; PROM_ADRS<10, 1> = ONE; 'Select the column addresses incr CO%NUM from O to .FINISH do ‘Look at all the columns R L I A TEYETR N Y I NI N RN end; = . COL_NUM; PROM_ADRS<0, 8> WRT_RH (MLPA, PA_REG, .PROHADRS); DELAY (ONE US) !Select the column addresses 'Select the prom address 'Wait for the prom data to come out it .ERROR_MAP [.SEL_BNK, .COL_NUM + .COL_BASE, FULL_WRD] neq .ML_ADDR [MLPD, PD_REG] A then ERgSF (ERR_8, CON_D_MSG, 0): ‘Re ort the error N PRINTB (A BPRINT. TARR SEL. .SEL_B DEGRADE_MOD_REG [ .SEL_BRK] = SET_FLG: R N end; A end; TRR R end. 026044 026030 026054 026062 026064 026070 026072 026076 !Clear out the prom read mode CLR_MBUS; end; 0000006 000024 040416° 000177 000177 000377 040374 .SBTTL VER.BLAST: VER.BLAST ROUTINE DECLARATIONS Rl ¥ SSAVES M 6639 BM. SEC.N77 ; 6681 $ #177,(SP) i #377, (SP) ML.ADDR,R1 ; *,FINISH ; * FINISH BSKEL& REV B PATCH 00 016166 18-Mar-19 ROUTINE DECLARATIONS 000023 048374' TGPS=2V Bliss=16 v 2(212) PA:<NEALE>PMSKL4.B LI.1 (55) 264(R1),20(SP) 000020 * ,ML.REG = ,MLREG nb.Auoa R1 RO 26 (rRT) #ed,-(SP) 000024 000044 MLREG, * ARRS.BNK SEL , SP, (SP) ARR. SEL .POS,~(SP) 040612° 000004 0000006 * ,ARR, SEL PROM.ADRS ARR.SEL ,* R 2176377 .83 176377 003400 ogboo.ai 48: 040374 000020 000026 RO, 12(sP) R3 108 Ré R3.R4 ns ADDR R1 20{R1),26(SP) R4 ,RO ML .ADDR,R? b B 6%: 8s: . BNK SEL SEL.BNK,* ROW.NUM 6693 PROM.ADRS 6695 ROW.NUM,PROM.ADRS « ML .REG 8s LSDLY.R1 %, $STMPT 32(SP) R1 6696 PROM_.ADRS ,MLREG MLREG,* 7$ 6691 6699 RO, 20(R1) #1.R0 *, $$TMP2 6697 sSTHP $STMPY $STHP? 78: 000012 6686| + SEL.BNK,¢ TR YRTN X} RO RO RO 000012 026326 6685 «,PROM.ADRS & ,PROM.ADRS * PROM.ADRS * PROM.ADRS LA R3.R% R2.RO 000032 LR TR R3,R4 R2 ag.as S ¥ 4103777 .R3 #74000,R4 3s: 0000006 6684 R 103777 074000 040374" 000020 000001 Page 227 SEQ 0262 12(SP) RO RO ROW.NUM, « 6699 BRI Y REV B PAY(CH 00 ROUTINE DECLARATIONS 1026330 040374° 000046 000024 010230° 000024 016701 016166 026 001435 SP) 6702 6703 Rg,-(SP) R5,=(SP) #A.B.PRINT,-(SP) #3,-(SP) 003264° 000003 SP.RO 14 R2,RO RO RO RO #DEGRADE . MOD .REG, RO RO, (SP) R? ~(SP) 0404264 #147770, (SP) #1,-(SP§ (SP) ,=(SP) 177770 000001 PC,BL$PU2 98: 108: 002000 118: b 3 putP a4 #18,5P R3 R3,10(SP) 43 pgooo.RL R 178 Ré& R3, Ré nk.apoa R1 040374° 000920 000022 b b ; SEL.BNK,* 20(R1),22(SP) n R1 ::'2go RO.20(R{) ° 040374 128: #1.R0 15 : ROW.NUM 2 ROW.NUM,F INISH ; * ,PROM.ADRS : COL.NUM TRYR YR X1 000010 6704 LA 0000006 000016 b et Page 228 5€Q 0263 ;s *,ML.RE 6 ; %,ML.REG 0 OO000 026334 026342 026350 (212) T0PS-20 Bliss=16 v2(212 PA:<NEALE>PMSKL4.BLI.1 (55) PROM.ADRS COL . NUM,PROM.ADRS * ML .REG MLREG, * *, $STHP2 R : SSTMP . $STMWP 148: R : SSTMP2 15%: R3.RO : COL.NUM, * COL .BASE RO ; (sP) R0 6713 6714 6715 ;s =, $8TMP1 13s: 128 6709 6711 PROM.ADRS ,MLREG LSDLY,R1 148 sg(sm 138 6701 6693 6717 S 4 WY SN1 REV B PATCH 00 040374 000046 0000%0 010230° 000020 6720 OO:O 003264 000003 L= NIND &~ 14 R2,R0 #107770, (SP) #1,-(5P} (SP) ,=(SP) PC . BLSPU2 #16,sP 178: 11$ R2,#3 18$ 177262 2228 b e b e o \ ) b ek AV 2383tz dg883 R3,10(SP) R2 000003 gé 5 3§gLR —h b b R3 000016 188: 3s ML.ADDR,R1 10¢(R1), §6(5P) 16(SP) RO #40,R0 ns.apun R1 RO.10(RT) 000014 nb.won R ., 14(sP) 10¢(R1) s SEL.BNK * ,ML.REG ML.REG,MLREG 10(RT) 6727 * ,MLREG MLREG,~ : *,MLREG : ~,MLREG -ADDR ,R1 6719 6711 s SEL.BNK,* #7.R0 RS ,RO #3%,sp PC 248 words : COL.NUM,FINISH ; %, ML.REG : ML.REG,MLREG RO, 207 4 coL.NumM 14(59%.gg 9%?9?76.as 6722 ,* SEL.BNK R2.=(SP) 000010 040374 °* SEL.BNK,* RO RO RO #DEGRADE .MOD .REG,RO RO, (SP) 0000006 000016 6721 SP,* SP,RO 000001 Sng SEL .BNK, * ARR.SEL ,* R5,~(SP) #A.8.PRINT ,~(SP) #3,-(SP) 177770 SR Ng\l SEQ 0264 *,ML.REG 040424 : Routine Size: (55 Page 229 * ,ML.REG P >~ N — wn &» g?gges -0 PA:<NEALE>PMSKL4.BLI. 1 ROUTINE DECLARATIONS L P TR TR T o & b= nJ 026614 o[« Yo Yo ) 026612 ——d 026602 026604 026606 026610 1435 g—a—a—o_n_o nNOO 3 ~NwviND o~ XN 026600 016707 016166 026066 g—'OOOOOO 026560 026564 026572 TOPS~20 Bliss=-16 v2(212 ) MLREG, * 6639 BSKELS REV B8 PATCH 00 H ROUTINE DECLARATIONS : Maximum stack depth per invocation: 5 18-Har-198% 16:07:57 18-Mar-1982 27 words 15:44:41 TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (55) Page 230 SEQ 0265 | HSKELG REV B PATCN 00 : : : routine VER_ERROR_MASK (ARRSBNK_SEL, TSTED_BNK) : novalue = 6733 6734 e 6736 6737 g;gg ! ! E 6732 67640 : ; ; ; : : After the proms have been blasted and the proms are read for a good blast the selected array is write checked again and made sure that all blasted rows and been successfully blasted. columns have UNC errors are not tolerated in any bank and warrents the array to be replaced. 6745 | Formal Parameters: g;z; 5 single chip failures in degrade mode banks is tolerated and does not constiture an error. single chip failures in non-degrade node banks is not tolerated and will cause an error and that the array be replaced. ARRSBNK _SEL : ! Stores the array and bank select address. | Implicit Igzgts: BAD_BNK_REG, FLG_REG, DEGRADE_MOD_REG g;g? ; 6752 | Implicit Outputs: 6753 ! » none P 2;?5 i completi ! 6760 d etion codes: 6756 ! o none 6757 6758 6759 PA:<NEALE>PMSKLSG .BLI.1 (56) ; functional Description: ! ! ! 6769 15:44:41 TOPS=-20 Bliss~16 v2(212) begin 67641 6742 2;22 6746 : 18-Mar-1982 6731 6735 : ROUTINE DECLARATIONS 18-Mar-19 % 16:07:57 ! ! Side Effects: none ! !-- : H 6761 6762 : 2;2‘7’ ARR_NUM = _ARRSBNX_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>; 'Load the array number : g;gg incrbzfg_sflx from 0 to .TSTED_BNK - 1 do : g;;? : 6772 : 6774 : 6777 ; ; : : ; : : : ; ; 6763 g;gg 6773 g;;g 6778 6779 6780 6781 6782 local BNK_NUM, ARR_NUM; !Stores the selected bank number 'Ctores the selected array number in !Verify all banks !Load the bank sel number _NUM = _ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>; 'Is this a bad bank if .BAD_BNK_REG [.BNK_NUM] then begin . FB_CHIPS (.ARRSBNK_SEL); 'Find any bad bits if S_CHIP_TBL (ZERO) geq ZERO !Were any bad bits found then begin if .FLG_REG [F_UNC_ERR_FLG] then 'Was it an unc error Page SEQ 231 0264 BSKELS REV B PATCH 00 J 5 18-Har-19g% 16:07:57 18-Mar-19 ROUTINE DECLARAT IONS beain 6783 6784 6785 6786 6787 6788 6789 ERRSF (ERR_11 UNC_ERR_MSG, 0); PRINTB (REP_PRINT,” .ARR_NUM); else 679N 6792 6793 TOPS-20 Bliss=16 V 2(212) PA: <NEALE>PMSKL.B S LI.1 (56) Page 232 SEQ 0267 ‘Report the error end begin it not .DEGRADE_MOD_REG [.BNK_NUM] 6790 15:44:41 then 'Is this not a degrade mode bank Enflsr (ERR_12, MEM_ERR _MSG, 0); !'Report the error begin PRINTB (REP_PRINT,” .ARR_NUM); end; end; end; end; ARRSBNK_SEL = .ARRSBNK_SEL + .INC_BNK; end; !Select the next bank end; 0000006 027024 000020 027030 027034 SNENIESP NINOONONONO N = R [+ o) 027042 027046 027050 027054 027056 027060 027062 027066 Sv 027036 040412° 000004 0000006 000030 060414 000002 0000006 040420° .SBYTL VER.ERRCR.MASK: JSR MOV ADD MOV Mov CLR JSR MoV CLR 8R AoV 1%: ADD MOV MOV CLk JSR MOV MOV ASR ASR ASR MoV ADD MOV VER.ERROR.MASK ROUTINE DECLARATIONS 6731 R1,$SAVES #20,~(SP) P, (SP) ARR.SELSPOS.-(SP) ARRSBNK . SEL , * «, ARR .NUM SEL .BNK ARRSBNK . SEL , * * ,BNK .NUM BNK .NUR, * R R3,~(SP) (SP) #BAD .BNK .REG, R2,~(SP) BNK.NUM,¢ 6766 6768 6770 6772 BSKELS REV B PATCH 00 ROUTINE OECLARATIONS 027130 027134 027140 027142 027146 027152 027154 027156 027162 027166 027170 027174 177770 000001 K 5 18-Mar-1982 1?: 18-Mar-1982 15: #,=-(SP} -(§P) PC,BLSGT2 #10,sP : RO 5$ 36(SP) ,=(SP) 000036 PC,FB.CHIPS =(SP) PC,S.CHIP.TBL (SP)+ RO 43 #2,FLG.REG 174206 165114 000002 Page 233 SEQ 0268 #177770,(SP) 0000006 000010 027176 027200 027202 027210 027212 027214 027216 027220 1 TOPS-20 Bliss=16 V 2(2212) PA: <NEALE>PMSKL4.B Li.1 (56) 040422° ; ARRSBNK.SEL ,* 6775 . 6777 . 6781 23 54 6784 13 gNC.ERR.HSG Ré,~(SP) #REP.PRINT,~(SP) 003200° 000002 : ARR.NUM, * #2,-(SP) ¢ SP, SP.RO 14 0404264 2s: 6785 6783 6790 38 R3,~(SP) (SP) ADE .MOD .REG, #DEGR R2 -(;p) 2157220, (SP) 177770 000001 2 ,-(SPS -($P) PC,BLSGT2 0000006 000010 #10,sp RO ¢S 6793 54 14 sen.snn.nss Sr% [ 4 000006 040406° 000036 000010 58: 000024 6$: sP (sP)+ K , 36 (SP) INC.BN -0 20 W TIPSR SSSRESR #2,-(SP) 1 +SP 1 1.24(SP) $ 2 ARR.NUM, ¢« 6794 : SP,x TRPR TN ¥ SREP.PRINT ,~(SP) 6792 . SEL * ,ARRSBNK : SEL.BNK A R4, ~(SP) 003200* 000002 ; SEL.BNK,TSTED.BNK 6769 6768 L BSKEL& REV B PAT(H 00 ROUTINE DECLARATIONS 027356 027362 000010 062706 000207 : Routine Size: 112 words 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 ADD RTS i : Maximum stack depth per invocation: 18 words #10,sP PC TOPS-20 Bliss=16 VZ(Z 2) PA:<NEALE>PMSKL4.BLI.1 (56) H H Page 234 SEQ 0269 6732 6731 BOKELS REV B8 PATCH 00 €807 mSs 18-Mar-1982 14:07:57 18-Mar-1982 15:44:41 INITIALIZE CODE SECTION TOFS=20 BLliss=16 v2(212) PA:<NEALE>PMSKLSG.BLI.1 (57) ?sbttl *INITIALIZE CODE SECTION' | INITIALIZE CODE SECTION BGNINIT; loca% guorduare ptable entry temporary storage locations cys_hwtbl, 2grom maint the entire system BNK_NO_HWTBL , ARR NO_HWTBL, i8ank number to be prom maint 'Array module number to be prom maint R_HWIBL, BNK_HWTBL , 'Prom maint a single array module 'Prom maint a single bank 'Supervisor lLogical unit number variable Z; .LSUNIT gtr ONE en begin YR I ERRSF (ERR_9, HQ_ERR_MSG, PRINTB (ONE_MSG, GTR_MSGS; !Where more one ptable built 0). PRéNTB (ONE_MSG, UNIT_SEL_MSG); !Report the error iReport what the error is ) !Report that the first ptable built will be used %SUNIT = 0; !Only one drive is to be tested i Because of the inpact of this program on the ! ML-11 system only the start command will be ; recognized to start program execution i; not (READEF (EF_START)) en begin A ERRSF (ERR_1, ILL_CMD MSG, 0); PRINTB (ONE_MSG, START_MSG): N DODU (.LSUNIT): P DOCLN; I end; ‘Was the start command used to start the program . ‘Report the error iReport what the error is iDrop this unit J ! The contents of the first p-table built (lun 0) ) ! will be the selected progran parameters. all other remaining ; P-tables built will be ignored. LUN = ZERO; . 16Go to the clean up code section R R KR R T T LR . end; TR IR TR TETEEE TR T 'Rh base register address 'Divice number to be prom maint Drive option code 1 = ml-11a, 0 = mil~11b 'Are the program parameters correct flag 'Hardware ptable pointer LUN; R P EF O RH_BASE WWTBL, DUT_HWTBL, OPTION HWIBL, CORRECT HWTBL, PTBL_PTR, Page 235 SEQ 0270 N BSKELS REV B8 PATCH 00 18=-Mar-1982 15:44:4 1 INITIALIZE CODE SECTION 2; (GPHARD (.LUN, PTBL_PTR)) eql ZERO en begin !Report the error !Report suppress message ‘Report returning to drs> !Drop this unit | . 'Go to the drop unit code section PRINTB (ONE_MSG, SUPRES_MSG): PRINTB (ONE-MSG. RET_DR3_MSG); DODU (.LSUNIT); [ - & PRSRRY Input to the program the hardware ptable entries and store them into the temporary storage locations o . od @ ad O e NION Qe N ow - S ena; Cmsant e . » St + . ) - S ) LRI TR T R YR X0 ' ARRNO HWTBL = .((.PTBL_PTR) + 4) RH_BASE HWTBL = .((.PTBL_PTR) + 4 ? pUT HWTBL = .((.?TBL PTRY + Xo°® 1 6 .((.PTBL _PTR) + X ) OPTION_HWTBL = cognec?_uureL =", ((.PTBL_PTR) + 4 IR IR PR RS IR egin BNKNO_HWTBL = .((.PTBL_PTR) 5; Before we start, lets see if the operator entered his parameters correctly. if not .CORRECT_HWTBL then begin PRINTB (LFS); PRINTB (ONE_MSG, SUPRES_MSG) . PRINTB (ONE-MSG, RET_DRS_MSG): S PR LA TN R DOCLN; end SYS_HWTBL = .((.PTBL_PTR) + % o 0 ) ARR_HWTBL = .((.PTBL_PTR) + X ] 2 ) 2. BNK_HWTBL = .((.PTBL_PTR) + % 0 A DODU (.LSUNIT); N T I T N PR PR TR N O [ TOPS~20 Bliss=16 Vv2(212) PA:<NEALE>PMSKL4.BLI.T1 (57) !1s the first ptable present ERRSF (ERR 3, LUN_MISS MSG, 0); else S 18-Mar=-1982 12:07:5 7 DOCLN; end | else begin 'Are the inputed parameters correct Print some Line feeds to be neat Print the suppress message 'Print returning to drs> message . Drop this unit '!Go to the clean up code section g Build the run time parameters ’ arr$bnk_sel = zeroes; ML_ADDRTM= .RH_BASE_HWTBL: QL_our = .DUT_HWTBL; !Load the arra¥ ¢ bank select variable with zeroes 'Load the ml-11 base address into mi_addr !Load ml_dut with the divices drive select number i Set up 16k or 64k mos ram run time parameters Page 236 SEQ 0271 BSKELS4 REV B PATCH 00 . 6911 69N 691 6914 6915 6916 6917 6918 6919 if .OPTION_HWTBL eql ML11A then the banks number of sectors variable the array select position constant the bank select position constant the maximum columns per chip variable else !Load the column base offset variable iLoad the bank increment variable T B vigq,a TR YR %e Ta %y PR IR P PR L RL) TR PR PN PN P PR PR TR PR {Is this a mi-11a option 16k parts 'Load !Load 'Loat 'Load BNK_NUM_SEC = 511; ARR_SEL_POS = 11; BNK”SEL_POS = 9; MAX_CHIP_COL = 256; end; 'Load 'Load ‘Load Load tLoad the array increment variable the banks number of sectors variable the array selection position constant the bank selection position constant the maximum columns per chip variable Build the run time parameter for masking either the entire system, an entire array or a single bank. if .SYS_HWTBL | then begin WRT_RH (MLCS2. DRV_SEL, .ML_DUT); !1s the entire ml=11 system to be prom maint !Select the drive under test 'Read and save the sizing 'Do two random data passes ‘Test four banks per array LSTCTSTED_ARR = .ML_ADDR [M[MR, SIZING] - 1: RAND _PASSTM= 4. TSTED_BNK = &; else end begin if .ARR_HWTBL | then begin !Is a single array to be prom maint ‘Load loop variable to test only one array LST_TSTED_ARR = 0; ‘Do three passes of random data RAND PASSTM= 8; !Test all four banks on the array TSTED BNK = 4: iSelect which array to test ARRSBRK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE> = .ARR_NO_HWTBL: Y LR T R TOPS=-20 Bliss=16 v2(212) 2 PA: <NEALE>PMSKL4.BLI.1 (57) ‘Load the column base offset 'Load the bank increment variable ‘Load the ar:ay increment variable TR IR XN ) vactw [ INITIALIZE CODE SECTION B 6 18~Mar=-19 82 16:07:57 18-Mar-1982 15:44:41 else end begin Page 237 SEQ 0272 BokkL4 REV B PATCH 00 : : : C INITIALIZE CODE SECTION then 6964 6965 6966 ; : : : ; . !Load loop variable to test only one array be?in LSY TSTED_ARR = 0; ‘Do five passes of random data RAND PASS = 13; TSTED BNK = 1; !Test only one bank ARRSBRK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE> = ,ARR_NO_HWTBL. 6967 6968 6969 ; TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (57) 'Is a single bank to be prom maint it .BNK_HWTBL 6963 6 18-Mar-1982 16:07:57 18=-Mar=1982 15:44:41 'Select whick arra‘ to prom maiat ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE> = .BNK_NO_HWTBL. 6970 6971 6972 6973 6974 6975 6976 6977 6978 else 1Select which bank to prom maint end | begin ! i . : 233? The hardware questions were not answered ; correctly. Masking either a system, array or bank was not selected. Report the error ]: and rerturn to DRS>. ; : : 6982 6983 6984 ERRSF (ERR_2, HQ_ERR MSG, 0); PRINTB (ONE_MSG, HQ_MSG); PRINTB (ONE_MSG, SUPRES MSG): !Report the error 'Report what the error is !Print suppress message : 6986 DODU (.LSUNIT); iDrop this unit 6988 6989 6990 6991 6992 6993 6994 6995 end; : ; : : : : : : : : : 6979 6985 PRINTB (ONE_MSG, RET-DRS_HSGs: DOCLN; 6987 end; H 2339 : gggg PM_COUNT = 0; 7000 1Go to the clean up code section end; end; ! ; VER CZMLCB ADDED PM_COUNT : !Print returning to drs> message 'Init the prom maint counter !+ : : 7001 ;88% . ! % Added this init code of this structure here. : : 7004 7005 ! The prom maint error Log table stores the number of ! detected all bad rows and or columns detected durlng : 7007 ! the : unit #, board #, bank #, bit # : 7006 In this table is stored ! the run time of this diagnostic. ! and a count of how nan‘ all bad rows and or columns : 7008 ;8?3 ; detected withib each chip. : : 7011 ;8}% ! This code initializes this structure to zeroes ! before starring execution of the exerciser. : Page 23t SEQ 027% D BSKELS REV B PATCH 00 7015 6 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 INITIALIZE CODE SECTION PHgLOG [.index, WRDS_0] PMTMLOG C.index, WRDS 1] end; PA'(NEALE>P;§KL4.BL 1. Page 239 SEQ 0274 !Clear the prom maint error log table incr index from 0 to 127 do begi TOPS-20 Bliss=16 v 4 ( 'Clear word zero !Clear word one ZERO; ZERO; ENDINIT; 0000006 000014 ©00000G 000001 LINIT: LINIT lgéTIALIZE CODE SECTION R1,$SAV #14,SP LSUNIT, M 1$ : 6832 #GTR.MSG,~(SP) : 6833 #ONE,nse.-(sm #2.-(SP) 001562° 002556° 000012 0000006 000040 51::‘RO : SP,% #UN]IT,SEL .MSG, (SP) : , - (SP) #ONE.MSG 22, -(SP) 000002 1$: : 54 1 gn.snn.nse 001506° 002556° 000002 : SP.RO : SP,* LSUNIT : gb : 14 "2,sP 040 RO : 6834 6831 6844 6LL.CMD.NSG 001032° 002556° 000002 #START, HSG.-(SP) H #2,-(SP) ?2.80 ; SP,» 0000006 %?UNIT.RO H 6849 000006 44 #6,SP : s LUN . 6846 6858 6860 H 6863 OONE.HSG =-{SP) 23: RO 42 RO,RS 3s 54 3 : «,PTBL.PTR E 000000 012746 012746 012746 010600 104414 012716 012746 012746 001256° 002556° 000002 #SUPRES .MSG,~(SP) #ONE .MSG,=(SP) #2,-(SP) 001316 002556° 000002 14 #RET.DRS.MSG, ( SP) #ONE .MSG, - (SP) #2,~(SP) 0000006 LSUNIT RO SP.RO 6 A AW L S L A T 3s: NS 6865 #SUPRES .MSG, (SP) #ONE .MSG,~(SP) #2,-(SP) SP.RO 14 001256 002556 000002 PTBL.PTR,SYS.HWTBL «(PTBL.PTR) ,ARR. HWTBL «(PTBL.PTR) .BNK . FWTBL «(PTBL.PTR) JBNK.NO. HWTBL «(PTBL.PTR) .ARR.NO. WWTBL «(PTBL.PTR) .RH.BASE . FWTBL «(PTBL.PTR) .DUT. MWTBL *(PTBL.PTR) ,OPTION. HWTBL «(PTBL.PTR) . CORRECT . HWTBL CORRECT . HWTBL : SP,x 6897 (SP) #RET.DRS.MSG, 001316° 002556° 000002 #ONE .MSG,~(SP) #2,-(SP) 14 LSUNIT,RO 51 0000006 5%: #14,SP YAX 44 000014 040402° 040374 040400° 68%6 ARRSBNK . SEL RZ.ML .ADDR R‘.HL.DUT LYE TR TR TR ~N NN L ole N ; SP,e : SP,x TM 8&\ OO ® 104444 06 6864 SP.RO 4S: 451 Page 240 SEQ 0275 5UN.HISS.HSG 000004 000002 w2 OOQO OO0 -b cund vl waclh wush wndd b ob 027556 027560 027564 027570 027574 027576 027600 027604 027610 027614 027616 027620 (212) TOPS=-20 Bliss=-16 v2(212 PA:<NEALE>PMSKL4L.BLI.T1 (57) IR IA A YR TR LN 2 i027554 001340° 18-Mar=1982 15:44:41 INITIALIZE CODE SECTION (YA YETEIEYR REV B PATCH 00 6 18-Mar~-1982 12:07:57 AN TN\ b onbd omd b ON S N WPWNOONMNNO A~ -~ P S, PN, N, PN D r 0 D DD D \N\A N ANV S W rn & ; BSKEL 8s R 6$ RH.BASE .HWTBL , * DUT .HWTBL , * oPTiON.AwiBL 2292g2222 b e AP g N #177 ,8NK .NUM, SEC #11,ARR. SEL .POS #7 ,BNK ., SEL . POS ;gbo.nAx.cnxp.COL #400, COL . BASE #1000, INC.BNK #4000, INC . ARR #777 .BNK .NUM, SEC #13,ARR. SEL .POS #11 :BNK . SEL .POS #4600, MAX . CHIP. COL g;,stsp) Nflflgoo SRIIRF ML.ADDR,RS 10 (RS),12(sP) 12 (SP) R4 ML .DUT RS ” 77770.,RS "”, RG RS. R4 ML .ADDR,RS 000010 e TRPOB 2] Se p1og6,xuc.ann «,SYS.HWTBL ; ML.REG,MLREG ; *,MLREG * ,MLREG MLREG, 24(RS) ,10(sP) t ML .REG ML.ADDR,RS ML .REG,* Ag(SP),RS eo 108 LST.TSTED.ARR #10,RAND .PASS #4,TSTED.BNK K . SEL , - (SP) #ARRSBN * ,ARR . HWTBL e Gr Oy Ve i wodh b SR8EOOOOOOS 14 #1,4(SP) LA T TR ¥) RS RS RS #4 ,RAND .PASS #4,TSTED .BNK ARR. SEL .POS,~(SP) #4,~(SP) BeBLSPU2 13§ #1,2(SP) 114 6931 6932 6941 6944 R4.10(RS) #177740,RS5 RS RS,LST.TSTED.ARR Page 241 SEQ 0276 6916 6917 6918 6919 6920 6921 6922 6913 6926 6927 6928 6929 6930 TETR = - SrNaSEN N O8N RRIRRRR RRRR SRRERRRRG SRRR 416 030046 230054 030062 030070 #200, COL .BASE #200 INC.BN% A 040372 040406 040410° 030024 030032 030040 IEIEIA INITIALIZE CODE SECTION 1 ) TOPS=20 Bliss=-16 V 2(2 212 PA: <NEALE>PMSKL4.B L1.7 (57) TS Y YR IR REV B PATCH 00 F 6 18-Mar-19 82 12:07:57 18-Mar-19 82 15:44:41 L XA 1) 4 oKt ; ARR.NO.HWTBL,* * «,BNK.HWTBL 6945 |REV B PATCH 00 G 6 18-Mar-1982 1 6:07 18-Rar-1982 1 5:44 INITIALIZE CODE SECTION 636° LST.TSTED.ARR #15,RAND . PASS #1,TSTED.BNK K . SEL , = (SP) #ARRSBN ARR. SEL .POS,=(SP) #4,~(SP) R1.=(SP) PC.BLSPU2 040436 040404° TOPS-20 Bliss~16 v2(212) PA : <NEALE>PMSKL .B 4L1.1 (57) #ARRSBNK . SEL , (SP) 14(SP) ,=(SP) PC,BL$PU2 118: 128 54 2 SEQ 0277 697 BNK. SEL .P0OS,~(SP) #2,~(SP) Page 242 (TR TR TR T & BSKEL ; BNK.NO.HWTBL,* 6963 6982 HO.ERR.MYG 0 #HQ.MSG,~(SP) #ONE .MSG,-(SP) #2,-(SP) ?:.RO OONONON =B O=200Q0~O000=0O #SUPRES .MSG, (SP) #ONE .MSG,-(SP) #2,-(SP) ?2.R0 SO SSRESERRk SNRERNARE 8N 82£§e~ 22 o 8 ol [ 012746 #RET.DRS .MSG, (SP) #ONE .MSG. - (SP) 6984 6985! :2.-6sp> 14 %?UN]T.RO 000006 000010 000000 128%: 148: 15%: 000002°* * 000004 : Routine Size: 6983 4A #6,SP 20, sp Pfi.éouur R R4 RS R5 RS PM.LOG(RS) EQ.LOG+2(RS) 000177 RG 177 000014 #14,5P 339 words 15$ PC 6986 6961 6950 7015 7017 H 8SKELL REV B PATCH 00 INITIALIZE CODE SECTION : Maximum stack depth per invocation: 0306;% 004767 0306 030640 104411 000207 176526 ] ; Routine Size: & words ; Maximum stack depth per invocation: 6 18-Mar-1982 12:07:57 18-Mar=-1982 15:44:41 TOPS-20 BLliss=16 v2(212) PA:<NEALE>PMSKLG.BLI.T1 (57) Page J&’ SEQ 0278 19 words LSBTTL LSINIT INITIALIZE CODE SECTION TRAP RTS 1 PC LSINIT::JSR O words PC,LINIT : 7019 BSKELS REV B PATCH 00 I 6 T0PS~20 Bliss=16 v 2 v2(21 212) L 1.1 (58 PA: <NEALE>PMSKL4.B 18-Har-1982 16:07:57 18-Mar-19 2 15:44 1461 MAIN PROM MAINT CONTROL CODE ?sbttl 'MAIN PRCM MAINT CONTROL CODE' g Main prom maint control code BGNTST; leo . ! Functional Description: ! ; LY PRI ETETEIEAIESETETEA YE YR K O WL I IR SR TP O RO YO L N VR IR TR YO i The ML11 memory system with its mostly arra¥ technology has the facility to offset around known bad memory locations in its memory arrays. ! ! ; dress locations and the specific offsetting information is stored in This testing is done on a special 2224 memprom on the array module. ory tester by Memory Manufacturing. Initially, these memory arrays are tested for bad row and column ad- i The design of the when under g Program Execution Overview ! ! 5 i 1. i ! 2. ! 5 ; ! that While in ECC-DIS mode do Mass Bus writes, write checks and Reads to find all faulty data chips (bits 0 to 35, in the chip table called °chip_tblL". 3. It athC Err occurred during Step 2 en while in data Diagnostic Mode Writes and do Single Step reads to find all faulty CRC Chips (bits 36 to 38) in the bank under test. Store failing chip numbers and Elsefa1ling patterns into ‘chip_tbl". Do not perform this step. 4. While in Data Diagnostic Mode do single step DMA Load a pattern. ; ? logic Via software gquestion section Rronpt the operator for g ! provided progran parameters and build the run time parameters which controls the programs execution. ! ! ! ! ! ! ; i also Store failing Chip numbers and failing patterns into the bad ; ! has bank under test. i % ML11 software control will update an array modules offsetting information. This logic is to be utilized when additional memory cells are discovered bad after the system has left the manufacturing facility. 5. failing chip Writes and Reads and in the bank under test with a failing While in Data Diagnostic Mode do Single Step DMA read all words in all the sectors of the just loaded chip. Page 244 SEQ 0279 : : : ; : : : ; : 7074 7075 7076 7077 7078 7079 7080 7081 7082 J MAIN PROM MAINT CONTROL CODE 7083 7084 R I I RN T NI A P T N L L T T PRTN FI T TOPS-20 Bliss-16 v 2 ( 212 ) PA:<NEALE>PMSKLG. 8 L 1 1 (58) :44:41 15:4 the forced chip On a comgare error load the failing Row address into the error map at the failing Sector number. Repeat steps & and 5 with all failing patterns for this chip. Interigate the error map for this chip and load the blast table at this chips nibble and bank position with failing Row and Zero the error map and repeat steps 4 thru 7 for all chips in this Bank under test. failing ule. mo- Interigate the blast table at each bank under test 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. 1f any bank under test within this array module sets exceed 14 nibble off- then Mask as many errors as possible (maximum of 14) and leave the remaining errors ummasked. Report to the operator a condition ‘C' message and continue program execution. ) Else continue program execution. 1. At each bank under test within this array module and at newly discovered nibble Row and Column offset position only, calcuLate the new check sum values. Store the new check sum value?ti1nto the blast table at their respective Row or Column position. e - b b bb o wmd wnd wmb aud aul enb awb b b SNNNNNNNNNNNNNNNYNY b- AINININININ) b = cd wd aud crd mecd < b b VIS W= OOV NO NS LN ~=O e A X L TN TR TN TN P TR TR E N R A IS A A R T E R EE R R A MR 7109 ata. 16.07: 57 Zero the error map and chip_tbl and repeat steps 2 thru 2 {or all remaining banks under test within this array I 7089 7090 18-Mar-1982 Column offset information. 7085 7086 7087 7088 6 18-Mar-1982 gnteach read compare the read chip data to Rt BSKEL& REV B PATCH 00 and at their newly discovered nibble Row and Column offset positions only, ?lasttghe module under test UV proms with the new offset in- 12. At each bank under test for this array module ormation. 13. Read the module under test UV blasting was successful. proms back and verify that Page 245 SEQ 0280 BSKEL4 REV B PATCH 00 7126 K 6 18-Har-1985 12:27: 57 18-Mar-1982 1 4:41 MAIN PROM MAINT CONYROL CODE T0PS-20 Bliss=16 V2 ( 212) PA:<NEALE>PMSKL4.BLJ.1 L 1.1 ( (58) I1f blasting was successful ! then 7127 ! : ; : 7129 7130 ;}g; ! ! ; : : : 7133 7136 ;}gg i ! : 7137 i : ;}zg ; module. : 71641 @ At each iteration the table storing faulty chips and patterns : 71646 ! If not zero 7146 ! ; : : : H H : 7128 7138 7162 7143 7145 Continue program execution ! else Report the unsuccessful Prom blast. Report a condition 'D' message and abort further program execution and return to DS> ; 14. Verify the blasting has masked the newly discovered errors by ! repeating steps 2 and 3 at all tested banks within this array should be zero. ! ! then ! 1f this is a degraded mode : : 7147 ;}28 ! % Arra¥ then 1. Ignore single bit errors : 7150 § 2. : : : : : : : 715 7152 7153 7154 7155 7156 ;}gg ! ! ! ! ! ! ; call Array out for replacement of UNC errors occur . I1f this is a non degrade mode Array then . 1. Report single bit errors. suspect HW errors : 7159 ;}2? ; : 7162 i 15. Increment the Array Selection count and repeat steps : ;}gg % 16. Report to operator that Array Maintenance is completed. : ;}gg g 17. Abort program execution and return to DS>. : 7169 | Formal Parameters: : 7172 ; Report UNC errors suspect HW errors none 7173 ; DEGRADE _MOD_REG, BAD_BNK, SBE_LOG, WRT_BUF ! Implicit Inputs: ; i 2 thru steps 14 until all present Array Modules have been tested. ! ! ~ YR YR IR : 2. 7170 717 W : : ;}gz b ; -~ : i Implicit Outputs: none Page 246 5EQ 0281 Lt BSKEL& REV B PATCH 00 : 7178 MAIN PRUM MAINT CONTROL CODE 7179 ! o none : : : : : 7181 7182 7183 7184 7185 : : : : : : : 7180 7186 ;}gg 7189 7190 7191 ;}gg Llocal TEMP_TSTED_BNK, TEMP_ARRSBRK _SEL ; ! ! prom maintanence program has begun 5 and which drive is selected. 7194 PRINTB (ONE_MSG, BGN_MSG): eRINTB (DRV_SEL_PRINT, .ML_DUT); : 7197 | This outer loop will pm all selected ; 7199 ! drives max arrays present. : : 7198 7500 ;%8% ! arrays. It will pm from either one array to the selected incr ARR_SEL from 0 to .LST_TSTED_ARR do egin : : 7204 7205 BREAK; DEGRADE_MOD_REG = ZEROES: : 7207 FLG_REG = 2EROES. : : !Temporary storage for the number of tested banks per array !Temporary storage for the array & bank select variable ! Prompt the operator that the 7206 7208 !Test all selected arrays . !Clear the dearade mode register BAD_BNK_REG = ZEROES. 'Clear the bad bank registers flags 1 BLAST_1B8L (); IInti the blast table register : 7209 ;%}? IEHP_ARRSBNK_SEL = .ARRSBNK_SEL; : 7212 i This inner loop will find new failing rows & : 5 ;5%3 % Prompt the operator which array is presently selected : ;%5? PRINTB (ARR_SEL_PRINT, .ARRSBNK_SEL<.ARR_SEL_POS, ARRSSEL_SIZE>); : ;55% do : 72264 PRINTB (BNK_SEL_PRINT, .TEMP_ARRSBNK_SEL<.BNK_SEL_POS, BNKSSEL_SIZE>): : ; 7226 7227 PM"THIS BANK (.TEMP_ARRSBNK_SEL): IProm maint the bad chips in this bank 'Increment to the next bank TEMP_ARRSBNK SEL = TEMP_ARRSBNK_SEL + .INC_BNK: : ; : ; : ; : ; 7213 7214 7215 7225 7228 7229 TEMP_TSTED BNK = .TSTED BNK; 'Clear the fla 'Load number of tested banks into temp storage !Load the array ¢ bank sel into temp storage ! columns within bad chips in the banks of the selected ! arrays. Either 4 banks, if pm'ing §{s/array ! or 1" bank if pm*'ing a single bank will be tested. egin Prom maint all the failing chips in this bank FB_CHIPS (.TEMP_ARRSBNK SEL)? 'Find the bad chips in this bank TEMP_TSTED_BRK = .TEMP_TSTED_BNK - 1; !Decrement the tested bank count end !Print Page 247 SEQ 0282 ! ;}gg : T0PS-20 Bliss=-16 v2(212) PA:<NEALE>PMSKLL.BLI.1 (58) ! Side Effects: none ! !-- : : 18-Mar-1982 15:44:41 ! Completion Codes: : : 6 18-Mar-1982 15:07:57 M6 ASKELG REV B PATCH 00 7230 7232 7233 7234 TOPS=-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) 'Repeat until SEQ 0283 all banks are tested ! ! The blast table has now been loaded with all % newly failing rows and columns within 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 else PRINTB (ONE_MSG, ABORT_MSG) 7242 begin 7244 it .BAD_BNK_REG eql ZERO lNgBLAST_TBL (.ARRSBNK_SEL, .TSTED_BNK); then 7246 7247 else 7248 !Interigate the blast table !Are there any additional errors to blast PRINTB (ONE_MSG, NO_AD_MSG) 'Print no additional errors message begin CAL_CHK_SUM (). 'Calculate the new prom data check sums 7250 BL_PROMS (. 7252 if .FLG_REG [F_D_CLK_TIME_OUT] then exitloop; 7254 7255 7256 VER_BLAST (.ARRSBNK SEL); 'Verify that the blast was successful VERZERROR_MASK (.ARRSBNK_SEL, .TSTfD_BNK): . iverify that the blast masked out the new failing rows/cols 7257 RiBNK_SEL): !Blast the proms with the newly failing rows/cols end; 7259 ;%g} Page 248 end; ARgSBNK_SEL = .ARRSBNK_SEL + .INC_ARR; end; !Increment to the next array ~ NSNS N o wy &)N SSR ! Prompt the operator that the 7268 7269 7270 7271 PRINTB (ONE_MSG, END_MSG). PRINTB (ONE_MSG, RET_DRS_MSG); DODU (.LSUNIT); DOCLN; : program execution has ended | [ P e T N TR I T R PR LA IR T T Y We Be m, e ®r By, ® H ;%28 18=-Mar-1982 15:44:41 until (.TEMP_TSTED_BNK eql 2ERO) or (.FLG_REG [F_ABORT_ARRAY])); 0 : 7237 MAIN PROM MAINT CONTROL CODE ~ N &~ . 18-Mar-1982 16:07:57 7272 ENDTST; 030642 004167 0000006 2746 001000° 3746 46 0600 !Re?ort that the proaran is completed ‘Print returning to drs> message !Drop this unit . 160 to the clear up code section 002556 000002 $T1: .SBTTL $T1 MAIN PROM MAINT CONTROL CODE JSR MOV R1,$SAVEL #BGN.MSG,~(SP) : : MoV %:.RO : SP,+ MOV MoV #ONE .MSG,~(SP) #2,-(SP) 7021 7194 N 6 BSKELS REV B PATCH 00 MAIN PROM MAINT CONTROL CODE 030666 016716 040400° MOV ML.DUT, (SP) ; 020676 030702 030704 012746 010600 104414 000002 MOV MOV TRAP #2,-(SP) SP.RO 14 ; SP,* CLR BR R1 98 * ARR.SEL MOV 030672 012746 002670° 030706 016704 040434° 030716 030720 030724 030730 030734 030740 104422 005067 005067 005067 004767 016703 0406424° 040420° 040422° 154336 040%404" 012746 040402° 030712 030714 005001 000572 MOV 18: 030744 016702 060402° 030750 030754 030760 030764 030766 030772 016746 012746 005046 004767 010016 040412° 000004 031000 0310046 031006 012746 010600 104414 000002 031012 031016 031022 031024 031030 031032 031036 031042 031044 016746 012746 005046 004767 010016 012746 012746 010600 104414 040414" 000002 031050 004767 172320 004767 172362 0000006 031046 010246 010216 031054 010216 031056 0000006 002770° 000002 TRAP CLR (LR CLR JSR MOV 22 DEGRADE .MOD . REG BAD.BNK . REG FLG.REG PC.1.BLAST.TBL TSTED.BNK,R3 ; : : ; H t «,TEMP.TSTED.BNK 7203 7205 7206 7207 7208 7209 MOV #ARRSBNK , SEL , = (SP) : 7220 ARR. SEL .POS,=(SP) #4,~(SP) -($P) PC,BLSGT2 RO, (SP) MoV MOV TRAP #2,-(SP) SP.RO 14 MOV MOV CLR JSR MOV MOV MOV MOV TRAP BNK. SEL .POS,=(SP) #2,-(SP) -(SP) PC,BLSGT1 RO, (SP) #BNK. SEL .PRINT,~(SP) #2,~(SP) SP.RO 14 JSR PC.FB.CHIPS MOV MOV MoV JSR 040406° ADD 031070 031074 062706 005703 000014 ADD ST 031110 031116 031120 031124 031130 031134 001404 032767 001740 000100 040422° 032767 000100 040422' 012746 001714 001411 012746 012746 010600 002556° 000002 3s: ARRSBNK . SEL ,R2 MOV MOV CLR JSR MoV 066702 031076 031100 031106 7195 7202 031062 031066 005303 Page 249 SEQ 0284 : MOV 2s: #DRV. SEL .PRINT,=(SP) TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) LST.TSTED.ARR,R% MOV 030774 012746 002722° 031010 18-Mar-1982 16:07:57 18-Mar-1982 15:44:41 R2,=(SP) 7224 : SP,« 7225 R2. (SP) : TEMP.ARRSBNK.SE,+ 7226 PC.PM. THIS . BANK SE : +,TEMP,ARRSB.NK 7227 : * TEMP.TSTED.BNK 7223 72 #100,FLG.REG : 72%7 #ABORY .MSG,.=(SP) : 7239 INC.BNK,R2 33 #100,FLG.REG 23 MOV MoV Moy : TEMP.ARRSBNK.SE,* : TEMP.ARRSBNK.SE,* BEQ BIT BEQ MoV : SP,% R2,(SP) R3 BEQ 7210 #ARR. SEL.PRINT,~(SP) DEC BIT : *.TEMP.ARRSBNK. SE 84, SP R3 43 cguf.nsc,-(sr) #2,-(SP) SP.RO s TEMP.TSTED.BNK : SP,» 7228 BSKEL4 REV B PATCH 00 031136 MAIN PROM MAINT CONTROL CODE 7237 7242 040420° gefi.aux.nes 7244 001764° 002556 #NO.AD.MSG,~(SP) #ONE .MSG,-(SP) 7246 48 164110 #2,=(SP) 000002 SP,RO 5%: 172562 040402° 173412 040422° 000022 6$: 040402° 174574 040402° ° 040404 175540 7$: 8s: 040410° 040402° 000022 : 108 001222 002556° 000002 14 (SP)+ 7% 7244 7249 7250 FLG.REG 7252 NK . SEL ,=(SP) ARRSB PC,BL.PROMS 63 #22,SP 108 . SEL , (SP) ARRSBNK 7254 PC,VER.BLAST , (SP) BNK , SEL ARRS TSTED.BNK,=(SP) 7255 (sP)+ 7241 7261 PC,VER.ERROR.MASK INC.ARR,ARRSBNK . SEL 032,59 R R1.Ré 13 #END .MSG, (SP) .MSG,~(SP) . ARR.SEL ; ARR.SEL,* . SP" #RET.DRS .MSG, (SP) 001316° 002556° 000002 #ONE .NSG.~ (SP) #2,-(SP) [ 0000006 %?UNIT.RO 000022 44 #22,SP 169 words ; SP,w PC,CAL .CHK.SUM ] .'(SP) ?:.Ro FiRrerpont SRSes -d et D= OO OO Y I RUTL ST & 9s: A Page 250 SEQ 0285 8s K . SEL , = (SP) ARRSBN TSTED.BNK , = (SP) PC,IN.BLAST.TBL 040402° 060404 o TOPS-20 BLliss=16 v2 (212) PA: <NEALE>PMSKLG.BL 1.1 (58) 14 104413 : Routine Size: 8 7 18-Har-1985 18=-Mar-198 PC ] : Maximm stack depth per invocation: 22 words ; SP,w 7202 BSKEL4 REV B PATCH 00 031364 o 031370 031372 031374 031376 004767 c MAIN PROM MAINT CONTROL CODE 177252 104466 006000 103773 T1:: 18: 000207 ) : Routine Size: 6 words : Maximum stack depth per invocation: 0 words 7 18-Har—1985 16:07:57 18-Mar-1982 15:44:41 .SBTTL T1 MAIN PROM MAINT CONTROL CODE JSR PC,$T1 RTS PC TRAP ROR BLO 66 RO 1$ TOPS-20 Bliss=16 v2(212) PA:<NEALE>PMSKL4.BLI.1 (58) H Page 251 SEQ 0286 72n ; ; ; ; 031400 031402 031406 031412 031414 031420 031424 031430 031436 031440 031442 031446 031452 031456 031460 031464 031470 031472 031474 18-Mar-19 S 12 212 CLEAN UP CODE SECTION 7273 !sbttl *CLEAN UP CODE SECTION' 7275 ; Clean up code section 7274 7276 277 7278 7279 010146 016700 016046 011601 152701 016700 010160 016700 016046 012601 016700 042700 142701 050001 016700 010160 005726 012601 000207 : Routine Size: 031476 004767 031502 031504 104412 000207 1 2) 1 (59) Page 252 SEQ 0287 CLR_MBUS; ENDTLN; .SBTTL LCLEAN: MOV LCLEAN CLEAN UP CODE SECTION R1,=(SP) MOV MOV MOV 8ls8 MOV MOV MOV MOV ML-ADDR,RO 10(R0) ,~(SP) (sP) .Rf #40,R1 ML.ADDR,R R1,1omb> ML.ADDR,RO 10(R0) ,=(SP) 040400° MOV ML,097 RO 000007 gi(8 040374° 000010 000040 040374" 000010 040374* 000010 MOV BIC 177770 8IS 040374* 177676 RO R1 T18T (SP)+ RTS ) 0177 70.R0 ML.ADDR,R MOV 31 words (SP)+,R1 MOV MoV 000010 R1.,10(R0) (SP)+ ,R1 *,ML.REG ML.REG,MLREG * ,MLREG 7272 7277 ; MLREG,* ; *,ML.REG : ML.REG,MLREG s *,MLREG : *,MLREG s MLREG,* 7272 PC & words .SBTTL LSCLEAN:: JSR TRAP RTS 4 words . : Routine Size: ; Maximum stack depth per invocation: 7280 7281 7282 TOPS~-20 BLliss=16 v 2 ( PA:<NEALE>PMSKLS. 8 L 1 BGNCLN; Haximum stack depth per invocation: ; ; : D 7 18-Mar-19 Ve e e Vs %y BSKEL4 REV B PATCH 00 LSCLEAN CLEAN UP CODE SECTION PC.LCLEAN 12 PC 0 words end eludom : 0TS external references 7278 E BSKEL4 18-Har-1982 16:07:57 REV 8 PATCH 00 CLEAN UP CODE SECTION 18-Mar-1982 ‘lg&b:4) .GLOBL BLSGT2, $SAVES, $SAVE4, $SAVE3 .GLOBL BLSMOD -GLOBL : Size: : Run Time 6563 code + 9592 data words 01:20.5 : Elapsed Tine 03:07.8 { Used: 133 pages ;. Compilation Complete $SAVEZ, BLSPU2. BLSGT1, BLSDIV TOPS-20 Bliss=16 v2(212) PA: <NEALE>PMSKLL.BLI.1 (59) P 253 <5395288 ‘:L 5’.35.‘:{2 342‘7’ 5079 36817 5136 4888 24114 2433 3240 3%?? ig}gfi ms'fifi %292 33604 3368 546 3548 3551 S ABORT MSG ADJACENT_CNT ALL ALL_BAD 2 ALL_BAD_CNT AOE ARRSBNK _SEI. ARRSSEL _SIZE ARR_HWTBL ARR_NO_HWTBL ARR_NUR ARR” SEL ARR_SEL _POS ARR_SEL_PRINT ARR _TYP AS_PRINT ATTIN ATTN_REG A_B_U_PRINT A_B_N_PRINT A_B_PRINT A_HATBL 8AD_BITS BAD_BNK_REG BAD_CHIP Pmsklé Pmsklé Pmski2 SO 2348 20 Pmsklé Pmsklé Pmsklé Pmsklé 4380 4343 4841 5076 5195 5277 5469 5480 5731 423; 5275 52778 5296 5305 1892 1899 2053 4279 4831 2064 4354 4836 419N 4419 4104 4841 4150 419N 4232 45334 40254 4537 4896 5082 5283 S7174 5755 19¢2 1929 1937 1944 1952 1959 419 4343 4626 4841 518 5076 5214 1847 5232 1851 1858 1862 1869 939 113 1186 1248 5705 79 4526n 4399 4540 45478 139 48468 4848 165 181 717 106 114 gs 5557 5754 4194 4466 £1954 5195 5197 5277 5214 564314 5232 54414 5713 5469 727 722 899 Pmskl Pmsklé Pmsklée Pmsklé Pmsklé 4150 4401 4016 4014 2664 627% 2464 198 4845 BGNRPT Pmskl2 4104 4363¢ .;»;g? %034 375 4810 33 56 5322 Paskl3 5480 S772M 2027 3292 48084 BGNHRD BGNHY BGNINIT Pmsklé Pnskl§ 5463 5469 5766 %019 278 4805 Pmskl3 Pmskl?2 Pmsklé BGNTST BGN_MSG 8ITS_PM BITS_TSTED 4016 53884 53914 5765 %012 270 44619 BGNCLN BGNSW 3766 5761 2004 3157 4399 5788 BGNSF T 5195 5731 1997 2118 4383 Pmsklé BGNMSG BGNPROT 3277 3278 3290 3460 4365 34620 35440 43544 43724 5150 5721 5731 Pmskl3 3276 3.2488 6341 5076 54824 6174 Pmskl3 3270 %75 660 5037 S4BOF Pmsklé 1914 2269 %%74 563 4016 S4694 40164 1759 3268 3373 3560 4015 56178 3999 Pasklé S SEQ 0289 4014 S3144 4339 5235 6244 59 4469 537 3242 3370 3557 4410 5019 3938 5286 Pmsklé Pmsklé Pmsklé Pmskl?2 Pmsklé Pmsklé 5002 3766 5281 1134 3054 6324 2714 2954 6214 622¢ 4983 3708 S277 5329 5332 Pmsklé Pmsklé Pmsklé Pmsklé Pmskle Pmsklé 4960 4407 Pmsklé Pmsklé Pmsklé 4937 4403 2277 575 4905 43834 2222 2854 527 5%4% BAE_REG BAl BA_PRINT BAREG BGRAU BGNDU 5750 23924 s Pmsklé Pmsklé Pmsklé Pmsklé Pmskl3 BGNAUTO 348% 5107 7 1877 1884 2042 3390 4827 2047 3563 4828 1967 1974 1982 1907 1989 2117 4372 4842 A 1T BIT]1 817710 1974 Pesklé Pmsklé Pmsklé Pmsklé Pmskié Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmskle Pmsklé Pmsk(4 Pmsklé 2074 2084 2094 2104 2112 1984 199# 2004 2014 2024 20 204# 2054 3878+ Prsklé BIT 11 an_1§ 8IT 1 BITC14 BIT 15 au,g BIT. BITC4 8ITCS BIT 6 BIT 7 BIT S BITT9 BIT_CLR_OLD_NEW BIT_INDEX 19?0 Paskle SEQ 0290 091 2205 2346 24064 2108 21184 21374 2159 2200 4083 4213 4110 42168 4113 4238 4127 42414 Pmsklé Pmskié 5037« 1124 5761 2268 BNK_AWTBL Pmsklé 5330 53894 BNK_NUA Pmsklé 2266 22684 4419 4421 BIT_SEL 2105 Pmsklé 4020 22044 BLAST_TBL Pmsklé 4648 4680 4712 Pmsklé 3,914 516 é?gg BL_PROMS BNRSSEL_SIZE BNKS PMTM BNKNO_HWTBL BNK_NUM_SEC ’ Pmsklé Pmsklé BNK_SEL Pmsklé Pmskléd BNK_SEL_POS Pmsklé 417%# 5331 3933 4070 4151 4232 3536 1564 g?gtsu 3572 22894 S000 983 4896 532 S016 gss 3870 2620 2421 24%6 2627 3451 38724 39334 4037 4050 4070 SO17 S0254 5026 5091 5096 3596 4344 4B42 528I 5482 2289 2292 2809 2862 $274 52814 5283 5301 4981 4015 5482 4634 3592 LI1SO% 4903 53904 533 4893 zsgz 2408 417 425/ 4400 4497 22924 3584 G130 4254 793 3934 4074 4156 4233 3580 4999% S000 50164 4535 4173 4909 4537 41764 49344 3998 4023 4159 4238 40154 4087 4173 4241 4020 4104 4176 4254 3818 3870 3872 4037 4113 4197 42758 4041 4127 4§‘oo 4340 4050 4130 4213 43448 4054 4150 4216 4400 178 19 493 gm 4 4957 3470 54400 4958 3762 4980 4060 4981 4142 4999 5735 1054 4903 4699 5017 1608 4909 4015 5025 1659 5072 4934 4344 4BL2 5281 S4328 54k 5482 985 2180 4499 4636 4669 4701 4821 5715 Pmsklé 971 9754 989 990 991 9938 9978 4527 4530 811 8_1% 81 8 14 Pmsk L4 Pmsk L4 590 S7n Pmsklé ;590 8_1? 818 Pmsk L4 Pmsklé 664 3674 Pmsk (2 Pask(3 Pasklé il 14 14 B_ 8.1 B_10 Pasiklé Pmsklé Pasklé BUF _ INDEX 815 816 819 Pmsklé Pmsklé Pasklé Pmsklé Pmsklé 345#4 3464 3554 3584 3604 3654 3684 3878 4025 4110 4192 4272 4667 5026 3873 4022 4105 4191 4557 856 BSKEL2 BSKEL3 BSKEL4 BREAR 42004 49574 5474 4401 6194 4184 4197 4935 5735 35 792 Pasklé Pmsklé BNK”SEL_PRINT 8RDS_PM 4540 4533 830 B_21 Paskls Pmsklé 360 Pmsklé 714 B-24 B_2S Pmskls Pmsklé 37 744 Pmsklé 8_31 754 14 7 784 484 794 gz B_3 B_35 B_36 B_37 8_38 Paskl4 Pmsklé Pmsklé Pmsklé Pmsklé S# ?' g #4648 4680 gu B8_HWTBL Pmskl2 CHIP_TBL Pmsklé B8_29 8_3 B_30 B_32 B8_33 8.4 B_S 8_6 B_7 8.8 8.9 CAL_CHK_SUM CHAR CHK_SUM_CNT CLR CLR_DRJVE CLR_FLG Pmskl4 Pasklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé 3394 3494 3504 3514 3524 3534 3544 4712 Pmsklé Pmsklé 4853« 3884 5760 4506 17378 1869 19524 2034 176408 18774 1959 20424 Pmsklé Pmsklé Pmsklé Pmsklé 60 511 13104 17024 4884 49088 1484 1851 2644 6744 1967 3585 CLR_MBUS Pmsklé CLR_SEC_ROW CNT Pmsklé Pmskl4 coL coL_0_127_OFF COL_128_255_OFF Pmsklé Pmsklé Pmsklé COL_BASE COL_CNT_TBL COL_DEST_PRINT COL_INDER COL_MOST_OFTEN coL_Num Pmsklé Pmsklé Pmsklé 669 1982 3593 17134 17164 49154 L9164 49178 1852 1862 1597 934 17434 1884 19674 2049 1997 4767 4813 48%0 4735 5147 5%40 668# 894 17464 1892¢ 1974 2053 2012 17498 1899 19824 3704 1863 17194 17528 19074 1989 4602 4918 1877 17228 17554 1914 19974 4831 4919 189% 1847 19224 2004 48454 1907 4200 4216 L2 4257 1000 1075 1108 1182 1243 2220 3816 4523 3596 3933 4130 4173 4176 36374 36394 3644 3646 2433 3345 3357 3374 3591 3872 3592 3873 1644 3996 3997 2412 40314 4032% 2413 4052% 40BS# 2516 40564 40B9¥ 2726 4093 4094 2964 4098 4095 2993 2996 4213 4%16 4§5§_ 4257 5119 4083 4087 4127 639 719 3357 51;5 33764 35664 3644N 36154 36214 3623¢ 36294 36314 2376 2379 21386 2412 2413 13920 36130 Pmsklé 2358 2367 3213 3376 4127 5116 3255 3805 4130 5119 2367 3%77 3807 4171 5123 2433 3282 3810 4173 5125 4054 047 6176 5222 4050 4311 5224 5228 4054 4513 5228 3581 3595 3931 3584 3870 4050 3572 1952 4176 3583 3863 493 1937 18624 1944 2027# 4159 3580 2292 3810 1922 3373 17344 4130 3579 2289 2292 1858 19378 2019 4113 3572 zgg; 517 17314 18514 1929 2012# 2042 5789 3276 17284 2027 4845 205 17254 3571 zsfi Pmsklé 3454 Pmsklé SEQ Ea 0291 7¢8 Pasklé Pasklé Pasklé Pmsk 4 Pesklé Pasklé Paskl4 B_26 8_27 B_28 7 o# B_22 B_23 W 54278 4080 4216 5437 408 425 4087 4254 3934 6128 4257 COL_PTR Pmsk 49 ekl Pmsklé $015 i?g Paskld SBSs 4108 COL -"PURGE COLTSEL COL SORT Pm (¥ * zgw %‘gg' s ktl‘: 2448 Pask(4 Psk(4 Se63s 2977 CON_K_MSG CONZB-MSG Pskls Paskl coL-SuM COMP ERR CONCMSC e COPY - SB3# 584# $255 4418 4425 5336 884 $878 284 4503 CRC_A CRCB CRC-NIBBLE CRCP Pmskle Paskle Paskld Pmskls 1344 1358 1360 1334 4599 46¢d 4599 CS1 PRINT CS2 PRINT Pmsklé Pmsklé 6254 6294 720 724 R SUM CURTM ReeT C_HJTBL Pmskle Paskls Pmskle 3604 4590 6098 4607 7 Pmskl? 75 1002 689N 1041 DAREG Pmskle o508 898 DY REG DB2-REC DCK DCK_E DEGRADE_MOD_REG DELAY Pmsklé Pmskl4 Pmskls 6834 628 361# OESCRIPT Pmskls 3818 2814 Pmskle Pmskle €934 PaSkls S30 Pmskle 3791 Puskls ~ 16 DIAG_REG_SEL Paskis 2107 DIF_COLS D1F “ROMS Pmskle Pmskle 5210 3911 DISPATCH Paskl2 DoyRAND-L0AD ‘905« Pmsele 2006 DEVTYP DFPTBL DIF 01SABE DLT 0_LOAD OM_RD_TRANSFER DM-WRT_ TRANSFER DOTLN ~ DOOU 4169 4190 4628 46 46 4708 4 s 801 S 1] DATA DAT CLK DA_PRINT 3283 02 3007 29060 okl é 29974 30608 3943 Pmskle 2o02 $0%e 1948 §335" 957 61 Pmskl3 Paskie Pmskle DAT DM 3282 SEQ O 425 26408 2653 2798 sy g) §883 3¢ ms 3030 3067 s08er 3121 1682 4706 S097 5126 saise SB3M SN0 STies 30894 31254 3155 } Pmsklé Pmsklé Pmskle Pmsklé CRCTSEL CRL 36404 Pasklée toor 2808 22130 393%¢ 2021 2274 25518 2618 gl s Soan oy gese 2653 Z3ST Paskis 2550 40 3954 CORRECT _MWTBL CPAR CRC CRCSA (RCs8 [ 3566 Pmskl3 Pmskl? Paskle Paskle 895 723 ey s 1082 108 1043 21 1078 4662 le1s 4674 938 1112 1185 1247 935 2801 989 990 1041 4105w 3809 41S 41920 4233 42l 5098 5127 SiiB 5208 21368 2le0r 32554 33574 3265 3563 1042 13 56 5947 IS0 3 59654 Pmsklé 2544 Pmskle 1002+ 1850 Puskl¢ Pmekle ‘B63e 903+ 2160 <976 Pasklé 1126 Phskle 1158 1876 2041 1145 1142 2199 $031 3071 1861 4614 4617 2052 1906 4621 1921 1936 1951 1966 1981 1996 201 1195 1194 1208 1307 1257 153 1270 1369 S36l 5360 ;e 3377 s410 3409 se8 5497 s7A2 578 3001 1891 46dt 1035 292 gg:as_uno DPR Zg;t fizsflf S 2754 Pmsklé " SEa DRVTYP DRV_PRAM Pmsklé Pmskl3 3184 57 DRV_SEL_PRINT DRY Pmsklé Pmsklé 6154 2764 5706 1133 896 936 1200 1262 1212 1248 16104 16600 21604 45004 45254 1123 1142 1192 1205 1254 1267 690 684 694 5100 5129 DRV_SEL Pmsklé DSSNBR_OF _TESTS DST Pmskl2 Pmsklé DS_PRINY DT_PRINT DT _REG Pmsklé Pmsklé Pmskl4 DUT_HWTBL DVA D_2_PRINT b_clk D_DM D_EN D HWTBL € E1_REG Pmsklé Pmsklé Pmsklé Pmsklé Pmskié Pmsklé Pmskl2 Pmsklé Pmsklé DUMPER E2_REG ect_pnIs ECC_DM ECH_ERR Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé EE_PRINT Pmskl4 EL_REG Pmskl4é EF_START EL_PRINT E ENDAU ENDAUTO ENDCLN ENDDU ENDHRD ENDHW ENDINIT ENDMSG ENDPROT ENDRPT ENDSFT ENDSW ENDTST END_MSG END_SEC ENTER_BOARD EQUALS ERROR_MAP 267# 8» 544 6304 6344 3194 717 5334 2344 6144 3094 3104 3114 62 442 3294 3414 Pmskl3 Pmskl2 Pmskl3 Pmsklé Pmsklé 53934 3934 899 5419 902 1110 938 1183 9764 1245 10354 5455 1077 1112 1151 4G264 1185 450 991 731 1494 200 167 5790 183 99 68 5532 733 113 Pmsklé 725 729 g360 6954 2864 Pmsklé Pmskl3 Pmskl3 Pmsklé Pmskl3 Pmskl3 Pmskl2 Pmsklé Pmsklé Pmskl2 Pmsklé Pmsklé 34 862 1109 5355 6374 Pmsk(?2 670 6854 Pmski4 Pmsklé Pmskl3 Pmskl3 81 1043 1244 732 935 1109 1244 23814 23884 2399 3459 35084 35148 35234 3529 3533 1527 37924 22054 3812# %403 856 il.og 87 3536 g936 S724 93 35804 4011 35844 4041 35924 4054 35964 4074 1192 1295 4149 4190 4%31 4418 895 149 127 93 5783 5794 2350 62 18 5779 76 4 552 507 3755 4087 4891 léfzgg 4840 37 96# 5358 ERRSF Pmsklé 1123 ERRTBL ERR_1 Pmskl?2 Pmsklé 1142 49354 5103 4L958# 5132 69210 1254 5513 0 9# 122 5231 01748 4102 529 S026# 5304 5190 5343 5210 5358 5228 5374 0293 ERR_10 ERR11 ERR-12 ERRTM13 ERRTM2 ERR-S ERR 4 ERRZS ERRZ6 ERR-7 ERR_8 ERRTMO ER PRINT E_BIT ETDIS DM E-HWTBL FRIL_CHIP Pmsklé Paskly Pmskl4 Pmskle Pmskle Pmskle Pmskl4 Pasklé Pmsk(s Pmskl4 Pmskls Pmskls Pmskls Pmsklé Pmsklé Pmskle Pmskl2 Pmeklé FALSE Pmsklé FBZCRC_CHIPS FB~DATA CHIPS Pmsklé Pmsklé4 FAULT FB_CHIPS F IELONAR FIFTY MS FINISR Pmskl4 Pmsklé Pmsklé Pmskl4 Pmsk L4 FLG_REG Pmsklé FMT16 FOUR_MSG Pmsklé Pmsklé FULL "WRD Pmskl4 FUNC Pmsklé FUNC2 Pmsklé FUNC_1 FUNCTM3 FUNC % FUNCTS FUNC=6 F_ABORT ARRAY F-ALL_BAD_CHIP LS o T pE N IERED F-ERR_MAP_ENTERED FFLG_ERR Pmskl4 Pmsklé Pmsklé Pmsklé Pmsklé Pasklé Pmskle 1054 1068 107# 1084 974 98% 994 1004 1014 102# 103# 104# 6314 389# 312¢ 3134 63 1663 5103 5295 5304 1123 5493 5374 4840 4418 4425 4103 5213 5343 726 172 4737% 4558+ 4433% 655 1414 1740 1294 g;gg 538 4149 5231 4190 4231 1702 1713 1716 1719 1702 5286 3706 5736 4602 4B4S 662 5098 5127 3805 5070 17643 2866 4771 4769 3762¢ 18524 2862 5125 5210 5228 900 940 1249 31. F_UNC_ERR_FLGATA GEN_RANDOR_D PaskLé 81 Pmskls 1?? 199 0O ~N A d) Pmsklé Pmskl4 Pmskl3 Wi 13 493% S001 1722 1725 900 1752 18934 20548 4833 3792 1728 1731 173 l 1737 1755 4470 45068 4507 45408 4542 50724 5088 5116 5186 51924 5204 19084 2158 4848 3810 19234 22068 S106# 3870 4935 5016 4936 5017 4957 5018 4958 5025 940 1114 1187 1249 5741 4813 5748 1893 1923 19384 4415 51354 3872 1953¢ 44208 5292 3873 19684 44278 S7184 3933 19834 45158 5741 393% 4959 5026 4980 5027 4981 S091 4982 5096 1923 1938 1953 1968 1983 1917 1932 1947 1962 1977 1114 1187 4427 4415 4848 4420 s135 4830 7 483% 1as§ 1863 1 7g S 1224 1267 675 Paskle 150% sw06 Paskls 119% 2206 117# Pmsklé Pasklé 18784 2403 675 578 584 1230 1274 18634 1354 238% S4b 3787 1749 2043¢ 4820 4909 5000 554 S6# 17646 2028% 48138 4903 4999 534 125 686 696 790 Pmask(2 GO GPHARD GPRMA 1205 5634 6084 F-HWITBL FRAND_DATA 1192 20154 g;g; 5119 SEQ 0294 1142 19984 é;ggx 70644 5132 £2}5 973 2007 3929 1533 202 f18771 203 ii a; 3 21902 GPRMD GPRML GTR _MSG G_HJTBL HEADER HEADER_PRINT HQ_ERR HSG HQ"MSG~ H_RwWTBL IKE 1E ILF ILL_CMD_MSG ILRTM IMAGE INC_ARR INCTBNK INDEX IN_BLAST_TBL IN"ERROR HAP IRBY ]1_BLAST_TBL 1_CHIP_TBL 1-COoL_CNT_TBL I COL “PTRTM I_ERROR_MAP 1 HUTBL I_REM_TBL 1" TMPTBLST_TBL LSUNIT LBT LF LFS LST_PAT LST_REM_ENTRY LST_TSTED_ARR LUNTM Pmsk (3 Pmsk(3 Pmsklé Pmskt% Pmsk L Pmsklé Pmsklé Pmskle Pmskl2 Pmskié Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmskté Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmeklé Pmskléd Pmsklé Pmskl 2 Pmsklé Pmsklé Pmsklé Pmsklé Pmskié Pmsklé Pmsklé 75 56 S8Ba 65 %2 6384 S7/ 4 S784 66 2844 2364 29 S744 2904 655 80 61 5344 718 5343 5494 6624 54294 5314 9 798 3938+« 4279« 2634 1530 1274x 1357% 1443+ 1489« 67 1395« 1313+ 5753 4836 5409 5497 475 274k 6104 6114 1759 Pmsklé 2448 Pmsklé 5338 Pmsklé 1663 263¢ 3257 546 Pmsklé S66 5719 4768 3463 3506 4013 3217 4345 5772 54384 793 2802 5738 794 2803 2986 795 2718 2726 2730 2731 2732 5526 1256 1269 5340 5348¢ 5360 5377 7 550 2561 2600 2611 2630 2639 4900 54334 5443 5528 5529 logg?l g63 108 3271 §27ZI 54664 54564 g0hp g;; Y¢( ] $101 ;Bgl 1 4651 4683 4715 3345 3863 3931 5781 2509 5369 537 4507 454 495 5374 4485 4859 1567 1704 2264 1614 2174 1944 4492 511 521 494 515 502 Pmskl4 Pmsklé Pmsklé Pmsklé Pmskl4 2334 2614 5964 1464 764 5304 5424 727 Pmsklé 1759« 48 2358 2993 2996 3110 3117 3120 3521 4822 48234 Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmskl4 MmCPE MOPE MEM_ERR_MSG mL1TA MLAS 5439% S4284 792 2801 4886 2498 S84 1615+ 525 SEQ 0295 5493 5406 1826 L_ERROR_MAP Pmsklé 125 1207 2064+ MAX_CHIP_COL 98 1194 Pmsklé L_RANDOM_DATA MAP_CHIP_TBL MAP_ML11°REG MAP_REM_TBL MP TMTM _BLST_TBL HAPWRT BUF 89 1144 LUNMISS_MSG 170 _DATA L_FAILINGCHIP 7 1125 Pmsklé Pmsklé L“CRIP_T1BL 66 L 5358 530 529 788 2790 3565 88 “Bg 2855 528 §170 So09 Sotew Soor 505 53%s o0# 12230 13;; 1;2(‘) 900 940 1114 1116 1135 1187 1189 SEQ 0296 1202 MLCS2 Pmsklé 45530 s??? 670 724 896 936 1110 1120 1139 1183 1245 MLCS3 MLDY Pmsklé Pmsklé 914 854 989 1041 1042 898 938 1112 1185 1247 725 1133 1200 1262 728 MLBAE mLCSY Pmsklé4 ~ Pmsklé Pmsklé [+ 3 N4 o n7 N ~N 71n 939 MLBA 990 723 1113 1186 1248 MLD?2 MLDA mLDB MLDS Pmsk L4 Pmsklé Pmsklé Pmsklé 83’ 724 79 740 MLE1 MLE?2 MLEE Pmskl4 Pmsklé Pmsklé 834 844 87 991 731 1043 4503 4648 4506 4282 451 4712 MLMR Pmsk L4 51880 S?g sggg 684 686 688 690 692 694 656 MLPA MLPD MLREG Pmsklé Pmsk L4 Pmsklé 784 8o 659 3790 3792 6614 3808 3810 6624 5095 4640 663 5124 4673 5207 4705 5225 5096 5125 5210 5228 MLWC ML_ADDR Pmsk 4 Pmsklé 704 521 721 661 897 663 937 720 "M 721 1184 722 1246 723 MLOT MLEL MLER MLLA MLSN Pmsklé Pmskl4 Pmskl4 Pmsklé Pmski4 ML_ALL Pmsklé ML_DUY Pmsklé 814 84 754 774 824 728 1200 729 732 726 730 729 1202 m-syS NED NEM 722 723 724 725 726 727 728 526 670 896 936 1110 1183 1245 4402 S4TI9 5455 5706 30294 3033 31534 682 NIB_NO NIB_NUM 3278 4054 3375 4070 3563 4074 4083 4087 4104 4241 4254 4257 NO NO_AD_MSG 1] 633¢ L4Ba 61 4N L6 80 98 88 89 44N 45N 1214 L3N Pmsklé Pmsklé 2574 258# Pmsklé Pmsklé Pmski3 Pmsklé Pmskl3 Pmsklé 728 394 Pmskl3 Pmskl3 Pmskl3 4712 721 66 75 M_RET M_RH_BASE 4705 1189 4512 720 730 40N 414 Pmskl3 Pmsk(3 Pmskl3 Pmskl3 727 1139 4506 661 729 680 M_BRD_NO H_CORRECT M_DUT M_OPTION 726 1135 4503 4092 3144 2604 Pmskl3 Pmsk(3 725 1133 3810 4680 Pmskté Pmsklé M_BNK M_BNK_NO 724 1120 3792 467 MRTMREG mMxF Pmskl3 1116 2199 4648 446 2734 2868 M_ARR 732 1264 éggg Pmskle Pmsklé Pmsklé Pmskl4 3 126 '52?3; ML _REG moC MOST_OF TEN MR_PRINT 730 1251 731 449 732 5129 5210 5228 125 384 56 2194 4027 4113 2289 4037 4127 229¢ 4041 3270 4050 61 66 4238 4130 4213 46216 4232 592 87 442 5757 88 448 655 56 5100 4150 4156 75 80 661 663 4159 88 4173 89 4176 4191 4197 4110 4200 PAR_CRC_WRD PAT PATS PAT_0 e o e e o, o g g Pmsklé Pmsklé Pmsklé Pmskl4 Pmsk L4 Pmskl4 Pmsklé Pmsklé Pmsklé Pmskié 719 730 W WL L BB B BN L o h cmnd OO OO O D00 N0 NI~ LS = OO SO r={vg WAL S OVOV N =2 NONI NN 4396 4399 29644 9 it 2] o«\nwgou E VIR V] NOD~2\n =ONO0D SN v 3 F¥ N) =b on L= L 3 v LaZ 2l o )= =2 WV re ~N P DO = TRTM = PN Y =R (N »H I B SN 57 7024 4400 4401 4402 4403 44044 5509# 793 794 795 43994 4400# 44014 44024 46034 30264 3006+ 3029 3022 3028 303" 4, %8 % 4 -2 QO N0 OWniN VAN — O OW i = ~NW=— Wi ~ Vil =s NHN= VIS ~Nwviess NN OWVISO oo (¥ 1v. 0, ~ % Qo0 P VIV L. W) N — WM 00O H OOV—=0O NN WNINLCN ~ B NOWWN OMNINOWN WA PO SN WO — OONONN X ANHNON—= NN POVNON - HrWOHNO R 3 I BN QN OO0 GOSN O Sl —sooE » NN BONONMOO N0 QOWO O~V OW VAW Q0 &> =2 N AN N0 QO WO 0N D W OO NNNSO N R 3 W WWwy =8 S N B =4 OO £ O £ 00 O OONONOO O &~ \IN‘NOJ\J\VINOOWMO NINWES OO =2 OCONI NN~ SO ON £ 00 O~ A\ $ mnb b S8 YO =2 ONMNOD S VO OO VOO~ &~ wn - NN GO NOON) * 2 = x xR W L3 L3 B N ~ o L4 Pmsk Pmsklé Pmsklé Pmskl4 Pmsklé Pmsklé Pmsklé Pmskl4 AN BN S b ok 000000~ OGO b aud ) =d QO NI AN £~ OWRO SO~ 1884 2790 NN Pmskl( Pmskl Pmskl Pmskl Pmsk Pmskl M\‘flOflU\—flONN—‘ ONE_US oP I Wi Pmsklé Pmsklé i ONES ONE_MSG N NN ONE Pmsklé g PASS Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk Pmsk e Pmsk L& » 0_1_PRINT Q6 PRINT EBDEBEDODS OVER_FLOW e OPTION_HWTBL ORDY OR_OLD_NEW_PD OFFSET 4467 SEQ 0297 2498 3596 1268 5408 6167 4244 1939 4507 4915 49744 4981 78 114% PROM_ADRS PROM_DIS Pmsklé Pmsklé PROM _RW Pmsklé PUR_LOC Pmsklé PTBL_PTR PTR PURGE P_DIS P RW ob_0_sum QD-1-SUmM (841 5359 5731 3743 SQ754 S197# 6914 6874 Pmsklé Pmsklé Pmsklé 5337 3453 2537 Pmsklé Pmsklé 308¢ _307# Pmsklée Pmsklé 790 1193 1206 8 80¢ 1255 8 803 804 805 806 4191 4232 4419 4 SEQ 0298 3778% 50944 5207 37894 5095 52204 3790 S1144 52244 37964 51234 5225 38074 5124 3808 5185 5069 51964 5393 5394 5395 5371 35054 2538 5387 35204 2639 5388 3565 2640 5389 36454 5390 3646 5391 5392 2537 2611 2618 2630 2639 4100 41324 4106 4146 4152 2516 3990 3991 409874 40934 692 688 5296 5495 5305 5496 5344 5705 Pmsklé Pmsklé Pmsklé Pmsklé 3456 3457 3455 3495 34744 34828 347 3499 34794 34864 34784 3575 3495 3495 3484 3568 RANDAT RANDOM_INDEX Pmsklé Pmsklé 471 1595 857 15974 2537 2538 2550 2561 2630 2639 2640 2652 1610 16114 4501 4530 4533 4552¢ QUANTITY RAND_IRDEX Pmsklé 2448€ 2528 4193 4228 5232 5494 QD_NUM_SEARCH QD_OFFSET QD_PAIR_LOOP QD_SEARTH 3484 4187 L2174 5214 5408 5780 Pmsklé Pmsklé Pmsklé 41154 41614 5134 5607 5779 QD_2_SuM QD_3_Sum QDL BoP 4094 40954 2528 7774 S0364 5200~ 2106 21614 2199 22178 4468 4479 RAND PASS RANGEN RAN_1 RAN_10 RAN_11 RAN_12 RAN_13 Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé Pmsklé 547 462t 1754 1844 1854 1864 1874 4477 855 1719 1746 1749 1752 1755 4606 S4S7A 54678 5478% RAN_3 Pmskle RAN_2 RAN_% Pmsklé Pmsklé RAN_S RAN_6 RAN_7 RAN_S RAN_9 Pmsklée Pmsklé Pmsklé Pmskl4 Pmsklé RD_BUF Pmsklé RDY RD_OLD_PROM_DATA RD_PROM_MODE RD_TRANSFER RD_XFER_MSG READEF REF_MAR 1764 4648 1722 1774 1725 1794 1804 1814 '8§z 18 1731 1734 1737 1740 1743 178# Pmsklé 2354 Pmsklé Pmsklé Pmsklé Pmsklé Pmskl4 Pmskié 3708+ 679% 1212« 5984 5355 3064 503 1728 46594 4680 1869 2004 2019 2034 2049 1877 2012 2027 2042 2053 1899 1907 1884 916 929 9% 46914 4712 47234 1922 1937 1952 1967 1982 1997 4530 4532 4676 Pmsklé 4885 49194 49298 4931 4944 49528 4954 REM_PTR REM_TBL Pmsklé Pmsklé 2296 494 241 143 2450 26204 %4 1 24264 2626 2516 2427 2538 2431@ 2551 REP_M7363_MSG Pmsklé REMAINDER REP_PRINT Pmsklé 499%4 27314 5954 6234 499 ;732# 5104 4426 4590 1892 2160 4014 3764 4525 1255 5345 5706 4234 Pmsklé L6084 1124 4150 5133 5406 5757 37664 50854 52024 808 4104 5105 5176 5750 37654 50764 52014 807 1268 5104 5375 5735 2509 3992 3993 801 5013 2993 5305 2996 4977 2446 26538 2726 2730 zazg L0L3¢ L0764 35394 3271 2204 2427 4094 4093 3541 2618 4098 4095 2798 3088 3117 3120 2347 2379n 23864 2 g 2606 24394 3488 4159 4195 4197 4200 4236 4238 4241 50868 5091 5094 5096 3271 2618 3101 3257 5204 R_C R_C_NO Pmsklé Pmsklé 2214 2204 SC Pmsklé 442 2314 36N 4037 5206 3557 4041 5210 3560 4064 3268 2292 3557 3560 1116 1135 1189 1202 1251 1264 1054 1608 1610 1659 1660 4497 2399 2408 4B17# 4B18H 4B 4018 2615 1719 2287 2289 450 SEC_NUM Pmsklé 2178 2205 SEED1 SEED2 SEED3 SEL_BNK Pmsklé Pmsklé Pmskléd Pmsklé 468 469 470 3775 842 843 844 3778 Q4720 LL473X LLT4N 3792 2403 45954 45964 4L597H 3810 1474 1702 1713 1716 2293 3268 3551 40;5 Pmsklé 1/40 1953 3637 4110 2730 Pmsklé Pmsklé 3629 4108 2653 SEC_CNT 5125 3234 3621 4074 2640 3551 3374 2862 3621 3613 4070 2551 3373 3277 3271 1439 2855 4283 SEQ 0299 3272 2538 3276 3269 %ggg Pmsklé4 SERIAL_REG ~ 2421 40394 40724 35194 3269 2203 3214 2;83# SET_FLG oo (=] 2420 4029# 40304 35044 3257 2199 Wy 521 5418 Pmsklé Pmsklé O [« NXan} 5408 3490 4034 5376 o~ 448 53924 2561x 2561 2738« SEARCH 3629 5199 1743 1968 5202 1746 1983 1749 1998 2732 2801 4500 4525 4634 4667 3533 3536 3553 3608 3613 5078 5082 5086 5091 5096 5119 1722 1725 1728 1731 1734 1737 5215 5228 1752 2013 1755 2028 1878 2043 4993 5010 5024 4105 4151 6192 5232 1893 2054 5233 5279 1908 2205 1923 2206 1938 2290 5135 5215 5233 4233 44620 1077 1M 1151 1184 1186 Pmsklé Pmsklé 16104 16104 166 21608 45014 45254 4626# 1113 115 Pmsklé Pmsklé 1247 370 535 1077 STARY START_MSG 1212 3662 S76¢ SUMS_PM SUMMARY Pmsklé Pmskl3 4214 (3 23804 795 146 23854 2399 3458 35074 3513¢ 3522 35284 3533 31544 5375 5407 5495 SIZING SN_PRINT SRT START_SEC SUM_moOST SUPRES_MSG SWTBLS_RET SW_BUG_MSG SYS HWTBL S_BLAST_TBL Pmsklé Pmsklé Pmsklé 545 2349 736+ 862 562 897 898 4403 Pmsklé Pmsklé 2868 S804 30304 5105 g033 134 Pmsklé Pmsklé Pmskls 5904 5328 2809+ 53874 4022 5452 Pmski2 91 902 16604 90 937 21604 939 9764 45004 9764 10354 45254 10354 5106 4621 1246 5456 730 543 4974 5214 3792 4156 2731 1212 3034 6354 Pmsklé 4951 5210 3789 4154 Pmskl?2 Pnskl4 SIZE 4928 3637 3787 6113 4515 88 3864 SFPTBL SGL | 5814 Pmsklé Pmsklé Pmskl4d Pmsklé S | 44%’ 533 2894 1634 3994 3995 3452 3212 2188 ROW_PURGE ROW_SEL ROW_SORT ROW_SUM rRo_TL ! Pmsklé Pmsk 4 Pmskl4 Pmsklé Pmskié Pmskl4 Pmskl4 Pmskié Pmsklé Pmskl4é L% RET_DRS_MSG RH RH_BASE _HWTBL RMR ROW ROW_0 127 OFF ROW_128_255_OFF ROW_CNT ROW_MOST_OF TEN ROW_NUM 46264 44627 >_BUF _INDEX $CHIP. TBL 3= COLUMNS S_COL_CNT_TBL STERROR_MAP S"REM_TBL 3-ROWS TBL_ INDEX Pmsklé Pmekle rskls Pmsklé Pmskls Paskle askle PMSkle 970 3660+ g86de 592' 3390+ 3157+ 3035+ 1309 9744 4BOB 3255 4372 4354 4383 3287 3570 975 4846 0 8 9964 5288 997 1353 1356 1391 TEMP TEMP_ARRSBNK_SEL paski4 Pmscle 2696 S9la 2750 976 2737 5005 27es 038 2801e §s67 TEMP_TSTED_BNK Pmskl4 TEN_RS THREE_MSG TARE-3l GG TRE Pmskléd Pmsklé 1s2r 1676 41 485 (360 5736 3697 1424 6074 s 1891 2052 44BB 4771 5737 5720 5148 Isedw 1906 2066 4492 4775 S738a 5730 304H 1284 2862 3854 3874 4512 4B40D Pmskle Pmskl4 Pmskls 420@ SBON 2820 791 5345 4402 Pmskl4 5150 1123 Pmskié Pmskl4 Pmskls Pmekl4 277# 3554 6264 240 Pmekl4 Pmskl4 Prski4 GooN 4O3# 853 5528 5599 WRD_ INDEX Pmskle 3100 WRT_BUF Pmskls WRT_CHK_TRANSFER HRT_PRM_MDE Pmsklé Pmsklé UNC UNC_CHIP_MSG Pmekle Pmskle Paoile Pmskle UNCTERR _RSG Pmsklé UNX_DRV_ERR_MSG Pmshl4 UNITS, PA UNIT_3EL_MSG UNS VER_BLAST VERERROR_MASK v WCE WC_PRINT WCREG WRD WRDS_0 WRD$1 WRD_ CNT WRTRH WRT_TRANSFER WRTXFER MSG WT_THK_XPER_MSG X 1436 1438 1439 2803 610 1615 1660 175 3ok 193¢ 228 4 4838 1os1 2268 538 4836 558 806# 593+ SOPF Pmskls 5242% Pmckle Prokle Pmskle Pmekls Pmekls Phsele S15¢ $450 “500 1010 SO38 5279 54588 54688 1142 1192 1205 125 1267 1120 1139 4520 897 937 1111 1184 1246 1610 SB7 1056 1072 1073 22054 2205 2345 2401 5765 5766 701 989 3490# “B4o 990 3536 BLsw 991 3572 B4ar 1073 3580 857 165# 1660 2199 4501 669 g9 670 g 675 g7 680 m 1652 4501 4530 4533 1651 1652 4638 4648 4671 4680 2403 2408 2420 2621 2426 2627 5584 976 $590 989 4533 4648 4680 4712 1035 10734 6B2 @5 686 93 130 1246 5325 688 ok ;N 1247 5455 690 o3 a2 1248 692 o3 1 1249 692 693 6% 695 989 1183 3808 990 1184 5095 991 1185 5096 1041 1186 5124 1062 1187 5125 283 efC 'e8% 686 687 688 691 ) $596 990 991 5766 4530 S0 1974 3790 1660 1206 1143 1861 202 L3 4737 S735 S7S3 684 %00 1045 1245 5307 1610 1193 1126 1850 2011 Wl0 426 S73w 5720 4500 5074 1151* 599% 600F 199 4l 4szi 5698 S479¥ 1077x 6814 €558 g4 1981 4343 dgl7 4842 1486 32698 355 32708 32768 32770 3278# 5242 5295 4018 196e 4ar9 481 4841 1485 5741 ms Pmskl4é Pmskls TWO_ MSG 1921 2160 4500 4827 1392 302 Pmskie 33 334 2103, 3182 om0 229 2688 Yoer 355, 3853, 3835 3880 2320 Pmskle TRY TRUE TSTED_BNK 1k SEQ 0300 XFERF XFERT Pmskl3 Pmskl3 X_MSG X_PRINT X_TMP BLST_TBL Pmsklé Pmsklée 2ERO Pmsklé X"T0_REM_TBL YES Pmskl& Pmskls Pmski3 696 71 57 62 2222¢ 2296+ 87 4610 3219 98 2367 3519 238 3536 6014 6404 654 Pmsklté 125 77% 974 1597 2158 2161 4031 42644 4032 4248 411 4260 4121 4594 4134 4595 gg% g% g 5085 5091 4903 ZEROCES SEQ 0301 én g;?g 4907 1310 g%; 392 LY4 4908 1354 g%g 403 580 4925 1392 4479 5408 Sgl. 4931 5119 1438 4485 199 2200 416 4608 416 4808 5201 5288 586 59 4948 1439 4524 964 359 4954 1486 4614 205 2289 2293 4179 4810 4203 4817 4207 4823 4220 4848 5369 5371 3088 3777 4971 1527 4831 218 3870 4977 1564 5075 3229 4029 4990 5528 1850 5196 3504 4030 4996 5529 3376 S417 PSECT Storage Map Name $CODES Loc 002000 002000 033016 SOWNS SPLITS 075456 040440 005450 $XXXS 103126 000324 035016 $XYZ$ 103452 000010 . ABS. 103462 000000 Length File Module 20020 PMSKL2 BSKEL BSKEL B816ROTY 000316 031506 PMSKL3 B816ROT 816PG2 B16PG4 B816MUL PMSKL4 816PG2 B16PG4 Bl6MuL BSKEL4 BSKEL3 BSKEL4 075456 076206 000530 004720 PMSKL3 PMSKL4 103126 103224 103332 000076 000106 000120 B16SAV B16PN1 B16SAV B16PN1 103452 000010 LSTAD LSTAD RANDOM RANDOM SEQ 0302 Map of Glotal Symbols Name Value PSECT Module ABS Value $SAVE2 000000 $xxXx$ B16SAV 103224 $CODES $SAVE3S 000014 $XXX$ B16SAV 18 40 SCODES $SAVE4L 000032 $XxX$ B16SAV 1 56 SCODES $SAVES 000052 $XxXX$ BI16SAV 103276 $CODES BLSDIV 000224 $CODES Bi16MUL 003 13 $CODES BLSGT1 000000 $xxx$ BI16PN1 103332 $CODES BLSGTZ 000000 $CODES B16PG2 00%530 $CODES BLSMOD 000236 SCODES B16MUL 003230 SCODES 8LSPUZ 000000 SCODES B16PG4 00%666 $SCODES BLSSHF 000250 SCODES B16MUL 00 g‘? SAXXS 000302 $SCODES BSKEL3 002502 SCODES LSAU LSAUTO 000256 $CODES BSKEL3 00;456 SCODES LSCLEA 031476 $CODES BSKEL4 035006 $CODES LSDESC 000040 SCODES BSKEL3 002240 $SCODES LSOLY 000116 SCODES BSKELZ 002116 SCODES 0G0270 SCODES BSKEL3 002470 $CODES LSDU LSDVTY 000000 SCODES BSKEL3 002%00 $CODES LSHARD 000102 $CODES BSKEL3 002302 $CODES LSINIT 030632 $CODES BSKEL4 034142 SCODES LSLAST 000004 $XY2$ LSTAD 103456 SCODES LSRPT 000244 SCODES BSKEL3 002444 SCODES LSSOFT 000226 $CODES BSKEL3 002426 $CODES LSUNIT 000012 $CODES BSKEL2 002012 SCODES RANDAT 000074 $XXX$ RANDOM 103222 RANGEN 000000 $XXx$ RANDOM 103126 SCODES SEEDT 000066 $XXX$ RANDOM 10321+ SEED2 000070 $XXx$ RANDOM 103216 SEED3 000072 $XXX$ RANDOM 103220 $CODES SUMMAR 000570 $CODES BSKEL4 004100 SCODES TSPTHV 000000 LSTAD 000000 SCODES T1 031364 $CODES BSKEL4 034674 $SCODES SEQ 0303
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies