      ADA START      ADDRESS LOCATED
      SSA             ABOVE X4777?
      JMP P.OK      YES.OK
      LDA START     NO.NOW
      CMA,INA        CHECK
      ADA HLIM        BELOW X4000 
      ADA ISTOR     FAILING ADDRESS 
      SSA            IN INIT? 
      JMP P.OK      NO.OK 
IL221 LDA ISTOR     YES.GO DIRECTLY TO E101 
      LDB ISTOR     BAD ADDRESS IN A&B
E101B OCT 106001    PARITY ERROR IN MODULE 0
      JMP *-1       IRRECOVERABLE 
P.OK  LDA ITEMP     RESTORE A 
      LDB ISTOR,I   GET BAD DATA
E116B OCT 106016    PARITY ERROR DURING INIT
      JMP IL221     GO SHOW ADDRESS 
      HED CONSTANTS,LINKS & STORAGE FOR MOD 0 CHECK 
IB1   OCT 1 
IB3   OCT 3 
IB4   OCT 4 
IB6   OCT 6 
PINIT DEF LP204-PAGE  POINT TO LOW TRANSFER POINT 
I377  OCT 377 
I400  OCT 400 
PEQTS DEF EQTST-PAGE  POINTER TO EQTST LOW
PSADR DEF SADR-PAGE  POINTER TO SADR LOW
I1000 OCT 1000
I1001 OCT 1001
I4000 OCT 4000
PITBL DEF ITBL      LINK TO TABLE OF VENDOR PATTERNS
I10K  OCT 10000 
I.32K DEC 32767 
I.M16 DEC -16 
EADR  BSS 1         LAST ADDRESS TESTED IN BLOCK
EQTST BSS 1         STOP TESTS AT EQTST-1 
IBPAT BSS 1         BACKGROUND PATTERN
HLIM  BSS 1         -HIGH LIMIT TO PARITY ERRORS
IBUFF BSS 1         START BUFFER ADDRESS POINTER
IPATT BSS 1         STORAGE FOR CHECKERBOARD PATTERN
ISTOR BSS 1         STORAGE FOR INIT
ITEMP BSS 1         STORAGE FOR INIT
ITPAT BSS 1         TEST PATTERN
LLIM  BSS 1         LOW LIMIT TO PARITY ERRORS
LOWFG NOP           ALL 1'S WHEN TESTING LOW BLOCK
PTBL1 BSS 1         STORAGE FOR PATTERN POINTER 
SADR  BSS 1         STARTING SOURCE ADDRESS FOR MOVE
START NOP           START WITH START=0
DEST1 BSS 1         DESTINATION 
DEST2 BSS 1          POINTERS 
IREG  BSS 1         STORAGE FOR A-REG 
SORCE BSS 1         1ST SOURCE ADDRESS
WDCNT BSS 1         POSITIVE WORD COUNT 
WCNT1 BSS 1         NEGATIVE WORD COUNT 
WCNT2 BSS 1         NEGATIVE WORD COUNT 
* 
*     CHECKERBOARD PATTERN TABLE
* 
ITBL  EQU * 
      OCT 101       M0 EOR M6(TI 4030,4050) 
IM1   OCT 177777    END OF TABLE FLAG & -1
      HED IMOVE 
*     MOVES SEGMENT OF MEMORY BASED ON CALLING SEQUENCE. ALL MOVES
*     ARE VERIFIED. ERRORS HERE ARE FATAL.
* 
*     CALLING SEQUENCE: 
* 
*     LDB ADDRESS OF 1ST WORD OF DESTINATION
*     LDA POSITIVE WORD COUNT 
*     STA WDCNT 
*     LDA ADDRESS OF 1ST WORD OF SOURCE 
*     JSB MOVE
* 
IMOVE NOP 
      STB DEST1     DESTINATION ADDRESS IN POINTER
      STB DEST2     SAVE IT 
      STA B         SOURCE ADDRESS IN B 
      STA SORCE     SAVE IT 
      LDA WDCNT     MAKE WORD 
      CMA,INA        COUNT NEGATIVE 
      STA WCNT1     SAVE
      STA WCNT2      IT 
      STA IREG      SAVE IT FOR 0-377 CASE
