* * DISTURBANCE PATTERN ROUTINES TABLE * TBL3 DEF PAT01 MH OR ML DEF PAT02 MH OR MLF DEF PAT03 MHF OR ML DEF PAT04 MHF OR MLF DEF PAT05 MH AND ML DEF PAT06 MH AND MLF DEF PAT07 MHF AND ML DEF PAT08 MHF AND MLF DEF L052 DONE.GO CHECK FOR OTHER DATA HED TEST TABLE * * POINTERS TO TEST SECTIONS * TSTBL DEF TST00 DEF TST01 DEF TST02 DEF TST03 DEF TST04 DEF TST05 DEF TST06 DEF TST07 DEF TST10 DEF TST11 DEF TST12 DEF TST13 DEF TST14 DEF TST15 DEF TST16 HALT DEF HALT TEST TABLE POINTER WRONG E112B OCT 106012 PROGRAM DESTROYED JMP *-1 IRRECOVERABLE HED CONSTANTS,LINKS AND STORAGE FOR PROGRAM LTEST OCT 16 LAST ALLOWABLE TEST # .65 DEC 65 PJMP1 DEF IL206-PAGE TRANSFER POINT IN MOD 0 CHECK B377 OCT 377 PIER1 DEF IEROR+1-PAGE LINK TO ERROR CALL LOW PIER2 DEF IEROR+2-PAGE LINK TO ERROR RETURN IN RELO WCNT3 DEF PM0CK-MD0CK+2 # OF WORDS IN RELO. MODULE PSTR1 DEF START-PAGE LINK TO START IN RELO. MODULE PWCT1 DEF WDCNT-PAGE LINK TO WORD COUNT LOW PMOV1 DEF IMOVE-PAGE LINK TO IMOVE LOW B777 OCT 777 B1000 OCT 1000 BIT9 EQU B1000 B1200 OCT 1200 B1377 OCT 1377 PP.E. DEF P.E. LINK TO PARITY ERROR ROUTINE PENTL DEF MSIZE-1 END OF ERROR TABLE+SUMMARY AREA PTBL DEF TBL LINK TO PATTERN TABLE PTBL6 DEF TBL1 LINK TO ROWS & COLUMNS TABLE PTBL8 DEF TBL2 LINK TO DISTURBANCE TABLE PTEST DEF TSTBL LINK TO TEST TABLE PL146 DEF L146 LINK TO L146 PL147 DEF L147 LINK TO L147 PL144 DEF L144 LINK TO L144 B4000 OCT 4000 PJMP2 DEF MD0CK LINK TO START OF MODULE 0 CHECK PIERI DEF PM0CK LINK TO ERROR RETURN FROM TST07 PCK4K DEF CHK4K LINK TO BOUNDARY CHECK ROUTINE PCHEK DEF CHECK LINK TO ROUTINE CHECK PCKMD DEF CHKMD LINK TO CHKMD ROUTINE PRMEM DEF RMEM LINK TO RMEM PWMEM DEF WRMEM LINK TO WRMEM PCONF DEF SCONF LINK TO SAVE CONFIGURATOR AREA B6500 OCT 6500 B20K OCT 20000 BIT13 EQU B20K PPAT1 DEF TBL3,I LINK TO TABLE OF PATTERN ROUTINE MASK3 OCT 103200 BITS 15,10,9 AND 7 H401 OCT 107001 END OF TEST HALT.4K ONLY JMP04 JMP PL073,I JMP TO L073 INSTRUCTION JMP03 JMP PL100,I JMP TO L100 INSTRUCTION PATT6 OCT 125252 M1000 OCT -1000 N1001 OCT 176777 N2 OCT -2 .M24 DEC -24 HFLAG BSS 1 ALL ONES TO SKIP CURRENT TEST PATT BSS 1 CHECKERBOARD PATTERN BITS PATT1 BSS 1 HIGH ORDER BIT PATT2 BSS 1 LOW ORDER BIT PATT4 OCT 52525 PATT5 OCT 125252 PPATT BSS 1 LINK TO PATTERN ROUTINE HED TST00-ONES AND ZEROS * * WRITES/READS MEMORY UNDER TEST TO: * * 177777 * 000000 * 000001 (RIPPLES 1 THRU 0'S) * 177776 (RIPPLES 0 THRU 1'S) * TST00 EQU * ONZER NOP CCA DO JSB PWMEM,I 177777 CLA DO JSB PWMEM,I 000000 CLA,INA DO L000 JSB PWMEM,I 000001 RAR,SLA RIPPLE A 1 RSS THRU A JMP L000 FIELD OF 0'S CLA,INA CMA DO L001 JSB PWMEM,I 177776 RAR,SLA RIPPLE 0 JMP L001 THRU 1'S JMP ONZER,I HED TST01-ADDRESS PARITY * * WRITES/READS EACH ADDRESS OF MEMORY UNDER TEST TO THE PARITY * OF THAT ADDRESS. EVEN AND ODD PARITY ARE USED FOR MAIN MEMORY * AND THE PARITY CHIPS * TST01 EQU * ADPAR NOP L017 CLO SET WRITING FLAG L016 LDB LOWER START AT LOWER LIMIT TEST AREA L014 LDA .M16 SET COUNTER STA CNTR1 = -16 DECIMAL STB A GET ADDRESS IN A CLE CLEAR BIT FLAG L010 RAR,SLA BIT SET? CME YES.TOGGLE BIT FLAG ISZ CNTR1 NO.DONE? JMP L010 NO.KEEP COUNTING BITS SEZ YES.EVEN # OF BITS IN ADDRESS? JMP L011 NO.ODD #.USE TEST PATTERN LDA BACKP YES.USE BACKGROUND PATTERN L012 SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L013 YES INB NO.BUMP POINTER JMP L014 CONTINUE L011 LDA TESTP USE TEST JMP L012 PATTERN L013 SOC DONE? JMP L015 YES STO NO.GO BACK AND JMP L016 READ THIS TIME L015 JSB PCHEK,I DO ANOTHER PATTERN? JMP L017 YES JMP ADPAR,I HED TST02-MARCHING ONES AND ZEROS * * 1. WRITES MEMORY UNDER TEST TO BACKGROUND PATTERN. * 2. READS BACKGROUND PATTERN IN 1ST LOCATION,WRITES TEST * PATTERN,READS BACKGROUND PATTERN IN 2ND LOCATION,WRITES * TEST PATTERN,ETC. TO UPPER LIMIT OF TEST AREA. * 3. READS TEST PATTERN IN LAST LOCATION,WRITES BACKGROUND * PATTERN,READS TEST PATTERN IN LAST LOCATION-1,WRITES * BACKGROUND PATTERN,ETC. BACK DOWN TO LOWER LIMIT. * 4. THE FOLLOWING PATTERNS ARE USED: * BACKGROUND TEST * 177777 000000 * 000000 177777 * 000001 177777 * 000003 177776 * TST02 EQU * MARCH NOP L020 LDA BACKP GET BACKGROUND IN A JSB PWMEM,I WRITE TEST AREA TO DATA IN A LDB LOWER START AT LOWER LIMIT TEST AREA L021 STO SET READING FLAG CPA B,I BACKGROUND STILL THERE? RSS YES JSB ERROR NO. ERROR LDA TESTP TEST PATTERN IN A CLO SET WRITING FLAG STA B,I WRITE TEST PATTERN CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB UPPER DONE MARCHING UP? JMP L022 YES INB NO.BUMP POINTER LDA BACKP BACKGROUND IN A JMP L021 CONTINUE L022 STO SET READING FLAG CPA B,I TEST PATTERN STILL THERE? RSS YES JSB ERROR NO.ERROR LDA BACKP BACKGROUND IN A CLO SET WRITING FLAG STA B,I WRITE BACKGROUND CPA B,I VERIFY IT RSS OK JSB ERROR ERROR CPB LOWER DONE MARCHING DOWN? JMP L023 YES ADB M1 NO.DECREMENT POINTER LDA TESTP TEST PATTERN IN A JMP L022 CONTINUE L023 JSB PCHEK,I DO ANOTHER PATTERN? JMP L020 YES JMP MARCH,I HED TST03-CHECKERBOARD * WRITES/READS MEMORY TO A CHECKERBOARD PATTERN BASED ON THE * CHIP'S PHYSICAL LAYOUT. * TST03 EQU * CHKER NOP LDA PTBL POINT TO STA PTBL5 PATTERN TABLE L036 LDA PTBL5,I GET PATTERN ENTRY STA PATT SAVE PATTERN VALUE L035 CLO SET WRITING FLAG L034 LDB LOWER START AT LOWER LIMIT TEST AREA L031 STB A GET ADDRESS IN A AND PATT ARE BOTH OF THE CPA PATT BITS SET IN THE ADDRESS? JMP L030 YES SZA,RSS BOTH BITS CLEAR? JMP L030 YES LDA TESTP NO.USE TEST RSS PATTERN L030 LDA BACKP USE BACKGROUND PATTERN SOS WRITING? STA B,I YES CPA B,I NO.CHECK DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L032 YES INB NO.BUMP POINTER JMP L031 CONTINUE L032 SOC JUST FINISH WRITING? JMP L033 NO STO YES.GO BACK JMP L034 AND READ DATA L033 JSB PCHEK,I DO ANOTHER PATTERN? L037 JMP L035 YES ISZ PTBL5 NO.ANY MORE LDB PTBL5,I ENTRIES INB,SZB IN PATTERN TABLE? JMP L036 YES.GO DO NEXT PATTERN JMP CHKER,I HED TST04-ROWS AND COLUMNS * * WRITES/READS THE MEMORY CHIPS UNDER TEST TO ROWS OF 1'S AND * 0'S AND COLUMNS OF 1'S AND 0'S ACCORDING TO THE CHIP'S * PHYSICAL LAYOUT. * TST04 EQU * ROCOL NOP LDA PTBL6 POINT TO STA PTBL7 PATTERN TABLE L045 LDA PTBL7,I GET PATTERN ENTRY STA PATT AND SAVE IT L046 CLO SET WRITING FLAG L043 LDB LOWER START AT LOWER LIMIT TEST AREA L041 STB A GET ADDRESS IN A AND PATT IS THE BIT OF SZA INTEREST SET? JMP L040 YES LDA TESTP NO.USE RSS TEST PATTERN L040 LDA BACKP USE BACKGROUND SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA RSS OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L042 YES INB NO.BUMP POINTER JMP L041 CONTINUE L042 SOC JUST FINISH WRITING? JMP L044 NO STO YES.GO BACK JMP L043 AND READ DATA L044 JSB PCHEK,I DO ANOTHER PATTERN? JMP L046 YES ISZ PTBL7 NO.ANY LDB PTBL7,I MORE ENTRIES INB,SZB IN PATTERN TABLE? JMP L045 YES.GO DO NEXT PATTERN JMP ROCOL,I HED TST05-DISTURBANCE * * WRITES/DELAYS/READS MEMORY UNDER TEST TO THE FOLLOWING * PATTERNS: * * MH OR ML WHERE MH=HIGH ORDER BIT OF INTEREST * MHF OR ML ML=LOW ORDER BIT OF INTEREST * MH OR MLF F=FALSE * MHF OR MLF OR=INCLUSIVE OR * MH AND ML AND=AND * MHF AND ML * MH AND MLF * MHF AND MLF * * DELAYS FOR APPROXIMATELY 320 MILLISECONDS BEFORE READING. * TST05 EQU * DIST NOP LDA PTBL8 GET POINTER STA PTBL9 TO PATTERNS L055 LDA PTBL9,I GET STA PATT MH & ML ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT1 MH ISZ PTBL9 GET LDA PTBL9,I JUST STA PATT2 ML L058 LDB PPAT1 POINT TO STB PPATT PATTERN ROUTINE L054 CLO SET WRITING FLAG L053 LDB LOWER START AT LOWER LIMIT TEST AREA L051 STB A GET ADDRESS IN A AND PATT MASK OFF BITS OF INTEREST JMP PPATT,I GO GET CURRENT DATA VALUE L056 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L050 YES ADB .1 NO.BUMP POINTER JMP L051 CONTINUE L050 SOC JUST FINISH WRITING? JMP L057 NO LDA .32K YES.DELAY INA,SZA APPROXIMATELY JMP *-1 320 LDB .32K MILLISECONDS STB LP306 AND STO TO SET ISZ LP306 READING FLAG JMP *-1 JMP L053 GO BACK AND READ DATA L057 ISZ PPATT BUMP PATTERN ROUTINE JMP L054 POINTER & DO NEXT PATTERN L052 JSB PCHEK,I DO ANOTHER PATTERN? JMP L058 YES ISZ PTBL9 NO.ANY MORE LDB PTBL9,I ENTRIES IN INB,SZB PATTERN TABLE? JMP L055 YES JMP DIST,I * MH OR ML PAT01 SZA JMP BACK JMP TEST * MH OR MLF PAT02 SZA,RSS JMP BACK AND PATT1 SZA JMP BACK JMP TEST * MHF OR ML PAT03 SZA,RSS JMP BACK AND PATT2 SZA JMP BACK JMP TEST * MHF OR MLF PAT04 CPA PATT JMP TEST JMP BACK * MH AND ML PAT05 CPA PATT JMP BACK JMP TEST * MH AND MLF PAT06 CPA PATT1 JMP BACK JMP TEST * MHF AND ML PAT07 CPA PATT2 JMP BACK JMP TEST * MHF AND MLF PAT08 SZA,RSS JMP BACK TEST LDA TESTP JMP L056 BACK LDA BACKP JMP L056 HED TST06-DIAGONAL * WRITES/READS A DIAGONAL PATTERN ON MEMORY UNDER TEST AND * SHIFTS THE PATTERN THROUGH THE CHIP. * TST06 EQU * DIAG NOP L066 LDB LOWER SET INITIAL DIAGONAL STB PDIAG LOCATION TO LOWER LIMIT STB TEMP2 AND SAVE IT LDA .M64 SET COUNTER STA CNTR1 TO -64 DECIMAL L065 CLO SET WRITING FLAG L061 CPB PDIAG AT A DIAGONAL LOCATION? JMP L067 YES.GO USE BACK. & BUMP DIAG. LDA TESTP NO.USE TEST PATTERN L060 SOS WRITING? STA B,I YES CPA B,I NO.VERIFY DATA JMP *+2 OK JSB ERROR ERROR CPB UPPER DONE TEST AREA? JMP L062 YES ADB .1 NO.BUMP POINTER JMP L061 CONTINUE L067 LDA PDIAG GET DIAGONAL LOC. IN A SOS OVERFLOW CLEAR? JMP L068 YES ADA .65 NO. BUMP DIAGONAL L069 STA PDIAG BY 65 DECIMAL LDA BACKP USE JMP L060 BACKGROUND L068 ADA .65 BUMP DIAGONAL BY 65 DECIMAL CLO CLEAR O AGAIN JMP L069 CONTINUE L062 SOC JUST FINISH WRITING? JMP L063 NO STO YES.SET READING FLAG LDA TEMP2 RESTORE STARTING STA PDIAG DIAGONAL LOCATION LDB LOWER START AT LOWER LIMIT JMP L061 GO BACK AND READ DATA L063 ISZ CNTR1 DONE SHIFTING? RSS NO JMP L064 YES LDA TEMP2 BUMP INA DIAGONAL STA TEMP2 POINTERS STA PDIAG JSB CKBTS USER SELECTION OR NEW LIMITS? LDB LOWER START AT LOWER LIMIT JMP L065 GO DO SHIFTED DIAGONAL L064 JSB PCHEK,I DO ANOTHER PATTERN? JMP L066 YES JMP DIAG,I HED TST07-RELOCATING * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON EACH 4K MODULE WITHIN THE * TEST AREA LIMITS EXECUTING FROM THE MODULE. USES EXISTING * MODULE 0 CHECK CODE MOVED UP TO THE CURRENT MODULE. * TST07 EQU * RELOC NOP LDA B10K START WITH L072 STA MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP RELOC,I NO LDB PIER2 SAVE JSB IEROR LDA B,I INSTRUCTION IN STA TEMP2 IMOVE LDA JSB01 CHANGE IMOVE HIGH JSB MOV00 & LOW TO REPORT ERRORS LDB B131 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK LOW STA PWCNT,I UP TO LDA B131 CURRENT JSB PMOVE,I MODULE UNDER TEST LDB PJMP2 MOVE ADB MODUL COPY OF LDA WCNT3 MOD 0 CHECK STA PWCT1,I HIGH UP TO LDA PJMP2 CURRENT MODULE JSB PMOV1,I UNDER TEST LDB PIER2 RESTORE IMOVE LDA TEMP2 HIGH & LOW JSB MOV00 LDA MODUL SET NEW LDB PSTR1 START JSB MOVIT ADDRESS LDA JSB01 SET NEW LDB PIER1 ERROR JSB MOVIT CALL LDA PIERI,I TO USE LDB PIER2 ERROR JSB MOVIT ROUTINE LDA JMP04 SET RELOCATING LDB PJMP1 MODULE TO ADB MODUL RETURN TO STA B,I L073 CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR LDA PJMP2 GO TO ADA MODUL RELOCATING JMP A,I MODULE L073 LDA MODUL JUST ADA B7777 DO CPA .32K MODULE 7? JMP RELOC,I YES.DONE INA BUMP MODUL TO NEXT STARTING ADR. JMP L072 CONTINUE * * MOVES WORD IN A TO POSITIONS IN MODULE UNDER TEST * MOVIT NOP STB TEMP3 SAVE ADDRESS LDB MOVIT MOVE RETURN ADDRESS STB MOV00 TO MOV00 FOR RETURN LDB TEMP3 RESTORE ADDRESS ADB MODUL POINT TO MODULE LOW RSS MOV00 NOP MOVE WORD IN MODULE 0 ONLY STA B,I WRITE IT CPA B,I VERIFY IT RSS OK JMP ERR2 ERROR ADB B4000 POINT TO MODULE HIGH STA B,I WRITE IT CPA B,I VERIFY IT JMP MOV00,I * * PROCESSES RELOCATING MODULE SET UP ERRORS * ERR2 EQU * JSB01 JSB ERROR GO PROCESS ERROR JMP L073 GO SEE IF NEXT 4K WILL SET UP HED TST10-MODULE 0 * PERFORMS ONES AND ZEROS,ADDRESS PARITY,MARCHING ONES AND * ZEROS AND CHECKERBOARD TESTS ON MODULE 0. USES EXISTING * MODULE 0 CHECK CODE. TST10 EQU * CKMOD NOP LDA JMP03 SET MODULE 0 CHECK STA PJMP1,I LOW TO RETURN TO L100 JMP PJMP2,I GO TO MODULE 0 CHECK L100 JMP CKMOD,I HED TST11-GALLOPING READ RECOVERY * * 1. WRITES 4K MODULE WITHIN MEMORY UNDER TEST TO BACKGROUND * PATTERN. * 2. WRITES LOCATION 0 OF 4K MODULE TO TEST PATTERN. THIS MAKES * IT THE TEST LOCATION. * 3. READS BACKGROUND LOCATION,TEST LOCATION,NEXT BACKGROUND * LOCATION,TEST LOCATION,NEXT BACKGROUND LOCATION,ETC. UP * TO THE LAST LOCATION(4095 DECIMAL) IN THE 4K MODULE. * 4. BUMP TEST LOCATION. GO BACK TO 3. UNTIL TEST LOCATION * EQUALS THE LAST LOCATION IN THE 4K MODULE. * 5. IF WITHIN TEST AREA,REPEAT ENTIRE SEQUENCE ON NEXT 4K. * TST11 EQU * GALRD NOP LDB B10K START WITH L116 STB MODUL MODULE 1 JSB PCKMD,I ANY 4K MODULES WITHIN TEST AREA? JMP GALRD,I NO.DONE L115 LDA BACKP WRITE MEMORY TO JSB PWMEM,I BACKGROUND PATTERN LDB MODUL START WITH ADB M1 TEST LOCATION STB TEMP2 = MODUL-1 ADB B10K STOP AT STB TEMP3 MODUL+7777 L111 CLO SET WRITING FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? NOP RESERVED LDA BACKP WRITE CURRENT TEST STA TEMP2,I LOCATION BACK TO BACKGROUND ISZ TEMP2 BUMP TEST LOCATION POINTER LDA TESTP WRITE TEST PATTERN STA TEMP2,I AT CURRENT TEST LOCATION LDB MODUL START AT BEGINNING OF MODULE L114 CPB TEMP2 AT TEST LOCATION? JMP L112 YES LDA BACKP NO.VERIFY CPA B,I BACKGROUND JMP *+3 OK JSB ERROR ERROR L112 STO SET READING FLAG LDA TESTP VERIFY CPA TEMP2,I TEST PATTERN JMP *+2 OK JSB ERR1 ERROR CPB TEMP3 DONE 4K MODULE? JMP L113 YES ADB .1 NO.BUMP POINTER JMP L114 CONTINUE L113 CPB TEMP2 TEST LOC.=LAST LOC. IN 4K MOD.? JMP *+2 YES JMP L111 NO.GO BUMP TEST LOC. & CONTINUE JSB PCHEK,I DO ANOTHER PATTERN? JMP L115 YES CPB .32K NO.JUST FINISH MODULE 7? JMP GALRD,I YES INB NO.POINT TO NEXT JMP L116 4K MODULE & CONTINUE * * PROCESSES TEST LOCATION ERRORS