JSB MFSR1 FAILURE, REPORT NOP CHANGE TO JMP *-N FOR LOOP/ ISY ROLLOVER YET?? JMP OLPG2 NO, DO OUTER LOOP AGAIN. SPC 1 LDB TWN2K SET B=22K JSB MEMAD AND WRITE MEMAD IN SYSTEM PAGE10 SPC 1 SJP *+2 ENABLE THE SYSTEM MAP LDA TWNTK SET THE SOURCE AND LDB TWNTK DESTINATION ADDRESSES LDX MASK7 AND COUNT, AND MWI MOVE SEVEN WORDS INTO THE USER NOP DJP *+2 DISABLE FOR CHECK/VERIFY LDA TWNTK PUT THE 'ACTUAL' AND LDB TWN2K 'EXPECTED' ADDRESS, LDX NDN07 THE COMPARE COUNT JSB GCOMP AND COMPARE SEVEN MOVED WORDS JSB MTUR1 FAILURE DETECTED, REPORT SPC 1 SJP *+2 REENABLE THE SYSTEM MAP LDA TWNTK POINT TO PAGE 10 OF LDB TWNTK THE SYSTEM AND USER MAPS LDX OCT2K AND MOVE 2K(8) MWI WORDS NOP CHANGE TO JMP *-N FOR LOOP/ DJP *+2 NOW DISABLE THE SYSTEM LDA TWNTK SET THE POINTERS LDB TWN2K TO THE SOURCE AND DESTINATION LDX NON2K AND COMPARE THE JSB GCOMP SOURCE AND DESTINATION JSB MTUR1 ERROR RETURN, TELL CONSOLE NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 LDB TWNTK WRITE MEMORY ADDRESSES JSB MEMAD IN THE SOURCE LDB TWN2K AND ZERO THE JSB GZERO DESTINATION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 UJP *+2 ENABLE THE USER AREA LDA TWNTK POINT TO ADDRESS 20000 LDB TWNTK AND 22000(WHEN SYS IS ENABLED) LDX MASK7 COUNT OF SEVEN, AND MWI MOVE THE WORDS NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE FOR VERIFICATION LDA TWN2K POINT TO DESTINATION LDB TWNTK AND SOURCE, LDX NDN07 COMPARE THE TWO JSB GCOMP AREAS JMP MTSR1 ERROR DETECTED, REPORT NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 UJP *+2 RE-ENABLE THE USER MAP LDA TWNTK SOURCE (USER 20000) LDB TWNTK DESTINATION (SYSTEM 20000) LDX OCT2K MOVE 2000 (OCTAL) WORDS MWI INTO THE SYSTEM AREA NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+1 DISABLE FOR THE COMPARE ROUTINE LDA TWN2K GET THE ACTUAL ADDRESS POINTER LDB TWNTK AND THE EXPECTED ADDRESS POINTER LDX NON2K COMPARE THE TWO JSB GCOMP PAGES TO VERIFY MWI JSB MTSR1 ERROR DECTECTED, REPORT NOP SPC 1 JSB GINIT SETUP POINTER AND COUNTER MTUOL LDB TWNTK JSB CHPTN CHANGE THE PATTERN SJP *+2 ENABLE THE SYSTEM LDA TWNTK POINT TO PAGE TEN, SOURCE LDB TWNTK AND DESTINATION LDX OCT2K MOVE 2000B WORDS FROM THE MWI SYSTEM TO THE USER NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE SYSTEM LDA TWNTK COMPARE THE SOURCE AND LDB TWN2K DESTINATION AREAS LDX NON2K USING THE COMPARE JSB GCOMP ROUTINE. JSB MTUR1 ERROR RETURN- REPORT NOP ISY ROLLOVER YET?? JMP MTUOL DO AGAIN UNTIL XTHRU ROLLOVER SPC 1 JSB GINIT SETUP POINTER AND COUNTER MTSOL LDB TWN2K CHANGE THE PATTERN JSB CHPTN THE SOURCE AREA NOP CHANGE TO JMP *-N FOR LOOP/ UJP *+2 ENABLE THE USER MAP LDA TWNTK MOVE 2K WORDS FROM FROM THE LDB TWNTK USER TO THE SYSTEM LDX OCT2K MAP USING THE MWI MWI INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE THE M.E.M. LDA TWN2K AND COMPARE THE LDB TWNTK SOURCE AND DESTINATION LDX NON2K ADDRESS USING THE JSB GCOMP COMPARE ROUTINE JSB MTSR1 ERROR DETECTED, REPORT ISY ROLLOVER YET?? SPC 1 JMP MTSOL DO AGAIN UNTIL ROLLOVER CCA STORE ALL ONES WORD INTO SOURCE STA TWNTK,I ADDRESS FOR NEXT TEST SJP *+2 ENABLE THE SYSTEM LDA TWNTK SET A SOURCE ADDRESS OF LDB A 20K AND A DESTINATION INB ADDRESS OF 20K+1 LDX OTC01 MWW WITHIN THE USER AREA NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE FOR CHECK LDA TWKP1,I GET THE MOVED VALUE CCB AND PUT AN EXPECTED IN B CPA B COMPARE THE TWO JMP *+4 OVER THE ERROR LDX TWKP1 DID NOT COMPARE, GET ADDRESS JSB MWUR1 AND REPORT ERROR SPC 1 LDA PTRN1 PUT DIFFERENT PATTERNS STA TWN2K,I IN THE SOURCE AND CMA DESTINATION ADDRESSES STA TW2P1,I FOR NEXT CHECK UJP *+2 ENABLE THE USER MAP LDA TWNTK MOVE ONE WORD IN THE LDB TWKP1 SYSTEM AREA FROM LDX OTC01 MWW (PHYSICAL ADDRESSES 22K & 22K+1) NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE FOR VERIFICATION LDA TW2P1,I GET ACTUAL LDB PTRN1 AND EXPECTED PATTERNS CPA B COMPARE THE TWO JMP *+4 COMPARE OK, OVER ERROR LDX TW2P1 DID NOT COMPARE, GET ADDRESS JSB MWSR1 AND REPORT THE FAILURE. SPC 1 LDB TWNTK WRITE A MEMORY ADDRESS JSB MEMAD IN THE SOURCE&DESTINATION SJP *+2 ENABLE THE SYSTEM NOP CHANGE TO JMP *-N FOR LOOP/ LDA TWNTK GET SOURCE ADDRESS=20K LDB TWN1K AND DESTINATION=21K LDX OC100 MOVE THE 1ST 100 WORDS AT 20K MWW TO THE 1ST 100 WORDS AT 21K NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE FOR VERIFICATION LDB TWNTK GET ACTUAL ADDRESS LDA TWN1K AND ESTABLISH AN EXPECTED STA GPAD1 ADDRESS POINTER LDY NO100 AND XTHRU COUNTER OF 100 MWLP1 LDA GPAD1,I GET MOVED DATA CPA B COMPARE TO UNMOVED JMP *+4 COMPARE OK, ONWARD LDX GPAD1 WHOOPS, GET THE ADDRESS JSB MWUR1 AND REPORT THE ERROR NOP CHANGE TO JMP *-N FOR LOOP/ INB BUMP: SOURCE POINTER ISZ GPAD1 DESTINATION POINTER ISY XTHRU JMP MWLP1 DO UNTIL XTHRU=10 LDB TWN2K WRITE A MEMORY ADDRESS JSB MEMAD IN THE SYSTEM SOURCE & DEST. UJP *+2 ENABLE THE USER NOP CHANGE TO JMP *-N FOR LOOP/ LDA TWNTK MOVE 100 WORDS FROM THE LDB TWN1K SYSTEM ADDRESS 20K TO THE LDX OC100 21K ADDRESS MWW NOP CHANGE TO JMP *-N FOR LOOP/ DJP *+2 DISABLE TO ALLOW CHECK SPC 1 LDB TWN2K ESTABLISH A POINTER TO ACTUAL LDY NO100 AND XTHRU COUNTER LDA TWN3K AND FINALLY TO THE STA GPAD1 EXPECTED ADDRESSES MWLP2 LDA GPAD1,I GET MOVED WORD CPA B VALID? JMP *+4 YES, OVER THE ERROR LDX GPAD1 NO, GET THE ADDRESS JSB MWSR1 AND REPORT THE ERROR NOP CHANGE TO JMP *-N FOR LOOP/ INB BUMP THE ACTUAL ISZ GPAD1 AND EXPECTED POINTERS, ISY AND THE XTHRU COUNTERS JMP MWLP2 THEN DO AGAIN UNTIL ROLLOVER NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 JSB GINIT SETUP POINTER AND COUNTER MWLP3 LDA TWNTK WRITE A RECOGNIZABLE JSB CHPTN PATTERN IN THE SOURCE SJP *+2 TURN SYSTEM MAP ON LDA TWNTK MOVE THE CONTENTS LDB TWN2K OF USER PAGE 10 TO LDX OCT2K USER PAGE 11 MWW NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO CHECK LDA TWN4K POINT TO PHYSICAL PAGE 12 LDB TWNTK AND PAGE 10 LDX NON2K COUNT OF 2K JSB GCOMP COMPARE THE TWO PAGES JSB MWUR1 ERROR DETECTED, REPORT NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 ISY AND THE XTHRU JMP MWLP3 SPC 2 JSB GINIT SETUP POINTER AND COUNTER MWLP4 LDA TWN2K PUT THE RECOGNIZABLE PATTERN JSB CHPTN INTO THE SOURCE ADDRESSES UJP *+2 ENABLE THE USER LDA TWNTK MOVE 2K WORDS FROM PHYSICAL(11), LDB TWN2K SYSTEM(10) TO PHYSICAL(13), LDX OCT2K SYSTEM(11) MWW NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE M.E.M. FOR VERIFICATION LDA TWN6K VERIFY THAT THE WORDS MOVED LDB TWN2K WITHIN THE SYSTEM AREA LDX NON2K BY THE USER COMPLETED JSB GCOMP SUCESSFULLY JSB MWSR1 DID NOT, REPORT ERROR NOP CHANGE TO JMP *-N FOR LOOP/ ISY XTHRU??? JMP MWLP4 SPC 2 NOP JMP TST06,I SKP CHPTN NOP STB UPNTR STORE THE TARGET ADDRESS LDA GPCTR,I GET THE FIRST PATTERN ISZ GPCTR BUMP PATTERN TABLE POINTER LDB GPCTR,I GET THE SECOND PATTERN ISZ GPCTR AND BUMP THE POINTER AGAIN LDX NON2K INITIALIZE A 2K XTHRU .CHP. STA UPNTR,I STORE PATTERN 1 ISZ UPNTR AND PATTERN 2 STB UPNTR,I INTO THE TARGET ISZ UPNTR AREAS ISX INCREMENT XTHRU COUNTER JMP .CHP. DO AGAIN UNTIL XTHRU ROLLOVER JMP CHPTN,I EXIT AFTER 2K PAGE IS FILLED SPC 1 UPNTR OCT 0 GPCTR OCT 0 GTBLP DEF MWPT1 MWPT1 OCT 052525,052525,125252,125252 OCT 052525,125252,031463,146314 OCT 133333,044444,177777,000000 OCT 000377,177400,044444,125252 OCT 073567,135673,100201,100001 MFUR1 NOP STY SVPD4 LDY MFUR1 JSB ERMS,I DEF E122 LDY SVPD4 JMP .GCOM BACK TO COMPARE ROUTINE SPC 1 MFSR1 NOP STY SVPD4 SAVE XTHRU COUNTER LDY MFSR1 JSB ERMS,I DEF E123 LDY SVPD4 RESTORE XTHRU COUNTER JMP .GCOM BACK TO COMPARE ROUTINE SPC 1 MTUR1 NOP STY SVPD4 SAVE XTHRU COUNTER LDY MTUR1 JSB ERMS,I DEF E124 LDY SVPD4 SPC 2 SKP MTSR1 NOP STY SVPD4 LDY MTSR1 JSB ERMS,I DEF E125 LDY SVPD4 JMP .GCOM BACK TO COMPARE ROUTINE SPC 1 MWUR1 NOP STY SVPD4 LDY MWUR1 JSB ERMS,I DEF E126 LDY SVPD4 JMP .GCOM BACK TO COMPARE ROUTINE SPC 1 MWSR1 NOP STY SVPD4 LDY MWSR1 JSB ERMS,I DEF E127 LDY SVPD4 JMP .GCOM BACK TO COMPARE ROUTINE SPC 2 TWKP1 OCT 20001 TW2P1 OCT 22001 OTC01 OCT 1 TWNM5 OCT 17773 TW2M5 OCT 21773 GXTHR OCT 0 NO100 OCT -100 NDN07 OCT -7 NDN10 DEC -10 SKP GCOMP NOP STX GPAD1 INITIALIZE THE COUNTER STB GPAD3 ADDRESS POINTER (EXPECTED) STA GPAD2 ADD PATTERN GCOM. LDA GPAD2,I GET ACT PATTERN CPA GPAD3,I COMPARE A TO THE MOVED PATTERN JMP *+5 COMPARE OK, OVER THE ERROR LDX GPAD3 DID NOT COMPARE, LDB GPAD3,I GET THE ADDRESS AND EXPECTED JMP GCOMP,I AND USE ERROR EXIT. .GCOM ISZ GPAD3 INCREMENT THE POINTER ISZ GPAD2 BUMP ACT ADDRESS POINTER ISZ GPAD1 AND XTHRU? JMP GCOM. NO XTHRU, DO AGAIN. ISZ GCOMP XTHRU ROLLOVER, INCREMENT THE JMP GCOMP,I RETURN ADDRESS AND EXIT SPC 2 GPAD1 OCT 0 GPAD2 OCT 0 GPAD3 OCT 0 NON2K OCT -2000 SPC 1 MEMAD NOP LDX NON2K STB B,I STORE ADDRESS INTO CONTENTS INB BUMP ADDRESS ISX JMP *-3 JMP MEMAD,I YES, EXIT. SPC 2 GZERO NOP LDX NON2K INITIALIZE A 2K COUNT XTHRU CLA ZERO A STA B,I ZERO CONTENTS OF ADDRESS IN B INB NEXT ADDRESS ISX BUMP THE TIMES THRU COUNTER JMP *-3 JMP GZERO,I YES, EXIT HED MOVE BYTE INSTRUCTIONS * * * TST07 * * TEST 07VERIFIES PROPER OPERATION OF THE HARDWARE AND FIRMWARE * REQUIRED TO EXECUTE THE FOLLOWING INSTRUCTIONS: * * MBF - MOVE BYTES FROM THE ALTERNATE MAP * MBI - MOVE BYTES INTO THE ALTERNATE MAP * MBW - MOVE BYTES WITHIN THE ALTERNATE MAP * * THESE MACRO INSTRUCTIONS MOVE A STRING OF BYTES USING THE * ALTERNATE PROGRAM MAP AS THE SOURCE AND/OR DESTINATION. * * TESTHH IS COMPRISED OF THREE SUBTESTS, AND FOLLOWS THE TEST * PATHS USED IN TSTGG.(MOVE WORDS TEST) * * ERROR DETECTION AND REPORTING ARE THE SAME AS EXPLAINED IN * TSTGG. * SKP TST07 EQU * SPC 1 NOP JSB LODUP WRITE MAP REGISTERS LDA MWPT1 PLACE A RECOGNIZABLE PATTERN STA TWN2K,I IN BOTH THE DESTINATION (SYSTEM) LDA ASCAA AND IN THE STA TWNTK,I SOURCE (USR) SPC 1 SJP *+2 ENABLE THE SYSTEM LDA FORTK MOVE ONE BYTE FROM LDB FORTK THE SOURCE(USER) LDX OTC01 TO THE DESTINATION (SYSTEM AREA) MBF USING THE MBT INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 LDA TWN2K,I GET MOVED BYTE CPA ASCAU PROPER OPERATION? JMP HCTU1 YES, JMP TO FIRST CONTINUE LDB ASCAU NO, PROCESS THE ERROR LDX TWN2K GET THE DESTINATION LDY TWNTK AND SOURCE ADDRESSES JSB MBFU1 THEN REPORT THE FAILURE SPC 1 HCTU1 LDA ASCUA PUT ANOTHER PATTERN STA TWNTK,I IN THE USER DESTINATION ADDRESS UJP *+2 ENABLE THE USER AREA LDA FORTK SOURCE LDB FORTK DESTINATION LDX OTC01 COUNT MBF MOVE BYTES FROM SYSTEM NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE FOR TEST LDA TWNTK,I GET THE MOVED BYTE CPA ASCAA DID IT MOVE OK? JMP HCTU2 YES, OVER ERROR HANDLING STUFF LDB ASCAA NO, GET THE EXPECTED PATTERN LDX TWNTK AND THE DESTINATION LDY TWN2K AND SOURCE ADDRESSES JSB MBFS1 THEN REPORT THE ERROR SKP HCTU2 JSB GINIT HERE1 LDB TWNTK CHANGE THE DATA JSB CHPTN PATTERN IN THE SOURCE SJP *+2 ENABLE THE SYSTEM MAP LDA FORTK MOVE 100 BYTES LDB FORTK FROM THE USER MAP LDX OC101 TO THE SYSTEM MAP MBF USING THE MBF INSTRUCTION NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWN2K ACTUAL AND LDB TWNTK EXPECTED LDX OC101 COUNT JSB BYCMP COMPARE THE TWO JSB MBFU2 ERROR DETECTED, REPORT JSB MBFU1 ODD BYTE ERROR DETECTED ISY XTHRU ROLLOVER? JMP HERE1 NO, DO AGAIN SPC 1 JSB GINIT SETUP POINTER AND COUNTER HERE2 LDB TWN2K CHANGE THE PATTERN IN JSB CHPTN THE SOURCE ADDRESSES UJP *+2 ENABLE THE USER LDA FORTK SOURCE ADDRESS LDB FORTK DESTINATION ADDRESS LDX OC101 COUNT OF 100 MBF MOVE 100 BYTES NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWNTK GET THE DESTINATION LDB TWN2K AND SOURCE ADDRESS POINTERS LDX OC101 A COUNT, JSB BYCMP AND COMPARE THE MOVED BYTES JSB MBFS2 ERROR DETECTED, REPORT JSB MBFS1 ODD BYTE ERROR, REPORT ISY BUMP THE XTHRU JMP HERE2 DO AGAIN UNTIL ROLLOVER SKP LDB TWNTK ZERO THE DESTINATION JSB GZERO ADDRESS JSB GINIT SETUP POINTER AND COUNTER HERE5 LDB TWNTK PUT THE NEXT PATTERN JSB CHPTN INTO THE SOURCE ADDRESS SPC 1 SJP *+2 ENABLE THE SYSTEM LDA FORTK MOVE 101 LDB FORTK BYTES FROM LDX OC101 THE CURRENTLY ENABLED MBI TO THE ALTERNATE MAP NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWNTK AND LDB TWN2K COMPARE THE LDX OC101 SOURCE AND DESTINATION JSB BYCMP AREAS JSB MBTU2 FAILURE IN GCOMP JSB MBTU1 FAILURE, REPORT ISY XTHRU ROLLOVER? JMP HERE5 DO AGAIN UNTIL XTHRU SPC 1 JSB GINIT SETUP POINTER AND COUNTER HERE6 LDB TWN2K CHANGE THE JSB CHPTN SOURCE PATTERN UJP *+2 ENABLE THE USER MAP LDA FORTK MOVE 101 LDB FORTK BYTES LDX OC101 MAP TO THE MBI SYSTEM MAP NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWN2K DESTINATION LDB TWNTK AND SOURCE ADDRESS LDX OC101 BYTE COUNT JSB BYCMP COMPARE SOURCE AND DESTINATION JSB MBTS2 FAILURE JSB MBTS1 ERROR RETURN, REPORT ISY BUMP XTHRU JMP HERE6 DO AGAIN UNTIL ROLLOVER SKP JSB GINIT SETUP POINTER AND COUNTER HERE7 LDB TWNTK PLACE A PATTERN JSB CHPTN IN THE SOURCE LDB TWN1K AND ZERO THE JSB GZERO DESTINATION SJP *+2 ENABLE LDA FORTK AND LDB FOR2K MOVE LDX OC101 101 MBW BYTES NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWN1K MAKE SURE THAT LDB TWNTK THE SOURCE AND LDX OC101 DESTINATION JSB BYCMP ARE THE SAME JSB MBWU2 JSB MBWU1 ERROR DETECTED, REPORT IT ISY XTHRU ROLLOVER? JMP HERE7 NO, DO AGAIN SPC 1 JSB GINIT SETUP POINTER AND COUNTER HERE8 LDB TWN2K PUT A NEW PATTERN JSB CHPTN IN THE SOURCE, AND LDB TWN3K ZERO THE JSB GZERO DESTINATION UJP *+2 ENABLE THE USER LDA FOR4K MOVE 101 LDB FOR6K BYTES WITHIN LDX OC101 THE SYSTEM MBW MAP NOP CHANGE TO JMP *-N FOR LOOP/ SPC 1 DJP *+2 DISABLE TO VERIFY LDA TWN6K V LDB TWN7K E LDX OC101 R JSB BYCMP I JSB MBWS2 F JSB MBWS1 Y ISY JMP HERE8 DO AGAIN UNTIL ROLLOVER NOP JMP TST07,I EXIT SKP ASCAA OCT 040501 ASCAU OCT 040525 ASCUA OCT 052501 OC101 OCT 101 SPC 2 GINIT NOP LDA GTBLP STA GPCTR LDY NDN10 JMP GINIT,I SPC 2 BYCMP NOP STA HPAD1 SAVE ACT (SOURCE) STB HPAD2 SAVE EXPECTED (DESTINATION) STX HPAD3 BYTE COUNT STX A CALCULATED NOP CMA,INA THE WORD CMA COUNT RAR THE BYTE COUNT STA HPAD3 SAVE FOR LATER CMA,INA MAKE X REGISTER CAX NEGATIVE WORD COUNT NOP LDA HPAD1 RESTORE ADDRESS JSB GCOMP AND COMPARE WORDS JMP BYCMP,I ERROR EXIT FROM GCOMP ISZ BYCMP NORMAL RETURN FROM GCOMP NOP LDA HPAD3 GET DISPLACEMENT ADA HPAD2 CALCULATE THE ODD BYTE(ACT) LDA A,I NOW GET THE DATA BYTE AND UMASK STRIP THE UNNEEDED BYTE STA B PLACE IN B FOR COMPARE LDA HPAD3 GET THE DISPLACEMENT AGAIN ADA HPAD1 CALCULATE EXPECTED ODD BYTE ADDRESS CAX SAVE IN CASE OF ERROR LDA A,I GET THE DATA BYTE AND UMASK STRIP CPA B COMPARE?? JMP *+2 YES OVER ERROR JMP BYCMP,I NO USE ERROR EXIT ISZ BYCMP BUMP PAST ERROR EXIT