LP200 LDA B,I       GET SOURCE WORD 
      CPB IB1       MOVING LOCATION 1?
      LDA I1001     YES.SET UP B FOR RESTORE MOVE 
      STA DEST1,I   MOVE FIT TO DESTINATION 
      ISZ WCNT1     DONE? 
      RSS 
      JMP MOVE1     YES 
      SSB           SOURCE ADDRESS OK?
      JMP E112A     NO.ADDRESS WENT OVER 32K
      LDA DEST1     DESTINATION 
      SSA            ADDRESS OK?
      JMP E112A     NO
      INB           BUMP SOURCE POINTER 
      ISZ DEST1     BUMP DESTINATION POINTER
      JMP LP200 
E112A OCT 106012    PROGRAM PROBABLY BOMBED 
      JMP *-1       IRRECOVERABLE 
MOVE1 LDA IREG      RESTORE A IN CASE OF 0-377 MOVE 
      LDB SORCE     SOURCE ADDRESS IN B 
LP201 LDA B,I       GET SOURCE WORD 
      CPB IB1       CHECKING LOCATION 1?
      LDA I1001     YES.KEEP B = 1
      CPA DEST2,I   DESTINATION WORD OK?
      RSS 
      JMP IERR      NO. FATAL 
      ISZ WCNT2     DONE? 
      RSS 
      JMP IMOVE,I   YES 
      INB           BUMP
      ISZ DEST2      POINTERS 
      JMP LP201 
IERR  EQU * 
      LDB DEST2     GET BAD ADDRESS IN B
      JSB IEROR     FATAL MODULE 0 ERROR
PM0CK JMP PL073,I   RETURN FOR TST07 MOVES
* 
*     CHECK CURRENT TEST AREA LIMITS TO SEE IF THEY ARE ON 4K 
*     BOUNDARIES FOR THE 4K ORIENTED TESTS
* 
*     RETURNS P+1 IF BOTH LIMITS ON 4K BOUNDARIES 
*     RETURNS P+2 IF NOT
* 
CHK4K NOP 
      LDA LOWER     DOES THE LOWER
      AND B7777      LIMIT HAVE 
      SZA             1'S IN BITS 0-11? 
      JMP L620      YES.RETURN P+2
      LDA UPPER     NO.DOES THE UPPER 
      AND B7777      LIMIT HAVE ANY 
      CPA B7777       0'S IN BITS 0-11? 
      JMP CHK4K,I   NO.OK 
L620  ISZ CHK4K     YES.RETURN
      JMP CHK4K,I    P+2
      HED CHECK 
*     SETS UP BACKGROUND AND TEST PATTERNS IN BACKP AND TESTP 
*     RESPECTIVELY BASED ON CURRENT BACKP.
* 
*     ENTRY VALUE OF BACKP    EXIT VALUES OF BACKP,TESTP & RETURN 
* 
*     177777                  000000,177777,P+1 
*     000000                  000001,177777,P+1 
*     000001                  000003,177776,P+1 
*     000003                  177777,000000,P+2 
* 
CHECK NOP 
      LDA BACKP     GET BACKGROUND IN A 
      INA,SZA       JUST DO A BACKGROUND OF 1'S?
      JMP L604      NO
      STA BACKP     YES.MAKE IT 0'S 
      CCA           MAKE TEST 
      STA TESTP      PATTERN 1'S
      JMP CHECK,I 
L604  SLA,RSS       JUST DO BACKGROUND OF 0'S?
      JMP L605      NO
      STA BACKP     YES.MAKE BACKP=000001 
      JMP CHECK,I 
