JMP BYCMP,I EXIT THIS ROUTINE SKP MBFU1 NOP STY GPAD1 LDY MBFU1 JSB MBFU3 BUILD AND REPORT LDY GPAD1 JMP MBFU1,I ERROR MESSAGE BUFFER AND RETURN SPC 1 MBFU2 NOP STY GPAD1 LDY MBFU2 JSB MBFU3 BUILD AND REPORT ERROR MESSAGE LDY GPAD1 JMP .GCOM THEN BACK TO THE COMPARE ROUTINE SPC 1 MBFU3 NOP JSB ERMS,I DEF E130 JMP MBFU3,I EXIT SPC 2 MBFS1 NOP STY GPAD1 LDY MBFS1 JSB MBFS3 BUILD AND REPORT ERROR MESSAGE LDY GPAD1 JMP MBFS1,I AND EXIT SPC 1 MBFS2 NOP STY GPAD1 LDY MBFS2 JSB MBFS3 BUILD AND REPORT ERROR MESSAGE LDY GPAD1 JMP .GCOM THEN BACK TO COMPARE ROUTINE SPC 1 MBFS3 NOP JSB ERMS,I DEF E131 JMP MBFS3,I EXIT SPC 1 MBTU1 NOP STY GPAD1 LDY MBTU1 JSB MBTU3 LDY GPAD1 JMP MBTU1,I SKP MBTU2 NOP STY GPAD1 LDY MBTU2 JSB MBTU3 LDY GPAD1 JMP .GCOM SPC 1 MBTU3 NOP JSB ERMS,I DEF E132 JMP MBTU3,I SPC 1 MBTS1 NOP STY GPAD1 LDY MBTS1 JSB MBTS3 LDY MBTS1 JMP MBTS1,I SPC 1 MBTS2 NOP STY GPAD1 LDY MBTS2 JSB MBTS3 LDY GPAD1 JMP .GCOM SPC 1 MBTS3 NOP JSB ERMS,I DEF E133 SPC 1 MBWS1 NOP STY GPAD1 LDY MBWS1 JSB MBWS3 LDY GPAD1 JMP MBWS1,I SPC 1 MBWS2 NOP STY GPAD1 LDY MBWS2 JSB MBWS3 LDY GPAD1 JMP .GCOM SPC 1 MBWS3 NOP JSB ERMS,I DEF E134 JMP MBWS3,I SKP MBWU1 NOP STY GPAD1 LDY MBWU1 JSB MBWU3 LDY GPAD1 JMP MBWU1,I SPC 1 MBWU2 NOP STY GPAD1 LDY MBWU2 JSB MBWU3 LDY MBWU2 JMP .GCOM SPC 1 MBWU3 NOP JSB ERMS,I DEF E135 JMP MBWU3,I SPC 2 HPAD1 OCT 0 HPAD2 OCT 0 HPAD3 OCT 0 UMASK OCT 177400 E130 ASC 5,E130 MBF/ E131 ASC 5,E131 MBF/ E132 ASC 5,E132 MBI/ E133 ASC 5,E133 MBI/ E134 ASC 5,E134 MBW/ E135 ASC 5,E135 MBW/ HED VIOLATION REGISTER - MAP REGISTER BITS * * TST21 * * TEST 21 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO DISPLAY THE PAGE ON WHICH A VIOLATION HAS OCCURRED * * TEST 21 CAUSES SEVERAL VIOLATIONS TO BE REPORTED, AND TESTS * THE VIOLATION MAP BITS FOR CORRECT VALUE. * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF TST21, AN * ERROR MESSAGE IS OUTPUT ON THE TERMINAL, AND THE PROGRAM HALTS * THE COMPUTER. AT THIS TIME, THE OPERATOR MAY DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE CONTENTS OF THE FOLLOWING * REGISTERS: * * T REGISTER = ERROR CODE * A REGISTER = ACTUAL PATTERN * B REGISTER = EXPECTED PATTERN * Y REGISTER = ADDRESS OF FAILURE SKP TST21 EQU * SPC 1 NOP JSB ZORCH PUT JSB'S IN INTERRUPT CELLS JSB KFNCE LOAD UP THE FENCE REGISTERS JSB LODUP LOAD THE MAP REGISTERS LDA OCT10 NOW LDB RPNTR PUT LDX OCT06 PROTECTED XMM BITS IN MAPS SPC 1 LDA RD1 PUT INTERRUPT STA M5LNK ADDRESS IN LINK JSB PMON ON THE PROTECTED MODE STA TWN4K,I AND FORCE A WRITE VIOLATION SPC 1 RA1 NOP JSB TRNOF OFF INTP AND SYS RVA GET THE VIOLATION REGISTER AND RMASK MASK OFF ALL BUT MAP BITS RA2 CPA OCT12 JMP ROVR1 YES, OVER THE ERROR SPC 1 LDB OCT12 NO, GET THE EXPECTED PAGE LDY RD2 THE FAIL FLAG, JSB ERMS,I AND REPORT WRONG DEF E316 SPC 2 ROVR1 LDA RD3 UPDATE THE STA M5LNK RETURN ADDRESS JSB PMON ON THE PM SYSTEM STA THR2K,I VIOLATE PAGE 15 SPC 1 RA3 NOP JSB TRNOF OFF INTP AND SYS RVA GET VIOLATION REGISTER AND RMASK ISOLATE MAP REGISTER BITS RA4 CPA OCT15 RIGHT PAGE? JMP ROVR2 YES, OVER THE ERROR SPC 1 LDB OCT15 GET EXPECTED PAGE NUMBER LDY RD4 AND FAIL FLAG JSB ERMS,I NOW REPORT THE ERROR DEF E301 SPC 2 ROVR2 LDA RD5 UPDATE STA M5LNK RETURN ADDRESS JSB PMON SKP SPC 1 RA5 NOP JSB TRNOF OFF INTP + SYS RVA AND RMASK ISOLATE MAP REGISTER RA6 SZA,RSS PAGE ZERO? JMP ROVR3 YES, OVER THE ERROR CLB NO, GET EXPECTED NUMBER LDY RD6 FAIL FLAG JSB ERMS,I AND REPORT DEF E302 SPC 2 ROVR3 LDA RD7 UPDATE STA M5LNK RETURN ADDRESS JSB PMON ON PROTECTED MODE STA TWN2K,I NOW STORE FOR ALL ONES SPC 1 RA7 NOP JSB TRNOF OFF INTP AND SYS RVA GET VIOLATION REGISTER AND RMASK ISOLATE MAP BITS RA8 CPA OCT11 JMP ROVR4 YES, OVER THE ERROR LDB RMASK GET THE EXPECTED VALUE LDY RD8 FAIL FLAG JSB ERMS,I REPORT THE DEF E303 SPC 2 ROVR4 NOP JMP TST21,I SKP RPNTR DEF *+1 OCT 040010,041777,040012,040013,040014,040015 RD1 DEF RA1 RD2 DEF RA2 RD3 DEF RA3 RD4 DEF RA4 RD5 DEF RA5 RD6 DEF RA6 RD7 DEF RA7 RD8 DEF RA8 RMASK OCT 77 HED WRITE VIOLATIONS * * TST12 * * TEST 12 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * WRITE VIOLATION, AS WELL AS PREVENT THE WRITE OPERATION FROM * ALTERING PROTECTED MEMORY. * * TEST 12 IS MADE UP OF FIVE SUBTESTS WHICH FIRST ATTEMPT A * WRITE INTO PROTECTED MEMORY, INSURE THAT THE PROTECT FEATURES * CAUSE A MEMV INTERRUPT, AND THEN CHECK TO INSURE THAT THE * WRITE DID NOT CHANGE MEMORY. * * THE FIVE INSTRUCTIONS USED TO FOR TEST 12 ARE: * * MBI MBW MWI MWW XSA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF TEST KK, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * HALTS THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER, WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE FAILURE. * * SKP ORG 14000B TST12 EQU * SPC 1 NOP JSB ZORCH LOAD UP INTERRUPT CELLS JSB JLOAD MAPS AND JSB KFNCE FENCE SPC 1 SPC 1 LDA KRT01 PUT RETURN ADDRESS STA M5LNK IN VIOLATION INTERRUPT RETURN JSB PMON ON PROTECTED MODE LDA TWNTK ATTEMPT LDB TWNTK A NON-PRIVELEGED LDX KCONT MBI INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ KA1 MBI JSB OFFPM TURN OFF PM TO REPORT ERROR LDY KD1 GET FAILURE FLAG JSB ERMS,I AND REPORT THE FAILURE DEF E151 SPC 1 KRA01 NOP VIOLATION INTERRUPTED HERE JSB TRNOF OFF THE INTSYS AND SYS MAP JSB WTVCK CHECK WRITE VIOLATION BIT JMP *+5 LDY WTVCK GET FAIL FLAG JSB ERMS,I DEF E152 SPC 1 LDA KRT02 PLACE NEXT RETURN STA M5LNK ADDRESS INTO M5LNK LDA TWNTK ATTEMPT A LDB TWNTK PROTECTED MODE LDX KCONT EXECUTION NOP OF A JSB PMON MBW KA2 MBW INSTRUCTION JSB OFFPM LDY KD2 GET FAIL FLAG JSB ERMS,I AND REPORT DEF E153 SPC 1 KRA02 NOP JSB TRNOF OFF THE INTSYS AND SYSMAP JSB WTVCK CHECK WRITE PROTECT BIT JMP *+5 OK LDY WTVCK NO, FAIL JSB ERMS,I DEF E154 SKP LDA KRT03 PLACE NEXT VIOLATION STA M5LNK INTERRUPT ADDRESS IN M5LNK LDA TWN6K NOW ATTEMPT LDB TWN2K EXECUTION LDX KCONT OF A JSB PMON PROTECTED MODE-ON KA3 MWI MOVE WORDS INTO INSTRUCTION JSB OFFPM LDY KD3 GET THE FAIL FLAG JSB ERMS,I AND REPORT DEF E155 NO MEMV SPC 1 KRA03 NOP VIOLATION RETURNS TO HERE JSB TRNOF OFF THE INTERRUPT SYSTEM ETC JSB WTVCK CHECK BIT14 JMP *+5 OK LDY WTVCK NO, FAIL JSB ERMS,I DEF E156 SPC 1 LDA KRT04 NEXT RETURN STA M5LNK ADDRESS INTO M5LNK LDA TWN6K NOW TRY TO LDB TWNTK EXECUTE LDX KCONT A MWW NOP INSTRUCTION JSB PMON IN PM. KA4 MWW JSB OFFPM LDY KD4 GET THE FAIL FLAG JSB ERMS,I AND REPORT DEF E157 SPC 1 KRA04 NOP RETURN FROM VIOLATION INTERRUPT JSB TRNOF OFF INTP AND SYS JSB WTVCK JMP *+5 LDY WTVCK JSB ERMS,I DEF E160 ******** SPC 1 LDA KRT06 UPDATE STA M5LNK M5LNK NOP JSB PMON ON PROTECTED MODE KA5 XSA TWNTK ATTEMPT A CROSS STORE JSB OFFPM LDY KD5 JSB ERMS,I DEF E161 SPC 1 KRA06 NOP VIOLATION RETURN ADDRESS JSB TRNOF OFF INTSYS JSB WTVCK CHECK WRITE VIOLATION BIT JMP *+5 LDY WTVCK JSB ERMS,I DEF E162 NOP JMP TST12,I SPC 2 KD1 DEF KA1 KD2 DEF KA2 KD3 DEF KA3 KD4 DEF KA4 KD5 DEF KA5 E151 ASC 5,E151 MBI/ E152 ASC 5,E152 MBI/ E153 ASC 5,E153 MBW/ E154 ASC 5,E154 MBW/ E155 ASC 5,E155 MWI/ E156 ASC 5,E156 MWI/ E157 ASC 5,E157 MWW/ E160 ASC 5,E160 MWW/ E161 ASC 5,E161 XSA/ E162 ASC 5,E162 XSA/ HED READ VIOLATIONS * * TST16 * * TEST 16 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * READ VIOLATION. * * * TST16 IS MADE UP OF FOUR SUBTESTS WHICH FIRST ATTEMPT A READ * FROM PROTECTED MEMORY, THEN INSURE THAT THE PROTECT FEATURES * CAUSE A MEMV INTERRUPT, AND TEST THE VIOLATION REGISTER TO * INSURE THE CORRECT STATE OF THE READ VIOLATION BIT. * * THE FOUR INSTRUCTIONS USED FOR TST16 ARE: * * MWW MWI MBW MBI * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER, WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE FAILURE. * * * SKP TST16 EQU * SPC 1 NOP JSB ZORCH JSB KFNCE JSB OLOAD SPC 1 LDA OXDR1 STA M5LNK ADDRESS INTO M5LNK LDA TWNTK NOW TRY TO LDB TWNTK EXECUTE LDX KCONT A MWW NOP INSTRUCTION JSB PMON IN PM. MWW JSB OFFPM LDY OFFPM JSB ERMS,I DEF E245 OXTR1 NOP JSB TRNOF OFF INTP AND SYS JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E246 SPC 1 LDA OXDR2 STA M5LNK INTERRUPT ADDRESS IN M5LNK LDA TWNTK NOW ATTEMPT LDB TWNTK EXECUTION LDX KCONT OF A JSB PMON PROTECTED MODE-ON MWI MOVE WORDS INTO INSTRUCTION JSB OFFPM LDY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E247 SPC 1 OXTR2 NOP JSB TRNOF OFF THE INTSYS AND SYSMAP JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E250 SKP LDA OXDR3 STA M5LNK ADDRESS INTO M5LNK LDA FORTK ATTEMPT LDB FORTK P.M. LDX KCONT EXECUTION NOP OF A JSB PMON MBW MBW INSTRUCTION JSB OFFPM LDY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E251 SPC 1 OXTR3 NOP JSB TRNOF JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E252 SPC 1 LDA OXDR4 STA M5LNK IN VIOLATION INTERRUPT RETURN JSB PMON ON PROTECTED MODE LDA FORTK LDB FORTK LDX KCONT MBI INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ MBI JSB OFFPM TURN OFF PM TO REPORT ERROR LDY OFFPM SET ERROR FLAG ADDRESS JSB ERMS,I DEF E253 SPC 1 OXTR4 NOP JSB TRNOF JSB RDVCK CHECK IT WAS A READ VIOLATION JMP *+5 IT WAS, OVER THE ERROR LDY RDVCK GET THE FAILURE FLAG JSB ERMS,I AND REPORT THE ERROR DEF E254 SPC 1 NOP JMP TST16,I SKP OXDR1 DEF OXTR1 OXDR2 DEF OXTR2 OXDR3 DEF OXTR3 OXDR4 DEF OXTR4 E245 ASC 5,E245 MWW/ E246 ASC 5,E246 MWW/ E247 ASC 5,E247 MWI/ E250 ASC 5,E250 MWI/ E251 ASC 5,E251 MBW/ E252 ASC 5,E252 MBW/ E253 ASC 5,E253 MBI/ E254 ASC 5,E254 MBI/ SPC 1 SPC 1 OLOAD NOP JSB JLOAD LDA OCT11 LDB OCT11 LDX OCT03 XMS JMP OLOAD,I KRT01 DEF KRA01 KRT02 DEF KRA02 KRT03 DEF KRA03 KRT05 DEF KRA05 KRT06 DEF KRA06 KRT07 DEF KRA07 KCONT OCT 100 KRT04 DEF KRA04 KXFRW OCT 100001 HED PRIVILEGED INSTRUCTIONS * * TST13 * * TEST 13 VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO SUCESSFULLY DETECT AND REPORT A PROTECTED MODE * PRIVILEGED INSTRUCTION VIOLATION. * * THIS TEST IS MADE UP OF EIGHT SUBTESTS WHICH INSURE PRIVILEGED * INSTRUCTIONS WILL CAUSE A MEMV INTERRUPT IF THE USER MAP IS * ENABLED, AND WILL NOT CAUSE A VIOLATION IF THE SYSTEM MAP IS * ENABLED. * * THE INSTRUCTIONS USED FOR THIS TEST ARE: * * JRS DJP DJS SJP SJS UJP UJS LFA * * IF AN ERROR IS DETECTED DURING THE EXECUTION OF THIS TEST, AN * ERROR MESSAGE WILL BE OUTPUT ON THE CONSOLE, AND THE PROGRAM * WILL HALT THE COMPUTER. THE OPERATOR MAY THEN DETERMINE THE * CAUSE OF THE ERROR BY CHECKING THE T REGISTER WHICH WILL * CONTAIN THE ERROR CODE, AND THE Y REGISTER, WHICH WILL CONTAIN * THE ADDRESS OF THE ERROR SKP TST13 EQU * SPC 1 NOP JSB LODUP LOAD MAPS JSB ZORCH STORE JSB'S JSB KFNCE SET UP THE FENCES SPC 1 LDA LRAD1 PUT NEXT RETURN STA M5LNK ADDRESS LINK JSB PMONU ON PM W/USER MAP ENABLED JRS STS TRG JMP AND RESTORE STATUS IF WE CAN STS OCT 024100 STATUS WORD TRG NOP TARGET ADDRESS JSB OFFPM FORCE PM OFF LDY TRG GET THE FAILURE FLAG JSB ERMS,I AND REPORT DEF E163 NO MEMV SPC 1 LLRA1 NOP JSB TRNOF OFF PM TO CHECK JSB PIVCK BIT 12 OF THE VIOLATION REGISTER JMP *+5 LDY PIVCK JSB ERMS,I DEF E164 LDA LRAD2 PUT THE ERROR ROUTINE STA M5LNK ADDRESS IF IT VIOLATES W/SYSTEM JSB PMON ON PM SSM LLSTS PUT STATUS IN MEMORY LLSTATUS NOP CHANGE TO JMP *-N FOR LOOP/ JRS LLSTS NXT DO JMP AND RESTORE IN PM SYSTEM NXT JSB OFFPM JMP LOVR1 OVER THE ERROR LLRA2 NOP JSB TRNOF OFF INTP AND SYS