* 
*     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
                                                                                                                                                                                