L605  CPA B4        JUST DO BACKGROUND OF 000001? 
      JMP L606      NO.MUST BE DONE 
      CCA           YES.MAKE
      ADA .M1        TESTP
      STA TESTP       = 177776
      LDA B3        BACKP 
      STA BACKP      =000003
      JMP CHECK,I 
L606  CLA           RESTORE TESTP 
      STA TESTP      TO 0'S 
      CCA           RESTORE BACKP 
      STA BACKP      TO 1'S 
      ISZ CHECK     RETURN
      JMP CHECK,I    P+2
      HED CHKMD 
* 
*     CHECKS TO SEE IF 4K MODULE(S) WITHIN TEST LIMITS DEFINED
*     BY UPPER AND LOWER. 
* 
*     CALLING SEQUENCE: 
* 
*     JSB CHKMD 
*     RETURN P+1 IF 4K MODULE NOT COMPLETELY WITHIN TEST LIMITS 
*     RETURN P+2 IF 4K MODULE WITHIN TEST LIMITS
* 
CHKMD NOP 
      LDA LOWER     LOOKING IN
      SZA,RSS        MODULE 0?
      JMP CHKMD,I   YES.DONE
L607  LDA LOWER     IS MODUL
      CMA,INA        BELOW
      ADA MODUL       LOWER 
      SSA,RSS          LIMIT? 
      JMP L608      NO.GO SEE ABOUT UPPER LIMIT 
      LDA MODUL     YES.IS MODUL
      CPA B70K       IN MODULE 7? 
      JMP CHKMD,I   YES.DONE
      ADA B10K      NO.BUMP 
      STA MODUL      MODUL 4K 
      JMP L607      TRY AGAIN 
L608  LDA MODUL     IS END OF 
      ADA B7777      MODUL
      CMA,INA         ABOVE 
      ADA UPPER        UPPER
      SSA               LIMIT?
      JMP CHKMD,I   YES.DONE
      ISZ CHKMD     NO.RETURN 
      JMP CHKMD,I    P+2
      HED RMEM
* 
*     READS MEMORY UNDER TEST FOR DATA IN A 
* 
*     CALLING SEQUENCE: 
* 
*     LDA DATA
*     JSB PRMEM,I 
* 
RMEM  NOP 
      LDB LOWER     START AT LOWER LIMIT TEST AREA
      STO           SET READING FLAG
L623  CPA B,I       VERIFY DATA 
      JMP *+2       OK
      JSB ERROR     ERROR 
      CPB UPPER     DONE? 
      JMP L621      YES.GO READ ALL MEMORY
      INB           NO.BUMP POINTER 
      JMP L623      CONTINUE
L621  CLB           START AT 0
L624  CPA B,I       READ
      NOP            IT 
      CPB MSIZE     DONE? 
      JMP RMEM,I    YES 
      INB           NO.BUMP POINTER 
      JMP L624      CONTINUE
      HED WRMEM 
*     WRITES/READ MEMORY UNDER TEST TO DATA IN A
* 
*     CALLING SEQUENCE: 
* 
*     LDA DATA
*     JSB WRMEM 
* 
WRMEM NOP 
      CLO           SET WRITING FLAG
L602  LDB LOWER     START AT LOWER LIMIT TEST AREA
L600  SOS           WRITING?
      STA B,I       YES 
      CPA B,I       NO.VERIFY DATA
      RSS           OK
      JSB ERROR     ERROR 
      CPB UPPER     DONE TEST AREA? 
      JMP L601      YES 
      INB           NO.BUMP POINTER 
      JMP L600      CONTINUE
L601  SOC           DONE WRITING & READING? 
      JMP WRMEM,I   YES 
      STO           NO.SET READ FLAG
      JMP L602      DO TEST AREA AGAIN
      HED ERROR TABLE ENTRY ROUTINE 
