CPA 2 LOC 2 OK? RSS YES JMP BADMP NO.SOMETHING IS WRONG LDA JSB3I RESTORE JSB 3,I STA MP INSTRUCTION IN 5 LDA PMPER POINT LOC 3 TO INIT STA 3 PARITY ERROR HANDLING ROUTINE LDA I.1 SET MP PRESENT IOR FWORD BIT IN FLAG WORD STA FWORD GONE LDA THALT RESTORE TRAP CELL STA 2 TO LOC 2 CLF INT INSURE NO INTERRUPTS STF MP INSURE P.E. IS ON LDA I2000 DISABLE CALL STA PJMP TO INIT & ALLOW OVERLAYING JMP IL224 PARCK CLF MP TURN OFF PE & CLEAR BIT 15 OF VR LIA MP GET VIOLATING ADDRESS STA B ALSO IN B LDA I7777 CHECK IF IN MODULE 0 CMA AND B SZA JMP UH.OH NO E101A OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE UH.OH ADB I7777 FORM A LAST WORD OF MEMORY E110 OCT 106010 FIX PROBLEM OR ENTER A NEW UPPER * LIMIT IN B AND PRESS RUN OR * LEAVE VALUE IN B AND USE THAT * FOR AN UPPER LIMIT. JMP GOTIT CONTINUE WITH VALUE IL224 LDA MSIZE ONLY 4K CPA I7777 PRESENT? RSS YES JMP IL222 NO.LEAVE FWORD ALONE LDA I2 OR IN IOR FWORD 4K PRESENT STA FWORD FLAG JMP IL223 SKIP NEXT SECTION IL222 LDB I6177 MOVE LDA CONF THE STA PWCNT,I CONFIGURATOR LDA MSIZE LOCATIONS AND I70K DOWN IOR I6500 TO JSB PMOVE,I 6177-7377 LDA TRAP PUT LDB B10K HALT LP218 STA B,I 106075'S CPB MSIZE IN JMP IL223 UNUSED INB MEMORY JMP LP218 IL223 LDA PMDCK SET UP STARTING STA SAVAD SOURCE ADDRESS LDB B131 DESTINATION STARTING ADDRESS LP220 LDA SAVAD,I MOVE A STA B,I WORD CPB PEMCK DONE? JMP IL226 YES INB NO.BUMP ISZ SAVAD POINTERS JMP LP220 CONTINUE IL226 LDA PMDCK SET UP STA SAVAD POINTERS LDB B131 AGAIN LP221 LDA SAVAD,I GET SOURCE WORD CPA B,I MOVED OK? RSS YES JMP IER NO.ERROR CPB PEMCK DONE? JMP IL227 YES INB NO. BUMP ISZ SAVAD POINTERS JMP LP221 CONTINUE IER STB SAVAD SAVE ADDRESS LDB B,I GET BAD DATA IN B E104B OCT 106004 MODULE 0 HAS FAILURE LDA SAVAD GET FAILING LDB SAVAD ADDRESS IN A & B E105B OCT 106005 FATAL ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE IL227 LDA JMP05 SET MODULE 0 CHECK LOW STA PMJMP,I TO JMP TO CONTROL SECTION LDA I4777 SET LDB IM4K UP STA PLIM,I PARITY STB PHIM,I ERROR LDA I777 ROUTINE LDB IM131 FOR MODULE STA PLLIM,I 0 CHECK STB PHLIM,I (LOW) LDA PTBL3 POINT TO LOW STA PTBL4,I PATTERN TABLE JMP PMDCK,I GO START MODULE 0 CHECK * * FLASHES S,E & O-REGISTERS TO INDICATE MEMORY PROTECT * WON'T TURN OFF * FLASH CLE CLO CLA L614 OTA SWREG INA,SZA JMP *-1 LIA SWREG CMA OTA SWREG CLA INA,SZA JMP *-1 SOS JMP L612 CLO JMP L613 L612 STO L613 INA,SZA JMP *-1 CME INA,SZA JMP *-1 JMP L614 HED CONSTANTS,LINKS AND STORAGE FOR INIT I.1 DEC 1 I2 OCT 2 I.3 DEC 3 PMJMP DEF IL206-PAGE TRANSFER POINT IN MD0CK PTBL4 DEF PITBL-PAGE LINK TO PATTERN TABLE POINTER PHLIM DEF HLIM-PAGE LINK TO HLIM(LOW) PLLIM DEF LLIM-PAGE LINK TO LLIM(LOW) PTBL3 DEF ITBL-PAGE LINK TO PATTERN TABLE(LOW) PEMCK DEF PM0CK-PAGE END OF MODULE 0 CHECK LOW I777 OCT 777 PVIOL DEF VIOLI+1 RETURN ADR FOR MP VIOLATION PHNDL DEF HANDL DEF IN 3 FOR INIT CONF OCT 1200 #OF WORDS IN CONFIGURATOR I2000 OCT 2000 PMDCK DEF MD0CK START OF MODULE 0 CHECK PMPER DEF IPAR DEF TO PAR ERROR ROUTINE IN INIT PHIM DEF HLIM LINK TO HIGH LIMIT FOR P.E. PLIM DEF LLIM LINK TO LOW LIMIT FOR P.E. I4777 OCT 47777 I6177 OCT 6177 I6500 OCT 6500 I7777 OCT 7777 JMP01 JMP FLASH MEMORY PROTECT WON'T TURN OFF I70K OCT 70000 SHALT OCT 106015 SPECIAL TRAP CELL HALT FOR NO MP THALT OCT 106077 JSB3I JSB 3,I JSB 3,I INSTRUCTION PATT3 OCT 125252 IM10K OCT -10000 IM4K OCT -4000 IM131 OCT -131 I.M10 DEC -10 TEMP1 BSS 1 HED ERROR ROUTINE * * PROCESSES DATA ERRORS * * CALLING SEQUENCE: * * A=DATA WRITTEN * B=FAILING ADDRESS * JSB ERROR * ORG 1400B ERROR NOP STA AERR SAVE STB BERR A & B STB PERR INITIALIZE PERR TO BASE ADDRESS CLF MP INSURE P.E. OFF DURING ERROR RTN CCA INITIALIZE MERR STA MERR TO BASE MEMORY LDB BIT14 SUPPRESS JSB SWRCK ERROR HALTS? JMP L632 YES LDA TSTNO IN DMS CPA B16 TESTS? JSB FXMEM YES.GO FIND PAGE # & ADDRESS LDB BIT5 ENTER ERRORS JSB SWRCK IN ERROR TABLE? JMP PENTR,I YES L626 LDA PTST,I GET TEST # IOR HLT00 AND FORM STA EHALT ERROR HALT LDA AERR GOOD DATA LDB BERR,I BAD DATA(DATA READ) EHALT BSS 1 ERROR HALT LDA PERR FAILING ADDRESS IN A LDB MERR ONES OR PAGE # IN B H27 HLT 27B HALT FOR ADDRESS L632 LDA AERR RESTORE LDB BERR A & B STF MP TURN P.E. BACK ON JMP ERROR,I HED FXMEM * * DETERMINE PAGE ADDRESS AND PUT IN PERR * DETERMINE PAGE # AND PUT IN MERR * FXMEM NOP LDA BERR GET AND B1777 PAGE ADDRESS STA PERR IN PERR LDA BERR FORM LDB SAVE3 THE AND B76K REGISTER # ALF FROM RAL,RAL SAVE3 ADA M10 ALLOW FOR 8K START POINT CMA CALCULATE L625 INA,SZA,RSS THE JMP L641 PAGE INB NUMBER JMP L625 L641 STB MERR PUT IT IN MERR JMP FXMEM,I HED P.E. * HANDLES PARITY ERRORS * P.E. NOP STA AP.E. SAVE A CLF INT RE-DISABLE INTERRUPTS LIA MP GET VIOLATION REGISTER CLF MP TURN OFF PARITY ERROR SSA PARITY ERROR BIT 15 OF VR SET? JMP L609 YES.OK STA SAVAD SAVE ADDRESS LDA TSTNO CURRENTLY IN CPA B14 MEMORY PROTECT TEST? JMP PL140,I YES.GO THERE CPA B16 IN DMS TEST? JMP L637 YES E102B OCT 106002 ERRONEOUS MP VIOLATION JMP *-1 IRRECOVERABLE L609 AND .32K MASK OFF BIT 15 STA SAVAD SAVE ADDRESS CMA,INA IS P.E. ADA B7777 LOCATED SSA ABOVE 7777? JMP L610 YES LDA SAVAD NO.BAD ADDRESS LDB SAVAD IN A & B E101D OCT 106001 PARITY ERROR IN MODULE 0 JMP *-1 IRRECOVERABLE L610 STB BP.E. SAVE B LDA TSTNO IN TEST CPA B7 TST07? JMP L642 YES LDA TSTNO IN TEST CPA B16 TST16? RSS YES JMP L611 NO.ADDRESS IS IN BASE MEMORY LDA SAVAD GO FIND STA BERR PAGE ADDRESS AND JSB FXMEM PAGE NUMBER LDA SAVE8 IS TST16 DOING CPA B7 TST07? RSS YES JMP L611 NO.USE ERROR ROUTINE LDA PERR FAILING PAGE ADDRESS LDB MERR FAILING PAGE NUMBER JMP E34 GO HALT L642 LDA SAVAD FAILING ADDRESS(BASE MEMORY) CCB BASE MEMORY FLAG E34 HLT 34B LET USER DECIDE JMP L615 CONTINUE ALL BUT TST07 L611 LDA AP.E. USE ERROR LDB SAVAD ROUTINE TO JSB ERROR REPORT ERROR L615 LDA AP.E. RESTORE LDB BP.E. REGISTERS STF MP TURN PARITY ERROR BACK ON JMP P.E.,I CONTINUE TESTING L637 LDA TESTS IS THE MEMORY AND B10K PROTECT TEST SZA ALSO SELECTED? JMP PL140,I YES.GO THERE JMP E102B NO.ERRONEOUS MP VIOLATION BADMP EQU * E114 OCT 106014 MEMORY PROTECT FAILURE JMP *-1 IRRECOVERABLE SPC 6 * * CHECKS SWITCH-REGISTER FOR THE BIT IN THE B-REGISTER. * * CALLING SEQUENCE: * * LDB BIT * JSB SWRCK * RETURN P+1 IF SET * RETURN P+2 IF CLEAR * SWRCK NOP JSB PDBNC,I AND B SZA JMP SWRCK,I ISZ SWRCK JMP SWRCK,I SPC 2 * PROGRAM CONSTANTS,LINKS & STORAGE B77 OCT 77 SAVE1 BSS 1 SAVE3 BSS 1 SAVE4 BSS 1 SAVE5 BSS 1 SAVE6 BSS 1 SAVE7 BSS 1 SAVE8 BSS 1 MAXPG NOP MAXIMUM PAGE # PTBL5 BSS 1 POINTER TO CHECKERBOARD PATTERN PTBL7 BSS 1 LINK TO ROWS & COLUMNS PATTERN PTBL9 BSS 1 LINK TO DISTURBANCE PATTERN HED ERROR TABLE AREA ORG 1600B ETABL EQU * ERROR TABLE STARTING ADDRESS * * SPECIAL PROGRAM CONSTANTS * ORG 1776B MSIZE BSS 1 LAST WORD OF MEMORY * * FLAG WORD FOR VARIOUS PARAMETERS * * BIT # PARAMETER PRESENT IF SET * 0 MEMORY PROTECT * 1 4K MEMORY PRESENT * FWORD NOP START WITH NONE HED CONTROL SECTION * CONTROLS EXECUTION OF VARIOUS TEST SECTIONS * ORG 2000B LDA PP.E. SET P.E INTERRUPTS TO STA 3 GO TO P.E. ROUTINE LDA B777 SET UP DEFAULT STA TESTS SET OF TESTS CLA SET PASS STA PASS COUNTER TO 0 LDB PETBL CLEAR ERROR L508 STA B,I TABLE AND CPB PENTL SUMMARY JMP L512 AREA INB JMP L508 L512 LDA MSIZE SET UP DEFAULT STA UPPER TEST LIMITS OF LDB B10K 10000-X7777 OR LDA FWORD 0-7777 FOR 4K RAR,SLA CLB STB LOWER L500 CLA CLEAR TEST STA TSTNO NUMBER STA HFLAG AND SKIP BIT 15 FLAG JSB CKBTS USER SELECTION OR NEW LIMITS? L501 LDB TSTNO NO.GET CURRENT TEST # CMB 1'S COMP. -TEST # LDA TESTS GET TESTS WORD RAR GET BIT FOR INB,SZB CURRENT TEST JMP *-2 SECTION IN BIT 15 POSITION SSA,RSS DO THIS TEST? JMP L502 NO L505 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L513 YES.GO DECIDE ON TEST L514 JSB CKTST CHECK TEST AREA BOUNDARIES LDA PTEST BUILD TEST ADA TSTNO POINTER AND LDA A,I AND GO JSB A,I DO IT L503 LDA FWORD ONLY 4K OF RAR,SLA MEMORY PRESENT? JMP L518 YES.SKIP HALTS & RESTORING LDA TRAP PUT LDB B10K HALT L517 STA B,I 106075'S CPB MSIZE IN JMP L516 TEST INB AREA JMP L517 L516 LDA MSIZE RESTORE AND B70K CONFIGURATOR ADA B6500 LDB A LDA B1200 STA PWCNT,I LDA PCONF JSB PMOVE,I L518 JSB CKBTS USER SELECTION OR NEW LIMITS? LDA HFLAG SKIP THE SW-REG SZA BIT 15 CHECK? JMP L504 YES LDB BIT15 NO.IS BIT JSB SWRCK 15 OF SW-REG SET? RSS YES JMP L504 NO LDA TSTNO GET TEST # IN A H76 HLT 76B HALT BETWEEN TEST SECTIONS L504 CLA CLEAR SKIP BIT STA HFLAG 15 FLAG LDB BIT13 IS SW-REG JSB SWRCK BIT 13 SET? JMP L505 YES.REPEAT TEST SECTION LDA TSTNO DONE ALL CPA LTEST TESTS? JMP L506 YES ISZ TSTNO NO.BUMP JMP L501 TEST # L506 ISZ PASS BUMP PASS COUNT JMP L507 GO CHECK FOR LOOP ON PASS CCA STICK PASS STA PASS COUNT AT JMP L507 MAX # OF BITS L507 LDB BIT12 LOOP ON JSB SWRCK DIAGNOSTIC? JMP L500 YES LDA PASS NO.GET PASS COUNT IN A H77 HLT 77B END OF PASS JMP L500 DO ANOTHER PASS USER CLB LOAD REGISTERS WITH LDA TESTS THE CURRENT SET OF TESTS H75 HLT 75B HALT FOR USER SELECTION SZA,RSS DEFAULT SET OF TESTS? LDA B777 YES STA TESTS STORE AS NEW SET OF TESTS LIA SWREG CLEAR BIT 9 AND N1001 OTA SWREG LDA TESTS SELECTED AND BIT14 TST16 SZA,RSS FOR EXECUTION? JMP L500 NO.RESTART PASS CLA DEFINE MAP CLB REGISTERS 0-7 LDX B10 TO BE PAGES 0-7 XMS LDA B1777 START AT PAGE 1000(DECIMAL) SJP L649 ENABLE SYSTEM MAPS L649 STA MAXPG SAVE IT ADA M10 GET DOWN SSA TO PAGE 7? JMP E36 YES LDA B10 DEFINE MAP LDB MAXPG REGISTER 10 TO BE LDX .1 CURRENT MAXPG XMS LDB B20K TRY TO CCA WRITE STA B,I ONES THERE LDA B,I GET ONES CPA M1 BACK? JMP L651 YES.FOUND MAXPG SZA,RSS NO.GET ZEROS BACK? JMP L650 YES.GO DROP A PAGE LDB MAXPG NO.SOMETHING'S WRONG E402 OCT 107002 LET USER DECIDE STB A GET RID AND B1777 OF DON'T STA MAXPG CARES L651 LDA MSIZE DOES ALF MAXPG RAL,RAL EQUAL AND B77 THE BASE CPA MAXPG MEMORY? JMP E36 NO LIA SWREG YES.SAVE STA TEMP3 S-REG LDA MAXPG PUT MAXPG OTA SWREG IN S-REG LDB .M16 DELAY ISZ A FOR JMP *-1 APPROXIMATELY ISZ B 5 SECONDS JMP *-3 LDA TEMP3 RESTORE OTA SWREG S-REG DJP L500 TURN OFF MAPS & START NEW PASS L650 LDA MAXPG DROP ADA .M1 MAXPG JMP L649 ONE PAGE E36 HLT 36B NO EXPANDED MEMORY FOUND DJP USER TRY AGAIN L502 CCA SKIP SW-REG STA HFLAG BIT 15 JMP L516 CHECK ABORT JSB PDBNC,I DEBOUNCE S-REG LDA TSTNO IN TEST CPA B16 TST16? JMP L515 YES L519 CCA RESET STA BACKP BACKGROUND CLA AND TEST STA TESTP PATTERNS LDA LOWER GET CURRENT TEST LDB UPPER LIMITS IN A & B H64 HLT 64B ENTER NEW LIMITS * PRESS PRESET,RUN L510 JSB CHKUP CHECK UPPER LIMIT E65 HLT 65B RE-ENTER UPPER JSB CHKUP CHECK UPPER LIMIT E30 HLT 30B LAST CHANCE TO CHANGE UPPER STA LOWER GO WITH WHAT STB UPPER USER HAS L509 ADA M10K LOWER-10000 SSA,RSS LOWER<10000? JMP L511 NO.OK LDA LOWER YES.RESTORE LDB UPPER LIMITS E67 HLT 67B RE-ENTER LOWER JMP L510 TRY AGAIN L511 LDB UPPER CMB,INB -UPPER ADB LOWER +LOWER SSB,RSS LOWER GREATER THAN OR = UPPER? JMP *+5 LIA SWREG CLEAR BIT 0 AND N2 OTA SWREG JMP L500 NO.RESTART PASS W/NEW TEST AREA LDA LOWER YES.RESTORE LDB UPPER LIMITS E66 HLT 66B RE-ENTER LIMITS JMP L510 TRY AGAIN L513 LDA TSTNO TRYING TO DO THE CPA B10 MODULE 0 CHECK? JMP L514 YES.OK CPA LTEST NO.TRYING TO DO MICROCODED TEST? JMP L514 YES.OK H61 HLT 61B USER SELECTED TEST & ONLY 4K JMP L503 SKIP TEST SECTION L515 LDA SAVE6 RESTORE TEST LDB SAVE7 LIMITS STA LOWER STB UPPER DJP L519 DISABLE MAPS & ABORT HED CKBTS,CHKUP,CKTST * * CHECKS S-REG BITS 0 & 9 * CKBTS NOP LDB BIT0 IS S-REG JSB SWRCK BIT 0 ON? JMP ABORT YES LDB BIT9 IS S-REG JSB SWRCK BIT 9 ON? JMP USER YES JMP CKBTS,I NO.DONE * * CHECK UPPER LIMIT OF TESTING IN B * CHKUP NOP STA LOWER SAVE NEW STB UPPER LIMITS CMB,INB -UPPER ADB MSIZE +MAX ADDRESS SSB,RSS UPPER>MAX? JMP L509 NO.OK LDB UPPER YES.RESTORE BAD UPPER JMP CHKUP,I * * CHECKS TESTS SELECTED AND CURRENT TEST AREA LIMITS FOR 4K * BOUNDARY COMPATIBILITY * CKTST NOP LDA TESTS SELECTED TST07,TST11, AND MASK3 TST12 SZA JSB PCK4K,I YES.GO CHECK BOUNDARIES JMP CKTST,I NO.RETURN H35 HLT 35B INFORM USER OF LIMIT PROBLEMS JMP ABORT TRY NEW LIMITS HED PATTERN TABLES * * CHECKERBOARD PATTERN TABLE * TBL EQU * OCT 101 M0 EOR M6(TI 4030,4050) M1 OCT -1 * * ROWS AND COLUMNS PATTERN TABLE * CONTAINS BITS IN ADDRESS TO CREATE ROWS OR COLUMNS * TBL1 EQU * OCT 100 M6(TI 4030,4050)-ROWS OCT 10 M3(TI 4030,4050)-COLUMNS OCT -1 * * DISTURBANCE PATTERN TABLE * TBL2 EQU * OCT 110 M6,M3(TI 4030,4050) OCT 100 M6(TI 4030,4050) OCT 10 M3(TI 4030,4050) OCT -1