* 
*     ENTER ERRORS IN ERROR TABLE 
* 
ENTRY LDA BERR      ERROR 
      ADA M10K       LOCATED
      ADA M10K        ABOVE 
      SSA              17777? 
      JMP L626      NO.GO HALT
      LDB PSTBL     YES.INITIALIZE
      STB TEMP9      SUMMARY POINTER
      LDB PETBL     START AT 1ST MOD. OF ERROR TABLE
L627  ADA M10K      ERROR IN
      SSA            NEXT MODULE? 
      JMP L628      YES 
      ADB B24       BUMP POINTER BY A MODULE
      ISZ TEMP9     BUMP SUMMARY POINTER
      JMP L627      CONTINUE
L628  CLA           CLEAR ERRORS-PER- 
      STA CNTR1      MODULE(EPM) COUNTER
L630  CPA B,I       ALREADY HAVE AN ERROR?
      JMP L629      NO.GO MAKE AN ENTRY 
      ISZ CNTR1     BUMP EPM COUNTER
      ADB B3        YES.ALREADY HAVE
      LDA B,I        AN ERROR 
      ARS,ARS         ENTRY 
      STA SAVE1        IN THIS
      LDA MERR          4K MEMORY 
      ARS,ARS            MODULE?
      CPA SAVE1 
      JMP L643      YES.GO CHECK ADDRESS
      ADB B2        POINT TO NEXT ENTRY 
      LDA CNTR1     THIS MODULE 
      CPA B4         FULL?
      JMP L626      YES.GO HALT 
      CLA 
      JMP L630      CONTINUE
L643  ADB M3        ARE THE 
      LDA PERR       ADDRESSES
      CPA B,I         EQUAL?
      JMP L631      YES.GO BUMP COUNTER 
      JMP L632      NO.SKIP THIS ERROR
L629  LDA PERR      ENTER FAILING 
      STA B,I        ADDRESS
      INB 
      LDA AERR      ENTER 
      STA B,I        DATA WRITTEN 
      INB 
      LDA BERR,I    ENTER 
      STA B,I        DATA 
      INB             READ
      LDA MERR      ENTER ONES
      STA B,I        OR PAGE #
      INB 
      ISZ B,I       SET ERROR COUNTER TO 1
      LDA CNTR1     BUMP EPM
      INA            COUNTER AND
      STA TEMP9,I     UPDATE SUMMARY TABLE
      JMP L632      CONTINUE PROGRAM
L631  ADB B4        JUMP BUMP 
      ISZ B,I        ERROR COUNTER
      JMP L632      CONTINUE PROGRAM
      CCA           STICK COUNTER 
      STA B,I        AT ALL ONES
      JMP L632      CONTINUE PROGRAM
      HED DEBNC,RENTR 
* 
*     DEBOUNCES S-REG 
* 
DEBNC NOP 
      LIA SWREG     SAVE
      STA TEMP9      S-REG
      CCE           CLEAR DELAY FLAG
L644  CLA           ANY 
      OTA SWREG      BITS 
      LIA SWREG       STILL 
      SZA,RSS          ON?
      JMP L645      NO.TRY ONES 
      CLE           YES.SET DELAY FLAG
      JMP L644      TRY AGAIN 
L645  CCA           NO.ANY
      OTA SWREG      BITS 
      LIA SWREG       STILL 
      ISZ A            OFF? 
      CLE,RSS       YES.SET DELAY FLAG
      JMP L648      NO.SEE IF DONE
      JMP L645      TRY AGAIN 
L648  SEZ           DELAY?
      JMP L653      NO
      INA,SZA       YES.DELAY APPROXIMATELY 
      JMP *-1        315 MILLISECONDS 
      JMP L644-1    GO PASS AGAIN 
L653  LDA TEMP9     RESTORE 
      OTA SWREG      S-REG
      JMP DEBNC,I 
* 
*     RESERVES LOCATIONS 6177-7377 TO SAVE THE CONFIGURATOR 
*     (IF MEMORY SIZE>4K) 
* 
      ORG 6177B 
SCONF BSS 1200B 
PEND  EQU * 
      END 
                                                  