Digital PDFs
Documents
Guest
Register
Log In
AH-T096A-MC
September 1982
299 pages
Original
144MB
view
download
OCR Version
200MB
view
download
Document:
CVTSBA0 TSV05 TSV05 CTRL LT2 SEP 1982 bw
Order Number:
AH-T096A-MC
Revision:
000
Pages:
299
Original Filename:
CVTSBA0__TSV05__TSV05_CTRL_LT2__AH-T096A-MC__SEP_1982_gray.pdf
OCR Text
,TSVOSW, , Wt?VOS CERE LT2 __ CVTSBAO AH-TO96A-MC FICHE 1 OF 2 ;fl;;;luzramgmlam usn ve eo Tsvosi 7 T78V05 ETRL L12 - BNTSBRO. - AH-TO96A-MC 2 OF 2 _ FICHE ol wooemusa BDBEM@@ USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 2 SEQ 0001 .REM_ IDENTIFICATION ID: AC=TO95A=MC PRODUCT TITLE: CVTSBAO TSVOS CTRL LT2 AUTHOR : DICK GORDON MAINTAINER: SCOTT SNOWDON DATE: MARCH 08, 1982 THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR SOFTWARE ON EQUIPMENT THAT IS NOT AFFILIATED COMPANIES. THE USE OR RELIABILITY SUPPLIED BY DIGITAL COPYRIGHT (C) 1982,1982 BY DIGITAL EQUIPMENT CORPORATION THE FOLLOWING ARE TRADEMARKS OF DIGITAL EQUIPMENT CORPORATION: DIGITAL DEC PDP DECUS UNIBUS DECTAPE MASSBUS OF OR ITS MACRO M1113 1 25-MAY-82 09:19 PAGE 3 DD VNN =O NN NOWVIS WN=O O o PERFORMANCE AND PROGRESS REPORTS . W ERROR INFORMATION NS TABLE OF CONTENTS B USER DOCUMENTATION GENERAL INFORMATION PROGRAM ABSTRACT SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS DIAGNOSTIC HIERARCHY PREREQUISITES ASSUMPTIONS OPERATING INSTRUCTIONS COMMANDS SWITCHES FLAGS HARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DIALOGUE QUICK STARTUP PROCEDURE 5.0 DEVICE INFORMATION TABLES 6.0 TEST SUMMARIES 7.0 MAINTENANCE HISTORY SEQ 0002 USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 1.0 GENERAL INFORMATION 1.1 PROGRAM ABSTRACT PAGE & SEQ 0003 THIS IS A PDP=11/23 RESIDENT DIAGNOSTIC WHICH CHECKS THE FUNCTIONALITY OF A TSVO5 MAGTAPE SUBSYSTEM WHILE CONNECTED TO A PDP=11//23 SYSTEM (Q-BUS). THE PROGRAM PROVIDES ERROR FUNCTIONS THAT AID IN THE REPAIR OF MESSAGES THE DEVICE. WHICH IDENTIFY FAILING THIS DIAGNOSTIC CONSIST OF TWELVE TEST. TEST 1-9 ARE EXECUTED IN SEQUENCE. TEST 10-12 ARE STAND ALONE TEST WHICH ALLOW THE OPERATOR TO PERFORM SPECIFIC FUNCTIONAL TEST ON SCOPE LOOPS ON CERTAIN FUNCTIONS. THIS DIAGNOSTIC HAS BEEN WRITTEN FOR USE WITH THE DIAGNOSTIC RUNTIME SERVICES SOFTWARE (SUPERVISOR). THESE SERVICES PROVIDE THE INTERFACE TO THE OPERATOR AND TO THE SOF TWARE ENVIRONMENT. THIS PROGRAM CAN BE USED WITH XXDP+, ACT, APT, SLIDE AND PAPER TAPE. FOR A COMPLETE DESCRIPTION OF THE RUNTIME SERVICES, REFER TO THE XXDP+ USER'S MANUAL. THERE IS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES IN SECTION 2 OF THIS DOCUMENT. 1.2 SYSTEM REQUIREMENTS PDP=11/23 PROCESSOR AND MEMORY CAUTION:DIAGNOSTIC REQUIRES 32K WORDS OF MEMORY (28K USEABLE AND 4K RESERVED FOR 1/0 PAGE) TSVO5 MAGTAPE SUBSYSTEM (DRIVE AND CONTROLLER) CONSOLE TERMINAL PDP=11 DIAGNOSTIC SUPERVISOR (HSAAA.SYS VERSION 34 OR LATER) PDP=11 DIAGNOSTIC LOADER/MONITOR (XXDP+) 1.3 RELATED DOCUMENTS AND STANDARDS DIGITAL EQUIPMENT CORPORATION DOCUMENTS: 1. 2. 3. CHQUS XXDP+ USERS GUIDE: DATE: 14 JULY 1980. DOCUMENT NUMBER AC~F348E-MC TSVO5 TRANSPORT SUBSYSTEM USER'S GUIDE; DOCUMENT NUMBER EK-TSV05-UG-001 DATE: AUGUST 1982 TSVOS TRANSPORT SUBSYSTEM TECHNICAL MANUAL; DOCUMENT NUMBER EK=-TSV0S-TM-001 DATE: AUGUST 1982 4. TSVO5 TRANSPORT SUBSYSTEM INSTALLATION MANUAL; DOCUMENT NUMBER EK-TSVO0S=-IN-001 DATE: AUGUST 1982 1.4 DIAGNOSTIC HIERARCY PREREQUISITES FUNCTIONAL PDP=11/23 CENTRAL PROCESSOR AND MEMURY FUNCTIONAL CONSOLE TERMINAL FUNCTIONAL STANDALONE DIAGNOSTIC SUPERVISOR USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4~1 SEQ 0004 FUNCTIONAL DIAGNOSTIC LOADER/MONITOR (XXDP+) 1.5 ASSUMPTIONS ALL HARDWARE EXCEPT THE HARDWARE UNDER TEST IS ASSUMED TO WORK PROPERLY OR FALSE ERRORS CAN BE REPORTED. 5';‘571325 BEING USED ON THE TSOS TRANSPORT IS A KNOWN GOOD REEL CVTSAA HAS RUN SUCESSFULLY. 2.0 OPERATING INSTRUCTIONS THIS SECTION CONTAINS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES. FOR DETAILED INFORMATION, REFER TO THE XXDP+ USER'S MANUAL (CHQUS). 2.1 COMMANDS THERE ARE ELEVEN LEGAL COMMANDS FOR THE DIAGNOSTIC RUNTIME SERVICES (SUPERVISOR). THIS SECTION LISTS THE COMMANDS AND GIVES A VERY BRIEF DESCRIPTION OF THEM. THE XXDP+ USER'S MANUAL HAS MORE DETAILS. COMMAND START RESTART CONT INUE PROCEED EXIT ADD DROP PRINT EFFECT START THE DIAGNOSTIC FROM AN INITIAL STATE START THE DIAGNOSTIC WITHOUT INITIALIZING CONTINUE AT TEST THAT WAS INTERRUPTED (AFTER “C) CONTINUE FROM AN ERROR HALT RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY!) ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME DEACTIVATE A UNIT PRINT STATISTICAL INFORMATION (IF IMPLEMENTED DISPLAY FLAGS ZFLAGS BY THE DIAGNOSTIC = SECTION 4.0) TYPE A LIST OF ALL DEVICE INFORMATION TYPE THE STATE OF ALL FLAGS (SEE SECTION 2.3) CLEAR ALL FLAGS (SEE SECTION 2.3) A COMMAND CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE ''STA'* INSTEAD OF ‘'START''. 2.1.1 SO OPERATOR COMMANDS THE TSVO5 DIAGNOSTIC IS A PDP-11/23 PROGRAM. CHQUS XXDP+ DIAGNOSTIC USERS GUIDE,.DOCUMENT NUMBER AC-F348E-MC. BOOT THE DIAGNOSTIC MEDIA .R VTSB?? DIAG. RUN-TIME SERVICES REV D. APR 79 CvTS8-A-0 SUPERVISOR COMPATIBLE ALL LOADING AND RUNTIME INSTRUCTIONS CAN BE REFERENCED IN THE THE USER ENTRY IS IN QUOTES. USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4-2 SEQ 0005 *#**TSVO5 LOGIC DIAGNOSTIC##*+ 23&7 IS TSVOS5 2.2 SWITCHES THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF THE LEGAL SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH, IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER IS DESIGNATED BY SWITCH EFFECT /TESTS:LIST EXECUTE ONLY THOSE TESTS SPECIFIER IN /PASS :DDDDD /FLAGS:FLGS /EOP:DDDDD JUNITS:LIST ‘'DDDDD'’. THE LIST. LIST IS A STRING OF TEST NUMBERS, FOR EXAMPLE = /TESTS:1:5:7-10. THIS LIST WILL CAUSE TESTS 1,5,7,8,9,10 TO BE RUN. ALL OTHER TESTS WILL NOT BE RUN. EXECUTE DDDDD PASSES (DDDDD = 1 TO 64000) SET SPECIFIED FLAGS. FLAGS ARE DESCRIBED IN SECTION 2.3. REPORT END OF PASS MESSAGE AFTER EVERY DDDDD PASSES ONLY. (DDDDD = 1 TO 64000) TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE = /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12 (UNIT NUMBERS = 0-63) EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS :1000/EOP: 100 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH 5 WILL BE EXECUTED, 2) ALL UNITS WILL TESTED 1000 TIMES AND 3) THE END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES ONLY. A SWITCH CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE '‘/TES:1-5'' INSTEAD OF '//TESTS:1=5'". BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND . START RESTART CONT INUE TESTS PASS X X X PROCEED DROP ADD PRINT DISPLAY FLAGS ZFLAGS EXIT 2.3 X X FLAGS X X X X EOP UNITS X X X X © X X X FLAGS USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4-3 1 SEQ 0006 FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH AS LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET USING THE FLAGS SWITCH. FLAGS ARE ALSO CLEARED AFTER A START COMMAND UNLESS SET USING THE FLAG SWITCH. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR ALL FLAGS. WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. FLAG EFFECT HOE HALT ON ERROR = CONTROL IS RETURNED TO RUNTIME SERVICES COMMAND MODE LOOP ON ERROR INHIBIT ALL ERROR REPORTS INHIBIT ALL ERROR REPORTS EXCEPT FIRST LEVEL (FIRST LEVEL CONTAINS ERROR TYPE, NUMBER, PC, TEST AND UNIT) INHIBIT EXTENDED ERROR REPORTS (THOSE CALLED BY PRINTX MACRO'S) LOE IER* IBR* IXE* PRI DIRECT MESSAGES TO LINE PRINTER PNT PRINT TEST NUMBER AS TEST EXECUTES IDR UNATTENDED MODE (NO MANUAL INTERVENTION) INHIBIT STATISTICAL REPORTS (DOES NOT APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) INHIBIT PROGRAM DROPPING OF UNITS LoT LOOP ON TEST BOE UAM ISR "BELL'' ON ERROR ADR EXECUTE AUTODROP CODE *ERROR MESSAGES ARE DESCRIBED IN SECTION 3.1 SEE THE XXDP+ USER'S MANUAL FOR SPECIFY MORE THAN CONE FLAG WITH TO CAUSE THE PROGRAM TO LOOP ON AND TYPE A "BELL'' ON ERROR, YOU MORE DETAILS ON FLAGS. YOU MAY THE FLAG SWITCH. FOR EXAMPLE, ERROR, INHIBIT ERROR REPORTS MAY USE THE FOLLOWING STRING: /FLAGS:L : IER:BOE OE 2.4 HARDWARE QUESTIONS WHEN A DIAGNOSTIC IS STARTED, THE RUNTIME SERVICES WILL PROMPT THE USER FOR HARDWARE INFORMATION BY TYPING ‘‘CHANGE HW (L) 7' YOU MUST ANSWER *Y'* AFTER A START COMMAND UNLESS THE HARDWARE INFORMATION WAS BEEN *PRELOADED'' USING THE SETUP UTILITY (SEE CHAPTER 14 OF THE XXDP+ USER'S MANUAL). WHEN YOU ANSWER THIS QUESTION WITH A "'v'', THE RUNTIME SERVICES WILL ASK FOR THE NUMBER OF UNITS (IN DECIMAL). AFTER INITIAL STARTING OF THE PROGRAM (START COMMAND TO SUPERVISOR), THE DIAGNOSTIC THE PROGRAM WILL ISSUE THE '‘CHANGE HW?'' QUESTION TO ASK IF THE HARDWARE PARAMETERS ARE TO BE CHANGED (BY THE OPERATOR). r | . USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4=4 SEQ 0007 ON A ‘N'* (NO) RESPONSE TO THE °‘‘CHANGE HW?'‘' QUESTION, THE DIAGNOSTIC WILL RUN USING THE DEFAULT VALUES FOR ALL QUESTIONS. THE DEFAULT ADDRESS AND VECTOR ARE: TSBA/TSDB = 172520, VECTOR = 224 ON A *'v*' (YES) RESPONSE_TO THE QUESTION, THE FOLLOWING QUESTIONS WILL THEN BE ASKED TO ALLOW THE OPERATOR TO SELECT THE UNITS TO BE TESTED. A VALUE, IF PRESENT, LOCATED TO THE LEFT OF THE QUESTION MARK IS THE DEFAULT VALUE, THAT WILL BE TAKEN IF ONLY A CARRIAGE RETURN IS TYPED AS A RESPONSE. REQUIRED A "'(D)"" IN A QUESTION INDICATES AS A RESPONSE. THAT A DECIMAL SOLICITED. ANI(LYC xgoxmes THAT A LOGICAL RESPONSE IS # UNITS (D) ? NUMBER IS AN '‘(0)'' INDICATES AN OCTAL NUMBER IS BEING TO BE MADE: <ENTER THE NUMBER OF M7196 CONTROLLERS PRESENT TO BE TESTED> UNIT 0 DEVICE ADDRESS (0) 172520 ? <ENTER THE ADDRESS OF THE TSBA/TSDB REGISTER> VECTOR (0) 224 ? 6Eg;ER>ADDRESS OF INTERRUPT THE ADDRESS AND VECTOR QUESTIONS WILL BE ASKED FOR EACH OF THE NUMBER OF UNITS (CONTROLLERS) SPECIFIED IN THE *'# UNITS?'' QUESTION. LOGICAL UNIT NUMBERS ARE ASSIGNED IN ORDER, BEGINNING AT 0. UP TO FOUR UNITS CAN BE SELECTED FOR TESTING AS FOLLOWS: UP TO & TSVO5 CONTROLLERS PER 11/23 AND UP TO 2 DRIVES PER CONTROLLER 2.5 SOFTWARE QUESTIONS AFi_.. YOU HAVE ANSWERED THE HARDWARE QUESTIONS OR AFTER A RESTART OR CONTINUE COMMAND, THE RUNTIME SERVICES WILL ASK FOR SOF TWARE PARAMETERS. THESE PARAMETERS WILL GOVERN SOME DIAGNOSTIC SPECIFIC OPERATION MODES. YOU WILL BE PROMPTED BY ‘'CHANGE Sw (L) ?*' IF YOU WISH TO CHANGE ANY PARAMETERS, ANSWER BY TYPING “Y*', THE SOFTWARE QUESTIONS AND THE DEFAULT VALUES ARE DESCRIBED IN THE NEXT PARAGRAPH(S). THE FOLLOWING QUESTIONS ARE ASKED ON A START, RESTART, THEY ALLOW FLEXIBILITY IN THE WAY THE PROGRAM BEHAVES. OR CONTINUE. g CHANGE SW (L) ? <TYPE Y TO CAUSE THE FOLLOWING QUESTIONS TO BE ASKED> INHIBIT ITERATIONS (L) N ? <TYPE °Y'* TO PREVENT MULTIPLE ITERATIONS OF CERTAIN TESTS. THIS CAUSES EACH TEST PASS TO RUN AS QUICKLY AS POSSIBLE. ONLY QUICK=RUNNING LOGIC TESTS USE MULTIPLE ITERATIONS.> | USER DOCUMENTATION MACRO M1113 2.6 25-MAY-82 09:19 PAGE 4-5 SEQ 0008 EXTENDED P-TABLE DIALOGUE WHEN YOU ANSWER THE HARDWARE QUESTIONS, YOU ARE BUILDING ENTRIES IN A TABLE THAT DESCRIBES THE DEVICES UNDER TEST. THE SIMPLEST WAY TO BUILD THIS TABLE IS TO ANSWER ALL QUESTIONS FOR EACH UNIT TO BE TESTED. IF YOU HAVE A MULTIPLEXED DEVICE SUCH AS A MASS STORAGE CONTROLLER WITH SEVERAL DRIVES OR A COMMUNICATION DEVICE WITH SEVERAL LINES, THIS BECOMES TEDIOUS SINCE MOST OF THE ANSWFRS ARE REPETITIOUS. TO ILLUSTRATE A MORE EFFICIENT METHOD, SUPPOSE YOU ARE TESTING A DEVICE, THE XY11. SUPPOSE THIS DEVICE CONSISTS OF A CONTROL MODULE WITH EIGHT UNITS (SUB-DEVICES) ATTACHED TO IT. THESE UNITS ARE DESCRIBED BY THE OCTAL NUMSERS 0 THROUGH 7. THERE IS ONE HARDWARE PARAMETER THAT CAN VARY AMONG UNITS CALLED THE Q-FACTOR. THIS Q-FACTOR MAY BE 0 OR 1. BELOW IS A SIMPLE WAY TO BUILD A TABLE FOR ONE XY11 WITH EIGHT UNITS. # UNITS (D) ? B8<(R> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? O0<CR> Q=FACTOR (0) 0 ? 1<CR> UNIT 2 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 1<CR> Q=FACTOR (0) 1 ? O0<CR> UNIT 3 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 2<CR> Q-FACTOR (0) 0 ? <CR> UNIT 4 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 3<CR> Q-FACTOR (0) 0 ? <(R> UNIT 5 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 4<(R> Q-FACTOR (0) 0 ? <CR> UNIT 6 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 5<(R> Q=FACTOR (0) 0 ? <(R> UNIT 7 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 6<CR> Q-FACTOR (0) 0 ? 1<CR> UNIT 8 CSR ADDRESS (0) 160000<CR> ~ USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 SUB-DEVICE # (0) ? Q=FACTOR (0) 1 ? PAGE 4-6 SEQ@ 0009 7<CR> <CR> NOTICE THAT THE DEFAULT VALUE FOR THE Q=FACTOR CHANGES WHEN A NON-DEFAULT RESPONSE IS GIVEN. BE CAREFUL WHEN SPECIFYING MULTIPLE UNITS! AS YOU CAN SEE FROM THE ABOVE EXAMPLE, THE HARDWARE PARAMETERS DO _NOT VARY SIGNIFICANTLY FROM UNIT TO UNIT. THE PROCEDURE SHOWN IS * NOT VERY EFFICIENT. THE RUNTIME SERVICES CAN TAKE MULTIPLE UNIT SPECIFICATIONS HOWEVER. %E;;SRgUILD THE SAME TABLE USING THE MULTIPLE SPECIFICATION # UNITS (D) ? B<(CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 0,1<CR> Q-FACTOR (0) 0 ? 1,0<CR> UNIT 3 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 2=5<CR> Q-FACTOR (0) 0 ? O<CR> UNIT 7 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 6,7<CR> Q=FACTOR (0) 0 ? 1<CR> AS YOU CAN SEE IN THE ABOVE DIALOGUE, THE RUNTIME SERVICES WILL BUILD AS MANY ENTRIES AS IT CAN WITH THE INFORMATION GIVEN IN ANY ONE PASS THROUGH THE QUESTIONS. IN THE FIRST PASS, TWO ENTRIES ARE BUILT SINCE TWO SUB-DEVICES AND Q-FACTORS WERE SPECIFIED. THE SERVICES ASSUME THAT THE CSR ADDRESS IS 160000 FOR BOTH SINCE IT WAS SPECIFIED ONLY ONCE. BUILT. *'="' IN THE SECOND PASS, FOUR ENTRIES WERE THIS IS BECAUSE FOUR SUB-DEVICES WERE SPECIFIED. THE CONSTRUCT TELLS THE RUNTIME SERVICES TO INCREMENT THE DATA FROM THE FIRST NUMBER TO THE SECOND. 2, 3, 4 AND 5 WERE SPECIFIED. IN THIS CASE, SUB-DEVICES (IF THE SUB-DEVICE WERE SPECIFIED BY ADDRESSES, THE INCREMENT WOULD BE BY 2 SINCE ADDRESSES MUST BE ON AN EVEN BOUNDARY.) THE CSR ADDRESSES AND Q-FACTORS FOR THE FOUR ENTRIES ARE ASSUMED TO BE 160000 AND O RESPECTIVELY SINCE THEY WERE ONLY SPECIFIED ONCE. SPECIFIED IN THE THIRD PASS. THE LAST TWO UNITS ARE THE WHOLE PROCESS COULD HAVE BEEN ACCOMPLISHED IN ONE PASS AS SHOWN BELOW. # UNITS (D) ? B8<CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB=-DEVICE # (0) ? 0-7<CR> Q@-FACTOR (00 0 ? 0,1,0,,,.1,1<CR> USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4~7 AS YOU CAN SEE _FROM THIS EXAMPLE, SEQ@ 0010 NULL REPLIES (COMMAS ENCLOSING A'NULL FIELD) TELL THE RUNTIME SERVICES TO REPEAT THE LAST REPLY. 2.7 QUICK START=UP PROCEDURE (XXDP+) TO START=UP THIS PROGRAM: 1. BOOT XXDP+ 2. GIVE THE DATE AND ANSWER THE LSI AND 50HZ (IF THERE IS A CLOCK) QUESTIONS 3. TYPE 'R NAME'', WHERE NAME IS THE NAME OF THE BIN OR BIC FILE FOR THIS PROGRAM 4. TYPE "'START" 5. ANSWER THE ''CHANGE HW'' QUESTION WITH ‘'‘v*’ 6. ANSWER ALL THE HARDWARE QUESTIONS 7. ANSWER THE "'CHANGE SW'' QUESTION WITH ‘W' WHEN YOU FOLLOW THIS PROCEDURE YOU WILL BE USING ONLY THE DEFAULTS FOR FLAGS AND SOF TWARE PARAMETERS. THESE DEFAULTS ARE DESCRIBED IN SECTIONS 2.3 AND 2.5. 3.0 ERROR INFORMATION 3.1 TYPES OF ERROR MESSAGES THERE ARE THREE LEVELS OF ERROR MESSAGES THAT MAY BE ISSUED BY A DIAGNOSTIC: GENERAL, BASIC AND EXTENDED. GENERAL ERROR MESSAGES ARE ALWAYS PRINTED UNLESS THE ''IER'' THE GENERAL ERROR MESSAGE IS OF NAME TYPE NUMBER ERROR MESSAGE FLAG IS SET (SECTION 2.3). THE FORM: ON UNIT NUMBER TST NUMBER PC:XXXXXX +WHERE; NAME = DIAGNOSTIC NAME TYPE = ERROR TYPE (SYS FATAL, DEV FATAL, HARD OR SOFT) NUMBER = ERROR NUMBER UNIT NUMBER = 0 = N (N IS LAST UNIT IN PTABLE) TST NUMBER = TEST AND SUBTEST WHERE ERROR OCCURRED PC:XXXXXX = ADDRESS OF ERROR MESSAGE CALL BASIC ERROR MESSAGES ARE MESSAGES THAT CONTAIN SOME ADDITIONAL INFORMATION ABOUT THE ERROR. THESE ARE ALWAYS PRINTED UNLESS THE “IER OR "IBR' FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GENERAL MESSAGE. EXTENDED ERROR MESSAGES CONTAIN SUPPLEMENTARY ERROR INFORMATION SUCH AS REGISTER CONTENTS OR GOOD/BAD DATA. THESE ARE ALWAYS PRINTED UNLESS THE "IER'’, “IBR' OR "'IXR"* FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GENERAL ERROR MESSAGE AND ANY ASSOCIATED BASIC ERROR MESSAGES. USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4-8 SEQ 0011 3.2 SPECIFIC ERROR MESSAGES BELOW ARE SAMPLE ERROR MESSAGES. EACH ERROR MESSAGE OF ERRORS DETECTED BY THIS DIAGNOSTIC. REPRESENTS DIFFERENT TYPES ERROR MESSAGE EXAMPLE 1 THIS ERROR IS INDICATIVE OF AN INCORRECT REGISTER OR STATUS WORD RETURNED TO THE DIAGNOSTIC. THE FIRST PART DEFINES THE TEST FUNCTION AND UNIT THAT FAILED. THE SECOND PART PRIOVIDES THE REGISTER BITS AND THEIR MNEMONICS FOR THE lgfi?fiRECT REGISTER OR STATUS WORDS. THE THIRD PART IS THE EXPECTED AND RECEIVED TST: 016 FIFO EXERCISER TEST CVTSB HRD ERR 01610 ON UNIT 00 TST 016 SuB 002 PC: 040624 FIFO STATUS (IN WORD 9) INCORRECT AFTER WRITE FIFO TAPE BUS SIGNALS IN WORD #8: - DESIGNATOR <BIT PARERR<15> IRESV2<14> IRESVI<13> IEOT <12> 1IDENT<11> ICER <10> IFMK TAPE BUS SIGINALS IN WORD #9: DATMIS<?> ILW<6> <9> IHER <8> ISPEED<7?> OUTRDY<S> IRDY<6> IONL<S> ILDP<4> IRWD<2> IFBY<I> IFPT<0> INRDY<4> MESSAGE BUFFER ADDRESS = 047352 MESSAGE BUFFER CONTENTS: WORD #0 EXPD: 100020 RECV: WORD #1 EXPD: 000012 RECV: WORD #2 EXPD: 000000 RECV: WORD #3 EXPD: 000010 RECV: WORD #4 EXPD: 000000 RECV: WORD #5 EXPD: 000000 RECV: WORD #6 EXPD: 000000 RECV: WORD #7 EXPD: 000000 RECV: WORD #8 EXPD: 070217 RECV: WORD #9 EXPD: 000074 RECV: 100020 000012 000000 000010 000000 000000 000000 000000 070217 000034 XOR: XOR: XOR: XOR: XOR: XOR: XxOR: XxOR: XOR: XOR: 000000 000000 000000 000000 000000 000000 000000 000000 000000 000040 ERROR MESSAGE EXAMPLE 2 THIS ERROR SHOWS A FATAL FUNCTION ERROR FROM THE TAPE DRIVE,IN THIS ‘:;TgfiCEoefgggisgVERAfllf ERROR OCCURED WHICH INDICATES THAT THE CONTROLLER CVTSB HRD ERR 00159 ON UNIT 00 TST 001 SuB 005 PC: 026202 TSSR NOT CORRECT AFTER SPACE RECORDS COMMAND TSSR = 100214 TSSR BITS SET: SC,SSR TERMINATION CLASS CODS = UNRECOVERABLE ERROR PACKET ADDRE;S = 0264 _ UTER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4~9 SEQ@ 0012 ERROR MESSAGE EXAMPLE 3 THIS ERROR SHOWS THAT THE MOTION BIT DID NOT GET SET WHILE DOING A REWING WITH EXTENDED FEATURES MODE ENABLED. CVTSB HRD ERR 00121 ON UNIT 0C TST 001 _SuB 002 PC: 023306 MOT BIT (XSTO) NOT SET DURING REWIND (EXTENDED FEATURES MODE) EXPD: 000312 RECV: 000112 XOR: 000200 4.0 PERFORMANCE AND PROGRESS REPORTS AT THE END OF EACH PASS, THE PASS COUNT IS GIVEN ALONG WITH THE TOTAL NUMBER OF ERRORS REPORTED SINCE THE DIAGNOSTIC WAS STARTED. THE "EOP'' SWITCH CAN BE USED TO CONTROL HOW OFTEN THE END OF PASS MESSAGE IS PRINTED. SECTION 2.2 DESCRIBES SWITCHES. SUCCESSFUL RUN EXAMPLE (PDP-11/23) DR>STA/FLA:PNT : HOE : UAM UNITS (D) ? 1 UNIT 0 DEVICE ADDRESS (0) 172520 ? <CR> VECTOR (0) 224 ? <CR> CHANGE SW (L) ? N<CR> THE ABOVE COMMAND WILL SWITCHES ON WHICH ARE START THE DIAGNOSTIC. THE COMMAND HAS THREE ‘PRINT EACH TEST NBR AS EXECUTED'' , "HALT ON ERROR'* AND “RUN IN UNATTENDED MODE'’. NOTE:THE UAM FLAG SHOULD BE USED TO PREVENT TEST 10-12 FROM BEING EXECUTED UNLESS THE OPERATOR WANTS THESE SPECIFIC TEST. TST: TST: TST: TST: TST: TST: TST: TST: TST: TST: TST: TST: 001 INITIALIZE #3 TEST 002 BASIC WRITE SUBSYSTEM MEMORY TEST 003 DMA MEMORY ADDRESSING TEST 004 RAM EXERCISER TEST 005 FIFO EXERCISER TEST 006 STATIC TRANSPORT BUS CHECK 007 TRANSPORT BUS INTERFACE CHECK VIA LOOPBACK TEST 008 READ/WRITE DATA PARITY CHECK TEST 009 MISCELLANEOUS LOGIC CHECKS TEST 010 STAND-ALONE MANUAL INTERVENTION NOT EXECUTED TEST 011 STAND-ALONE CONFIGURATION TYPEOUT NOT EXECUTED TEST 012 STAND-ALONE SCOPE LOOPS NOT EXECUTED TEST ! ! P e——————————— ——————— | | . USER DOCUMENTATION MACRO M1113 | ! 0 ERRORS | | { 25-MAY-82 09:19 PAGE 4-10 SEQ 0013 NOTE: THE DIAGNOSTIC WILL RUN CONTINUQUSLY UNLESS A PASS LIMIT HAS BEEN SPECIFIED WITH THE ''/PASS:'* SWITCH. PROGRAM RUN TIMES THE AVERAGE RUN TIMES OF THE PROGRAM ARE LISTED BELOW.THESE FIGURES TO BE USED AS A GUIDE. THE TIMING PROCESSOR WITH A LA-34 CONSOLE. WAS DONE ON A PDP-11/23 ARE THE PROGRAM RUNS IN TWO MODES; NO ITERATIONS AND DEFAULT MODE. IN THE NO ITERATIONS MODE, EACH TEST IS RUN ONCE, WITH NO ITERATIONS. IN THE DEFAULT MODE EACH TEST IS REPEATED BY THE NUMBER OF TIMES INDICATED BY THE ITERATION COUNT. = NO ITERATIONS MODE IS SELECTED BY ANSWERING THE INHIBIT ITERATIONS QUESTION WITH A *v*' TEST NUMBER 1 2 3 4 5 6 7 8 9 N/1 SECS. 15 ITER SECS 50 DEF SECS. 35 110 540 430 1 1 6 1 1 10 1 15 17 10 120 3 15 17 5 0 9 110 2 12 13 THE TIMES REQUIRED TO RUN TESTS 1 Q.v. DEFAULT (YES). THROUGH 9 IN ONE COMMAND: 2 MINS 19 SECONDS 11 MINS 35 SECONDS 5.0 DEVICE INFORMATION TABLES WHENEVER THE PROGRAM IS STARTED, VIA THE STA(RT) COMMAND, THE SUPERVISOR REQUESTS THE FOLLOWING P-TABLES PARAMETER : CHANGES CHANGE HW (L) ? # UNITS (D) ? <ENTER THE NUMBER OF M7196 CONTROLLERS PRESENT TO BE TESTED> UNIT 0 DEVICE ADDRESS VECTOR (0) 224 ? (0) 172520 ? <ENTER THE ADDRESS OF THE TSBA/TSDB REGISTER> <ENTER ADDRESS OF VECTOR> INTERRUPT THE ADDRESS AND VECTOR QUESTIONS WILL BE ASKED FOR EACH OF THE NUMBER OF USER DOCUMENTATION MACRO M1113 UNITS 25-MAY-82 09:19 PAGE 4-11 SEQ 0014 (CONTROLLERS) SPECIFIED IN THE *'# UNITS?'' QUESTION. LOGICAL UNIT UP TO FOUR UNITS CAN BE NUMBERS ARE ASSIGNED IN ORDER, BEGINNING AT 0. SELECTED FOR TESTING. IN ADDITION, ON A START, RESTART OR CONTINUE THE SUPERVISOR §SEESS§S CHANGES TO THE SOFTWARE OPERATING PARAMETERS, AS CHANGE SwW (L) ? 6.0 TEST 1: TEST SUMMARIES INITIALIZE AFTER WRITE CHARACTERISTICS TEST DESCRIPTION: THIS TEST VERIFIES THAT A HARDWARE INITIALIZE COMMAND INVOKED AFTER A WRITE CHARACTERISTICS COMMAND SETS UP THE COMMAND, MESSAGE AND CHARACTERISTIC IMAGE BLOCKS IN THE CONTROLLER RAM CORRECTLY. TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND THIS TEST VERIFIES THAT THE WRITE SUBSYSTEM MEMORY COMMAND WITH A BSELO SELECT CODE OF 0 (NO-OP) EXECUTES CORRECTLY. IT ALSO VERIFIES THAT A WRITE SUBSYSTEM MEMORY COMMAND WITH A NON-ZERO MODE FIELD IS REJECTED. THE TEST FURTHER VERIFIES MICROPROGRAM COMMAND DECODING AND HANDLING SEQUENCES. TEST 3: DMA MEMORY ADDRESSING THIS TEST VERIFIES THAT THE CONTROLLER CAN PROPERLY ADDRESS AND ACCESS ALL AVAILABLE CPU MEMORY (OTHER THAN THAT OCCUPIED BY THE DIAGNOSTIC AND DIAGNOSTIC SUPERVISOR CODE) FOR BOTH READING (DATI) AND WRITING (DATO). VERIFIED ARE THE LSI=11 BUS DRIVERS FOR ALL AVAILABLE ADDRESS LINES. UP TO THIS POINT ONLY 16 BITS HAVE BEEN USED FOR DMA TRANSFERS. LA AR A A it it i e I I I ITITIILL) CAUTION THE LSI BUS DRIVERS FOR ALL AVAIL..BLE ADDRESS LINES ARE ONLY CHECKED WHEN RUNNING ON A 11/23B SYSTEM WITH MORE THAN 128K WORDS OF MEMORY ! AR TEST AR RN AR AR AR AR AR AR RN AR AN R AR &: RAM EXERCISER TEST RN N R AR AR RN AR ARRRAR RN RN RAN USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4-12 THIS TEST USES THE READ AND WRITE RAM (BOTH SINGLE AND 256 LOCATIONS) SELECT CODES OF THE WRITE SUBSYSTEM MEMORY COMMAND TO EXERCISE THE CONTROLLER'S RAM MEMORY AND DMA LOGIC TEST S: EXTENDED FEATURES SWITCH AND TIMERS A,B TEST DESCRIPTION: THIS TEST VERIFIES THE INVERT EXTENDED FEATURES FUNCTION CAN LOGICALLY INVERT THE EXTENDED FEATURES SWITCH AND THAT THE INTERNAL TIMERS A AND B OPERATE CORRECTLY. TEST 6: FIFO EXERCISER TEST DESCRIPTION: THIS TEST USES THE WRITE SUBSYSTEM MEMORY COMMAND TO VERIFY THE CONTROLLER'S FIFO AND ASSOCIATED STATUS AND CONTROL LOGIC. TEST 7: STATIC TRANSPORT BUS INTERFACE TEST TEST DESCRIPTION: WRITE TO TSSR REGISTER TO SOFT INITIALIZE THE CONTROLLER DO WRITE CHARACTERISTICS TO CHECK FOR EXTENDED FEATURES SWITCH IF EXTENDED FEATURES HARDWARE SWITCH CLEAR THEN: DO WRITE SUBSYSTEM WRITE MISCELLANEOUS TO SET EXTENDED FEATURES. DO WRITE CHARACTERISTICS TO SELECT RESERVED UNIT 7 DO A WRITE SUBSYSTEM READ STATUS IF ANY TRANSPCRT INTERFACE SIGNALS ARE ASSERTED THEN PRINT ERROR TEST 8: TRANSPORT BUS INTERFACE LOOPBACK TEST TEST DESCRIPTION: THIS TEST VERIFIES THE CONTROLLER'S TRANSPORT BUS DRIVERS, RECEIVERS, AND SIGNAL LOOPBACK LOGIC. NOTE THAT THE STATIC TRANSPORT BUS TEST MUST HAVE RUN CORRECTLY FOR THIS TEST TO PROVIDE MEANINGFUL RESULTS. TEST 9: READ/WRITE DATA PARITY TEST TEST DESCRIPTION: THIS TEST VERIFIES THAT THE WRITE DATA PARITY GENERATOR AND THE READ DATA PARITY CHECKER OPERATE PROPERLY. THE TRANSPORT BUS SIGNAL LOOPBACK MODE IS ENABLED AND A SET WRONG PARITY FUNCTION IS EXECUTED. THEN VARIOUS WRITE SUBSYSTEM MEMORY FUNCTIONS ARE PERFORMED TO WRITE DATA TO AND FROM THE FIFO IN LOOPBACK MODE. THE PROGRAM THEN CHECKS TO INSURE A READ DATA PARITY ERROR _OCCURRED. A RESET FIFO IS DONE AND THE READ DATA PARITY SEQ 0015 USER DOCUMENTATION MACRO M1113 25-MAY-82 09:19 PAGE 4-13 2 SEQ 0016 ERROR BIT IS AGAIN TESTED TO INSURE IT CLEARED. FINALLY A CLEAR WRONG PARITY FUNCTION IS DONE AND IT IS VERIFIED THE DATA WORD CAN PASS IN LOOPBACK MODE WITHOUT SETTING READ DATA PARITY ERROR. TEST 10: MANUAL INTERVENTION THE MANUAL INTERVENTION TEST IS A STANDALONE ROUTINE (NOT REALLY A ‘‘TEST'") THAT ALLOWS THE OPERATOR TO CHECK OUT VARIOUS ELEMENTS AND FUNCTIONS OF THE SUBSYSTEM THAT CANNOT BE MANIPULATED BY THE PROGRAM ALONE. WHEN THIS ROUTINE IS STARTED, IT FIRST PRINTS OUT A MENU OF SELECTABLE SUBTESTS AND THEN WAITS FOR THE OPERATOR TO TYPE IN A SELECTION CODE. THE ONLY WAYS TO EXIT THIS ROUTINE AND RETURN TO THE DIAGNOSTIC SUPERVISOR ARE BY TYPING <CTRL=C> OR SELECTING CODE 6. SELECTION CODES AND SUBROUTINES ARE: OV W =O CODE TEST 11: ROUTINE HELP. PRINTS THIS MENU. TURN ON ALL M7196 LED INDICATORS TURN OFF ALL M7196 LED INDICATORS OFFLINE/ONLINE ATTENTION TEST WRITE-PROTECT TEST PRINT EXTENDED TRANSPORT STATUS EXIT (RETURN TO SUPERVISOR) CONF IGURATION TYPEOUT THIS IS A STANDALONE ROUTINE THAT PRINTS OUT ON THE CONSOLE TERMINAL THE CONFIGURATION OF THE M7196 MODULE AND TSVO5 SUBSYSTEM. SPECIFICALLY, THE FOLLOWING INFORMATION IS PRESENTED: 1.0 STATE OF THE EXTENDED FEATURES SWITCH ON THE M7196: ON (EXTENDED FEATURES ENABLED) OR OFF (EXTENDED FEATURES DISABLED), 2.0 STATE OF THE BUFFERING ENABLE SWITCH ON THE M7196: ON (BUFFERING ENABLED) OR OFF (BUFFERING DISABLED), 3.0 MICROCODE REVSION LEVEL OF THE M7196, 4.0 NUMBER OF TAPE TRANSPORTS CONNECTED TO THE CONTROLLER, 5.0 UNIT SELECT CODE AND STATE (ONLINE/OFFLINE, WRITE ENABLED/PROTECTED) OF EACH CONNECTED TRANSPORT. IN ADDITION, THE PROGRAM WILL INDICATE, FOR EACH ON-LINE TRANSPORT, WHETHER OR NOT IT IS EQUIPPED WITH THE EXTENDED TAPE STATUS READOUT FEATURE. TEST 12: SCOPE LOOPS THIS IS A _STANDALONE ROUTINE PROVIDING A NUMBER OF TIGHT '‘SCOPE LOOPS’* USEFUL FOR DEBUGGING BASIC REGISTER ACCESS PROBLEMS WITH THE M7196 MODULE. THESE SCOPE LOOPS CAN BE USED WHEN THE NORMAL LOOP ON ERRORTM OR “LOOP ON TEST (SUBTEST)TM FACILITIES DON'T MACRO M1113 25-MAY-82 09:19 PAGE 4=14 2 SEEM TO ALLOW THE OPERATOR TO ZERO IN A PROBLEM IN THE EARLY TESTS (I1.E, THE HARDWARE MAY NOT BE RESPONDING TO A REGISTER ACCESS, CAUSING A BUS ERROR TRAP, EVEN THOUGH THE DEVICE ADDRESS SELECTED BY THE PROGRAM MATCHES THE CONFIGURATION SET UP IN THE mgw&oxp SWITCHES). CODE NOWVSWN=O USER DOCUMENTATION THE FOLLOWING MENU OF SCOPE LOOPS ARE SCOPE LOOP HELP. PRINT THIS MENU. TSBA READ ACCESS TSSR READ ACCESS INITIALIZE (TSSR WRITE ACCESS) TSDB HIGH BYTE WRITE ACCESS TSDB LOW BYTE WRITE ACCESS TSDB MAINTENANCE-MODE WORD WRITE ACCESS TSDBX (TSSR HIGH BYTE) WRITE ACCESS (EXTENDED FEATURES SWITCH MUST BE ON 8 TO USE SELECTION CODE 7) EXIT (RETURN TO SUPERVISOR) FOR SCOPE LOOPS THAT WRITE INTO REGISTERS, THE PROGRAM PROMPTS THE OPERATOR FOR THE DATA TO BE WRITTEN,LIMITS ON THE DATA PATTENS ARE 0-377, TYPING <RETURN> CAUSES AN EXIT FROM THE SCOPE LOOP BACK TO MENU LEVEL. 7.0 MAINTENANCE HISTORY REVISION A = MARCH 1982 SEQ@ 0017 25-MAY-82 09:19 28 gg 002000 TSV2:: NN n ~Noswnes W o~V = 88 b 000000 2 MACRO M1113 PAGE 7 LTITLE NN = =OVWN—=O MW TSV2 = PROGRAM HEADER SEQ 0018 TSV2 = PROGRAM HEADER +SBTTL PROGRAM HEADER +MCALL svC +ENABLE «NLIST .ENABL =2000 SVC s INITIALIZE SUPERVISOR MACROS LC BEX,CND ABS,AMA BGNMOD V2 144 : THE PROGRAM HEADER IS THE INTERFACE BETWEEN : THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. 29 002000 30 882000 : : LSNAME LSREV:: 060 000000 001217 101342 101474 002156 002166 102004 000000 000000 000000 000000 002124 LSDEPO: : LSUNIT:: LSTIML:: LSHPCP:: LSSPCP:: LSHPTP: : LSSPTP:: : LSLADP: LS$STA:: L$CO:: LSDTYP:: LSAPT:: LSDTP:: POINTER BGNSW,BGNSFT BGgAU.BGNDU.BGNRPT HEADER (VTSB,A,0,6 55 :DIAGNOSTIC NAME LASCII LASCII LASCII LASCII LASCII /¢C/ /7v/ /17 /S/ /8/ LASCII /A/ LASCII 70/ WORD O .WORD 655. .WORD LSHARD .WORD LSSOFT LWORD LSHW .WORD LSSW +WORDP LSLAST .WORD 0 WORD O WORD O WORD 0 .WORD LSDISPATCH BYTE BYTE BYTE 0 0 0 sREV ISION LEVEL :0 :NUMBER OF UNITS sLONGEST TEST TIME sPOINTER TO H.W. QUES. ;POINTER TO S.W. QUES. :PTR . TO DEF. H.W. PTABLE :PTR . TO S.W. PTABLE ;DIAG. END ADDRESS sRESERVED FOR APT STATS sDIAGNOSTIC TYPE sAPT EXPANSION :PTR . TO DISPATCH TABLE TSV2 = PROGRAM HEADER PROGRAM HEADER 000000 000000 000000 003 003 000000 000000 000000 003402 022664 000000 000000 022352 022450 000000 003410 104035 000000 021556 022636 022556 021546 000000 000000 000000 MACRO M1113 25-MAY-82 09:19 LSPRIO:: LSENV]:: LSEXP1:: LSMREV:: LSEF:: L$SPC:: : LSDEVP: : LSREPP: LSEXPS:: LSEXPS:: LSAUT:: LS$DUT:: LSLUN:: LSDESP:: LSLOAD:: LSETP:: LSICP:: LSCCP:: LSACP:: L$PRT:: LSTEST:: LSDLY:: LSHIME:: PAGE 7-1 WORD O WORD O WORD O .BYTE .BYTE (CSREVISI CSEDIT WORD WORD 0 O WORD O .WORD LSDVTYP .WORD LSRPT .WORD O .WORD O .WORD LSAU .WORD LS$DU .WORD 0 .WORD LSDESC EMT ESLOAD WORD O .WORD LSINIT .WORD LSCLEAN .WORD LSAUTO .WORD LSPROT WORD O WORD O .WORD O SEQ@ 0019 sDIAGNOSTIC RUN PRIORITY sFLAGS DESCRIBE HOW IT WAS SETUP sEXPANSION WORD 6SVC REV AND EDIT # ;DIAG. EVENT FLAGS : POINTER TO DEVICE TYPE LIST ;PTR. TO REPORT CODE :PTR. TO ADD UNIT CODE sPTR. TO DROP UNIT CODE sLUN FOR EXERCISERS TO FILL ;POINTER TO DIAG. DESCRIPTION ;GENERATE SPECIAL AUTOLOAD EMT sPOINTER TO ERRTBL ;PTR. TO INIT CODE ;PTR. TO CLEAN-UP CODE :PTR. TO AUTO CODE :PTR. TO PROTECT TABLE s TEST NUMBER sDELAY COUNT ;PTR. TO HIGH MEM TSV2 = PROGRAM HEADER DISPATCH TABLE MACRO M1113 25-MAY-82 09:19 PAGE 8 +SBTTL H : DISPATCH TABLE 144 : THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. s IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. 000014 023446 DISPATCH 12 WORD 12 : LSDISPATCH: TI WORD LWORD T2 .WORD T3 WORD 40 002152 077662 LWORD +WORD «WORD .WORD JWORD .WORD MWORD .WORD T4 TS5 T6 17 T8 T9 T10 TN T12 SEQ@ 0020 TSV2 = PROGRAM HEADER MACRO M1113 DEFAULT HARDWARE P=-TABLE 25-MAY-82 09:19 25 .SBTTL 44 45 46 PAGE 9 2 , DEFAULT HARDWARE P-TABLE = : THE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF : THE TEST=DEVICE PARAMETERS. THE STRUCTURE OF THIS TABLE 2; : IS IDENTICAL TO THE STRUCTURE OF THE RUN=TIME P-TABLE. 49 002154 002154 002156 000003 51 002156 52 002160 53 002162 54 002164 002164 172520 000224 000200 50 002156 ’ LSHW:: DFPTBL:: L10000: BGNHW DFPTBL :DEFAULT HARD=-P-TABLE LWORD WORD "WORD ENDHW 172520 224 PRIO4 : 1ST (OF 2) REGISTERS. + INTERRUPT VECTOR : INTERRUPT PRIORITY. .WORD L10000-LS$HW/2 SEQ 0021 TSV2 = PROGRAM HEADER SOF TWARE P-TABLE MACRO M1113 25-MAY-82 09:19 +SBTTL PAGE 10 SEQ 0022 SOFTWARE P-TABLE 144 : THE SOFTWARE P-TABLE CONTAINS THE VALUES OF THE PROGRAM ; PARAMETERS THAT CAN BE CHANGED BY THE OPERATOR. 000004 LSSW:: BGNSW .WORD SFPTBL L10001-L8SW/2 176 [4 I 72 002176 000000 000000 TRANSTST:: NOITS:: WORD WORD 0 0 000017 000310 : LERRMAX: :: GERRMAX ENDSW L10001: .WORD .WORD 15, 200. ENDMOD LR TR TR 64 002166 65 002170 66 67 68 002172 69 002174 70 §02176 PR PNT SFPTBL:: ENABLE TEST OF TRANSPORT(S) INHIBIT ITERATION OPTION. IF =1 «..NZ = INHIBIT ITERATE. LOCAL (PER TEST) ERROR LIMIT GLOBAL (PER UNIT) ERROR LIMIT N= NN Vb OVWo~N TSV3 = GLOBAL AREAS SOF TWARE P-TABLE 002176 002176 MACRO M1113 25-MAY-82 09:19 TSV3:: 23 24 25 26 27 28 PAGE 13 SEQ 0023 TSV3 = GLOBAL AREAS +TITLE .SBTTL GLOBAL EQUATES SECTION BGNMOD TSV3 .SBTTL GLOBAL EQUATES SECTION e ; ; THE GLOBAL EQUATES SECTION CONTAINS PROGRAM EQUATES THAT : ARE USED IN MORE THAN ONE TEST. 29 33 002176 EQUALS : GET STANDARD EQUATES. : BIT DIFINITIONS BIT15== 100000 BIT14== 40000 B8IT13== 20000 B8IT12== 10000 BIT11== 4000 BIT10== 2000 BIT09== 1000 BIT08== 400 BIT07== 200 BIT06== 100 BITO0S== 40 BITO4== 20 BIT03== 10 BIT02== 4 BIT01== 2 BIT00== 1 BIT9== BIT8== BIT7== BITé== BITS== BITé== BIT3== BIT2== 8IT1== BITO== BIT09 BIT08 BITO07 BIT06 BITO0S BIT04 BITO3 BIT0?2 BITO1 BIT00 -_,TThmTTTTT 000040 000037 000036 000035 000034 Ssss MMMMMee. s, : EVENT FLAG DEFINITIONS EF32:EF17 RESERVED FOR SUPERVISOR TO PROGRAM COMMUNICATION «START== «RESTART== .CONTINUE== «NEW== . . 31. 30. 29. s : ¢ ¢ : START COMMAND WAS 1SSUED RESTART COMMAND WAS ISSUED CONTINUE COMMAND WAS ISSUED A NEW PASS HAS BEEN STARTED A POWER-FAIL/POWER-UP OCCURRED TSV3 = GLOBAL AREAS GLOBAL EQUATES SECTION MACRO M1113 25-MAY-82 09:19 PAGE 13-1 2 SEQ 0024 : PRIORITY LEVEL DEFINITIONS PRIO7== 340 PRIO6== 300 PRIOS== 240 PRIO4== 200 PRIO3== 140 PRIO2== 100 PRIO1== 40 PRI0O== 0 sOPERATOR FLAG BITS 34 35 002176 000250 177572 177574 177576 172516 EVL== LOT== ADR== IDU== ISR== UAM== BOE== PNT== PR]== IXE== IBE== IER== LOE== HOE== 4 10 20 40 100 200 400 4000 10000 20000 40000 100000 .SBTTL KT11 MEMORY MANAGEMENT DEF INITIONS 1000 2000 ;*KT11 VECTOR ADDRESS MMVEC= 250 :*KT11 STATUS REGISTER ADDRESSES SRO= 177572 177574 SR1= SR2= SR3= .IF N8 177576 172516 s*USER "'I'' PAGE DESCRIPTOR REGISTERS UIPDRO= UIPDR1= UIPDR2= UIPDR3= UIPDR4= UIPDRS= UIPDRé= UIPDR?= .IF N8 177600 177602 177604 177606 177610 177612 177614 177616 ;*USER ‘D"’ PAGE DESCRIPTOR REGISTORS UDPDRO= 177620 UDPDR1= UDPDR2= 1776?4 177 UDPDR6= 177634 UDPDR7= 177636 sDEFINE MEMORY MANAGEMENT REGISTERS TSV3 = GLOBAL AREAS MACRO M1113 MEMORY MANAGEMENT DEF INITIONS 25-MAY-82 09:19 PAGE 13-2 +ENDC s *USER *'I'' PAGE ADDRESS REGISTERS UIPARO= 177640 UIPAR1= UIPAR2= UIPAR3= UIPAR4= UIPARS= UIPARG= U{:AR?- 177642 177644 177646 177650 177652 177654 177656 s *USER 'D"PAGE ADDRESS REGISTERS UDPARO= 177660 UDPAR1= UDPAR2= UDPAR3= UDPAR4= UDPARS= UDPARG= UDPAR7= +ENDC -ENDC .IF NB 177662 177664 177666 177670 177672 177674 177676 : *SUPERVISOR '‘I'* PAGE DESCRIPTOR REGISTERS SIPDRO= 172200 SIPDR1= 172202 SIPDR2= 172204 SIPDR3= 172206 SIPDR4= 172210 SIPDRS= 172212 SIPDR6= 172214 S{:ng= 172216 s*SUPERVISOR ‘D'* PAGE DESCRIPTOR REGISTERS SDPDRO= SDPDR1= SDPDR2= SDPDR3= SDPDR4= SDPDRS= SDPDRé= ngg?7= 172220 172222 172224 172226 172230 172232 172234 172236 s*SUPERVISOR ‘'I'* PAGE ADDRESS REGISTERS SIPARO= SIPAR1= SIPAR2= SIPAR3= SIPARG= SIPARS= SIPARG= S}:A=g= 172240 172242 172244 172246 17225) 172252 172254 172256 +*SUPERVISOR ‘D'' PAGE ADDRESS REGISTERS SDPARO= 172260 SDPAR1= 172262 SDPAR2= 172264 SEQ 0025 25-MAY-82 09:19 SDPAR3= SDPARG= SDPARS= SDPARG= SDPAR?= “ENDC 172300 173302 173304 173306 173310 123312 173314 173316 172340 172342 173344 172346 172350 173352 173354 173356 } . PAGE 13-3 172266 172970 172972 172274 172976 «KERNEL *'I'* PAGE DESCRIPTOR REGISTERS KIPDRO= 172300 KIPDR1= 173302 KIPDR2= 173304 KIPDR3= 173306 KIPDR4= 172310 KIPDRS= 173312 KIPDR6= 172314 KIPDR?= 173316 .IF NB s*KERNEL 'D'* PAGE DESCRIPTOR REGISTERS KDPDRO= 172320 KDPDR1= 172392 KDPDR2= 173324 KDPDR3= 173326 KDPDR4= 172330 KDPDRS= 172332 KDPDR6= 172334 KDPDR7= 172336 :«KERNEL *'I'* PAGE ADDRESS REGISTERS KIPARO= 172340 KIPAR1= 173342 KIPAR2= 172344 KIPARS= 172346 KIPARG= 172350 KIPARS= 173352 KIPARG= 172354 KIPAR?= 172356 i SKERNEL “D's PAGE ADDRESS REGISTERS KDPARO= 172360 KDPAR1= KDPAR2= KDPAR3= KDPAR4= KDPARS= KDPARG= KDPAR?= +ENDC 172362 172364 172366 172370 172372 172374 173376 ) SEQ 0026 I Py TSV3 = GLOBAL AREAS MACRO M1113 MEMORY MANAGEMENT DEF INITIONS .SBTTL ] PAGE 14 SEQ 0027 TSVO5 REGISTER AND PACKET DEFINITIONS : SOME GENERAL EQUATES. 000004 0 177520 ERRVEC= ; POINTER TO ERROR VECTOR FOR BUS TIME OUT. . TTIVEC= TTICSR= : INTERRUPT VECTOR FOR CONSOLE INPUT ; BUS ADDRESS OF CONSOLE INPUT : CONSOLE INPUT DATA BUFFER . L @ TTIBFR= BDVPCR= ; BDVI1 PAGE CONTROL REGISTER L) i+ ;BIT DEFINITIONS FOR TSSR REGISTER 100000 SC= BIE= SCE= RMR= NXM= NBA= HIADDR= SSR= 000016 B8 8 8 8 B8 8 B 8 OFL= BITé FATERR= BIT4!BITS TERCLS= BIT3!BIT2!BITI sSPECIAL CONDITION sBUS INTERFACE ERROR sSANITY CHECK ERROR sMODIFICATION REFUSED sNONEXISTANT MEMORY ERROR sNEED BUFFER ADDRESS sEXTENDED ADDRESS BITS :SUB SYSTEM READY sOFF LINE BIT sFATAL TERMINATION ERROR CODES s TERMINATION CODES + :BI;TBEFINITIONS FOR EXTENDED STATUS REGISTER 0 100000 040000 20000 sTAPE MARK DETECTED sRECORD LENGTH SHORT sLOGICAL END OF TAPE sRECORD LENGTH {ONG sWRITE LOCK ERROR :NON_EXECUTABLE FUNCTION s ILLEGAL COMMAN : ILLEGAL ADDRESS :TAPE IN MOTION XSOIE= BIT XSOPED= BIT XSOWLK= BIT Xs080T= BIT XSOEOT= BIT : TRANSPORT ON LINE s INTERRUPT ENABLE sVOLUME CHECK BIT sPHASE ENCODED DRIVE ;WRITE LOCKED ;BEGINNING OF TAPE ;END OF TAPE 4 ;8 IT gsleITIONS FOR EXTENDED STATUS REGISTER 1 1 XST [~ TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 TSVO5 REGISTER AND PACKET DEFINITIONS TSV3 = GLOBAL AREAS MACRO M1113 TSVO5 REGISTER AND PACKET DEF INITIONS 97 98 99 100 101 102 103 104 105 106 107 108 109 110 1M 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 100000 040000 020000 017375 000400 000002 25-MAY-82 09:19 PAGE 14~1 SEQ 0028 X1.DLT = BIT1S X1.SPARE= BIT14 sDATA LATE sNOT USED X1.RBP X1.UNC JREAD BUS PARITY ERROR JUNCORRECTABLE DATA OR HARD ERROR X1.COR X1.MBZ = BIT13 sCORRECTABLE DATA ERROR = BIT12+BIT11+BIT10+BITO+BIT7+BIT6+BITS+BIT4+BIT3+BIT2+BITO :ALWAYS 0 = BITS8 = BIT ;0 sBIT DEFINITIONS FOR EXTENDED STATUS REGISTER 2 :(XST2) 100000 040000 035400 002000 00200 000100 000077 000007 X2.0PM = BIT1S sOPERATION IN PROGRESS (TAPE MOVING) X2.RCE = BIT14 sRAM CHECKSUM ERROR X2.SPARE= BIT13+BIT12+BIT11+BIT9+BIT8 ;NOT USED BY TSVOS (ALWAYS=0) X2.WCF = BIT10 sWRITE CLOCK FAILURE (FIFO NOT EMPTIED BY TRANSPORT) X2.EXTF = BIT?7 sIF WRITE CHAR CMD THEN = EXTENDED FEATURES ENABLED X2.BUFE = BITé6 sIF WRITE CHAR CMD THEN = BUFFERING ENABLED X2.REV = 000077 sIF WRITE CHAR CMD THEN = MICROCODE REVISION LEVEL X2.UNIT = BIT2+BIT1+BITO ;IF GET STATUS THEN = CURRENTLY SELECTED UNIT NO. 44 :BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 3 : (XST3) 177400 000200 00010 000040 000020 000010 000006 000001 X3.MDE = 177400 X3.SPARE= BIT7 X3.0P1 = BITé X3.REV = BITS X3.TRF = BIT4 X3.0Ck = BIT3 X3.M82 =BIT2+BIT1 X3.RIB = BITO :MICRO-DIAGNOSTIC ERROR CODE sNOT USED BY TSV0S JOPERATION INCOMPLETE sREVERSE s TRANSPORT RESPONSE FAILURE JDENSITY CHECK JNOT USED ALWAYS 0 sREVERSE INTO BOT i :Bi;rgsFINITIONS FOR EXTENDED STATUS REGISTER & 100000 040000 020000 017400 000377 X4 .HSP X4.RCE X4.TSM X4.MBZ X4.WRC = BIT15 sHIGH SPEED = BIT14 sRETRY COUNT EXCEEDED = BIT13 : TRANSPORT SPECIAL MODE = BIT12+BIT11+BIT10+BIT9+BIT8 ;NOT USED ALWAYS 0 = 000377 sWRITE RETRY COUNT FIELD 24 :TSSR TERMINATION CODES (BIT 0-2) 000006 000006 TSREJ= UNREC= 32 6 3 :DEVICE REGISTER OFFSETS s COMMAND REJECTED sUNRECOVERABLE ERROR oW 154 155 156 000000 000 000003 TSBA== TSDB== TSBAH== TSDB TSSR TSSRH== PAGE 14-2 0 0 1 1 2 SEQ 0029 ;TSDB/TSBA REGISTER ;TSDB/TSBA REGISTER HIGH BYTE sTSSR REGISTER :TSSR REGISTER HIGH BYTE 3 ;0 o ; TSDB ADDRESS BIT DEFINITIONS 000003 A1716 = BIT1+BITO sADDRESS BITS 17:16 ARE IN 1:0 : COMMAND DEF INITIONS 000017 000013 000012 000011 000010 000006 000005 000004 000001 =SV O=NWwW~N CONNNNNNNNN i+ P.GETSTAT P.INIT P.CONTROL P.FORMAT P.POSITION P.WRTSUB P.WRTCHAR P.READ sGET STATUS sINITIALIZE CONTROL COMMANDS s FORMAT :POSITION .SUBSYSTEH WRITE WRIT UEI;E CHARACTERISTICS i+ i+ P. B IT15 sBUFFER AVAIL FOR CONTROLLER BIT1 sCLEAR VOLUME CHECK B8 Im REVERSE SEQUENCE OF DATA BITS 8 Im : SWAP BYTES IN MEMORY B8 Im 'BIT10!BIT9!BIT8 ;EXTENDED COMMAND MODE 8 117 : INTERRUPT ENABLE Té 'BI :PACKET HEADER TYPE (ALWAYS=0) - P.ACK ll‘-“ nuwnnn 100000 040000 020000 010000 007400 000200 000140 000037 FIELD sMAJOR COMMAND FIELD v e & & 0 0 oononONON » » %% NN nunnn PC.RELEASE PC.REWIND PC.NOOP PC.IEREW PC.ERASE JRELEASE BUFFER JREWIND sNO=0P JREWIND IMMEDIATE INTERRUPT JSECURITY ERASE o 000000 000400 001000 002000 002400 VISN—=O : CONTROL COMMAND MODE CODES N 00 0o Co : COMMAND PACKET HEADER WORD BIT DEFINITIONS 203 CONYROLLER RAM DEF INITIONS sCHARACTERISTICS 10 DATA BEGIN RAM ADDRESS sCHARACTERISTICS 10 DATA END RAM ADDRESS s COMMAND PACKET BEGIN RAM ADDRESS COMMAND PACKET END RAM ADDRESS 000234 RMMSGEND= 234 :MESSAGE BUFFER BEGIN RAM ADDRESS :MESSAGE BUFFER END RAM ADDRESS | TSV3 = GLOBAL AREAS MACRO M111 25-MAY-82 09:19 TSVO5 REGISTER AND PACKET DEFINITIONS TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 TSVOS REGISTER AND PACKET DEFINITIONS 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 %g? 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 000006 000010 000012 000014 000016 XST0== XST1== PAGE 14-3 SEQ 0030 6 8, sEXTENDED STATUS REGISTER O (WORD 4) sEXTENDED STATUS REGISTER 1 (WORD 5) XS12==10. XST3== 12. XSTé== 14, sEXTENDED STATUS REGISTER 2 (WORD 6) sEXTENDED STATUS REGISTER 3 (WORD 7) sEXTENDED STATUS REGISTER 4 (WORD 8) 000002 000004 000006 PKLOW 000010 EXBCNT=10 PKHI PKBCNT =2 =4 = 6 sLOW ORDER CHARACTERISTIC DATA POINTER sHIGH ORDER CHARACTERISTIC DATA POINTER sNUMBER OF BYTES IN DATA PACKET sNUMBER OF BYTES IN EXTENDED DATA PACKET i+ sDATA PACKET OFFSETS FOR WRITE SUBSYTEM COMMAND 000000 000001 000002 000004 BSELO BSEL1 SEL2 SELDATA =0 =1 =2 = & ;BYTE :BYTE sWORD JWORD 0 1 2 3 i+ sBSELO SELECT CODES FOR WRITE SUBSYSTEM COMMAND 000000 000001 000002 000003 000005 000006 000007 000010 000011 000020 000021 000022 000023 0000 PW.NOP PW.RDRAM PW.WTRAM PW.RFIFO PW.WFIFO PW.RDSTAT =0 =1 =2 =3 =4 =5 PW.WCTL PW.WFMT =6 =7 PW.WNPR =1n PW.RDEXT = 24 PW.WMISC PW.D22 PW.D11 PW.D13 PW.NO1311 =10 = = = = 20 21 22 23 :NO-0P :READ RAM ;WRITE RAM :READ FIFO :WRITE FIFO :READ STATUS sWRITE TAPE CONTROL sWRITE TAPE FORMAT sWRITE MISCELLANEOUS sWRITE NPR _CONTROL :DO MICROTEST 22 :DO MICROTEST 11 :D0 MICROTEST 13 sDISABLE MICROTEST 11 AND 13 sREAD EXT. TAPE STATUS (NOT SUPPORTED BY ALL TRANSPORTS o .8 EL1 CODES FOR WRITE TAPE CONTROL 000200 000100 WC.IFAD WC.I0TAD = BIT? = BITé sIFAD = FORMATTER ADDRESS sITADO = TRANSPORT ADDRESS BIT 0 MACRO M1113 268 269 270 000040 000020 000010 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 2N 292 293 29 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 31 312 313 314 315 316 317 318 319 320 321 322 323 324 000002 000001 000004 PAGE 144 WC.ITTAD WC.ISRESV WC.IREW WC.IRWU = BITS = BIT4 = BIT3 = BIT? wC.1G0 = BITO WC.IFEN SEQ 0031 sITAD1 = TRANSPORT ADDRESS BIT 1 :IRESVS = RESERVED #5 :IREW ~ = REWIND ¢IRWU IFEN = BIT1 = REWIND AND UNLOAD = FORMATTER ENABLE BSEL1 CODES FOR WRITE FORMAT 000200 000100 000040 000020 000010 000004 000002 000001 HF IHISP WF. IWRT = BIT? = BITé WF . IWFM WF.IEDIT WF . IERASE = BIT4 = BIT3 = BIT? WF . IREV WF . I3RESV WF . I4RESV sIHISP sIWRT = BITS ¢IREV sIWFM_ sIEDIT = HIGH SPEED = WRITE = REVERSE = WRITE FILE MARK = EDIT :IERASE - ERASE = BIT = BITO sIRESV3 = RESERVED #3 sIRESV4 = RESERVED #4 MISCELLANEOUS SUBCOMMAND 000200 000020 000010 000006 000001 S EXT MS.RSFIFO MS.RSTAPE MS.ATTN ns RSD = = = = = BIT? BIT4 BIT3 BIT2! BITO s INVERT SENSE OF EXTENDED FEATURES SWITCH sRESET FIFO AND INPUT PARITY ERRORR sRESET TAPE STATUS IN 2 FLIP-FLOPS SATTENTION TRIGGER FIELD sRESET TIMER A,B THEN DELAY TIMES IN SEL2 ns ATTN SUBCODES 000000 000002 000004 0000 ' MSA.NOP = Q%2 :NO=-OP (NOTHING TRIGGERED) sSIMULATE ON-LINE/OFF=LINE TRANSISTION MSA.VOL = 1% MSA.NRAM= 2+ MSA.FRAM= 3«2 i+ sFORCE NON-FATAL RAM ERROR (FORCES ERRCODE 54) sFORCE FATAL RAM ERROR (CAUSES SCE TO SET) : WRITE SUBSYSTEM WRITE NPR BSEL1 BIT DEFINITIONS 000200 000100 000040 000020 NP. IR NP.OUT NP.LOOP NP.WRP i+ = BIT? s INTERRUPT REQUEST (0-1 TRANSITION) s TAPE DATA DIRECTION OUT (0= IN) sENABLE TRANSPORT LOOPBACK sWRITE CORRECT PARITY (SET=0 TO WRITE WRONG) = BITé = BITS = BITé ) NSNS NON N e BITO — d wd b = NOWES WD Dy by e o B OUT RDY H IN RDY H TIMER A FLAG H ] e sy By B HORD #9 BYTE 2 ?CTA IN MISS ] ] ) oo By By ] e B B e oo feefeofocfeofoofoofoefoeloo]o] nununnunnunnnn - — . 000200 000100 000040 000020 000010 000004 000003 100000 040000 0200 01 @ : READ STATUS MESSAGE BUFFER BIT DEFINITIONS wm r44 25-MAY=-B2 09:19 (UNDEFINED) TIMER B FLAG H :WORD #8 BYTE 1 PARIN W IRESV2 IRESV1 IEOT L O - TSV3 = GLOBAL AREA3 TSVOS REGISTER AND PACKET DEFIN!TIONS x x m = ~eeerrroIIx — mo om o = ovm -<<O<VOr<M>D UORD #8 BYTE 0 e LTy Sy iy iy Sy Sy W, [« O=NWH VIO N0 O — — g Bmg SEQ 0032 e s G 3 e e e e i g Bt Bt B b e e bt b G e DOODODODODODDODDODO®D gy PAGE 14-5 nmuununwnnnnnen 0 o & e k2 2 © 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 OOOOOOOO—‘—‘—‘—' 325 326 327 328 329 330 331 332 333 334 335 336 337 338 VLUV KWK TSV3 = GLOBAL AREAS MACRO M1113 25-MAY=82 ©9:19 TSVOS REGISTER AND PACKET DEFINITIONS TSV3 = GLOBAL AREAS MACRO M1113 SPECIAL MACROS AND OPDEFS. 25-MAY-82 09:19 PAGE 15 +SBTTL SEQ 0033 SPECIAL MACROS AND OPDEFS. ¢ sSAVE GENERAL REGS 1 TO 5 «MACRO JSR .ENDM SAVREG RS ,REGSAV HACRO TO FORCE AN ERROR HASgO FORCERROR +IIF NDF LISTALL, LIST .IF B8 NOTSSR +ENDC NLIST TAG,NOTSSR .NLIST MoV TSSR(RS) ,R1 sREAD TSSR MOV FORCER,FORCER ;IS FORCER SET? BNE TAG .l}; NDF LISTALL, sBR IF YES (LEAVE C BIT ALONE) .LIST .ENDM i+ : MACRO TO FORCE AN EXIT 7O AVOID SECTION ITERATIONS WILL EXIT TO A LABEL IF FORCER IS NEGATIVE SO TO FORCE_ERRGRS AND EXIT ON 1 ERROR SET FORCER TO 177777 TO FORCE ERRORS AND ITERATIONS SET FORCER TO 1. .ztfgo FORCEXIT I{{;tuor LISTALL, .NLIST ) MOV B8MI TAG FORCER,FORCER TAG NLIST JIIF NDF LISTALL, SLIST .Enon ;IS FORCER NEGATIVE? *BR IF YES .LIST HACRO TO INCREMENT ERROR COUNTS .HACRO «NLIST NEXT.ERRNO ssso.1IF NDF LISTALL, .NLIST ERRNO=ERRNO+1 .iisllf NDF LISTALL, .LIST .ENDM M 3 PAGE 15-1 - 25-MAY-82 09:19 SEQ 0034 sMACRO TO PERFORM XOR .MACRO MOV 0 BIC 8IC 8IS .ENDM 407 000000 EN=0 .SBTTL XOR A.B A,=(SP) 8.(SP) A.B (SP)+,B FORCER : INITIALIZE ERROR NUMBER = FORCE ERROR FLAG THE FOLLOWING LOCATIONS MAY BE PATCHED BY THE USER TO OBTAIN THE RESULTS DESCRIBED FOR EACH. 002176 000000 FORCER: : 0 s FORCE TYPE ALL HARD ERRORS (THE ONES CALLED - : = BY THE MACRO ''IFERROR'). AN ERROR NEED NOT = s = EXIST, JUST ASSUME AND TYPE THE MESSAGE. T TSV3 = GLOBAL AREAS MACRO M1113 SPECIAL MACROS AND OPDEFS. MACRO M1113 25-MAY-82 09:19 .SBTTL PAGE 16 SEQ 0035 GLOBAL DATA SECTION THE GLOBAL DATA SECTION CONTAINS DATA THAT ARE USED IN MORE THAN ONE TEST :THE FOLLOWING DATA ARE SET FOR EACH UNIT AT INIT TIME. 'SINGLE UNIT DEFAULTS (LISTED) ARE IN THE DEFAULT P-TABLE. EPRTSH UNITN:: O 0 sPRINT SWITCH sUNIT # UNDER TEST. QVP:: WORD 0 sQUICK VERIFY FLAG. IVEC:: IPRI:: .WORD «WORD 224 PRIO4& s INTERRUPT VECTOR ;INTERRUPT PRIORITY. LOOPCNT: : WORD 0 WORD 0 CSRADDR: : TSTCNT:: WORD WORD DEVCNT: : WORD INTRECV:: EXTFEA:: - BENBSW:: WORD JWORD WORD FATFLG:: EXPD: : .WORD O sADDRESS OF CSR FOR CURRENT DEVICE O sNUMBER OF TESTS RUN IN THIS PASS O sNUMBER OF DEVICE UNDER TEST O O O 0 ¢REMAINING ITERATION COUNT FOR TEST sSET IF FATAL ERROR IS DETECTED IN TEST sSET _IF TAPE INTERRUPT WAS RECEIVED sEXTENDED FEATURES SOF TWARE SW 0 OFF ; 1=0N :BUFFER ENABLE SWITCH SW 0=OFF ; 1=0N sEXPECTED RAM DATA FOR PRAMPKT ROUTINE RECV:: .WORD RAMSIZ:: RCVHIADD: : RCVLOADD: : COUNT:: WORD JWORD WORD WORD O O 0 O TSTFLAG: : TSTPTR:: PRMNO: : WORD WORD LWORD O 0 O sTEST FLAG WORD sTSTBLK POINTER sPRINT ROUTINE TEMP RECMSG: : .BLKB 100. sRECEIVED MESSAGE BUFFER DATA ERRHI :: ERRLO: : RAMDATA: : DATA:: EXPMSG: : 461 002632 WORD WORD TMPBFR: : WORD WORD .BLKW WORD .BLkB .BLkB O 0 O 16. 0 100. 80. :RECEIVED RAM DATA FOR PRAMPKT ROUTINE :HIGH ADDRESS MEMORY ERROR sLOW ADDRESS MEMORY ERROR sDATA READ FROM RAM PACKET OR MESSAGE BUF AREA sRAM DATA SIZE FOR PRAMPKT ROUTINE sRECEIVED BUFFER HIGH ADDRESS sRECEIVED BUFFER LOW ADDRESS sTEST COUNT PATTERN sTEST DATA sEXPECTED MESSAGE BUFFER DATA : TEMPORARY STORAGE FOR PRINT « TSV3 = GLOBAL AREAS GLOBAL DATA SECTION MACRO M1113 = TEST DATA TABLE 25-MAY-82 09:19 222 .SBTTL pr PAGE 17 TSTBLK SEQ 0036 = TEST DATA TABLE P’ 22; sTHIS TABLE CONTAINS TEST DATA USED IN SEVERAL TESTS 298 sIN SEQUENCE THE DATA IS: 471 472 473 474 3 3 3 : 477 478 479 002752 480 002752 481 002754 482 002756 483 002760 484 002762 485 002764 486 002766 487 002770 488 002772 489 002774 490 002776 491 003000 492 003002 493 003004 494 003006 495 003010 496 003012 497 003014 498 003016 499 003020 500 003022 i= 2;2 501 003024 502 003026 503 003030 504 003032 505 003034 S07 003040 S08 003042 509 003044 510 003046 511 003050 512 003052 513 003054 514 003056 515 0 516 3 000000 177777 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 177776 177775 177773 177767 177757 177737 177677 177577 177377 176777 175777 173777 167777 157777 137777 077777 125252 052525 003062 TSTBLK:: ALL ZEROS ALL ONES WALKING ONES WALKING ZEROS ALTERNATING ONES AND ZEROS WORD WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD LWORD .WORD .WORD .WORD WORD .WORD .WORD .WORD .WORD LWORD .W0 TBLEND==, O 177777 BITO BIT1 BIT2 BIT3 BIT4 BITS BITé BIT? BITS8 BITY9 BIT10 BIT11 BIT12 BIT13 BIT14 BIT1S “(CBITO “(CBIT1 “(BIT?2 “(BIT3 “(BIT4 “(CBITS “(BIT “(BIT? “(BITS8 “(BITY9 “(CBIT10 “CBIT11 “(CBIT12 “(BIT13 “(CBIT14 “CBIT1S 125252 052525 sALL ZEROS sALL ONES +DATA FOR WALKING ONES sDATA FOR WALKING ZEROS JALTERNATING ONES, ZEROS JALTERNATING ONES, ZERO OPPOSITE FROM ABOVE O - TSV3 = GLOBAL AREAS TSTBLK TSV3 = GLOBAL AREAS MACRO M1113 GLOBAL ENVIRONPENT STORAGE 25-MAY-82 09:19 5§23 003072 ggg *STORAGE FOR DEVICE REGISTERS 000000 000000 100000 000000 000000 000000 526 §27 003112 000000 NODEV: : LWORD O 000000 TEMP1 : : NO'D 0 :SOME TEMP LOCATIONS. 000000 000000 000000 000000 XXCOHH FREE:: FRESIZ:: FREEMI: .WORD -WORD -WORD .WORD 0 0 0 0 JXXDP+ COMM BLOCK POINTER. s1ST FREE MEMORY ADDRESS... '...AND SIZE (IN WORDS). ;LAST WORD IN FREE SPACE 533 003122 534 003124 535 003126 536 003130 5§37 003132 000000 538 539 540 003134 000000 541 003136 000000 542 003140 000000 544 003144 545 003146 000000 000000 547 003152 002000 543 003142 000000 000000 000000 000000 5§50 003160 000000 5§51 003162 000000 552 003164 000000 000000 000000 000000 177777 561 . TEMP2: : KTFLG: : KTENABLE : : NXMFLG: : NXMLO:: NXMH] : ¢ 000000 0 JWORD O JWORD "WORD .WORD "WORD 0 0 0 O . xr11 MEM AVAIL FLAG - .WORD 0 = <24k OR NO KT = t= NZ = >24K AND KT. SET BY TEST ROUTINES TO FLAG >28K UNDER TEST SSET IF WE CAN TEST CLEARED OTHERWISE JNXM LO ADDRESS BITS *NXM HI ADDRESS BITS FOR DAL'S 16=21 "WORD "WORD O 0 $11/723A FLAG :11/7238 FLAG PST32W:: .WORD 2000 3ZH BLOCK ADDRESS FOR 32K START T3BFLG: : "WORD SIFLAG: : BADDAT:: "WORD -WORD GDDAT : : LOOPFL : : CTAB: : "WORD CTABM: : 0 STEST 38 FLAG “0 0 0 ACTUAL DATA 0 *EXPECTED DATA ;CONFIGURATION TABLES. "WORD 0 -WORD "WORD "WORD "WORD "WORD 0 0 0 O =1 = = = = = = UNIT NOT TESTED UNIT ONLINE, NO ERRORS UNIT ONLINE. ENCOUNTERED XXXX ERRORS UNIT DROPPED, NON-EXISTENT DEVICE REGISTER UNIT DROPPED, NOT IDLE AT START UNIT DROPPED. ENCOUNTERED XXXX ERRORS BLKW 64. JCONFIG WORK. ;END OF MEM TABLE. CTABE:: saaon STATISTICS TABLE (1 WORD PER UNIT). 64 UNITS MAX: : : : 3 ; 000000 "WwORD :'DROPPED UNIT" FLAG. T23A:: 1238:: ; 562 563 564 565 ggg 599 003376 570 571 003400 :...FOR MULTI=UNIT CHECKOUT. *INHIBITS CODE IN ‘‘CLEAN=-UP". *FLAG TO SAY NO DEVICE. 5§32 003120 000000 568 003176 0.0,0,0,0,0,0.0 :DUMMY DEVICE REGISTERS... 0 531 003116 553 003164 554 003166 5§55 003170 556 003172 557 003174 558 003176 gzg o 1ooooo 0,0 JWORD 000000 548 003154 549 003156 DUMMY: DUFLG: : 528 sgg 003114 546 00315C SEQ 0037 .SBTTL GLOBAL ENVIRONMENT STORAGE 3}3 ggq §22 003062 PAGE 18 0 100000 10XXXX 160000 160001 146XXXX ERTABL : ERTABE : SKIPT: "WORD .WORD O 0 ;1=SKIP SUBTEST 0=NO SKIP OF SUBTEST TSV3 = GLOBAL AREAS GLOBAL TEXT MESSAGES MACRO M1113 25-MAY-82 09:19 3;2 .*$ 575 576 577 £ PAGE 19 SEQ 0038 .SBTTL GLOBAL TEXT MESSAGES : THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, : MESSAGES, AND ASCII INFORMATION THAT ARE USED IN : MORE THAN ONE TEST. - 579 580 581 582 ;e 585 ’ ggz :NAMES OF DEVICES SUPPORTED 586 003402 003402 003402 124 123 126 DEVTYP LSDVTYP:: .Aegfiz 587 595 3 598 88%2}8 damn ggg <TSVO5> /TSV0S/ - sTEST DESCRIPTION 003410 052 052 052 599 613 614 615 616 ‘ DESCRIPT <wxx* TSVOS LOGIC DIAGNOSTIC = REPLACE M7196 IF ERROR ###s> .eegaz /xxxx TSVOS LOGIC DIAGNOSTIC = REPLACE M7196 IF ERROR w##w/ i+ g}g ;BIT TO ASCII CONVERSION FOR TSSR REGISTER 619 . 620 003502 003542 003545 003551 622 003542 623 003545 624 003551 625 003555 626 003561 627 003565 628 003571 629 003576 630 003603 631 003607 632 003613 633 003620 634 00 635 003632 636 003637 gg‘ 003644 123 102 123 122 116 116 102 1o§ 12 117 102 102 102 102 102 102 103 m 103 115 130 102 m 11 123 106 in 1 11 11 m m 000 105 105 122 115 101 126 124 122 114 126 126 126 126 126 126 1$: 2%: 3$: 4$: 58: 6$: 78%: 8$: 9%: 10$: 118: 12%: 138: 14S$: 158: 16%: LASCIZ .ASCIZ LASCIZ .ASCIZ LASCIZ LASCIZ .ASCIZ .ASCIZ .ASCIZ LASCIZ LASCI2 LASCIZ LASCIZ LASCIZ LASCIZ .esg#l 639 003652 640 003705 641 003740 642 003777 643 004020 124 124 040 045 045 123 123 040 101 101 123 123 116 040 040 SFIERR: SFHERR: NXR: NXRX: TSSX: .ASCIZ .ASCIZ .ASCIZ .ASCIZ LASCII 621 003522 003603 003607 003613 TSSRBIT:: .WORD WORD °'SC’ 'BIE' °'SCE' °'RMR' °'NXM’ °'NBA’ °'BIT9’ 'BIT8' °'SSR' ‘OFL' 'BITS® 'BIT4’ ‘'BIT3® ‘'BIT?2' ‘'BITI® '‘BITO’* 1%,2%,3%,48,58, 8s 9%,108,118,128,13§ 148 15%.16% °'TSSR ERROR AFTER SOFT INIT® °'TSSR ERROR AFTER BUS RESET® / NON-EXISTANT DEVICE REGISTER/ /XA ADDRESS: %06/ /%A TSBA,TSSR EXP'D: X06%A,X06XIN/ 116 101 000 040 NUL : NULCR: EXPGOT: 660 004643 661 004745 662 005013 663 005056 664 005113 665 005206 666 005300 667 005372 668 005460 669 005554 045 122 040 127 124 124 106 105 045 045 101 101 040 122 123 123 101 122 116 116 040 11S 103 111 123 123 124 122 045 045 DUAD12: .ASCIZ PKTRAM:: SCME: «ASCIZ WRTMSG: .ASCIZ WRTERR: .ASCIZ RDERR: .ASCIZ SCHERR: .ASCIZ RETERR: .ASCIZ NOMEM: _ASCIZ MB186: .ASCIZ g;? 005645 672 673 045 045 116 116 045 045 umunnn 3 SEQ 0039 /%A TSBA,TSSR REC'D: X06%A,%06/ /AINZA/ / UNEXPECTED INTERRUPT/ / _INTERRUPT EXPECTED, NOT RECEIVED/ JASCII /INXA/ 3t /_ INTERRUPT FAULT/ LASCIZ /%A (CPU PC:.}062A TSBA: 206/ v NN PN BN W o w o 2 659 004567 NNNNO =N N =WVWNO 000 045 045 OO = =O—==00 656 004527 657 004530 658 004533 o &H o 042 042 INTX: NOINIT: .ASCIZ NSINIT: _ASCIZ BRINIT: .ASCIZ N 101 040 040 040 § 045 040 040 040 ~ 651 004300 652 004335 653 004407 2;2 004457 Cl2 FUSI: A Cll USI: A C12 NSI: A Clz FNOINTR: NOINTR: .A IFAULT: .A PAGE 19-1 LASCIZ .ASCIZ .ASCIZ EXPGT2: .ASCIZ MB189: ,eeg'j‘z / NO_INTERRUPT WAS GENERATED/ / /7 / :pus-luxr “plbu't INITIALIZE CONTROLLER/ ‘'SOFT=INIT'' DIDN'T INITIALIZE THE DPU/ 'BUS=-RESET'' DIDN'T INITIALIZE THE DPU/ // /iINn/ /XA EXP'D: Z06%A, REC'D: %06/ /INXA EXP'D: !06fA. Z06INZA REC'D: X0XA, 206/ /XA REG(W) WRITTEN TO: X06%A REG(R) READ; EXP'D: X%06%A, REC'D: %06/ .ASCIZ 'RAM Contents Do Not Match Packet Sent' / CONFIG DOESN'T MATCH MFG. MASTER/ ‘WRITE CHARACTERISTICS Failed® 'TSSR Incorrect After WRITE Command, More Bits Set Than SSR® 'TSSR Incorrect After READ Command, More Bits Set Than SSR' ‘'FATAL ERROR IN SUBTEST = CHECK TAPE,CABLES,TRANSPORT etc.' 'ERROR IN SUBTEST = WRITE DATA RETRY FIVE TIMES FAILED' ‘'INXA wetxx NO NXM ADDRESS==CANNOT TEST NXM TIMEOUT. seesx3N® ‘INIA tevenannnnnnnnnan 11/23A SYSTEM tavannnnnnnnnnanadN’ TINZA tesessnnnannnnnnn 11/238 SYSTEM tanannRnanennenenN’ w - ; o Ot OO b b &H Det TM ] o OONOOON— 25-MAY-82 09:19 £ o MACRO M1113 o TSV3 = GLOBAL AREAS GLOBAL TEXT MESSAGES 25-MAY-82 09:19 .SBTTL PAGE 20 SEQ 0040 GLOBAL ERROR REPORT SECTION + : THE GLOBAL ERROR REPORT SECTION CONTAINS THE PRINTB AND PRINTX CALLS THAT ARE USED IN MORE THAN ONE TEST. : ASCII TEXT STRINGS ARE FOUND IN THE GLOBAL TEXT SECTION. NXRERR sNON-EXISTANT DEVICE REGISTER. "PRINTX MOV MoV #NXRX,NODEV NODEV,=(SP) #NXRX , = (SP) sNODEV = NEXM ADDRESS. Mov SP,R0 NXRERR: 3 BGNMSG 003114 003777 000002 MOV 000006 005770 L10002: #2,=(SP) TRAP ADD JSR CSPNTX #6,SP PC,EXTEND TRAP CSMSG ENDMSG : PRINT EXTENSION IF REQUIRED. THIS ROUTINE APPENDS A UNIQUE EXTENSION (IF REQUIRED) TO ANY OF THE ABOVE ERROR SIGNATURES. 694 005770 695 005772 696 005774 697 005776 698 006002 699 006022 EXTEND TST EXTA: gEO 177770 004530 000001 000004 1$: (PC)+ 18 JSR PRINTX MoV MOV PC,3EXTA #NULCR #NULCR,=(SP) #1,-(SP) TRAP ADD RTS CSPNTX #6,SP PC Mov SP,RO : 0 = NO EXTENSION. s APPEND EXTENSION TEXT. s PRINT A BLANK LINE B TSV3 = GLOBAL AREAS HACRO M1113 GLOBAL ERROR REPORT SECTI TSV3 = GLOBAL AREAS MACRO M1113 PRITSSR = PRINT TSSR CONTENTS 25-MAY-82 09:19 PAGE 22 SEQ 0041 ;8 .SBTTL PRITSSR = PRINT TSSR CONTENTS 706 707 ;ROUTINE TO DISPLAY THE CONTENTS, AND BIT DEFINITIONS, OF ;THE TSSR REGISTER, THIS ROUTINE IS NORMALLY CALLED ONLY ;}? :INPUTS: ;}% ; ;}g +SUBORDINATE ROUTINES: ;}g : 718 719 720 006024 721 006024 ;- ;gg *BY A MESSAGE PRINTING ROUTINE 722 006030 723 006032 006032 006036 006040 006044 006046 006050 724 006054 725 006056 726 006062 727 006064 4 00607 006074 006076 006100 728 006104 729 006103 730 006112 731 006114 732 006120 733 006124 734 006126 735 006130 736 006132 737 006134 738 006136 739 006140 010104 010446 012746 012746 010600 104414 062706 010400 004737 103410 012746 012746 010600 104415 062706 010403 0462703 001434 012702 012701 005703 001413 000241 006103 103006 011100 112022 001376 7%; 006152 005721 743 112762 006154 000763 006160 006164 012746 012746 744 006156 745 006160 006415 000002 000006 016044 006635 000001 000004 58: 001476 002632 003502 108: 118: 000054 105042 177777 138: 158: 002632 006606 CONTENTS OF TSSR CHKAMB CHECK FOR AMBIGUOUS CONTENTS SAVREG MOV PRINTB MOV MOV MOV MOV TRAP ADD MOV JSR BCS PRINTX MOV MOV MOV TRAP ADD MOV BIC BEQ MOV MOV TST BEQ cLe ROL BCC MOV MOVB :SAVE GENERAL REGISTERS R1,R4 :SAVE THE TSSR CONTENTS #TS3RFOR,R4 :PRINT THE CONTENTS OF TSSR R ,=(SP) #TSSRFOR, = (SP) #2,-(SP) SF.RO CSPNTB #6,SP R4 ,RO :GET TSSR BACK FOR CHKAMB PC . CHKAMB :ARE CONTENTS AMBIGUOUS ? 13 *BRANCH IF NOT #AMBTSSR :SHOW CONTENTS ARE AMBIGUOUS #AMBTSSR = (SP) , #,-(SP) SP,RO CSPNTX #6,SP R4 .R3 :CONTENTS OF TSSR #HIADDR!FATERR! TERCLS,R3 ;CLEAR ALL MULTIPLE BIT FIELDS 208 :NO BITS ARE SET #TMPBFR, P2 :TEMPORARY ASCII BUFFER #TSSRBIT,R1 :ASCII EQUIVALENT OF BITS R3 ;REMAINING BITS TO CONVERT 158 :BRANCH WHEN ALL ARE DONE :CLEAR CARRY FOR SHIFT R3 :SHIFT NEXT BIT TO CARRY 138 :BRANCH IF BIT NOT SET (R1) RO :POINTER TO BIT DEFINITION (RO)+,(R2)+ :MOVE ASCIZ TO BUFFER MOVB #',,-1(R2) PRITSSR: 740 006142 7641 006144 R1 BNE TST B8R CLRB PRINTX MOV MOV 118 :MOVE ALL BITS (R1)+ :POINT TO NEXT DESCRIPTION 108 :INSERT A COMMA TO TERMINATE :GET THE REMAINING BITS =(R2) :TERMINATE THE LINE #TSSDEF ,#TMPBFR :PRINT THE BIT DEF INITIONS #TMPBFR .= (SP) #TSSDEF .=(SP) £ — TSV3 = GLOBAL AREAS MACRO M1113 PRITSSR = PRINT TSSR CONTENTS 012746 010600 104415 062706 000006 010403 062703 016303 177761 006676 010346 012746 012746 010600 104415 062706 010403 042703 001416 006%03 006203 006203 016303 010346 012746 012746 010600 104415 062706 042704 001411 000002 R4 ,R3 #*CTERCLS,R3 TCOCOD(R3 ,R3 ) #TCOASC,R3 000006 002200 SP,RO CSPNTX R3,=(SP) sCLEAR ALL BUT TERMINATION sGET THE TERMINATION CODE MEANING sPRINT THE TERMINATION CODE #2,-(SP) SP,RO CSPNTX #6,SP R4 ,R3 #“CFATERR,R3 TSFCOD(R3) ,R3 #TFCASC,R3 R3,=(SP) #6,SP 25$: sGET THE TSSR _CONTENTS #TCOASC,=(SP) 25% R3 R3 R3 006537 000002 062706 013703 #2,-(SP) MOV BIC MOV PRINTX 007236 176377 SEQ 0042 #6,SP 177717 000006 PAGE 22-1 MoV MOV TRAP ADD MOV MoV MOV MOV TRAP ADD 000006 006435 000002 010346 012746 010600 104415 062706 000207 20$: 006476 000002 010446 012746 012746 010600 104415 25-MAY-82 09:19 #“CHIADDR R4 308 #TEXASC R4 R4, =(SP) #TEXASC,=(SP) sTSSR CONTENTS AGAIN sCLEAR ALL BUT FATAL TERMINATION ;DON'T PRINT IF ZERO sALINE TERMINATION CODE FOR INDEX sGET THE FATAL TERMINATION CODE sPRINT THE FATAL TERMINATION CODE sCLEAR ALL BUT EXTENDED ADDRESS sDON'T PRINT IF ZERO sPRINT THE EXTENDED ADDRESS BITS #2.-(SP) SP,RO CSPNTX #6,SP EPRTSW,R3 R3 R3,-(SP) 308: 000001 sPRINT MEAASGE BUFFER ADDRESS sPRINT PROPER MESSAGE #1,-(SP) SP.RO CSPNTX 000004 #6,SP PC 045 116 EPRT2: EPRT1: 045 045 045 045 045 045 116 116 116 116 116 116 TSSRFOR: TEXASC: TCOASC: TFCASC: TSSDEF: AMBTSSR: sRETURN TO CALLER 'INZA teee2REPLACE M7196%xnnn’ .EVEN Z Z 'INZA TSSR = 206 'INXA Extended Address Bits = %06’ *INZA Termination Class Code = XT°' *INZA Fatal Termination Class Code = XT° ‘INXZA TSSR Bits Set: XT' 'INXA TSSR Contents Are Ambiguous' TSV3 = GLOBAL AREAS MACRO M1113 PRITSSR = PRINT TSSR CONTENTS 790 006676 791 006716 792 006741 793 006767 794 007011 795 007031 796 007113 797 007162 798 007206 799 800 801 007236 802 007246 803 007302 804 007313 805 007357 806 006716 116 124 124 106 122 122 125 106 006741 157 145 007246 11 122 102 122 007302 141 165 145 145 156 141 156 145 165 145 25-MAY-82 09:19 006767 165 16 160 156 143 143 162 164 007313 166 163 163 163 TCOCOD: .WORD LASCI2Z LASCIZ 1$: gs: 3$%: 4$: 5§$: 6$: 7%: 8$%: LASCIZ .ASCIZ LASCIZ LASCIZ LASCIZ LASCIZ .EVEN TSFCOD: .WORD 1$: 2%: 3$: 4$: ~ ASCI2 .ASCIZ LASCI2 .ASCIZ .EVEN PAGE 22-2 1%,2%,3% 4$,5%,68,7%,8% 'Normal ferninat1qn' 'Termination Condition' 'Tape Status Alert’ ‘'Function Reject’ 'Recoverable Error = Tape Position On B Qecord Down' 'Recoverable Error - Tape Was Not Moved 'Unrecoverable Error' ‘Fatal Controller Error’ 1%,2%,3$8,4$ '"Internal Diagnostic Failure’ ‘Reserved’ 'Bus Interface or Sanity Check Error’ 'Reserved' SEQ 0043 MACRO M1113 25-MAY-82 09:19 <« PRINT THE ADDRESS/CONTENTS OF COMMAND PACKET PRIPKT SEQ 0044 = PRINT THE ADDRESS/CONTENTS OF COMMAND PACKET M) e b cd o cd e nd cd = 2R WNN—-O +SBTTL PAGE 23 THIS ROUTINE PRINTS THE ADDRESS AND CONTENTS OF A COMMAND PACKET. THIS ROUTINE IS NORMALLY ONLY CALLED FROM A PRINT ROUTINE. 823 007370 PRIPKT:: N=20O VRNV INPUT NUMBER OF WORDS IN PACKET HIGH ORDER COMMAND PACKET ADDRESS ADDRESS OF COMMAND PACKET R3 IS IGNORED IF THE KTENABLE FLAG IS CLEAR. 010005 005737 RO,RS KTENABLE 108 R3 003134 108: R3,R1 R4 RO RO R1 831 007412 832 007414 833 007416 007416 0PKTAD£$R1.R4 sSAVE THE REGISTERS sSAVE NO. OF WORDS IN PACKET sABOVE 28K UNDER TEST? sBR_IF YES sSET HIGH ORDER ADDRESS TO 0 :COPY HIGH ORDER ADDRESS sGET LOWER ADDRESS sSHIFT BIT 15 INTO C BIT sAND INTO HIGH ORDER. sPRINT PACKET ADDRESS 007554 000003 007436 834 007442 835 007444 836 007446 837 007450 838 007454 839 007456 000010 158: 017316 PC.SETMAP gO.Rk 208: 25%: 1 (R4)+,R2 #PKTFRM,R1,R2 R2,=(SP) sGET HIGH ORDER ADDRESS :BR_IF NOT ABOVE 28K. ;GET LOW ORDER ADDRESS :SETUP PARG MAPPING FOR 18 BIT ADDRESS :GET_RETURNED PAR6 ADDRESS BIAS :SAVE WORD NUMBER :GET PACKET CONTENTS :PRINT THE DATA R1.=(SP) 007516 000003 onrrnn -(SP) ,~(SP) 000010 BLT RTS 045 PKTFRM: PKTADD: .ASCIZ +ASCIZ +EVEN sNEXT WORD NUMBER sDONE ALL PACKET WORDS? sLOOP TILL ALL DONE sRETURN 'INZA Packet Word #XID1XA = 206° 'INZA Packet Address = X01X05° TM —d TSV3 = GLOBAL AREAS PRIPKT TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PRIBXOR = PRINT EXPD, RECV AND XOR BYTE gg .SBTTL 8¢ PAGE 24 SEQ 0045 PRIBXOR = PRINT EXPD, RECV AND XOR BYTE e 856 ;PRINT EXPECTED DATA, RECEIVED DATA, AND XOR OF THE DATA BYTE 859 860 861 L INPUTS: : : R1 gg; ;THIS ROUTINE IS NORMALLY CALLED ONLY FOR PRINT ROUTINES. 862 863 ggg ; 3 :0UTPUT: R2 ggg : RO 868 869 870 007612 871 007612 872 007616 873 007620 874 007630 875 007634 876 007636 877 007640 be 878 007642 007642 007644 007646 007650 007656 007660 PRIBXOR:: SAVREG MOV XOR MOV BIC BIC BIC 010203 012700 040001 040002 040003 177400 010346 7664 062706 000012 ADD ggg 007674 045 116 884 010300 207 045 :SAVE THE REGISTERS *EXPECTED DATA :FORM THE EXCLUSIVE OR *BYTE MASK *SAVE LOW BYTE RECV *SAVE LOW BYTE EXPD SAVE LOW BYTE XOR R1,=(SP) 007674 000004 879 007670 gg? 007672 R2.R3 R1,R3 #4C<377>.R0 RO,R1 RO.R2 RO,R3 MOV MOV MOV MOV MOV 104414 XOR OF EXPECTED/RECEIVED DATA #XORBFOR,R2,R1,RS :PRINT THE MESSAGE 010246 012746 012746 010600 007662 EXPECTED DATA PRINTB MOV 010146 RECEIVED DATA R3,=(SP) TRAP R2,=(SP) #XORBFOR, = (SP) #4,-(SP) SP,RO CSPNTB MOV RTS R3,R0 PC ;RO HAS XOR ON RETURN *RETURN TO CALLER LASCIZ °*XINYA EXPD: ¥03%A RECV: %03%A XOR: 203° XORBFOR: e #12,5P YSVS = GLOBAL AREAS | PRIXOR MACRO M1113 = PRINT EXPD, RECV AND XOR ggg 25-MAY-82 09:19 : .SBTTL PAGE 25 PRIXOR SEQ 0046 = PRINT EXPD, RECV AND XOR 890 :PRINT EXPECTED DATA, RECEIVED DATA, AND XOR OF THE TWO 893 895 gg? L INPUTS: ; : R1 : R2 ggg $OUTPUT: 38? : 902 - gg} :THIS ROUTINE IS NORMALLY CALLED ONLY FOR PRINT ROUTINES. 894 RECEIVED DATA EXPECTED DATA RO XOR OF EXPECTED/RECEIVED DATA 010203 SAVREG MOV XOR R2,R3 R1.R3 007760 007762 010346 010146 MOV MOV 007766 007772 012746 012746 903 904 007742 905 007742 906 007746 907 007750 908 007760 007764 PRIXOR:: 010246 007776 010600 010000 010002 104414 062706 910 010010 oM 000207 909 010006 010300 g}% 010012 045 PRINTB MOV 010012 000004 000012 116 R3,=(SP) R1.=(SP) R2.=(SP) #XORFOR, = (SP) #4,-(SP) TRAP ADD CSPNTB #12,SP RTS PC MOV 045 #XORFOR.R2.R1.R3’ PRINT THE MESSAGE MOV MOV MOV XORFOR: .ASCIZ ;SAVE THE REGISTERS :EXPECTED DATA FORM THE EXCLUSIVE OR SP.RO R3,R0O ;RO HAS XOR ON RETURN *RETURN TO CALLER “XINXA EXPD: X06XA RECV: Z06%A XOR: %06° MACRO M1113 25-MAY-B82 09:19 = PRINT BIT NUMBERS AS ASCII EQUIVALENT .SBTTL PAGE 26 PRIEQU SEQ 0047 = PRINT BIT NUMBERS AS ASCII EQUIVALENT * ¢ :ROUTINE TO CONVERT BIT VALUES TO ASCII AND PRINT THE STRING sTHIS ROUTINE IS NORMALLY CALLED FROM A PRINT ROUTINE : INPUTS: : : PRIEQU: 4 RO OCTAL VALUE TO CONVERT SAVREG RTS PC .SBTTL PRIRAM R1 TABLE OF POINTERS TO ASCII EQUIVALENT :SAVE THE REGISTERS *RETURN TO CALLER = PRINT RAM ADDRESS *PRINT CONTROLLER RAM ADDRESS. :THIS ROUTINE IS NORMALLY CALLED ONLY FROM PRINT ROUTINES. P INPUTS: 3 S&R — b b (=l=l=l=] PRIRAM: 010116 10446 12746 12746 00 R4 SAVREG PRINTB MOV 010116 000002 062706 000207 000006 045 116 MOV RAMFOR: o 4 #RAMFOR,R4 R ,=(SP) :SAVE R1=RS UNTIL NEXT RETURN :PRINT RAM ADDRESS IN ERROR #RAMFOR , = (SP) MOV #2,-(SP) TRAP ADD RTS CSPNTB #6,SP PC .eegfil *INXA CONTROLLER RAM ADDRESS = %06° .SBTTL PRIADD MOV 045 RAM ADDRESS SP,RO sRETURN = PRINT MEMORY ERROR ADDRESS *PRINT MEMORY ADDRESS :THIS ROUTINE IS NORMALLY CALLED ONLY FROM PRINT ROUTINES. : IMPLICIT INPUTS : ERRHI ERRLO = HIGH ORDER ADDRESS = LOW ORDER ADDRESS TM -4 TSV3 = GLOBAL AREAS PRIEQU TSV3 = GLOBAL AREAS PRIADD MACRO M1113 = PRINT MEMORY ERROR ADDRESS 966 967 968 010160 969 010160 970 010164 971 010170 972 010174 973 010176 974 010200 975 010202 010202 010204 010206 010212 010216 010220 010222 g;g 010226 978 010230 979 25-MAY-82 09:19 PAGE 26-1 PRIADD: 013700 013701 010102 006101 006100 010246 010046 012746 012746 010600 104414 062706 000207 045 ERRHI ,RO ERRLO,R1 R1,R2 RO #PRIAQ,RO,R2 R2,.=(SP) SEQ 0048 sSAVE R1=R5 UNTIL NEXT RETURN sGET HIGH ADDRESSS sGET LOW ADDRESS sCOPY LOW ADDRESS sSHIFT BIT 15 TO C BIT sSHIFT INTO HIGH ORDER sPRINT MEMORY ADDRESS IN ERROR 010230 000003 000010 116 RTS 045 PRIAO: 4 sRETURN .ASCIZ .EVEN 'INXZA MEMORY ERROR ADDRESS = X01%05° .SBTTL PRITADD = PRINT MEMORY TEST ADDRESS *PRINT MEMORY ADDRESS :THIS ROUTINE 1S NORMALLY CALLED ONLY FROM PRINT ROUTINES. IMPLICIT INPUTS ERRHI ERRLO = HIGH ORDER ADDRESS = LOW ORDER ADDRESS PRITADD: 996 010300 997 010304 999 1000 1001 010310 010310 010312 010316 010322 010324 010326 1002 010332 010332 010336 010340 010344 010346 010350 1003 010354 013702 013701 002236 002240 ERRHI ,R2 ERRLO,R1 R1,R2 R1 010146 012746 012746 010600 104414 062706 010246 012746 012746 010600 104414 062706 000207 sSAVE R1=R5 UNTIL NEXT RETURN sGET HIGH ADDRESSS sGET LOW ADDRESS sCOPY LOW ADDRESS sSHIFT BIT 15 TO C BIT sSHIFT INTO HIGH ORDER sPRINT MEMORY ADDRESS LOW IN ERROR 010356 000002 000006 #6,SP #PRIT1,R2 sPRINT MEMORY ADDRESS HIGH IN ERROR 010421 000002 000006 sRETURN TSV3 = GLOBAL AREAS MACRO M1113 PRITADD = PRINT MEMORY TEST ADDRESS 1004 1005 010356 1006 010421 1007 1008 1009 1010 045 045 116 116 25-MAY-82 09:19 045 045 PRITO: PRIT1: LASCIZ LASCIZ .EVEN PAGE 26-2 4 °'INXA MEMORY TEST ADDRESS LOW = %06° ‘'INXZA MEMORY TEST ADDRESS HIGH = %06' SEQ 0049 TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PAGE 27 = SPACE RECORDS (FORWARD AND REVERSE) COMMAND (=1~ OO0O0O00O0O00000O PNONININININ = cd cd e e e ed w0 SPACE = SPACE RECORDS (FORWARD AND REVERSE) COMMAND = O 000 NNV *ROUTINE TO ISSUE A SPACE RECORDS :COMMAND (FORWARD OR REVERSE) 'INPUT: R3 VIS W D d md SPACE * 4 D D =D D D D D D B .SBTTL SEQ@ 0050 NUMBER OF RECORDS TO BE SPACED OVER BIT1S CONTROLS DIRECTION BIT1S = 0 IS FORWARD BIT15 = 1 IS REVERSE FIRST DEVICE UNIBUS ADDRESS RS REQUIRES A WRITE CHARACTERISTICS DONE PREVIOUSLY OUTPUT: CARRY SET = SPACE RECORDS COMMAND OK CLR = SPACE RECORDS FAILED RO THE CONTENTS OF R4 IS MOVED TO RO IMPLICIT OUTPUT: TAPE HAS BEEN MOVED —_— o W W N 012737 012737 o= e b SSISRRE nNo SRS SIDE EFFECTS: 0000000 AR A AR AR R R R R RRR VIS WN WN=O 0ONO 1041 000764 140010 SAVREG MOV 010660 010650 MOV TST BMI MOV 010652 58: 010650 5 *9546 0554 0562 566 0570 004737 012727 000000 013727 000000 005367 000000 016250 000250 002116 177772 B8R BIC MOV © . BIS #500., SDELAY #140010,808 R3 S8 R3,908 108 aaxr1s R3 R3,908 #B1T18,808 108: MoV #80$, R4 158: JSR PC.WAITF MOV BCS DELAY MOV .WORD MOV LWORD DEC BNE R4, TSDB(RS) 208 250 #250, (PC)+ 0 LSDLY, (PC)+ O -6(PC) =4 :SAVE THE GENERAL REGISTERS .ser UP DELA :SET UP connano SPACE FORWARD :CHECK FOR DIRECTION *BR, IF REVERSE INDICATED *LOAD UP NUMBER OF RECORDS TO SPACE :GO DO COMMAND :CLEAR DIRECTION BIT :LOAD UP NUMBER OF RECORDS TO SPACE sEt REVERSE BIT IN COMMAND PACKET SSET UP R4 WITH PACKET ADDRESS *SEND OUT COMMAND HAlt roa SSR F SSR IS SET AND OK :DELAY Aaouf .zs SECONDS TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PAGE 27-1 =~ SPACE RECORDS (FORWARD AND REVERSE) COMMAND SPACE 010576 010602 1063 010606 005367 001367 005337 1064 010610 1065 010612 1066 010614 1067 010620 001356 000411 016507 012702 1070 010630 1071 010632 1072 010634 1073 010636 1074 010640 1075 010640 1076 010642 000402 000261 000401 000241 1068 010624 1069 ovoegg 020201 001401 010400 000207 177756 DEC BNE DEC 010660 000002 000200 208: 258: 408: 608: 708: BNE BR MOV MOV CMP BEQ BR SEC BR CLC MOV RTS =22(PC) =20 SDELAY 158 608 TSSR(RS) ,R1 #SSR,R2 R2,R1 40$ 608 $EQ 0051 ;BUMP DELAY COUNTER DOWN *BR, IF MORE DELAY :BR IF TROUBLE CARRY = CLEAR *READ TSSR :SET UP EXPECTED *ARE THEY OK :BR, IF EQUAL = OK 708 :TROUBLE EXIT :SET CARRY NO TROUBLE SEXIT R4 ,RO PC :PASS PACKET ADDRESS RETURN :CARRY CLEAR = ERROR | TSV3 = GLOBAL AREAS SPACE MACRO M1113 25-MAY-82 09:19 PAGE 28 = SPACE RECORDS (FORWARD AND REVERSE) COMMAND 4 SEQ 0052 2322222222222 B2CIRRRRRRRRT 1078 *PACKET FOR SPACE COMMAND 010650 ‘ 000000 COMMAND WORD 808: .WORD .=<.+10>8177770 :NUMBER OF RECORDS TO BE SPACED OVER WORD 908 : SDELAY: .WORD ~WORD ~WORD .WORD .EVEN 0 :DELAY COUNTER MACRO M1113 25-MAY-82 09:19 O 0288 232 = WRITE CHARACTERISTICS COMMAND D d d b =di={=] .SBTTL PAGE 29 WRTCHR SEQ 0053 = WRITE CHARACTERISTICS COMMAND - SROUTINE TO ISSUE A WRITE CHARACTERISTICS :COMMAND SO THAT OTHER COMMANDS WILL BE ACCEPTED d D e : INPUT: R4 ADDRESS OF PACKET FROM TEST FIRST DEVICE UNIBUS ADDRESS REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY D d e RS D D OUTPUT: D d e D RO CARRY TSSR CONTENTS SET = WRITE CHARACTERISTICS COMMAND OK CLR = WRITE CHARACTERISTICS FAILED d D d D d IMPLICIT OUTPUT: D d MESSAGE BUFFER AND OTHER BUFFERS ALL SET UP SOFTWARE SWITCHES SET AS FOLLOWS: EXTFEA = EXTENDED FEATURES PRESENT BENBSW = BUFFER ENABLE SWITCH ON OR OFF LS LN =lelolelalalalalalalalalololelelelalelolale el N=OOVRNOWNSWN=O —b d D ) wd d d ) ) wd ) ) e ) D D d ) D D d D d D D d D wd ) D SIDE EF FECTS: : WRTCHR: 002230 002226 000000 016336 108: 208: #SSR,R2 25% 25%: 000010 408: sSAVE THE GENERAL REGISTERS sCLEAR BUFFER ENABLE SWITCH sCLEAR EXTENDED FEATURES SW SWITCH sSEND OUT C OMMAND sWAIT FOR SSR sBR, IF SSR IS SET AND OK sBR IF TROUBLE CARRY = CLEAR sREAD TSSR sSET UP EXPECTED ;WAS OFF LINE SET IN TSSR sBR, IF NO OFL SET sMAKE THEM LOOK ALIKE JARE THEY OK sBR, IF EQUAL = 0K #8. R4 (R&) ,R3 000012 #X2.EXTF ,XST2(R3) 45$ EXTFEA 000012 #X2.BUFE,XST2(R3) 002226 002230 60$ TSSR(RS) .R1 #OFL R1 000100 000100 PC,CHKTSSR 20§ 000002 000200 000100 000200 BENBSW EXTFEA R4, TSDB(RS) 508 BENBSW sTROUBLE EXIT sPOINT TO WRT CHARA DATA PACKET sGET ADDRESS OF MESSAGE BUFFER :EXTENDSD FEATURES BIT SET? sBR_IF NO sSET EXTENDED FEATURES SW SWITCH sBR, IF SWITCH NOT SET ;BUFFER ENABLE SWITCH SET :SET SOFTWARE SWITCH FOR ENABLED B TSV3 = GLOBAL AREAS WRTCHR TSV3 = GLOBAL AREAS WRTCHR 1153 011000 1156 011000 1155 011002 1156 011004 1157 011006 }}gg 011012 1160 MACRO M1113 25-MAY-82 09:19 = WRITE CHARACTERISTICS COMMAND 000261 000401 000241 016500 000207 508: 000002 608: 708: SEC BR CLC MoV RTS PAGE 29-1 708 TSSR(RS) ,RO PC SEQ 0054 sSET _CARRY NO TROUBLE JEXIT sCARRY CLEAR = ERROR sRETURN TSSR CONTENTS sRETURN TSV3 = GLOBAL AREAS <~ POSITION TAPE MACRO M1113 25 SHAY-BZ 09:19 (REWIND) COMMAN ON REWIND D D o .SBTTL YOO\ D e CAUTION: THE ROUTINE DOES NOT WAIT FOR BOT ~ TO ARRIVE. ALSO THE CALLER MUST CHECK FOR SSR TO SET IN THE TSSR CALLING SEQUENCE: D e e D 0 0 O O 00 0o o 01000010010 0000 30 00 00 09,0000 00 00~~~ v~/ I~ D e i o = POSITION TAPE (REWIND) COMMAND *THIS ROUTINE WILL REWIND THE SELECTED TAPE. D e DO A SOFT INIT DO A WRITE CHARACTERISTICS PC,REWIND JSR D e e e e D e INPUT: RS FIRST DEVICE UNIBUS ADDRESS RO THE CONTENTS OF R4 IS PASSED TO RO OUTPUT m b o e e e e o e REWIND SEQ 0055 * 4 011014 011014 011020 011024 011030 011034 011040 011042 011042 011046 011050 011054 011056 011062 011064 011070 1198 011072 1199 011074 1200 011076 1201 011100 1202 011102 1203 1204 1206 1208 011110 1209 011110 1210 011112 1211 1212 — PAGE 30 WIND:: 012704 010465 012703 004737 103417 012727 000000 013727 005367 001375 005367 001367 005303 001357 000241 010400 000207 011110 102010 000000 011110 016250 SAVREG #RWPACK , Ré R&, TSDB(RS) #360. ,R3 108: PC,WAITF 000372 208 250. 5250..(PC)+ 002116 5SDLV.(PC)0 177772 -6(PC) 177756 <22(PC) .=20 R3 108 : 208 RWPACK: RTS R4 RO PC sSAVE R1=R5 UNTIL NEXT RETURN sGET PACKET ADDRESS sSEND PACKET ADDRESS TO EXECUTE sENOUGH TIME FOR 2400° REEL TO REWIND sWAIT FOR SSR TO SET sLEAVE WHEN SSR IS SET sWAIT FOR .25 SECONDS sBUMP COUNTER DOWN sKEEP GOING sCLEAR CARRY TO SET ERROR sPASS THE PACKET ADDRESS ;RETURN =<, +10>8177770 .WORD .WORD 102010 0 sPOSTION COMMAND (REWIND) sNOT USED TSV3 - GLOBAL AREAS REWIND 1213 1214 1215 <~ POSITION TAPE MACRO M1113 25-MAY-82 09:19 (REWIND) COMMAND PAGE 30-1 5 SEQ 0056 TSV3 = GLOBAL AREAS MACRO M1113 CKRAM < COMPARE RAM TO 1/0 PACKET 25-MAY-82 09:19 }g}z .SBTTL 1219 5 PAGE 31 CKRAM SEQ 0057 = COMPARE RAM TO 1/0 PACKET 1220 1221 T : *ROUTINE TO READ THE FIRST 8 BYTES FROM RAM }ggg : INPUT : 1226 ; 1229 1230 1231 :OUTPUT: : : CARRY }%gg SIMPLICIT OUTPUT: 1236 1237 ; ; }gzg :SIDE EFFECTS: }52% : 1244 1245 1246 011114 1247 011114 1248 011120 1249 011124 1250 011130 1251 011132 1252 011136 - }55% :MEMORY AND COMPARE THIS DATA TO A COMMAND PACKET. }ggg : }%gg ; CKRAM: : 1253 011144 012701 012702 005003 004737 112765 004737 016336 000000 016336 1255 011154 004737 016336 1256 011160 1257 011164 1258 011166 1259 011170 1260 011172 1261 011174 1262 011200 1263 011202 1264 011206 1265 011206 1266 011210 1267 011212 1268 011214 ;ggg 011222 RS : }g;g 1254 011150 R4 010265 002242 000201 000000 116511 122124 000000 020227 003761 000210 001401 005203 005202 005703 001402 000241 000401 000261 012737 000207 000000 000010 108: 002302 308: 508: FIRST DEVICE UNIBUS ADDRESS SET = RAM MATCHES PACKET CLR = RAM DOES NOT MATCH PACKET THE TABLE RAHDATA IS FILLED WITH THE DATA HELD IN R RAMSIZ IS SET ro "8. FOR PRAMPKT ROUTINE THE SUBSYSTEM IS LEFT IN MAINTENANCE MODE SAVREG MOV MOV CLR JSR MOVB JSR #RAMDATA ,R1 #RMPKTBEG, R2 R3 PC,CHKTSSR #0.TSDB(RS) PC.CHKTSSR ;SAVE THE GENERAL REGISTERS *ADDRESS TO SAVE THE RAM DATA *BYTE ADDRESS OF FIRS: RAM DATA :CLEAR THE ERROR FLAG :WAIT FOR SSR :SET MAINTENANCE MODE *WAIT FOR SSR TO SE’ JSR PC.CHKTSSR *WAIT FOR SSR TO SET BEQ INC INC 208 R3 R2 MOV MOVB CMPB 208: ADDRESS OF THE COMMAND PACKET CMP BLE ST BEQ cLe BR SEC MOV RTS R2.TSDB(RS) TSBA(RS),(R1) (R1)+, (R4)+ R2, #RMPKTEND 10§ R3 308 508 #8. RAMSIZ PC *SELECT NEXT RAM ADDRESS *READ THE RAM DATA :COMPARE TO EXPECTED *BRANCH IF OK *SET ERROR FLAG *ADDRESS OF NEXT RAM LOCATION *REACHED END YET *BRANCH TILL ALL READ *WAS AN ERROR FOUND ? *BRANCH IF NOT *CLEAR CARRY TO SHOW ERROR SAND EXIT :SHOW GOOD COMPARE :SETUP RAMSIZ FOR PRAMPKT ROUTINE *RETURN TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CKRAM2 = COMPARE RAM TO 1/0 CHARACTERISTICS DATA 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 * 4 CKRAM2 SEQ 0058 = COMPARE RAM TO 1/0 CHARACTERISTICS DATA :ROUTINE TO READ THE FIRST 8 OR 10 BYTES FROM RAM sMEMORY AND COMPARE THIS DATA TO A CHARACTERISTICS DATA BLOCK. INPUT: R4 RS ADDRESS OF THE CHARACTERISTICS DATA FIRST DEVICE UNIBUS ADDRESS CARRY SET = RAM MATCHES PACKET CLR = RAM DOES NOT MATCH PACKET OUTPUT: IMPLICIT OUTPUT: THE TABLE RAMDATA IS FILLED WITH THE DATA HELD IN RAM, RAMSIZ IS SET TO 8. OR 10. FOR PRAMPKT ROUTINE SIDE EFFECTS: 1295 296 129 1298 1299 1300 011224 1301 011224 1302 011230 1303 011234 1304 011240 1305 011242 1306 011246 1307 011254 1308 011260 1309 011264 1310 011270 1311 011274 1312 011276 1313 011300 1314 011302 1315 011304 1316 011312 1317 011316 1318 011320 1319 011326 1320 011332 1321 011334 1322 011336 1323 011342 1324 011344 1325 011346 1326 011350 1327 011352 1328 011354 .SBTTL PAGE 32 THE SUBSYSTEM IS LEFT IN MAINTENANCE MODE : CKRAM?2: 012701 002242 000167 016336 00000 #RAMDATA R1 :gHCHBEG.RZ 000000 108: JSR 000 000401 000261 PC,CHKTSSR R2,TSDB(RS) PC,CHKTSSR 000000 000010 002226 002302 000012 000200 002302 000176 PC,CHKTSSR #0,TSDB(RS) 208: INC TSBA(RS), (R1) (R1)+,(R4)+ 208 R3 R2 #8. ,RAMSIZ EXTFEA 258 #10. ,RAMS1Z R2 ,#ARMCHEND 108 25%: (MP 27%: TST 308: SEC 278 R2, #RMCHEND=2 108§ R3 308 508 sSAVE THE GENERAL REGISTERS sADDRESS TO SAVE THE RAM DATA sBYTE ADDRESS OF FIRST RAM DATA ;CLEAR THE ERROR FLAG sWAIT FOR SSR sSET _MAINTENANCE MODE sWAIT FOR SSR TO SET sSELECT NEXT RAM ADDRESS sWAIT FOR SSR TO SET sREAD THE RAM DATA s COMPARE TO EXPECTED sBRANCH IF 0K sSET ERROR FLAG sADDRESS OF NEXT RAM LOCATION sASSUME EXTFEA NOT SET :1S THE SOFTWARE EXTENDED FEATURES SET :BR, IF NOT SET sSET RAMSIZ FOR EXTEND FEATURES sAT END OF EXTENDED BUFFER :BR, IF NOT AT END YET sAT END BRANCH sREACHED END YET ? sBRANCH TILL ALL READ :WAS AN ERROR FOUND ? sBRANCH IF NOT sCLEAR CARRY TO SHOW ERROR sAND EXIT :SHOW GOOD COMPARE 1329 011356 1330 0060207 508: RTS PAGE 32-1 5 SEQ 0059 PC sRETURN " TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CKRAM2 = COMPARE RAM TO 1/0 CHARACTERISTICS DATA WW W WWWWWWWW PRSI I Ieptviin ey D S = COMPARE WRITE CHAR. MESSAGE BUFFERS D b sBUFFER. THE EXPECTED AND RECEIVED BUFFERS ARE STORED FOR ;ERROR PRINT ROUTINES. : INPUT: N T T Y D =D TETATETE s’l (a A S W ~ 2 pur - o o W ~ 2 &~O IIAITIIIITIIIIE NN b baaasbuw b b d NN 333 RS s e e e ) e ) amdh ed ) D ek B S 000016 - 25%: p=rt 000002 000014 N ~ o g " SAVREG TST 062704 020427 003764 032765 000207 SET = MESSAGE BUFFERS MATCH CLR =MESSAGE BUFFERS DON'T MATCH EXPMSG BEQ 158: 005703 EXPD MESSAGE BUFFER ADDRESS BUFF BUFF RECMSG RCVHIADD RCVLOADD MoV 017316 000200 - MOV 002322 002466 o NN SNO 002304 002306 003134 108: 011164 RECV MESSAGE BUFFER HIGH ORDER ADDRESS RECV MESSAGE BUFFER LOW ORDER ADDRESS IMPLICIT OUTPUT: JSR MOV CLR CLR SET T RO,RCVHIADD R1,RCVLOAD KTENABLE 108 PC,SETMAP RO,R1 R4 S SET TO EXPD DATA S SET TO RECV DATA IGH ORDER ADDRESS OF RECV OW ORDER ADDRESS OF RECV sSAVE R1=R5 UNTIL NEXT RETURN sSAVE RECV HIGH ADDRESS sSAVE RECV LOW ADDRESS sTESTING ABOVE 28K? :BR_IF NO sRETURN ADDRESS BIASED TO PAR6 IN RO sGET RETURNED ADDRESS BIASED i0 PAR6 sWORD IN BUFFER sCLEAR ERROR SEEN FLAG R2,RS sGET EXPD BUFFER ADDRESS (R2) ,EXPMSG(R4) sSAVE EXPD FOR ERROR REPORT (R1) RECMSG(R4) sSAVE RECV FOR ERROR REPORT (R2)+,(R1)+ sEXPD EQUAL RECV? 25% :BR _IF YES R3 $SET ERROR SEEN FLAG #2 R4 *POINT TO NEXT WORD ADDRESS Rb‘llé *DONE FIRST 7 WORDS? 15 BR IF NO gsg.sxrr.xSt2<nsS:15 ;xtenoeo FEATURES SET IN EXPD? 000012 R&,#16 508: b b o R mah b ad o e e e T S B oD el e ed mh R b d e R R d end ok d b R 005737 RO R1 R2 CARRY PRPR PRPR TR N PR TN OUTPUT: OCO000O00O00O0O0O0O0O0O0O0O0O0O0O0O0OO0OO0O0O0O0O0O OVONO NS WN—=OV CKMSG SEQ 0060 :ROUTINE TO COMPARE A WRITE CHARACTERISTICS EXPD AND RECV ) SEREREE SISANIIIIEELREREREE .SBTTL > D D D b D ) D d b D ) D d wviviviviavaivivaiuiavawn WWWWWWWWWW b od ed b D D D b e D e ) D e d b d D D d D D b WWWWWWWWWW NNNNNNNNY d o b D b b b PAGE 33 808 15§ R3 558 60$ PC :BR IF NO sDONE EXTENDED FEATURES WORD? JBR IF NO sANY ERRORS SEEN? sBR IF NO JSET FAILURE sSET SUCCESS :RETURN - TSV3 = GLOBAL AREAS MACRO M1113 25-MAY<82 09:19 = COMPARE WRITE Ci:AR. MESSAGE BUFFERS CKMSG TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CKMSG2 = COMPARE EXPD RECV MESSAGE BUFFERS o 5 PAGE 34 .SBTTL (KMSG2 SEQ 0061 = COMPARE EXPD RECV MESSAGE BUFFERS ROUTINE TO_COMPARE AN EXPECTED AND RECEIVED MESSAGE :BUFFER. THE EXPECTED AND RECEIVED BUFFERS ARE STORED FOR :ERROR PRINT ROUTINES. %0 90 80 90 909090 9090939999009, 0, %09, INPUT: ao RECV MESSAGE BUFFER HIGH ORDER ADDRESS RECV MESSAGE BUFFER LOW ORDER ADDRESS EXPD MESSAGE BUFFER ADDRESS ag NUMBER OF BYTES TO COMPARE a e o b D d d v ) wd wmd ol el i D i 323 T §N§° ki ol m=h e i e e oo N = b b b OoOONSNO SAVREG BLE 011632 000001 108: 002322 002466 15$: 000001 #DEBUGMSG :oeaucnss.-(sp) ;aaD TRAP ADD CSPNTF #4,SP #1,-(SP) SP.RO RO_RCVHIADD R1.RCVLOAD :SAVE RECV HIGH ADDRESS *SAVE RECV LOW ADDRESS BEQ 108 *BR IF NO KTENABLE :TESTING ABOVE 28K? JSR MOV CLR CLR PC, SETMAP RO,R1 MOVB (R1).RECMSG(R4) :SAVE RECV FOR ERROR REPORT MOVB *RETURN ADDRESS BIASED TO PAR6 IN RO :GET RETURNED ADDRESS BIASED TO PAR6 *WORD IN BUFFER :CLEAR ERROR SEEN FLAG (az) EXPMSG(R4) :SAVE EXPD FOR ERROR REPORT (R2)+,(R1)+ :EXPD EQUAL RECV? BEQ INC ADD CMP 258 RS #1.R4 R4 .R3 *BR IF YES *SET ERROR SEEN FLAG :POINT TO NEXT BYTE :DONE ALL BYTES? BR TST BEQ 158 RS 558 :DO NEXT BYTE *ANY ERRORS SEEN? :BR IF NO BGE 508: #RECHSG-EXPMSG, a3:3ab MOV MOV CMPB 258: :SAVE R1=RS UNTIL NEXT RETURN R3 caecnss-expnsc @aD IS COUNT ABOVE MAX ALLOWED? PRINTF MOV ST 017316 IS SET TO EXPD DATA IS SET TO RECV DATA HIGH ORDER ADDRESS OF RECV LOW ORDER ADDRESS OF RECV aaD BR IF NO MOV MOV 58: BUFFER BUFFER SET TO SET TO 58 MOV 000144 e e et emah el s e i o e — SRR el RN R CELRRRERERE e e e e I R R e R B e A T R EXPMSG RECMSG RCVHIADD RCVLOADD CMP 000144 D 020327 SET = MESSAGE BUFFERS MATCH CLR = MESSAGE BUFFERS DON'T MATCH IMPLICIT OUTPUT: KMSG2:: b D md CARRY D b b e D ed e md md ed b b i e OO0O0000O0O0O0O0O0O00O0VO0OO0O0O0O0O0OO0OO0O0OOCO OCOVBNOVIS~WNNN=O b D cd — b PR O F ¥ b SR O b R O N =D b cd =d d md e O b b O d d b OUTPUT: 508 :BR IF YES TSV3 = GLOBAL AREAS CKMSG2 MACRO M1113 25-MAY-82 09:19 =~ COMPARE EXPD RECV MESSAGE BUFFERS 1440 011622 000241 1441 011624 144 0116%6 000401 000%61 1445 011632 14646 011722 1447 011733 1448 011766 }223 012021 120 045 040 056 124 }22‘ 011630 CLC 558: 608: 000207 122 116 040 056 105 117 045 126 056 123 BR SEC RTS DEBUGMSG: FERCM: ASCII ERCM: .ASCIZ SIMSG: .ASCIZ TINERR: .esgzl PAGE 34-1 608 PC 5 SEQ@ 0062 sSET FAILURE : sSET SUCCESS sRETURN +ASCIZ °'PROGRAM INTERNAL ERROR =CKMSG2 MESSAGE BUFFER EXCEEDED-';aaD /INXA wwe/ / TSSR ERROR CODE REC'D = / /.... AFTER DOING SOFT INIT/ /TEST: .../ TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CKMSG2 = COMPARE EXPD RECV MESSAGE BUFFERS PAGE 35 SEQ 0063 4 :PRINT ROUTINE TO FATAL SOFT INIT ERRORS : INPUT: R1 CONIENTS OF TSSR AT ERROR SSIDE EFFECTS: EXECUTES DROP UNIT TO CEASE TESTING 004737 004737 006024 017202 SFIMSG:: L10003: 104423 BGNMSG SFIMSG JSR JSR ENDMSG PC,PRITSSR PC.CKDROP TRAP CSMSG sPRINT CONTENTS OF TSSR REGISTER DROP UNIT, IF ALLOWED i+ sPRINT ROUTINE TO PRINT THE CONTENTS OF sTSSR AND A COMMAND PACKET OTHER THAN GET STATUS COMMAND PACKET. s INPUTS: : : 1484 012046 012046 1485 012046 1486 012052 1487 012056 004737 012700 004737 012062 012062 104423 1488 012062 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 012064 012064 006024 000004 007370 PKTSSR:: L10004: R1 R4 TSSR CONTENTS ADDRESS OF COMMAND PACKET BGNMSG PKTSSR JSR MOV JSR ENDMSG PC,PRITSSR #4 ,R0 PC,PRIPKT TRAP CSMSG JPRINT THE CONTENTS OF TSSR REGISTER JNO. OF WORDS IN PACKET sPRINT THE CONTENTS OF COMMAND PACKET i+ sPRINT ROUTINE TO PRINT THE CONTENTS OF sTSSR AND A GET STATUS COMMAND PACKET. L INPUTS: R1 Ré TSSR_CONTENTS ADDRESS OF COMMAND PACKET BGNMSG PKTGETS PKTGETS:: 1502 1503 1504 1505 012100 006024 000002 007370 L10005: 104423 d JSR MOV gagnss PC,PRITSSR #2.R0 PC.PRIPKT TRAP CSMSG ;PRINT THE CONTENTS OF TSSR REGISTER *NO. OF WORDS IN GET STATUS PACKET *PRINT THE CONTENTS OF COMMAND PACKET : + : INPUTS: : R1 004737 006024 : SFFMSG: L10006: o 8°g-~ b h b h - NN : 104423 : TSSR CONTENTS R4 ADDRESS OF COMMAND PACKET BGNMSG SFFMSG JSR ENDMSG PC,PRITSSR TRAP CSMSG .SBTTL PKTMES ;PRINT CONTENTS OF TSSR REGISTER = PRINT TSSR AND MESSAGE BUFFER :PRINT ROUTINE TO PRINT THE CONTENTS OF TSSR AND MESSAGE BUFFER FOR ERROR REPORTS : INPUTS: : R1 : PONININD = b wd b b SO0 O000 b b d o — d o} o ek ) e e e b b d md S LS LNT NN NN NN 004737 010200 010301 004737 104423 006024 R2 CONTENTS OF TSSR LOW ORDER MESSAGE BUFFER : R3 d BGNMSG PKTMES ; (=lelelelelelelele] \flngdOOONOMbWNJO ~ o0 1541 SEQ 0064 :PRINT TSSR ERRORS FOR INITIALIZATION TESTS [=lelolelele) NV V0 —t et ViV WwiwWwwwwhonrorNN RN nd i e . i D Dk D s d v Vi D 004737 012700 004737 WNN=OV~N 'Y R e R e e i D 012064 012070 0 012074 0 012100 0 12100 PAGE 35-1 PKTMES:: JSR MOV MOV 014242 JSR L10007: HIGH ORDER MESSAGE BUFFER ADDRESS NOTE: R3 IS IGNORED IF KTENABLE FLAG IS CLEAR ENDMSG TRAP PC.PRITSSR R2.RO R3.R1 PC.PRMESS C$MSG :PRINT CONTENTS OF TSSR :LOW ORDER ADDRESS *HIGH ORDER ADDRESS *PRINT THE MESSAGF BUFFER T TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CKMSG2 =~ COMPARE EXPD RECV MESSAGE BUFFERS TSV3 = GLOBAL AREAS ADDSSR MACRO M1113 = PRINT TEST ADDRESS AND TSSR 25-MAY-82 09:19 i+ .SBTTL PAGE 36 ADDSSR SEQ 0065 = PRINT TEST ADDRESS AND TSSR sPRINT ROUTINE TO PRINT THE CONTENTS OF sTSSR AND A MEMORY TEST ADDRESS NN d e b o e — D b d D D D D NN S WWNONON : OO0O00O0000 WVSWNN=O WVWONO: P Vit ViV _— D D s iaunianw VAWV =2 : INPUTS 004737 016501 004737 010274 000002 006024 RS ADDSSR:: L10010: 104423 ¥ FIRST DEVICE UNIBUS ADDRESS ERRHI ERRLO HIGH ORDER MEMORY TEST ADDRESS LOW ORDER MEMORY TEST ADDRESS BGNMSG ADDSSR JSR MOV JSR ENDMSG PC,PRITADD TSSR(RS) ,R1 PC,PRITSSR TRAP CSMSG -SBTTL MSGEXP = PRINT WRITE CHAR. EXPD-RECV MESSAGE BUFFERS sPRINT MEMORY TEST ADDRESS sGET CURRENT TSSR sPRINT THE CONTENTS OF TSSR REGISTER 1581 1582 g&o«omvnnbbb NSO e b b b d b d b b b d D —t d D md d d D NN EXPMSG RECMSG = RCVHIADD= RCVLOADD= elelelelelelelelel] e p SN = sgtnl-uoun RS — ) — d —d b :PRINT ROUTINE TO PRINT WRITE CHARACTERISTIC MESSAGE BUFFER SIMPLICIT INPUTS: 012700 005737 001402 012700 004737 104423 000007 002226 000010 014552 MSGEXP:: BGNMSG MSGEXP MOV #7,R0 BEQ 5% TST 5%: L10011: EXPECTED RECEIVED RECEIVED RECEIVED MOV JSR ENDMSG TRAP EXTFEA #8..R0 PC.,PRMSGEXP CSMSG MESSAGE MESSAGE MESSAGE MESSAGE BUFFER BUFFER BUFFER HIGH ORDER ADDRESS BUFFER LOW ORDER ADDRESS JASSUME NO EXT FEATURES sEXT FEATURES SET? JBR IF NO JEXT FEATURE BUFFER 1S 8 WORDS sPRINT EXPD/RECV MESSAGE BUFFERS N Lo 72 V3 - GLOBAL AREAS FEXP MACRO M1113 = PRINT FIFO EXP/RECV DATA 25-MAY-82 09:19 1584 1585 1586 1587 1588 1589 1590 1591 159% 159 1594 1595 1596 012170 R1 1604 FIFEXP = PRINT FIFO EXP/RECV DATA = BYTE COUNT SIMPLICIT INPUTS: FIFEXP:: & NN—I SO 8 oo b ed 2746 012242 000002 000006 012311 000001 000004 1600 012234 1601 012240 015122 - L10012: oo 104423 045 045 — 012240 012240 1602 012242 1603 012311 .SBTTL SEQ 0066 :PRINT ROUTINE TO PRINT FIFO EXP/RECV DATA (=1 g-‘OOOO O—dd O 012170 1597 012170 012170 012172 012176 012202 012204 012206 1598 012212 012212 012216 012222 012224 012226 1599 012232 9 6 PAGE 37 04 5 04 5 FIFIMSG: FIF2MSG: EXPMSG RECMSG = EXPECTED MESSAGE BUFFER (CONTAINS FIFO DATA ONLY = RECEIVED MESSAGE BUFFER (CONTAINS FIFO DATA ONLY) BGNMSG FIFEXP PRINTX Mov MoV MoV MOV TRAP ADD PRINTX Mov MOV MoV TRAP ADD MoV JSR #FIFIMSG,R1 ENDMSG TRAP .EVEN R1,-(SP) sPRINT BYTES TRANSFERRED #F IF1MSG,=(SP) G #F IF2MSG,=(SP) #1,-(SP) ;PRINT HEADER MSG SP,RO CSPNTX #4,SP R1.RO PC.PRBYTEXP CSMSG +ASCIZ +ASCIZ sGET BYTE COUNT sPRINT FIFO BYTES IN ERROR 'EINXA NUMBER OF BYTES TRANSFERRED = Xv2' 'XNXA FIFO DATA BYTLS IN ERROR:* TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 522 MSGSTAT = PRINT STATUS HEADER AND MESSAGE BUFFERS «SBTTL SEQ 0067 MSGSTAT = PRINT STATUS HEADER AND MESSAGE BUFFERS d e 010046 012746 WW o g SUWN= e ) b MSGSTAT:: MOV 108: 000001 000004 000012 014552 208: L10013: Yo X N 012 — d — e b (e Yo Yo Yo o b b b b 012430 0 sASCII ADDRESS TABLE :DONE ALL MSG LINES? :BR IF YES JPRINT STATUS BIT NAMES 10§ ;DO ANOTHER MSG LINE PC.PRMSGEXP sPRINT EXPD/RECV MESSAGE BUFFERS (R})*.RO PRINTX MOV MoV MoV TRAP ADD RO RO,=(SP) #1,-(SP) SP.RO CSPNTX #4,SP MOV #10..RO TRAP CSMSG BR JSR ENDMSG BUFFER BUFFER BUFFER HIGH ORDER ADDRESS BUFFER LOW ORDER ADDRESS MSGSTAT #STATCOD,R1 MOV STATCOD: 1$:.ASCIZ JNUMBER OF WORDS IN A READ STATUS BUFFER .WORD 18,28, 38 48 5%.6%.0 'INXA Tape Bus Sla n Word #8:°' 28:.ASCIZ ‘INXA PARE R<15> IEOT <12> IFMK <9> [IRDY<6> 38:.ASCIZ °2INXA IRESV2<14> [1IDENT<11> IHER <8> [IONL<S> 4$: .ASCIZ 'INZA IRESVI<13> ICER <10> [ISPEED<7?> ILDP<4> 5¢:.ASCIZ '2N1A Tape Bus St?nals in Word #9:° 63:.Asc125vez DATMIS<?> ILW<6> OUTRDY<S> INRDY<4>' . .SBTTL MSGLOOP = PRINT LOOPBACK HEADER AND MESSAGE BUFFERS K 34 WW gy AIR TATATEA T L) *PRINT ROUTINE TO PRINT MESSAGE BUFFER EXPD/RECV SIMPLICIT INPUTS: (=lele] & WNN=0VBNO NS WNN=O Voo~ AR AR R R R R R RN R R R vy W e o D o i D e e e o i e OO 012412 104423 SURRURZET e e D e o d ooooOrONONONONONON o e 012701 012100 001410 004737 165 EXPMSG <~ EXPECTED MESSAGE RECMSG = RECEIVED MESSAGE RCVHIADD- RECEIVED MESSAGE RCVLOADD= RECEIVED MESSAGE BGNMSG b SN b N o o e e o . ; H ; NN oo b e d OVRNOWVSWN=O e cd cd cd cd cd IHPLICIT INPUTS : e b EPRINT ROUTINE TO PRINT MESSAGE BUFFER EXPD/RECV Nt cororOrOrOFOMOMOMONONO d 4 PAGE 38 012701 013126 EXPMSG = EXPECTED MESSAGE BUFFER RECMSG = RECEIVED MESSAGE BUFFER RCVHIADD- RECEIVED MESSAGE BUFFER HIGH ORDER ADDRESS RCVLOADD~ RECEIVED MESSAGE BUFFER LOW ORDER ADDRESS BGNMSG MSGLOOP:: MoV MSGLOOP #LCOPCOD ,R1 sASCII ADDRESS TABLE IRWD<2>' IFBY<I>® [IFPT<O>* TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 MSGLOOP = PRINT LOOPBACK HEADER AND MESSAGE BUFFERS 1655 013070 1656 013072 1657 013074 013074 013076 013102 013104 013106 1658 013112 1659 013114 1660 013120 1661 013124 013124 012100 001410 010046 012746 010600 104415 062706 000004 012700 004737 000012 014552 000766 ‘i 013124 104423 1663 013126 1664 013146 1665 013221 1666 013320 1667 013417 1668 013516 1669 013615 1670 013714 013146 045 045 045 045 045 045 045 }g;} 108: 000001 208: L10014: 013221 116 116 116 116 116 116 116 013320 045 045 045 045 045 045 045 PAGE 38-1 MOV BEQ PRINTX MOV (R1)+,R0 208 RO RO,=(SP) sDONE ALL MSG LINES? :BR IF YES sPRINT STATUS BIT NAMES 108§ ;D0 ANOTHER MSG LINE MOV MOV TRAP ADD #1,=-(SP) SP,RO CSPNTX #6,SP MOV JSR ENDMSG #10. ,RO PC.PRMSGEXP TRAP (SMSG BR LOOPCOD: 18:.ASCIZ 2%:.ASCIZ 3$:.ASCIZ 4$:.ASCIZ 5$:.ASCIZ 6%$:.ASCIZ 7$:.ASCIZ °'INXA ‘'INXA 'INXA 'INXA 'INXA 'INXA 'INXA .EVEN SEQ 0068 :NUMBER OF WORDS IN A READ STATUS BUFFER ;PRINT EXPD/RECV MESSAGE BUFFERS .WORD 1$,2%,3%,4%,5%,6%,78.0 Tape Bus Loopback Signals in Word #8:° PARERR<15> IRESV2<14> IHISP=>IEOT<12> IWRT=>1IDENT<11> IWFM =>IFMK<09> IEDIT=>IHER <08> ITADO=>IRDY<06> ITAD1=>IONL <05> IREW =>IDBY<03> IRWU =>IRWD <02> IGO0 =>IFPT<00>* IRESV1<13>* IREV =>ICER <10>* IFAD =>ISPEED<07>" IERASE=>ILDP <04>° IFEN =>IFBY <01>' f TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 MSGSUB = PRINT WRITE SUBSYSTEM MESSAGE BUFFER }2;2 .SBTTL PAGE 39 SEQ 0069 MSGSUB = PRINT WRITE SUBSYSTEM MESSAGE BUFFER :0 1676 }g;; ; *PRINT ROUTINE TO PRINT MESSAGE BUFFER EXPD/RECV 1679 : 1682 : }ggz ; }gg? SIMPLICIT INPUTS: 1683 1684 1687 013742 013742 1688 013742 1689 013746 1690 013752 1691 1692 1693 013752 013752 012700 004737 000012 014552 = EXPECTED MESSAGE BUFFER RECMSG = RECEIVED MESSAGE BUFFER RCVHIADD- RECEIVED MESSAGE BUFFER HIGH ORDER ADDRESS : BGNMSG MSGSUB MOV JSR ENDMSG #10. RO PC,PRMSGEXP TRAP (SMSG .SBTTL MEMADD = PRINT MEMORY ADDRESS DATA ERROR RCVLOADD=- RECEIVED MESSAGE BUFFER LOW ORDER ADDRESS MSGSUB:: L10015: 104423 EXPMSG ; : }ggg :SIZE OF WRITE SUBSYSTEM BUFFER :PRINT EXPD/RECV MESSAGE BUFFERS .'0 1698 : };83 SIMPLICIT INPUTS: 1703 : ERRHI = MEMORY ERROR HIGH ORDER ADDRESS ;;89 ; RECY = RECEIVED DATA ’ BGNMSG MEMADD JSR MOV MOV JSR ENDMSG PC.PRIADD EXPD,R1 RECV.R2 PC,PRIXOR TRAP CSMSG }9%3 :PRINT ROUTINE TO PRINT MEMORY ADDRESS DATA COMPARE ERROR 1704 1705 ; ; 1708 013754 013754 &~ ~N — —_ 1709 013754 1710 013760 1711 013764 1712 013770 1713 013774 013774 013774 004737 013701 013702 004737 104423 010160 002232 002234 007742 MEMADD :: L10016: ERRLO EXP = MEMORY ERROR LOW ORDER ADDRESS - EXPECTED DATA ;PRINT MEMORY ADDRESS IN ERROR *GET EXPD DATA :GET RECEIVED DATA :PRINT EXPD/RECV TSV3 = GLOBAL AREAS MACRO M1113 PRAMPKT = PRINT RAM AND PACKET DATA 25-MAY-82 09:19 };}9 PAGE 40 .SBTTL SEQ 0070 PRAMPKT = PRINT RAM AND PACKET DATA ;0 1718 1719 3 sPRINT ROUTINE TO DISPLAY RAM/PACKET DATA 1722 1723 :INPUTS: S };%? JWHEN THE RAM DATA DOES NOT MATCH. %;%é : };%g JIMPLICIT INPUTS: 1728 1729 3 : 1732 1733 1734 1735 1736 JIMPLICIT OUTPUTS: 3 : RAMSIZ SET TO0O 0 ;TM };;? 1737 013776 1738 013776 1739 014002 1740 014006 1741 014010 1742 014012 1743 014014 1744 014026 1745 014026 1746 014032 1747 014036 : : 012701 005002 122124 001005 000436 116105 116403 PRAMPKT : 002242 5$: 177777 177777 1748 014046 042703 014066 014070 014076 014100 016102 014106 014112 014114 014116 1752 014122 1753 014124 1754 014130 1755 014132 1756 014136 1757 014140 1758 014142 1759 014146 1760 014150 010346 013746 013746 010246 012746 012746 010600 104414 062706 005202 005737 001404 020237 003724 000403 020227 002720 005037 002302 1763 014156 045 116 1749 014052 1750 014060 1751 014066 };g; 014154 116137 116437 000207 177400 177777 177777 7%: 0177400.R3 15%: 208: 25%: RAMASC: .ASCIZ °'INXA 002302 RTS sSAVE R1=RS UNTIL NEXT RETURN :DATA FROM THE RAM JINIT BYTE NUMBER ;COMPARE EXPECTED, RECEIVED :BR IF NO MATCH @D sGET RLCV RAM DATA JGET EXPD PACKET DATA :XOR EXPD/RECV ;LOW BYTE ONLY =1(R1) ,RECV JGFT RECEIVED RAM DATA -1(R4) ,EXPD sGE« EXPECTED RAM DATA #RAMASC,R2,RECV,.EXPD,R3 R3,=(SP) EXPD,=(SP) RECV,=(SP) R2.=(SP) #RAMASC ,-(SP) #5,-(SP) SP,RO CSPNTB #14,SP .74 RAMSI2 15% R2 .RAMS 12 5$ 25% R2.#8. 5% RAMS 12 108: 045 IF RAMSIZ=0 THEN DEFAULT TO 8. MOV MOV MOV MOV MOV MOV MOV TRAP ADD INC TST BEQ CMP BLE BR CMP BLT CLR 014156 000005 000010 DATA AS READ FROM THE RAM NUMBER OF BYTES IN PACKET ; SAVREG MOV #RAMDATA ,R1 CLR R2 CMPB (R1)+,(R4)+ BNE 7% FORCERROR 78 ,NOTSSR BR 108 MOVB =1(R1) RS MOVB =1(R4) ,R3 XOR RS,R3 MOVB MOVB PRINTB 002232 002234 002302 POINTER TO COMMAND PACKET RAMDATA RAMS 12 BIC 002234 002232 000014 R4 PC JUPDATE BYTE COUNT :DEFAULT TO 8.? :BR IF YES sDONE ALL BYTES? :BR IF NO 3 ;DONE DEFAULT NUMBER OF BYTES? :BR IF NO SET DEFAULT RAMSIZ JRETURN BYTE: ID2XA RAM: X03%A Packet: X03XA XOR:%03® TSV3 = GLOBAL AREAS MACRO M1113 PRAMPKT = PRINT RAM AND PACKET DATA 1764 1765 1766 25-MAY-82 09:19 .EVEN PAGE 40-1 6 SEQ@ 0071 TSV3 = GLOBAL AREAS PRMESS MACRO M1113 25-MAY-82 09:19 <~ PRINT CONTENTS OF MESSAGE BUFFER };gg .SBTTL PAGE 41 PRMESS SEQ 0072 = PRINT CONTENTS OF MESSAGE BUFFER :0 1770 1771 1772 *THIS ROUTINE PRINTS THE CONTENTS OF :THE 7 OR 8 WORD MESSAGE BUFFER RETURNED BY THE 1773 .rsv-os. 1774 };;z 'lNPUT: 1777 1778 ; : };gg :THIS ROUTINE IS NORMALLY CALLED FROM A PRINT ROUTINE };;3 1783 1784 : 1785 014242 1786 014> _ 1787 ~ L2646 .00 014250 1789 014254 1790 014256 1791 014260 1792 014262 1793 014264 1794 014266 014266 014270 014272 014276 014302 010546 010146 012746 012746 010600 014306 062706 1795 014312 014312 014316 PRMESS: 010005 005737 001001 005001 010103 006100 006101 104415 012746 012746 014322 014326 014326 1796 014332 010600 104415 062706 005004 1799 014340 001403 1801 014346 010005 003134 108: 1802 014350 014350 014352 004737 012546 010446 014356 014360 012746 012746 014366 014370 1803 014374 1804 014376 104415 062706 005204 020427 014364 1805 014402 NOTE: R1 IS IGNORED IF KTENABLE FLAG IS CLEAR 010600 003005 SAVREG MOV ST BNE CLR MOV ROL ROL PRINTX MOV RO,RS KTENABLE 108 R1 R1.R3 RO R1 #PROASC.R1,RS RS,=(SP) 014420 000003 MOV MOV MOV MOV R1.=(SP) #PROASC,=(SP) #3,=(SP) SP_RO 000010 ADD #10,SP 014465 MOV opn1Asc -(SP) TRAP PRINTX 000001 MOV MOV TRAP ADD CLR 000004 1797 014334 010501 1798 014336 010300 1800 014342 LOW ORDER ADDRESS OF MESSAGE BUFFER HIGH ORDER ADDRESS OF MESSAGE BUFFER = - 014304 RO R1 20$: 014523 000003 000010 000007 CSPNTX #PRIASC :PRINT HEADER FOR CONTENTS 1,-(SP) sp.no CSPNTX #6,SP R4 ;NUMBER OF THE NEXT WORD MOV MOV RS.R1 R3 RO :COPY LOW ORDER ADDRESS :COPY HIGH ORDER ADDRESS JSR PC,SETMAP *SETUP PAR ADDRESS IN RO PRINTX #PRASC.R4,(RS)+ :PRINT THE CONTENTS OF MEMORY BUFFER MOV MOV #PRASC, =(SP) #3,-(SP) BEQ 017316 :SAVE THE REGISTERS *SAVE LOW ORDER ADDRESS *ADDRESS ABOVE 28K? :BR IF YES *SET HIGH ORDER ADDRESS TO 0 *SAVE HIGH ORDER ADDRESS *SHIFT BIT1S T0 C BIT :SHIFT TO HIGH ORDER FOR PRINTOUT :PRINT MESSAGE BUFFER ADDRESS MOV MOV MOV MOV TRAP ADD INC CMP B8GT 208 RO.RS :BR IF NOT ABOVE 28K :GET PAR FORMAT ADDRESS ABOVE 28K (RS)+,~(SP) Ré,=(SP) SP.RO CSPNTX #10,5P R4 RG 47 50§, :NUMBER OF THE NEXT :DONE ALL YET ? *BRANCH IF ALL DONE TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 = PRINT CONTENTS OF MESSAGE BUFFER 1806 014404 1807 014406 1808 014414 002761 032763 001355 1811 014420 045 b b oonor 045 045 508: e 1812 014465 1813 014523 1814 045 045 045 PAGE 41-1 SEQ@ 0073 20% :PRINT FIRST 7 WORDS gC PglzgnEXTENDED STATUS WORD #X2.EXTF ,XST2(R3);EXTENDED FEATUTES ON ? 000012 000207 — }g?g 014416 000200 — PRMESS PROASC : PR1ASC: PRASC: 'INXA Message Buffer Address = !01!05' 'INXA Message Buffer Contents:' *INZA WordXD1XA: %0° TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PRMSGEXP = PRINT EXPD/RECV MESSAGE BUFFERS }g}? .SBTTL PAGE 42 SEQ 0074 PRMSGEXP = PRINT EXPD/RECV MESSAGE BUFFERS ;0 1818 }3}3 : ;ROUTINE TO PRINT EXPECTED AND RECEIVED MESSAGE BUFFERS }gg]‘, ; }gsz SIMPLICIT INPUTS: 1825 : EXPMSG 1827 : RCVHIADD- RECEIVED MESSAGE BUFFER HIGH ORDER ADDRESS 1830 014552 1831 014552 1832 014556 PRMSGEXP:: SAVREG MOV 1826 RO : }ggg 1833 014560 013700 002306 1834 014564 1835 014566 1836 014572 1837 014574 1838 014576 010004 013701 006100 006101 014600 010146 014614 104415 062706 014576 = EXPECTED MESSAGE BUFFER RECMSG =~ RECEIVED MESSAGE BUFFER ; 010005 - NUMBER OF WORDS IN BUFFER RCVLOADD- RECEIVED MESSAGE BUFFER LOW ORDER ADDRESS MOV MOV MOV ROL ROL PRINTX 002304 010446 MOV RO,.RS JSAVE R1=RS UNTIL NEXT RETURN sSAVE NUMBER OF WORDS RO, R4 RCVHIADD ,R1 RO R1 #PRMSGO,R1,Ré :COPY LOW ADDRESS JGET RECV HIGH ADDRESS *SHIFT BIT1S TO C BIT JSHIFT TO HIGH ORDER FOR PRINTOUT :PRINT MESSAGE BUFFER ADDRESS RCVLOADD,RO Ré,=(SP) MOV R1,=(SP) TRAP ADD PRINTX CSPNTX #10,SP #PRMSG1 000001 MOV MOV #1,-(SP) SP,RO 014636 062706 000004 ADD #6,5P MOV MOV #EXPMSG,R1 #RECMSG.R2 MOV XOR (R2) .R3 RO.RS MOV MOV R3,-(SP) (R2)+,~(SP) 014602 012746 014732 014606 012746 000003 014612 010600 014616 1839 014622 MOV MOV MOV 000010 014622 012746 014777 014626 014632 014636 1840 014642 012746 010600 104415 005004 1841 014644 012701 1842 014650 012702 1843 014654 1844 014656 1845 014660 MOV 011100 002322 002466 011203 TRAP CLR 208: MOV 1846 014670 PRINTX 014670 010346 014672 012246 014674 014676 014700 014706 014710 014712 014714 1847 014720 1848 014722 1849 014724 1850 014726 1851 014730 012146 010446 012746 015035 012746 000005 010600 104415 062706 005204 020405 002001 000752 000207 MOV MOV MOV MOV MOV 000014 - 50$: #PRMSGC, = (SP) #3,-(SP SP.RO #PRMSG1,=(SP) Ré ;NUMBER OF THE CURRENT WORD (R1) RO :GET EXPD :GET EXPD BUFFER ADDRESS *GET RECV BUFFER ADDRESS :GET RECV :XOR EXPD/RECV #PRMSG2,Ré4,(R1)+.(R2)+,R3 (R1)+ =(5P) RG,~($P) #PRMSG2, = (SP) #5,-(SP) SP.RO CSPNTX 94.5P BGE B8R 50$ 208 RTS :PRINT HEADER FOR CONTENTS CSPNTX TRAP ADD INC P :GET RECV LOW ADDRESS R¢ Y& R4 RS ;NUMBER OF THE NEXT :DONE ALL YET? PC *RETURN :BR IF YES D0 ANOTHER TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PRMSGEXP = PRINT EXPD/RECV MESSAGE BUFFERS 185 185% 014732 }gSA 014777 agg 015035 1 1 857 045 045 045 116 }}g PAGE 42-1 SEQ 0075 045 PRMSGO: .ASCIZ °‘INXA Message Buffer Address = %01%05° 045 PRMSG1: .ASCIZ 'INXA Hessage Buffer Contents:' 045 PRMSG2: '23@,’,’ ) *INIA WORD #ID2%A EXPD: 306%A RECV: X06%A XOR: %06' TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PRBYTEXP = PRINT ERROR BYTES IN EXP/REC MESSAGE BUFFER 1859 1860 1861 * 4 .SBTTL PAGE 43 SEQ 0076 PRBYTEXP = PRINT ERROR BYTES IN EXP/REC MESSAGE BUFFER 186% 186 1864 1865 *ROUTINE TO PRINT ERROR BYTES IN MESSAGE BUFFERS 1867 1868 1869 1870 1871 1872 015122 1873 015122 1874 015126 1875 015130 1876 015134 1877 015136 1878 015142 1879 015146 1880 015150 1881 015154 1882 015160 1883 015162 1884 015166 1885 015172 1886 015202 1887 015204 1888 015206 1889 015212 1890 015220 1891 015222 SIMPLICIT INPUTS: ONLY THE FIRST 8 ERRORS ENCOUNTERED ARE PRINTED DUE TO SCREEN SPACE _ 1866 015222 015224 015230 015234 015236 015242 015246 015250 015252 1892 015256 1893 015266 1894 015270 1895 015270 1896 015300 1897 015300 1898 015302 1899 015304 1900 015306 1901 015310 015310 015314 015320 015324 015326 : : RO EXPMSG RECMSG - NUMBER OF BYTES IN BUFFER = EXPECTED MESSAGE BUFFER = RECEIVED MESSAGE BUFFER PRBYTEXP:: SAVREG MOV CLR CLR 002320 002322 002466 208: 177400 015470 MOV MOV #EXPMSG.R1 #RECMSG.R2 BIC #4c<$77>.R0 MOVB BIC (R2),R3 #°C<$77>,R3 MOVB MOVB 177400 015472 MOVB XOR CMPB 002320 002320 000010 278: 015472 015470 BEQ INC CMP BHI PRINTX MOV MOV MOV MOV MOV 015336 000005 (R1),RO RO,PRBEXP R3,PRBRE( RO.R3 (R1)+,(R2)+ 308 PRMNO PRMNO, #8. 30$ 308: = PRBREC, =(SP) PRBEXP,=(SP) Ré,=(SP) #PRBMSG, = (SP) #5,-(SP) BR 35 FORCERROR CMP BGE 508: 508 27$,NOTSSR R4 R4 RS 50§ BR PRINTX 208 #PRBTOT,PRMNO MOV #2,-(SP) MOV MOV MOV TRAP sFOR ERROR REPORT :XOR EXPD/RECV sEXPD = RECV? :BR IF YES sUPDATE ERROR COUNT sPRINTED 8? :BR IF YES R3,=(S MOV INC sSAVE R1=R5 UNTIL NEXT RETURN s SAVE NUMBER OF BYTES sINIT ERROR COUNT sNUMBER OF THE CURRENT BYTE sGET EXPD BUFFER ADDRESS sGET RECV BUFFER ADDRESS sGET EXPD BYTE sCLEAR UPPER BYTE sSAVE FOR ERROR REPORT sGET RECV BYTE sCLEAR UPPER BYTE 0PR885g5R4.PRBEXP.PRBREC.R3 MOV SP.RO TRAP CSPNTX ADD #14,SP FORCEXIT 000014 002 015423 000002 RO,RS PRMNO R4 PRMNO, = (SP) #PRBTOT,~(SP) SP.RO CSPNTX saaD sNUMBER OF THE NEXT sDONE ALL YET? sBR IF YES :DO ANOTHER sPRINT TOTAL ERROR COUNT TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 PRBYTEXP = PRINT ERROR BYTES IN EXP/REC MESSAGE BUFFER 015330 }gg% 015334 062706 000207 000006 1904 015336 1905 015423 1906 1907 015470 }883 015472 045 045 116 116 000000 000000 045 045 PRBMSG: PRBTOT: PRBEXP: PRBREC: PAGE 43-1 6 SEQ 0077 ADD RTS #6,SP PC .ASCIZ .ASCIZ .EVEN .WORD .WORD 'INZA BYTE #XID2%A EXPD: %03%A RECV: %03%A ‘'INXA NUMBER OF BYTES IN ERROR = %D2' 0 0 sRETURN sEXPD sRECV XOR: %03° VISS — hd N — v d cd cd b b ) ) b D ) W= O VO NO NS W) - S 8888222280 2ees TSV3 = GLOBAL AREAS MACRO M1113 EXPREC = PRINT EXPD/RECV WORD DATA 25-MAY-82 09:19 . .SBTTL PAGE 44 EXPREC SEQ@ 0078 = PRINT EXPD/RECV WORD DATA :PRINT ROUTINE TO DISPLAY EXPD/RECV DATA : INPUTS R1 RECEIVED DATA BGNMSG EXPREC JSR ENDMSG PC.PRIXOR TRAP CSMSG R2 01 015474 015474 004737 00 015500 104423 A 007742 EXPREC:: L10017: EXPECTED DATA sPRINT THE DATA TSV3 = GLOBAL AREAS MACRO M1113 EXPBREC = PRINT EXPD/RECV BYTE DATA 25-MAY-82 09:19 SEQ 0079 1929 1930 1931 193 193 1934 1935 1936 1937 1938 1939 1940 1941 1942 015502 015502 1943 015502 1944 015506 015506 015506 1945 PAGE 45 + .SBTTL EXPBREC = PRINT EXPD/RECV BYTE DATA *PRINT ROUTINE TO DISPLAY BYTE EXPD/RECV DATA S INPUTS: ; 004737 007612 EXPBREC: L10020: 104423 R1 RECEIVED DATA BYTE BGNMSG EXPBREC JSR ENDMSG PC.PRIBXOR TRAP CSMSG .SBTTL RAMERR R2 EXPECTED DATA BYTE sPRINT THE DATA 1946 1947 1948 1949 1950 1951 1952 4 glNPUTS: : v -3 o DATA AS READ FROM THE RAM NUMBER OF BYTES IN PACKET IF RAMSIZ=0 THEN DEFAULT TO 8. IMPLICIT OUTPU TS: b ~~ POINTER TO COMMAND PACKET RAMS1Z b e R4 IMPLICIT INPUT S: b b- d b b d b d b b EERER2L 880000000 wviviwnawvivhwwnaana = OV NOWVS®W éPRlNT ROUTINE TO DISPLAY RAM/PACKET DATA d cd b 0O - = PRINT RAM AND PACKET DATA 5510 5510 5510 5514 5514 5514 004737 104423 013776 : RAMERR: L10021: 3% RAMS12 SET TO 0 BGNMSG RAMERR JSR ENDMSG PC.PRAMPKT TRAP CSMSG .SBTTL RAMTADD = PRINT TEST ADDRESS, RAM AND PACKET DATA sPRINT RAM/PACKET DATA *PRINT ROUTINE TO DISPLAY RAM/PACKET DATA INPUTS: TSV3 = GLOBAL AREAS MACRO M1113 25-MAY=-82 09:19 RAMTADD = PRINT TEST ADDRESS, RAM AND PACKET DATA PAGE 45-1 Ré SEQ 0080 POINTER TO COMMAND PACKET IMPLICIT INPUTS: RAMDATA RAMSI1Z DATA AS READ FROM THE RAM NUMBER OF BYTES IN PACKET IF RAMSIZ=0 THEN DEFAULT TO 8. ERRHI ERRLO $38 33283 1991 HIGH ORDER TEST ADDRESS LOW ORDER TEST ADDRESS IMPLICIT OUTPUTS: 004737 004737 010274 013776 RAMTADD: L10022: 104423 %4 RAMS 12 SET T0 0 BGNMSG RAMTADD JSR JSR ENDMSG PC.PRITADD PC,PRAMPKT TRAP CSMSG .SBTTL RAMEXP sPRINT TEST ADURESS sPRINT RAM/PACKET DATA = PRINT RAM EXPD/RECV DATA *PRINT ROUTINE TO DISPLAY EXPD/RECV DATA P INPUTS: 177400 177400 RAMEXP:: 010066 007742 L10023: * 4 R1 R2 Ré4 RECEIVED DATA EXPECTED DATA CONTROLLER RAM ADDRESS BGNMSG RAMEXP 8IC 8IC JSR JSR #4C<377> ,R1 #4C<377> ,R2 PC,.PRIRAM TRAP CSMSG .SBTTL TIMEXP ENDMSG PC,PRIXOR ;AND TIMER A,B HEADER MESSAGE L INPUTS: R1 sPRINT THE RAM ADDRESS sPRINT THE DATA = PRINT TIMER A,B AND EXP/REC *PRINT ROUTINE TO DISPLAY EXPD/RECV DATA R2 . sSAVE EXPD RAM DATA BYTE sSAVE EXPD RAM DATA BYTE RECEIVED DATA EXPECTED DATA | | TSV3 = GLOBAL AREAS TIMEXP MACRO M1113 = PRINT TIMER A,B AND EXP/REC 2031 2032 2033 015552 015552 2034 015552 015552 015556 015562 015564 015566 2035 015572 2036 015576 015576 015576 2037 2038 2039 015600 2040 25-MAY-82 09:19 TIMEXP: MOV MOV 000004 007742 L10024: 045 TIMSGO: .EVEN SEQ 0081 TIMEXP "PRINTX #TIMSGO MOV 015600 000001 116 BGNMSG PAGE 45-2 #TIMSGO,=(SP) #,-(SP) :PRINT HEADER T SP,RO TRAP ADD JSR CSPNTX ¥4 ,SP PC,PRIXOR TRAP CSMSG <ASCIZ 'XNXA TIMER A STATUS IS IN BIT 3XNXA TIMER B STATUS IS IN BIT 2° ENDMSG sPRINT THE DATA TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 BADSSR = PRINT TSSR ERRORS ON DATA TRANSFERS .SBTTL PAGE 46 SEQ 0082 BADSSR = PRINT TSSR ERRORS ON DATA TRANSFERS M :PRINT ROUTINE FOR TSSR ERRORS ON DATA TRANSFERS : INPUTS: 2055 015700 015700 2056 015700 2057 015702 2058 015706 015706 015724 2059 015730 2060 015732 2061 015736 015736 015736 2062 015740 2063 BADSSR:: 010246 042702 177400 010246 012746 012746 015740 000002 BGNMSG BADSSR MOV PRINTB MOV MOV MOV MOV TRAP R2,=(SP) #177400,R2 #XFERASC,R2 L10025: 045 XFERASC: R2,=(SP) #2,-(SP) SP,RO sRESTORE R2 sDECODE TSSR CONTENTS ENDMSG TRAP sSAVE DATA TRANSFERRED sGET JUST ONE BYTE #XFERASC,=(SP) ADD MOV JSR 006024 116 CONTENTS OF TSSR DATA WRITTEN (8 BITS) BIC 000006 104423 045 R1 R2 CSMS6 LASCIZ °'XINXA Data Transferred = %03’ TSV3 = GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION %822 2067 2068 %893 25-MAY-82 09:19 .SBTTL PAGE 47 F GLOBAL SUBROUTINES SECTION 300 s THE GLOBAL SUBROUTINES SECTION CONTAINS THE SUBROUTINES s THAT ARE USED IN MORE THAN ONE TEST. SEQ 0083 TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 SOFINIT =« SOFT INITIALIZE OF CONTROLLER PAGE 48 .SBTTL SOFINIT = SOFT INITIALIZE OF CONTROLLER %8;2 2078 P’ ggg? oEtECtED SHOULD BE TREATED AS DEVICE FATAL ERRORS. 2082 2083 INPUYS : 2077 2078 2079 ROUT]NE TO DO A SOFT INITIALIZE OF THE CONTROLLER :BY WRITING INTO THE TSSR REGISTER. AFTER THE INIT, JTHE TSSR REGISTER IS TESTED FOR ERRORS. ANY ERRORS 58%? : RS 2086 2087 2088 2089 ggg? ;OUTPUTS: 3 : RO s CARRY : ADDRESS OF FIRST REGISTER CONTENTS OF TSSR, IF ERROR SET IF INIT WAS OKAY CLEAR IF FATAL ERROR %83% _sCALLING SEQUENCE: 2094 2095 2096 2097 2098 2099 2100 2101 015774 2102 015774 2103 016000 2104 016006 3 : 3 : - 012765 004737 2106 016016 2107 016020 2108 016024 2109 016030 2110 016032 2111 016034 2112 016036 2113 016040 21146 01 2 010004 042704 052704 020400 001402 000241 000401 000261 000207 2105 016012 016500 000000 016250 000002 000002 MOV JSR BCS ERRDF SOFINIT:: SAVREG MOV JSR MOV 176277 002200 5$: 108: MOV BIC BIS cMP BEQ CLC BR SEC RTS #ADDRESS ,RS PC,SOFINIT CONT INUE #0,TSSR(RS) PC,WAITF TSSR(RS) RO JREPORT FATAL ERROR : SAVE THE REGISTERS : DO THE INIT. : WAIT FOR SSR GET THE TSSR REGISTER RO.R4 JTSSR CONTENTS l‘C(HIADDR'OFL> R4 #SSR!NBA RS R4 HAS EXPECTED CONTENTS R4 .RO °0NLV EXPECTED BITS SET ? b} 1 .BRANCH IF OKAY JCLEAR THE CARRY FOR ERROR 108 :G0 TO EXIT :SET THE CARRY BIT PC :RETURN TO CALLER SEQ 0084 TSV3 < GLOBAL AREAS MACRO M1113 CHKAMB = CHECK TSSR FOR AMBIGUITY 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 .SBTTL PAGE 49 CHKAMB SEQ 0085 = CHECK TSSR FOR AMBIGUITY 2 :THIS ROUTINE TESTS THE CONTENTS OF THE TSSR REGISTER :FOR AMBIGUITY s INPUT: RO CONTENTS OF TSSR ; RO CONTENTS OF TSSR ; : CARRY SET = NO AMBIGUITY CLR = AMBIGUOUS CONTENTS ; :0UTPUT: 2130 2131 2132 2133 2134 2135 2136 016044 2137 016044 2138 016050 2139 016052 2140 016056 2141 016060 2142 016064 2143 016066 2144 016070 2145 016074 2146 016076 2147 016102 2148 016104 2149 016110 2150 016114 2151 016116 2152 016120 2153 016124 2154 016126 2155 016132 2156 016134 2157 016136 2158 016140 g}gg 016142 25-MAY-82 09:19 CHKAMB: 010004 032700 001004 032700 001023 24 032700 001011 032700 001414 042704 020427 001007 10 032700 001405 032700 001002 000241 000401 000261 000207 100000 174077 000200 5%: 000040 177761 000016 000040 SAVREG MOV 000006 :SAVE THE GENERAL REGISTERS *CONTENTS OF TSSR BIT BNE BIT BNE #SC.RO :IS BIT 15 SET ? 58 *BRANCH IF YES #*C<NBA!OFL'SSR!HIADDR>,RO :ANY OTHER BITS SET ? 408 ;MUST BE AN ERROR BIT BNE BIT Bc0 BIC CMP #SSR,RO 108 #8IT5.R0 408 #*CTERCLS,Ré RG 416 B8R 458 B8R BNE 108: RO,R4% BIT BEQ 408: BIT BNE gkc 458: 508: SEC RTS 45$ 408 #BITS.RO 458 #BIT2!'BITI,RO 458 *RETURN WITH SUCCESS :1S READY BIT SET ? :BRANCH IF READY BIT IS SET. :1S FATAL ERROR BIT SET ? *ERROR IF NOT :CLEAR ALL BUT TERMINATION COvE :ALL THREE BITS MUST BE SET :ERROR IF NOT SET :0K IF ALL ARE SET +1S FATAL ERROR BIT SET ? :ERROR IF BIT IS SET WITH SSR - :IS THIS A FUNCTION REJECT *BR, IF TSSR IS OK :AMBIGUOUS CONTENTS PC :SHOW SUCCESS = NO AMBIGUITY *RETURN TO CALLER - 0O 0000 P00 ORDPRBRBBBR N ¥V Y VNI NERARRPO oo NININININININNININI NN NN NI NN NN NN NN NN A RN RN NN NNNN TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 ENAINT ,DSBINT = ENABLE/DISABLE INTERRUPTS .SBTTL PAGE 50 SEQ 0086 ENAINT,DSBINT = ENABLE/DISABLE INTERRUPTS DEFAULT DISPLAY INTERRUPT HANDLERS. iF DISPLAY TIME-OUT, REPORT DEV FATAL, AND ABORT PASS. OTHERWISE, SAVE DPU REGISTERS AND DISMISS. BIT DEFINITIONS FOR ‘'INTMASK'® AND “‘INTFLAG'® BYTES: 000200 000001 016144 000 016145 000 016146 000000 016150 000000 I0KSTP=BITO ; DON'T CHECK FOR BAD INTERRUPTS == TEST WILL. : EXPECT "'STOP'* INTERRUPT. : INTERRUPT MASK y- SAYS gxpecrxnc INTERRUPTS INTMASK : .BYTE : INTERRUPT FLAG == SAYS WE GOT ONE (IF POSITIVE) INTFLAG: .BYTE 0 s SAVED INTERRUPT VECTOR: INTVEC: .WORD O :SAVE CPU PC INTCPC: .WORD O :SUBROUTINE TO ENABLE INTERRUPTS: (=lelelelelelel) 016204 016206 016214 JIOKCKIN=BIT?7 ENAINT: MOV MOV 002210 016216 000340 000000 011646 012766 000002 IVEC.RO MOV #INTR, (RO) + MOV MoV :?Y (SP)+,R0 (SP) ,=(SP) #0,2(SP) MOV 000002 RO, =(SP) #PRIO7, (RO)+ :SAVE RO :GET POINTER TO VECTORS JSET UP INTERRUPT VECTOR sRESTORE RO :SET CPU TO LEVEL 0 :SUBROUTINE TO DISABLE INTERRUPTS (RAISE PRIORITY TO LEVEL 7) 000340 000002 DSBINT: MOV g?y (SP) ,=(SP) #PR107,2(SP) TSV3 = GLOBAL AREAS MACRO M1113 INTR = INTERRUPT HANDLERS 25-MAY-82 09:19 £501 2202 816 }g INTR 2203 016216 012737 000001 2204 016224 2205 016230 2206 016236 %%8‘ 016240 22 016246 2211 016246 016246 016246 2212 2213 105037 132737 001003 152737 000002 016145 000001 000001 002224 016144 016145 T PAGE 51 SEQ 0087 .SBTTL INTR BGNSRV INTR sDEFINE INTERRUPT ENTRY mov #1,INTRECV sSET FLAG TO SHOW INTERRUPT RECEIVED CLRB BITB BNE 8Is8 = INTERRUPT HANDLERS INTFLAG #10KSTP,INTMASK 1$ #10KSTP,INTFLAG sCLEAR FLAG TO SAY WE GOT INTERRUPT ;EXPECTING STOP INTERRUPT? sBR IF YES ;NO. SET THE ERROR FLAG. : SAVE REGISTERS, MSG BUFFER, ETC. 18: ENDSRV L10026: RTI TSV3 = GLOBAL AREAS WAITF MACRO M1113 = WAIT FOR SUBSYSTEM READY 25-MAY-82 09:19 %%}2 .SBTTL PAGE 52 WAITF SEQ 0088 = WAIT FOR SUBSYSTEM READY %%}; : SUBROUTINE TO WAIT FOR THE SUBSYSTEM READY FLAG 2219 2220 %5%} s INPUTS:: : . RS %ggz :OUTPUTS : 2225 2226 : : gggg : 2229 016250 2230 016252 016252 2231 016254 104422 012746 5%%2 016264 105700 2232 016260 000401 016500 2235 016266 2236 016270 016270 016274 016276 016302 016304 016310 016312 016316 2237 016320 2238 016322 2239 016324 012727 000000 013727 000000 005367 001375 005367 001367 005316 001356 000241 2241 016330 2242 016332 2243 016334 000261 005326 000207 2240 016326 003000 000002 WAITF:: BR BREAK TRAP 1$: MoV 28: 100420 000401 RO CARRY 000001 002116 177772 177756 3s: 4$: MOV ADDRESS OF FIRST DEVICE REGISTER CONTENTS OF LAST TSSR READ SET = READY BIT SET CLR = TIMEOUT WAITING FOR READY 18 C$BRK osooo -(SP) TSSR(RS) ,RO TSTB RO BM] DELAY MOV LWORD MOV .WORD DEC BNE DEC BNE DEC BNE cLC 3s 1 #1,(PC)+ O LSDLY,(PC)+ O ~6(PC) b =22(PC) .~20 (SP) 2$ B8R SEC DEC RTS 13 (SP)+ PC :NOP WHEN SUPER FIXED : DO A SUPVSR BREAK FIRST. 2300 MSEC TIMER ;READ THE TSSR REGISTER sTEST FOR READY BIT SET s EXIT ON STOP FLAG. : WAIT 100 USEC ;REDUCE DELAY COUNT sRETRY UNTIL TIMER EXPIRES ;s C =0, CONTROLLER STILL RUNNING... ie2.0R HUNG-UP AFTER 300 MSEC. C = 1, CONTROLLER IS STOPPED. *RESTORE STACK WITHOUT CHANGING CARRY BIT TSV3 = GLOBAL AREAS MACRO M1113 CHKTSSR = CHECK TSSR FOR READY 25-MAY-82 09:19 ggzg .SBTTL PAGE 53 SEQ 0089 CHKTSSR = CHECK TSSR FOR READY 2247 2248 2249 i+ 3 :THIS ROUTINE WAITS FOR READY IN THE TSSR 2252 2253 L INPUT: 3 2256 2257 2258 2259 ;OUTPUT: : ; RO : CARRY ; 2262 2263 2264 016336 2265 016336 ;e 004737 016250 2267 016344 004737 016044 2269 016352 2270 016356 2271 016360 2272 016364 2273 016366 2274 016370 2275 016372 2276 016374 032700 001405 032700 001402 000241 000401 000261 000207 100000 gggg ;AND TESTS FOR AMBIGUOUS BIT SETTINGS IN TSSR. gggg ; gggg 2266 016342 2268 016350 103014 103006 CHKTSSR: RS 158: 208: CLR = NOT READY AMBIGUOUS, OR SC SET PC, WAITF JSR PC, CHKAMB BIT BEQ BIT BEQ CLC BR SEC RTS #SC.RO 15§ #<SCE'BIE'RMR!NXM>,R0 15 BCC 108: CONTENTS OF TSSR SET = OKAY JSR BCC 074000 ADDRESS OF CSR REGISTERS 20§ 10§ 20$ PC JWAIT FOR READY *BRANCH IF TIME OUT :TSSR AMBIGOUS? *BR IF YES *SPECIAL CONDITION SET? .ea IF NO ;.NY ERROR BITS SET? :Bn IF NO .ser FAILURE *SET SUCCESS :RETURN TO CALLER . TSV3 = GLOBAL AREAS XNXM MACRO M1113 25-MAY-82 09:19 = CHECK FOR NONEXISTENT MEMORY PAGE 54 = CHECK FOR NONEXISTENT MEMORY .SBTTL XNXM 55;3 2280 aourxue TO TEST FOR A NEXM IN THE RANGE (R1) THRU (R2). ggg% : 2281 ON RETURN, IF 2284 :CALL: 2285 2286 2289 016376 2290 016406 2291 016412 2292 016414 2293 2294 016416 2295 016420 2296 016422 353; 016426 012737 012737 005003 005711 2299 016430 2300 016432 2301 016436 2302 016440 016440 016444 2303 016446 005103 012716 000002 016440 012700 104436 005703 000004 2305 016452 000261 020102 001407 062701 000772 016430 000200 000004 000006 = 1, (R1) = NEXM ADDRESS. MOV ADR1,R1 : MOV ADR2.R2 : RETURN XNXM: MOV MOV CLR ST #2804 #PRI0G, 306 R3 (R1) cMP BEQ ADD BR R1,R2 3s #2.R1 1$ CoM MOV RTI CLRVEC MOV TRAP ST R3 #38, (SP) : gggz ' C'"' *“C'* = 0, ALL ADDRESSES OK. 1$: 000002 28: 3$: 2304 016450 001401 JSR PC,NXM BEQ SEC 2306 016454 000207 2307 2308 2209 2310 %g}g #4 #4 R0 CSCVEC R3 .+ ;TEST = *'C** AND PROCEED. : SET BUSERR VECTOR. :FLAG. *TEST THE ADDRESS(ES). sIF ANY TRAP, CONTINUE AT 2%. :OTHERWISE, CONTINUE HERE. :BR IF FINISHED (NO NEXM'S). *SET NEXT ADDRESS... *...AND CONTINUE. :GOT ONE, SET FLAG... :...AND DISMISS INTERRUPT... :...AND GIVE BACK THE VECTOR. :DID WE CATCH ONE ?? *NO, ‘'€ =0 uwuflr SYES, ¢= 1, (R1)= NEXM ADDR. RTS PC .SBTTL TSTLOOP = CHECK ITERATION COUNT 2313 2314 : SUBROUTINE TO EXECUTE TEST ITERATIONS. s EXIT WITH *°C** SET IF LOOPS ALLOWED AND LOOP COUNT NON-=ZERO. gg}g ;s CALL: LOOPTO ARG TSTLOOP:: ST BNE ST BMI DEC BNE 18: cLC NOITS 1$ QvP 1$ LOOPCNT 28 gg;g : LOOP COUNTER IS SET BY 'BEGIN.TEST'* MACRO. 2319 016456 2320 016456 2321 016462 2322 016464 2323 016470 2324 016472 2325 016476 2326 016500 005737 001006 005737 100403 005337 001002 000241 2328 0165% 2329 0165¢5 000261 000207 2327 016502 000401 002170 002204 002216 28: 3s: BR SEC RTS 3s PC : ITERATIONS INHIBITED? : YES. : NO. :LOOPS DISALLOWED IN QUICK PASS. : BUMP LOOP COUNTER. :LOOP DISALLOWED, OR DONE. :LOOP ENABLED. SEQ 0090 TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 «SBTTL PAGE 55 SEQ 0091 TSTSETUP = PRINT TEST NAME AND INIT ERROR COUNTS PR]NT THE NUMBER AND NAME OF EACH TEST AS WE GO ALONG. : INCREMENT '‘TESTK'® TO INDICATE THE NUMBER OF TESTS : IN THE CURRENT RUN SEQUENCE. : CLEAR THE ERROR COUNTER AND SIGNATURE EXTENSION FLAGS. i NPUT: RO POINTER TO TEST ID ASCIZ STRING RS ADDRESS OF FIRST DEVICE REGISTER ‘0UTPUT: Lo AV, P NN FRE e %BRI TSTLOOP = CHECK ITERATION COUNT SIMPLICIT OUTPUTS: TSTCNT UPDATED TO COUNT TESTS PERFORMED SINCE START OR RESTART 'S IDE EFFECTS: INTERRUPT LEVEL IS RASIED TO LEVEL OF THE DEVICE UNDER TEST 010046 005037 005037 2366 0165 2367 016540 2368 016544 2369 016546 2370 016550 2371 016556 016556 016564 2372 016566 2373 016570 2374 816572 016604 2375 016606 2376 016614 016614 016620 2377 016622 TS TSETUP:: MOV CLR CLR CLR 003154 016756 005772 016144 002202 003114 052760 160000 160001 013700 104451 177777 002202 BPL k{3 003176 3$: 003112 2%: 4$ :SAVE THE TEST ID MESSAGE : CLEAR "'SOFT INIT'' FLAG : CLEAR LOCAL ERROR COUNTER. : CLEAR ERROR EXTENSION FLAG. : CLEAR INTERRUPT HASK (CHECK ERROR) : GET THE UNIT NUMBER : ... AND MAKE IT A WORD OFFSET. : DID STARTUP FIND THE DEVICE? : BRIF ves BR IFNOT IDLE BIS 0160000 ERTABL(Rb) FLAG eanoa IN THE ERROR TABLE .WORD -WORD é:ono uxn g:asna BIS ERRDF 0160001 (ERTABL (RO) : FLAG ERROR IN THE ERROR TABLE NIT : DEVICE NOT IDLE WORD .WORD WORD v DODU MOV 2 NOINIT O #-1,DUFLG UNITN UNITN,RO TRAP 104455 000002 004335 000000 012737 INTMASK UNITN,RO RO NODEV ERRDF 104455 000407 052760 CLRB MOV ASL TST BEQ 003176 RO,=(SP) SIFLAG ERRK EXTA TRAP TRAP DOCLN cienor NXR,NXRERR 0 DEVICE HERE == PRINT IT cienor C$DODU : DROP THE UNIT : ABORT THE PASS TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09 19 PAGE 55-1 TRAP BR CSDCLN 5% RFLAGS TRAP RO : GET THE OPERATOR FLAGS. #PNT RO 1$ (SP) ,RO #TNAM, RO s PRINT THE TEST NUMBERS? : BR IF 016622 16624 104444 000423 16626 NSOV OO o -.fl;d 22 SRRRRRIR SRR gy &~ 3 g§ N iAW 0 ~ NN ~ 166%6 0000000 OOOOgOOOOOOOO e g Sur P Phur Pur Guur G G Gur NN 2288 23 co g'\) W W oo gagE W= O 833 TSTSETUP = PRINT TEST NAME AND INIT ERROR COUNTS 16702 16704 4$: 001000 CSRFLA RO, =($P) 016704 000002 #TNAM, = (SP) 000006 002214 #6,SP TSTCNT :GET THE ID MESSAGE sDISPLAY THE TEST ID #2,~($P) SP,RO CSPNTF 1$: 002212 5$: 002206 123 SEQ 0092 045 TNAM: IPRI IPRI,RO CSSPRI (SP)+ CSRADDR RS '!S!T!A Test' : BUMP TEST COUNTER. sPRIORITY THAT OF DEVICE sFIX UP THE STACK : ADDRESS OF TSV REGISTERS ON UNIBUS TSV3 = GLOBAL AREAS TSTEND MACRO M1113 = PRINT ERRORS RECEIVED 25-MAY-82 09:19 2393 .SBTTL = PRINT ERRORS RECEIVED IF NORMAL ERROR REPORTING IS DISABLED (FLA:IER). 1 0 00 TSTEND RFLAGS TRAP 020000 01 01 01 01 1 062706 000 045 105 BIT BEQ PRINTF MOV MOV 016756 016760 000002 MOV MOV 000006 N =2 0 2404 016756 2405 016760 %406 016777 TSTEND SEQ 0093 ; AT END OF EACH TEST, PRINT THE NUMBER OF ERRORS RECEIVED —t 2395 2396 2397 2398 016720 016720 2399 016722 2400 016726 2401 016730 016730 016734 016740 016744 016746 016750 gzog 016754 PAGE 56 18: 040 122 TRAP ADD RTS ERRK: 0 ESUM: .ASCIZ EMAXDU: «ASCIZ EVEN i .SBTTL RO CSRFLA RO, #IER 1$ #ESUM,ERRK ERRK , = (SP) #ESUM, = (SP) : BR IF ""IER'* NOT SET. ¢ PRINT ERROR COUNT. #2,-(SP SP.RO CSPNTF #6,SP PC ; LOCAL ERROR COUNT. /%A XDXA ERRORS/ /ERROR LIMIT REACHED == DROPPING UNIT/ INCERK = INCREMENT LOCAL ERROR COUNT N W o ~ 016756 INCERK: 002202 003176 RTS MOV e b wmd mh 016756 002172 1$: 000040 177777 003112 ERRK RO,=(SP) UNITN,RO RO #ERTABL ,RO (RO) #7777.(RO) 1$ (RO) (SP)+,R0 PC RO,=(SP) UNITN,RO ASL RO BIC #170000,R0" MOV 002174 156 INC BIT BNE DEC MOV CKEMAX: MOV 002202 o e b 1$: 140 INC MOV MOV ASL ADD 007777 b pur (=]l l=] : ROUTINES TO INCREMENT LOCAL ERROR COUNT AND CHECK FOR LIMIT: CMP BHIS CMP BLO RFLAGS TRAP BIT BNE MOV ERRDF TRAP .WORD -WORD ERTABL (RO) ,RO ao GERRMAX 18 ERRK , LERRMAX 2 RO CSRFLA #1DU,RO 28 0-1 ,DUFLG EMAXDU cisaor smxou INCREMENT LOCAL ERROR COUNT SAVE RO GET WIT NUMBER, «o« AND MAKE IT A WORD OFFSET. RO GETS ADDRESS OF ERROR TABLE ENTRY. INCREMENT THE DEVICE ERROR COUNT nglHE~8VERFLOU THE FIELD? YES == BACK IT UP TO 7777. RESTORE RO RETURN TO CALLER. SAVE RO GET UNIT NUMBER «es AND MAKE IT A WORD OFFSET GET ERROR TABLE ENTRY EXTRACT ERROR COUNT FIELD ég ?LOB?% LIMIT EXCEEDED FOR THIS UNIT? IS LOCAL LIMIT EXCEEDED FOR THIS TEST? BR_IF NO GET OPERATOR FLAGS IS DROPE%NG INHIBITED? BR IF NO == DROP THE UNIT TSV3 = GLOBAL AREAS MACRO M1113 INCERK = INCREMENT LOCAL ERROR COUNT 017164 060000 2439 017166 017166 013700 017172 104451 2640 017174 017174 2441 017176 244% 017200 244 25-MAY-82 09:19 .WORD DODU MoV 002202 TRAP DOCLN 2%: TRAP MOV RTS PAGE 56-1 - SEQ 0094 0 UNITN UNITN,RO C$DODU CSDCLN (SP)+,R0 PC s RESTORE RO ¢ RETURN TO CALLER TSV3 = GLOBAL AREAS CKDROP MACRO M1115 25-MAY-82 09:19 = CHECK IF UNIT SHOULD BE DROPPED 2445 2446 2447 2448 2449 017202 2450 017204 2451 017214 017214 2452 017216 2453 017222 2454 017224 2455 017226 2456 017234 017234 017240 2457 017242 017242 2458 017244 2259 017246 :0 .SBTTL CKDROP SEQ 0095 = CHECK IF UNIT SHOULD BE DROPPED : CHECK IF UNIT SHOULD BE DROPPED CKDROP: MoV RO,=(SP) FORCERRNR RFLAGS TRAP 000040 177777 8IT BNE MOV MoV 003112 002202 1%: DODU MoV TRAP DOCLN TRAP Mov RTS .SBTTL 467 2468 017250 2469 017250 2470 017254 2471 PAGE 57 RO CSRFLA 1$,NOTSSR #IDU,RO 1$ (SP) ,RO #-1,DUFLG UNITN UNITN,RO C$DODU sABORT THE PASS CSDCLN (SP)+,R0 PC CONFIG = DETERMINE CONFIGURATION OF SYSTEM : SUBROUTINE - DETERMINE CONFIGURATION OF TSVOS SYSTEM. 004737 000207 015774 CONFIG: JSR RTS PC,SOFINIT PC KTON,KTOFF MACRO M1113 25-MAY=82 09:19 = ENABLE/DISABLE MEMORY MANAGEMENT %z;g .SBTTL %2;; 2479 017256 2480 017262 2481 017264 2482 017272 2483 8 KTON,KTOFF SEQ 0096 = ENABLE/DISABLE MEMORY MANAGEMENT ; SUBROUTINE = ENABLE MEM MGT. 005737 001403 012737 000207 003132 000001 KTON: 177572 2484 2485 2486 1$: TST BEQ MOV RTS KTFLG 1$ #1,SRO PC s GOT KT? : NO. s YES. ENABLE KT11. 3 %22; 2489 017274 2490 017300 2491 017302 2492 017304 2493 017306 2494 017314 2495 2496 PAGE 58 e TSV3 = GLOBAL AREAS ; SUBROUTINE = DISABLE MEM MGT. 005737 001405 000240 000240 012737 000207 003132 000000 KTOFF: 177572 1$: TST BEQ NOP NOP MOV RTS KTFLG 18 ; GOT KT11? : NO. #0,SR0 PC s DISABLE KT. TSV3 = GLOBAL AREAS SETMAP MACRO M1113 = SETUP PAR6 MAPPING 25-MAY-82 09:19 «SBTTL PAGE 59 SETMAP G 8 SEQ 0097 =~ SETUP PAR6 MAPPING * 4 STHIS ROUTINE SETS UP KERNEL PAR6 TP HANDLE AN 18 BIT ADDRESS. THE OFFSET INTO THE PAGE 1S RETURNED BIASED TO PAR6. RO R1 VRN NS W=D N-A-a-a-n_o_.-a.a-._os AW NININININ NN NN L INPUTS: RO CARRY 003132 " SAVREG TST THE ADDRESS) N=O 000177 003132 sSAVE R1=R4& UNTIL NEXT RETURN :SYSTEM HAVE ABOVE 28K? MOV *BR IF NO *SAVE LOW ORDER BITS ASR ROR RO R1 :CONVERT WORD ADDRESS TO 32w BLOCKS *MAKE IT DOUBLE PRECISION BIC CMP 217781 R1.KTFLG :ALINE FOR LOWER 4K BOUNDARY *HIGHER THAN EXISTING MEMORY? 172354 160000 140000 158: KTFLG 108 21.a2 BEQ -REPT 042701 020137 103011 OFFSET INTO BLOCK WITH PAR6 BIAS (I.E. SET IF SUCCESS CLR IF ERROR : (7 TR IE) ATV ;sOUTPUTS: VIVIVITVT 25 2526 017362 2527 017366 2528 017372 HIGH ORDER ADDRESS BITS LOW ORDER ADDRESS BITS RTS 108 *BR IF YES R1, 34K IPARG #160000, R2 #140000.R2 R2.RO :SETUP MAPPING REGISTER PAR6 *SETUP DISPLACEMENT IN PAGE *ADD IN PAR6 BIAS sRETURN IN RO 158 : PC sRETURN sSET SUCCESS sSET FAILURE TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 FILLMEM = FILL MEMORY WITH BACKGROUND PATTERN 2539 2540 2541 254 254 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 017422 2555 017422 2556 017426 2557 017432 2558 017434 2559 017440 2560 017444 2561 017446 2562 017450 2563 017452 2564 017456 2565 017460 2566 017464 2567 017466 2568 2569 2570 2571 2572 2572 017536 2574 017542 2575 017544 2576 017550 2577 017552 2578 017556 2579 017564 2580 017572 2581 017574 2582 017600 2583 017602 2584 017606 2585 017612 2586 017616 2587 017620 2588 017624 2589 017626 2590 017634 2591 017636 2592 017640 2593 017646 2594 017652 2595 017656 LSBTTL 004737 010003 013701 013702 010321 005302 003375 005737 001477 004737 005 013701 017274 004737 010320 020027 103774 162700 062737 023737 001427 005737 001407 013704 042704 022704 001415 005737 1410 023727 103001 000403 012737 017316 000137 004737 000207 003124 003126 003132 017256 003152 160000 020000 000200 172354 172354 003132 003144 177572 177761 000016 003146 172354 007600 000020 017542 017274 172516 PAGE 60 FILLMEM = FILL MEMORY WITH BACKGROUND PATTERN i+ : FILL MEMORY WITH A BACKGROUND PATTERN : : INPUTS: | RO REE BACKGROUND PATTERN 3 = FIRST LOCATION AVAILABLE TO DIAGNOSTIC : : KTFLG = SET TO HIGHEST MEMORY LOCATION IF > 28kx. 3 . OUTPUTS: : : NONE TM 3 FILLMEM: SAVREG sSAVE R1-R5 UNTIL NEXT RETURN JSR PC.KTOFF ;DISABLE KT. MOV RO,R3 sCOPY TEST PATTERN MOV FREE,R1 *GET FIRST FREE LOCATION MOV FRESIZ,R2 :SIZE OF FREE SPACE BELOW 28K. 108: MOV R3, (R1)+ *STORE A BACKGROUND WORD DEC R2’ :DONE ALL MEMORY IN FREE SPACE? 8GT 108 *BR IF NO TST KTFLG . GOT KT? BEQ 558 : NO. GET Our. JSR PC.KTON * YES. ENABLE K CLR RO *HIGH ORDER ADDRESS START MoV :srszw.m :GET >28K START ADDRESS (IN 32w BLOCKS) .REPT CLC :CLEAR C BIT ROL R1 :CONVERT BLOCKS TO WORDS ROL RO :MAKE IT DOUBLE PRECISION .ENDR JSR PC,SETMAP :SETUP PAR6 MAPPING REGISTER 308: MOV R3. (RO)+ :STORE TEST PATTERN IN >28K ADDRESS CMP go #160000 ggolor ”sm MAPPING AREA? BLO sSus #20000, RO *BACKUP INTO PAR6 MAPPING BEGIN ADD #200,3#KIPAR6 :POINT TO NEXT 4K BLOCK >28K. CMP @KIPARG, KTFLG :END OF MEMORY? BEQ 508 :BR IF YES TST T23A 1172342 BEQ 358 *NO KEEP GOING MOV SRO, R *GET SRO CONTENTS BIC #177761,R4 :CLEAR ALL BUT PAGE NUMBER CMP #16,R4 *SEE IF PAGE 7 BEQ 508 SEXIT IF THERE 35s: TST 1238 21172382 BEQ 453 :NO KEEP GOING CMP @NKIPARG, #7600 :REACHED 18 BITS? 408 BHIS :YES BR 4SS :NO KEEP cox NG 40%: MOV #20,5R3 sSET 22 BIT RELOCATION 45%: JMP 308 xm GOING ON ETC. 50%: JSR :E.norr : DISABLE KT. 55%: RTS SEQ 0098 TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 07:19 FILLMEM = FILL MEMORY WITH BACKGROUND PATTERN 2596 2597 PAGE 60-1 SEQ 0099 . TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CMPMEM <~ COMPARE MEMORY TO BACKGROUND PATTERN %238 .SBTTL PAGE 61 CMPMEM : COMPARE MEMORY WITH A BACKGROUND PATTERN zeo§ : INPUTS: 2604 : 2605 2606 ggg; : : : 2609 : OUTPUTS: gg;g : 2610 2611 : : RO = BACKGROUND PATTERN FREE = FIRST LOCATION AVAILABLE TO DIAGNOSTIC KTFLG = SET TO HIGHEST MEMORY LOCATION IF > 28K. CARRY CARRY = SET IF NO ERROR = CLR IF ERROR gg}g : IMPLICIT OUTPUTS: 2616 2617 2618 : : : 2621 017660 zszg 017660 2623 017664 2624 017666 2625 017672 2626 017676 2627 017702 CMPMEM: 010003 004737 013701 013702 020311 017274 003124 003126 2629 017706 2630 017712 2631 017716 2632 017722 010137 005037 010337 011137 002240 002236 002232 002234 52}3 : 001411 2633 017726 000474 2634 017730 %635 017732 636 017734 2637 017736 2638 017742 2639 017744 2640 017750 2641 017752 264§ 264 005721 oossos 00336 005737 001472 004737 005000 013701 000006 646 0 2647 020012 042701 010046 2650 020022 2651 020024 26$§ ozoogs 010004 012601 012600 108: 158: 003132 017256 003152 ggzg ERRHI ERRLO EXPD 000177 020314 001411 010037 308: 002236 = ERROR HIGH ADDRESS = ERROR LOW ADDRESS - EXPECTED DATA RECV = RECEIVED DATA SAVREG MOV JSR MOV MOV CMP RO.R3 PC.KTOFF FREE ,R1 FRESIZ,R2 R3, (R1) MOV CLR MOV MOV R1,ERRLO ERRHI R3,EXPD (R1) ,RECV *SAVE ADDRESS IN ERROR *NO HIGH ADDRESS :SAVE EXPD FOR ERROR REPORT :SAVE RECV FOR ERROR REPORT TST DEC BGT ST BEQ JSR CLR MOV .REPT ROL (R1)+ R2 108 KTFLG 55 PC,KTON RO PST32W,R1 6 R1 :POINT TO NEXT ADDRESS :DONE ALL MEMORY IN FREE SPACE? *BR IF NO : GOT KT? : NO. GET OUT. : YES. ENABLE KT. *HIGH ORDER ADDRESS START :GET >28K START ADDRESS (IN 32w BLOCKS) RO :CONVERT BLOCKS TO WORDS :MAKE IT DOUBLE PRECISION BIC MOV #177.R1 RO,=(SP) :ALINE 4K BOUNDARY :SAVE HIGH ORDER RO.R4 (SP)+,R1 (SP)+ RO :COPY ADDRESS BIASED TO PAR6 *RESTORE LOW ORDER IN NON PARG FORMAT *RESTORE HIGH ORDER IN NON PARG FORMAT BEQ B8R ngon 2648 020014 010146 9 020016 004737 017316 020030 2654 020032 2655 020034 <~ COMPARE MEMORY TO BACKGROUND PATTERN ;0 %281 2628 017704 SEQ 0100 15§ 508 MOV JSR R1.=(SP) PC.SETMAP CMP BEQ MOV R3, (R4) 32$ RO, ERRHI MOV MOV MOV :SAVE R1-RS UNTIL NEXT RETURN :COPY TEST PATTERN :DISABLE KT. *GET FIRST FREE LOCATION :SIZE OF FREE SPACE BELOW 28K. :FREE SPACE LOCATION EQUAL TO EXPD? *BR IF YES : *SAVE LOW ORDER :SETUP PARG MAPPING REGISTER :ABOVE 28K LOCATION EQUAL EXPD? ‘BR IF YES *SAVE HIGH GRDER IN ERROR TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 CMPMEM = COMPARE MEMORY TO BACKGROUND PATTERN 2656 020040 2657 020044 2658 020050 MoV MOV MoV 328: 000002 160000 020000 000200 172354 2670 020124 2671 020126 2672 020130 2673 020134 2674 020136 2675 BR ADD ADC ADD PAGE 61-1 R1,ERRLO R3.EXPD ;RZ) RECV 02 R1 c2.n4 R& .#160000 30$ #20000, R4 #200,3#K IPARG 172354 003132 gsgxpaaeKTFLG 017274 50$: 017274 55%: 608: PC.KTOFF 608 PC.KTOFF PC SEQ@ 0101 :SAVE LOW ORDER IN ERROR *SAVE EXPD FOR ERROR REPORT *SAVE RECV FOR ERROR REPORT *UPDATE NON PAR6 ADDRESS *MAKE IT DOUBLE PRECISION ADD sUPDATE PAR FORMAT ADDRESS gngOFNSAR6 MAPPING AREA? sBACKUP INTO PAR6 MAPPING BEGIN sPOINT TO NEXT 4K BLOCK >28K. :END OF MEMORY? :BR IF NO sTURN OFF MEMORY MAPPING :SET FAILURE *TURN OFF MEMORY MAPPING $SET SUCCESS 9 TSV3 = GLOBAL AREAS MACRO M1113 = SAVE R1-RS ON STACK REGSAV 25-MAY-82 09:19 PAGE 62 2677 2678 2679 2680 .SBTTL i+ : sROUTINE TO 2683 2684 gggg sCALLING SEQUENCE: : 2687 2688 2689 :THIS IS A COOROUTINE WHICH TRANSFER CONTROL BACK TO sTHE CALLING ROUTINE. AT THE END OF THE CALLING ROUTINE, sTHE RTS PC RETURNS CONTROL TO THIS ROUTINE TO RESTORE 2692 2693 2694 2695 2696 2697 020140 2698 020140 2699 020142 2700 020144 2701 020146 2702 020150 2703 020152 2704 020156 2705 020160 2706 020162 2707 020164 2708 020166 2709 020170 2710 020172 sTHIS ROUTINE SHOULD ONLY BE CALLEDP FROM ROUTINES WHICH ARE sCALLED VIA A JSR PC INSTRUCTION 3 - %gg; REGSAV SEQ 0102 = SAVE R1-RS ON STACK :SAVE R1 THROUGH RS ON THE STACK 3 523? JSR RS,REGSAV sREGISTERS. 010446 010346 010246 010146 010546 016605 004736 012601 012602 012603 012604 012605 000207 REGSAV: 000012 MOV MOV MOV MOV MOV MOV JSR MOV MOV MOV MOV MOV RTS R4 ,=(SP) R3,=(SP) R2,=(SP) R1,=(SP) RS,=(SP) 10.(SP) ,RS PC,a(SP)+ (SP)+ ,R1 (SP)+ ,R2 (SP)+ ,R3 (SP)+,R4 (SP)+,RS PC TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 GETPAT = GET 8 BIT PATTERN FROH OPERATOR T PAGE 63 «SBTTL GETPAT SEQ@ 0103 = GET 8 BIT PATTERN FROM OPERATOR :ROUTINE TO REQUEST AN 8 BIT DATA PATTERN FROM THE OPERATOR INPUTS: NONE. : OUTPUTS: ; RO OCTAL NUMBER FROM THE OPERATOR *CALLING SEQUENCE: PC,GETPAT JSR ; 2 2732 020174 2733 020174 2734 820200 GETPAT:: 18: 104443 000406 0 2735 820220 20220 2736 020222 %737 020226 013700 000207 100008 : 020230 AVE IHe ENERAL REGISTERS TRAP CSGMAN «WORD +WORD «WORD PATDAT TSCODE DATASC BR 020230 000022 020232 000377 000000 000377 103367 SAVREG GMANID DATASC,PATDAT 0.3770,377.NO .WORD +WORD +WORD 100008 377 TSLOLIM TSHILIM g?EOHPLEIE MOV RTS 18 ' sRETRY IF ERROR PATDAT RO PC :DATA PATTERN FROM OPERATOR sRETURN TO CALLER 0 : TEMPORARY STORAGE FOR DATA i ;LOCAL DATA AREA 2 2743 020230 2744 020232 2745 000000 105 116 124 PATDAT: .WORD DATASC : .eegaz "ENTER DATA PATTERN TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 GETSEL <~ ISSUE MENU AND GET OPERATOR RESPONSE .SBTTL 3 PAGE 64 GETSEL SEQ 0104 = ISSUE MENU AND GET OPERATOR RESPONSE *ROUTINE TO ISSUE A MENU AND GET :THE OPERATOR'S RESPONSE. s INPUTS: : 2? ADDRESS OF ASCIZ STRING OF MENU MAXIMUM ALLOWABLE OPERATOR RESPONSE ;OUTPUTS:: H GETSEL:: 010002 1%: 28: 010203 005713 001412 012346 0 2771 020314 2772 820316 020442 000002 SAVREG oV RO,R2 sSAVE GENERAL REGISTERS sSAVE THE MENU ADDRESS 3s ¢END OF ASCII ? sBRANCH IF ALL LINES DISPLAYED sDISPLAY THE MENU MOV ST R2 R3 (R$) PRINTF #SELASC,(R3)+ MOV lSELASC -(SP) BEQ 10001$: 020476 8R GMANID TRAP BR .WORD .WORD .WORD WORD WORD .WORD 2% MENASC,MENRES,D,=1,0,=-1,NO CMP 10001$ MENRES TSCODE MENASC =1 TSLOLIM TSHILIM 1% MENRES RO RO.R1 5% sRETRY IF ERROR sGET THE OPERATOR'S REPLY sCOMPARE TO MAXIMUM ALLOWED :BRANCH IF OK #MENERR 5%: BR RTS SELASC: .ASCIZ 1% JRETRY PC :RETURN TO CALLER '!N!A ve+ Menu Selection Too Large wes' ‘INXT® MOV MOV MOV TRAP ADD 000001 000004 oo CSGMAN PRINTF 020374 5 SP.RO CSPNTF #6,SP BNCOMPLETE BCC 1% MOV 045 045 164 (R3)+, -(SP) lZ.'(SP) BLOS 1 1 :START OF MENU STRING MOV MOV TRAP ADD 3s: — 2 020364 2778 020370 2779 020372 2780 020374 2781 020442 2782 020447 NUMBER OF THE OPERATOR'S SELECTION MOV 000006 3222 39S3 36 2773 020336 020336 2774 020340 2775 020344 2776 020346 2777 020350 020350 RO MENERR: MENASC: .ASCI2 .ASCIZ #MENERR,-(SP) #1,-(SP) SP.RO CSPNTF #6,SP :DISPLAY ERROR MESSAGE ‘Enter Menu Selection: * TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 <~ ISSUE MENU AND GET OPERATOR RESPONSE GETSEL 2783 2784 020476 000000 MENRES: .EVEN PAGE 6v=1 SEQ 0105 TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 = CHECK MANUAL INTERVENTION LEGALITY CHKMAN . .SBTTL PAGE 65 CHKMAN SEQ 0106 <= CHECK MANUAL INTERVENTION LEGALITY *ROUTINE TO TEST FOR MANUAL INTERVENTION LEGALITY. P INPUT: : NONE . SOUTPUT: ; CARRY S 0 1 MANUAL INTERVENTION NOT AALLOWED MANUAL INTERVENTION IS OK *SIDE EFFECTS: : : H 2807 2808 020500 2809 020500 2810 020504 020504 2811 020506 020506 2812 020510 020510 020524 2813 020530 2814 020532 2815 2816 020534 2817 CHKMAN:: SAVREG MANUAL TRAP CSMANI gggflPtETgsls 104450 10341 012746 012746 00 A MESSAGE IS DISPLAYED WARNING THAT TEST IS NOT EXECUTED IF MANUAL INTERVENTION IS NOT ALLOWED. sSEE IF MANUAL INTERVENTION 0K JBRANCH IF ALLOWED sPRINT THE WARNING MESSAGE 020534 000001 MOV TRAP ADD 000004 1$: 116 sSAVE THE REGISTERS 045 NOMAN: CLC RTS .ASCIZ .even SP,RO CSPNTF #6,SP PC sCLEAR CARRY FOR ERROR sRETURN ‘'INXA +++ Manual Intervention not Allowed = Test Aborted %e+' TSV3 = GLOBAL AREAS ENVIRN MACRO M1113 <« SETUP FREE DIAGNOSTIC SPACE 25-MAY-82 09:19 %g;g .SBTTL %g%} PAGE 66 ENVIRN SEQ 0107 = SETUP FREE DIAGNOSTIC SPACE s SUBROUTINE TO SET=UP VARIOUS ENVIRONMENTAL PARAMETERS. 2823 020630 020630 2824 020632 2825 020636 104431 010037 062737 2827 020650 2828 020656 2829 020662 2830 020670 2831 020672 2832 020674 2833 020700 2834 020704 2835 020710 162737 013702 162737 005302 001373 013700 063700 162700 010037 2837 020716 2838 020722 2839 020724 2840 020730 012701 010102 062702 004737 2842 020736 2843 020740 2844 020744 2845 020750 2846 020754 000445 013701 062701 012702 005212 020644 2836 020714 2841 020734 2847 020756 2848 020762 2849 020764 2850 020766 2851 020772 2852 021000 2853 021002 021002 021006 021012 021014 021016 2854 021022 2855 021024 2856 021030 2857 021032 021032 021036 021042 021044 021046 %ggg 021052 011037 000240 103001 013703 020103 001017 005237 042737 000240 012746 012746 010600 104417 062706 000413 003124 000032 003126 000004 002012 000007 003124 ENVIRN: MEMORY TRAP MOV 003126 10$: 003124 003126 000002 003130 000002 016376 15%: 177520 003144 170000 005554 000001 000004 005237 000240 003146 012746 012746 010600 104417 062706 000207 005645 000001 000004 #4 ,FRESIZ LSUNIT,R2 #7 ,FRESIZ R2 108 FREE RO FRESIZ RO #2.R0 RO.FREEHI :GET FIRST FREE ADDRESS JPOINT TO LAST FREE ADDRESS ;sBACKUP 1 WORD 2STORE LAST FREE ADDRESS MOV MOV ADD JSR #8DVPCR,R1 R1.R2 #2.R2 PC,XNXM *GET BDV11 PCR ADDRESS :COPY TO R2 *SET THE RANGE *SEE IF WE HAVE ONE BR MOV ADD MOV INC 408 BDVPCR,R1 #1.R1 #8DVPCR,R2 (R2) JRETURN WITH FLAGS CLEAR JSAVE PCR CONTENTS *ADD ONE TO IT *GET 8DV11 PCR ADDRESS JTRY TO WRITE TO IT MOV CMP BNE INC BIC NOP PRINTF MOV MOV MOV TRAP ADD 002120 208 : 408: :...AND WORD COUNT. SuB MOV sus DEC BNE MOV ADD suB MOV BCC 177520 000001 177520 (RO) ,FRESIZ #2 .FREE NOP 177520 ; GET 1ST FREE ADDRESS... ADD MOV 003126 RO CSMEM RO,FREE BR 15§ BDVPCR,R3 R1,R3 208 T23A #170000,LSHIME #M8186 #MB186,-(SP) #1,-(SP) SP,RO CSPNTF #,SP 408 INC 1238 NOP PRINTF #M8189 [ [1]% #M8189,-(SP) MOV #1.,-(SP) MOV _ SP,RO TRAP CSPNTF ADD #6,S5P RTS PC ; GET NUMBER OF UNITS ; TAKE AWAY 7 WORDS PER UNIT JRRARRARRARANRA RN RN ANAANANANRANRARARONNRS :0K TO SET FLAGS :GET RESULTS :DID IT CHANGE? sNO, MUST BE 117238 :SET THE FLAG ;SUPERVISOR COULD BE WRONG :BR 408 FOR RELEASE sTELL THE SYSTEM TYPE :RETURN :SET THE FLAG :BR 408 FOR RELEASE sTELL THE SYSTEM TYPE :RETURN = { | | TSV3 = GLOBAL APEAS KTINIT MACRO M1113 25-MAY-82 09:19 =~ SETUP KT11 MEMORY MANAGEMENT REGISTERS %w LSBTTL PAGE 67 KTINIT SEQ 0108 = SETUP KT11 MEMORY MANAGEMENT REGISTERS ;0 2863 3 2864 JROUTINE TO INIT KT=11 2865 3 o 2866 2867 2868 021054 2869 021054 005037 2872 021072 101444 2875 021106 2876 021112 005737 000240 2880 021134 005000 KTINIT: 003132 2870 021060 005037 003134 871 021 023727 002120 001577 CLR CLR CMP BLOS KTFLG : INIT >28K MEMORY FLAG 9% : NO. KTENABLE LSHIME, #1577 * INIT TEST >28K FLAG : GOT ENOUGH MEMORY (>28K)? 2873 021074 013700 000004 874 021100 012737 021172 000004 MOV MOV SNERRVEC,RO m @FERRVEC 2877 021114 013737 002120 003132 2878 021122 042737 000177 003132 2879 021130 010037 000004 MOV BIC MOV LSHIME KTFLG #1177 ,KTFLG RO, 3¥ERRVEC ; YES. SET KT FLAG. : : assroas ow ERR VEC PTR. 2881 021136 012701 2882 021142 012761 MOV MOV #KIPARO,R cmoo -4oum ‘Rl = xx nses PTR. : SET DESCRIPTOR REG. CMP BNE MOV B8R RO, #2000 18 #177600,-(R1) 98 2883 021150 2884 021152 010021 177572 172340 077406 700 000200 177740 ST NOP CLR 18: 2885 021156 020027 002000 2886 021162 001367 2887 021164 012741 177600 5333 021170 000405 2890 021172 012716 MOV ADD SRO o (R1)+ ozbo RO 021200 28: MOV #68$, (SP) ggg 021200 010037 000004 68: MOV RO, 3¥#ERRVEC 98: RTS PC %gg; 021176 2895 021204 2896 000002 000207 RTI : SAVE OLD ERR VEC PTR. : SET ERR VEC PTR. : GOT KT11? s (TRAP IF NO). : RO = : SET KIPAR REG. : BUMP AR om BY ‘%K', : Al’ “1/0 : ; VES. SET KTPAR? FOR 1/0. : SET UP RETURN > RTI TO NEXT LOCATION : RESTORE OLD ERR VEC PTR. TSV3 = GLOBAL AREAS KTINIT MACRO M1113 25-MAY-82 09:19 <~ SETUP KT11 MEMORY MANAGEMENT REGISTERS 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 Requires that SOFINIT and WRTCHR have been done previous to call. t‘ns CURRENT UNIT NUMBER ihe Extended Features Switch is set. INVERT:: 021260 021270 ST ;:smn MOV MOV MOV MOV MOV #100206, CMDPK T #ISMBK , CMDPKT +2 #6, CMDPKT+6 #100010, WSMBK #CMDPKT . Ré IS SWITCH SET? YES,EXIT STAGE RIGHT!(or the next one outa WRT SUB-SYS MEM CMD MSG_BUF ADDR BYTE COUNT INVERT THE SWITCH SET CMDPKT INTO R4 DO IT :E.umnn RETURN = JSR COMMAND PACKET. - 2928 021260 2929 021262 2930 021264 2931 021266 2932 2933 2934 2935 2936 021270 2937 021272 2938 021274 2939 2940 =z 021260 000000 000000 000000 000000 : CMDPKT: (=1=1=T-] SR PP SEQ 0109 SUBROUTINE TO SET EXTENDED FEATURES SWITCH 2910 2911 021206 2912 2913 021206 2914 021212 2915 021214 2916 021222 2917 021230 2918 021236 2919 021244 2920 021250 2921 021254 2922 ; 7 PAGE 68 <.+3>R177774 sMUST BE ON MOD 4 BOUNDRY. s1ST WORD :¢ND WORD :3RD WORD s4TH WORD IS IS IS IS TSO5 COMMAND. THE BUFFER LOW ADDRESS. THE BUFFER HIGH ADDRESS. THE BYTE/RECORD/FILE COUNT. WRITE SUB-SYSTEM MEMORY CHARACTERISTIC BLOCK. 000000 000000 000000 : 0 0 0 .EVEN 21ST WORD:: SEL 0 :2ND WORD:: SEL 2 2SRD WORD:: SEL & 294% 29 2944 2945 2946 2947 2948 2949 2950 PAGE 69 SEQ@ 0110 SUBROUTINE TO CHECK WETHER OR NOT WE'LL TEST NXM s INPUTS: sOUTPUTS: : : The NXMFLG is set if we can test. The NXMLO and NXMH] addresses are setup. MEMCK SAVREG CLR CLR CLR 002120 TST BEQ CMP BLO JSR 007777 021452 003144 1$: T23A IS IT A 11/23A? 13§ :SET THE FLAG AND EXIT 001577 JSR BR CMP PC _NXMTST 1 LSHIHE ”nsz? 2SETUP THE ADDRESS sSET THE FLAG AND EXIT JGREATER THAN 24K BUT LESS THAN 64Kk? JSR PC NXMTST JSETUP THE ADDRESS NXHFLG JSET THE FLAG BLO 003142 4$: 138: 14$: 005460 000001 000004 JIS IT A 11/7238? sNO : GREATER THAN 128k : NO SETUP THE ADDRESS 003777 002120 2%: 021452 012746 012746 010600 104417 062706 000207 1$ LSHIME , #7777 2% PC _,NXMTST 43 LSHIME , #5777 148 LSHIME #3777 005777 021452 000077 003136 TST JSAVE THE REGISTERS ;CLEAR THE FLAG sCLEAR THE TEST ADDRESS LO sCLEAR THE TEST ADDRESS HI BEQ cMP BHI CMP 002120 002120 BR NXMFLG NXMLO NXMH I 1238 15$: BLO 43 14$ ADD #77 NXMHI BR 15¢% INC B8R PRINTF MOV 15¢% #NOMEM #NOMEM, - (SP) MOV MOV #1,-(SP SP,RO RTS PC TRAP ADD CSPNTF #6,SP uo .GREATER THAN 96K JYES,23A/7238 WITH 128K MEMORY GREATER THAN 64K BUT LESS THAN 92k? :NO . CHECK 24K sNO, TELL THEM AND EXIT WITH FLAG CLEAR :FOOL_THE 11/02 & 41/03 E IT JNOP FOR PRINTOUT STELL THEM B EXIT =+«NO PRINT*tean JRETURN :0 3 SUBROUTINE TO SETUP THE NXM ADDRESS FOR TESTING *OUTPUTS :NXMLO ,NXMH] 2990 021452 2991 021456 299 021462 299 021466 002120 000200 000177 NXMTST: MOV ADD BIC MoV Lsuxnsia1 #77°R1 R1,R3 sSETUP WITH NXM ADDRESS :GET _TOP OF MEMORY :MAKE IT 1/0 BLOCK OR OTHER NXM sRESAVE RESULTS e TSV3 = GLOBAL AREAS MACRO M1113 25-MAY-82 09:19 = SETUP KT11 MEMORY MANAGEMENT REGISTERS KTINIT TSV3 = GLOBAL AREAS KTINIT MACRO M1113 25-MAY-82 09:19 <~ SETUP KT11 MEMORY MANAGEMENT REGISTERS 299 2995 2996 060006 2998 2999 3000 000012 2997 021504 3001 021534 3002 021540 3003 021544 3004 3005 3006 300 3008 021546 3 010137 042702 010237 000207 003140 177700 003142 REPT ASL .ENDR MOV .REPT ASR .ENDR BIC MOV RTS . ENDMOD PAGE 69-1 SEQ@ 0111 6 R1 sPUT IN PLACE FOR XFER R1,NXMLO sSAVE TEST ADDRESS LOW 10. R2 sPUT IN PLACE FOR XFER #177700,R2 R2 ,NXMHI PC sDON'T WANT ILA! sSAVE TEST ADDRESS HIGH sRETURN 1 1 oo Voo TSV4 < MISCELLANEOU S SECTIONS MACRO M1113 25-MAY-82 09:19 KTINIT = SETUP KT1 1 MEMORY MANAGEMENT REGISTERS 021546 021546 TSV4:: 19 PAGE 71 JTITLE TSV4 = MISCELLANEOUS SECTIONS BGNMOD TSV4 SEQ 0112 TSV4 = MISCELLANEOUS SECTIONS PROTECTION TABLE MACRO M1113 18 19 021546 021546 20 021546 21 021556 177777 177777 177777 25-MAY-82 09:19 LSPROT:: J 9 PAGE 72 SEQ 0113 .SBTTL PROTECTION TABLE BGNPROT WORD =1, =1, =1, =1 ENDPROT sNO DEVICE PROTECTION REQUIRED. TSV4 = MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M1113 24 25 26 27 28 29 30 31 25-MAY-82 09:19 «SBTTL K9 PAGE 73 SEQ@ 0114 INITIALIZE SECTION THE INITIALIZE SECTION CONTAINS THE CODING THAT IS PERFORMED AT THE BEGINNING OF EACH PASS. :IF “'START'' OR "RESTART'', SET QUICK=PASS FLAG AND BUS-INIT. IF "'CONTINUE"', NOTHING IS REQUIRED. 33 I s INSERT TEMPORARY JUMP TO ODT 002226 003136 BGNINIT LSINIT:: 408: CLR EXTFEA CLR MoV CLR CLR CLR READEF Mov NXMFLG #EPRT1,EPRTSW SIFLAG KTENABLE RAMS 12 #EF.CONTINUE #EF . CONTINUE .RO TRAP CSREFG g?EOHPLETE 18 1$ CMP UNITN,LSUNIT 002200 002302 000036 002202 002012 003112 003176 040000 104432 000035 1$: 103052 012700 104447 103031 104433 NXTU UNITN,R1 R1 BEQ BIT BNE EXIT SETU 081714 ERTABL (R1) :DROPPED? INIT ;D0 NOTHING IF °"‘CONTINUE'. .WORD READEF DUFLG ERTABL (R1) CSEXIT L10030-. #EF .NEW HOV #EF .NEW,.RO TRAP CSREFG BNCOMPLETE NXTU BCC NXTU READEF 000040 MOV TRAP sTAKE NEXT UNIT IF NOT NEW PASS. #EF .START #EF .START RO CSREFG BCOMPLETE 2% 8C S 2s 103404 012700 104447 BMI MOV ASL TRAP 000416 012700 1046447 4% TST 003176 sUNIT IN RANGE? :BR IF NO. :DROPPED UNIT? :BR IF YES BHIS TST 002202 sSET UP PRIMARY MESSAGE FOR REPLACEMENT sCLEAR "'SOFT INIT*' FLAG :CLEAR TEST ABOVE 28K FLAG :CLEAR RAM SIZE FOR RAMERR ROUTINE READEF 000037 MoV TRAP 2$: #EF .RESTART #EF .RESTART RO CSRSFG BNCOMPLETE 31% 8CC 31 BRESET TRAP CSRESET :1ST PASS :BUS RESET. BUS~INIT... TSV - HlECEIE.IEANEOUS SECTIONS INITIALIZ TION 65 021720 66 021724 67 021730 68 021734 69 70 71 ;g 85};22 005037 003400 7% 021744 75 021752 76 021756 77 021762 78 021766 79 021770 012737 004737 004737 012700 005020 020027 177777 020630 021054 003176 80 021774 81 021776 82 022000 gz 022004 85 022010 86 022010 87 022016 88 022022 022022 89 022026 90 022030 91 022036 92 022040 93 022046 9% 022050 022050 95 022052 96 022054 97 022054 98 022062 99 022064 100 022070 101 022072 022072 005037 005037 005037 005037 103774 012737 005037 177777 002220 023727 101752 005737 001747 104421 105 022102 022102 104424 }82 022100 001343 109 022106 022106 022112 110 022114 022114 111 022116 112 022122 113 022126 114 022130 002204 308: 31$: 002202 002202 002202 002012 177777 003112 002012 002220 103342 005037 005237 012001 010137 000001 MOV JSR JSR MOV CLR CMP #-1,QVP PC,ENVIRN PC.KTINIT #ERTABL ,RO (RO) + RO, #ERTABE BR CLR JMP 1 QvP PASRPT ;GO REPORT THE STATUS #=1,UNITN DEVCNT : ;INIT UNIT NUMBER... *CLEAR COUNT OF DEVICES RUNNING BEQ RFLAGS TRAP BIT BNE DORPT TRAP 002202 003112 002220 002206 SETU: SEQ 0115 TSTCNT FATFLG T23A 1238 #340,~(SP) #20$,-(SP) 0.007 SKIPT 118: NOP PASRPT: cMP BLOS ST 108: L PAGE 73-1 CLR CLR CLR CLR MOV MOV JMP CLR 48: NEWPAS: MOV CLR NXTU: BREAK TRAP INC CMP BLO MOV BR DOCLN TRAP 000100 000741 013700 104442 25-MAY-82 09:19 BLO 104444 000240 032700 }g; 022106 : : ; 003376 002204 022054 102 022074 106 022104 002214 002222 003144 003146 005037 000137 104422 005237 023737 103423 012737 000401 MACRO M1113 B8R ;NUMBER OF TESTS RUN IN PASS *CLEAR FATAL ERROR COUNT *CLEAR 11/23A FLAG *CLEAR 117238 FLAG :RETURN TO DEBUGGER ; :@3ENTER THE DEBUGGER *CLEAR THE SUBTEST ‘‘SKIPPER"’ :...QUICK VERIFY... *SET ENVIRONMENT. SINITIALIZE KT MEMORY MANAGEMENT ;CLEAR THE ERROR TABLE 30§ C$BRK UNITN UNITN,LSUNIT SETU #-1,DUFLG 18 CSDCLN LSUNIT,#1 NEWPAS DEVCNT NEWPAS RO CSRFLA #1SR,RO NEWPAS :...AND SET NEXT UNIT NUMBER. ;ABORT, NO MORE UNITS. ;HOW MANY UNITS SELECTED? *BR IF ONLY 1 *ARE ANY STILL RUNNING? *BR IF NO ;SHOULD WE PRINT STATISTICS *BR IF NO CSDRPT NEWPAS GPHARD UNITN,RO MOV UNITN.RO TRAP CSGPHRD BNCOMPLETE NXTU BCC NXTU CLR DUFLG INC DEVCNT MOV (RO) +,R1 MOV R1,CSRADDR :GET UNIT N P-TABLE POINTER. :BR IF UNIT NOT AVAILABLE. :CLEAR *DROPPED'* FLAG. :GET 1ST REGISTER ADDRESS. :ADDRESS OF REGISTERS OF UNIT UNDER TEST o — 7 N N o 1$: : : SEQ 0116 JGET VECTOR ADDRESS. MOV MOV MOV R1,IVEC #INTR,(R1)+ IPRI,(R1)+ sSET INTERRUPT VECTOR POINTER... s«e.VECTOR... 2es.AND PRIORITY. TST QvP BEQ (RO) ,R2 R2.IPR] 5$ sGET INTERRUPT PRIORITY sSET INTERRUPT PRIORITY. ;1ST PASS ?? sNO, SKIP THE PASS 1 STUFF. :1ST PASS, CHECK THAT DEVICE ADDRESSES ARE VALID, AND :THAT THE DISPLAY STATUS IS PROPERLY INITIALIZED. 002202 100000 005772 002012 ~ N 003176 000001 % N CLR EXTA RFLAGS TRAP BIT BEQ PRINTF MOV MOV 002202 022304 000002 000006 108: 003114 002206 000002 016376 003114 177777 U?ITN.R1 R CMP BLOS 001000 010137 012737 MoV ASL BIS S N — o COO N NN NN N SSRR w 28 N9 PAGE 73-2 (RO)+,R1 MOV s MOV b o b W 25-MAY-82 09:19 MOV 013701 W ~ d MACRO M1113 VRN NS W= OV~ N ??SSUS SECTIONS b D e cd D e ) e i D i D e e D i D INITI C wm mr= mwm — R P o TSV4 003112 “ #8IT15,ERTABL (R1) :SAY DEVICE RUNNING LSUNIT,# 108 :ARE WE TESTING MULTIPLE UNITS? *BR IF NO. RO CSRFLA #PNT,RO 10$ #PUNIT,UNITN UNITN,=(SP) #PUNIT,=(SP) MOV TRAP ADD MOV #2,-(SP) SP,RO CSPNTF #6,SP CLR MOV NODEV CSRADDR,R1 MOV ADD JSR BCC MOV MOV R1,R2 #TSSR,R2 PC, XNXM 2$ R1,NODEV #-1,DUFLG :CLEAR ERROR EXTENSION FLAG. :YES == GET OPERATOR FLAGS. :SHOULD WE PRINT UNIT #? :BR IF NOT. *PRINT THE UNIT # :ADDRESS OF FIRST REGISTER :START OF REGISTERS *ADDRESS OF TSSR REGISTER :TEST BOTH CONTROLLER REGISTERS... :...AND BR IF ALL OK. :FLAG DEVICE AS NON-EXISTENT :DROP THIS UNIT. ;FINALLY, SET CPU PRIORITY AND WE'RE DONE. 022274 022274 022300 155 022302 022302 022302 012700 1046447 §s: 000000 L10030: 104411 045 116 045 PUNIT: SETPRI #PRIOO :ENABLE INTERRUPTS. MOV TRAP #PRI00,RO C$SPRI TRAP CSINIT .eegzl /AININZA*eees TESTING UNIT XD2XA tenns/ ENDINIT MACRO M1113 25-MAY-82 09:19 Y SYITS ARHX%R2Z TSV4 = MISCELLANEOUS g;legNS ADD AND DROP UNITS S ON SEQ@ 0117 ADD AND DROP UNITS SECTIONS O .SBTTL N9 PAGE 74 B [ e Y S THE ADD=UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE 000006 ¢ = o m o <o ] P - > EXIT «WORD .WORD .ASCIZ .EVEN 045 L10031: 104452 + + SREN2E TRIRRRIN2Z3IS > ADD : UNUSED. ENDAU TRAP CSAU THE DROP=UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE TO BE REMOVED FROM THE TEST LIST. e R e ) : SET THE '‘ACTIVE' BIT ; CLEAR THE ‘'DROPPED'‘ BIT #1$,-(SP) 6 177 022446 S G SUPVSR DOES THE °‘DROPPING'', THIS IS JUST TO TELL THE MAN. 'DROPPED'* UNITS ARE RE-SELECTED ON OPERATOR °‘'STA'* OR ‘‘ADD'* COMMAND, OTHERWISE REMAIN INACTIVE. THE "DISPLAY*' COMMAND i T WILL PRINT ALL DROPPED UNITS, AND THE P-TABLES OF THOSE WHICH ARE STILL ACTIVE. e UPON ENTRY, RO CONTAINS THE UNIT TO BE DROPPED. 022450 012737 e e R ; GET UNIT TO BE ADDED (RO) [ 003176 003176 022420 000002 116 022446 022446 RO,R1 R1 #100000,ERTABL (R1) #40000, ERTABL (R1) #1$,R0 RO,=(SP) ol m —d —d —d 417 100000 040000 BGNAU Qe Sg e LSAU:: D NNWO oNONOO 2282 R (el=l=] Vo — S ONN o> PSS —_— ey =D e : TO BE (A) ADDED TO THE TEST LIST FOR THE FIRST TIME, : OR (B) RE~INSERTED IF IT HAD BEEN PREVIOUSLY DROPPED. 177777 003112 140000 003176 000240 022524 000002 062706 000006 — — — (=l=lele] R 000240 022522 000167 006030 L$DU:: BGNDU MOV MOV #-1,DUFLG RO,R1 3?% 2}40000 ERTABL (R1) PRINTF ~#1$.RO MOV #1%,-(SP) 240,240,240 MOV MOV MOV TRAP ADD EXIT .WORD .WORD RO, ~(SP) #2,~(SP) SP.RO CSPNTF #6,SP DU JSJMP L10032-2-. : P A A TSV4 = MISCELLANEOUS SECTIONS ADD AND DROP UNITS SECTIONS 197 022524 198 045 116 199 022554 045 25-MAY-82 09:19 18: L10032: 104453 4 201 202 203 022556 022556 206 66 207 022572 208 022574 022574 022600 022602 022606 MACRO M1113 .ASCIZ EVEN ENDDU /INXA TRAP csou 8 10 PAGE 74-1 SEQ 0118 UNIT XDXA DROPPED/ s AUTO-DROP CODE SECTION. LSAUTO:: 016250 108: 000372 002116 BGNAUTO MOV MOV JSR BCS DELAY MOV .WORD MOV . WORD DEC BNE DEC BNE 177772 177756 DEC 017202 : 208 L10033: BNE JSR CSRADDR RS #360. RS PC,WAITF 208 250. #250.,(PC)+ O LSDLY,(PC)+ 0 =-6(PC) b -22(PC) .=20 R3 108 PC,CKDROP ;BUMP COUNTER DOWN ;KEEP GOING :TRY AND DROP UNIT s UNUSED. ENDAUTO TRAP sPOINT TO DEVICE RE Gl STER ; sENOUGH TIME FOR 2 4 00°* REEL TO REWIND sWAIT FOR SSR TO SE T sLEAVE WHEN SSR IS SET SWAIT FOR .25 SECOND S CSAUTO [=2V.1. L NT. XV 225 022646 226 227 228 022650 231 022662 022662 022662 ek c10 PAGE 75 SEQ 0119 CLEAN=UP AND REPORT CODING SECTIONS THE CLEANUP CODING SECTION CONTAINS THE CODING THAT IS s EXECUTED AT THE END OF EACH PASS (OR SUB=-PASS). : USE TO RETURN DEVICE UNDER TEST TO A NEUTRAL STATE. PN 221 222 022636 36 25-MAY-82 09:19 «SBTTL b b b b S LS LS LS N TN MACRO M1113 CLEAN-UP AND REPORT CODING SECTIONS BGNCLN LSCLEAN:: 013705 005737 MOV TST BMI 100405 012765 004737 000000 016250 000002 1$: MOV JSR 2$: ENDCLN L10034: 104412 a4 : TRAP CSRADDR RS ?gFLG #0,TSSR(RS) PC,WAITF ;POINT TO DEVICE REGISTER :*DROPPED'* FLAG IS SET ON... :...AND GROSS CONTROLLER FAULT... s...DON'T TRY TO XCT CLEANUP CODE. ;DO SOFT INIT CSCLEAN THE REPORT CODING SECTION CONTAINS THE 'PRINTS" CALLS THAT GENERATE STATISTICAL REPORTS. LSRPT:: 012746 012746 023126 000001 000004 BGNRPT PRINTS MoV MoV MOV TRAP ADD MOV 003176 #ERTABL ,R4 1$: MOV 040000 170000 253 022774 022774 022776 010246 010346 012746 012746 010600 104416 062706 000446 020227 001012 010346 012746 R3 (R4) ,R2 4% 43 581714.R2 3 #5C7777.R2 #DEVONL ‘R3.R2 R2,~(SP) WAS UNIT DROPPED? BR IF YES GET ERROR COUNT FIELD PRINT .,=(SP) 000010 2%: CMP 4 §2.#160000 ODEV?ngfls 023233 GET START OF ERROR TABLE. CLEAR UNIT NUMBER GET ERROR TABLE ENTRY & TEST IT. ZERO IF UNIT NOT RUN R -(sm coevom. -(SP) 023163 000003 160000 #DEVSUM #DEVNXR, = (SP) WAS UNIY NON-EXISTENT? BR IF — TSV4 = MISCELLANEOUS SECTIONS | TSV4 = MISCELLANEOUS SECTIONS 1 MACRO M1113 25-MAY-82 09:19 PAGg 7?-1 b gZ8 — iiég b b N 000002 #2,-(SP) 000006 #6,SP 160001 SP,RO CSPNTS 277 278 023446 279 280 30§ #DEVNRD,R3 #DEVNRD, = (SP) -(SP) 000006 308: #°C7777 ,R2 #DEVDRO,R3,R2 b 170000 R2,=(SP) R3,=(SP) b 023376 000003 104416 062706 062704 000010 000002 020427 003376 b 46 46 d ; WAS UNIT NOT READY AT STARTUP? BR IF NO. R3,=(SP) 023315 000002 Y e QT Y (=l=lelells —_ s —a ON 045 045 045 045 045 P 271 023126 272 023163 273 023233 274 023315 g;g 023376 43 R2,#160001 3s: #DEVDRO,=(SP) A H L10035: 270 SEQ 0120 - 023060 023062 023066 023072 023074 023076 261 023102 (=l=lel~T=] Vi oNNO N 4" NN 8888 i~ S == O 0o Vi NN —=0000 o —-00 & '3 N S ~N nNNO ~ && 8&) ~ &He N\lfi on S £~ RR& > 3 OOy NN VSRS o NN = b b SO o o Ng §~ CLEAN=UP AND REPORT CODING SECTIONS DEVSUM: : DEVONL DEVNXR: : DEVNRD DEVDRO: R R4 ,#ERTABE 1$ (SP)+ R4 M (SP)+,R3 (SP)+,R2 TRAP CSRPT +ASCIZ /INZADEVICE STATUS SUMMARY:IN/ /%A UNIT ZD3XA ONLINE, ERRORS = XDIN/ /%A UNIT ZD3ZA DROPPED, NON-EXISTENT REGISTERIN/ /%A UNIT ZD3ZA DROPPED, NOT READY AT STARTUPIN/ /%A UNIT ZD3XA DROPPED, ERRORS = ZDIN/ ENDRPT .ASCIZ +ASCIZ +LASCIZ +ASCIZ .EVEN ENDMOD s UNUSED. —r r TSVS = HARDWARE TESTS MACRO M1113 CLEAN=UP AND REPORT CODING SECTIONS 25-MAY-82 09:19 1 2 9 10 023446 16 24 023446 TSVS:: PAGE 77 10 LTITLE TSV5 = HARDWARE TESTS BGNMOD TSVS SEQ 0121 — - | TSVS = HARDWARE TESTS | TEST 1: ; gg e e e MACRO M:113 ———— e 25-MAY-82 09:19 PAGE 78 INITIALIZE AFTER WRITE CHARACTERISTICS SBTTL . g e TEST SEQ 0122 1: INITIALIZE AFTER WRITE CHARACTERISTICS it gg : TEST DESCRIPTION: 30 : This test verifies that a Hardware Initialize command 3 : the Command, Message and Characteristic image blocks in the controller ram correctly. k1 : gz : TEST STEPS: 37 38 39 40 : 3 H - &2 43 : : 32 gz 41 : 44 45 46 == 47 023446 023446 53 023446 56 023452 55 023456 012700 004737 012737 024102 016510 000012 004737 024356 59 023470 60 023474 2} 85;;82 012703 012704 012764 002764 024040 000010 63 023506 004737 015774 65 023514 66 023516 010001 023516 023520 023522 > 023524 68 69 023526 70 023532 71 023536 72 023542 73 023556 74 023560 75 023562 76 023562 023562 023564 023566 023570 77 023572 78 023576 REPEAT FOR LOOPCNT BEGIN Do WRITE CHARACTERISTICS command. 1f the NBA bit in the TSSR register is NOT=0 then Print Error. Write to TSSR r:flvster to soft initialize the controller END I1f controller RAM 310-377 NOT=0 then Print Error BGNTST 56 023464 gg 023464 64 023512 invoked after a Write Characteristics command sets up 103405 002216 000006 T13L00P: 5 005037 010465 004737 002222 000000 016336 002222 JASCII MESSAGE TO IDENTIFY TEST ;D0 INITIAL TEST SETULP JSR PC,T13REST sSET PACKET TO START=UP VALUES MOV MOV MOV #TSTBLK+10. .R3 #T13PACKET R4 #8. ,PKBCNT(R4) sSTART OF TEST DATA sGET THE ADDRESS OF COMMAND PACKET SSTART WITH MINIMUM ALLOWABLE VALUE JSR PC,SOFINIT JWRITE TO TSSR TO SOFT INITIALIZE MOV ERRDF RO.R1 ERRNO,SFIERR,SFIMSG ;SAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT MOV #10. ,LOOPCNT 108 :Do WRITE CHARACTERISTICS command. 108: CLR FATFLG 12%: MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 12% BCS 15¢ MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T13SSR,PKTSSR 15%: INC CKLOOP 103407 010001 104455 000145 024267 012046 005237 #TST131D,RO PC,TSTSETUP BCS 104455 000144 003652 012034 Tl:: MOV JSR FATFLG :PERFORM 10 ITERATIONS :BR IF SOFT INIT OKAY TRAP .WORD .WORD .WORD CSERDF 100 SFIERR SFIMSG :CLEAR FATAL ERROR FLAG sSET THE PACKET ALDRESS TO EXECUTE JWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP WORD .WORD .WORD sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET CSERDF 101 T13SSR PKTSSR . TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 1: INITIALIZE AFTER WRITE CHARACTERISTICS 023576 79 02 80 023604 81 023610 82 023614 gz 023616 104406 016501 012702 032701 001402 052702 000002 000200 000100 000100 85 89 023640 90 02364% 91 02364 023642 023644 023646 023650 92 023652 023652 95 023654 258: 020201 001404 104406 023700 023702 0237064 il 023706 104455 000147 003652 012034 104 023710 105 023714 106 023716 107 023722 108 023726 109 023732 110 023736 111 023742 112 023752 012704 005002 105065 004737 010465 004737 116501 023756 023760 023762 023764 104455 000150 024155 015530 023772 118 023774 023774 023776 CSCLP1 30§ :@ab ;DOES EXPECTED MATCH RECEIVED ? :OKAY IF MATCH 278: :NBA NOT ZERO 308: CKLOOP :LOOP ON ERROR ? 015774 408: 42$: TRAP .WORD .WORD .WORD CSERHRD 102 T13NBA PKTSSR TRAP CSCLP1 005237 50s: 000000 016336 000000 016336 000000 60$: 104406 104410 000426 62$: 002222 JSR PC,SOFINIT FORCERROR 428 BCS 508 MOV RO, A1 NEXT.ERRNO ERRDF ERRNO,SFIERR,SFIMSG ;WRITE TO TSSR TO SOFT INITIALIZE ;aa :BR IF SOFT INIT OKAY :SAVE CONTENTS OF TSSR :DEVICE FATAL DURING INIT TRAP .WORD .WORD .WORD CSERDF 103 SFIERR SFIMSG :1f controller RAM 310-377 NOT=0 then Print Error 000310 120102 001406 116 023766 117 023772 27% NEXT.ERRNO ERRHRD ERRNO,T13NBA,PKTSSR 103405 010001 113 0237564 114 023756 115 023756 TRAP :GET THE CONTENTS OF TSSR ;EXPECTED CONTENTS OF TSSR ;IS OFF=LINE BIT SET ? :BRANCH IF NOT OFF=LINE sSET OFF=LINE IN EXPECTED DATA ;Write to TSSR register to soft initialize the controller 004737 103 TSSR(RS) ,R1 #SSR,R2 #OFL,R1 25$ #OFL,R2 FORCERROR CMP R2,.R1 BEQ 104456 000146 024214 012046 96 023654 97 023660 98 023674 99 023676 100 023700 101 023700 SEQ 0123 ;:1f the NBA bit in the TSSR register is NOT=0 then Print Error. 86 023622 87 023622 88 023636 MoV MOV BIT BEQ BIS PAGE 78-1 708: mov #310,Ré BEQ 70§ CLR R2 CLRB TSDB(RS) JSR PC,CHKTSSR MOV R4, TSDB(RS) JSR PC.CHKTSSR MOVB TSBA(RS),R1 FORCERROR 62%.NOTSSR CMP8 R1.R2 NEXT.ERRNO ERRDF ERRNO,T13MEM,RAMEXP :START WITH LOC 310 sMEMORY EXPECTED SHOULD BE 000000 :SET MAINTENANCE MODE sWAIT FOR SSR READY :SELECT RAM ADDRESS :WAIT FOR SSR READY sREAD LOC CONTENTS ;aaD :CHECK MEMORY FOR 000000 *BRANCH IF DATA OKAY :MEMORY NOT ZERO AFTER INIT. TRAP WORD WORD .WORD (CSERDF 104 T13MEM RAMEXP TRAP CSCLPY TRAP LWORD CSESCAPE L10036~. INC CKLOOP FATFLG ;SET THE FATAL ERROR FLAG ESCAPE TST :EXIT ON FATAL ERROR 25-MAY-82 09:19 INITIALIZE AFTER WRITE CHARACTERISTICS ~ W ~ 04 020427 w ) o o 0 824002 N o~ = N=SOOVRNOWVNWNN—=SOY — b cd cd e cd D e d D ) D WWWNINONNONNINOMNONN - : o TEST MACRO M1113 000400 82%: 002222 024016 024022 004737 004737 017202 016456 024030 000137 023464 1608: 165$: INC CMP PAGE 78-2 R4 R4, #400 1 0 SEQ 014 sLOOK AT NEXT RAM LOC. sAT TOP OF RAM ADDRESS SPACE BNE 60§ sBRANCH TILL ALL MEMORY TESTED TST BEQ JSR JSR 8CC JMP FATFLG sANY FATAL ERRORS ? PC, CKDROP PC . TSTLOOP :TRY TO DROP THE UNIT EXIT TST 1608 1658 T13L00P sBRANCH IF NOT sDONE ALL ITERATIONS? ;BR IF YES :LOOP UNTIL ITERATION COUNT DONE TRAP .WORD CSEXIT L10036~. ol TSVS = HARDWARE TESTS [ | TSVS = HARDWARE TESTS TEST 1 1: MACRO M1113 25-MAY-82 09:19 INITIALIZE AFTER WRITE CHARACTERISTICS 136 137 138 163 024040 144 024040 145 024042 146 024044 SEO 0125 i sLOCAL STORAGE FOR THIS TEST T13PACKETGORD ° .WORD WORD .WORD 100004 024050 000000 }2; 0264046 000010 149 024050 150 024050 151 024052 1S§ 024054 ;g‘ 024056 024062 000000 000016 000000 T13DATA: 000000 155 024062 - T138FR: }gg 158 PAGE 79 100004 T13DATA O s COMMAND PACKET FOR TEST JWRITE CHARACTERISTICS COMMAND, WITH ACK sADDRESS OF CHARACTERISTICS BLOCK 8. sSTARTING VALUE OF BLOCK SIZE sADDRESS OF MESSAGE BUFFER .WORD T13BFR O 14, 0,0 JLENGTH OF MESSAGE BUFFER .BLKW 8. JMESSAGE BUFFER .WORD WORD .WORD JLOCAL TEXT MESSAGES FOR TEST y sCHARACTERISTICS DATA BLOCK 159 024102 }2? 024155 m m 156 156 151 143 T1ST1131D: T13MEM: °23E£Z LASCIZ ‘'Initialization After WRITE CHARACTERISTICS® ‘Incorrect RAM Data After Init’ 162 024214 127 122 111 T13NBA: .ASCIZ ‘'WRITE CHARACTERISTICS Command Not Accepted' }gz 024267 103 157 156 T13SSR: .ASCIZ ‘Contents of TSSR Incorrect After WRITE CHARACTERISTICS® MACRO M1113 25-MAY-82 09:19 INITIALIZE AFTER WRITE CHARACTERISTICS PAGE 80 10 SEQ 0126 4 :ROUTINE TO RESTORE COMMAND PACKET TO START=UP (DEFAULT) VALUES .EVEN 024356 T13REST: 024040 Py o o :SAVE THE REGISTERS :START OF THE PACKET :WRITE CHARACTERISTICS WITH ACK :ADDRESS OF CHAR DATA BLOCK 000010 024062 (R1)+ #8.,(R1)+ #T138FR,(R1)+ :EXTENDED ADDRESS :SIZE OF DATA BLOCK IN BYTES 000016 :;?s.(fl1)’ JLENGTH OF MESSAGE BUFFER (R1) PC JRETURN + R ENDTST 024424 #T13PACKET,R1 #100004, (Ri)+ #T13DATA, (R1)+ 100004 024050 N &S £ W : oo TEST 00 0o 0o NINNNNNNNY gu~a33a~om:~w~do~08~$ — | TSVS = HARDWARE TESTS :ADDRESS OF MESSAGE BUFFER L10036: TRAP CSETST : MACRO M1113 25-MAY-82 09:19 INITIALIZE AFTER WRITE CHARACTERISTICS «SBTTL e o e TEST S8LLRBRECSS . TSVS = HARDWARE TESTS PAGE 81 10 SEQ 0127 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND ) THAT THE WRITE SUBSYSTEM MEMORY COMMAND WITH A OF 0 (NO-OP) EXECUTES CORRECTLY. IT ALSO PN d cd ad e ITE SUBSYSTEM MEMORY COMMAND WITH A NON-ZERO CTED. THE TEST FURTHER VERIFIES MICROPROGRAM D HANDLING SEQUENCES. 201 024426 426 012700 004737 012737 026241 016510 000024 #TST141D,RO PC,TSTSETUP #20. ,LOOPCNT 002216 GNSUB 026306 026344 JSR JSR SETPRI 000000 5%: 024464 16 024466 17 024472 221 024474 222 024476 024476 024500 024502 024504 223 024506 224 024506 225 024512 226 024516 230 024520 231 024522 024522 015774 MOV ERRDF 025600 010662 108: i BE$5N1SUBTEST 111111111117 PC,T14REST PC,T14RST #PR100 TRAP sSET PACKET TO INITIAL VALUES sLOWER PRIORITY TO ALLOW INTERRUPTS PC,SOFINIT 108 RO.R1 ERRNO, SFIERR, SF IMSG TRAP sBR IF SOFT INIT = OK sSAVE CONTENTS OF TSSR :DEVICE FATAL ERROR DURING INIT TRAP Mov #T14PK2 R4 PC,WRTCHR CSERDF :WRITE CHARACTERISTISC F?‘k;b .WORD .WORD FATFLG INTRECV #T14PACKET, R4 R&,TSDB (RS PC.CHKTSSR 15§ RO,.R1 ERRNO, T14SSR,PKTSSR 201 SFIERR SFIMSG sSUBROUTINE NEEDS PACKET ADDRESS sISSUE WRITE CHARACTERISTICS :BR, IF COMMAND ISSUED OK :SAVE CONTENTS OF TSSR «WORD 243 024562 024562 024564 C$BSEG ;DO SOFT INIT OF CONTROLLER WORD .WORD .WORD 11i 118: #PRI00,RO CSSPRI $233>>>>>>>>> BEGIN SEGMENT >>>>>>>>>>>> RO,R muo WRTMSG, SF IMSG 002222 002224 025160 000000 016336 csesus sSET PACKET TO INITIAL VALUES MOV TRAP BGNSEG JSR BCS T2:: sASCII MESSAGE TO IDENTIFV TEST :DO INITIAL TEST SETUP :PERFORM 20 ITERATIONS CSERHRD 202 WRTMSG SFIMSG sCLEAR FATAL ERROR FLAG sCLEAR INTERRUPT RECEIVED FLAG sSET UP NEW WRT. SUBSYS MEM. COMMAND sSET_THE PACKET ADDRESS sWAIT FOR SSR TO SET sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 203 TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND 024566 024570 244 024572 245 024576 024576 246 024600 024600 024602 247 024604 248 024610 252 024612 024612 025773 012046 005237 002222 273 274 024700 024700 024700 275 276 024702 277 024706 278 024710 279 024714 SEQ 0128 015510 SEG ;BY=PASS SUBTEST IF FATAL ERROR TST INTRECV 22% ERRNO, T14NINT ,PKTSSR TSSR(RS) ,R1 #SSR,R2 #OFL ,R2 8 ERRHRD JSR BCS ERRHRD azini 30 ERRNO, T14NBA ,PKTSSR 28‘CKRAH ERRNO,PKTRAM,RAMERR ENDSEG TRAP .WORD ;DID AN INTERRUPT OCCUR ? CSESCAPE TRAP -WORD «WORD .WORD CSERHRD 204 sGET THE CONTENTS OF TSSR sEXPECTED CONTENTS OF TSSR :1S OFF-LINE BIT SET ? sBRANCH IF NOT OFF=-LINE sSET OFF=LINE IN EXPECTED DATA sDOES EXPECTED MATCH RECEIVED ? sOKAY IF MATCH sNBA NOT ZERO TRAP -WORD «WORD -WORD CSERHRD 205 TRAP «WORD CSERHRD 206 sTHEY DON'T MATCH .WORD .WORD PKTRAM RAMERR TRAP CSESEG 5 €<<<LCCCC<<< END SEGMENT <<<<<<<<<<<<< 100008 : FASARARNNRRNNNY Eflboggglisf AS1RRERRNANNNY ENDSUB 017202 TST 60$: BEQ JSR T14NBA PKTSSR sCHECK RAM TO MEMORY TRAP 002222 T14NINT PKTSSR :RAM 0K GO ON 104403 005737 001402 004 10000 :BRANCH IF YES 104405 59%: cscLP1 ESCAPE 25% 308: 35¢: TRAP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET #OFL .R1 25%: PKTSSR FATFLG BNE ERRHRD T14SSR .WORD INC CkLooP 22%: 011114 271 024676 024676 ) 024676 158: 002224 024620 253 024622 254 024626 255 024632 256 024636 257 024640 024674 L1 - WORD 104406 104410 0000 PAGE 81-1 FATFLG sANY FATAL ERRORS ? PC,CKDROP sTRY TO DROP THE UNIT 60$ sBRANCH IF NOT CSESUB TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND 281 282 PAGE 82 10 SEQ 0129 i+ 3 %gz sTEST 2, SUBTEST 2 285 sCHECK THAT NON-ZERO MODE BITS BEING SET CAUSES ggg JWRITE SUBSYSTEM MEMORY COMMAND TO BE REJECTED 290 024714 024714 201 0264714 104402 292 024716 024716 024722 293 024724 294 024730 295 024734 012700 104441 012704 004737 004737 297 024740 104404 298 024742 299 024746 303 024750 304 024752 024752 024754 024756 024760 305 024762 306 024762 307 024766 311 024770 312 024772 024772 024774 024776 025000 313 025002 314 025002 315 025006 004737 103405 010001 005037 0127046 318 025022 004737 296 024740 316 025012 317 025016 319 025026 320 025030 324 025032 025032 025034 025036 025040 325 025042 025042 326 025044 025044 025046 BGNSUB 000000 025600 026306 026344 010662 104456 000320 005056 012034 052714 010465 103405 002224 025160 108: 118: 007000 000000 104406 104410 000074 #PRI0O MOV JSR JSR #T14PK2 R4 PC,T14REST PC,T14RST 016250 $2333>>>>>>>> BEGIN SEGMENT >>>>>>>>>>>> TRAP C$BSEG PC,.SOFINIT 108 RO,R1 ERRNO,SFIERR,SFIMSG ;DO SOFT INIT OF CONTROLLER :BR IF SOFT INIT = 0K sSAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DURING INIT TRAP CSERDF .WORD 207 .WORD SFIERR WORD SFIMSG JSR BCS MOV ERRHRD PC,WRTCHR 1% RO,.R1 ERRNO,WRTMSG,SFIMSG sISSUE WRITE CHARACTERISTICS 8 IF COMMAND ISSUEv OK SAVE CONTENTS OF TSSR URITE SUBSYSTEM MEMORY FAILED TRAP .WORD .WORD .WORD CLR MOV INTRECV #T14PACKET R4 JCLEAR INTERRUPT RECEIVED FLAG SET-UP WITH WRT SUBSYS MEM PACKET JSR PC.WAITF BCS MOV ERRDF 15%: sLOWER PRIORITY TO ALLOW INTERRUPTS MoV #PRIOO,RO TRAP CS$SPRI sGET TRE ADDRESS OF COMMAND PACKET JRESTO T TO STARTING VALUES JRESTORE #ACKET TO STARTING VALUES JSR BCS MOV ERRDF BIS MOV 010001 104455 000321 025773 012046 SETPR]I BGNSEG 015774 104455 000317 003652 012034 004737 103405 010001 5$: 3//17/77777777 BEGIN SUBTEST /77771111117 12.2: TRAP csesus #007000, (R&) Ré, TSDB(RS) 15§ RO.R1 ERRNO,T14SSR,PKTSSR CKLOOP ESCAPE SEG CSERHRD 208 WRTMSG SFIMSG NON-ZE 0 COMMAND MODE BITS sSET THE PACKET ADDRESS HAlt FOR SSR TO SET :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 209 .WORD T14SSR WORD PKTSSR ;LOOP ON ERROR, IF FLAG SET TRAP CcscLP sBY=PASS CHECKS IF FATAL ERROR TRAP CSESCAPE .WORD 10000%-. TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND b o el O~ Wi 005737 001004 o bNOOJ\J\NOg ANININ = bbeb OCO0O0000O0 i 327 025050 002224 000002 000100 012046 004737 103405 011114 TST BNE ERRHRD 22%: 25$: 308: 35%: 015510 INTRECV 22% ERRNO, T14NINT PKTSSR TSSR(RS) ,R1 #SC!SSR!TSREJ,R2 #COFL ,R1 #OFL ,R2 8 ERRHRD JSR BCS ERRHRD ENDSEG 104405 R2,R1 308 ERRNO, T142REJ ,PKTSSR ggiCKRAH ERRNO,PKTRAM,RAMERR SEQ@ 0130 ;DID AN INTERRUPT OCCUR ? ¢BRANCH IF YES TRAP «WORD «WORD .WORD sGET THE CONTENTS OF TSSR sEXPECTED CONTENTS OF TSSR ;1S OFF=LINE BIT SET ? sBRANCH IF NOT OFF=-LINE sSET OFF=LINE IN EXPECTED DATA sDOES EXPECTED MATCH RECEIVED ? cOKAY IF MATCH s COMMAND NOT REJECTED ENDSUB CSERHRD 210 T14NINT PKTSSR TRAP -WORD -WORD -WORD CSERHRD 21 T142REJ TRAP CSERHRD 212 PKTSSR sCHECK RAM TO MEMORY :RAM 0K GO ON sTHEY DON'T MATCH .WORD .WORD .WORD PKTRAM RAMERR + €<<LLLLLLLLLL E;‘D Ssgnf'“ <<<<<C<CLLL TRAP 59%: 104403 10 25% 104456 025140 351 025142 025142 025142 352 353 025144 025144 025144 PAGE 82-1 CSESEG ¢ \\AANAANNNNNL END SuB TEST VLALLM L1004 " TRAP CSESUB ——— TSVS = HARDWARE TESTS MACRO M1113 25-MAY ;82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAN 355 025146 025146 356 025150 EXIT 104432 001246 357 362 364 025160 365 025160 366 025162 367 025164 368 025166 369 025170 370 025170 371 025171 372 025172 373 025174 g;g 025176 376 378 380 025600 381 025600 382 025602 383 025604 025160 S— S SEQ@ 0131 ST sALL DONE THIS TEST =<, +10>8177770 T14PACKET : .WORD 100206 .WORD T14DATA WORD O .WORD 6. T14DATA: T148S0: .BYTE 0 T14BS1: .BYTE 0 T148S2: .WORD ( LWORD 0 T14BFR: .BLKW 128. 100206 025170 000000 000006 000 000 000000 000000 025600 %gg 025606 387 025610 388 025610 389 025612 390 025614 gg; 025616 025176 000000 000400 000000 T14PK2: T14DTA: 000000 393 394 TRAP .WORD CSEXIT L10037-. sCOMMAND PACKET FOR TEST SWRITE SUBSYSTEM MEM. COMMAND, WITH IE, ACK sADDRESS OF CHARACTERISTICS BLOCK sSTARTING VALUE OF BLOCK SIZE sCHARACTERISTICS DATA BLOCK sBSELO BYTE ;BSEL1 BYTE ;BSEL1 WORD :DATA JMESSAGE BUFFER .=<.+10>8177770 .WORD .WORD WORD .WORD 100204 T14DTA O 8. .WORD .WORD .WORD .WORD T14BFR O 256. 0,0 . sCOMMAND PACKET FOR TEST JWRITE CHARA. MEM. CMND., WITH IE, ACK sADDRESS OF SELECT DATA BLOCK sSTARTING VALUE OF BLOCK SIZE :SELECT DATA BLOCK sADDRESS OF MESSAGE BUFFER JLENGTH OF MESSAGE BUFFER ¢ ggz 401 026063 402 026155 403 026241 404 405 — n sLOCAL STORAGE FOR THIS TEST 100204 025610 000000 000010 397 398 025622 399 025676 400 025773 ———eeee i ggg 360 PAGE 83 e JLOCAL TEXT MESSAGES FOR TEST 127 127 103 105 m 102 122 122 157 170 156 141 111 111 156 160 143 163 TI4NBA: .ASCIZ T142REJ: T14SSR: .ASCIZ TI14NINT: T14TSBA: TST14]1D: .EVEN ‘WRITE SUBSYSTEM MEMORY Command Not Accepted® LASCIZ °'WRITE SUBSYSTEM MEMORY Not Rejected With Non-Zero Mode fField® ‘Contents of TSSR Incorrect After WRITE SUBSYSTEM MEMORY'® .ASCIZ .ASCIZ .ASCIZ ‘'Expected Interrupt Not Received On WRITE SUBSYSTEM MEMORY® ‘Incorrect TSBA Address After WRITE SUBSYSTEM MEMORY' ‘'Basic WRITE SUBSYSTEM MEMORY Command' | ! | i TSVS = HARDWARE TESTS MACRO M1113 25-MAY=-82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND PAGE 84 n SEQ 0132 :0 :ROUTINE TO RESTORE COMMAND PACKET TO START=UP (DEFAULT) V UfllTE SUBSYSTEM MEMORY COMMAND T14REST: 025160 100206 025170 #T14PACKET R 000006 #6.,.(R1)+ 425 026342 426 427 428 026344 429 026344 430 026350 431 026354 432 026360 433 026364 434 026366 435 026372 439 026406 440 026410 441 026414 462 026416 #100206, (R1)+ 071LDATA (R1)+ (R1)+ (R1)+ (R1)+ (R1) PC T14RST: 012701 012721 012721 005021 025600 y: e S sSAVE THE REGISTERS sSTART OF THE PACKET :WRITE SUBSYSTEM MEM. WITH ACK, IE :ADDRESS OF DATA BLOCK :EXTENDED ADDRESS sSIZE OF DATA BLOCK IN BYTES sCLEAR BSELO AND BSEL1 sCLEAR SELZ2 sCLEAR DATA AREA ETURN sSAVE THE REGISTERS sSTART OF THE PACKET :ADDRESS OF CHARAISTICS DATA BLOCK :EXTENDED ADDRESS 025176 #T14PK2 R #100204,(R1)+ #T14DTA,(R1)+ (R1)+ #8..(R1)+ 17148FRLR1)+ 000400 0256..(R1)0 sLENGTH OF MESSAGE BUFFER 025176 (R1) T14BFR sCLEAR 1ST LOC IN MESSAGE BUFFER 100204 025610 000010 ENDTST :WRITE CHARA. WITH ACK, IE :SIZE OF DATA BLOCK IN BYTES sMESSAGE BUFFER ADDRESS ETURN L10037: TRAP CSETST L4 PAGE 85 oNn SEQ 0133 —4 —d TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 2: BASIC WRITE SUBSYSTEM MEMORY COMMAND TSVS = WARDWARE TESTS MACRO M1113 TEST 3: DMA MEMORY ADDRESSING 25-MAY-82 09:19 229 .SBTTL 448 449 450 n PAGE 86 TEST SEQ 0134 3: DMA MEMORY ADDRESSING 4+ ;s TEST 3 s 2?5 s TEST DESCRIPTION 453 454 455 456 457 : : : : 3 22? : TEST STEPS 462 463 464 465 466 : 3 3 3 3 REPEAT FROM 1 TO LOOPCNT BEGIN . Do Subtest 1 = Verify GET STATUS selected locations Do Subtest 2 - Verify message packets selected locations Do Subtest 3 - Verify Characteristic data selected locations 469 3 228 3 22‘ BGNTST 012700 004737 480 026436 281 026442 82 005237 004737 2%2 026446 Nobo Subtest & - Verify NXM to selected invalid addresses - 477 026420 478 026424 479 026430 used for DMA transfers. : 470 47N 472 026420 026420 This test verifies that the controller can properly address and access all available CPU memory (other than that occupied by the diagnostic and diagnostic supervisor code) for both reading (DATI) and writing (DATO). Verified are the LSI-11 Bus drivers for all available address lines. Up to this point only 16 bits have been 012737 030450 016510 000012 003150 021276 MOV JSR 002216 MOV INC JSR T12L00P: #TST121D,RO PC,TSTSETUP 016..LOOPCNT T3BFLG PC ,MEMCK T3:: sJASCII MESSAGE TO IDENTIFY TEST ;DO INITIAL TEST SETUP JPERFORM 10 ITERATIONS sSET TEST FLAG sCHECK MEMORY ;LOOP ON TEST LABEL { | | TSVS = WARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 1: GET STATUS SELECTED LOCATIONS 486 487 488 489 490 91 49 49 «% 495 .SBTTL 144 n PAGE 87 SEQ@ 0135 TEST 3: SUBTEST 1: GET STATUS SELECTED LOCATIONS : TEST 3: SUBTEST 1: SUBTEST DESCRIPTION: This subtest verifies the controller can fetch a get status command from all available memory locations. Two word blocks are tested one at a time by first setting all available memory to a background pattern of 125252. A Get Status command is then executed to various addresses in each available memory 4k word block. The various addresses are determined by floating a 1 then a 0 through the address bits. TEST STEPS: BEGIN Write to TSSR to soft initialize Do @ WRITE CHARACTERISTICS to setup a message buffer RE;EQ}NFOR SELECTED VALID ADDRESSES IN DIAGNOSTIC FREE SPACE AND ABOVE 32k - Get a valid modulo=-4 test address Do a GET STATUS command from the test address END BGNSUB Iy BE$§N1SUBTEST 1111111117 TRAP 015774 ;Write to TSSR to soft initialize JSR PC,SOFINIT BCS 15§ NEXT.ERRNO MOV RO,R1 ERRDF ERRNO,SF IERR,SF IMSG csesus ;D0 SOFT INIT OF CONTROLLER :BR IF SOFT INIT = OK :SAVE CONTENTS OF TSSR :DEVICE FATAL ERROR DURING INIT TRAP .WORD .WORD .WORD CSERDF 301 SFIERR SFIMSG ;D0 a WRITE CHARACTERISTICS to setup a message buffer 158: MOV JSR #T12PACKET,R4 PC,T12SWRT :GET THE ADDRESS OF COMMAND PACKET :RESTORE PACKET TO STARTING VALUES MOV JSR R4, TSDB(RS) PC.CHKTSSR :SET THE PACKET ADDRESS *WAIT FOR SSR TO SET BCS MOV 208 RO.R1 :BR IF SSR SET IN CHKTSSR sSAVE CONTENTS OF TSSR CLR KTENABLE FORCERROR 535 026534 026534 17%: 178 NEXT.ERRNO ERRNO, T12WRTSSR,PKTSSR ERRDF *TURN OFF KT=11 ;DEVICE FATAL SSR FAILED TO SET TRAP CSERDF 026536 026540 536 026542 562 026556 543 026560 544 026560 545 026564 546 026566 547 026570 548 026574 549 026576 002222 030310 005037 012201 005000 005737 001407 016200 003134 042700 012737 553 103034 026614 026620 554 026622 555 026626 556 026632 557 026636 558 026642 559 026644 560 026650 561 026656 562 026660 563 026674 564 026676 565 026700 566 026700 026700 026702 026704 026706 567 026710 004737 177776 031316 258: BIC v #5C<A1716> R0 #1,KTENABLE SAVE 18 BIT ADDRESS ONLY :TURN ON ABOVE 28K TEST FLAG BCC 65% *BR IF INVALID PACKET ADDRESS MOV T12HIADD.R3 :COPY CURRENT PACKET HIGH ADDRESS Jsa 030304 MOV 004737 0462703 031666 177774 JSR BIC 013703 050304 004737 010465 004737 030302 104406 5§72 026730 573 026734 574 026740 5§75 026742 576 026746 577 026750 000137 005737 003012 005737 001407 012737 026560 030310 103002 CKLOOP 000001 wu.o; 005737 002222 004737 708: 017274 030310 808: :CONVERT TEST PATTERN TO TEST ADDRESS :COPY CURRENT PACKET LOW ADDRESS *SETUP CURRENT PACKET TO GET STATUS :SAVE ADDRESS BITS 17416 *SETUP 18 BIT PACKET ADDRESS *TURN OFF KT=11 *SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET :BR IF SSR SET IN CHKTSSR *SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP .WORD JWORD .WORD :LOOP ON ERROR, IF FLAG SET TRAP FORCEXIT 808 CMP R2,#T12TBE :DONE ALL TSTBLK TEST PATTERNS? JMP TST BGT ST BEQ MOV :DO ANOTHER MODULO- &4 ADDRESS :DONE ABOVE 28K TESTING T00? :BR IF YES ;ANY MEMORY ABOVE 28K ON SYSTEM? :BR IF NO SSET SWITCH BHIS 003132 030314 026560 PC,T12SETGET #5C<A1716>,R3 408: 658: 012702 000137 T12LOADD, R4 328: 103405 010001 104455 000457 030476 012064 PC,T12CONVERT BIS R3.R4 JSR PC.KTOFF MOV RG.TSDB(RS) JSR PC.CHKTSSR roncsaaoa 32 BCS 408 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T12GETSSR,PKTGETS 017274 000000 016336 030446 580 026766 581 026772 026772 026772 582 026774 003134 CLR 013704 020227 578 026756 026762 éos 030310 177774 000001 302 TI12WRTSSR PKTSSR sVerify a Get Status can be fetched from each address Get valid modulo=4 test address GET STATUS command from the test address FATFLG :CLEAR FATAL ERROR FLAG CLR T12KT :TEST ABOVE 28K SWITCH MOV #T12BLK,R2 :POINT TO TEST PATTERN TABLE T121L00P: CLR KTENABLE :TURN OFF ABOVE 28K TEST FLAG MOV (nz)o R1 *GET TEST PATTERN ADDRESS CLR ;ASSUME NO TEST ABOVE 28K ST r12xr ;TEST ABOVE 28K THIS TIME? BEQ 258 *BR IF NO MOV <2(R2) ,RO :GET TEST PATTERN AGAIN 030314 026710 568 026712 569 026712 570 026722 571 026726 —d .WORD WORD .WORD 005037 005037 012702 550 026602 551 026606 §52 SEQ 0136 000456 030552 012046 537 538 540 026544 541 026550 PAGE 87-1 708 T121L00P T12KT 808 KTFLG 808 #1,T12KT7 MOV JMP #1i28LK,R2 T121L00P TST FATFLG JSR ENDSUB PC,KTOFF CSERDF 303 T12GETSSR PKTGETS CSCLP1 :BR IF YES *RESET TEST PATTERN TABLE :D0 ABOVE 28K TESTING sTURN OFF KT11 AN END SUBTEST \\A\LANLANL L10043: TRAP (CSESUB sANY FATAL ERRORS ? — TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 1: GET STATUS SELECTED LOCATIONS L | TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 1: GET STATUS SELECTED LOCATIONS 583 027000 584 027002 585 027006 586 061402 004737 017202 1008: BEQ JSR PAGE 87-2 1008 PC,CKDROP SEQ 0137 ¢BRANCH IF NOT sTRY TO DROP THE UNIT TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 PAGE 88 In TEST 3: SUBTEST 2: MESSAGE PACKETS TO SELECTED LOCATIONS ggg .SBTTL 14 SEQ@ 0138 TEST 3: SUBTEST 2: MESSAGE PACKETS TO SELECTED LOCATIONS gg? s TEST 3: SUBTEST 2: gg ; SUBTEST DESCRIPTION: 594 595 596 597 598 599 28? : 3 : s 3 : 3 602 603 604 605 289 ; TEST STEPS: : : BEGIN s 3 Write to TSSR to soft initialize : Do a WRITE CHARACTERISTICS to setup a message buffer to compare 283 : RE:E%}NFOR SELECTED ADDRESSES IN DIAGNOSTIC FREE SPACE AND ABOVE 32k 610 611 612 g}z : : 3 : Get a valid modulo-4 test address Set the packet message buffer to the TEST ADDRESS Do a WRITE CHARACTERISTICS Restore the test message buffer to background pattern 615 : 617 = 618 027006 027006 +19 027006 622 027010 623 027014 624 027016 625 027016 626 027020 027020 027022 027026 ” 027026 629 027030 630 027030 631 027034 632 027040 633 027044 634 027050 635 027054 636 027070 637 027072 638 027074 END BGNSUB /117177777777 BEGIN SUBTEST /777111117 13.2: 104402 620 621 This subtest verifies the controller can deposit message packets to all available memory locations. Write Characteristics commands are executed with message buffer addresses set to various addresses in each available memory location. The various addresses are determined by floating a 1 then a 0 through the address bits. TRAP Cc$8suB S 004737 103405 015774 ;Write to TSSR to soft initialize JSR BCS PC,SOFINIT 15§ NEXT.ERRNO MOV RO.R1 ERRDF ERRNO,SFIERR,SF IMSG 010001 104455 000460 003652 012034 ;DO SOFT INIT OF CONTROLLER :BR IF SOFT INIT = OK sSAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DURING INIT TRAP WORD .WORD .WORD CSERDF 304 SFIERR SFIMSG ;D0 @ WRITE CHARACTERISTICS to setup a message buffer to compare 012704 004737 004737 010465 004737 103405 010001 030240 031620 017274 000000 016336 iss: MOV #T12PACKET R4 JSR PC,T12SWRT JSR PC.KTOFF MOV R4 ,TSDB(RS) JSR PC,CHKTSSR FORCERROR 17% BCS 208 RO,.R1 MOV o NEXT.ERRNO sGET THE ADDRESS OF COMMAND PACKET sSET PACKET TO WRITE CHARACTERISTICS sTURN OFF KT=11 sSET _THE PACKET ADDRESS sWAIT FOR SSR TO SET sBR IF SSR SET IN CHKTSSR sSAVE CONTENTS OF TSSR €39 027074 027074 178: ERRDF SEQ 0139 ERRNO,T12WRTSSR,PKTSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF 305 .WORD .WORD T12WRTSSR PKTSSR .WORD :Get a valid modulo=4 test address :Set the acket message buffer to the test address :Do a WRI s CHARACTERISTICS 208: CLR FATFLG ;CLEAR FATAL ERROR FLAG (R3)+,R1 :GET TEST PATTERN ADDRESS BIC #1727774 R0 sLEAVE ONLY A17 AND A16 BCS 258 :BR IF VALID MESSAGE BUFFER ADDRESS MOV 0712PAchr R4 :SET THE COMMAND PACKET ADDRESS MOV T12L0ADD, T12DATA t122Loop"°v MOV MOV 177774 654 027142 655 027146 656 027152 657 027160 658 027166 659 027172 BIC JSR 258: 030250 030252 JMP JSR #T12BLK,R3 R1,R0 #3,R1 PC, T12CONVERT 1508 PC, T12SWRT :GET ADDRESS ALL '“18 BITS'* *GET RID OF A17 AND A16 :CONVERT TEST PATTERN TO TEST ADDRESS :GET ANOTHER TEST PATTERN TO TRY *SETUP T12PACKET TO WRITE CHAR. :SETUP LOW ORDER MESSAGE BUFFER ADD. MOV JSR MOV JSR T12HIADD T12DATA+2 PC,KTO RG. rsoa<as> PC.CHKTSSR :SETUP HIGH ORDER MESSAGE BUFFER ADD. :TURN OFF KT=11 *SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET BCS MOV 508 RO,R1 :BR IF SSR SET IN CHKTSSR :SAVE CONTENTS OF TSSR ERRDF ERRNO,T12WRTSSR,PKTSSR FORCERROR 328: :POINT TO TEST PATTERN TABLE 328 NEXT.ERRNO :DEVICE FATAL SSR FAILED TO SET TRAP .WORD JWORD 508: 1508: 030446 027114 017274 677 027276 678 679 680 FORCEXIT CMP auxs 1608 : 002222 017202 CKLOOP s TRAP CSCLPY ooue ALL TST12BLK TEST PATTERNS? T122L00P D0 Anoruen MODULO- & ADDRESS 1608 :BRIF YES PC,KTOFF :TURN OFF KT11 ST FATFLG :ANY FATAL ERRORS ? JSR PC, CKDROP :TRY TO DROP THE UNIT BEQ PKTSSR R3,#T12TBE an ENDSUB .WORD :LOOP ON ERROR, IF FLAG SET 1608 (CSERDF 306 T12WRTSSR 1808 AL END°8227£ST AL *BRANCH IF NOT TRAP CSESUB e I] TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 PAGE 88-1 TEST 3: SUBTEST 2: MESSAGE PACKETS TO SELECTED LOCATIONS .SBTTL :00 ed KN SEQ 0140 TEST 3: SUBTEST 3: CHARACTERISTIC DATA SELECTED LOCATIONS s TEST 3: SUBTEST 3: : SUBTEST DESCRIPTION: This subtest verifies the controller can fetch a Write Characteristics data block from all available memory locations. Write Characteristics commands are executed with characteristic data blocks at various memory addresses. The various memory addresses are determined by floating a 1 then a 0 through the address bits. TEST STEPS: BEGIN Write to TSSR to soft initialize RESEeINFOR SELECTED VALID ADDRESSES IN DIAGNOSTIC FREE SPACE AND ABOVE 32k END END Get a valid test address Set the test packet characteristics data pointer to the test address. Store expected characteristic data in test address block Do a WRITE CHARACTERISTIC command BGNSUB 2I1111rNrrly/ BE?%N}SUBTEST 17111111177 " 015774 ;Write to TSSR to soft initialize JSR PC,SOFINIT BCS 208 NEXT.ERRNO MOV RO,.R1 ERRDF ERRNO,SFIERR, SF IMSG IRAP D0 SOFT INIT OF CONTROLLER :BR IF SOFT INIT = 0K 2SAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DURING INIY TRAP CSERDF «WORD .WORD SFIERR SFIMSG .WORD 002222 030310 030314 003134 729 027342 730 027344 731 027350 732 027354 010100 042700 042701 005737 177774 000003 030310 :Get a valid test address 20$: CLR CLR "moopnov CLR FATFLG KTENABLE MOV MOV BIC (R3)+,R1 R1.RO 21727774 R0 ST T1oKT BIC ;CLEAR FATAL ERROR FLAG T12KT #T12BLK,R3 #3,R1 :TEST ABOVE 28K SWITCH *POINT TO TEST PATTERN TABLE - ($BSUB :TURN OFF ABOVE 28K TEST FLAG :GET TEST PATTERN, ADDRESS :GET ADDRESS ALL 18 BITS' sLEAVE ONLY A17 AND A16 *GET RID OF A17 AND A16 :TEST ABOVE 28K THIS TIME? 307 i TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 PAGE 89 TEST 3: SUBTEST 3: CHARACTERISTIC DATA SELECTED LOCATIONS 733 027360 734 027362 001407 016300 736 027372 012737 735 027 737 027400 738 027404 042700 004737 103402 177774 000001 031316 739 027406 000137 027510 7641 027412 762 0276416 763 027422 012704 004737 013764 030240 031620 030304 745 027436 004737 031730 747 027442 004737 017274 740 764 027430 746 748 027446 749 027452 750 027456 751 027472 752 027474 753 027476 754 027476 027476 027500 013764 010465 004737 030302 000002 000004 027334 030310 766 027550 767 027554 768 027560 000137 004737 012703 408: 104403 005737 001402 004737 608 : 000001 027334 017274 658: 030310 30§ *SAVE 18 BIT ADDRESS ONLY :TURN ON ABOVE 28K TEST FLAG *CONVERT TEST PATTERN TO resr ADDRESS *BR IF VALID TEST ADDRESS 608 *GET NEXT TEST PATTERN mov JSR MOV #T12PACKET, R4 PC r12sunr T12L0ADD, PKLOW(R4) ;GET THE ADDRESS OF COMMAND PACKET aesroae PACKET TO STARTING VALUES :STORE CHAR. DATA PTR LOW ADDRESS JSR PC,T12CHAR :STORE EXPECTED DATA IN DATA BLOCK JSR PC,KTOFF tlZuono PKHI (R4) MOV R&.TSDB(RS) JSR PC.CHKTSSR FORCERROR 328 BCS 408 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T12WRTSSR,PKTSSR CMP JMP TST BGT ST BEQ MOV 708: = JMP JSR ENDSUB ST BEQ JSR inter to the test address *STORE CHAR. DATA PTR HIGH ADDRESS :TURN OFF KT=11 :SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET :BR IF SSR SET IN CHKTSSR *SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 308 .WORD .WORD :LOOP ON ERROR, IF FLAG SET TRAP CKLOOP MOV 002222 017202 PC,T12CONVERT :BR IF no *GET TEST PATTERN AGAIN JMP BHIS 003132 030314 BCS MOV 328: 000137 005737 003012 005737 001407 012737 JSR #°C<A1716>,R0 #1,KTENABLE ;Do a WRITE CHARACTERISTIC command 104406 103002 MOV 25$ =2(R3),R0 :Set the test packet chanctoristics data 50s: 104455 000464 030552 012046 759 027516 760 027522 761 027526 762 027530 763 027534 764 027536 770 027566 771 027570 772 027574 773 258: 010001 030446 027560 027560 769 027562 BIC 103405 020327 765 027544 003134 000000 016336 027502 027504 755 027506 027506 756 027510 757 027510 758 027514 BEQ MOV 177776 R3,#T12TBE 65§ T123L00P T12KT 70s KTFLG 70$ 1, T12KT #T128LK,R3 T123L00P PC,KTOFF CSCLP1 :DONE ALL TSTBLK TEST PATTERNS? :BR IF YES :DO ANOTHER MODULO- 4 ADDRESS :DONE ABOVE 28K TESTING T00? :BR IF YES :ANY MEMORY ABOVE 28K ON SYSTEM? :BR IF NO SSET SWITCH *RESET TEST PATTERN TABLE :DO ABOVE 28K TESTING *TURN OFF KT11 AL END SUBTEST AN\ L10045: FATFLG 758 PC, CKDROP T12WRTSSR PKTSSR :ANY FATAL ERRORS ? *BRANCH IF NOT :TRY TO DROP THE UNIT TRAP (CSESUB —d SEQ 0141 — TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 PAGE 89-1 TEST 3: SUBTEST 3: CHARACTERISTIC DATA SELECTED LOCATIONS TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST &4: NXM TO SELECTED INVALID ADDRESSES ;;g SBTTL 14e s TEST 3: SUBTEST &: ;;3 : SUBTEST DESCRIPTION: 781 : : : : 3 : : ;gg 3 91 : 788 This subtest verifies the NXM error bit in the TSSR registor is set when attempting to fetch data (a characteristic data block) from selected nonexistent locations. If NXM fails to set it is likely that an LSI-11 Bus driver is failing to assert an address line. Addresses tested include all combinations of high-order address bits (i.e bits 16=21). " L a2 a2 i 79 : TEST STEPS: 3 803 ; : : 3 3 804 805 806 807 808 3?3 3 3 2 3 : 3 811 i 813 o 814 %%;g;z = 027574 104402 816 817 027576 818 027602 g}g 027604 005737 001002 000137 T I 212223322323 2322322232232222222222211} are only checked when running on a 11/238 system with more than 128K words of memory! s 798 799 800 gg} I The LSI BUS drivers for all available address lines(16=21) 3 : 797 i CAUTION 792 793 77g§ SEQ 0142 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES ;;; 782 783 784 785 786 787 nn PAGE 90 L R i i I I I I I 3133232222223 22222222222232221) BEGIN Write to TSSR to soft initialize Do a write characteristic command Invert the extended features switch REPEAT FOR SELECTED NON-EXISTENT MEMORY ADDRESSES BEGIN Get an invalid test address Set the test packet characteristics data pointer to the test address. -y Do a WRITE CHARACTERISTIC command If TSSR register NXM bit not set then print error message END BGNSUB 2111111117177 85?1" SUBTEST 7777771117 "7 003136 TST BNE JMP 030164 gs; NXMFLG 108 NOEXTF ¥ IRAP ($BSUB :GOT ENOUGH MEMORY? sIF SET STAY sLEAVE IF NOT SET ;Write to TSSR to soft initialize 823 027610 824 027614 004737 103405 825 027616 826 027616 010001 7620 104455 027622 000465 015774 108: JSR BCS PC,SOFINIT 1§ NEXT.ERRNO MOV 0.R1 RO, ERRDF ERRNO,SFIERR,SFIMSG ;DO SOFT INIT OF CONTROLLER :BR IF SOFT INIT = OK sSAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DURING INIT TRAP .WORD CSERDF 309 027624 027626 828 829 830 831 027630 027630 832 027632 833 027636 8 642 845 846 847 027714 848 027720 849 027720 850 027726 851 027734 852 853 854 855 856 027734 857 027740 858 027744 859 027752 860 g SEQ 0143 -WORD .WORD SFIERR SFIMSG ;Do @ WRITE CHARACTERISTIC command so to invert switch 11$: CKLOOP 15%: MOV #T12PACKET R4 JSR PC,T12SWRT CLR KTENABLE MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 15¢% BCS 17% MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T12WRTSSR,PKTSSR 004737 016336 103405 010001 104455 104406 004737 sLOOP IF SELECTED TRAP cscLP sGET _THE ADDRESS OF COMMAND PACKET sRESTORE PACKET TO STARTING VALUES sTURN OFF KT=11 sSET_THE PACKET ADDRESS sWAIT FOR SSR TO SET sBR IF SSR SET IN CHKTSSR sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 012046 027706 g:z 027710 n 003652 012034 004737 839 027674 840 027676 841 027676 PAGE 90-1 17%: 021206 :LOOP IF SELECTED CKLOOP JSR PC,INVERT :INVERT THE SWITCH CSERDF 310 T12WRTSSR .WORD «WORD -WORD PKTSSR TRAP cscLP ;Get an invalid test address 005037 002222 013737 013737 003142 003140 030302 030304 208: 25%: CLR MOV MOV T124L00P: FATFLG sCLEAR FATAL ERROR FLAG NXMHI ,T12HIADD NXMLO, T12LOADD sSAVE TEST ADDRESS HIGH sSAVE TEST ADDRESS LOW :Set the test packet characteristics data pointer to the ; 030240 013764 013764 030302 004737 010465 004737 017274 000000 016250 103407 010001 104455 004 002222 test address. 308 : MOV JSR #T12PACKET R4 PC,T12SWRT MOV T12HIADD ,PKHI (R4) MOV 000002 000004 T12L0ADD, PKLOW(R4) ¢GET _THE ADDRESS OF COMMAND PACKET sRESTORE PACKET TO STARTING VALUES :STORE CHAR. DATA PTR LOW ADDRESS sSTORE CHAR. DATA PTR HIGH ADDRESS ;Do @ WRITE CHARACTERISTIC command JSR PC.KTOFF MOV R4, TSDB(RS) gSR PC,WAITF ORCERROR 328 BCS 40$ MOV RO.R1 sBR IF SSR SET IN CHKTSSR sSAVE CONTENTS OF TSSR 328: ;DEVICE FATAL SSR FAILED TO SET 40$: NEXT.ERRNO ERRDF INC CkLOOP ERRNO,T12WRTSSR,PKTSSR FATFLG sTURN OFF KT=11 sSET_THE PACKET ADDRESS TO EXECUTE SWAIT FOR SSR TO SET TRAP «WORD .WORD .WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG %sxP CSERDF m T12WRTSSR PKTSSR cscLP f TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES 872 030032 873 osooag 030042 030044 874 875 030046 FORCERROR ESCAPE 104410 000124 876 030046 016501 877 030052 004000 880 030074 881 030076 013737 030306 882 030102 013737 030302 030110 030112 030114 030116 887 030132 005737 890 030144 005200 893 030156 010037 002240 002236 528: 5§28 608 NEXT.ERRNO MOV T12LOADD, ERRLO MOV T12HIADD . ERRHI ERRHRD ERRNO, T12NXM,ADDSSR 030302 030164 897 030164 004737 898 030170 0301 030170 104403 899 030172 005737 900 030176 001402 901 030200 004737 902 030204 004737 103002 017274 904 030212 000137 026446 030216 907 030222 004737 005037 030226 030230 104432 001542 910 911 ST 658: 758: 908 : NOEXTF: 002222 017202 016456 017274 003150 CKLOOP FORCEXIT 003144 895 030164 CSESCAPE L10046~. sMEMORY TEST ADDRESS LOW sMEMORY TEST ADDRESS HIGH sREPORT ADDRESS AND TSSR _ERROR TRAP g?gRHRD sNXM SET? :BR IF YES 1008: 1058: BNE MOV INC CMP BHI MOV JMP T23A 90$ 908 T12HIADD,RO RO RO, 477 90$ RO, T12HIADD T124L00P ADDSSR ;LOOP ON ERROR, IF FLAG SET TRAP CSCLP sIS IT A 11/723A7 sYES WERE DONE sGET CURRENT HIGH ADDRESS sGET NEXT ADDRESS sDONE A21-A16? sBR _IF YES sSETUP NEW HIGH ORDER ADDRESS ;DO ANOTHER NON-EXISTENT ADDRESS JSR ENDSUB PCKTOFF ST BEQ JSR JSR FATFLG 1008 PC, CKDROP PC.TSTLOOP sSHOULD WE DO ITERATIONS? JMP T12L00P :LOOP UNTIL ITERATION COUNT DONE JSR CLR PC,KTOFF T38FLG sTURN OFF MEMORY MANAGEMENT sCLEAR TEST FLAG sALL DONE THIS TEST TRAP BCC EXIT 05s TST T12NXM .WORD sTURN OFF KT11 S VAL END SUBTEST NN\ L10046: TRAP CSESUB sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT ;BR _IF NO .WORD CSEXIT L10042-. e g}% 914 916 918 030240 919 030240 ANXM,R1 BNE 608: 89 030160 000137 027734 909 +WORD .WORD 891 030146 020027 000077 892 030152 101004 908 030226 ;BY=PASS SUBTEST IF FATAL ERROR .WORD 030136 001012 889 030140 013700 030302 905 030216 458 ,NOTSSR 031207 012126 104406 903 030210 FORCERROR BIT 104456 000470 885 030120 030120 886 030122 SEQ 0144 :1f TSSR register NXM bit not set then print error message i58: MOV TSSR(RS) ,R1 sGET TSSR CONTENTS 000002 032701 879 030072 001012 SUB B 12 TRAP 878 030066 883 030110 PAGE 90-2 :LOCAL STORAGE FOR THIS TEST 030240 100004 .=<.+10>8177770 T12PACKET: .WORD 100004 s COMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH ACK [ TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES . TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST &: NXM TO SELECTED INVALID ADDRESSES 928 030256 929 930 030262 931 932 030302 933 030304 9 34 030306 935 030310 339 030312 030250 sADDRESS OF CHARACTERISTICS BLOCK sSTARTING VALUE OF BLOCK SIZE T12DATA: T128FR: sCHARACTERISTICS DATA BLOCK sLOW ADDRESS OF MESSAGE BUFFER sHIGH ORDER OF MESSAGE BUFFER sLENGTH OF MESSAGE BUFFER .BLKW T12HIADD: T12LOADD: T12PARG: T12KT: T1247ST: 4 *TABLE OF ADDRESSES . T128BLK: .WORD 975 030416 976 030420 SEQ 0145 T12DATA 0 8. 000000 000010 030262 000000 000016 000000 c 12 sMESSAGE BUFFER (elelelel) 920 030242 PAGE 90-3 sHIGH ADDRESS ;LOW ADDRESS sADDRESS IN PAR FORMAT sTEST ABOVE 28K SWITCH sADDRESS TEST BIT TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES 977 030422 978 030424 979 030426 980 030430 981 030432 30434 983 030436 984 030440 985 430442 986 030444 gg; 030446 010003 020001 .WORD .WORD 02000 02000 0001 040002 040003 100001 100002 100003 177777 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD T12TBE: .WORD 1001 SEQ 0146 010003 020001 02000 02000 040001 040002 040003 100001 10000 10000 1727777 :0 989 990 992 030450 993 030476 994 030552 995 030641 996 030737 997 031025 998 031116 999 031207 1000 PAGE 90-4 sLOCAL TEXT MESSAGES FOR TEST - 104 103 103 115 102 105 127 124 115 157 157 145 141 170 162 123 101 156 156 163 143 160 151 123 TST121D: T12GETSSR: T12WRTSSR: T12MSGBUF : T12BKGND: TI12NINT: T12DPR: TI12NXM: .EVEN LASCIZ LASCIZ LASCIZ LASCIZ LASCIZ LASCIZ LASCI2Z LASCIZ 'DMA Memory Addressing’ 'Contents of TSSR Incorrect After GET STATUS® ‘Contents of TSSR Incorrect After WRITE CHARACTERISTICS® ‘Message Buffer Contents Incorrect After WRITE CHARACTERISTICS® ‘Background Pattern Disturbed By WRITE CHARACTERISTICS® 'Expected Interrupt Not Received On WRITE CHARACTERISTICS® ‘Write Characteristic data in ram does not match expected’ ) 'TSSR NXM bit failed to set when non-existent memory address specifi PAGE 91 E 12 SEQ 0147 ) D b SESESR g TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST &: NXM TO SELECTED INVALID ADDRESSES WN=O : INPUTS: RO R1 N=O VRNV D D D ) ) b D ) D D d IF MEMORY ABOVE 28K SPECIFIED (VIA R1) THEN PAR 6 IS SET TO THE RELOCATION BASE. NININ) b cd wd b e ced b e o [e]=l=lololelelololeTToT.] d el D ) ROUTINE TO CONVERT A TEST PATTERN TO A VALID ADDRESS IN DIAGNOSTIC FREE SPACE DIAGNOSTIC FREE SPACE IS BETWEEN THE END OF THE DIAGNOSTIC AND THE BEGINNING OF THE_SUPERVISOR. THIS IS ALWAYS BELOW 24K. — e cd D b 023 031316 024 031316 025 031322 026 031326 027 031332 1028 031336 1029 031342 1030 031344 1031 031350 1032 031354 1033 031360 E OUPTUTS : T12PAR6 = ADDRESS BIASED TO PAR6 IF >28K UNDER TEST T12HIADD = HIGH ORDER ADDRESS IN NON PAR6 FORMAT T12LOADD = LOW ORDER ADDRESS IN NON PAR6 FORMAT C BIT = 1 IF GOOD ADDRESS RETURNED C BIT = 0 IF TEST PATTERN DID NOT YIELD A VALID ADDRESS i 12CONVERT: 005037 005037 005037 042701 010005 004737 013702 062702 060102 1036 031372 1037 031376 1038 031402 1039 031406 013703 162703 010237 010237 020203 1040 031410 1061 031412 101007 020237 1043 031420 1044 031426 1045 031426 1046 031430 005737 001004 000424 162702 1042 031416 1047 031434 1048 031436 1049 031436 1050 031442 1051 031444 103007 000754 005737 001420 005737 1052 031450 001413 1053 031452 1054 031456 1055 031460 1056 031464 1057 031466 1058 031472 1059 031476 004737 010500 010037 010201 004737 010037 103403 SAVREG CLR CLR CLR BIC MOV JSR MOV 030304 030302 030306 170000 017274 003124 000020 1034 031362 042702 000003 1035 031366 HIGH ORDER ADDRESS BITS LOW ORDER ADDRESS BITS 003130 000020 030304 258: 030306 000020 003134 003132 017256 030302 017316 030306 #16. .R2 R1.R2 *IN CASE TEST PATTERN=0 *ADD IN TEST PATTERN MOV raeeu: R3 *GET LAST FREE ADDRESS BIC 35¢: 508: #3.R2 sUB MOV RS az Ti2L0ADD CMP R2.R3 R2.T12PARG BHI CMP 35§ R2,FREE ST BNE BR suB KTENABLE 508 908 #16. .R2 BHIS 003134 :SAVE R1-RS UNTIL NEXT RETURN *CLEAR LOW ADDRESS *CLEAR HIGH ADDRESS :CLEAR PAR6 BIASED ADDRESS :FORCE TO LOWER 12 BITS OF ADDRESS :SAVE HIGH ORDER ADDRESS BITS JSHUTOFF MEMORY MANAGEMENT *GET FIRST FREE ADDRESS ADD ADD MOV 003124 T12L0ADD T12HIADD T12PARG #°C<7777>,R1 RO,RS PC.KTOFF FREE ,R2 508 B8R 258 ST KTENABLE BEQ 908 MOV BCS RO T12PARG 105s BEQ ST JSR MOV MOV MOV JSR 1008 KTFLG PC,KTON RS.RO RO, T12HIADD R2.R1 PC.SETMAP *MAKE IT MODULO-4 :SAVE AT LEAST 8 WORDS (IN CASE MESSAGE BUFFER) :SAVE POSSIBLE LOW ADDRESS :SAVE IT IN PARG BIASED T00 :1S THIS ADDRESS ABOVE FREE SPACE? :BR IF YES :1S IT IN FREE SPACE? *BR IF YES- ITS GOOD *TESTING ABOVE 28K? *BR IF YES :BR IF NOT IN FREE SPACE :FORCE FIT THE TEST PATTERN *TRY THIS TEST PATTERN ADDRESS resnuc ABOVE 28K? :BR IF SANY nenoav ABOVE 28K? *BR IF NO *TURN ON MEMORY MANAGEMENT *GET HIGH ORDER ADDRESS *SAVE POSSIBLE MIGH ADDRESS :GET COMPUTED LOW ORDER ADDRESS *RETURN PARG BIASED ADDRESS IN RO :COPY PARG6 BIASED ADDRESS :BR IF VALID ADDRESS 1060 031500 1061 031502 106% 031504 1063 031506 1064 000241 000401 000261 000207 90$: 1008: 1058: 1065 1066 1067 1068 1069 1070 105% PC SEQ 0148 :CLR C BIT FOR FAILURE *SET SUCCESS *RETURN :ROUTINE TO READ THE FIRST 2 BYTES FROM RAM sMEMORY AND COMPARE THIS DATA TO A COMMAND PACKET. 1071 sINPUT: . : R4 ADDRESS OF THE COMMAND PACKET CARRY SET = RAM MATCHES PACKET CLR = RAM DOES NOT MATCH PACKET RS FIRST DEVICE UNIBUS ADDRESS sOUTPUT: : s sIMPLICIT OUTPUT: : 3 3 1084 1085 1086 1087 THE TABLE RAMDATA IS FILLED WITH THE DATA HELD IN RAM. RAMSIZ SET TO 2 FOR PRAMPKT ROUTINE ;SIDE EFFECTS: 1088 1089 1090 : 1091 1114 031610 1115 031616 1116 F 12 * 4 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1092 031510 1093 031510 1094 031514 1095 031520 1096 031524 1097 031526 1098 031532 1099 031540 1100 031544 1101 031550 1102 031554 1103 031560 1104 031562 1105 031564 1106 031566 1107 031570 1108 031574 1109 031576 1110 031600 1111 031602 1112 031604 1113 031606 CLC B SEC RTS PAGE 91-1 012701 T12CKRAM:: SAVREG MOV 002242 000201 016336 000000 016336 000000 016336 000000 MOV #RAMDATA R1 #RMPKTBEG,R2 JSAVE THE GENERAL REGISTERS sADDRESS TO SAVE THE RAM DATA sBYTE ADDRESS OF FIRST RAM DATA JSR PC,CHKTSSR :WAIT FOR SSR CLR 000000 108: 20$: 000203 000002 THE SUBSYSTEM IS LEFT IN MAINTENANCE MODE 002302 sCLEAR THE ERROR FLAG MOV8 JSR #0,TSDB(RS) PC,CHKTSSR JSR MOVB CMPB BEQ INC INC CMP PC,.CHKTSSR TSBA(RS), (R1) (R1)+,(R4)+ 208 R3 R2 R2,#RMPKTBEG+2 JBRANCH IF 0K 2SET ERROR FLAG sADDRESS OF NEXT RAM LOCATION :DONE 2 BYTES? TST R3 JWAS AN ERROR FOUND ? 50% JCLEAR CARRY TO SHOW ERROR JAND EXIT MOV BLT 308: 508: R3 BEQ CLC BR SEC MOV RTS R2,.TSDB(RS) 108 308 #2 .RAMS 12 PC sSET MAINTENANCE MODE sWAIT FOR SSR TO SET JSELECT NEXT RAM ADDRESS JWAIT FOR SSR TO SET SREAD THE RAM DATA sCOMPARE TO EXPECTED :BR IF NO :BRANCH IF NOT +sSHOW GOOD COMPARE :SETUP RAMSIZ sJRETURN —r TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES SEQ@ 0149 030240 #T12PACKET,R1 #100004, (R1)+ 100004 030250 #T12DATA,(R1)+ (R1)+ #8.,(R1)+ 000010 030262 SO bb o e 333 25EEERE eeb e ee T12SWRT: ?;}gara.(a1)o + 000016 g;?;.<n1>o + RTS -42 (R1) PC sSAVE THE REGISTERS sSTART OF THE PACKET sWRITE CHARACTERISTICS WITH ACK ;ADDRESS OF CHAR DATA BLOCK :EXTENDED ADDRESS :SIZE OF DATA BLOCK IN BYTES :ADDRESS OF MESSAGE BUFFER :LENGTH OF MESSAGE BUFFER :RETURN ROUTINE TO SETUP A GET STATUS COMMAND PACKET AT CURRENT PACKET ADDRESS R3 R4 HIGH ORDER PACKET ADDRESS LOW ORDER PACKET ADDRESS NOTE: R3 IS IGNORED IF KTENABLE FLAG CLEAR T12SETGET: SAVREG 003134 017316 000017 100000 108: 031726 MOV TST BEQ MOV JSR MOV MOV BIS MOV CLR RTS R4 ,R1 KTENABLE 10$ R3.R0 PC.SETMAP sSAVE THE REGISTERS :GET LOW ORDER ADDRESS :TESTING ABOVE 28K? :8R IF NO :GET HIGH ORDER ADDRESS sRETURN ADDRESS BIASED TO PAR6 IN RO RO,R1 :GET ADDRESS RO, (R13+ ;?i)o :STORE GET STATUS IN PACKET :CLgazuunuseo WORD #P.GETSTATUS.RO :GET STATUS COMMAND CODE NO IE #P.ACK,RO :SET ACK * 4 F12CHAR: S5 ~ ~ N P OOOO&QOOQ W :ROUTINE TO SETUP A CHARACTERISTIC DATA BLOCK AT A TEST ADDRESS Sl 030250 030304 003134 030306 012021 108: SAVREG MOV MOV TST BEQ MOV MOV MOV #T12DATA,RO T12L0ADD ,R1 KTENABLE 108 T12PAR6,R1 (RO)+,(R1)+ (RO)+,(R1)+ sSAVE R1-R5 UNTIL NEXT RETURN sGET T12PACKET DATA POINTER sASSUME NOT ABOVE 28k :YESTguG ABOVE 28k? :BR_IF NO sSET TEST ADDRESS ABOVE 28k sSTORE DATA WORD 1 sSTORE DATA WORD 2 — 1 12 :ROUTINE TO SETUP PACKET TO WRITE CHARACTERISTICS WWWWWWWWWWWIANW S VIMIVWWVIS BB BB N ANIITEIE SPER2TIAINY AP AR AAY S A S 2 NS N IR N 1 Eat b st et S PAGE 91-2 M OCOO0O0O0O0O00O0O0O00O A et TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST &4: NXM TO SELECTED INVALID ADDRESSES ] ' TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST &: NXM TO SELECTED INVALID ADDRESSES 1174 031762 1175 031764 1176 031766 }};; 031770 012021 012021 012021 000207 1179 031772 031772 031772 MOV MOV MOV RTS ENDTST 104401 PAGE 91-3 (RO)+,(R1)+ (RO)+,(R1)+ (RO)+,(R1)+ PC 12 SE@ 0150 sSTORE DATA WORD 3 sSTORE DATA WORD 4 sSTORE DATA WORD 5 sRETURN L10042: TRAP CSETST TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 3: SUBTEST 4: NXM TO SELECTED INVALID ADDRESSES 18 PAGE 92 SEQ 0151 TSVS = HARDWARE TESTS TEST 25-MAY-82 09:19 J 12 PAGE 93 SEQ 0152 d b D D D > s oSS NO NONwWn rept—t-1 ogo wro= S8R 28TRIRARZ v RIRIRIRY &: RAM EXERCISER T gggao M1113 .SBTTL D e :0 TEST &: RAM EXERCISER TEST :THIS TEST USES THE READ AND WRITE RAM (BOTH SINGLE AND 256 e :LOCATIONS) SELECT CODES OF THE WRITE SUBSYSTEM MEMORY COMMAND —d D e e e :TO EXERCISE THE CONTROLLER'S RAM MEMORY AND DMA LOGIC BGNTST D e d T4:: ST = 2 012737 w S ~ 032016 002216 T15LOOP: MOV d : : :CHECK FOR RUN MODE #5.LOOPCNT *PERFORM S ITERATIONS 108 SKIPT #TST1SID,RO PC,TSTSETUP *BR, IF NOT ONLY PROGRAM RUN *SET SKIP Sw *ASCII MESSAGE TO IDENTIFY TEST :DO INITIAL TEST SETUP THIS SUBTEST WRITES THE ADDRESS (8 BITS) INTO THE RAM MEMORY SINGLE WORD (8 BITS) MODE BGNSUB 032024 SETPRI 000000 003400 032324 034452 034524 015774 MOV #PR100,RO ST SKIPT JMP 508 JSR JSR JSR ERRDF 108 PC,T1SREST PC.T15RT2 PC.SOF INIT :BR, IF NOW SKIP REQUIRED *SET COMMAND PACKET *SET UP OTHER COMMAND PACKET :DO INITIALIZE ON CONTROLLER 208 *BR IF INIT WAS OK ERRNO, SF IERR, SF IMSG *FATAL ERROR TSSR WAS NOT OK RO,R1 :CONTENTS OF TSSR REGISTER TRAP .WORD MoV #T1SPACKET R4 BCS 238 *BR, IF COMMAND ISSUED OK ERRHRD ERRNO,WRTM SFSG, IMSG *WRITE CHARACTERISTISC FAILED JSR PC,WRTCHR RO,R1 MOV #256. ,R3 401 SFIERR :SUBROUTINE NEEDS PACKET ADDRESS SFIMSG :1SSUE WRITE CHARACTERISTICS *SAVE CONTENTS OF TSSR TRAP LWORD .WORD 238: CSERDF LWORD .WORD MOV 000400 CSSPRI :SKiP SUBTEST 003652 033350 010662 (C$BSUB TRAP ;SHOULD WE SKIP THIS SUBTEST BCS 208 TRAP :LOWER PRIORITY TO ALLOW INTERRUPTS BEQ 108: 77777777, secl{u‘suarssr 110011110111 #PRI0O MOV 0320 032072 TSTCNT *TEST &, SUBTEST 1 e b b d e BEQ INC MOV JSR 108: b b e RIRIRIRINININININS Y o d e e D e d p—rs —_— 002214 .WORD sSTARTING ADDRESS FOR RAM WRITE CSERHRD 402 WRTMSG SFIMSG TEST e e b WSS S8 e ~ w 4 000001 000002 034061 034060 258 034062 034050 034064 00000 016336 — ~N b [\¥] - e e b d e RO Ul\fl‘*bbfi RIC IR N NNNN'}\)NNNNN 0 (o AV P IV N doogv &: RAM EXERCISER TEST 25-MAY-82 09:19 MOV MOV MOVB MOV JSR B8CS MOV ERRHRD 0 032172 K 12 SEQ 0153 #1,T158S81 :SIZE OF TRANSFER R3,T1552 :ADDRESS FOR RAM :WRITE SUBSYS MEM PACKET :DATA FOR WRITE (ADDRESS) : ISSUE_COMMAND #2.115850 crispxgsaa R4, TSDB(RS) PC,CHKTSSR 30§ RO.R1 ERRNO,T15SSR,PKTSSR :WRITE RAM *‘COMMAND' :WAIT FOR SSR :BR, IF NO ERROR :ERROR, SAVE TSSR :TSSR NOT CORRECT AFTER WRITE SUB MEM TRAP .WORD .WORD 0 1251 032202 032202 032204 1252 032206 032206 1253 sus 308: CxLOOP " CSERHRD 403 T15SSR .WORD PKTSSR :DON'T CONTINUE IF ERROR ON WRITE TRAP :SCOPE LOOP CSESCAPE .WORD L10050~. TRAP CSCLPY o w & o N 010000 000001 000000 016336 :NEXT ADDRESS CMP 408: -y FEINZS NN W N OO00O00O X KRR w 032212 034060 :END OF RAM MEMORY CHECK :LOOP TILL ALL RAM WRITTEN :CLEAR OUT R2_WIGH BITS :SET BACK 10 7777 :GET DATA PATTERN BACK IN SHAPE MOVB MOVB JSR R4, TSDB(RS) PC,CHKTSSR 438 RO,R1 b b e b b d b b b b NN o 1255 032210 SSS83 SN N SRSZTRIFUR MovB Move PAGE 93-1 —ad EACRO M1113 ERRNO, T15SSR, PKTSSR 032264 1271 032266 032266 1272 032270 1273 032274 1274 032276 1275 438: 013701 010302 120102 001404 033412 & 6 020327 001340 104406 MoV T158FR+20,R1 R3.R2 ERRNO, T15AM4 ,EXPBREC 458: 000377 CkLOOP CMP 508: CKLOOP :SEND OUT PACKET ADDRESS TO CONTR. :WAIT FOR READY, NON-AMBIGUOUS :BR, IF NO PROBLEM :SAVE TSSR :TSSR NOT CORRECT :SCOPE LOOP R;‘RZ 034345 015502 104406 005303 CKLOOP :ADDRESS FOR RAM READ :READ RAM COMMAND CSERDF WORD .WORD .WORD 404 T15SSR PKTSSR TRAP CSCLPY :GET RAM READ DATA :SET UP FOR COMPARE :CHECK WITH DATA WRITTEN :BR IF OK, DATA IN = DATA OUT :WRITTEN DATA NOT = TO READ TRAP :SCOPE LOOP R3 23 #255. TRAP CSERHRD .WORD WORD .WORD 405 T15AM4 EXPBREC TRAP CSCLPY TRAP CScLP :DROP DATA COUNTER (PATTERN) ;AT BOTTOM YET :BR, IF MORE TO CHECK :SCOPE LOOP o TSVS = HARDWARE TESTS TEST MACRO M1113 4&: RAM EXERCISER TEST 1285 032326 1286 032326 032326 25-MAY-82 09:19 ENDSUB 104403 PAGE 93-2 12 SEQ 0154 SVVANAAANANNANAL END SUBTEST \\ANALNNLY L10050: TRAP CSESUB -t TSVS = HARDWARE TESTS TEST EACRO M1113 &: RAM EXERCISER TEST 25-MAY-82 09:19 1288 1289 032330 M2 BGNSUB SEQ@ 0155 i BE?{NZSUBTEST 11111117177/ " WA = 104402 THIS SUBTEST WRITES RAM WITH ALL ZEROS THEN WALKS AN ALL ONES WORD DOWN THROUGH MEMORY 034452 034524 015774 JSR JSR JSR BCS MOV ERRDF PC,.T15REST PC,T15RT2 PC,SOFINIT 20§ RO,R1 ERRNO, SFIERR, SF IMSG sRESTORE PACKET FOR WRITE CHARA sRESTORE PACKET FOR WRT SUB SYS MEM sDO INITIALIZE ON CONTROLLER :BR IF INIT WAS OK sCONTENTS OF TSSR REGISTER sFATAL ERROR TSSR WAS NOT OK TRAP «WORD «WORD «WORD < N 20$: 033350 010662 MOV JSR #T1SPACKET R4 PC,.WRTCHR MOV ERRHRD RO,R1 ERRNO,WRTMSG, SF IMSG BCS 258 o~ N o= Ww NN ~~ wW SRR SRENREEIS RRRRRRE 000001 034050 000400 000002 034064 034062 000000 016336 034061 25$: 034060 308: .WORD WORD WORD MOVB criswxz R& 256. RS 02 715850 T15s3 MOV R&.TSDB(RS) MOV JSR BCS ERRHRD 032464 1332 032466 33s: 032466 1333 1334 1335 032470 1336 032472 1337 032476 1338 032500 35%: R3,T1582 ERRNO,T15SSR,PKTSSR SSR :TSSR NOT CORRECT :SCOPE LOOP R3 CMP R3,#10000 DEC R3 BNE 308 CSERHRD 407 WRTMSG SFIMSG sADDRESS TO PACKET DATA AREA PC . CHKTSSR 33§ SFIERR SFIMSG sSET SIZE OF TRANSFER 1 BYTE sSET NEW PACKET ADDRESS sSTARTING ADDRESS IN RAM sWRITE RAM COMMAND sSET DATA _T0 000 <SEND OUT PACKET ADDRESS gal FOR SSR CKLOOP INC 010000 #1,T158S1 MOV MOV MOVB CLRB Eggkbf s SUBROUTINE NEEDS PACKET ADDRESS sISSUE WRITE CHARACTERISTICS ¢BR, IF COMMAND ISSUED OK sSAVE CONTENTS OF TSSR sWRITE CHARACTERISTISC F?‘k;b o o W N o N — b b wwwug V=00 d =D b e - d md =D ) d ($BSUB STEST &, SUBTEST 2 — d d d wmd d b WWWWWIWW WN ~o (V] IRAP 4 =1 NN FEEEILIRSE ~o~o~0§ 032330 032330 PAGE 94 sNEXT ADDRESS sEND OF RAM MEMORY CHECK :BR, MORE RAM_T0 GO :SET BACK TO 7777 TRAP «WORD .WORD WORD CSERHRD 408 T15SSR PKTSSR TRAP CSCLP el TSVS = HARDWARE TESTS TEST &: RAM EXERCISER T 032504 032512 032516 032522 032526 832530 0065002 112737 010337 010465 004737 103405 010001 2532 104456 000631 034066 012046 542 1351 032544 1352 032550 1353 032552 104406 013701 120102 001404 032560 000632 034243 015502 000001 034062 25-MAY-82 09:19 034060 408: 000000 016336 CLR MOVE MOV R&. TSDB(RS) BCS 418 MOV ERRHRD 033412 C(MP8 BEQ ERRHRD 42%: 000377 000002 000377 000000 016336 034060 034064 032630 oW N~ 034060 016336 R1,R2 4 2$ ERRNO,T15AM3,EXPBRE( R4 ,TSDB(RS) PC . CHKTSSR #000377.T15S3 BCS 438§ ERRHRD ERRNO,T15SSR,PKTSSR RO,R1 CKLOOP #1,T158S0 R4.TSDB(RS) BCS 468 PC,.CHKTSSR RO,R1 ERRNO,T15SSR,PKTSSR 4s: MOV (MPB BEQ ERRHRD T158FR+20,R1 R1.R? 45 ERRNO, T15AM2, EXPBREC 409 TI5SSR PKTSSR TRAP CSCLP1 410 T15AM3 EXPBREC TRAP CSCLP TRAP WORD .WORD WORD CSERARD 411 TI15SSR PKTSSR TRAP cscLP TRAP CSERDF sSET ALL ONES WORD sWRITE RAM COMMAND sALL ONES PATTERN sPASS PACKET ADDRESS TO CONTR. sWAIT FOR SSR :BR, IF OK (NO ERROR) sSAVE TSSR sTSSR NOT CORRECT :SET UP FOR RAM READ s ISSUE_RAM READ sWAIT FOR SSR TO SET :BR, IF OK (NO ERROR) sSAVE TSSR sTSSR NOT CORRECT CkLOOP WORD .WORD WORD sPICK UP REC'D DATA sCHECK WITH DATA WRITTEN :BR IF OK, DATA IN = DATA OUT sWRITTEN DATA NOT = TO READ TRAP :SCOPE LOOP CSERHRD WORD .WORD +WORD .WORD .WORD 45%: CSERHRD .WORD .WORD .WORD TRAP W wn— S [« VIV1 NONOWNON =N o e NSO 2 8x32 =000 — — o0 ONONON N 38 W o e [e]lele] 0327 1387 032706 033412 TRAP sPICK UP READ DATA ;BOTH SHOULD BE 00000000 BINARY ¢BR, IF DATA IS GOO0D s CHARACTERISTICS DATA NOT CORRECT :SCOPE LOOP MOVEB MOV ERRD# :TSSR NOT CORRECT :SCOPE LOOPER MOV JSR MOV 4 T158FR+20,R1 #000377,R2 #2,T158S0 JSR - = 000001 000000 sSET TO ALL ZEROS ¢READ RAM COMMAND sADDRESS TO BE READ TO PACKET DATA +SEND OUT PACKET ADDRESS sWAIT FOR SSR TO SET sBR, IF ALL IS WELL ¢SAVE TSSR 2 1374 032652 1375 032654 1379 0%2656 Sy ~ o W o - 112737 W ~ W 1371 032634 SEQ 0156 :SCOPE LOOP MOV MOVB MOVB 438: 3 0326 RO,R1 ERRNO,T15SSR,PKTSSR CKLOOP MOV 1370 032632 PC.CHKTSSR CKLOOP MOV 104456 12 R2 #1,T158S0 R3.T1552 MOV JSR 418: PAGE 94-1 g gggao M1113 W0 ) 412 T15SSR PKTSSR CSERHRD 413 T15AM2 EXPBREC g TSVS = HARDWARE TESTS TSVS = HARDWARE TESTS TEST MACRO M1113 &: RAM EXERCISER TEST 032706 1388 032710 10440% 00530 25-MAY-82 09:19 : DEC 1389 032712 020327 000377 }§9 032716 001271 CMP BNE 1392 032720 ENDSUB 032720 93 032720 104403 PAGE 94=2 R3 R3,#255. 408 13 SEQ 0157 TRAP :DROP RAM ADDRESS POINTER cscLP1 *AT START YET *BR, IF MORE RAM TO CHECK SNNNANANNAANANANANAN END SUBTEST NANANLALALALLLLLLWY L10051: TRAP CSESUB [ SVS = HARDWARE TESTS gACRO M1113 25-MAY-82 09:19 PAGE 95 | TEST c13 &: RAM EXERCISER TEST 1395 gg%;g% 1396 032722 BGNSUB 104402 SEQ 0158 111NN Bfltim SUBTEST /777777777777 TRAP 3¢ 1397 1398 ($8SUB : ;TEST &, SUBTEST 3 1399 : 1400 s }28% : 1401 : 1404 032724 1405 032730 005737 001402 1407 032736 1408 032742 1409 032746 1410 032752 004737 004737 004737 103405 1406 032732 1414 032754 1415 032756 000137 104455 032762 032764 1416 032766 003652 012034 16417 032766 1418 032772 012704 004737 1423 033000 1624 033002 010001 1419 032776 033002 033010 1425 033012 1426 033012 033326 034452 034524 015774 108: 010001 032756 032760 003400 103405 208: 033350 010662 JSR JSR JSR BCS PC,T1SREST PC,T15RT2 PC.SOF INIT 208 ERRDF ERRNO,SFIERR,SFIMSG JMP 50 RO,R1 :CHECK RUN MODE *BR, IF NO SKIP *SKIP SUBTEST *RESTORE PACKET FOR WRITE CHARA JRESTORE PACKET FOR WRT SUB SYS MEM :DO INITIALIZE ON CONTROLLER :BR IF INIT WAS OK *CONTENTS OF TSSR REGISTER JFATAL ERROR TSSR WAS NOT Ok TRAP 1 112737 010337 000377 034062 004737 016336 034061 258: #TI1SPACKET R4 PC,WRTCHR sSUBROUTINE NEEDS PACKET ADDRESS xssue WRITE CHARACTERISTICS MOV ERRHRD RO.R1 ERRNO,WRTMSG,SFIMSG SAVE CONTENTS OF TSSR URITE CHARACTERISTISC FAILED 25$ IF COMMAND ISSUED OK TRAP WORD 1432 033050 010465 1434 033060 103405 1435 033062 010001 033064 104456 034064 .WORD MOVB MOV MOV 1429 033030 112737 000002 034060 308: #1,T158S1 :SET NEW PACKET ADDRESS :STARTING ADDRESS IN RAM MOV 0377 nsss 3,715s *SET DATA TO 377 :ADDRESS TO PACKET DATA AREA JSR PC.CHKTSSR MOV8 MOVB MOV BCS MOV ERRHRD oz nsaso Rlo TSDB(RS) 33§ RO,.R1 ERRNO,T15SSR,PKTSSR 104406 mf 033076 005203 1444 033100 020327 010000 1445 033104 001357 338: (KLOOP INC CMP BNE R3,#10000 308 WRTMSG SFIMSG :WRITE RAM COMMAND sSEND OUT PACKET ADDRESS m FOR SSR IF NO PROBLEM SAVE TSSR :TSSR NOT CORRECT :SCOPE LOOP R3 CSERHRD 415 :SET SIZE TO 1 BYTE nimz R4 RS 000640 034066 012046 SFIERR SFIMSG MOV JSR WORD 012034 112737 CSERDF 414 -WORD .WORD 005056 1430 033036 1431 033044 033070 033072 1440 033074 033074 SKIPT 108 BCS 104456 37 034050 000400 03 ST BEQ WORD 012704 012703 1439 033064 THEN WALKS AN ALL ZEROS WORD DOWN THROUGH MEMORY MOV 1427 033020 1428 033024 1433 033056 THIS SUBTEST WRITES RAM WITH ALL ONES :NEXT ADDRESS :END OF RAM MEMORY CHECK :BR, MORE RAM TO GO TRAP CSERHRD WORD 416 TRAP CSCLP1 .WORD .WORD T15SSR PKTSSR | | TSVS = HARDWARE TESTS &: RAM EXERCISER TEST ~ = o W W 033128 W o 'S 065303 —3 PSSR 14‘6 033106 1447 033110 o TEST gACRO M1113 000377 000001 034062 000000 016336 25-MAY-82 09:19 358: 034060 R3 ", riseso R3.T15S2 R&.TSDB(RS) PC.CHKTSSR 41% ERRHRD RO,R1 ERRNO, T1SSSR,PKTSSR 1 010001 000377 000002 000377 000000 016336 CkLOOP :SET BACK TO 7777 sSET TO ALL ONES sREAD RAM COMMAND sADDRESS TO BE READ TO PACKET DATA sSEND OUT PACKET ADDRESS sWAIT FOR SSR TO SET :BR, IF ALL IS WELL sSAVE TSSR sTSSR NOT CORRECT MOV CMPB BEQ ERRHRD 034060 034064 42%: :SCOPE LOOP T158FR+20,R1 R1,R2 42% ERRNO, T15AM3 EXPBREC #000377.R2 #2.115850 #000377.715s3 R4, TSDB(RS) #1,7158S0 R4, TSDB(RS) 448: ERRHRD 00064 45%: BOFH SHOULD BE 11111111 BINARY IF DATA IS CHARACTERISTICS DATA NOT CORRECT TRAP CSERHRD 418 .WORD T15AM3 .WORD .WORD EXPBREC sSET ALL ONES WORD sWRITE RAM COMMAND cALL ONES PATTERN :BR, IF OK (NO ERROR) :SAVE TSSR :SCOPE LOOP RO.R1 ERRNO, T15SSR,PKTSSR 033412 CKLOOP cscLP sTSSR NOT CORRECT PC,CHKTSSR 120102 001404 TRAP RO,R1 ERRNO, T1SSSR,PKTSSR 438 034060 PKTSSR PC.CHKTSSR 438: 112737 010465 sPICK UP READ DATA T158FR+20,R1 fl1£R2 45 ERRNO, T15AM2 EXPBREC CSERHRD 417 T15SSR TRAP .WORD .WORD .WORD sPASS PACKET ADDRESS TO CONTR. SWAIT FOR SSR 448 0332 1487 033274 1488 033300 1489 033302 1493 033304 033304 033306 SEQ 0159 000641 034066 033412 3240 1478 033242 1479 033250 13 #377.R 40$: 41$: 1471 033226 1472 033226 1476 0332;8 PAGE 95-1 sSET UP FOR RAM READ s ISSUE RAM READ TRAP .WORD .WORD -WORD CSERHRD 419 T15SSR TRAP cscLP TRAP CSERHRD PKTSSR sWAIT FOR SSR TO SET :BR, IF OK (NC PROR) sSAVE TSSR sTSSR NOT CORRECT sPICK UP REC'D DATA .WORD .WORD .WORD T15SSR PKTSSR sCHECK WITH DATA WRITTEN :BR IF OK, DATA IN = DATA OUT :WRITTEN DATA NOT = TO READ TRAP :SCOPE LoOP CSERHRD .WORD .WORD .WORD Y1SAH2 EXPBREC TRAP CscLP Sy —_— TSVS = HARDWARE TESTS TEST MACRO M1113 &: RAM EXERCISER TEST 1495 033316 1496 033320 148‘ 033324 14 1499 033326 1500 033326 033326 033326 065303 020327 001271 25-MAY-82 09:19 PAGE 95-2 DEC CMP R3 R3,#255. 000377 BNE 50%: 104403 ENDSUB 408 SEQ 0160 ;DROP RAM ADDRESS POINTER sAT START YET :BR, IF MORE RAM TO CHECK SANNAANANANANANNANAL END SUBTEST \NANALALLLLLLLWL L10052: TRAP CSESUB TSVS = HARDWARE TESTS TEST MACRO M1113 &: RAM EXERCISER TEST 1502 1503 033330 1504 03333¢ 1505 033336 1506 033342 033342 033344 1507 1508 1509 1510 1512 1514 033350 1515 033350 1516 033352 1517 033354 1518 033356 1519 033360 1520 033360 1521 033 1522 033364 1523 033366 }gsg 033372 004737 016456 000137 032024 103002 104432 001216 1529 1531 034050 1532 034050 1533 034052 1534 034054 ;ggz 034056 033372 000000 1544 1545 JMP EXIT T15L00P TST ;D0 WE NEED TO ITERATE TEST ? sBRANCH IF NOT sEXECUTE AGAIN sALL DONE THIS TEST WORD 000000 .=<.+10>8177770 T1SPACKET: .WORD 100204 .WORD T1SDATA .WORD 0 .WORD 8. T1SDATA: .WORD T1SBFR JWORD 0 .WORD 256. .WORD 0,0 TI1SBFR: .BLKW 150. CSEXIT L10047-. s COMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH IE, ACK sADDRESS OF CHARACTERISTICS BLOCK sSTARTING VALUE OF BLOCK SIZE sCHARACTERISTICS DATA BLOCK sADDRESS OF MESSAGE BUFFER sLENGTH OF MESSAGE BUFFER sMESSAGE BUFFER JWRITE SUBSYSTEM MEMORY COMMAND PACKET 034050 100206 034060 000000 000006 1537 1538 034060 1539 034060 1540 034061 1541 034062 }gzz; 034064 638: PC,TSTLOOP 638 SEQ 0161 ¢ :LOCAL STORAGE FOR THIS TEST - 100204 033360 000000 000010 }ggg JSR BCC PAGE 96 TRAP 033350 000400 000000 25-MAY-82 09:19 000 000 000000 000000 T15PK2: T158F2: T15850: 7158S1: 715S2: T15S3: .=<.+10>8177770 .WORD .WORD JWORD .WORD 100206 T158F2 0 6. sSIZE OF DATA PACKET 0 0 0 0 ;BSELO AREA :BSEL1 AREA sSEL 2 AREA :DATA AREA sWRITE SUB SYS MEM COMMAND, IE AND ACK sADDRESS OF SELECT BLOCK DATA .EVEN .BYTE .BYTE .WORD .WORD TSVS = HARDWARE TESTS TEST EA%RO M1113 &: RAM EXERCISER TES 25-MAY-82 09:19 613 PAGE 97 SEQ 0162 1547 1548 1549 e+ :LOCAL TEXT MESSAGES FOR TEST 1552 034066 1553 03414 1554 03424 1555 034345 1556 034433 1557 127 127 127 127 122 122 122 122 122 101 133 111 111 111 111 115 TI5SSR: .ASCIZ T15AM2: .ASCIZ T15AM3: .ASCIZ T15AM&: .ASCIZ TST151D: .EVEN °WRITE °'WRITE °'WRITE °WRITE LASCIZ SUBSYSTEM MEMORY SUBSYSTEM MEMORY SUBSYSTEM MEMORY SUBSYSTEM MEMORY 'RAM Exerciser’ Command COMMAND COMMAND COMMAND Not Accepted’ Failed On ALl Ones Word Read Back' Failed On ALl Zeros Word Read Back' Failed On Address Test' g 1560 ;ROUTINE TO RESTORE COMMAND PACKET TO START-UP (DEFAULT) VALUES ;gg; *WRITE SUBSYSTEM MEMORY COMMAND 1563 ;e 1564 1565 034452 1566 034452 1567 034456 1568 034462 1569 034466 1570 034472 1571 034474 1572 034500 1573 034504 1574 034506 1575 034512 1576 034514 1577 034516 }g;g 034522 T1SREST: SAVREG :SAVE THE REGISTERS 012701 012721 012721 033350 100204 033360 MOV MOV MOV #T1SPACKET,R1 #100204, (R1)+ #T1SDATA, (R1)+ 012721 012721 000010 033372 MOV MOV #8..(R1)+ #T158FR, (R1)+ :SIZE OF DATA BLOCK IN BYTES :ADDRESS OF MESSAGE BUFFER 012721 000400 MOV #256.,(R1)+ :LENGTH OF MESSAGE BUFFER 005021 005021 005021 005011 005037 000207 1580 1581 034524 1582 034524 CLR CLR CLR CLR CLR 033372 RTS T1SRT2: SAVREG *START OF THE PACKET :WRITE SUBSYSTEM MEM. WITH ACK, IE :ADDRESS OF CHARAISTICS DATA BLOCK (R1)+ :EXTENDED ADDRESS (R1)+ (R1)+ (R1) T158FR :CLEAR 1ST LOC IN MESSAGE BUFFER PC *RETURN i :SAVE THE REGISTERS 1583 034530 012701 1584 034534 012721 1585 034540 012721 034050 100206 034060 MOV MOV MOV #T15PK2,R1 #100206. (R1)+ #T1SBF2.(R1)+ SSTART OF THE PACKET :WRITE SUBSYSTEM MEM. WITH ACK, IE *ADDRESS OF DATA BI OCK 1587 034546 000006 MOV #6..(R1)+ :SIZE OF DATA B.OCK IN BYTES 1586 034544 005021 1588 034552 1589 034554 1590 034556 1591 034560 1592 034562 005021 005021 005011 000207 034562 104401 034562 012721 CLR LR CLR CLR RTS ENDTST (R1)+ (R1)+ (R1)+ (R1) PC :EXTENDED ADDRESS :RETURN L10047: TRAP CSETST . TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 PAGE 99 TEST H13 5: EXTENDED FEATURES SWITCH AND TIMERS A,B 1595 1596 e .SBTTL TEST }gg‘ : TEST DESCRIPTION: 1599 1600 }gg} 3 : S 1603 1604 1605 1606 1607 1608 1609 1610 : TEST STEPS: : ¢ REPEAT FOR LOOPCNT : BEGIN 3 Do Subtest 1 S Do Subtest 2 : END g 1611 1612 1613 034564 034564 1618 034564 1619 034570 1620 034574 ;235 034602 SEQ 0163 5: EXTENDED FEATURES SWITCH AND TIMERS A.B This test verifies the Invert Extended Features function can logically invert the Extended features switch and that the internal timers A and B operate correctly. J = Verify Extended Features Switch - Verify Timers A,B BGNTST 012700 004737 012737 036642 016510 000012 002216 MOV JSR T16L00P: MOV #TST161D,RO PC, TSTSETUP #10. ,LOOPCNT T5:: sASCII MESSAGE TO IDENTIFY TEST sDO INITIAL TEST SETUP ;PERFORM 10 ITERATIONS [ | TSVS = HARDWARE TESTS TEST MACRO M1113 - 25-MAY=82 09:19 S: SUBTEST 1: VERIFY EXTENDED FEATURES TEST }ggg .SBTTL 1626 H PAGE 100 TEST }g ; s }2%3 s SUBTEST DESCRIPTION: 1631 3 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 SEQ 0164 S: SUBTEST 1: VERIFY EXTENDED FEATURES TEST TEST S5: SUBTEST 1: This subtest verifies that the Invert Sense of Extended features 3 : : : : 3 : : s : 1642 113 Switch function (Write Subsystem Memory.Write Misc command) operates properly. : First the state of the Extended Features switch is read in the message packet supplied b{ the write characteristics command. Then, the sense of the switch is logically inverted. A Write characteristics command is executed and it is verified that the Extended status register (XST4) is returned when in Extended mode, and not returned if not in extended mode. The subtest also verifies that specifying a Message Buffer address with any of bits 21-19 ,set will cause the command to : be rejected. 1643 1644 1645 1646 1647 1648 1649 }22? 3 3 ; BEGIN . : Write to TSSR register to soft initialize the controller ; Do WRITE CHARACTERISTICS to check for Extended Features Switch : #SESxtended Features Hardware Switch CLEAR 1652 : : : TEST STEPS: (+ Verify Extended Features switch can be Inverted to SET *) 1653 1654 1655 1656 }ggz 3 3 3 3 3 Do Write Subsystem Write Miscellaneous to SET Extended Features. D a WRITE CHARACTERISTICS with an extended characteristic word Coagare the controller ram to the extended characteristic word If Data word in controller ram NOT= to word sent Tnen Print Error EL%E Message Buffer Data Length NOT= 12. Then Print Error 1659 1660 1661 3 : 3 3 (+ Verify Extended Features switch can be Inverted to CLEAR ¢) Do Write Subsystem Write Miscellaneous to CLEAR Extended Features. Do a WRITE CHARACTERISTICS without an extended characteristic word Engfl?essago Buffer Data Length NOT= 10. 1664 : (+ Verify Function Reject when Message Buffer 21-19 are non-zero *) Write to TSSR register to soft initialize the controller REPEAT FOR MESSAGE BUFFER ADDRESS bits <21:19> FROM 07107 DO a WRITE CHARACTERISTICS with a ngssago address bit<21:19> non-zero If TSSR termination code NOT= Function Reject Then Print Error END-REPEAT }gg% 1665 1666 1667 1668 1669 3 3 : : 3 1672 8%228% 034602 1673 1674 1675 034604 1676 1677 034604 1678 034610 BGNSUB Then Print Error il BE?IN SUBTEST /7777711717 104402 004737 103405 TRAP 015774 5%: 2 } . JSR PC,SOFINIT C$B8sSuB : Write to TSSR register to soft initialize the controller BCS 108 JWRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST S: SUBTEST1: VERIFY EXTENDED FEATURES TEST 1679 034612 1680 034614 010001 034614 034616 034620 034622 104455 000764 003652 012034 1682 034626 1683 0346 004737 005037 PAGE 100-1 J 13 SEQ 0165 MOV ERRDF RO.R1 ERRNO,SFIERR,SFIMSG sSAVE CONTENTS OF TSSR DEVlCE FATAL DURING INIT JSR CLR PC,T16REST FATFLG sRESTORE PACKET DEFAULTS CI.EAR FATAL ERROR FLAG : TRAP .WORD .WORD .WORD Do WRITE CHMACTERISHCS to check for Extended Features Smtch 128: MOV #T16PACKET R4 JSR PC,WRTCHR FORCERROR 12% BCS 15% MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T16SSR,PKTSSR 158: INC CKLOOP 1694 H If Extended Features Hardware Switch Clear then: 1696 3 1681 1684 034634 1685 034640 1686 034644 1687 034660 1688 034662 1689 034664 1690 034664 034664 054666 034670 034672 1691 034674 1692 034700 1693 034700 012704 004737 040010 002222 fos: 040170 010662 103407 010001 104455 000765 036712 012046 005237 002222 104406 1695 3 1697 034702 012701 1699 034714 1700 034716 1701 034722 001402 000137 012703 035266 002764 1704 034726 004737 040150 1707 034742 1708 034746 1709 034762 1710 034764 1711 034766 1712 034766 004737 016336 1698 034706 };8% 1705 034732 1709 034736 034760 034770 034772 034776 1713 034776 1714 035002 o 035002 1716 1717 035004 1718 035012 1719 035016 1720 035024 1721 035032 032761 012704 010465 040212 000200 000012 3 002222 104406 012737 012704 012764 013737 004737 125252 040170 000020 00231% 01066 002312 000006 040210 IEST PATTERNS IN TSTBLK TABLE #T16BFR sMESSAGE BUFFER ADDRESS BEQ JMP MOV 208 2008 #TSTBLK+10..R3 -8R IF YES lxz EXTF, XSTZ(RI ) :EXTENDED FEATURES SWITCH CLEAR? START OF TEST DATA Do Write Subsystem Write Miscellaneous to SET Extended Features. MOV MOV PC,T16SEXT niéPKZ R4 Ré, TSDB(RS) sSETUP PACKET FOR WRITE MISC INVERT JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE 328: JSR PC.CHKTSSR FORCERROR 328 BCS 408 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T162SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET 408%: INC CKLOOP sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SE! 103407 010001 104455 00C766 036747 012046 005237 sDEVICE FATAL SSR FAILED TO SET TREP CSERDF .WORD S01 .WORD T16SSR .WORD PKTSSR JSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP cscLP MOV JSR 040240 000000 :GEt THE ADDRESS OF COMMAND PACKET sD0 WRITE CHARACTERISTICS COMMAND :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR (» Veri &Extmded Features switch can be Inverted to SET ¢) REPEAT F BIT 208: FATFLG 3 CSERDF 500 SFIERR SFIMSG FATFLG JWAIT FOR SSR TO SET +s@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR TRAP WORD WORD .WORD CSERDF 502 T162SSR PKTSSR TRAP cscLP DO @ WRITE CHARACTERISTICS with an extended characteristic word MOV #125252.DATA JSETUP TEST DATA FOR EXTENDED WORD MOV MOV MOV JSR mw\cm R4 llG..PKBCNT(RI.) DATA,T16DATA+10 PC.WRTCHR :GET THE ADDRESS OF COMMAND PACKET sSTORE MESSAGE PACKET SIZE STORE TEST DATA IN EXTENDED WORD ;oo WRITE CHARACTERISTICS COMMAND TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 S: SUBTEST1: VERIFY EXTENDED FEATURES TEST TEST 1722 035036 3 035052 PAGE 100-2 428 P P ey FORCERROR W W w N W ~ NVNNNJQN ~ RURZEY o d ~ ~N ~ 30 035074 016501 012702 062702 — N 8 104406 W 035072 o e e e wd i 42$: 000000 040212 000020 92%: 104406 49 035176 50 035202 gl 035206 012702 016201 012702 753 035222 020102 1008: 040212 000002 000014 035236 104406 1757 035236 1758 sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG ;s;P TSBA(R #T168FR,R2 ADD 6. CMP R1 2 Then Print Error TSBA REGISTER CONTENTS CSERDF 503 T16SSR PKTSSR cscLP sSTART OF THE DATA BUFFER 808 :EXPECTED CONTENTS OF TSBA ;@aDFORCE ERROR IF FORCER=1 s COMPARE EXPECTED TO RECEIVED ¢ERROR IF NOT EQUAL ERRNO,T16TSBA,EXPREC sPRINT THE ERROR & EXPD/RECV FORCERROR 72$ ,NOTSSR NEXT.ERRNO ERRHRD TRAP .WORD .WORD .WORD TRAP .WORD CkLooOP :LOOP ON ERROR, IF FLAG ?EIP CSERHRD 504 T16TSBA EXPREC cscLP Congare the controller ram to the extended characteristic word I1f Data word in controller ram NOT= to word sent Then Print Error #T16DATA sGET CHARACTERISTIC DATA ADDRESS PC.CKRAné 1 NEXT.ERRNO ERRHRD ERRNO,PKTRAM,RAMERR CKLOOP :DOES RAM DATA EQUAL DATA SENT? éaaoroace ERROR IF FORCER=1 :BR IF YES JREPORT THE RAM ERROR(S) TRAP .WORD .WORD .WORD sLOOP ON ERROR, IF FLAG $§I° CSERHRD 505 PKTRAM RAMERR si 112%: 015474 sDEVICE FATAL SSR FAILED TO SET L0 cscLP If Messa guffsr Data Length NOT= 12. Then Print Error MOV #T16BFR sGET MESSAGE BUFFER ADDRESS MOV 2(R2) :GET RECV DATA FIELD LENGTH MOV ”ne. :GET EXPD DATA FIELD LENGTH FORCERROR 1128 ,NOTSSR :@3DFORCE ERROR IF FORCER=1 CMP s COMPARE EXPECTED TO RECEIVED sERROR IF NOT EQUAL 001404 035234 MOV JSR 103404 35174 gg 035224 62$: 040200 011224 015510 8 MOV 80$: 104406 FATFLG ;33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR If the TSBAgddrgss Register NOEE Expected 72%: 104456 000770 037060 015474 012704 004737 INC CKLOOP BEQ - 1745 035164 1746 0%5164 50$: 020102 001404 ~ d i 035104 33 035110 035120 35 035122 36 035124 37 035124 035124 035126 035130 035132 1738 035134 035134 1739 1740 1741 035136 1742 035142 1743 035146 1744 035162 002222 NEXT.ERRNO ERRDF ERRNO,T16SSR,PKTSSR SEQ 0166 1208: BEQ 126: ERRHRD ERRNO,T16LEN,EXPREC NEXT.ERRNO CkLOOP sPRINT THE ERROR & EXPD/RECV :LOOP ON ERROR, IF FLAG %ET CSERHRD 506 T16LEN EXPREC CSCLP TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 5: SUBTEST 1: VERIFY EXTENDED FEATURES TEST 1759 035240 1760 035244 004737 103405 010001 035256 1763 035260 035260 1764 035262 1765 015774 JWRITE TO TSSR TO SOFT INITIALIZE MOV ERRDF RO.R1 ERRNO,SFIERR,SFIMSG sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP WORD JMP b00s: 1767 035266 1768 1769 035266 1770 035272 1771 035276 (> 1258 ;LOOP IF SELECTED 3008 lribPKZ.RL 506 WORD WORD SFIERR SFIMSG TRAP cscLP sGET WRITE SUBSYSTEM COMMAND PACKET R4, TSDB(RS) PC,CHKTSSR +SET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET BCS MOV 2408 RO.R1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T162SSR,PKTSSR FORCERROR : 2408 : CSERDF Do Write Subsystem Write Miscellaneous to CLEAR Extended Features. JSR PC,.T16S sSETUP PACKET FOR WRITE MISC INVERT MOV 002222 :BR IF SOFT INIT OKAY Verify Extended Features switch can be Inverted to CLEAR ¢) MOV JSR 232%: SEQ 0167 PC,SOFINIT CKLOOP 035446 1766 L 13 JSR BCS 1258: PAGE 100-3 232 NEXT.ERRNO INC CKLOOP FATFLG 23aDFORCE ERROR IF FORCER=1 sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD +WORD WORD 507 T162SSR PKTSSR TRAP CSCLP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET DO @ WRITE CHARACTERISTICS without an extended characteristic word MOV #T16PACKET R4 sGET THE ADDRESS OF COMMAND PACKET MOV #14. ,PKBCNT(R4G) JSR PC.WRTCHR FORCERROR 2428 BCS MOV 2428: 2508 RO.R1 NEXT.ERRNO ERRDF ERRNO,T16SSR,PKTSSR sSTORE MESSAGE PACKEY SIZE D0 WRITE CHARACTERISTICS COMMAND ;@3DFORCE ERROR IF FORCER=1 :sBR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF 23FIRA3 33 .WORD .WORD 002222 013701 012702 020102 001404 104456 000775 250%: INC CkLoOP FATFLS .WORD sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP If lessagg Buffer Data Length NOT= 10. Then Print Error MOV T188FR+2,R1 JGET RECV DATA FIELD LENGTH 0460214 000012 MOV (MP 262%: #10. ,R2 R1.R PKTSSR (CSCLPY 2GET EXPD DATA FIELD LENGTH +sCOMPARE EXPECTED TO RECEIVED BEQ 2708 :ERROR IF NOT EQUAL ERRHRD ERRNO,T16LEN,EXPREC :PRINT THE ERROR & EXPD/RECV TRAP NEXT.ERRNO 508 T16SSR WORD CSERHRD S09 P TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST S5: SUBTEST 1: VERIFY EXTENDED FEATURES TEST 035440 035442 1799 035444 035444 00 1801 1802 1803 1804 035446 1805 1806 035446 1807 1808 035454 037162 015474 3 000001 002312 ?203: $258: 0460170 000016 002312 D e — o cd o 040202 000000 016250 0 3428: 2 002222 3508: 035550 1825 1826 1827 035552 1828 035556 1829 035560 000016 000006 MOV #1,DATA sSTART AT BITS<21:19>=001 DO a WRITE CHARACTERISTICS with a message address bit<21:19> non-zero Mov MoV #T16PACKET R4 #14. ,PKBCNT(R4) sGET THE ADDRESS OF COMMAND PACKET sSTORE MESSAGE PACKET SIZE Agkbk RO sSHIFT INTO BITS 21:19 3608: 002312 002312 035454 gATA.RO 3508 sGET TEST DATA sSTORE BUFFER ADDRESS BITS 21:19 sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR :3aDFORCE ERROR IF FORCER=1 BCS MOV RO.R1 ERRDF ERRNO,T16SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 510 T16SSR WORD INC CKLOOP FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET NEXT.ERRNO BIC BIS #TERCLS,R2 #TSREJ,R2 CMP R1,.R2 BEQ 352%: 1841 035642 1842 REPEAT FOR MESSAGE BUFFER ADDRESS bits <21:19> FROM 0 TO 7 FORCERROR 020102 001404 035612 1836 035614 035614 1837 035616 1838 03562 cscLP :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR «WORD PKTSSR TRAP cscLP If TSSR termination code NOT= Function Reject Then Print E:ror MOV TSSR(RS) ,R1 :GET RECV TSSR MOV R1.R :COPY RECV TSSR 000002 052702 TI16LEN EXPREC (» Verify Function Reject when Message Buffer 21-19 are non-zero *) Write to TSSR register to soft initialize the controller MOV RO,T16DATA+2 MOV R4, TSDB(RS) JSR PC,WAITF FORCERROR 3428 2 035534 1823 035544 1824 035550 SEQ 0168 .WORD :LOOP ON ERROR, IF FLAG SET TRAP CkLOOP "2¥pr D e e —=OOVWRNOVNESWN=O R ggaaamaamaaa ) W G Y R W W W W S e : 2708 $00s: 0%5454 035460 035466 M3 .WORD 104406 012737 PAGE 100~4 000007 3528 ,NOTSSR 3608 ERRNO,T16REJ,PKTSSR CMP DATA,#7 BHI 70$ JMP 3258 END-REPEAT :DEVICE FATAL SSR FAILED TO SET TRAP LWORD .WORD .WORD :LOOP ON ERROR, IF FLAG SET CKLOOP FORCEXIT INC DATA :8aDFORCE ERROR IF FORCER=1 :EXPD EQUAL RECV? :BR IF YES NEXT.ERRNO ERRHRD :CLEAR TC<2:0> EXPD SSET EXPD TC<2:0>= FUNCTION REJECT 3708 TRAP :GET NEXT TST PATTERN :DONE Aii DATA? *BR IF YES DO ANOTHER TEST PATTERN CSERHRD 511 T16REJ PKTSSR CSCLP1 TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST S: SUBTEST 1: VERIFY EXTENDED FEATURES TEST SWN=O vy b d e e 00 0o 0o 00 0O d d b e e gEags 1843 035646 1844 8%5646 035650 035654 035656 035662 370%: PAGE 100-5 ENDSUB 002222 017202 TST 4608: BEQ JSR SEQ 0169 : /717771777777 END SUBTEST /777711117 L10054: 104403 005737 001402 004737 N 13 FATFLG 460% PC,CKDROP ; ANY FATAL ERRORS ? ; BRANCH IF NOT 3 TRY TO DROP THE UNIT TRAP CSESUB TSVS = HARDWARE TESTS 1856 1857 1858 1859 + + 5: SUBTEST 2: VERIFY TIMERS A.8 SUBTEST DESCRIPTION: This subtest verifies that timers A,B can be reset and that Timer A is twice the frequency of Timer B. Timer A has a period of 25 microseconds and Timer B has a period of 50 microseconds. The timers are checked at 1, 28, 53, and 78 micoseconds. TEST STEPS: » Write to TSSR registor to soft initialize the controller Do WRITE CHARACT RISTICS to setup a Message Buffer Verify Timers A,B after RESET TIMER with 0 microsecond delay *) a Write Control RESET TIMER with 1 microsecond delay a Write Subsystem READ STATUS Timer A NOT= 0 Then Print Error Timer B NOT= 0 Then Print Error Verify Timers A,B after RESET TIMER with 28 microsecond delay *) a Write Control RESET TIMER with 28 microsecond delay Timer A NOT= 1 Then Print Error Timer B NOT= 1 Then Print Error a Write Control RESET TIMER with 53 microsecond delay Timer A NOT= 0 Then Print Error Timer B NOT= 1 Then Print Error a Write Control RESET TIMER with 78 microsecond delay Timer A NOT= 1 Then Print Error Timer B NOT= 0 Then Print Error 2277777777, aegxn SUBTEST 7777111111 BGNSUB s w» e 1893 035664 1894 035670 SEQ@ 0170 § 8 035662 035662 035662 1891 1892 035664 TEST B 14 TEST 5: SUBTEST 2: -~ WN AWV —b e b b = a3 R 3 QZIXN 338 EEREREREE B0 %090 909090 %0 9090009099099 %9 %9090 900909%090%0909%0%,0%0, .SBTTL PAGE 101 Write to TSSR register to soft initialize the controller T c$8sUB .. TEST MACRO M1113 BZS-HAV-BZ 09:19 5: SUBTEST 2: VERIFY TIMERS A, 015774 JSR PC,SOFINIT MOV ERRDF RO,R1 SF IERR,O, E RRN SF IMSG BCS 10§ SWRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP CSERDF -WORD 511 .WORD .WORD 108: SFIERR SFIMSG Do WRITE CHARACTERISTICS to setup a Hessaa: Buffer JSR PC,T16REST sRESTORE PACKET DEFAULTS FATFLG CLR sCLEAR FATAL ERROR FLAG #T16PACKER4 T MOV sGET THE ADDRESS OF COMMAND PACKET #8. ,PKBCNT(R4) MOV JMESSAGE PACKET SIZE NO EXTEND PC,WRTCHR JSR ;D0 WRITE CHARACTERISTICS COMMAND FORCERROR BCS 158 RO.R1 MOV NEXT.ERRNO 128 :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR [ | | TSVS = HARDWARE TESTS TEST MACRO M1113 st-nav-az 09:19 S: SUBTEST 2: VERIFY TIMERS A, 1907 035752 035752 035754 035756 035760 1908 035762 1909 035766 1910 035766 91 1912 1913 035770 1914 035774 1915 036000 1916 036004 1917 036010 1918 036014 1919 036020 1920 036034 1921 036036 1922 036040 1923 036040 036040 036042 036044 036046 1924 036050 1925 036054 036054 1926 1927 1928 036056 1929 036060 1930 036064 1931 036070 1932 036074 1933 036100 1934 036104 1935 036114 104455 001000 036712 012046 005237 012700 013701 004737 012704 010465 004737 104455 001001 036747 012046 005237 005002 042702 042702 012700 016001 042701 32%: 002222 000010 000004 040232 000002 177763 012700 000001 013701 004737 036634 040122 1946 036152 1947 036156 1948 036162 010465 004737 000000 016336 012706 INC CkKLOOP C 14 SEQ 0171 ERRNO,T16SSR,PKTSSR FATFLG JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD WORD .WORD 12 T16SSR PKTSSR TRAP cscLP1 sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET (* Verify Timers A,B after RESET TIMER with 1 microsecond delay *) Do a Write Control RESET TIMER with 1 microsecond delay MOV #MS_.RSD,RO sRESET TIMER COMMAND MOV T16001 ,R1 21 MICROSECOND DELAY JSR PC,.T16WMISC sSETUP T16PK2 COMMAND PACKET #T16PK2, R4 MOV R4 ,TSDB(RS) JSR PC,CHKTSSR FORCERROR 328 BCS 408 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T162SSR,PKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD .WORD WORD INC FATFLG sSET FATAL ERROR FLAG CKLOOP ;LOOP ON ERROR, IF FLAG SET TRAP If Timer A NOT= 0 Then Print Error If Timer B NOT= 0 Then Print Error CLR R2 :INIT EXPD BIC #S2.ATIM,R2 :TIMER A EXPD=0 BIC #S2.8BTIM, R2 sTIMER B EXPD=0 Mov #T16BFSTA RO sGET RECV READ STATUS MOV 2(R0O) ,R1 sGET RECV BYTE 2 BIC l“C(Sé.ATIH!SZ.BTI».M sSAVE TIMER A:B RECV ONLY BEQ 808 FORCERROR CMP R2.R1 72% ,NOTSSR 72%: NEXT.ERRNO ERRHRD ERRNO,T16TO01,TIMEXP 80$: CKLOOP 040240 2 CSERDF 513 T162SSR PKTSSR cscLP saaD JEXPD EQUAL RECV? *BR IF YES JREPORT ERROR TRAP .WORD WORD .WORD ;LOOP ON ERROR, IF FLAG SET TRAP 1943 036136 1944 036142 1945 036146 408: $ 3 104406 ERRDF MOV 000000 016336 020201 104456 001002 037411 015552 1942 036132 : 3 040240 104406 036120 036122 036124 036126 1939 036130 1941 000001 036632 040122 15%: 103407 010001 001404 et 036130 002222 104406 1936 036116 1937 036120 1938 036120 12%: PAGE 101-1 CSERHRD 514 T167T01 TIMEXP cSCLP Do a Write Control RESET TIMER with 28 microsecond delay MOV MOV JSR MOV #MS.RSD,RO T16D28 .R1 PC,.T16WMISC lTi6PK2.lM MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 112% SRESET TIMER COMMAND 228 MICROSECOND DELAY sSETUP T16PK2 COMMAND PACKET JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS | TEST MACRO M1113 S: SUBTEST 2: VERIFY TIMERS A.B v w BCS MOV &H R 03620 FRRNS 2 i o 020201 001404 ANIE 96 1970 1971 036274 1208 1208: INC CKLOOP SEQ 0172 sBR IF CARRY SET (GOOD RETURN) SAVE CONTENTS OF TSSR JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 515 T162SSR WORD .WORD sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP FATFLG If Timer A NOT= 1 Then Print Error If Timer B NOT= 1 Then Print Error CLR R2 JINIT EXPD BIS #S2.ATIM R2 :TIMER A EXPD=1 BIS MOV JSZ.BIIH R2 lTléBFSTA RO BIC l‘C(Sé ATIM!S2.BTIM> R SAVE TIMER A:B RECV ONLY MOV 2(RO) .R1 FORCERROR BEQ 1sbs NEXT.ERRNO cMP 172%: ERRHRD 1728 ,NOTSSR ERRNO,T16T728,TIMEXP 037510 015552 180$: 104406 330 :EXPD EQUAL RECV? :BR IF YES JREPORT ERROR TRAP ;LOOP ON ERROR, IF FLAG SET TRAP CSERHRD 516 T16728 TIMEXP cscLP Do a Write Control RESET TIMER with 53 microsecond delay MoV #MS.RSD RO JRESET TIMER COMMAND 012700 MoV MOV 004737 716053 R1 PC 7160"!5( ATi6PK2, R4 BCS 212%: 002222 000010 000004 040232 000002 : 2208 INC CKLOOP SETUP T16PK2 COMMAND PACKET :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE 2208 JBR IF CARRV SET (GOOD RETURN) RO.R' NEXT.ERRNO ERRDF 53 MICROSECOND DELAY Fé, TSDB(RS) JSR ?C.CHKTSSR FORCERRUR 212% mv 0427, 052702 012700 016001 csCcLP GET RECV BYTE 2 WORD WORD -WORD CKLOOP PKTSSR :TIMER B EXPD=1 5 sGET RECV READ S ATUS 001004 MOV 1988 036370 1989 036374 1990 036400 D 14 1128: JSR 1976 036320 PAGE 101-2 RO.R1 NEXT.ERRNO ERRDF ERRNO,T162SSR,PKTSSR 000010 000004 040232 000002 177763 104456 LRRE (=1=] OO0O000 0000000000 ] $ & ~N 33% 002222 195 25-MAY-82 09:19 1063407 010001 ey NN 1949 036176 1950 0 1951 0 2 1952 03620 O 0o . ERRNO,T162SSR,PKTSSR FATFLG JWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 euoc rmnv:uvc M sDEVICE FATAL SSR FAILED TO SET TRAP MOV OSZ.BYIH R2 0716BFSTA RO 2(R0O) ,R1 sTIMER B EXPD=1 JGET RECV READ STATUS sGET RECV BYTE 2 CSERDF WORD WORD WORD 517 T162SSR PKTSSR TRAP cscLP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET If Timer A NOT= 0 Then Print Error If Timer B NOT= 1 Then Print Error CLR R2 JINIT EXPD BIC #S2.ATIM R2 JTIMER A EXPD=0 BIS MOV ?t(. TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 5: SUBTEST 2: VERIFY TIMERS A.B 0462701 177763 037610 015552 2808: 104406 012700 013701 004 000001 036640 040122 040240 000000 016336 2028 2029 036602 2030 036606 R2.R1 002222 3208: 015552 2808 ERRNO,T16T53,TIMEXP JREPORT ERROR +WORD .WORD .WORD 2LOOP ON ERROR, IF FLAG ;s;P MOV MOV #MS_.RSD RO T16D78,R1 MOV MOV #T16PK2, R4 R4, TSDB(RS) PC, T16WMISC JSR PC.CHKTSSR FORCERROR 312% BCS 3208 MOV RO.R1 NEXT.ERRNO sWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR INC CKLOOP FATFLG sSET FATAL ERROR FLAG TRAP -WORD -WORD . «WORD ;LOOP ON ERROR, IF FLAG SET TRAP If Timer A NOT= 1 Then Print Error If Timer B NOT= 0 Then Print Error CLR 74 :INIT EXPD BIS #S2.ATIM,R2 :TIMER A EXPD=1 BEQ 3abs ERRHRD ERRNO,T16T78,TIMEXP NEXT.ERRNO CKLOOP cscLP sTIMER B EXPD=0 l‘C(Sé ATIM!S2.BTIM> ,R1 .SAVE TIMER A:B RECV ONLY 372$ ,NOTSSR CSERDF 519 T162SSR PKTSSR JGET RECV READ STATUS GET RECV BYTE 2 BIC FORCERROR cCMP cscLP :SETUP T16PK2 COMMAND PACKET sGET WITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE sDEVICE FATAL SSR FAILED TO SET OSZ.BTIH R2 TIMEXP :78 HICROSECOND DELAY ERRNO,T162SSR,PKTSSR lTlGBFSTA RO 2(R0O) .R1 CSERHRD 518 T16753 JRESET TIMER COMMAND ERRDF ENDSUB ;aaD ExPD EQUAL RECV? :BR IF YES :REPORT ERROR TRAP .WORD WORD .WORD ;LOOP ON ERROR, IF FLAG SET TRAP CSERHRD 520 T16778 TIMEXP cscLP /111111711777 END SUBTYEST /771111111 L10055: 104403 005737 001402 : JEXPD EQUAL RECV? *BR IF YES CKLOOP BIC 380$: 104406 ERRHRD MOV MOV 372%: 1046456 001010 037710 2728 ,NOTSSR NEXT.ERRNO JSR 000010 000004 040232 000002 177763 036574 2025 036576 036576 2026 2027 036600 036600 cMP Do a Write Control RESET TIMER with 78 microsecond delay 3128: 2010 036516 2011 036522 036522 SEQ@ 0173 #*C<S2.ATIM!S2.BTIM> R1 :gQXE TIMFR A:B RECV ONLY BEQ 272%: E 14 BIC FORCERROR 020201 001404 104456 001006 PAGE 101-3 CSESUB 002222 TST BEQ FATFLG 4608 sANY FATAL ERRCRS ? :BRANCH IF NOT TSVS = HARDWARE TESTS MACRO M1113 2S-HAV-82 09:19 TEST S: SUBTEST 2: VERIFY TIMERS A.B 2031 036610 004737 017202 2032 036614 004737 016456 3033 0 10300 2034 036622 000137 034602 2035 036626 805 2038 036626 036626 st 036630 104432 001524 4608: 465$: PAGE 101-4 F SEQ 0174 JSR PC, CKDROP :TRY TO DROP THE UNIT BCC JMP 465s T16L00P :BR IF :LOOP umu. ITERATIONS DONE EXIT TST JSR PC . TSTLOOP +SHOULD ue DO ITERATIONS? /111777777 EXLITY TEST /777771717 TRAP CSEXIT .WORD L10053-. | TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:°9 TEST S: SUBTEST 2: VERIFY TIMERS A.B 204 2284“ 2045 036632 2046 036634 2047 036636 g&g 036640 G 14 SEQ 0175 e ;LOCAL STORAGE FOR THIS TEST 000001 000040 000076 000142 T16001: T16D28: T16D53: T16D78: WORD .WORD WORD WORD 1 &40 76 142 :1 MICROSECOND DELAY (ACTUALLY .8 MIC) 228 MICROSECOND DELAY (.8 MICROS PER) 253 MICROSECOND ;78 MICROSECOND ¢ ggg? 2052 PAGE 102 sLOCAL TEXT MESSAGES FOR TEST < 2053 036642 2054 036712 2055 036747 2056 037013 2057 037060 105 127 127 127 102 170 122 122 122 165 164 111 111 111 163 TST161D: T16SSR: .ASCIZ T162SSR:.ASCIZ T163SSR:.ASCIZ T16TSBA:.ASCIZ .ASCIZ ‘Extended Features Switch and Timers A,B* °‘WRITE CHARACTERISTICS Failed' °WRITE SUBSYSTEM (Write Misc) Failed' °‘WRITE SUBSYSTEM (Read Status) Failed' L ‘'Bus Address Register (TSBA) Incorrect after Write Charactéfistics’ 2059 037274 2060 037411 2061 037510 2062 037610 124 124 124 124 123 151 151 151 123 155 155 155 TI6REJ:.ASCIZ T16701:.ASCIZ T16728:.ASCIZ T16753:.ASCIZ 'TSSR Function Reject Not Returned When Non-Existent Buffer Address Specifie ‘'Timer A,B Incorrect after Reset Timer with 1 microsecond Delay’ ‘'Timer A,B Incorrect after Reset Timer with 28 microsecond Delay’ ‘Timer A,B Incorrect after Reset Timer with 53 microsecond Delay’ 2058 037162 2063 037710 104 1264 141 151 2065 2071 040014 2072 040020 2073 040024 2074 040026 2075 040032 2076 040036 2077 040040 2078 040044 2079 040046 2080 040050 2081 040054 2082 2083 20820“5 2086 040056 2087 040056 2088 040062 2089 040066 2090 040072 2091 040074 2092 040076 2093 040100 2094 155 TI16LEN:.ASCIZ T16T78:.Ag€é'l‘ 012700 040170 012720 005020 012720 012720 005020 012720 005020 005010 005037 000207 040200 012720 T16REST: 100004 MOV MOV L)) CLR MOV MOV CLR MOV CLR CLR CLR RTS 000012 040212 000024 040212 ‘Timer A,B Incorrect after Reset Timer with 78 microsecond Delay’ #T16PACKET RO #100004, (RD)+ #T16DATA, (RO) + (RO) + #10.,(RO)+ #T16BFR, (RO)+ (RO) + #20.,(RO)+ (RO) + (RO) T168FR PC sPACKET ADDRESS :WRITE CHARACTERISTICS WITH ACK sADDRESS OF CHAR DATA BLOCK sEXTENDED ADDRESS sSIZE OF MESSAGE PACKET sMESSAGE BUFFER ADDRESS sCLEAR EXTENDED BUFFER ADDRESS sLENGTH OF MESSAGE BUFFER sCLEAR ESS_ENB_EAI ERI sCLEAR EXTENDED FEATURES WORD sCLEAR 1ST LOCATION IN MESSAGE BUFFER : g : CLEAR MESSAGE BUFFER 012701 012702 105021 005302 003375 000207 040212 000026 T16CLRBUF : SAVREG MOV MOV 108: CLRB DEC 8GT RTS 2095 ot 2098 040102 T16SRD: 2097 ) ‘'Data Field Longth in Message Buffer Incorrect after Write Characteristics’ i+ s SET DEFAULT PACKET i 2066 2067 2068 2069 040010 2070 040010 164 #T168FR R1 #T16BEND-T16BFR,R2 (R1)+ R2 108 PC : SETUP T16PK2 PACKET FOR READ STATUS : sSAVE R1-RS UNTIL NEXT RETURN sGET MESSAGE BUFFER ADDRESS :SIZE OF MESSAGE BUFFER IN BYTES sCLEAR A BYTE sDONE? sBR IF NO sRETURN TEST S5: MACRO M1113 SUBTEST 2: VERIFY TIMERS A.B 2099 040102 004737 040056 2101 040112 2102 040116 2303 040120 2104 2105 112720 105010 000207 000005 25-MAY-82 09:19 PAGE 102-1 H 14 SEQ 0176 JSR 2100 040106 012700 040250 MOV MOVB CLRB RTS PC, T16CLRBUF #Ti6DT2,RO #PW.RDSTATUS, (RO)+ (RO) PC 2106 g}gz e + SETUP T16PK2 PACKET FOR WRITE MISC. 2109 : INPUT: 2113 040122 2114 040122 2115 040126 004737 040056 T16wMISC: SAVREG JSR 2117 040136 2118 040142 2119 040144 112722 110022 110112 000010 2110 gm 2116 040132 g}g? 040146 : : 012702 040250 000207 i MOVB MOVB MOVB :0 RTS :WRITE SUBSYSTEM DATA BUFFER *STORE READ STATUS COMMAND IN BSELO +CLEAR BSEL1 *RETURN | RO R1 MOV :CLEAR MESSAGE BUFFER CONTAINS WRITE MISC FUNCTION CODE (BSEL1) CONTAINS DELAY (TIMES 800 NS) FOR BSEL? PC, T16CLRBUF #T16DT2,R2 #PW.WMISC, (R2)+ RO, (R2)+ R1.(R2) PC :SAVE R1=RS UNITL NEXT RETURN :CLEAR MESSAGE BUFFER *WRITE SUBSYSTEM DATA BUFFER :STORE WRITE MISCELLANEOUS IN BSELO :STORE WRITE MISC CODE IN BSEL1 :STORE DELAY (RESET TIMER) IN BSEL2 *RETURN %1155 ; SETUP T16PK2 PACKET FOR WRITE MISC. INVERT EXTENDED FEATURES SWITCH 2124 040150 T16SEXT: 2125 040150 012700 040250 2126 0401564 2127 040160 2128 040164 2129 2130 2131 2132 5}332 112720 112710 000207 2140 040170 2141 040172 2142 040174 gm 040176 2145 0460200 2146 040 2147 040202 2148 040204 2149 040206 glgg 040210 100004 040200 000000 000012 040212 ;WRITE SUBSYSTEM DATA BUFFER :STORE WRITE MISCELLANEOUS IN BSELO :STORE INVERT EXTENDED FEATURES IN BSEL1 *RETURN 4 =<, +10>8177770 T16PACKET: T16DATA: 000000 000024 000000 .WORD .WORD LWORD .WORD 100004 T16DATA 0 10. .WORD T168FR JWORD .WORD .WORD 000000 5};{ 2156 040212 2157 040214 #T16DT2,R0 #PW.WMSC,(RO)+ #MS.EXT, (RO) PC :WRITE CHARACTERISTICS COMMAND PACKET 2152 2155 040212 MOV MOVB MOVB RTS 040170 :flg 2139 040170 000010 000200 .WORD 0 20. 0 0 :COMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH ACK :ADDRESS OF CHARACTERISTICS BLOCK :MESSAGE PACKET SIZE :CHARACTERISTICS DATA BLOCK ;ADDRESS OF MESSAGE BUFFER :LENGTH OF MESSAGE BUFFER :ESS,ENB,EAI .ERI *EXTENDED FEATURES WORD :MESSAGE BUFFER 000000 000000 T168FR: LWORD JWORD 0 0 :BEGIN MESSAGE BUFFER *MESSAGE TYPE :DATA FIELD LENGTH isatnbios-milin . TSVS = HARDWARE TESTS TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 5: SUBTEST 2: VERIFY TIMERS A.B 2158 060216 2159 000000 000000 216% 0460226 000000 2160 8’:0222 2161 040226 2163 040230 2164 040232 %}22 040240 000000 000000 000000 %}g; PAGE 102-2 WORD WORD WORD O 0 0 WORD 0 WORD WORD | 0 0 T16BFSTA: .BLKB 6. T168END: SEQ 0177 sRBPCR sXSTO XST1 XST; :XST4 (ALWAYS PRESENT FOR WRITE SUBSYSTEM :READ STATUS AND WRITE FIFO BUFFER :END OF MESSAGE BUFFER sWRITE SUBSYSTEM READ STATUS COMMAND PACKET 2172 040240 2173 040240 2174 040242 2175 040244 %};g 040246 2178 040250 2179 040250 2180 040251 2181 040252 s}gg 040254 100006 040250 000000 000012 000 000 000000 2184 2185 040354 040354 040354 T16PK2: T16DT2: .WORD .WORD WORD .WORD P.WRTSUB!P.ACK T16DT2 O 10. sWRITE SUBSYSTEM WITH ACK :LOW ADDRESS OF DATA BLOCK sHIGH ADDRESS OF DATA BLOCK sMINIMUM MESSAGE PACKET SIZE .BYTE 0 :BSELO .BYTE WORD .BLKB ENDTST 104401 0 0 64. :DATA BLOCK :BSEL1 :SEL2 :WRITE FIFO DATA OUTPUT BUFFER L10053: TRAP CSETST TSVS = HARDWARE TESTS — 25-MAY-82 09:19 8 6: FIFO EXERCISER N TEST MACRO M1113 21 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 040356 040356 2215 040356 2216 040362 2217 540366 2218 040374 2219 040400 322? 040404 . 14 .SBTTL J 14 PAGE 104 TEST SEQ 0178 6: FIFO EXERCISER : TEST DESCRIPTION: : : This test uses the Write Subsystem Memory command to : verify the controller's FIFO and associated status and 3 control logic. : s TEST STEPS: : : REPEAT FOR LOOPCNT : BEGIN i : Do Subtest 1 = FIFO Initialize status test : Do Subtest 2 - FIFO Write Single Byte test : Do Subtest 3 =~ FIFO Write Multiple Bytes test : Do Subtest & - FIFO Verify ILW Status test : Do Subtest 5 =~ FIFO Input Ready test S Do Subtest 6 =~ FIFO Verify Reset FIFO test : END g BGNTST 012700 004737 046606 016510 004737 005037 017274 003134 012737 000012 002216 MoV JSR #TST171D,R0 PC,TSTSETUP T6:: sASCII MESSAGE TO IDENTIFY TEST :D0 INITIAL TEST SETUP JSR CLR PC,KTOFF KTENABLE sSHUT OFF MEMORY MANAGEMENT sREALLY SHUT DOWN KT-11 MOV T17L00P: #10.,LOOPCNT :PERFORM 10 ITERATIONS TSVS = HARDWARE TESTS 25-MAY-82 09:19 6: SUBTEST 1: FIFO INITIALIZE STATUS TEST + * TEST MACRO M1113 «SBTTL PAGE 105 TEST K 14 SEQ@ 0179 6: SUBTEST 1: FIFO INITIALIZE STATUS TEST TEST 6: SUBTEST 1: SUBTEST DESCRIPTION: This test verifies, by using the Read Status select code, that the FIFO status is in the correct initial state after the controller is initialized (Input Ready TRUE, Output Ready and Data In Miss FALSE). These status signals are checked by the controller's self-test sequence, so this subtest is actually more of a partial check of the Read Status function than the FIFO status. TEST STEPS: BEGIN Write to TSSR to soft initialize Do a WRITE CHARACTERISTICS to setup a message buffer Do a WRITE SUBSYSTEM Read Status If Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error If Data In Miss NOT=0 Then Print Error END BGNSUB 2I111NrrNrly/ BEggN1SUBTEST 1111111177 TRAP gs 015774 002222 Write to TSSR register to soft initialize the controller JSR PC,SOFINIT MOV ERRDF RO.R1 ERRNO,SFIERR,SF IMSG BCS 108 JWRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP : Do a WRITE CHARACTERISTICS to setup 42%: MOV #T17PACKET R4 JSR PC.WURTCHR FORCERROR 42% BCS 50s MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T17SSR,PKTSSR 10$: 50%: csasus CLR INC CKLOOP FATFLG FATFLG a message :CLEAR FATAL buffer WORD .WORD WORD ERROR FLAG sGET THE ADDRESS OF COMMAND PACKET 200 WRITE CHARACTERISTICS COMMAND +@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP sSET FATAL ERROR FLAG WORD .WORD WORD CSERDF 601 T17SSR PKTSSR sLOOP ON ERROR, IF FLAG SET TRAP Do a Write Subsystem READ STATUS CSERDF 600 SFIERR SFIMSG CSCLP TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 PAGE 105-1 ’ L 6: SUBTEST 1: FIFO INITIALIZE STATUS TEST 2271 040500 004737 047764 050350 000000 016336 JSR MOV MOV JSR PC,T17SRD #T17PK2, R4 R4, TSDB(RS) PC.CHKTSSR FORCERROR 62%: 628 8CS 708 ERRDF ERRNO,T173SSR,PKTSSR MOV RO,R1 NEXT.ERRNO SEQ 0180 sSETUP PACKET FOR READ STATUS sGET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;33DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD 0405 2280 040550 2281 040554 040554 2282 2283 040556 2284 040562 005237 002222 004737 050146 046402 050242 708: INC CKLOOP MOV MOV BIS BIC BIC 828%: FATFLG #TI7EXSTA,R1 #T17BFSTA.R2 (R2)+,(R1)+ (R2), (R1) #52. INRDY, (R1) #S2.0UTRDY, (R1) #52.DIM, (R1) sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= TRUE sSET EXP OUTPUT READY= FALSE :SET EXP DATA IN MISS = FALSE If Input Ready NOT=1 then Print Error If Output Ready NOT=0 or Data in Miss NOT=0 Then Print Error CLR RO sHIGH RECV ADDRESS FOR CKMSG2 MOV #T17BFR,R1 sLOW RECV ADDRESS FOR CKMSG2 MOV #T17EXP,R2 JEXPD ADDRESS MOV #20. .R3 :NUMBER OF BYTES TO COMPARE JSR PC,CKMSG2 sEXPD EQUAL RECV? FORCERROR . 828 ,NOTSSR ‘@b BCS 90s :BR IF YES NEXT . ERRNO ERRHRD ERRNO,T171CMP,MSGSTAT :REPORT ERROR TRAP .WORD 0654 012350 90$: 104406 0660 040660 104403 2306 040662 005737 0666 2 002222 017202 CSERHRD 603 “YoRD RecSTAT CKLOOP :LOOP ON ERROR, IF FLAG SET ENDSUB s211111111111 END SUBTEST 7771111111 ST 1608 : 602 sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET TRAP cscLP1 Set WORDS 0-7_ of expd message buffer = to recv since not testing JSR PC,T17SETEXP sSET WORDS 0=7 EXPD=RECV MOV MOV 0466362 CSERDF BEQ JSR TRAP L10057: FATFLG 1608 PC,CKDROP ;ANY FATAL ERRORS ? *BRANCH IF NOT <TRY TO DROP THE UNIT TRAP CSCLPY CSESUB TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 -2 OO 00NV S W NONONNONONONN WWWWWWWW WW AIN) = b b b b b JE Yy 6: SUBTEST 2: FIFO WRITE SINGLE BYTE TEST .SBTTL Mm% PAGE 106 TEST SEQ 0181 6: SUBTEST 2: FIFO WRITE SINGLE BYTE TEST s+ s TEST 6: SUBTEST 2: SUBTEST DESCRIPTION: This subtest verifies the ability of the FIFO to correctly pass a single data bste from input to output. For each of 256 data values (0-377 octal) the following is done: 1. Initial FIFO status is checked 2. The Write FIFO funciion, specifying a count of one bgto to be written is executed. 3. Read Status is executed and FIFO status is checked. 4. ?eadhrlzodis executed and the data and final status s checked. TEST STEPS: BEGIN Write to TSSR to soft initialize Do a WRITE CHARACTERISTICS to setup a message buffer Do a Write Subsystem READ STATUS If Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error If Data In Miss NOT=0 Then Print Error REPEAT FOR DATA FROM O TO 377 OCTAL BEGIN Do a Write Subsystem WRITE NPR to set tape direction out Do a Write Subsystem WRITE FIFO with byte count equal to 1 Do a Write Subsystem READ STATUS If Input Ready NOT=1 Then Print Error If Output Ready NOT=1 Then Print Error If Data In Miss NOT=0 Then Print Error Do Write Subsystem READ FIFO with byte count egual to 1 END END 06 0460674 If Do If If If Data read from FIFO NOT= to Data sent Then a Write Subsystem READ STATUS Input Ready NOT=1 Then Print Error Output Ready NOT=0 Then Print Error Data In Miss NCT=0 Then Print Error BGNSUB Print Error 22777777717 eflt;gnzswtesr 1111011111 " 104402 IRAP ($BSUB Write to TSSR register to soft initialize the controller 040676 2360 2361 040702 2362 040704 004737 103405 010001 06 040710 040712 104455 001133 003652 015774 JSR PC,SOFINIT :WRITE TO TSSR TO SOFT INITIALIZE MOV RO,R1 :SAVE CONTENTS OF TSSR BCS ERRDF 10§ ERRNO,SFIERR,SF IMSG :BR IF SOFT INIT OKAY :DEVICE FATAL DURING INIT TRAP .WORD .WORD CSERDF 603 SFIERR TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 2: FIFO WRITE SINGLE BYTE TEST 2364 040714 2365 040716 2366 040722 2367 040726 2368 040732 2369 040746 2370 040750 2371 040752 2372 040752 040752 040754 040756 040760 2373 040762 2374 040766 040766 2375 2376 040770 012034 005037 012704 004737 002222 050200 010662 002222 104406 004737 047764 2378 041000 2379 041004 2380 041010 2381 041024 2382 041026 2383 041030 2384 041030 010465 737 000000 016336 041034 041036 2385 041040 2386 041044 0461044 2387 2388 041046 046726 012046 005237 004737 050146 2390 041056 2391 041062 2392 041064 2393 041066 2394 041072 012702 012221 011211 052711 042711 050242 2377 040774 041030 041032 2389 041052 2395 041076 2396 2397 2398 041102 2399 041106 2400 041110 2401 041114 2402 041120 2403 041124 26404°061134 2405 041136 2406 041136 041136 041140 0641142 012704 42%: MOV #T17PACKET R4 JSR PC,WRTCHR FORCERROR 42% BCS 50$ MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T17SSR,PKTSSR f0s: 50$: 3 104406 012701 042711 005000 012701 012702 012703 004737 05022 04636 000024 011500 82%: JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 604 CSCLP FATFLG MOV lTi7PK2.R4 FATFLG sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 605 .WORD T173SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP OUN ERROR, IF FLAG SET TRAP cscLP Set WORDS 0-7 of exgd message buffer = to recy since not testing JSR PC,T17SETEX 2SET WORDS 0-7 EXPD=RECV MOV MoV MOV BIS BIC : 3 ERROR FLAG sGET THE ADDRESS OF COMMAND PACKET ;D0 WRITE CHARACTERISTICS COMMAND +@3DFORCE ERROR IF FORCER=1 :sBR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR ) TRAP Do a Write Subszsten READ STATUS JSR PC,.T17SRD JSETUP PACKET FOR READ STATUS INC CKLOOP MOV 000020 000040 SFIMSG TI17SSR PKTSSR INC CKLOOP 3 :CLEAR FATAL WORD WORD .WORD 708: 103404 104456 001136 047145 FATFLG 62%: 046402 200 CLR MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 62% BCS 708 MOV RO,.R1 NEXT.ERRNO ERRDF ERRNO,T173SSR,PKTSSR 103407 010001 002222 SEQ 0182 Do a WRITE CHARACTERISTICS to setur a message buffer 050350 104455 001135 N 14 : 103407 010001 104455 001134 046625 012046 005237 PAGE 106~1 #TI7EXSTA,RI #T17BFSTA R2 (R2)+,(R1)+ (R2),(R1) #S2.INRDY, (R1) #S2.0UTRDY,(R1) :GET EXPECTED READ STATUS JGET RECV READ STATUS sSET EXPD WORL #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= TRUE sSET EXP OUTPUT READY= FALSE BIC lSZ.DlH.(Ri) sSET EXP DATA IN MISS = FALSE ERRHRD ERRNO,T171CMP_,MSGSTAT JREPORT ERROR It Input Ready NOT=1 then Print Error . I1f Output Ready NOT=0 or Data in Miss NOT=0 Then Print Error CLR RO sHIGH RECV ADDRESS FOR CKMSG2 MOV #T17BFR,R1 sLOW RECV ADDRESS FOR CKMSGZ2 MOV #T17EXP .R2 JEXPD ADDRESS MOV #20. ,R3 JNUMBER OF BYTES TO COMPARE JSR PC,CKMSG2 JEXPD EQUAL RECV? FORCERROR 828 ,NOTSSR ;aab BCS 90% :BR IF YES NEXT.ERRNO TRAP WORD LWORD CSERHRD 606 T1721CMP TSVS = HARDWARE TESTS TEST 6: MACRO M1113 SUBTEST 2: FIFO WRITE SINGLE BYTE TEST 041144 2407 041146 041146 2408 012350 2410 041150 2411 041156 2612 2613 0461156 2414 041162 2415 041166 2616 041172 2417 061176 2418 041202 2419 041216 2620 041220 2421 041222 2622 041222 041222 0612264 041226 041230 2423 041232 2624 041236 041236 2425 2626 041240 2627 041244 2428 041250 24629 041254 2630 041260 2631 041264 2632 0461270 2433 041304 2634 041306 2435 041310 2436 061310 041310 041312 041314 041316 2437 041320 2438 041324 041324 2439 2640 2441 041326 2642 041332 2443 041336 2444 041342 2445 041346 2446 041362 2447 041364 2448 041366 2449 041366 041366 041370 012737 000000 012700 004 000100 050026 050350 000000 2409 25-MAY-82 09:19 99$: 104406 002312 : 1008: 4 MOV JSR MOV MOV JSR #0,DATA .OUT,RO PC,T17SNPR #T17PK2 R4 R4, TSDB(RS) PC.CHKTSSR FORCERROR 1028: 1058: : 1058 RO,R1 3 (CSCLP1 :SET TAPE direction out DIRECTION OUT :SETUP T17PK2 FOR WRITE NPR :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE ;WAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP .WORD .WORD .WORD CSERDF 607 T174SSR PKTSSR CSCLP1 MoV MOV JSR MOV MOV JSR #1.R0 #DATA,R1 PC.T17WFIF #Ti7PK2,R4 R4, TSDB(RS) PC.CHKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET BCS 1108 :BR IF CARRY SET (GOOD RETURN) 1078 RO.R1 NEXT . ERRNO ERRDF ERRNO,T175SSR,PKTSSR INC CKLOOP :WRITE 1 BYTE :FIFO WRITE DATA ADDRESS :SETUP T17PK2 FOR WRITE FIFO :@3DFORCE ERRUR IF FORCER=1 :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP .WORD L.WORD .WORD FATFLG :SET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP (SERDF 608 T175SSR PKTSSR CSCLPY Do a Write Subsystem READ STATUS JSR PC,T17S :SETUP PACKET FOR READ STATUS MOV MOV JSR #T17PK2.R4 R4, TSDB(RS) PC.CHKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET BCS 120$ :BR IF CARRY SET (GOOD RETURN) FORCERROR MOV 1128: TRAP :SET FATAL ERROR FLAG :LOOP (N ERROR, IF FLAG SET TRAP Do a Write Subsystem WRITE FIFO with byte count equal to 1 MOV 1108: MSGSTAT :GET FIRST DATA sREPEAT LABEL FATFLG FORCERROR 107$: 1028 NEXT.ERRNO ERRDF ERRNO,T174SSR,PKTSSR INC CKLOOP WORD :LOOP ON ERROR, IF FLAG SET Do a Write Subsystem WRITE NPR to set t MOV MOV 002222 SEQ 0183 CKLOOP BCS 000001 002312 050052 050350 000000 016336 8 15 Repeat for DATA from 0 to 377 016336 002222 PAGE 106-2 RO.R1 1128 NEXT.ERRNO ERRDF ERRNO,T173SSR,PKTSSR :@3DFORCE ERROR IF FORCER=1 :SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP ggSRDF | ; TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 2: FIFO WRITE SINGLE BYTE TEST 041372 041374 2450 041376 2451 041402 0414 PAGE 106-3 C15 SEQ 0184 T173SSR .WORD 002222 1208: FATFLG PKTSSR TRAP cscLP1 sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET Set WORDS 0-7 of exgd message buffer = to recv since not testing JSR PC,T17SETE ;SET WORDS 0-7 EXPD=RECV 050146 04640% 05024 MOV nimsn R1 :GET EXPECTED READ STATUS MOV (R2)+,(R1)+ :SET EXPD WORD #8 = RECV TEMP MOV MOV 000020 000040 000200 #T17BFSTA,R2 :GET RECV READ STATUS (R2), (R1) BIS BIS #52. INRDY, (R1) #52.0UTRDY, (R1) MOV #T17EXP,R2 sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 1 BIC #52.0IM, (R1) :SET EXP DATA IN MISS = 0 I1f Input Ready NOT=1 then Print Error 1f Output Ready NOT=1 or Data in Miss NOT=0 Then Print Error CLR RO sHIGH RECV ADDRESS FOR CKMSG2 MOV #T17BFR,R1 ;:LOW RECV ADDRESS FOR CKMSG2 050222 046362 000024 011500 2468 462 2469 041472 2470 041474 26471 061474 0461474 INC CKLOOP .WORD MoV JSR 132%: FORCERROR BCS 1408 NEXT.ERRNO ERRHRD sEXPD ADDRESS #20. ,R3 PC,CKMSG2 ;NUMBER OF BVTES TO COMPARE sEXPD EQUAL RECV 1328 ,NOTSSR saab :BR IF YES ERRNO,T173CMP,MSGSTAT ;REPORT ERROR TRAP .WORD WORD 012350 1408: 104406 .WORD CKLOOP ;LOOP ON ERROR, IF FLAG SET TRAP RO pc CTI7RFIF #T17PK2,R4 R&,TSDB(RS) cscLm BCS 1508 MOV RO.R1 NEXT.ERRNO ERRDF READ BYTE COUNT *SETUP T17PK2 FOR READ FIFO *GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE PC.CHKTSSR FORCERROR 142%: :WAIT FOR SSR TO SET 1428 :83DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRNO,T176SSR,PKTSSR ~ 050146 046402 050242 002312 MSGSTAT Do WriteSubsysten READ FIFO uith b{to count equal to 1 MOV JSR MOV MOV JSR 000001 050106 050350 000000 016336 002222 CSERHRD 610 T173CMP 1508: INC CKLOOP FATFLG sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 611 WORD .WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET TRAP Set WORDS 0-7 of exgd message buffer = to recy since not testing JSR PC,T17SETE sSET WORDS 0=7 EXPD=RECV MOV #TI7EXSTA,R1 HOV DATA, (RI)O MOV #T17BFSTA.R2 T176SSR PKTSSR cscLP :GET EXPECTED READ STATUS *GET RECV READ STATUS sSET EXPD WORD #8 = COUNT DATA (R2). (R1) SET EXPD WORD #9 = RECV (NOT TESTING) lf Data read from FIFO NOT= to Data sent Then Print Error TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 2: FIFO JRITE SINGLE BYTE TEST PAGE 106~4 D15 SEQ 0185 The data is in WORD #8 of the lessazfi buffer 05022 04636 00002 011500 152%: 160$: 104406 d D d TRAP PC,.CHKTSSR sWAIT FOR SSR TO SET BCS MOV 1708 RO.R1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T173SSR_PKTSSR 162% - P cscLP NEXT.ERRNO s@aDFORCE ERROR IF FORCER=1 JDEVICE FATAL SSR FAILED TO SET TRAP ~ N N d JSR b ~ d b b 002222 MSGSUB TRAP FORCERROR 162$: 25 736 2520 041742 2521 041746 2522 041752 2523 041754 2524 041756 2525 041762 2526 041766 2527 2528 2529 041772 2530 041774 2531 042000 2532 0462004 2533 042010 2534 0462014 2535 042024 2536 0462026 2537 042026 042026 042030 042032 CSERHRD 612 T172CMP .WORD ;LOOP ON ERROR, IF FLAG SET CkLOOP b d ;REPORT ERROR Do a Write SUbszsteu READ STATUS JSR PC.T17SRD sSETUP PACKET FOR READ STATUS MOV #T17PK2 R4 JGET WRITE SUBSYSTEM COMMAND PACKET MOV R4, TSDB(RS) sSET THE PACKET ADDRESS TO EXECUTE 047764 050350 000000 016336 103407 010001 b R RRRRRRRRRRRR sHI RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSGZ2 sEXPD ADDRESS JNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? saab :BR IF YES WORD .WORD 013742 004737 012704 010465 004737 CLR RO MOV #T17BFR,R1 MOV #T17EXP,R2 MOV #18..R3 JSR PC,CKMSG2 FORCERROR 1528 ,NOTSSR BCS 1608 NEXT.ERRNO ERRHRD ERRNO,T172CMP MSGSUB 1708: INC CKLOOP FATFLG CSERDF WORD .WORD .WORD 613 T173SSR PKTSSR TRAP cscLP sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET Set WORDS 0-7 of exgd message buffer = to recv since not testing JSR PC.T17SETEX sSET WORDS 0-7 EXPD=RECV 050146 046402 MOV 000020 000040 000200 B8IC 050242 #TI7EXSTA,R1 ;GET EXPECTED READ STATUS MOV MOV MOV BIS #T17BFSTA R2 (R2)+,(R1)+ (R2),(R1) #S2.INRDY, (R1) JGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= 1 BIC #52.DIM, (RT) :SET EXP DATA IN MISS = 0 #T178BFR,R1 sLOW RECV ADDRESS FOR CKMSGZ #S2.0UTRDY, (R1) 2SET EXP OUTPUT READY= 0 It Input Ready NOT=1 then Print Error If Output Ready NOT=0 or Data in Miss NOT=0 Then Print Error CLR RO sHIGH RECV ADDRESS FOR CKMSG2 050222 046362 000024 011500 MOV MOV #T17EXP,R2 MOV #20. ,R3 JSR PC,CKMSG2 FORCERROR 1728 ,NOTSSR 172%: BCS 180$ NEXT.ERRNO ERRHRD ERRNO,T174CMP_MSGSTAT sEXPD ADDRESS JNUMBER OF BYTES TO COMPARE SJEXPD EQUAL RECV? N :BR IF YES :REPORT ERROR TRAP WORD .WORD CSERHRD 614 T174CMP TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 2: FIFO WRITE SINGLE BYTE TEST 042034 2538 042036 042036 2539 042040 2540 042050 2541 042054 254% 042062 2543 042064 gguso 042070 012350 104406 005237 023727 101002 000137 2546 042070 042070 2547 042070 104403 2548 042072 2549 042076 2550 042100 005737 001402 004737 3225 042104 1808: 002312 002312 041156 000377 - 2058: PAGE 106-5 CkLOOP FORCEXIT 205$ INC DATA CMP DATA,#377 BHI 205$ JMP 1008 ENDSUB 002222 017202 2608: TST BEQ JSR SEQ 0186 WORD :LOOP ON ERROR, IF FLAG SET TRAP MSGSTAT cscLr GET NEXT TEST DATA :DONE 0 10 3772 :BR IF ES :D0 ANOTHER TEST PATTERN s/1/1177717777 END SUBTEST //1/111117 L10060: TRAP CSESUB FATFLG 2608 PC.CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT TSVS = HARDWARE TESTS TEST 6: MACRO M1113 25-MAY-82 09:19 SUBTEST 3: FIFO WRITE MULTIPLE BYTES TEST %ggg SBTTL PAGE 107 SEQ 0187 TEST 2556 ggg: I4e : TEST 6: SUBTEST 3: gggg s SUBTEST DESCRIPTION: 2561 : 2562 6: SUBTEST 3: FIFO WRITE MULTIPLE BYTES TEST This subtest verifies the ability of the FIFO to correctly : ?ass a multiple data bytes from input to output. 2564 : and byte counts from 2 to 64. 2566 : 2. The Write FIFO function. 3 4. Read FIFO is executed and the data and final status 2563 : 2565 he following sequence is done with 3 various data patterns 1. Initial FIFO status is checked 2567 3 2569 2571 2572 2573 2574 2575 2576 2577 2578 : is checked. : + TEST STEPS: 3 ; BEGIN ] : Write to TSSR to soft initialize 3 Do a WRITE CHARACTERISTICS to setup a message buffer 3 Do a Write Subsystem READ STATUS : If Input Ready NOT=1 Then Print Error 3 If Output Ready NOT=0 Then Print Error 2581 s REPEAT FOR DATA O TO 377, 377 TO O, FLOATING 1°S,0°S AND ALL 1°'S/C°'S 2584 3 Do a Write Subsystem WRITE NPR to set tape direction out 2586 : Do a Write Subsystem READ STATUS 2588 2589 2590 2 3 3 If Output Ready NOT=1 If Data In Miss NOT=0 If Last Word NOT=0 Then Print Error Then Print Error Then Print Error If Input Ready NOT=1 Then Print Error If Data In Miss NOT=0 Then Print Error 2568 2570 2579 2580 3 3 %gg% : 2585 Then Print Error If Output Ready NOT=0 ; 2598 ; $ END If Last Word NOT=0 Then Print Error Then Print Error BGNSUB 311117717177 BEGIN SUBTESY /777111111 76.3: 104402 TRAP 2603 2605 042106 2606 042112 2607 042114 2608 042116 NOT=1 3 2596 2597 If Input Ready Do Write Subsystem RZAD FIFO g If Data read from 7IFO NOT= to Data sent Then Print Error Do a Write Subsystem READ STATUS 3 2604 042106 Do a Write Subsystem WRITE FIFO : 3 2 2596 2595 Then Print Error Then Print Error RE;EeINFOR BYTE COUNT 2 TO 64 DECIMAL 3 2591 2592 2593 2602 062106 If Data In Miss NOT=0 If Last Word NOT=0 3 2587 2601 042104 042104 3. Read Status is executed and FIFO status is checked. 2 004737 103405 010001 §s: 015774 ' cs8suB Write to TSSR register to soft initialize the controller JSR BCS MOV ERRDF PC.SOFINIT 108 RO.R1 ERRNO,SFIERR,SF IMSG JWRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TSVS = HARDWARE TESTS TEST 6: SUBTEST 045116 04 MACRO M1113 25-MAY-82 09:19 3: FIFO WRITE MULTIPLE BYTES TEST SEQ 0188 104455 TRAP SERIVRNB RS it i) iOS: Do @ WRITE CHARACTERISTICS to setup a message CLR FATFLG JCLEAR FATAL MOV JSR #T17PACKET R4 PC,WRTCHR FORCERROR 42%: BCS 508 MOV RO.R1 NEXT.ERRNO ERRDF buffer ERROR FLAG 2618 042172 005237 508: INC CxLOOP .WORD .WORD .WORD 42% :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR ERRNO,T17SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP FATFLG sSET FATAL ERROR FLAG ;LOOP ON ERROR, .WORD -WORD WORD IF FLAG SET TRAP Do a Urite Subs‘sten READ STATUS JSR sSETUP PACKET FOR READ STATUS MOV MOV OTi7PK2 R4 MOV 62%: 2 2630 042250 002222 050146 046402 050242 000020 000040 000200 000100 050;%2 0466362 000024 011500 708: 70% :BR IF CARRY SET (GOOD RETURN) RO.R1 2SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP WORD sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET FATFLG TRAP Set WORDS 0-7 of expd message buffer = to recy sinco not testing JSR PC, T17SETEXP sSET WORDS 0=7 EXPD=RECV nov MOV #TI7EXSTA,R1 01178FSTA R2 *GET EXPECTED READ STATUS :GET RECV READ STATUS MOV (R2), (R1) sSET EXPD WORD #9 = RECV TEMP [0 BIS BIC BIC (R2)+, (R1)+ sSET EXPD WORD #8 = RECV TEMP #s INRDV (R1) #52.0UTRDY, (R1) sSET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 0 #52.DIM, (RT) :SET EXP DATA IN MISS= 0 BIC #S2.1LV,(R1) :SET EXP LAST WORD (lLU)°0 If Input Ready NOI-I then Print Error If Output Ready NOT=0 or Data in Miss NOT=0 Then Print Error If Last Uord NOT=0 CLR RO MOV #T17BFR,R1 MOV MOV JSR #T17EXP.R2 BCS Then Print Error sHIGH RECV ADDRESS FOR CKMSG2 :LOW RECV ADDRESS FOR CKMSG2 JEXPD ADDRESS #20. .R3 PC,CKMSG2 sNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? 90s :BR IF YES FORCERROR cscLP JWAIT FOR SSR TO SET ;83DFORCE ERROR IF FORCER=1 NEXT.ERRNO ERRDF ERRNO,T173SSR,PKTSSR INC CkLOOP SERDF 615 T17SSR PKTSSR sSET THE PACKET ADDRESS TO EXECUTE .WORD .WORD 005237 \ .GET WRITE SUBSYSTEM COMMAND PACKET R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 62% B8CS CSERDF 614 SFIERR SFIMSG :GET THE ADDRESS OF COMMAND PACKET ;D0 WRITE CHARACTERISTICS COMMAND b RRRRIRRRR PAGE 107-1 828 .NOTSSR saad CSERDF 616 T173SSR PKTSSR cscLm TSVS = HARDWARE TESTS TEST | MACRO M1113 25-MAY=82 09:19 6: SUBTEST 3: FIFO WRITE MULTIPLE BYTES TEST 2652 04235 2653 04235 042352 042354 042356 042360 2654 042365 042 2655 2656 2657 2658 2659 2660 2661 042 2663 042372 2664 042372 S 042400 828: 104456 001151 047145 012350 908: 104406 012737 000001 002314 012737 000002 002310 2667 042400 012700 000100 2668 042406 2669 0426410 004737 012704 2671 042420 004737 2670 042414 2672 0462424 2673 042440 2674 042442 2675 042444 2676 042444 0462444 0462446 0462450 042452 2677 042454 2678 042460 0462460 010465 050026 050350 000000 016336 2680 042462 004737 050126 2682 062472 2683 0462476 013702 022737 002310 000001 2685 042506 2686 042510 2687 042512 2688 042514 2689 042516 2690 042520 005000 110021 005200 005 003374 022737 000002 2692 042530 012700 000377 269 042536 2695 042540 2696 062542 2697 042544 005300 005302 003374 022737 2691 0462526 2693 042536 2698 0462552 1005 01 110021 001005 CKLOOP TRAP .WORD LWORD .WORD ;LOOP ON ERROR, IF FLAG SET TRAP CSERHRD 617 T171CMP MSGSTAT CSCLP1 Do a Write Subsystem WRITE NPR to set tape direction out MOV #NP.OUT,RO :SET TAPE MOV R4, TSDB(RS) :SET THE PACKET ADDRESS TO EXECUTE PC, T17SNPR #T17PK2.R4 PC.CHKTSSR DIRECTION OUT *SETUP T17PK2 FOR WRITE NPR :GET WRITE SUBSYSTEM COMMAND PACKET :WAIT FOR SSR TO SET 1058: INC CKLOOP 3 Do a Urito Subsystem WRITE FIFO JSR T17CLEXP :CLEAR EXPD BUFFER MOV KV CMP BNE 1158: 1208: 002314 :REPORT ERROR 1028: 002314 002314 ERRNO,T171CMP,MSGSTAT FORCERROR 102 BCS 1058 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T174SSR,PKTSSR 1108: 000003 ERRHRD JSR 2681 0462466 012701 046504 0425 NEXT.ERRNO JSR MOV 104406 SEQ 0189 REPEAT FOR BYTE COUNT 2 TO 64 DECIMAL TSTFLAG =1 FOR INCREMENT TEST PATTERN =2 FOR DECREMENT TEST PATTERN =3 FOR TSTBLK TABLE PATTERN MOV #1,TSTFLAG :TEST PATTERN FLAG 958 : MOV #2,COUNT :GET FIRST BYTE COUNT 100$: 3 002222 H 15 : : : : 103407 010001 104455 001152 046773 012046 005237 PAGE 1072 1258: FATFLG crirufoAtA R1 COUNT ,R2 #1,TSTFLAG 1158 :8aDFORCE ERROR IF roacsa-1 :BR IF CARRY SET (GOOD RETURN :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 618 .WORD T174SSR .WORD PKTSSR :SET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET TRAP CSCLPY :EXPD WRITE FIFO DATA BUFFER :TEST PATTERN SIZE :INCREMENT PATTERN THIS TIME THRU? :BR IF NO CLR MOVB INC DEC BGT CMP RO RO, (R1)+ RO R2 1108 #2,TSTFLAG s INCREMENT TEST PATTERN *STORE INCREMENT TEST BYTE -ser NEXT PATTERN :DONE? :BR IF NO *DECREMENT PATTERN THIS TIME THRU? MOV c 77.R0 :DECREMENT TEST PATTERN DEC DEC BGT (MP RO :SET NEXT PATTERN :DONE? *BR IF NO :TSTBLK PATTERNS THIS TIME THRU? BNE MOVB BNE 1288 RO, (R1)+ 1208 #3, TSTFLAG 138s *BR IF NO :STORE DECREMENT TEST BYTE :BR IF NO TSVS = HARDWARE TESTS TEST 6: SUBTEST 25-MAY-82 09:19 FIFO WRITE MULTIPLE BYTES TEST 012700 002752 1308: 135%: PAGE 107-3 DEC R2 JFLOAT 1°S/0°S ETC. TEST TABLE sSTORE A TSTBLK BYTE sDONE? COUNT RO sFIFO BYTE COUNT BGT (RO)+,(R1)+ 130% MOV 218 2719 042654 2720 042660 2721 002222 1508: #T17WFDATA R PC.T17WFIF MOV JSR R ,TSDB(RS) PC,CHKTSSR *T17PK2,R4% 2739 042762 2740 042766 2741 276% 2743 042772 2744 042774 2745 043000 050146 046402 050242 000020 000040 000200 000100 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T175SSR_PKTSSR INC CKLOOP sSETUP T17PK2 FOR WRITE FIFO sGET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;93DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD -WORD .WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG ;sxp CSERDF 619 T175SSR PKTSSR cscLP : 1608 BCS MOV 160 RO.R1 sWAIT FOR SSR TO SET :83DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T173SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET NEXT.ERRNO INC CKLOOP FATFLG Set WORDS 0-7 of ex gd message JSR PC,T17SETEX MOV #TI7EXSTAR1 MOV MOV MOV BIS BIS #T17BFSTA.R2 (R2)+, (R1)+ (R2), (R1) #52. INRDY, (R1) #52.0UTRDY, (R1) ?gcl #52.1LV. (R1) BIC #52.DIM, (RT) npu 050222 046362 FATFLG JSR PC,CHKTSSR FORCERROR 157% 157%: 2732 042732 2733 042736 2734 042742 2735 042746 27356 042750 150 14 sFIFO WRITE DATA ADDRESS Do a Write Subs‘sten READ STATUS JSR PC.T17SRD sSETUP PACKET FOR READ STATUS MOV #T17PK2 R4 sGET WRITE SUBSYSTEM COMMAND PACKET MOV R4, TSDB(RS) sSET_THE PACKET ADDRESS TO EXECUTE 047764 050350 000000 016336 002222 JBR IF NO MOV JSR BCS 042644 2715 042646 2716 042652 042552 SEQ 0190 #TSTBLK,RO FORCERROR 1428%: 115 MOV MOVB8 MOV [ 283828 SRR e $SBXR3 =d=d=13] 2699 (42554 : MACRO M1113 TRAP .WORD .WORD .WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG ?EIP buffer = to recy since not testing sSET WORDS 0-7 EXPD=RECV sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 1 sSET EXP DATA IN MISS = 0 ;SET EXP LAST WORD (ILW)=0 t Ready NOT=1 then Print Error If Ou tpu;oaeady NOT=1 or Data in Miss NOT=0 Then Print Error CLR sHIGH RECV ADDRESS FOR CKMSG2 MOV #T17BFR,R1 :LOW RECV ADDRESS FOR CKMSG2 MOV #T17EXP.R2 sEXPD ADDRESS CSERDF 620 T173SSR PKTSSR cscLP TSVS = HARDWARE TESTS TEST 6: SUBTEST 2746 043004 2747 043010 2748 043014 2749 043026 2750 043026 2751 043026 043026 043030 043032 043036 2752 043036 ors 04 2754 2755 043040 2756 043044 2757 043050 2758 043054 2759 043060 2760 043064 2761 043100 2762 043102 2763 043104 2764 043104 043106 043106 043110 0643112 2765 063114 2766 043120 ey 043120 768 2769 043122 2770 0643126 2771 063130 2 043134 2773 043140 277 043144 2775 043154 2776 043156 2777 043156 2778 043162 043162 043164 043166 043170 779 063172 b 043172 MACRO M1113 3: FIFO WKITE MULTIPLE BYTES TEST 012703 000024 004737 011500 104456 001155 047323 012350 104406 013700 004737 012704 010465 737 002310 050106 050350 000000 1628: 170$: CKLOOP : 016336 010001 104406 012702 012701 013703 004737 104456 001157 047472 012170 104406 004737 04 010465 0477 2783 043200 012704 050350 784 737 103407 016336 RO,R1 1808: INC CKLOOP 046504 050242 002310 011500 002310 1808 NEXT . ERRNO ERRDF ERRNO,T176SSR,PKTSSR FATFLG 1928: :NUMBER OF £YTES TO COMPARE :EXPD EPUAL RECV? :@ab :BR iF YES ;%ZPORT ERROR TRAP .WORD .WORD .WORD :LOOP ON ERROR, IF FLAG SET CSERHRD 621 T173CMP MSGSTAT CSCLP1 :SET READ BYTE COUNT *SETUP T17PK2 FOR READ FIFO :GET WRITE SUBSYSTEM COMMAND PACKET *SET THE PACKET ADDRESS TO EXECUTE *WAIT FOR SSR TO SET :@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 622 .WORD T176SSR .WORD PKTSSR :SET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET TRAP CSCLP1 lf Data read from FIFO NOT= to Data sent Then Print Error CLR RO :HIGH RECV ADDRESS FOR CKMSG2 MOV #T17WFDATA,R2 MOV #T17BFSTAR1 MOV COUNT,R3 JSR PC,CKMSG2 FORCERROR 192%.NOTSSR 103406 013701 COUNT RO PC.T17RFIF #T17PK2.R4 R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 1728 172$: 3 005 Do Write Subsystem READ FIFO MOV SEQ 0191 TRAP MOV JSR MOV MOV BCS 002222 J1 BCS 170$ NEXT.ERRNO ERRHRD ERRNO,T173CMP,MSGSTAT 103407 104455 001156 047102 012046 005237 PAGE 107-4 MOV #20. ,R3 JSR PC,CKMSG2 FORCERROR 162$.NOTSSR 103404 781 2782 043174 2785 043210 2786 043214 2787 043230 25-MAY-82 09:19 BCS 2008 NEXT.ERRNO MOV COUNT,R1 ERRHRD ERRNO.T175CMP.FIFEXP *GET EXPECTED ADDRESS FOR CKMSG2 *GET RECEIVED ADDRESS FOR CKMSG2 *NUMBER OF BYTES TO COMPARE :EXPD EQUAL RECV? saab :BR IF YES :GET BYTE COUNT :REPORT ERROR TRAP .WORD .WORD .WORD :LOOP ON ERROR, IF FLAG SET TRAP 2008: CKLOOP 3 Do a Unte SUbs‘ste- READ STATUS JSR :SETUP PACKET FOR READ STATUS MOV MOV nimz R4 Ré,TSDB(RS) JSR PC.CHKTSSR FORCERROR 2128 BCS 2208 CSERHRD 623 T175CMP FIFEXP CSCLPY *GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE *WAIT FOR SSR TO SET :3aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY=82 09:19 6: SUBTEST 3: FIFO WRITE MULTIPLE BYTES TEST 2788 043232 2789 043234 2790 043234 0463234 043236 0463240 063242 2791 043244 2792 043250 043250 2793 2794 043252 2795 043256 2796 043262 2797 043266 010001 104455 001160 046726 012046 005237 002222 104406 004737 012701 012702 012221 K15 212%: MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T173SSR,PKTSSR 2208: INC CKLOOP FATFLG nov MOV MOV #TIZEXSTA, m #T17BFSTA.R2 (R2)+, (R1)+ - 050146 PAGE 107-5 046402 050242 011211 052711 042711 000020 000040 MOV BIS BIC (R2), (Rl) #S2. INRDY (R1) 052 OUTRDV (R1) 2802 043306 042711 000100 BIC ILV,.(R1) 2803 2804 042711 2805 043312 2806 043314 005000 012701 2808 043324 2809 043330 2810 043334 2811 043344 2812 043346 2813 043346 043346 043350 043352 043354 2814 043356 043356 2815 043360 2816 043370 2817 043374 2818 043402 2819 043404 2820 043410 2821 043414 2822 0463422 012703 004737 2807 043320 2823 0434% 2824 0434 2825 043430 0463430 012702 BIC 3 [ 050222 046362 232%: 104456 001161 047407 012350 2408: 104406 005237 023727 101002 000137 005237 023727 101002 000137 104403 827 043432 2828 043436 2829 043440 gggo 043444 005737 001402 004737 002310 002310 000077 042400 002314 002314 000003 042372 2508: 2558: 002222 017202 2608 : JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 624 .WORD T173SSR WORD PKTSSR SDIM, (Rf) :GET EXPECTED READ STATUS sGET RECV READ STATUS +sSET EXPD WORD #8 = RECV TEMP SET EXPD WORD #9 = RECV TEMP +SET EXP INPUT READY= 1 'SET EXP OUTPUT READY= 0 JSET EXP DATA IN MISS =0 sSET EXP LAST WORD (ILW)=0 If Input Read NOT=1 then Print Error I1f Output Ready NOT=0 or Data in Miss NOT=0 Then Print Error CLR MOV MOV 000024 011500 103404 . 043430 2832 000200 JSAVE CONTENTS OF TSSR sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP cscLP Set WORDS 0-7 of expd message buffer= to recv since not testing JSR PC,.T17SETEXP sSET WORDS 0-7 EXPD=RECV 2798 043270 2799 043272 2800 043276 2801 043302 SEQ 0192 RO #T178FR,R1 #T17EXP.R2 MOV 020.. R3 JSR PC,CKMSG2 FORCERROR 2328 ,NOTSSR BCS 2408 NEXT.ERRNO ERRHRD ERRNO,T174CMP ,MSGSTAT CKLOOP sHIGH RECV ADDRESS FOR CKMSG2 :LOU RECV ADDRESS FOR CKMSGZ2 EXPD ADDRESS :NUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? :@ab JBR IF YES JREPORT ERROR TRAP .WORD WORD .WORD sLOOP ON ERROR, IF FLAG SET TRAP CSERHRD 625 T174CMP MSGSTAT cscLP FORCEXIT 2508 INC COUNT CMP COUNT ,#77 B 2508 JMP 1008 INC TSTFLAG CMP TSTFLAG,.#3 BHI 255% GET NEXT BYTE COUNT *DONE 0 TO 77 :BR IF YES ;DO ANOTHER BYTE COUNT GET NEXT TEST PATTERN CODE JDONE INC.DEC,TSTBLK PATTERNS? :BR IF YES ENDSUB s/1117117771777 END SUBTESTY 7771711117 JMP TST BéQ JSR 95% DO ANOTHER TEST PATTERN L10061: FATFLG 260S PL.CKDROP sANY FATAL ERRORS ? :BRANCK IF NOT sTRY TO DROP THE UNIT TRAP CSESUB TSVS = HARDWARE TESTS TEST 6: SUBTEST 2833 MACRO M1113 j 25-MAY<82 09:19 3: FIFO WRITE MULTIPLE BYTES TEST PAGE 107-6 L 15 SEQ 0193 TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST &: FIFO VERIFY ILW STATUS %ggz .SBTTL 2837 PAGE 108 TEST 15 SEQ 0194 6: SUBTEST &4: FIFO Verify ILW Status 14 Sggg s %gz? s SUBTEST DESCRIPTION: 2842 : %gzz TEST 6: SUBTEST 4: 3 2845 This subtest verifies that reading the FIFO when it is empty causes the Last Word (ILW) status to assert. : TEST STEPS: 2846 2847 2848 2849 2850 2851 2852 S : BEGIN SRR : Write to TSSR to soft initialize S Do Write Subs‘sten READ FIFO with byte count equal to 1 3 Do a Write Subsystem READ STATUS 3 If Input Ready NOT=1 Then Print Error : If Output Ready NOT=0 Then Print Error 2854 : 2853 2857 043444 043444 2858 043444 : 3//11/77777/77 BEGIN SUBTEST /777711117 T6.4: TRAP csBsuB 104402 . 2861 043446 2862 043452 2863 043454 2864 043456 043456 043460 043462 063464 004737 103405 010001 2866 043466 2867 043472 2868 043476 2869 043502 2870 043516 2871 043520 2872 043522 2873 043522 043522 043524 043526 043530 2874 0643532 2875 043536 2876 043536 005037 012704 004737 2877 2878 043540 2879 043544 2880 043550 Then Print Error If Last Word (ILW) NOT=1 Then Print Error BGNSUB 2859 2860 043446 If Data In Miss NOT=0 015774 §s: 104455 001161 003652 012034 002222 050200 010662 2 108: 103407 010001 104455 001162 046625 012046 005237 42%: 002222 104406 012700 004737 012704 000001 0501 06 050350 50$: 3 Write to TSSR register to soft initialize the controller JSR BCS MOV ERRDF PC,SOFINIT 108 RO.R1 ERRNO,SF IERR,SF IMSG sWRITE TO TSSR TO SOFT IMITIALIZE :BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING I%NIT TRAP CSERDF .WORD 625 .WORD SFIERR .WORD SFIMSG Do a WRITE CHARACTERISTICS to setup a ness:fo buffer CLR FATFLG sCLEAR FATAL ERROR FLAG MOV #T17PACKET R4 sGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR :DO WRITE CHARACTERISTICS COMMAND FORCERROR 42% :@3DFORCE ERROR IF FORCER=1 BCS 508 sBR IF CARRY SET (GOOD RETURN) MOV RO.R1 JSAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T17SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 626 .WORD T17SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP sLOOP ON ERROR, IF FLAG SET TRAP CSCLP Do Write Subsystem READ FIFO with byte count equal to 1 MOV #1,R0 sSET READ BYTE COuwT JSR MOV PC.T17RFIF #117Pk2,R4 :SETUP T17PK2 FOR 3EAD FIFO :GET WRITE SUBSYSTEM COMMAND PACKET TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST &: FIFO VERIFY ILW STATUS 010465 004737 000000 016336 N 15 sSET _THE PACKET ADDRESS TO EXECUTE sSAVE CONTENTS OF TSSR 142%: MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T176SSR,PKTSSR 1508: INC CKLOOP BCS RRRRP SRR PIN) = b b oONMrNO 8 R SRS RERORN 2 002222 1508 MOV 010001 162%: 1708: #T17PK2 R4 cscLPt sGET WRITE SUBSYSTEM COMMAND PAC KET sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;3aDFORCE ERROR IF FORCER=1 BCS MOV 1708 RO.R1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T173SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET NEXT.ERRNO INC CKLOOP MOV MOV MOV MOV BIS BIC BIC | TRAP CSERDF .WORD WORD 628 T173SSR TRAP cscLP WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET FATFLG PKTSSR #TI7EXSTA,R1 #T17BFSTA.R2 (R2)+, (R1)+ (R2), (R1) #52. INRDY, (R1) #52.0UTRDY, (R1) csg.oxn,<ni) sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP :SET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 0 :SET EXP DATA IN MISS = 0 #52.1LW,(R1) 2SET EXP LAST WORD (ILW)=1 CLR MOV MOV MOV JSR RO #T17BFR,R1 #T17EXP,R2 #20. .R3 PC.CKMSG2 JHIGH RECV ADDRESS FOR CKMSG2 +LOW RECV ADDRESS FOR CKMSG?2 JEXPD ADDRESS JNUMBER OF BYTES TO COMPARE :EX:D EQUAL RECV? BCS 180$ :BR IF YES ERRHRD ERRNO,T176CMP,MSGSTAT f Input Ready NOT=1 then Print Error f Output Read{ NOT=0 or Data in Miss NOT=0 Then Print Error f Last Word (ILW) NOT=1 Then Print Error LaV] o REERERRERRER sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF 627 .WORD .WORD T176SSR PKTSSR .WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET Set WORDS 0-7 of expd message buffer = to recv since not testing JSR PC,T17SETEXP sSET WORDS 0-7 EXPD=RECV 050146 046402 050242 SIBIVBBITIBIBII RURNZS oI N =O :BR IF CARRY SET (GOOD RETURN) TRAP MOV R4 ,TSDB(RS) JSR PC,CHKTSSR FORCERROR 162% 103407 002222 FATFLG sWAIT FOR SSR TO SET +3aDFORCE ERROR IF FORCER=1 Do a Write Subs‘sten READ STATUS JSR PC.T17SRD sSETUP PACKET FOR READ STATUS 047764 050350 000000 016336 104455 SEQ 0195 MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 1428 2 2881 043554 2882 043560 2883 043564 2884 043600 2885 043602 2886 043604 2887 043604 043604 PAGE 108-1 osquz 046362 000024 011500 FORCERROR 172%: NEXT.ERRNO 1728 ,NOTSSR ;9 ;REPORT ERROR S .WORD .WORD CSERHRD 629 r4 T176CMP TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 4: FIFO VERIFY ILW STATUS 044002 2925 044004 2026 044006 012350 1808: 104406 2927 044006 044006 2028 044006 104403 2929 044010 2930 044014 2931 044016 2932 044022 2933 2934 C05737 001402 004737 002222 017202 2608 : PAGE 108-2 SEQ 0196 CkLOOP WORD ;LOOP ON ERRCR, IF FLAG SET TRAP ENDSUB /11171777777 END SUBTEST /11111117 TST BEQ JSR L10062: FATFLG 2608 PC.CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT TRAP MSGSTAT cscLPt CSESUB TSVS = HARDWARE TESTS TEST 6: SUBTEST : MACRO M1113 25-MAY-82 09:19 FIFO VERIFY INPUT READY .SBTTL 16 PAGE 109 TEST SEQ 0197 6: SUBTEST 5: FIFO Verify Input Ready 14e o 00 0090 909000 9090909090090 909005090909 %:0%09.09000% %9909, %8,0%:09%, s TEST 6: SUBTEST 5: 2974 044022 044022 s 044022 SUBTEST DESCRIPTION: This subtest verifies tiuat writing 64. bytes into the FIFO without reading any out causes the Input Ready status to negate. The Subtest then verfiies that writing a 65th byte into the FIFO causes the Data In Miss status to assert. Next it is verified that the original 64 bytes can be read out correctly and that the data has not been corrupted. TEST STEPS: BEGIN END Write to TSSR to soft initialize Do a WRITE CHARACTERISTICS to setup a message buffer Do a Write Subsystem WRITE NPR to set tape direction out Do a Write Subsystem WRITE FIFO 64. bytes incrementing pattern Do a Write Subsystem READ STATUS If Input Ready NOT=0 Then Print Error If Output Ready NOT=1 Then Print Error If Data In Miss NOT=0 Then Print Error Do a Write Subsystem WRITE FIFO 1 byte for a total of 65. written Do a Write Subsystem READ STATUS If Input Ready NOT=0 Then Print Error If Output Ready NOT=1 Then Print Error If Data In Miss NOT=1 Then Print Error Do Write Subsystem READ FIFO If Data read from FIFO NOT= to Data sent Then Print Erros Do a Write Subsystem READ STATUS If Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error If Data In Miss NOT=1 Then Print Error BGNSUB 111NN 85?!8 SUBTEST /,77771117 TRAP 015774 §8: iOS: csasus Write to TSSR register to soft initiatize the controller JSR BCS MOV ERRDF PC,SOFINIT 108 RO.R1 ERRNO,SFIERR,SFIMSG SWRITE TO TSSR TO SOFT INITIALIZE 2BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP Do 3 WRITE CHARACTERISTICS to setur a -esszgo buffer CLR FATFLG JCLEAR FATAL ERROR FLAG MOV #T17PACKET R4 JSR PC.WRTCHR FORCERROR 428 WORD .WORD .WORD CSERDF 629 SFIERR SFIMSG sGET THE ADDRESS OF COMMAND PACKET D0 WRITE CHARACTERISTICS COMMAND :83DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 5: FIFO VERIFY INPUT READY 2987 044074 2988 044076 2989 044100 2990 044100 044100 044102 044104 044106 2991 044110 2992 044114 103407 010001 42%: 002222 JINIFTRRRTAT LN 3005 3006 RRRRRRRRRRRRRRRET REecseacasRs 044114 000100 050026 050350 000000 016336 b BLS 50 MOV RO.R1 NEXT.ERRNO ERRDF INC sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRNO,T17SSR,PKTSSR FATFLG sDEVICE FATAL SSR FAILED to SET ZORD' Do a Write Subsystem WRITE NPR to set t MOV #NP.OUT RO JSET T JSR MOV MOV JSR .uono - nrssa .WORD * PKTSSR sSET FATAL ERROR FLAG iOOS: sLOOP ON ERROR, IF FLAG SET TRAP direction out DIRECTION OUT :SETUP T17PK2 FOR WRITE NPR Ré,TSDB(RS) :SET THE PACKET ADDRESS TO EXECUTE PC.CHKTSSR 1028 BCS 105 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T174SSR,PKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET :WAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) 2SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP .WORD WORD 002222 105$: INC CKLOOP FATFLG :SET FATAL ERROR FLAG .WORD ;LOOP ON ERROR, IF FLAG SET TRAP CSERDF 631 T174SSR PKTSSR cscLP Do a Write Subsystem WRITE FIFO 64. bgtes increlenttng pattern MOV #64. ,COUNT ;WRITE 64 BYTES 002310 1108: MOV MOV #T*7WFDATA R1 #64. R2 MovBe RO, (R1)+ CLR :INCREMENT TEST PATTERN sSTORE INCREMENT TEST BYTE RO R2 1108 ssr NEXT PATTERN sDONE? BR IF NO MOV #T17WFDATA R1 :FIFO WRITE DATA ADDRESS MOV MOV #T17PK2.R4 Ré, TSDB(RS) :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JSR 1428%: RO SEXPD WRITE FIFO DATA BUFFER :TEST PATTERN SIZE INC DEC BGT MoV COUNT RO PC.TI17WFIF sFIFO BYTE COUNT 2SETUP TI17PKZ FOR wWRilt Fifo JSR PC, cnnssa FORCERROR 142% BCS 1508 MOV RO.R1 ;@3DFORCE ERROR IF FORCER=1 :BR IF CARRV SET (GOOD RETURN) JSAVE CONTENTS OF TSSR ERRDF :DEVICE FATAL SSR FAILED TO SET NEXT.ERRNO ERRNO,T175SSR,PKTSSR sWAIT FOR SSR TO SET TRAP WORD .WORD 002222 cscLP1 PC, T17SNPR #TI7PK2 R4 FORCERROR anlSil RRRRRRRRRRRR S2EEesseNney ggemes SEQ 0198 CkKLOOP 20 044244 3021 0442 s ) 16 50%: 1028: 3007 3008 3009 044200 3010 044206 3011 044212 3012 044216 3013 044220 3014 044222 3015 044224 3016 044226 3017 044230 ed PAGE 109-1 1508: INC CKLOOP FATFLG :SET FATAL ERROR FLAG ;LOOP ON ERROR, .WORD IF FLAG SET (SERD® 632 T175SSR PKTSSR TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST S: FIFO VERIFY INPUT READY 044314 PAGE 109-2 E 16 SEQ 0199 104406 TRAP cscLP Do a Write Subsystem READ STATUS If Input Ready NOT=0 Then Print Error If Output Ready NOT=1 047764 050350 000000 016336 If Data In Miss NOT=0 JSR PC.T17SRD MOV #Ti7PK2, R4 JSR PC.CHKTSSR MOV 050146 066402 050242 000020 000040 000200 050222 046362 000024 011500 Then Print Error JSETUP PACKET FOR READ STATUS Ré,TSDB(RS) FORCERROR BCS 160% MOV RO.R1 NEXT.ERRNO 002222 Then Print Error 157% :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE SWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T173SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET INC FATFLG sSET FATAL ERROR FLAG CkLOOP TRAP .WORD WORD WORD CSERDF 633 T173SSR PKTSSR .I.OOP ON ERROR, IF FLAG SET TRAP cscLP Set WORDS 0-7 of expd message buffer = to recv since not testing JSR PC,T17SETEXP ;SET WORDS 0=7 EXPD=RECV MOV MOV MOV MOV BIC BIS BIC CLR MOV #TI7EXSTA,R1 #T17BFSTA R2 (R2)+, (R1)+ (R2), (R1) #S2. xuaov (R1) #52.0UTRDY, (R1) JSZ DIM, (RT) lTl?BFR R1 MoV #T17EXP.R2 B8CS 1708 MOV #20. .R3 JSR PC,CKMSG2 FORCERROR 1628 ,NOTSSR NEXT.ERRNO ERRHRD ERRNO,T173CMP_ MSGSTAT *GET EXPECTED READ STATUS :GET sSET sSET sSET :SET RECV READ STATUS EXPD WORD #8 = RECV TEMP EXPD WORD #9 = RECV TEMP EXP INPUT READY= 0 EXP OUTPUT READY= 1 sSET EXP DATA IN MISS = 0 sHIGH RECV ADDRESS FOR CKMSG2 ;LOW RECY ADDRESS FOR CKMSG2 EXPD ADDRESS :NUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? saaD :BR IF YES ;REPORT ERROR TRAP gS}ERMD .WORD T173CwP MSGSTAT TRAP cscLm .WORD .WORD CKLOOP :LOOP ON ERROR, IF FLAG SET Do a Write Subsystem WRITE FIFO 1 blte for a total of 65. written MOV #1.R0 MOV nimom R1 :FIFO BYTE C MOV MOV JSR #T17PK2,R4 R4, TSDB(RS) PC.CHKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE SWAIT FOR ssa to SET BCS 1808 :BR IF CARRV SET (GOOD RETURN) JSR PC.TI7WFIF FORCERROR 1728 :FIFO WRITE wm ADDRESS :SETUP T17Pk2 FOR WRITE FIFO ORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST S: FIFO VERIFY INPUT READY 3076 044544 3077 044546 3078 044546 064546 044550 044552 0445 3079 044556 3080 044562 081 044562 3082 3083 3084 3085 044 3087 044570 3088 044574 3089 044600 3090 044604 3091 044620 2 3093 044624 3094 044624 044626 044626 044630 044632 3095 044634 3096 044640 044640 010001 104455 001173 047036 012046 005237 104406 004737 012704 010465 004737 104455 001174 046726 012046 005237 3106 044676 3107 044700 3108 044704 3109 044710 3110 044714 3111 044720 3112 044730 3113 044732 3114 044732 044732 044736 5 012701 012702 012703 737 736 002222 052711 050146 046402 050242 172%: 1808: INC CKLOOP JSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET 3 s : 3 Do a Write Subsystem READ STATUS If Input Ready NOT=0 Then Print Error If Output Ready NOT=1 Then Print Error If Data In Miss NOT=1 Then Print Error 1908 : H 000020 000040 000200 050222 046362 000024 011500 103404 1928: 104456 001175 SEQ -0200 sSAVE CONTENTS OF TSSR 187%: 104406 004737 012701 012702 012221 011211 042711 052711 044740 3115 044742 044742 3116 3117 044744 047764 050350 000000 016336 F 16 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T175SSR,PKTSSR 103407 010001 2 3099 044646 3100 044652 3101 0446 3102 3103 044662 3104 044 3105 044672 002222 PAGE 109-3 FATFLG .WORD PKTSSR TRAP cscLP JSR PC.T17SRD MOV #T17PK2 R4 MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 187% BCS 190 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T173SSR_PKTSSR sSETUP PACKET FOR READ STATUS JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@@DFORCE ERROR | FORCER=1 sBR IF CARRY SET (GOOD RE iURN) ;SAVE CONTENTS OF TSSR BIS sSET EXP DATA IN MISS = 1 sDEVICE FATAL SSR FAILED T9 SET TRAP CSERDF WORD 636 WORD T173SSR .WORD PKTSSR INC FATFLG ;SET FATAL ERROR FLAG CKLOOP * sLOOP ON ERROR, IF FLAG SET TRAP cscLP Set WORDS 0-7 of expd message buffer = to recv since not testing JSR PC.T17SETEXP sSET WORDS 0=7 EXPD=ReCV MOV #T17EXSTA R sGET EXPECTED READ STATUS MOV #T17BFSTA R2 sGET RECV READ STATUS MOV (R2)+,(R1)+ sSET EXPD WORD #8 = RECV TEMP MoV (R2) ,(R1) sSET EXPD WORD #9 = RECV TEMP BIC #S2.INRDY, (R1) sSET EXP INPUT READY= 0 BIS #52.0UTRDY, (R1) sSET EXP OUTPUT READY= 1 OSZ.Dll,(Ri) CLR RO MOV #T17BFR R1 MOV #T17EXP,R2 MOV #20. ,R3 JSR PC,CKMSG2 FORCERROR 192% ,NOTSSR B8CS 200% NEXT.ERRNO ERRHRD ERRNO,T173CMP_MSGSTAT sHIGH RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS NUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ) :BR IF YES :REPORT ERROR TRAP .WORD 047323 WORD 012350 2008: 104406 013700 sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 635 WORD T175SSR 002310 3 CkLOOP : Do Write Subsystem READ FIFO MOV COUNT RO .WORD ;LOOP ON ERROR, IF FLAG SET TRAP sSET READ BYTE COUNT CSERHRD 637 T173CmMP MSGSTAT LSCLP r | TSVS ~ WARDWARE TESTS TEST MACRO M1113 25-MAY=82 09:19 PAGE 1096 G 16 6: SUBTEST S: FIFO VERIFY INPUT READY . 3118 044750 004737 3121 044764 004737 3119 (447564 3120 044760 3122 044770 3123 045004 3124 045006 3125 045C10 3126 045010 045010 045012 045014 045016 3127 045020 3128 045024 3129 045024 3130 3131 045026 3132 045030 3133 045034 3134 045040 3135 0450446 3136 045050 3137 045060 3138 045062 3139 045062 3140 045066 045066 045070 045072 045074 3141 045076 3142 045076 3143 3144 3145 3146 3147 045100 3148 045106 3149 045110 3150 045114 3151 045120 3152 0451346 3153 045136 3154 045140 3155 045140 045140 045142 0651446 045146 3156 045150 3157 045154 045154 3158 3159 045156 012704 010465 05010¢ JSR 050350 000000 MOV MOV sGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE ;83DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR 2128: FORCERROR 212% B8CS 2208 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T176SSR,PKTSSR 2208 : INC CKLOOP H lf Data read from FIFO NOT= to Data sent Then Print Error 016336 002222 104406 005000 012702 012701 013703 004737 JSR 046504 nov 050242 MOV 002310 011500 002310 104456 001177 047472 012170 104406 004737 047764 004737 016336 012704 010465 004737 050146 TRAP RO #T17WFDATA R2 #T17BFSTA, R1 :GET RECEIVED ADDRESS FOR CKMSGZ2 ;LOOP ON ERROR, IF FLAG SEI 3 3 3 : Do a Write Subsystem READ STATUS If Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error If Data In Miss NOT=1 Then Print Error JSR PC.T17SRD sSETUP PACKET FOR READ STATUS MOV MOV 260%: 3 #T17PK2, R4 RG, TSDB(RS) JSR PC.CHKTSSR FORCERROR 252% BCS 2608 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO.HBSSR.PKTSSR cscLP sHIGH RECV ADDRESS FOR CKMSG2 sGET EXPECTED ADDRESS FOR CKMSG2 CkLooOP 252%: 104406 sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 638 WORD T176SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET 2408: 2328: 050350 000000 002222 FATFLG sWAIT FOR SSR TO SET ;NUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? saabD :BR IF YES 103407 010001 104455 001200 046726 012046 005237 PC.CHKTSSR MOV COUNT ,R3 JSR PC.,CKMSG2 FORCERROR 2328 ,NOTSSR BCS 2408 NEXT.ERRNO MOV COUNT ,R1 ERRHRD ERRNO,T175CMP,FIFEXP 103406 013701 sSETUP T17PK2 FOR READ FIFO le?PKZ R4 R4, TSDB(RS) 103407 010001 104455 001176 047102 012046 005237 PC,T17RFIF SEQ 0201 sGET BYTE COUNT JREPORT ERROR TRAP WORD .WORD .WORD CSERHRD 639 T175CMP FIFEXP TRAP cscLP1 sGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE UAIT roa SSR T0 SET ORCE ERROR IF FORCER=1 :BR IF CARRV SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 640 .WORD T173SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG (KLOOP :LOOP ON ERROR, IF FLAG SET TRAP cscLP Set WORDS 0-7 of exgd message buffer = to rec; since not testing JSR PC,T17SETEX sSET WORDS 0-7 EXPD=RECV TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 PAGE 109-5 H1 ' 6: SUBTEST 5: FIFO VERIFY INPUT READY 3160 045162 3161 045166 316% 065172 3163 045174 3164 045176 3165 045202 3166 045206 3167 045212 3168 045214 3169 045220 3170 045226 3171 045230 3172 045234 3173 0452644 3174 045246 3175 045246 045246 045250 045252 54 SRRAV2BI WWWWWWWW P el Pl gl Pt 3177 3178 045260 045260 045260 012701 012702 012221 011211 052711 042711 052711 005000 012701 012702 01270 004737 06640% 05024 MOV MOV MOV MOV BIS BIC #T17EXSTA,R1 #T17BFSTA,R2 (R2)+,(R1)+ (R2),(R1) #52.INRDY, (R1) #52.0UTRDY, (R1) CLR MOV MOV MOV JSR RO #T17BFR,R1 #T17EXP,R2 #20.,R3 PC,CKMSG2 BCS 2808 ERRHRD ERRNO,T174(CMP MSGSTAT BIS 0000 011500 FORCERROR 103404 272%: 104456 001201 047407 012350 280$: 104406 #52.DIM, (RT) 272% ,NOTSSR NEXT.ERRNO SEQ@ 0202 sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV TEMP sSET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 0 sSET EXP DATA IN MISS = 1 sHIGH RECV ADDRESS FOR (KMSG2 :LOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS sNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;aaD :BR IF YES JREPORT ERROR 017202 TRAP cscLr ;LOOP ON ERROR, IF FLAG SET ENDSUB s/1171717777/77 END SUBTEST /77711117 TST : 3008 CSERHRD 641 T174CHP MSGSTAT CkLOOP L10063: 104403 002222 -WORD .WORD .WORD TRAP BEQ JSR FATFLG 3008 PC,CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT TRAP CSESUB TSVS = HARDWARE TESTS TEST 6: SUBTEST 6: MACRO M1113 25-MAY-82 09:19 FIFO VERIFY RESET FIFO TEST 3188 6: SUBTEST 6: FIFO Verify Reset FIFO Test : SUBTEST DESCRIPTION: This subtest verifies that the Reset FIFO function within the Write Miscellaneous Control 1 function initializes the FIFO to correct intial status. The following steps are performed: ! 1. Reset an already initialized FIFO and check for 2. roper status. Write a varying number of bytes (1-65.) into the FIFO and verifl that after each block of bytes is u:i:ten the FIFO can be be reset to it's initial state. TEST STEPS: WN - o BEGIN Write to TSSR to soft initialize Do @ WRITE CHARACTERISTICS to setup a message NO WV buiier Do a Write Subsystem Write Misc to Reset FIFJ Do a Write Subsystem READ STATUS If all Tape Status 2 (ICER,IFMK,IHER) flip=-flop signals NOT=0 Then Print Error Do a Write Subsystem WRITE NPR to set tape direction out REPEAT FOR BYTE COUNT 1 TO 6S. OV BEGIN Do Do Do If 5 V=N RRRR RRRRRR\RR a Write Subsystem WRITE FIFC with the current byte count a Write Subsystem Write Misc to Reset FIFO ' a Write Subsystem READ STATUS ‘ all Tape Status 2 (ICER,IFMK,IHER, flip~-flop signals NOT=0 Then Print Error BGNSUB 111140000000 se%ubswtsst 1111111111 TRAP gs O guoaaeen 5276 JSR BCS MOV ERRDF 2 f0s: ($8SUB Write to TSSR register to soft initialize the controller PC,SOFINIT 10§ RO,R1 ERRNO, SFIERR, SF IMSG ;WRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY :SAVE CONTENTS OF TSSR :DEVICE FATAL DURING INIT TRAP MO N R RN o 2 RRKKIKS TEST SEQ 0203 144 3226 045274 045274 045274 RRORRKS SEIFGR - : TEST 6: SUBTEST 6: [(=]=d=1~1~] NOAWVS W w o RO ORISR i e KKK 29SSS RYRAREN2S ® SBTTL PAGE 110 Do @ WRITE CHARACTERISTICS to setup a -osszfe buffer CLR MOV JSR FATFLG #T17PACKET,R4 PC,WRTCHR FORCERROR 42% :CLEAR FATAL WORD .WORD .WORD CSERDF 641 SFIERR SFIMSG ERROR FLAG :GET THE ADDRESS OF COMMAND PACKET ;D0 WRITE CHARACTERISTICS COMMAND :@3DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 6: FIFO VERIFY RESET FIFO TEST 3239 045346 3240 045350 3241 045352 3242 0465352 045352 045354 045356 045360 3243 045362 3244 045366 366 3245 42%: PA’'E 110-1 J 16 SEQ 0204 B8CS S.b :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T17SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET MOV Ry,« NEXT.ERRNO TRAP WORD .WORD 002222 S0$: 050004 050350 000000 016336 62%: INC CKLOOP FATFLG sSET FATAL ERROR FLAG .WORD TRAP cscLP Do a Write Subsgstel Write Misc to Reset FIFO JSR PC.T17RSFIF sSETUP PKT FOR WRITE MISC RESET FIFO MOV #Ti7PK2.RG sGET WRITE SUBSYSTEM COMMAND PACKET MOV R4, TSDB(RS) sSET _THE PACKET ADDRESS TO EXECUTE JSR PC,CHKTSSR sWAIT FOR_SSR TO SET FORCERROR 62% ;@3DFORCE ERROR IF FORCER=1 BCS 70$ sBR IF CARRY SET (GOOD RETURN) MOV RO.R1 :SAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T172SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET .WORD CSERDF 64 3 T172SSR PKTSSR TRAP cscLPm WORD 3255 045440 3256 045444 ” 045444 .WORD 002222 708: PKTSSR :LOOP ON ERROR, IF FLAG SET TRAP 045436 CSERDF 642 T17SSR INC CKLOOP FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET Do a Write Subsystem READ STATUS If all Tape Status 2 (ICER,IFMK, IHER) flip=-flop signals NOT=0 Then Print Error JSR PC,T17SRD sSETUP PACKET FOR REAv STATUS MOV MOV JSR #Ti7PK2.R4 Ré,TSDB(RS) PC.CHKTSSR FORCERROR NININ) = b = 2\’!\0655 R R KRS 33 CONOWVISWN NNNNNNN Ng 77%: 002222 80$: 050146 046402 050242 002000 001000 000400 000002 sDEVICE FATAL SSR FA!LEDtTO SET ¢ RAP SERDF WORD WORD .WORD 644 T173SSR PKTSSR TRAP CSCLP INC CKLOOP FATFLG sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET JSR PC,T17SETEXP sSET WORDS 0-7 EXPD=RECV (NOT TESTING) sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD ICER =0 sSET EXPD IFMK =0 sSET EXPD IMER <SET EXPD WORD #9 = RECV (NOT TESTING) sHIGH RECV ADDRESS FOR CKMSG2 MOV 000002 778 BCS 80s MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T173SSR,PKTSSR <GET WRITE SUBSYSTEM COMMAND PACKET sSET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;83DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR MOV MOV BIC BIC BIC MOV CLR #TI7EXSTA,R1 #T17BFSTA.R2 (R2), (R1) #51.ICER, (R1) #S1.1FMK. (R1) #51. IHER, (R1) 2(R2) ,2(R1) RO TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST : FIFO VERIFY RESET FIFO TEST 81 045566 701 a6s6s MOV MOV 000024 011500 3285 045606 3286 045616 3287 045620 3288 MOV JSR 92%: 012350 1008: 104406 sBR IF YES ERRHRD sREPORT ERROR NEXT.ERRNO ERRNO,T177CMP ,MSGSTAT :EXPD EQUAL RECV? ;aab TRAP LWORD .WORD WORD :LOOP ON ERROR, IF FLAG SET CKLOOP MOV TRAP ATI7PKZ,ne R&,TSDB(RS) PC.CHKTSSR FORCERROR 1208: CSERHRD 645 T177CMP MSGSTAT CSCLP1 1128 BCS MOV 1208 RO,R1 ERRDF ERRNO, T174SSR,PKTSSR NEXT . ERRNO INC CKLOOP FATFLG sGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;83DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD WORD .WORD 646 T174SSR PKTSSR TRAP CSCLP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET :8sup incrementing pattern in FIFQ data buffer #T17EXSTA,R] sEXPD WRITE FIFO DATA BUFFER MOV #64. .R2 :TEST PATTERN SIZE 046402 000100 1308: 002310 < 8 sLOW RECV ADDRESS FOR CKMSG2 <EXPD ADDRESS :NUMBER OF BYTES TO COMPARE #20. .R PC,CKM $G2 FORCERROR 92% ,NOTSSR BCS 00s MOV JSR _ 002222 —2 =B #T17BFR,R1 #T17EXP,R2 SEQ 0205 MOV 1128: 3312 045734 3313 3314 3315 045736 3316 3317 045744 3318 045744 3319 045750 3320 045754 3321 045760 3322 045764 3323 045770 3324 045774 3325 046010 3326 046012 3327 046014 K1 Do a Wite Subsystem WRITE NPR to set t direction out OUT RO NP.OUT, sSET TAPE DIRECTION OUT JSR PC.T17SNPR sSETUP T17PK2 FOR WRITE NPR 000100 050026 050350 000000 016336 045704 3302 045706 3303 045712 045712 PAGE 110-2 : CLR MOove INC DEC BGT RO RO, (R1)+ RO R2 1308 s INCREMENT TEST PATTERN sSTORE INCREMENT TEST BYTE SELENEXT PATTERN :BR IF NO REPEAT FOR BYTE COUNT 1 TO 65. 150s: MoV OUNT sGET FIRST BYTE COUNT Do a Urtte Subsystem WRITE FIFO with the current byte count MOV MOV JSR MoV COUNT RO #T17EXSTA,R1 PC,T17WFIF #T17Pk2,.R4 R4, TSDB(RS) MOV PC.CHKTSSR JSR FORCERROR 152¢ 1608 BCS RO.R1 NEXT ERRNO sREPEAT LOOP LABEL sFIFO BYTE COUNT :FIFO WRITE DATA ADDRESS :SETUP T17PK2 FOR WRITE FIFO :GET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE WAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR TSVS = HARDWARE TESTS TEST 6: L 16 MACRO M1113 25-MAY-82 09:19 PAGE 110-3 SUBTEST 6: FIFO VERIFY RESET FIFO TEST 3328 046014 046014 1528: ERRDF ERRNO,T175SSR,PKTSSR SEQ@ 0206 sDEVICE FATAL SSR FAILED TO SET CSERDF 647 T175SSR 002222 1608: INC CKLOOP FATFLG PKTSSR sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG cscLP Do a Write Subsystem Write Misc to Reset FIFO JSR PC,T17RSFIF sSETUP PKT FOR WRITE MISC RESET FIFO MOV MOV oti?sz R4 R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 1628 1628%: 3343 046106 002222 1708: 046164 3359 046166 3360 046172 3361 046176 3362 046202 3363 046204 3364 046210 3365 046214 3366 046220 3367 046226 3368 046230 3369 046234 :BR IF CARRY SET (GOOD RETURN) BCS MOV 170 RO,R1 sSAVE CONTENTS OF TSSR ERRDF ERRNO,T172SSR.PKTSSR sDEVICE FATAL SSR FAILED TO SET INC FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET NEXT.ERRNO CKLOOP MOV ori7Px2u4 MOV R&, TSDB(RS) JSR PC.CHKTSSR FORCERROR 1778 177%: 046156 sWAIT FOR SSR TO SET +s@3DFORCE ERROR IF FORCER=1 TRAP .WORD .WORD «WORD CSERDF 648 T172SSR TRAP cscLP1 PKTSSR Do a Write Subsystem READ STATUS If all Tape Status 2 (ICER,IFMK, IHER) flip=-flop signals NOT=0 Then Print Error JSR PC.T17SRD sSETUP PACKET FOR READ STATUS 3348 046110 3349 046114 3350 046120 §§57 046160 58 046164 JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE BCS 1808 MOV RO,R1 NEXT.ERRNO | ERRDF ERRNO,T173SSR,PKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE <WAIT FOR SSR TO SET ;33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD .WORD 002222 1808%: 050146 046402 050242 002000 001000 000400 000002 050225 04636 INC CKLOOP FATFLG sSET FATAL ERROR FLAG JSR PC,T17SETEXP :SET :GET :GET sSET :SET MOV 000002 MOV MOV BIC BIC BIC MOV CLR MOV MOV #TI7EXSTA,RY #T178FSTA.R2 (R2), (R1) #51. ICER, (R1) #S1.1FMK. (R1) #51. IHER. (R1) 2(R2),2(R1) RO #T17BFR,R1 #T17EXP.R2 WORD CSERDF 64 9 T173SSR PKTSSR :LOOP ON ERROR, IF FLAG SEY CSCLP WORDS 0-7 EXPD=RECV (NOT TESTING) EXPECTED READ STATUS RECV READ STATUS EXPD WORD 08 RECV TEMP EXPD ICER 3 :SET EXPD IFMK sSET EXPD IHER sSET EXPD WORD #9 = RECV (NOT TESTING) :HIGH RECV ADDRESS FOR CKMSG2 :LOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS iSV5 = WARDWARE TESTS TEST 3370 046240 3371 046244 3372 046250 3373 046260 3374 046262 3375 046265 046262 046264 046266 046270 3376 V46272 046272 3377 3378 3379 046274 3380 046274 3381 046304 3382 046310 3383 046316 3384 046320 gggg 046324 . MACRO M1113 25-MAY-82 09:19 6: SUBTEST 6: FIFO VERIFY RESET FIFO TEST 012703 004737 000024 011500 103404 1928: 104456 001212 047654 012350 2008: 104406 2508: 005237 002310 023727 101002 000137 002310 { 045744 3387 046324 046324 - 046324 104403 3389 046326 005737 002222 - 3391 046334 3392 046340 004737 004737 017202 016456 3394 046346 000137 040404 3397 046352 046352 046354 104432 002112 3390 046332 3393 046344 gggg 046352 001402 103002 000101 _ MOV #20. ,R3 JSR PC, CKMSG2 FORCERROR 1928,NOTSSR BCS 2008 NEXT.ERRNO ERRHRD ERRNO,T177CMP,MSGSTAT CKLOOP FORCEXIT INC COUNT CMP 2608 : PAGE 110-4 BHI JMP 2608 COUNT, #65. 2608 1508 ENDSUB ! A 3058 : :NUMBER OF BYTES TO COMPARE :EXPD EQUAL FECV? aaD .aa IF YES :REPORT ERROR TRAP .WORD .WORD .WORD sLOOP ON ERROR, IF FLAG SET TRAP CSERHRD 650 T177CMP MSGSTAT CSCLP1 :GET NEXT BYTE COUNT ooue ALL BYTES? R IF YES DO ANOTHER BYTE COUNT /11777777777 END SUBTESTY /777717717 L10064: TRAP CSESUB TST FATFLG JANY FATAL ERRORS ? JSR JSR PC,CKDROP PC.TSTLOOP JTRY TO DROP THE UNIT :DO ITERATIONS? JMP T17L00P :LOOP UNTIL ITERATIONS DONE TST /1171177777 EXIY YESY /2777771717 TRAP CSEXIT .WORD L10056~. BEQ 3008: SEQ 0207 BCC EXIT 3008 305$ *BRANCH IF NOT :BR IF NO TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 6: FIFO VERIFY RESET FIFO TEST 3401 PAGE 111 i 3282 sLOCAL STORAGE FOR THIS TEST 3404 3405 %2%9 046356 T17MSK : 3408 046356 3409 046357 3410 046360 gz}g 046361 3413 046362 3414 046362 3415 046364 3416 045 3417 046370 3418 046372 3419 046374 3420 046376 3421 046400 3422 046402 gzgz 046504 377 037 360 000 T17EXP: 000000 000000 000000 000000 000000 000000 000000 000020 3432 046625 3433 046662 3434 046726 3435 046773 3436 047036 3437 047102 3438 047145 3439 047227 3440 047323 3441 047407 3442 047472 3443 047546 3444 047654 3445 3446 3447 gzzg 3450 047740 3451 047740 3452 047744 3453 047750 3454 047754 3455 047756 3456 047760 3457 047762 .BYTE BYTE BYTE BYTE “(<000> ~(<340> *“(<017> 0 WORD WORD WORD WORD WORD 0 O O 0 O MWORD 3425 046504 3426 3427 3428 3¢50 3431 046606 SEQ 0208 0 sMASK OF UNTESTED BITS IN READ STATUS BYTES JUNTESTED BITS ARE SET TO 1 sBYTE 0 MASK sBYTE 1 MASK (PARERR,IRESVZ2,IRESV1) s8YTE 2 (TIMER A,TIMER B,UNDEF INED<1:0>) sMAKE IT EVEN sBEGIN EXPECTED DATA BUFFER sMESSAGE TYPE sDATA FIELD LENGTH sRBPCR WORD 0 WORD 0 TI17EXSTA: .BLKB 66. T17EXEND : IXST3 T17WFDATA: .BLKB 66. sWRITE FIFO EXPECTED DATA BUFFER sXST4& (ALWAYS PRESENT FOR WRITE SuB.) sEXPECTED READ STATUS AND WRITE FIFO DATA JEND EXPECTED DATA BUFFER ;e sLOCAL TEXT MESSAGES FOR TEST 106 127 127 127 127 127 127 106 122 106 106 122 106 106 mm 122 122 122 122 122 122 MM 145 MM mm 145 11 m 106 111 111 111 111 111 111 106 141 106 106 141 106 106 3 TST171D: T17SSR: .ASCI2Z T172SSR:.ASCIZ T173SSR:.ASCI2Z T174SSR:.ASCIZ T175SSR:.ASCI2Z T176SSR:.ASCIZ T171CMP:.ASCIZ T172CMP:.ASCIZ T173CMP:.ASCIZ T174CMP:.ASCIZ T175CMP:.ASCI2 Be T176CMP:.ASC IZ T177CMP: .ASCIZ .EVEN LASCIZ °'FIFO Exerciser' 'WRITE CHARACTERISTICS Failed' 'WRITE SUBSYSTEM (Write Misc) Failed’ 'WRITE SUBSYSTEM (Read Status) Failed' 'WRITE SUBSYSTEM (Write Npr) Failed' 'WRITE SUBSYSTEM (Write FIFO) Failed® 'WRITE SUBSYSTEM (Read FIFO) Failed® e 'FIFO Status in WORD #9 Incorrect after Initialize® 'Read FIFO Data not equal to Write FIFO , Data is in WORD #8° 'FIFO Status (In WORD #9) Incorrect after WRITE FIFO® 'FIFO Status (In WORD #9) Incorrect after READ FIFO' 'Read FIFO Data not equal to Write FIFO Data’ 'FIFO Status (In WORD #9) Incorrect after READ FIFO from an Empty FIFO* ‘FIFO Status (In WORD #9) Incorrect after RESET FIFO® 34 s CLEAR MESSAGE BUFFER 012701 012702 105021 005302 003375 000207 050222 000120 T17CLRBUF: SAVREG MOV MOV 108: CLRB DEC BGT RTS #T17BFR,R1 #T17BEND-T178BFR,R2 (R1)+ R2 108 PC sSAVE R1=R5 UNTIL NEXT RETURN sGET MESSAGE BUFFER ADDRESS sSIZE OF MESSAGE BUFFER IN BYTES sCLEAR A BYTE sDONE? :BR_IF NO sRETURN TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 6: SUBTEST 6: FIFO VERIFY RESET FIFO TEST 3458 3459 0 SEQ 0209 i %22? 3462 3463 PAGE 111-1 : SETUP T17PK2 PACKET FOR READ STATUS 047764 047764 3464 047770 3465 0477764 3466 05 3467 050002 3468 3469 %2;? 3472 050004 3473 050004 3474 050010 3475 050014 3476 050020 3477 050024 3478 3479 004737 047740 112720 105010 000207 000005 012700 T17SRD: 050360 JSR MOV MOVB CLRB RTS PC,T17CLRBUF ;CLEAR MESSAGE BUFFER #PW.RDSTATUS, (RO) + (RO) PC ;STORE READ STATUS COMMAND IN BSELO :CLEAR BSEL1 sRETURN #T17D72,R0 3¢ : SETUP T17PK2 PACKET FOR WRITE MISC RESET FIFO 004737 012700 112720 112710 000207 047740 050360 000010 000030 T17RSFIF: JSR MOV MOVB MOVB RTS PC,T17CLRBUF #T17DT2,R0 #PW.WMISC, (RO)+ #MS.RSFIF!MS.RSTAP, (R0O) PC : SETUP T17PK2 PACKET FOR WRITE NPR 3482 : gzgg : gzgz 3 004737 012701 112721 052700 110011 000207 047740 050360 000011 000020 INPUT: T17SNPR: RO CONTAINS BSEL1 NPR DATA SETS NP.WRP SINCE IF O IT WRITES WRONG PARITY. JSR MOV MOVB BIS MOVB RTS PC,T17CLRBUF #T17072,R1 #PW.WNPR, (R1)+ #NP.WRP,RO RO, (R1) PC 3495 gzgg 4 : SETUP T17PK2 PACKET FOR WRITE FIFO 3498 3499 : INPUT: : RO CONTAINS BYTE COUNT 3502 05005 3503 050052 3504 050056 T17WFIF: §§8? 3 004737 3505 050062 012702 3508 050074 005022 3506 05 3507 050072 3509 050076 3510 050100 3511 050102 gg}g 050104 3514 ;CLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER sSTORE WRITE MISCELLANEOUS IN BSELO :STORE BSEL1 CLEAR FIFO CODES sRETURN i+ gzg? 3487 050026 3488 050026 3489 050032 3490 050036 3491 050042 3492 050046 3493 050050 3494 ;WRITE SUBSYSTEM DATA BUFFER 112722 110022 112122 005300 003375 000207 047740 050360 R1 CONTAINS DATA PATTERN BLOCK ADDRESS SAVREG JSR MOV 000004 MOVB MOVB 108: i ;CLEAR MESSAGE BUFFER ;WRITE SUBSYSTEM DATA BUFFER ;STORE WRITE NPR IN BSELO ;DON'T WRITE WRONG PARITY :STORE NPR DATA IN BSEL1 :RETURN CLR MOVB DEC BGT RTS PC,T17CLRBUF :SAVE R1=RS UNTIL NEXT RETURN sCLEAR MESSAGE BUFFER #T17072,R2 JWRITE SUBSYSTEM DATA BUFFER (R2)+ :CLEAR SEL2 (UNUSED) #PW.WFIFOD, (R2)+ RO, (R2)+ (R1)+,(R2)+ RO 108 PC :STORE WRITE FIFO IN BSELO sSTORE BYTE COUNT IN BSEL1 :STORE DATA PATTERN BYTE :DONE ALL BYTES? :BR IF NO :RETURN TSVS = HARDWARE TESTS TEST 25-MAY-82 09:19 PAGE 111-2 E SEQ@ 0210 %o 0o we ; SETUP T17PK2 PACKET FOR READ FIFO INPUT "RO CONTAINS SEL2 BYTE COUNT —f®e W= O 0® o viviviviviv i v 6: SUBTEST 6: FIFO VERIFY RESET FIFO TEST — RORORIN) = — —s W MACRO M1113 004737 012701 112721 110021 047740 050260 000003 17RFIF: JSR MOV MOVB MOvB RTS 000207 i+ PC,T17CLRBUF #Ti7D12,R1 #PW.RFIFO,(R1)+ RO, (R1)+ Pr sCLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER sSTORE READ FIFO IN BSELO sSTORE BYTE COUNT IN BSEL1 sRETURN ¢ CLEAR EXPECTED DATA MESSAGE BUFFER T17CLEXP: Mov 108: MOV CLRB DEC BGT RTS #T17EXP,R1 #T17EXEND=T17EXP,RO 1)+ D~ 046362 000122 oD 012701 012700 105021 005300 003375 000207 108 PC :GET EXPD ADDRESS <GET EXPD SIZE sCLEAR A BYTE sDONE? sBR _IF NO sRETURN F£ 3 3540 050146 3541 050146 3542 050152 3543 050156 3544 050162 3545 050164 3546 050166 3547 050170 3548 :Set WORDS 0-7 of expd message buffer = to recv since not testing 012702 046362 050222 000010 T17SETEXP: 5%: MOV MOV MOV #T17EXP,R2 #T17BFR,R3 #8..RO DEC RO RTS PC MOV BGT 050200 (R3)+,(R2)+ 5% JGET EXPD JGET READ STATUS RECV BUFFER ;SET WORDS 0-7 EXP=RECV sSET EXPD=RCCV ;DONE WORDS 0-7 WORDS? :BR IF NO JRETURN =<, +10>8177770 ‘WRITE CHARACTERISTICS COMMAND PACKET 3555 050200 3556 050200 3557 050202 3558 050204 3559 050206 3560 3561 050210 3562 050210 3563 050212 3564 050214 3565 050216 3566 050220 3567 3 3571 050222 3572 050222 3573 050224 100004 050210 000000 000012 050222 T17PACKET: «WORD -WORD -WORD -WORD T17DATA: - WORD «WORD .WORD .WORD .WORD 1 00004 s COMMAND PACKET FOR TEST SWRITE CHARACTERISTICS COMMAND, WITH ACK sADDRESS OF CHARACTERISTICS BLOCK T 17DATA 0 10. sMINIMUM MESSAGE PACKET SIZE T17BFR sCHARACTERISTICS DATA BLOCK ;ADDRESS OF MESSAGE BUFFER 0 20. 0 0 ;LENGTH OF MESSAGE BUFFER :ESS,ENB,EAI ERI :EXTENDED FEATURES UNIT NO. El.. sMESSAGE BUFFER FOR ALL TEST 6 COMMANDS 000000 000000 T178FR: «WORD .WORD 0 0 sBEGIN MESSAGE BUFFER sMESSAGE TYPE sDATA FIELD LENGTH TEST 6: MACRO M1113 25-MAY-82 09:19 SUBTEST 6: FIFO VERIFY RESET FIFO TEST 3574 050226 3575 050230 3576 050232 3577 050234 3578 050236 3579 050240 3580 050242 ggg} 050342 000000 000000 000000 000000 000000 000000 gggz 3586 3588 050350 3589 050350 3590 050352 3591 050354 %ggg 050356 3594 050360 3595 050360 3596 050361 3597 050362 gggg 050364 3600 050466 050466 050466 3601 PAGE 111-3 F WORD 0 WORD 0 WORD 0 WORD 0 WORD 0 WORD 0 T17BFSTA: .BLKB 64. T17BEND: SEQ@ 0211 sRBPCR ;XSTO sXST1 sXST2 ;XST3 sXST4 (ALWAYS PRESENT FOR WRITE SUBSYSTEM sREAD STATUS AND WRITE FIFO BUFFER sEND OF MESSAGE BUFFER sWRITE SUBSYSTEM READ STATUS COMMAND PACKET 050350 100006 050360 000000 000012 000 000 000000 T17Pk2: =<, +10>8177770 .WORD .WORD WORD .WORD T17DT2: .BYTE .BYTE WORD .BLKB ENDTST 104401 P.WRTSUB!P.ACK T17DT2 sWRITE SUBSYSTEM WITH ACK sLOW ADDRESS OF DATA BLOCK 0 10. sMINIMUM MESSAGE PACKET SIZE sHIGH ADDRESS OF DATA BLOCK 0 0 O 66. :DATA BLOCK sBSELO sBSEL1 :SEL2 sWRITE FIFO DATA OUTPUT BUFFER L10056: TRAP CSETST —d TSVS = HARDWARE TESTS TSVS = HARDWARE TESTS MACRO M1113 25-MAY=-82 09:19 STATIC TRANSPORT BUS INTERFACE 1EST SRR TEST 3603 04 REPEAT FOR LOOPCNT : : 3 : : : . gg}g 3631 050506 3632 3633 050506 3634 050506 3635 050512 3636 050514 3637 050516 050516 050520 050522 3638 050524 3639 3640 050526 3641 050532 3642 050536 3643 050542 3644 050556 3645 050560 3646 050562 3647 050562 050562 050564 050566 050570 3648 050572 3649 050576 3650 050576 3651 3652 365 050600 7: STATIC TRANSPORT BUS INTERFACE TEST TEST STEPS: 3613 3614 3615 3616 3617 3630 050500 TEST SEQ@ 0212 : TEST DESCRIPTION: 3612 3621 3622 3623 050470 050470 3628 050470 3629 050474 «SBTTL i+ PAGE 112 BEGIN Write to TSSR register to soft initialize the controller Do WRITE CHARACTERISTICS to check for Extended Features Switch If Extended Features Hardware Switch Clear then: Do Write Subs¥sten Write Miscellaneous to Set Extended Features. Do WRITE CHARACTERISTICS to select reserved unit 7 Do a Write Subsystem READ STATUS éfoany transport interface signals are asserted then Print Error BGNTST 012700 004737 051176 016510 012737 000012 004737 103405 010001 015774 002216 MOV JSR 002222 051660 010662 §s: 2 108: 103407 010001 104455 001275 051235 012046 005237 12%: 002222 104406 012701 051702 T7:: sASCII MESSAGE TO IDENTIFY TEST :DO INITIAL TEST SETUP MOV 016..LO0PCN7 JPERFORM 10 ITERATIONS JSR BCS MOV ERRDF PC,SOFINIT 108 RO.R1 ERRNO,SFIERR,SFIMSG SWRITE TO TSSR TO SOFT INITIALIZE :BR IF SOFT INIT OKAY sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP CSERDF .WORD 700 .WORD SFIERR .WORD SFIMSG T18LOOP: . 2 Write to TSSR register to soft initialize the controller 104455 001274 003652 012034 005037 012704 004737 #TST18ID,RO PC,TSTSETUP 15%: Do URIIE CHARACTER!STICS to check for Extended Features Switch CLR TFLG sCLEAR FATAL ERROR FLAG MOV lT189ACKET R4 GET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR ;D0 WRITE CHARACTERISTICS COMMAND FORCERROR 12% :@aDFORCE ERROR IF FORCER=1 BCS 15% sBR IF CARRY SET (GOOD RETURN) MOV RO.R1 sSAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T18SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 701 .WORD T18SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP sLOOP ON ERROR, IF FLAG SET TRAP cscLP If Extended Features Hardware Switch Clear then: Do Write Subsysten Write Miscellaneous to Set Extended Features. MOV #T18BFR, JMESSAGE BUFFER ADDRESS TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 7: STATIC TRANSPORT BUS INTERFACE TEST 3654 050604 3655 050612 3656 050614 032761 001026 004737 051526 3659 050630 0506 3661 050650 3662 050652 3663 050654 050654 050654 050656 050660 050662 3665 050664 3666 050670 050670 004737 016336 3657 050620 3658 050624 3669 3670 050672 3671 050676 3672 050702 3673 050706 3674 050722 3675 050724 3676 050726 3677 050726 050726 050730 050732 050734 3678 050736 3679 050742 050742 3681 3682 050744 3683 050750 012704 010465 000200 BIT BNE JSR 051730 000000 MOV MOV 103407 010001 104455 001276 051272 012046 005237 22%: 002222 104406 005037 012704 004737 002222 051660 010662 308: 3 104455 001277 051235 012046 005237 002222 104406 012701 013700 051702 051674 004737 0515 3690 050772 3691 050776 010465 004737 000000 016336 105021 005300 003375 3689 050766 012704 051730 0x2 EXTF ,XST2(R1) 308 PC,T18SMISC 0718PK2 R4 R&,TSDB(RS) JSR PC,CHKTSSR FORCERROR 22% BCS 308 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T182SSR,PKTSSR INC CkLOOP FATFLG 50$: INC CKLOOP H 60$: 3 FATFLG Clear message buffer MOV #T1 FR R1 MOV TIBDATA*L RO *GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) ;SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 702 .WORD T182SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP CSCLP MOV lTiBPK2 R4 :@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) ;SAVE CONTENTS OF TSSR ! ; » ! 1 : R4, TSDB(RS) PC.CHKTSSR FORCERROR 62% BCS 708 MOV RO,.R1 NEXT.ERRNO ERRDF ERRNO,T183SSR,PKTSSR 1 | sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 703 .WORD T18SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP CSCLP1 sGET MESSAGE BUFFER ADDRESS sSIZE OF MESSAGE BUFFER IN BYTES CLRB (R1)+ sCLEAR A BYTE DEC RO :DONE? BGT 60% R IF NO Do a Ur1te Subs‘sten READ STAtUS JSR sSETUP PACKET FOR READ STATUS MOV JSR 62%: EXTENDED FEATURES SWITCH SET? ;BR IF YES SETUP PACKET FOR WRITE MISCELLANEOUS Do WRITE CHARACTERISTICS to select reserved unit 7 CLR FATFLG sCLEAR FATAL ERROR FLAG MOV #T18PACKET R4 sGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR :D0 WRITE CHARACTERISTICS COMMAND 42%: 103407 010001 104455 001300 051336 012046 SEQ 0213 FORCERROR 428 BCS 508 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T18SSR,PKTSSR 103407 010001 3684 050754 3685 050756 3686 050760 3687 3688 050762 3692 051002 3693 051016 3694 051020 3695 051022 3696 051022 051022 051024 051026 051030 000012 PAGE 112-1 :GET WRITE SUBSYSTEM (OMMAND PACKET :SET THE PACKET ADDRESS TO SXECUTE *WAIT FOR SSR TO SET ;@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 704 .WORD T183SSR .WORD PKTSSR 7 . | - | | TSVS = WARDWARE TESTS MACRO M1113 25-MAY=82 09:19 ' TEST 7: STATIC TRANSPORT BUS INTERFALL TEST § i ! 3697 051032 005237 002222 3698 051036 051036 . 104406 3701 3702 3703 051040 004737 3705 051044 3706 051046 3707 051052 3708 051056 3709 051062 005000 012701 012702 012703 004737 3711 051076 3712 051100 3713 051100 051100 051102 051104 051106 3714 051110 103404 3704 710 051066 051550 104456 001301 051403 012350 104406 3716 051112 3717 051116 3718 051120 3719 051126 005737 001402 004737 004737 002222 3721 051132 3722 051136 3723 051136 051136 051140 000137 050506 103002 104432 000606 : ‘3 3 051702 051146 000012 011500 TM 051110 3720 05113C 708: 917202 016456 INC CKLOOP PAGE 112-2 1 FATFLG sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP If any transport interface slgnals are asserted then Print Error CLR MoV MOV MOV JSR RO #T18BFR,R1 #T18EXP,R2 #10. ,R3 PC,CKMSG2 828 ,NOTSSR 82%: BCS 90 NEXT.ERRNO ERRHRD ERRNO,T18CMP,MSGSTAT 90%: CKLOOP 165$: cscLP Set first 8 words of expd message buffer = to recv since not testing Set unused bits in Read Status expd egual rcvd JSR PC,T18SETEXP _ ;SET SOME EXPD TO RECV FORCERROR 1608: SEQ 0214 sHIGH RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS ;sNUMBER OF WORDS TO COMPARE ;EXPD EQUAL RECV? saaD sBR IF YES sREPORT ERROR _ TRAP WORD .WORD .WORD sLOOP ON ERROR, IF FLAG SET TRAP TST BEQ JSR JSR FATFLG 1608 PC.CKDROP PC,TSTLOOP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT ;DO ITERATIONS? JMP T18LOOP sLOOP UNTIL ITERATIONS DONE EXIT TST BCC 1658 CSERHRD 705 TI18CMP MSGSTAT csScLP1 :BR IF NO TRAP WORD CSEXIT L10065~-. - | | TSVS = HARDWARE TESTS | TEST MACRO M1113 25-MAY-82 09:19 7: STATIC TRANSPORT BUS INTERFACE TEST PAGE 113 SEQ 0215 ¢ 377 000000 020 T18xS: .BYTE .WORD 77,020 JBYTE 0 MASK :BYTE 1 :BYTE 2 sMAKE IT EVEN sEXPECTED DATA BUFFER sMESSAGE TYPE :DATGRFIELD LENG sXSTO . N .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD sMASK OF UNUSED BITS IN READ STATUS BYTES w —_ T18EXP: 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 “C<340> AC277> 0 OO0O0O0O0O0O0O00O .BYTE .BYTE ~4C<000> Po 100 000 .BYTE .BYTE ;XST3 - T18MSK: 377 037 OW IS W S NOONOY e b Vi o o e o D - e b b o b d o D d o D cd o e o 3735 0 3 D === YN | WNW i WN—=O sLOCAL STORAGE FOR THIS TEST sXST4 (ALWAYS PRESENT FOR WRITE SuB) sREAD STATUS BYTE 1/0 sREAD STATUS BYTE 2 sREAD STATUS BYTE 0/1 EXPECTED BASE sREAD STATUS BYTE 2 EXPECTED BASE i sLOCAL TEXT MESSAGES FOR TEST 123 127 127 127 124 164 122 122 122 162 141 111 111 111 141 TST18ID: T18SSR: .ASCIZ T182SSR:.ASCIZ T183SSR:.ASCIZ T18CMP: .ASCIZ -EVEN .ASCIZ ‘Static TranspoBus rt Interface' 'WRITE CHARACTERISTICS Failed® 'WRITE SUBSYSTEM (Write Misc) Failed’ 'WRITE SUBSYSTEM (Read Status) Failed' 'Transport Bus Interface Signals NOT Negated After Unit 7 Selected’ o : SETUP T18PK2 PACKET FOR READ STATUS T18SRD: 012700 112720 105010 000207 051740 000005 SAVREG MoV MOVB CLRB RTS #T18DT2,RO #PW_RDSTATUS, (RO) + (RO) PC sSAVE R1-R5 UNTIL NEXT RETURN sWRITE SUBSYSTEM DATA BUFFER sSTORE READ STATUS COMMAND IN BSELO sCLEAR BSEL1 sRETURN i+ : SETUP T18PK2 PACKET FOR WRITE MISC. 3781 051546 3782 3783 012700 112720 112710 000207 051740 000010 000200 T18SMISC: SAVREG MoV MOVB MOvB RTS #T18DT2,RO #PW.WMISC, (RO) + g?S.EXT.(RO) sSAVE R1-R5 UNTIL NEXT RETURN sWRITE SUBSYSTEM DATA BUFFER sSTORE WRITE MISCELLANEOUS IN BSELO :gg?figulNVERT EXTENDED FEATURES IN BSEL1 —— ! | TSVS = HARDWARE TESTS 25-MAY=-82 09:19 7: STATIC TRANSPORT BUS INTERFACE TEST T18SETEXP: MOV MOV MOV 051146 5%: 000002 50 50 53 53 50 63 60 63 63 5 53 60 60 59 0 60 & 60 S - 3789 051554 g 000002 000002 000002 §3;33325688 000003 MOV DEC BGT . MOV MOV MOV MOV BIC BIC BIS MOV BIC BIC BIS CLRB CLRB RTS (R35+,(R2)+ RO 5§ #T18MSK,R1 T18XS, (R2) T18XS+2,2(R2) (R3),RO (R1) .RO RO, (R2) RO, (R2) 2(R3),RO 2(R1) RO RO,2(R2) RO.2(R2) 3(R2) 3(R3) PC sGET EXPD sGET READ STATUS RECV BUFFER sSET FIRST 8 WORDS EXP=RECV sSET_EXPD=RECV ;DONE FIRST 8 WORDS? :BR_IF NO sGET “UNUSED BIT MASK sSETUP BASE EXPECTED BYTE 1/0 sSETUP BASE EXPECTED BYTE 2 sGET RECV BYTE 1 AND BYTE 0 sCLEAR ALL BUT UNUSED sCLEAR UNUSED IN EXP sSET UNUSED EXPD=RECV FOR COMPARE sGET RECV BYTE 2 sCLEAR ALL BUT UNUSED sCLEAR UNUSED IN EXPD sSET UNUSED EXPD=RECV FOR COMPARE sCLEAR EXPD BYTE 3 (UNUSED) :gL;G:NRECV BYTE 3 (UNUSED) :WRITE CHARARTERISTICS COMMAND PACKET T18PACKET: -WORD -WORD .WORD -WORD T18DATA: .WORD .WORD .WORD 100004 5180ATA 10. T18BFR 0 20. 0 7 T18BFR: o #T1BEXP,R2 #T18BFR.R3 #8. RO .=<.+10>8177770 051702 000000 000024 000000 000007 BRRRR K SEQ 0216 -WORD .WORD -WORD -WORD «WORD -WORD -WORD .WORD el=lelelelelelelele 3788 051550 PAGE 113-1 ;Set first 8 words of expd message buffer = to recv since not testing : Set unused bits in Read tatus expd equal rcvd NN WO NN 3 3785 37 3787 051550 RrR2S2288222S | TEST MACRO M1113 s COMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH ACK ;ADDRESS OF CHARACTERISTICS BLOCK sMESSAGE PACKET MINIMUM SIZE sCHARACTERISTICS DATA BLOCK ;ADDRESS OF MESSAGE BUFFER sLENGTH OF MESSAGE BUFFER sESS ,ENB,EAI ,ERI sSELECT RESERVED UNIT 7 sMESSAGE BUFFER sMESSAGE TYPE sDATA FIELD LENGTH ; RBPCR JXSTO 2XST1 IXST IXST sXST4& (ALWAYS PRESENT FOR WRITE SUBSYSTEM JREAD STATUS BYTE 1/0 RETURNED JREAD STATUS BYTE 2 WRITE SUBSYSTEM READ STATUS COMMAND PACKET - TSVS =_HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 7: STATIC TRANSPORT BUS INTERFACE TEST 3844 3846 051730 3847 051730 3848 051732 3849 051734 3850 051736 3851 3852 051740 3853 051740 3854 051741 3855 051742 3856 051744 3857 3858 3859 051746 051746 051746 051730 100006 051740 000000 000010 T18PK2: T18DT2: 000 000000 000000 L SEQ 0217 =<, +10>8177770 .WORD .WORD MWORD .WORD P.WRTSUB!P.ACK T18DT2 O 8. BYTE .BYTE WORD .WORD 0 0 O O ENDTST 104401 PAGE 113-2 sWRITE SUBSYSTEM WITH ACK ;LOW ADDRESS OF DATA BLOCK sHIGH ADDRESS OF DATA BLOCK sBUFFER EXTENT sDATA BLOCK ;BSELO L10065: TRAP CSETST | | TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: TRANSPORT BUS INTERFACE LOOPBACK TEST 3861 s865 e B0 000000 009,90 %0999 %9988 0, i ' 386 1 3882 051750 051750 3887 051750 3888 051754 3889 051760 3890 051766 3891 ++ .SBTTL PAGE 114 TEST SEQ 0218 8: TRANSPORT BUS INTERFACE LOOPBACK TEST TEST DESCRIPTION: This test verifies the controller's Transport Bus drivers, receivers, and signal loopback logic. Note that the Static Transport Bus test must have run correctly for this test to provide meaningful results. TEST STEPS: REPEAT FOR LOOPCNT BEGIN Do Do Do ENDDo Subtest Subtest Subtest Subtest 1 2 3 & Loopback Control signals test = Loopback Read/Write signals test - Loopback Write Strobe test = Loopback Read Strobe test BGNTST 012700 004737 012737 060162 016510 000012 002216 " MOV #TST191D,RO ;ASCII MESSAGE TO IDENTIFY TEST il MOV #10. ,LOOPCNT :PERFORM 10 ITERATIONS JSR PC,TSTSETUP ;DO INITIAL TEST SETUP | | TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY=82 09:19 PAGE 115 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST %ggz .SBTTL TEST 3895 gggg 1ee ; TEST 8: SUBTEST 1: %ggg ; SUBTEST DESCRIPTION: 3900 3901 3902 3 3 : SEQ 0219 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST This subtest verifies the Transport Control loopback path can transmit and receive correctl{. he control signals are all loopback signals other gggz : 3382 s TEST STEPS: 3907 3908 3909 3 : 3 3912 3913 ; BEGIN 3 Write to TSSR register to soft initialize the controller s Do WRITE CHARACTERISTICS to check for Extended Features Switch 3 If Extended Features Hardware Switch Clear then: : Do Write Subs;sten Write Miscellaneous to Set Extended Features. : Do WRITE CHARACTERISTICS to select reserved unit 7 and setup BUFFER 3 Do a Write Subsystem WRITE NPR to set tape direction out and Loopback gg}? 3 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 gggg 3 : 3 H 3 3928 ¢ 3930 3931 3932 3933 3934 3935 3936 3937 3 2 3 : 3 3 : : : 3 3 3929 : 3535 -‘ 3940 8%};22 3941 051766 . (ISPEED,IRDY,IONL) are only tested in the low state. Do Write Subsystem Write Control to CLE loogback signals group 1. Do Write Subsystem Write Format to CLEAR loopback signals ?roup F (the loopback signals have to be cleared here due to the flip=-flops that are set on a 1 to 0 transition (IHER,IFMK,ICER)) Do a Write Subsystem Write Misc to Reset Tape Status F-FLOPS Do a Write Subsystem READ STATUS If all Tape Status 2 (ICER,IFMK,IHER) flip~flop signals NOT=0 Then Print Error REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE BEGIN ] : Do Write Subsystem Write Control to Drive loogback signals group 1. Do Write Subs‘sten Write Format to Drive loopback signals group 2. Do a Write Subsystem READ STATUS ; 1f loopback data NOT= data sent Then Print Error Do a Write Subsystem Write Misc to Reset Tape Status F-FLOPS Do a Write Subsystem READ STATUS ; If all Tape Status 2 (ICER,IFMK,IHER) flip=flop signals NOT=0 Then Print Error BGNSUB i BE%N1SWTEST 11111111117 TRAP : 3944 051770 004737 3946 051776 3947 052000 010001 3945 051774 The Loopback signals IFAD,ITADO,ITAD1 are the tape unit select lines. Since reserved unit 7 must remain selected these signals are always set low. This further means the signals they drive 104402 3942 3943 051770 than the read/write data (IW<7:0> and IR<7:0>). 103405 015774 5s: csBsus Write tc TSSR register to soft initialize the controller JSR PC,SOFINIT sWRITE TO TSSR TO SOFT INITIALIZE MOV ERRDF RO,R1 ERRNO,SFIERR,SF IMSG sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT B8CS 108 sBR IF SOFT INIT OKAY TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST TEST 104455 001440 003652 012034 %OS: 103407 010001 046 005237 12%: 002222 158: 104406 012701 36 40 42 L 46 52 52 062332 000200 000012 3978 052164 22%: 104406 308: 002222 062310 010662 103407 010001 42%: 104455 052216 3984 052220 3985 052224 052224 FATFLG MOV #T19BFR, BCS 002222 004737 INC CKLOOP 001443 060223 002222 #X2.EXTF ,XST2(R1) 308 PC,T19SEXT #T19PK2 R4 R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 22% 103407 010001 104455 001442 158 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T19SSR,PKTSSR BIf BNE JSR Mov MoV 016336 005037 012704 MOV #T19PACKET,R4 JSR PC,WRTCHR FORCERROR 12% CSERDF 800 SFIERR SFIMSG sCLEAR FATAL ERROR FLAG sGET THE ADDRESS OF COMMAND PACKET ;D0 WRITE CHARACTERISTICS COMMAND ;33DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP «WORD -WORD -WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET CSERDF 801 T19SSR PKTSSR TRAP CSCLPT If Extended Features Hardware Switch Clear then: Do Write Subsy;gem Write Miscellaneous to Set Extended Features. 062162 06 12 16 32 34 36 36 .WORD «WORD .WORD 2ERURITE CHAReCTERISTICS to check for Extended Features Switch 8CS 104455 052052 3957 052054 3958 052060 052060 3959 3960 3961 052062 SEQ 0220 TRAP 005037 2040 PAGE 115<1 508: 308 Mov RO.R1 NEXT.ERRNO ERRDF ERRNO, T192SSR,PKTSSR INC CKLOOP FATFLG sMESSAGE BUFFER ADDRESS EXYENDEgsFEATURES SWITCH SET? Y sBR IF sSETUP PACKET FOR WRITE MISC INVERT sGET WRITE SUBSYSTEM COMMAND PACKET :SET_THE PACKET ADDRESS 70 EXECUTE sWAIT FOR SSR TO SET ;33DFORCE. ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ;DEVICE FATAL SSR FAILED TO SET sSET FATAL ERROR FLAG TRAP «WORD -WORD «WORD :LOOP ON ERROR, IF FLAG ?E;P CSERDF 80 2 T192SSR PKTSSR cscLP Do WRITE CHARACTERISTICS to select reserved unit 7 FATFLG CLR sCLEAR FATAL ERROR FLAG MoV #T19PACKET R4 :GET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR :D0 WRITE CHARACTERISTICS COMMAND FORCERROR 42% :93DFORCE ERROR IF FORCER=1 BCS 508 :BR IF CARRY SET (GOOD RETURN) MOV RO,R1 :SAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T19SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF -WORD 803 T19SSR .WORD PKTSSR «WORD INC CKLOOP FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG ;sxp cscLP TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST 62%: 0 4017 052402 4018 0;2206 052406 4019 052410 4020 052412 4021 052416 70$: BCS 70$ ERRDF ERRNO,T194SSR,PKTSSR INC CKLOOP FATFLG MOV RO,R1 NEXT.ERRNO :GET WRITE SUBSYSTEM COMMAND PACKET :SET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR _SSR TO SET ;3aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP «WORD -WORD -WORD sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET CSERDF 8 04 T19453R PKTSSR TRAP cscLP1 Do Write Subsystem Write Control to CLEAR loo back signals group 1. (the loopbac V00200 010465 004737 MOV 0 016336 010001 82%: 005237 005000 004737 012704 002222 90$: 062142 R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 82¢ BCS 90$ MoV RO,R1 :SET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR _SSR TO SET ;@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOv RETURN) sSAVE CONTENTS OF TSSR ERRDF sDEVICE FATAL SSR FAILED TO SET NEXT.ERRNO ERRNO,T197SSR,PKTSSR INC CKLOOP FATFLG CLR JSR RO PC, T19WFMT MOV MOV #T19PK2, R4 R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 1028 102%: 060612 012046 due to the ?lip-flops signals have to be cleared here that ars set on a 1 to 0 transition (IHER,IFMK,ICER)) R SWRITE 0°'S BIC #JC. IFAD,RO s IFAD HUST ALWAYS =0 BIC #C.I10TAD,RO :ITADO MUST ALWAYS =0 BIC #JC.I1TAD.RO :ITAD1 MUST ALWAYS =0 JSR PC, T19WCTL :SETUP PACKET FOR WRITE CONTROL MOV #T19PK2, R4 :GET WRITE SUBSYSTEM COMMAND PACKET 016336 4028 052452 2452 052454 052456 052460 #119PK2, R4 R4, TSDB(RS) Do Write Subslsten Write Format to CLEAR loopgack signals 4001 4002 4003 4004 052314 4010 052342 4011 052346 4012 052352 4013 052366 4014 052370 4015 052372 4016 8523;2 MOV MOV JSR PC.CHKTSSR FORCERROR 62% 010001 002222 SEQ 0221 MOV 016336 005237 C Do a Write Subsystem WRITE NPR to set tape direction out and Loopback #NP.OUT,RO sSET TAPE DIRECTION OUT BIS #NP.LOOP,RO :SET LOOPBACK ENABLE JSR PC, TT9SNPR :SETUP T19PK2 FOR WRITE NPR 000100 0523 3998 052306 3999 052312 052312 PAGE 115-2 BCS 1108 MOV ao R1 NEXT.ERR ERRDF ERRNO T198SSR,PKTSSR TRAP -WORD «WORD -WORD CSERDF 805 TRAP cscLP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET T197SSR PKTSSR sSET FORMAT DRIVE DATA=0 sSETUP PACKET FOR WRITE FORMAT sGET WRITE SUBSYSTEM COMMAND PACKET sSET_THE PACKET ADDRESS TO EXECUTE ;WAIT FOR SSR TO SET ;9aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD .WORD .WORD CSERDF 806 T198SSR PKTSSR TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST 4029 052462 4030 052466 0524 4 403 005237 002222 1108: 104406 052470 016336 010001 4040 052530 052720 INC CkLOOP FATFLG MOV ori9px2 a4 BCS 130$ SEQ 0222 sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP CS$CLP 32R. Urite Subs stem Write Misc to Reset Tape Status F=FLOPS sSETUP PKT FOR WRITE MISC Reset Tape Status F=FLOPS GET WRITE SUBSYSTEM COMMAND PACKET MOV Ré, TSDB(RS) SEI THE PACKET ADDRESS TO EXECUTE JSR PC,.CHKTSSR wAlr FOR SSR TO SET FORCERROR 122% +s@3DFORCE ERROR IF FORCER=1 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T192SSR,PKTSSR INC CKLOOP FATFLG MOV MOV #T19PK2, R4 R4, TSDB(RS) BCS 140 ERRDF ERRNO,T193SSR,PKTSSR JSR PC.CHKTSSR FORCERROR 1328 103407 010001 132%: :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP sSET FATAL ERROR FLAG :LOOP ON ERROR, .WORD .WORD WORD IF FLAG SET TRAP MOV RO,R1 NEXT.ERRNO 002222 1408: INC CKLOOP JSR PC,T19SETEXP MOV MOV BIC BIC #T198FSTA.R2 (R2), (R1) #S1.1CER, (R1) #S1.1FMK. (R1) MOV BIC MOV 000002 CLR MOV MOV MOV 011500 FATFLG #TI9EXSTA,R1 #51. IHER, (R1) 2(R2),2(R1) RO #T198FR,R1 #T19EXP.R2 #20. .R3’ JSR PC,CKMSG2 FORCERROR 1528 .NOTSSR 152%: BCS 1608 NEXT.ERRNO ERRHRD ERRNO, T197CMP,MSGLOOP CSERDF 807 T192SSR PKTSSR cscLP1 :GET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;9aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD WORD o N 052666 061760 062460 000000 016336 So38 066 4067 052672 4068 052676 4069 052702 4070 052706 4071 052716 4072 052720 4073 052720 0 Do a Write Subsystem READ STATUS f all Tape Status 2 (ICER,IFMK,IHER) flip=flop signals NOT=0 Then Print Error JSR PC,T19SRD sSETUP PACKET FOR READ STATUS 5 052614 4055 052616 4056 052622 052622 4057 052624 4058 052630 4059 052634 4060 052640 130%: purgury 4052 052604 4053 052606 4054 052606 052606 004737 012704 010465 004737 NVIONNONON) = 4044 4045 4046 052546 4047 052552 4048 052556 4049 052562 4050 052566 4051 052602 002222 104406 92999 (=1 'A 046 005237 — 4041 052540 4042 052544 3 052544 122%: oo 2530 052532 052534 052536 PAGE 115-3 .WORD sSET FATAL ERROR FLAG <LOOP ON ERROR, IF FLAG SET TRA CSERDF 808 T193SSR PKTSSR o sSET WORDS 0-7 EXPD=RECV (NOI TESTING) :GET EXPECTED READ STATUS :GET RECV READ STATUS :SET EXPD WORD 08 RECV TEMP :SET EXPD ICER :SET EXPD IFMK 0 :SET EXPD IMER :SET EXPD WORD #9 = RECV (NOT TESTING) :HIGH RECV ADDRESS FOR CKMSG2 :LOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS sNUMBER OF BYTES TO COMPARE Eg;b EQUAL RECV? :BR IF YES ;REPORT ERROR TRAP CSERHRD TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST 052722 052724 052726 001451 061263 013064 052730 104406 4074 osgrso 4075 4076 052732 4077 052736 1608: 005037 012703 057774 002752 4079 052744 4080 052750 4081 052754 4082 052760 4083 052764 4084 010337 042700 042700 042700 010037 002316 000200 000100 000040 002312 4086 052770 013700 002312 4089 053000 004737 062122 4091 053010 4092 053014 4093 053020 010465 000000 4095 053036 4096 053040 4097 053040 010001 4078 052742 4085 zggg 052774 4090 053006 4094 053034 012300 004737 012704 004737 104455 001452 060543 012046 005237 053054 104406 4099 053054 4102 062142 010465 004737 000000 016336 012704 104455 001453 060612 012046 005237 053144 104406 4116 053144 MSGLOOP TRAP cscLP1 ;LOOP ON ERROR, IF FLAG SET (R3)+,R0 ;83D 062244 DATA,RO PC,TI9CNVT PC,TI9WCTL MOV #T19PK2, R4 BCS 2208 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T197SSR,PKTSSR INC CKLOOP sGET A TEST PATTERN FATFLG sGET TEST PATTERN s CONVERT PATTERN TO CONTROL DRIVE MASK sRO_CONTAINS WRITE CONTROL DATA HERE sSETUP PACKET FOR WRITE CONTROL sGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE ;WAIT FOR SSR TO SET +@aDFORCE ERROR IF FORCER=1 ¢BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED "0 SET TRAP -WORD .UORg sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET 002222 MOV SWAB JSR MOV 232$: 2408: CSERDF 810 T197SSR PKTSSR cscLp Do Write Subsystem Write Format to Drive loopback signals group 2. CALL T19CNVT TO SETUP WRITE CONTROL PATTERN JSR 062460 T197CMP CALL T19CNVT TO SETUP WRITE CONTROL PATTERN MOV R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 212 2208: 809 «WORD «WORD .WORD MOV R3,TSTPTR :SAVE POINTER INTO TSTBLK BIC #uC.IFAD,RO sIFAD MUST ALWAYS BIC #iC.10TAD,RO sITADO MUST ALWAYS =0 BIC #JC.11TAD.RO sITAD1 MUST ALWAYS =0 MOV RO,DATA sSET DATA PATTERN Do Write Subsystem Write Control to Drive loopback signals group 1. MOV 103407 010001 053130 053132 053134 053136 4115 053140 SEQ 0223 TRAP 000300 004737 4108 053100 4109 053106 4110 053110 4111 053124 4112 053126 4113 053130 4114 053130 MOV JSR 212$: 4105 053066 4106 053070 004737 B CKLOOP JSR 016336 002312 4107 053074 : ;88D 062460 4103 053056 013700 4104 053062 2008: 062244 002222 E : REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE CLR T19PREV sINIT 1=0 TRANSITION FLAG MOV #TSTBLK,R3 sGET FIRST PATTERN ADDRESS 103407 053040 053042 053044 053046 4098 053050 PAGE 115-4 DATA,RO PC,TT9CNVT RO PC,TI9WFMT #T19PK2,R4 MOV Ré,TSDB(RS) JSR PC.CHKTSSR FORCERROR 23 BCS 240 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T198SSR,PKTSSR INC CKLOOP FATFLG sGET TEST PATTERN s CONVERT PATTERN TO FORMAT DRIVE MASK sWRITE FORMAT DATA RETURNED l? HIGH BYTE sSETUP PACKET FOR WRITE FORMA sGET WRITE SUBSYSTEM COMMAND PACKET sSET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SE T :93DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ;DEVICE FATAL SSR FAILED TO SET TRAP CSERDF 8N .WORD .WORD .WORD PKTSSR TRAP CscLP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET T198SSR 010465 000000 012704 062460 004737 016336 103407 010001 2528: 104455 001454 060324 012046 005237 A 002222 2608: 4 MOV oriopxz R4 NEXT.ERRNO ERRDF ERRNO,T193SSR,PKTSSR INC CKLOOP FATFLG JSR cri9exsra R1 012702 013711 06235 00231 MOV [, [1]"] #T19BFSTA R2 DATA, (R1) 013703 012704 040411 030400 002312 000400 MOV MOV BIC BIT DATA,R3 #51. xusn.na Ré, (R1) R4 RO BIT R4 .R3 BIS R4, (R1) BIC BIT R&, (R1) R4 RO 057774 BEQ 030403 001001 050411 012704 040411 030400 BNE 001000 2758: 001403 BIT 001001 012704 040411 BNE 002000 2808: 030400 001403 030403 011100 2858: 004000 057774 030403 001401 040400 052700 040000 052700 042700 020000 100000 288%: 19SETEXP T19PREV,RO 275s 275s #S1.1FMK, R4 280s R4 .R3 280s R4, (R1) MOV #si. 1csn R4 BIT BEQ R4 RO 285s BIC TRAP -WORD -WORD .WORD sSET FATAL ERROR FLAG JLOOP ON ERROR, IF FLAG SEIP R&, (R1) R4 .R3 BIS BIS BIC sGET PREVIOUS DATA PATTERN sGET CURRENT PATTERN sSETUP IHER EXPECTED :SET EXPD IHER =0 :PREVIOUS =17 :BR IF NO sCLARENT =0? :Bk_IF NO sSET EXPD IHER =1 :SET EXPDIFMK =0 ;SETUP lFHK EXPECTED :PREVIOUS =17 BR IF NO 0? ;SET EXPD IFMK =1 :SET EXP =0 :SETUP lCER EXPECTED PREVIOUS :BR _IF NO ER 1? 285s csi.xzass.ao #51.11RES.RO #51.PARERR,RO CSERDF 812 T193SSR PKTSSR CSCLP1 sSET WORDS 0-7 EXPD=RECV (NOT TESTING) :GET EXPECTED READ STATUS :GET RECV READ STATUS sSET EXPD WORD #8 TO TEST DATA FIRST s CURRENT ? :BR_IF NO BIS R4, (R1) sSET EXPD ICER =1 MOV (R1).RO :GET EXPD WORD If previous TIDENT=1 and current }?DéIDENI-l then EXPD= 0 else 1 MOV #S1.11DENT R4 BIS R& RO :ASSUME EXPD=1 BIT R4 T19PREV ESEVIOUS 1IDENT=1? BEQ 288s IF BIT R4 R3 :IS CURRENT IIDENT=1? BEQ zaés :BR_IF NO BIC sSET c£XPD=0 BNE 050411 001403 BIS BIT 001001 012704 050400 030437 MOV BEQ 030403 050411 nov MOV 001403 sDEVICE FATAL SSR FAILED TO SET If Loopback d ata NOT= oT= d data sent Then Print Error o0op lC 062220 013700 SEQ 0224 Do a Urite Subs‘stem READ STATUS JSR sSETUP PACKET FOR READ STATUS :GET WRITE SUBSYSTEM COMMAND PACKET MOV R& soa(as) :SET_THE PACKET ADDRESS TO EXECUTE JSR PC 4KTSSR sWAIT FOR SSR TO SET FORCERROR 2528 :33DFORCE ERROR IF FORCER=1 BCS 260 sBR IF CARRY SET (GOOD RETURN) MOV ao R1 sSAVE CONTENTS OF TSSR 004737 012701 060062 4135 053250 4136 053254 4137 053260 4138 053262 4139 053264 4140 053266 4141 053270 4142 053272 4143 053274 4144 053300 4145 053302 4146 053304 4147 053306 4148 053310 4149 053312 : 2 1 == 061760 F > 004737 PAGE 115-5 § NINININININ) = = s VIS WN=0O V0~ TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST :IRESV2 EXPD ALWAYS=1 :IRESVT EXPD ALWAYS=1 : IGNORE PARERR TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 1: LOOPBACK CONTROL SIGNAL TEST ] Rb KONSSHENIZS2R 8 2555222399902 o ~ o — o~ 4169 053374 032712 100000 100000 000002 000002 2908: 06233 BIT BEQ BIS MOV ?Ex #51.PARERR, (R2) 2908 #S1.PARERR,RO RO, (R1) 26a2),2(R1) gS 7ARERR SET IN RECV? sSET IN EXPD :SETUP FINAL EXPD IN WORD #8 BCS 3108 :BR IF YES ERRHRD ERRNO,T198CMP,MSGLOOP JSR #T198FR,R1 #T19EXP.R2 #20. ,R3’ FORCERROR 3028: SEQ 0225 PC,CKMSG2 MOV MOV 011500 6 :SET EXPD WORD #9 = RECV (NOT TESTING) sHIGH RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSG2 sEXPD ADDRESS ¢NUMBER OF BYTES TO COMPARE :sgso EQUAL RECV? MOV 06004 000024 PAGE 115-6 3028 ,NOTSSR NEXT.ERRNO JREPORT ERROR 053454 84 4185 053464 4186 053470 4187 053474 4188 053500 4189 053504 4190 053520 4191 053522 4192 053524 4193 053524 053524 .WORD .WORD 062000 062460 MSGLOOP TRAP cscLP1 3 Do a Urite Subsgstem Write Misc to Reset Tape Status F-FLOPS an sSETUP PKT FOR WRITE MISC Reset STATUS GET WRITE SUBSYSTEM COMMAND PACKET :LOOP ON ERROR, IF FLAG SET MOV ni 9PK2, R4 JSR PC.CHKTSSR MOV R&,TSDB(RS) FORCERROR 103407 010001 3228: 322 BCS 3308 ERRDF ERRNO,T192SSR,PKTSSR MOV RO,R1 NEXT.ERRNO sSET THE PACKET ADDRESS TO EXECUTE -HAIT FOR SSR TO SET :83DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 053540 4205 053602 053602 053604 053606 053610 4206 053612 4207 053616 053616 4208 053620 4209 053624 4210 053630 WORD CkLOOP 016336 002222 061760 062460 3308: 3 000000 016336 INC CKLOOP FATFLG 3428: sSET FATAL ERROR FLAG .WORD WORD «WORD :LOOP ON ERROR, IF FLAG SET TRAP MOV 062220 060062 062352 3508: cscLPm cri9px2 R4 3428 BCS 350 ERRDF ERRNO,T193SSR,PKTSSR MOV no R1 NEXT.ERRNO ;9aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 002222 CSERDF 814 T192SSR PKTSSR Do a Urite Subs‘stea READ STATUS JSR sSETUP PACKET FOR READ STATUS :GET WRITE SUBSYSTEM COMMAND PACKET MOV R4, TSDB(RS) :SET THE PACKET ADDRESS TO EXECUTE JSR PC.CHKTSSR :WAIT FOR SSR TO SET FORCERROR 103407 010001 104455 CSERHRD 813 T198(CMP 3108: 000000 053532 4194 053534 4195 053540 4196 4197 053542 4198 053546 4199 053552 4200 053556 4201 053562 TRAP INC CKLOOP FATFLG JSR PC,T19SETEXP MOV MOV #TI9EXSTA,R1 #T19BFSTA,R2 sSET FATAL ERROR FLAG .WORD «WORD D :LOOP ON ERROR, IF FLAG SET TRAP CSERDF 815 T193SSR PKTSSR CSCLPT sSET WORDS (=7 EXPD=RECV (NOT TESTING) :GET EXPECTED READ STATUS :GET RECV READ STATUS TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST .8: SUBTEST 1 : LOOPBACK CONTROL SIGNAL TEST viviuviwvaiviaiaw 3333533 Sy 000000000 2 4221 053702 4222 053712 4223 053714 4224 053714 053714 053716 053720 053722 4225 053724 053724 4226 4227 053726 112 o OO0~ W NN BEDSDSSSS 4211 053634 21 g1 1 1 2 21 21 21 1 002000 0 000002 062332 011500 362%: H SEQ 0226 MOV (R2), (R1) BIC #S1.ICER, (R1) BIC #S1.1FMK. (R1) BIC #51. IHER. (R1) MOV 2(R2) ,2(R1) CLR RO MOV #T198FR,R1 MOV #T19EXP.R2 MOV #20. ,R3 JSR PC,CKMSG2 FORCERROR 3628,NOTSSR BCS 3708 sSET EXPD WORD #8 = RECV TEMP sSET EXPD ICER 0 sSET EXPD IFMK sSET EXPD IHER sSET EXPD WORD #9 = RECV (NOT TESTING) sHIGH RECV ADDRESS FOR CKMSG2 s.0W RECV ADDRESS FOR CKMSG2 sEXPD_ADDRESS +NUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;33D sBR IF YES ERRHRD sREPORT ERROR NEXT.ERRNO ERRNO,T197CMP,MSGSTAT 012350 3708: 104406 013737 CKLOOP T RAP 002312 002316 003062 052742 4232 053752 057774 MOV MOV DATA, T19PREV TSTPTR,R3 BHIS 4008 CMP 4008: JMP 017202 ST 4608: BEQ JSR MSGSTAT cscLP1 R3,#TBLEND 2008 DO NEXT TSTBLK PATTERN BR IF YES s/11/11777177 END SUBTEST /7771111111 L10067: 104403 002222 CSERHRD 816 T197CmP :SETUP PREVIOUS DATA FOR EXPD CALC. sRESTORE CURRENT TSTBLK POINTER sEND OF TSTBLK? ENDSUB 005737 001402 004737 T RAP .WORD .WORD . WORD :LOOP ON ERROR, IF FLAG S ET 061263 4 233 4234 053752 053752 053752 4235 4236 053754 4237 053760 4238 053762 4239 053766 4240 000002 PAGE 115-7 FATFLG 4608 PC, CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT :TRY TO DROP THE UNIT T RAP CSESUB .SBTTL PAGE 116 TEST SEQ 0227 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST X : TEST 8: SUBTEST 2: : SUBTEST DESCRIPTION: This subtest verifies the Read/Write data loopback path. The Read/Write data signals are IR<7:0> and IW<7:0> respectively. TEST STEPS: RESES}NFOR ALL TEST PATTERNS IN TSTBLK TABLE Write to TSSR register to soft initialize the controller Do WRITE CHARACTERISTICS to check for Extended Features Switch If Extended Features Hardware Switch Clear then: Do Write Subs;ston Write Miscellaneous to Set Extended Features. Do WRITE CHARACTERISTICS to select reserved unit 7 and setup BUFFER a Writ: Subsystem WRITE NPR to set tape direction out and Loopback a WRITE NPR to set loopback and tape direction OUT a WRITE FIFO with byte count equal to 1 and Tape direction OUT a READ FIFO with tape direction OUT to load tape out write latch a WRITE NPR to set loopback and tape direction IN a WRITE FIFO with byte count equal to 1 and Tape direction IN to strobe loopback data into FIFO. Do a READ FIFO with tape direction IN to read data If Data read from FIFO NOT= to Data sent Then Print Error Do a Write Subsystem READ STATUS If Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error If Data In Miss NOT=0 Then Print Error Do Do Do Do Do END 4281 4282 053766 BGNSUB 053766 053766 4283 4284 053770 4285 053770 4286 053774 4287 053776 4288 054000 gs 015774 002222 062310 010662 4295 054042 4296 054044 103407 010001 Write to TSSR register to soft A . initialize the contrecller JSR PC,SOFINIT JWRITE TO TSSR TO SOFT INITIALIZE MOV ERRDF RO.R1 ERRNO,SFIERR,SFIMSG sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT BCS : 103: 2111117 BE?IN SUBTEST 7777711117 10§ A . TRAP :BR IF SOFT INIT OKAY TRAP .WORD .WORD +WORD Do WRITE CHARACTERISTICS to check for Extended Features Switch CLR FATFLG MoV #T19PACKET R4 JSR PC.WRTCHR FORCERROR 128 BCS 15% MOV RO,R1 NEXT.ERRNO csBsus CSERDF 816 SFIERR SFIMSG JCLEAR FATAL ERROR FLAG sGET THE ADDRESS OF COMMAND PACKET :D0 WRITE CHARACTERISTICS COMMAND :33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR —d TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST TEST 6297 054044 054044 054046 054050 054052 4298 054054 4299 054060 054060 4301 4302 054062 4303 054066 4304 054074 4305 054076 4306 054102 4307 054106 4308 054112 4309 054116 4310 054132 4311 054134 4312 054136 4313 054136 054136 054140 054142 054144 4314 054146 4315 054152 054152 4316 4317 054154 4318 054160 6319 054164 4320 054200 4321 054202 46322 054204 4323 054204 054204 054206 054210 054212 4324 054214 4325 054220 054220 338 104455 001461 060223 012046 005237 12%: 002222 012701 032761 001026 004737 012704 010465 004737 062332 000200 103407 010001 104455 001462 060260 012046 005237 22%: 002222 308: 104406 012704 004737 3 062310 010662 103407 010001 104455 001463 0223 012046 005237 428%: 002222 S0$: 104406 002752 002312 4332 054240 010337 002316 012700 000100 004737 012704 010465 062022 062460 000000 4336 054254 4337 054260 4338 054264 000012 062460 000000 016336 012703 012337 4333 4334 054244 4335 054250 : : 062162 £328 46329 054222 4330 054226 4331 054232 15%: 104406 042737 052700 177400 00004 PAGE 1161 SEQ 0228 ERRDF ERRNO,T19SSR,PKTSSR MOV MOV JSR le9PK2 R4 R4, TSDB(RS) PC.CHKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 817 WORD T19SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP ;LOOP ON ERROR, IF FLAG SET TRAP cscLP1 If Extended Features Hardware Switch Clear then: Do Write Subsystem Write Miscellaneous to Set Extended Features. MOV #T19BFR,R1 JMESSAGE BUFFER ADDRESS BIT 2. EXTF XST2(R1) sEXTENDED FEATURES SWITCH SET? BNE 308 :BR IF YES JSR PC T19SEXT sSETUP PACKET FOR WRITE MISC INVERT FORCERROR 22% BCS 308 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T192SSR,PKTSSR .GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOfi SSR TO SET @aDFORCE ERRC® IF FORCER=1 :BR IF CARRY SET (GOOD RET1URN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 818 .WORD T192SSR WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP ;LOOP ON ERROR, IF FLAG SET TRAP CSCLP Do WRITE CHARACTERISTICS to select reserved unit 7 MOV #T19PACKET R4 sGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR :DO WRITE CHARACTERISTICS COMMAND FORCERROR 42% +s@3DFORCE ERRUR IF FORCER=1 BCS 508 sBR IF CARRY SET (GOOD RETURN) MOV RO.R1 sSAVE CONTENTS OF TSSR NEXT.ERRNO . ERRDF ERRNO,T19SSR.PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF INC CKLOOP FATFLG .WORD .WORD .WORD sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP 819 T19SSR PKTSSR cscLP : 002312 REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE MOV #TSTBLK,R3 :GET FIRST PATTERN ADDRESS 1008: MOV (R3)+,DATA .GET A TEST PATTERN 3 BIC l‘C<377>.DATA sDATA IS BYTE JSR MOV MOV PC, TT9SNPR 07’9?&2 R4 R4, TSDB(RS) *SETUP 719PK2 FOR WRITE NPR :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE MOV R3,TSTPTR sSETUP CURRENT TSTBLK POINTER Do a WRITE NPR to set loopback ond ti?‘ direction OUT MOV #NP.OUT RO APE DIRECTION OUT BIS #NP. LOOP RO SEY LOOPBACK TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST 4339 054270 4340 054274 4341 054310 4342 054312 004737 016336 PAGE 116-2 1028: SEQ 0229 JSR PC,CHKTSSR BCS 105% FORCERROR 103407 010001 K 102 MOV RO,R? NEXT.ERRNO ERRDF ERRNO,T194SSR,PKTSSR sWAIT FOR SSR TO SET ;33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD LWORD 0543 4345 054324 4346 054330 ? 054330 434 4348 054332 4349 054336 4350 054342 4351 054346 4352 054352 4355 054376 4356 054400 4357 054402 4358 054402 054402 054404 054406 054410 4359 054412 4360 054416 054416 4361 4362 054420 4363 054426 4364 054430 4365 054434 4366 054440 4367 054444 4368 054460 4371 054464 544646 054466 054470 054472 4372 054474 4373 054500 054500 4374 4375 054502 4376 054504 4377 054510 4378 054514 4379 054520 4380 054524 002222 104406 012700 012701 004737 012704 010465 000001 002312 1058: 3 TRAP CSCLPT Do a WRITE FIFO with byte count eaual to 1 and Tape direction OUT 062066 062460 000000 JSR 012700 004737 012704 010465 004737 000001 FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET #1,R0 ODATA /1 PC T1§HFIF OTi9PK2 R4 Ré, TSDB(RS) PC.CHKTSSR FORCERROR 107$: 104406 MOV MOV JSR MOV MOV 016336 002222 107% BCS 1108 ERRDF ERRNO,T195SSR,PKTSSR MOV RO.R1 NEXT.ERRNO INC RITE 1 2FIFO URITE DATA ADDRESS :SETUP TI9PK2 FOR WRITE FIFO JGET WRITE SUBSYSTEM COMMAND PACKET +sSET THE PACKET ADDRESS TO EXECUTE SWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR FATFLG sDEVICE FATAL SSR FAILED TO SET TRAP JSET FATAL ERROR FLAG 2 cscLP Do a READ FIFO with tape direction OUT to load tape out write latch MOV JSR ;LOOP ON ERROR, IF FLAG SET TRAP #1,R0 PC.T19RFIF 062460 MOV #T19PK2,R4 016336 JSR PC.CHKTSSR 000000 MOV R4, TSDB(RS) FORCERROR 122%: 122% BCS MOV 130 RO.R1 ERRDF ERRNO,T196SSR,PKTSSR NEXT.ERRNO sSET READ BYTE C :SETUP T19PK2 FOR READ FIFO :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE HAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 001466 060500 .WORD 002222 104406 005000 052700 004737 012704 010465 004737 CSERDF 821 T195SSR PKTSSR CKLOOP 103407 005237 WORD «WORD .WORD 1108: 062046 104455 PKTSSR INC CKLOOP 103407 010001 104455 001465 060434 012046 005237 .WORD CSERDF 820 T194SSR INC FATFLG CSERDF 822 JSET FATAL ERROR FLAG 1308: CKLOOP 3 Do a WRITE NPR to set loopback and t.fip direction IN sLOOP ON ERROR, IF FLAG SET TRAP cscLm 000040 CLR BIS RO #NP.LOOP,RO OUT TO SET TAPE DIRECTION IN SET LOOPBACK 062460 MOV #Ti9PK2, R4 :GET WRITE SUBSYSTEM COMMAND PACKET 016336 JSR PC,CHKTSSR 062022 000000 JSR MOV PC, T19SNPR RG, TSDB(RS) SETUP TI9PK2 FOR WRITE NPR :SET THE PACKET ADDRESS TO EXECUTE *WAIT FOR SSR TO SET ey TSVS = HARDWARE TESTS TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST 4381 054530 4382 054544 4383 054546 4384 054550 4385 054550 054550 PAGE 116-3 SEQ@ 0230 FORCERROR 103407 010001 142%: 104455 L 1428 8CS 1508 ERRDF ERRNO, T194SSR,PKTSSR MOV RO,R1 NEXT.ERRNO ;3aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD WORD 4387 054564 054564 4388 4389 054566 4390 054572 4391 054576 4395 054616 4396 054632 4397 054634 4398 054636 4399 054636 054644 4400 054646 4401 054652 002222 1508: 000001 JSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET JSR MOV PC,TIOWFIF #T19PK2,R4 BCS 170$ MOV Ré,TSDB(RS) JSR PC.CHKTSSR FORCERROR 162 016336 162%: PKTSSR MOV RO,R1 NEXT.ERRNO ERRDF ERRNO, T195SSR ,PKTSSR JSETUP T19PK2 FOR WRITE FIFO JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR ;DEVICE FATAL SSR FAILED TO SET TRAP «WORD WORD 002222 1708: INC CKLOOP FATFLG CSERDF 824 T195SSR .WORD PKTSSR TRAP cscLP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET Do a READ FIFO with tape direction IN to read data I1f Data ;gadofron FIFO NOT= to Data sent Then Print Error R sSET READ BYTE COUNT PC.TI9RFIF sSETUP T19PK2 FOR READ FIFO MOV JSR MOV 0 016336 MOV JSR #T19PK2,R4 R&,TSDB(RS) PC.CHKTSSR FORCERROR 182%: 1828 BCS 1908 MOV RO,R1 NEXT.ERRNO ERRDF ERRNO, T196SSR,PKTSSR sGET WRITE SUBSYSTEM COMMAND PACKET sSET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 054722 054724 054726 .WORD WORD 4414 054730 4415 054734 054734 4416 054736 4417 054742 4418 054746 4419 054752 4420 054756 4421 054764 4422 054766 WORD FATFLG TRAP cscLPt Do a WRITE FIFO with byte count equal to 1 and Tape direction IN MOV #1,R0 JWRITE 1 BYTE MOV #DATA,R1 sFIFO WRITE DATA ADDRESS 054652 4402 4403 4404 054654 4405 054660 4406 054664 4407 054670 4408 054674 4409 054700 4410 054714 4411 054716 4412 054720 4413 054720 054720 INC CKLOOP CSERDF 823 T194SSR 1908 : 000002 062332 000002 CSERDF 825 T196SSR PKTSSR INC CKLOOP FATFLG sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET JSR PC,T19SETEXP sSET WORDS 0-7 EXPD=RECV (NOT TESTING) sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = DATA sSET EXPD WORD #9 = RECV (NOT TESTING) sHIGH RECV ADDRESS FOR CKMSG2 :LOW RECV ADDRESS FOR CKMS MOV #TI9EXSTA,R1 MOV 2(R2) ,2(R1) MOV MOV CLR MOV #T19BFSTA.R2 DATA, (R1) RO #T198FR,R1 TRAP CSCLPY TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST 4423 054772 44264 054776 4425 055002 4426 055006 4427 055016 4428 055020 4429 055020 055020 055022 055024 055026 4430 055030 055030 4631 4432 4433 4634 012702 012703 004737 060042 000022 011500 104406 4435 055032 004737 061760 4437 055042 4438 055046 4439 055052 4440 055066 4441 055070 4442 055072 4443 055072 055072 055074 055076 055100 4444 055102 4445 055106 055106 4446 055110 010465 004737 000000 016336 104406 004737 4448 055120 012702 4450 055126 4451 055130 4452 055134 011211 052711 042711 4454 055144 4455 055146 4456 055152 4457 055156 4458 055162 4459 055166 4460 055176 4461 055200 4462 055200 055200 055202 055204 055206 4463 055210 055210 4464 005000 012701 012702 012703 004737 4436 055036 4447 055114 4449 055124 4453 055140 012704 005237 2108: CKLOOP : : : Do a Write Subsystem READ STATUS I1f Input Ready NOT=1 Then Print Error If Output Ready NOT=0 Then Print Error : 062460 012701 012221 042711 002222 104406 I1f Data In Miss NOT=0 JSR MOV PC,T19SRD #Ti9PK2.R4 2128: 2208 : INC CKLOOP 062220 JSR 060062 MOV 062352 JEXPD ADDRESS JNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;aaD :BR IF YES JREPORT ERROR TRAP WORD WORD .WORD ;LOOP ON ERROR, IF FLAG SET TRAP FATFLG PC,.T19SETEXP lTi9EXSTA.R1 sCET WRITE SUBSYSTEM COMMAND PACKET JSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +;@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 827 .WORD T193SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP CSCLP sSET WORDS 0=7 EXPD=RECV (NOT TESTING) JGET EXPECTED READ 5TATUS #T19BFSTA R2 sGET RECV READ STATUS MOV BIS BIC (R2),(R1) #S2.INRDY, (R1) #S2.0UTRDY, (R1) JSET EXPD WORD #9 = RECV TEMP JSET EXP INPUT READY= 1 sSET EXP OUTPUT READY= 0 sHIGH RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSGZ2 JEXPD ADDRESS sNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;aabd :BR IF YES 232%: CLR RO MOV #T196FR,R1 MOV #T19EXP,R2 MOV #20. .R3 JSR PC,CKMSG2 FORCERROR 2329 ,NOTSSR BCS 2408 NEXT.ERRNO ERRHRD ERRNO,T196CMP,MSGSTAT 2408%: CKLOOP 000020 000040 000200 BIC 062332 060042 000024 011500 (RZ)*.(RIf* 082.01".(Rf) cs$cLP JSETUP PACKET FOR READ STATUS MOV MOV CSERHRD 826 T199CMP MSGSUB Then Print Error MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 212% BCS 220 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T193SSR,PKTSSR 103404 104456 001474 061200 012350 SEQ 0231 202%: 103407 010001 104455 001473 060324 012046 M MOV #T19EXP,R2 MOV #18.,R3 JSR PC,CKMSG2 FORCERROR 202$ ,NOTSSR BCS 210 NEXT.ERRNO ERRHRD ERRNO,T192(CMP,MSGSUB 103404 104456 001472 061440 013742 PAGE 1164 JSET EXPD WORD #8 = RECV TEMP JSET EXP DATA IN MISS = 0 JREPORT ERROR TRAP .WORD WORD .WORD JLOOP ON ERROR, IF FLAG SET TRAP CSERHRD 828 T196CMP MSGSTAT cscLP TEST 013703 4472 055240 4473 4475 4476 055242 4477 055246 4478 055250 4479 055254 4480 4481 CMP R3,#TBLEND JMP 1008 BHIS 255%: 4474 055240 055240 055240 2558 ENDSUB 002222 017202 TST BEQ 260%: JSR SEQ 0232 ;9aD sRESTORE CURRENT TSTBLK POINTER sEND OF TSTBLK? :BR IF YES ;DO ANOTHER TSTBLK PATTERN /111717771777 END SUBTEST ////111117 L10070: 104403 005737 001402 004737 N FORCEXIT 255 MOV TSTPTR,R3 002316 003062 054226 PAGE 1165 4 MACRO M1113 25-MAY-82 09:19 8: SUBTEST 2: LOOPBACK READ/WRITE SIGNALS TEST FATFLG 2608 PC,CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT TRAP CSESUB — TSVS = HARDWARE TESTS TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY=82 09:19 8: SUBTEST 3: LOOPBACK WRITE STROBE TEST 2232 SEQ 0233 .SBTTL 448S 4486 4487 PAGE 117 TEST 8: SUBTEST 3: LOOPBACK WRITE STROBE TEST 44 s TEST 8: SUBTEST 3: : 2258 s SUBTEST DESCRIPTION: 4490 : This subtest verifies the Write Strobe loopback path 446N : can strobe data from the FIFO to the Data lines. 2282 3 data from the FIFO to the tape data out latch. 4492 : 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 : TEST STEPS: : 3 s REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE : BEGIN : Write to TSSR register to soft initialize the controller : Do WRITE CHARACTERISTICS to check for Extended Features Switch : i1f Extended Features Hardware Switch Clear then: 3 Do Write Subs;stem Write Miscellaneous to Set Extended Features. : Do WRITE CHARACTERISTICS to select reserved unit 7 and setup BUFFER 3 Do a Write Subsystem WRITE NPR to set tape direction out and Loopback : Do a WRITE NPR to set loopback and tape direction OUT 3 Do a WRITE FORMAT to set IRESV3==>IWSTR = 1 : Do a WRITE FIFO with byte coun§ equal to 1 and Tape direction OUT : Do a WRITE FORMAT to set IRESV3==>IWSTR = 0 to load write data latch $ Do a WRITE FORMAT to set IRESV3==>IWSTR = 1 : Do a WRITE NPR to set loopback and tape direction IN 3 Do a WRITE FIFO with byte count e?ual to 1 and Tape direction IN : to strobe loopback data into FIFO, : Do a READ FIFO with tape direction IN to read data 3 If Data read from FIFO NOT= to Data sent Then Print Error 4518 055254 4519 055254 055254 4520 055256 BGNSUB 104402 4521 055256 004737 4523 055264 4524 055266 055266 055270 010001 4522 055262 103405 055272 055274 104455 001474 003652 012034 4526 055276 005037 4525 The signal IRESV3 drives IWSTR (write strobe) to write 4527 055302 4528 055306 4529 055312 4530 055326 4531 055330 4532 055332 4533 055332 012704 004737 : 015774 002222 062310 010662 §s: 3/11777777777 BEGIN SUBTEST 7777717717 78.3: Write to TSSR register to soft initialize the controller JSR PC,SOFINIT MOV ERRDF RO,.R1 ERRNO,SFIERR,SFIMSG BCS 10§ TRAP JWRITE TO TSSR TO SOFT INITIALIZE *BR IF SOFT INIT OKAY +sSAVE CONTENTS OF TSSR sDEVICE FATAL DURING INIT TRAP .WORD s .WORD .WORD Do WRITE CHARACTERISTICS to check for Extended Features Switch 12%: MOV #T19PACKET R4 JSR PC,WRTCHR FORCERROR 12% BCS 15% MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T19SSR,PKTSSR fos: 103407 010001 CLR FATFLG c$8suB ;CLEAR FATAL ERROR FLAG CSERDF 828 SFIERR SFIMSG sGET THE ADDRESS OF COMMAND PACKET sD0 WRITE CHARACTERISTICS COMMAND :@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SETY TSVS = HARDWARE TESTS MACRO M1113 ZS-HAV-GZ 09:19 TEST 8: SUBTEST 3: LOOPBACK WRITE STROBE TEST 055332 055334 055336 055340 4534 055342 4535 055346 055346 4536 4537 4538 055350 4539 055354 4540 055362 45641 055364 4542 055370 4543 055374 4544 055400 4545 055404 4546 055420 4547 055422 4548 055424 4549 055424 055424 055426 055430 055432 4550 055434 4551 055440 055440 4552 4553 055442 45564 055446 4555 055452 4556 055466 4557 055470 4558 055472 4559 055472 055472 055474 055476 055500 4560 055502 4561 055506 o5& 055506 456 4564 055510 4565 055514 4566 055520 4567 055526 4568 4569 055532 4570 055536 4571 055542 4572 055546 4573 055552 4574 055556 4575 055562 104455 001475 060223 012046 005237 002222 15%: 104406 012701 032761 001026 004737 062162 004737 016336 012704 010465 062332 000200 3 : 000012 062460 000000 002222 104406 012704 004737 002222 104406 012703 012337 002752 002312 010337 002316 012700 052700 000 000040 042737 004737 012706 010465 004737 177400 062022 062460 000000 016336 TRAP .WORD .WORD .WORD INC CKLOOP FATFLG MOV MOV lTi9PK2 R4 R&, TSDB(RS) CSERDF 829 T19SSR PKTSSR sSET FATAL ERROR FLAG .LOOP ON ERROR, IF FLAG SET TRAP cscLP1 If Extended Features Hardware Switch Clear then: Do Write Subsystem Write Hiscollanoous to Set Extended Features. MOV #T19BFR, JMESSAGE BUFFER ADDRESS BIT 2. EXTF XST2(R1) EXTENDED FEATURES SWITCH SET? BNE 308 BR IF YES JSR PC t19SExf :SEIUP PACKET FOR WRITE MISC INVERT 308: INC CKLOOP JGET WRITE SUBSYSTEM COMMAND PACKET :sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET 2@3DFORCE ERROR IF FORCER=1 :sBR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR JDEVICE FATAL SSR FAILED TO SET TRAP .WORD WORD .WORD CSERDF 830 T192SSR PKTSSR TRAP .WORD .WORD .WORD CSERDF 831 T19SSR PKTSSR sLOOP ON ERROR,IF FLAG SET TRAP CSCLP 42%: JSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET A TRAP cscLP1 Do WRITE CHARACTERISTICS to select reserved unit 7 D)} #T19PACKET R4 sGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR :DO WRITE CHARACTERISTICS COMMAND FORCERROR 42% :@aDFORCE ERROR IF FORCER=1 BCS 508 :BR IF CARRY SET (GOOv RETURN) MOV RO.R1 SAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T19SSR,PKTSSR JDEVICE FATAL SSR FAILED TO SET 50%: CKLOOP 103407 010001 104455 001477 060223 012046 005237 SEQ 0234 22%: 3 062310 010662 C JSR PC,CHKTSSR FORCERROR 22% BCS 308 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T192SSR,PKTSSR 103407 010001 104455 001476 060260 012046 005237 PAGE 117-1 INC FATFLG FATFLG sSET FATAL ERROR FLAG s 002312 REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE MOV #TSTBLK,R3 :GET FIRST PATTERN ADDRESS 1008: MOV (R3)+,DATA GET A TEST PATTERN 3 BIC 0“((377) DATA :DATA IS BYTE JSR MOV MOV JSR PC, TT9SNPR tTi9PK2 R& R4, TSDB(RS) SETUP TI9PK2 FOR WRITE NPR GEY WRITE SUBSYSTEM COMMAND PACKET SEY THE PACKEI ADDRESS TO EXECUTE UAIT FOR SSR TO SET MOV R3,TSTP sSETUP CURRENT TSTBLK POINTER Do a WRITE NPR to set loopback and ta?e direction OUT MOV #NP.OUT RO APE DIRECTION OUT BIS NP, LOOP RO SEt LOOPBACK PC.CHKTSSR s FORCERROR 102 :@3DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 8: SUBTEST 3: LOOPBACK WRITE STROBE TEST 4576 055576 4577 055600 4578 055602 4579 055602 055602 055604 055606 055610 4580 055612 4581 055616 055616 (582 4583 055620 012700 000002 4585 055630 4586 055634 012704 010465 062460 000000 103407 010001 104455 001500 060371 012046 005237 002222 104406 4584 055624 004737 062142 4587 055640 4588 055644 4589 055660 4590 055662 4591 055664 4592 055664 055664 055666 055670 055672 4593 055674 4594 055700 055700 4595 4596 055702 4597 055706 4598 055712 4599 055716 4600 055722 4601 055726 4602 055732 4603 055746 4604 055750 4605 055752 4606 055752 004737 104406 012700 012701 000001 002312 004737 016336 004737 012704 010465 104455 001502 060434 012046 005237 055766 4609 4610 055770 4611 055772 104406 4608 055766 4612 4613 055776 056002 4614 056006 4615 056012 4616 056026 4617 056030 JDEVICE FATAL SSR FAILED TO SET 1058: INC CKLOOP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET : JSR 005000 004737 012704 010465 112%: 1208: INC CKLOOP FATFLG JSR MoV MOV PC TléUFlF 07i9PK2 R4 R4, TSDB(RS) : 004737 103407 010001 1408 : 3 062142 016336 TRAP .WORD WORD .WORD CSERDF 832 T194SSR PKTSSR TRAP CSCLP1 :SETUP T9PK2 FOR WRITE FORMAT sGET WRITE SUBSYSTEM COMMAND PACKET SET THE PACKET ADDRESS TO EXECUTE UAIT FOR SSR TO SET ;39DFORCE ERROR IF FORCER=1 ;BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 833 .WORD T198SSR .WORD sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SEY PKTSSR CSCLP1 Do a WRITE FIFO with byte count eagal to 1 and Tape direction ouTt MOV #1,R0 1 BYTE MOV #DATA,R1 sFIFO WRITE DATA ADDRESS JSR PC.CHKTSSR FORCERROR 132% 132%: 062460 000000 PC nwrni #T19PK2, R4 Ré, TSDB(RS) JSR PC,CHKTSSR FORCERROR 112% BCS 1208 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T198SSR,PKTSSR 062066 062460 000000 002222 FATFLG sBR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR Do a WRITE FORMAT to set IRESV3==>IWSTR = 1 MOV #WF. 13RES RO s IRESV3==>IWSTR=1 MOV MOV 103407 010001 055752 055754 055756 055760 4607 055762 SEQ 0235 102%: 016336 002222 0 BCS 105$% MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T194SSR,PKTSSR 103407 010001 104455 001501 060612 012046 005237 PAGE 117=2 BCS 1408 MOV RO.R1 NEXT.ERRNO o ERRDF ERRNO,T195SSR,PKTSSR INC FATFLG :SETUP T19PK2 FOR WRIE FIFO JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 JBR IF CARRV SET (GOOD RETURN) 2SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP .WORD -WORD .WORD sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP Do a WRITE FORMAT to set IRESV3==>IWSTR = CLR RO SEI IRESV3==>1WSTR=0 JSR PC.TI9WFMT JSETUP T9PK2 FOR WRITE FORMAT CKLOOP MOV MOV lti9PK2 R4 R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 152% BCS 160% MOV RO.R1 CSERDF 834 T195SSR PKTSSR CSCLP *GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE HAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 JBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST 3: LOOPBACK WRITE STROBE TEST 4618 056032 4619 056032 6032 6034 056036 6040 4620 056042 4621 056046 056046 4622 4623 056050 4624 056054 4631 056114 4632 056114 056114 056122 4633 056124 4634 056130 056130 4635 4636 4637 056132 4638 056134 4639 056140 4640 056144 4641 056150 4642 056154 4643 056160 4644 056174 4645 056176 4646 056200 4647 056200 056206 4648 056210 4649 056214 104455 001503 060612 012046 005237 012700 004737 012704 010465 737 000002 001504 060612 012046 005237 004737 012704 010465 004737 002222 JSR MOV MOV JSR 012701 012700 000001 737 oogoes 004737 016336 012704 010465 103407 010001 062460 000000 :83DFORCE ERROR IF FORCER=1 ERRNO,T198SSR,PKTSSR 1808: CKLOOP INC FATFLG : Do a WRITE NPR to set loopback and tazg direction | RO #NP.LOOP,RO CSCLP1 ;BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR ERRDF :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 836 .WORD T198SSR .WORD PKTSSR ;SET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP CSCLP1 ouT ro ser rAPs DIRECTION IN .ser LOOPBACK JSR MOV MOV JSR PC, T19SNPR #T19PK2,R4 R&,TSDB(RS) PC.CHKTSSR :SETUP T19PK2 FOR WRITE NPR :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE SWAIT FOR ssa T0 SET BCS MOV 190 RO,R1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR ERRDF ERRNO,T194SSR,PKTSSR FORCERROR 182$: 002312 172 TRAP PKTSSR *SETUP T9PK2 FOR WRITE FORMAT :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET 1728: CLR BIS -WORD :LOOP ON ERROR, IF FLAG ssr PC,T19WFMT #T19PK2,R4 R4, TSDB(RS) PC.CHKTSSR FORCERROR 062022 062460 000000 016336 002222 :SET FATAL ERROR FLAG Do a WRITE FORMAT to set IRESV3==>IWSTR = 1 MOV #WF. 13RES,RO : IRESV3==>IWSTR=1 000040 104455 4651 056216 4652 056222 4653 056226 FATFLG :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 835 .WORD T198SSR : 103407 010001 001505 060371 012046 005237 INC BCS 1808 zg;r Eaazg.n1 104406 005000 052700 NEXT.ERRNO ERRDF ERRNO,T198SSR,PKTSSR SEQ 0236 CKLOOP 062142 062460 000000 016336 104455 E 1608: 103407 010001 104406 4655 056236 4656 056242 4657 056246 4658 056262 4659 056264 002222 104406 0 056214 4654 056232 152$: PAGE 117-3 1828 NEXT.ERRNO INC FATFLG ORCE ERROR IF FORCER=1 :;DEVICE FATAL SSR FAILED TO SET TRAP CSERDF ;SET FATAL ERROR FLAG .WORD .WORD .WORD 1908: CKLOOP : Do a WRITE FIFO with byte count eagal to 1 and Tape direction IN MOV MOV :LOOP ON ERROR, IF FLAG ser TRAP #1.R0 PC,TISWFIF JSR PC.CHKTSSR #119PK2, R4 R4, TSDB(RS) FORCERROR BCS MOV 210 RO,R1 CSCLP1 YTE #DATA,R1 JSR MOV MOV 837 T194SSR PKTSSR 20 rxro unxte DATA ADDRESS SSETUP T19PK2 FOR WRITE FIFO :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE SWAIT FOR ssn TO SET @aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR TSVS = HARDWARE TESTS TEST 8: SUBTEST : MACRO M1113 25-MAY-82 09:19 LOOPBACK WRITE STROBE 4660 056266 4661 056 22 2028: 002222 4664 4665 056304 4666 056310 4667 056314 4668 056320 4669 056324 4670 056330 4671 056344 4672 056346 4673 056350 4674 056350 0563 0563 4675 056360 4676 056364 056364 4677 4678 056366 4679 056372 4680 056376 223} 056402 4685 056422 4686 056426 4687 056432 4688 056436 4689 056446 4690 056450 4691 056450 564 TEST 012700 004737 012704 010465 004737 000001 012702 012703 004737 2308: : 062220 060062 000002 4698 056502 4699 056504 4700 056510 4701 103002 000137 230% ERRDF ERRNO,T196SSR,PKTSSR INC CKLOOP FATFLG MOV 2(R2$ 2(R1) #T19BFSTA R2 DATA, (R1) 01198?& R1 0?19EXP R2 78., C.CKH SG2 FORCERROR 2428 ,NOTSSR BCS 2508 ERRHRD ERRNO,T19WSTR,MSGSUB NEXT.ERRNO CKLOOP FORCEXIT TRAP CSCLP1 sSET READ BYTE COUNT SETUP T19PK2 FOR READ FIFO *GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) ;DEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD WORD .WORD 839 T196SSR PKTSSR TRAP cscLP GE! EXPECTED READ STATUS GET RECV READ STATUS sSET EXPD WORD #8 = DATA SEt EXPD WORD #9 = ReECV (NOT TESTING) HIGH RECV ADDRESS FOR CKMSG2 .LOU RECV ADDRESS FOR CKMSGZ2 JEXPD ADDRESS JNUMBER OF BYTES TO COMPARE EXPD EQUAL RECV saab :BR IF YES sREPORT ERROR TRAP «WORD gs TSTPTR.R R3,#TBLEND JMP 1008 2558 CSERHRD .WORD .WORD 840 TISWSTR MSGSUB TRAP cscLm :LOOP ON ERROR, IF FLAG SET MOV CMP BHIS 255%: CSERDF 838 T195SSR PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET ltf9EXSTA R1 MOV JSR 002316 003062 .WORD WORD WORD sSAVE CONTENTS OF TSSR MOV 000022 011500 055514 TRAP If Data read from FIFO NOT= to Pata sent Then Print Error JSR PC,T19SETEXP sSET WORDS 0=7 EXPD=RECV (NOT TESTING) MOV 2508: 222% MOV RO.R1 NEXT.ERRNO MOV 2428: 013703 BCS CLR 060042 104406 #1,R0 PC TI9RF!F #T19PK2, R4 Ré, TSDB(RS) PC.CHKTSSR 062332 013742 sDEVICE FATAL SSR FAILED TO SET sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET JSR MOV MOV JSR MOV MOV 103404 4696 056472 MoV FATFLG FORCERROR 104406 000002 ERRNO,T195SSR,PKTSSR Do a READ FIFO with tape direction IN to read data 2228: 062352 002312 ERRDF 3 010001 004737 012701 012702 013711 NEXT.ERRNO SEQ 0237 INC CKLOOP 062046 062460 000000 016336 002222 F 2108: 103407 005237 PAGE 117-4 RESYORE CURRENT TSTBLK POINTER gzb OF TSTBLK? IF YES ;D0 ANOTHER TSTBLK PATTERN TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST : LOOPBACK WRITE STROBE TEST 4702 056510 056510 056510 4703 4704 056512 4705 056516 4706 056520 4707 0565264 PAGE 117-5 /117117777777 END SUBTEST /7777771117 L10071: 104403 002222 017202 : 2608 TST BEQ JSR 3 SEQ 0238 ENDSUB 005737 001402 004737 G FATFLG 2608 PC,CKDROP sANY FATAL ERRORS ? sBRANCH IF NOT sTRY TO DROP THE UNIT TRAP C$ESuUB TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST .SBTTL SUBTEST DESCRIPTION: This subtest verifies the Read Strobe loopback can strobe the data from the Data Lines to the TEST STEPS: RESEeI~FOR ALL TEST PATTERNS IN TSTBLK TABLE Write to TSSR register to soft initialize the controller Do WRITE CHARACTERISTICS to check for Extended Features Switch I1f Extended Features Hardware Switch Clear then: Do Write Subsystem Write Miscellaneous to Set Extended Features. Do WRITE CHARACTERISTICS to select reserved unit 7 and setup BUFFER Do a Write Subsystem WRITE NPR to set tape direction out and Loopback Do a WRITE NPR to set lLoopback and tago direction OUT Do a WRITE FORMAT to set IRESV&==>IRSTR = 1 Do a WRITE FIFO with byte count equal to 1 and Tape direction OUT Do a READ FIFO with tape direction OUT to load tape out write latch Do a WRITE NPR to set loopback and ta?c direction IN Do a WRITE FORMAT to set IRESV4==>IRSTR = 0 to write loop data to FIFO Do 2 WRITE FORMAT to set IRESV&4==>]RSTR = 1 (to strobe loopback data into FIFO.) Do a READ FIFO with tape direction IN to read data ENle Data read from FIFO NOT= to Data sent Then Print Error : o 00503 0127 00473 TRAP ($BSUB JSR PC,SOFINIT JWRITE TO TSSR TO SOFT INITVIALIZE MOV RO,.R1 JSAVE CONTENTS OF TSSR ERRDF 0120 111111111 BE?;N SUBTEST 7777777117 Write to TSSR register to soft initialize the controller BCS 056544 FIFO. . 104402 path The signal IRESV4 drives IRSTR (read strobe) to write from the data Lines to the FIFO. BGNSUB 4746 056526 4751 4752 056546 4753 056552 4754 056556 4755 056562 4756 056576 4757 056600 4758 056602 4759 056602 8: SUBTEST & LOOPBACK READ STROBE TEST TEST 8: SUBTEST &: e e 056524 056524 TEST SEQ 0239 s Ve 0090 909090909300 9099090909099 %090 %0 %090 %0 9090909, %9098, 4744 056524 PAGE 118 2 10$: 10340 01000 ERRNO,SFIERR,SFIMSG :BR IF SOFT INIT OKAY sDEVICE FATAL DURING INIT TRAP .WORD .WORD .WORD Do WRITE CHARACTERISTICS to check for Extended Features Switch CLR FATFLG MOV #T19PACKET R4 JSR PC.WRTCHR FORCERROR 12% BCS 128: 10§ 15% ;CLEAR FATAL ERROR FLAG JGET THE ADDRESS OF COMMAND PACKET ;D0 WRITE CHARACTERISTICS COMMAND :@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) MOV RO,.R1 JSAVE CONTENTS OF TSSR ERRDF ERRNO,T19SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET NEXT.ERRNO CSERDF 840 SFIERR SFIMSG r_.___._ ______ — e ——————————— . TSVS = HARDWARE TESTS ' TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST 056602 056604 056606 056610 4760 056612 4761 056616 056616 476 476 4764 056620 4765 056624 4766 056632 4767 056634 4768 056640 4765 056644 4770 056650 4771 056654 4772 056670 4773 056672 4776 056674 4775 056674 056674 056676 056700 056702 4776 056704 &777 056710 056710 4778 4779 056712 4780 056716 4781 056722 4782 056736 4783 056740 4784 056742 4785 056742 056742 056744 056746 056750 4786 056752 4787 056756 788 056756 104455 TRAP 060223 012046 005237 .WORD .WORD WORD 002222 012701 032761 001026 004737 062332 000200 004737 016336 012704 010465 104455 001512 060260 012046 005237 002222 104406 012704 004737 062310 010662 002222 000100 000040 010465 000000 004737 177400 002316 062022 4798 057016 012704 062460 004737 016336 MOV MOV #T19PK2,. R4 R4, TSDB(RS) SEQ 0240 CSERDF 841 T19SSR PKTSSR sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP cscLP If Extended Features Hardware Switch Clear then: Do Write Subsystem Write Miscellaneous to Set Extended Features. MOV #T198FR,R1 JMESSAGE BUFFER ADDRESS BIT 0x2 Extf XST2(R1) .EXTENDED FEATURES SWITCH SET? BNE 308 :BR IF YES JSR PC,T19SEXT sSETUP PACKET FOR WRITE MISC INVERT :GET WRITE SUBSYSTEM COMMAND PACKET JSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) JSAVE CONTENTS OF TSSR 22%: 308: INC CkLOOP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET 3 104406 042737 010337 FATFLG BCS 308 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T192SSR,PKTSSR 103407 010001 104455 001513 060223 012046 005237 INC CKLOOP JSR PC,CHKTSSR FORCERROR 22% 103407 010001 012700 052700 4800 057026 4801 057032 000012 062460 000000 4794 4795 057002 4796 057006 4799 057022 : 3 065162 002752 002312 4797 057012 15%: 104406 012703 012337 056770 056776 | 001511 4789 4790 056760 4791 056764 4792 4793 PAGE 118-1 FATFLG sDEVICE FATAL SSR FAILED TO SET TRAP .WORD WORD .WORD CSERDF 842 T192SSR PKTSSR TRAP cscLP Do WRITE CHARACTERISTICS to select reserved unit 7 MOV #T19PACKET R4 sGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR D0 WRITE CHARACTERISTICS COMMAND FORCERROR 42% :83DFORCE ERROR IF FORCER=1 BCS 50 :BR IF CARRY SET (GOOv RETURN) MOV RO.R1 sSAVE CONTENTS OF TSSR 42%: NEXT.ERRNO ERRDF ERRNO,T19SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET 508: INC CKLOOP JSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET FATFLG TRAP .WORD WORD .WORD CSERDF 843 T19SSR PKTSSR TRAP cscLP : 002312 REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE MOV #TSTBLK,R3 :GET FIRST PATTERN ADDRESS 1008: MoV (R3)+,DATA JGET A TEST PATTERN 3 BIC MOV #°C<377>,DATA R3, TSTPTR :DATA IS BYTE :SETUP CURRENT TSTBLK POINTER JSR 071 7193 SEtUP 719PK2 FOR WRITE NPR Do @ WRITE NPR to set loopback and t direction OUT MOV #NP.OUT, RO JSET TAPE DIRECTION OUT BIS lNP LOOP SEI LOOPBACK MOV MOV RG, YSDB(RS) JSR PC,CHKTSSR FORCERROR 1028 GET WRITE SUBSYSTEM COMMAND PACKET JSET THE PACKET ADDRESS TO EXECUTE UAlt FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 TSV5S = HARDWARE TESTS TEST MACRO M1113 25-MAY=82 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST 4802 057046 4803 057050 4804 057052 4805 057052 103407 010001 BCS MOV 1028: PAGE 118-2 J 105$ RO,R1 NEXT.ERRNO ERRDF ERRNO,T194SSR,PKTSSR SEQ 0241 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF +WORD 844 «WORD 002222 4807 057066 4809 057070 4810 057074 4811 057100 4812 057104 4813 057110 4814 057114 4815 057130 4816 057132 4817 057134 4818 057134 057134 N 057136 057140 057142 4819 057144 4820 057150 057150 4821 4822 057152 4823 057156 4824 057162 4825 057166 4826 057172 4827 057176 4828 057202 4829 057216 4830 057220 4831 057222 4832 057222 057222 1058: MOV MOV JSR R4, TSDB(RS) PC,CHKTSSR 1208: 1128 MOV RO.R1 NEXT.ERRNO JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T198SSR,PKTSSR INC CKLOOP FATFLG sDEVICE FATAL SSR FAILED TO SET TRAP .WORD .WORD .WORD sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET CSERDF 845 T198SSR PKTSSR cSLPt 004737 Do a WRITE FIFO with byte count eagal to 1 and Tape direction OUT #1.R0 p :WRITE 1 BYTE MoV #DATA R1 sFIFO WRITE DATA ADDRESS 000001 002312 062066 062460 000000 016336 MOV JSR PC, T19WF IF MOov R4, TSDB(RS) MOV #T19PK2,R4 JSR PC,CHKTSSR FORCERROR 1328 1328: sSETUP T19PK2 FOR WRIVE FIFO sGET WRITE SUBSYSTEM COMMAND PACKET sSET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 BCS MOV 1408 RO.R1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR ERRDF ERRNO,T195SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET NEXT.ERRNO TRAP WORD +WORD 002222 1408: INC CKLOOP WORD FATFLG sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET CSERDF 846 T195SSR PKTSSR TRAP cscLe Do a READ FIFO with tape direction OUT to load tape out write latch MOV JSR MOV MOV JSR 057302 CsCLP1 TRAP 057230 4833 057232 4834 057236 057236 4835 4836 057240 4843 TRAP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET 07f9PK2.R4 FORCERROR BCS 1208 1128: 002222 FATFLG PKTSSR Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 MOV #WF . 14RES RO JIRESV&==>]RSTR=1 JSR PC,TI19WFMT sSETUP TOPK2 FOR WRITE FORMAT 000001 062142 062460 000000 016336 012046 INC CKLOOP T194SSR .WORD 1 01000 #1.,R0 JSETUP T19PK2 FOR READ FIFO R4, TSDB(RS) PC,CHKTSSR sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET 1608 RO,R1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR #119PK2, R4 FORCERROR BCS MOV JSET READ BYTE COUNT PC.TI9RFIF 152% :GET WRITE SUBSYSTEM COMMAND PACKET +@8DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST 4844 057304 4845 057304 0573 4846 057314 4847 057320 152%: 005237 002222 057320 4848 4849 057322 005000 1608: : 4861 057404 005000 004737 012704 010465 004737 057456 4873 057460 4874 057464 057464 4875 4876 057466 4877 057472 4878 057476 4879 057502 4880 057506 4881 057512 4885 057532 INC FATFLG :SET FATAL ERROR FLAG +WORD PKTSSR :LOOP ON ERROR, IF FLAG SET TRAP Do a WRITE NPR to set loopback and taz: direction IN CSCLP1 CKLOOP PC.CHKTSSR PC, TT9SNPR #Ti9PK2,R4 R4, TSDB(RS) FORCERROR 182$ BCS 190$ MOV RO,R1 NEXT.ERRNO ERRDF ERRNO,T194SSR,PKTSSR INC FATFLG *WAIT FOR SSR TO SET :33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) *SAVE CONTENTS OF TSSR ;DEVICE FATAL SSR FAILED TO SET TRAP CSERDF :SET FATAL ERROR FLAG : Do a WRITE FORMAT to set IRESV4==>IRSTR = 0 CLR JSR : 848 T194SSR PKTSSR CSCLP1 RO :SET IRESV4==>IRSTR=0 MOV MOV JSR #119PK2, R4 R4, TSDB(RS) PC.CHKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET :SET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET BCS 2108 :BR IF CARRY SET (GOOD RETURN) ERRDF ERRNO,T198SSR,PKTSSR PC, TI9WFMT FORCERROR 2108: .WORD JWORD .WORD :LOOP ON ERROR, IF FLAG SET TRAP 2028 zg:r ennzoR1 000001 062142 *SETUP T19PK2 FOR WRITE NPR *GET WRITE SUBSYSTEM COMMAND PACKET *SET THE PACKET ADDRESS TO EXECUTE CKLOOP 062460 000000 016336 002222 OUT TO SET TAPE DIRECTION IN ser LOOPBACK 1908: 062142 104406 852465 sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF 847 .WORD T196SSR .WORD JSR 2028: 012700 004737 012704 ERRNO, T196SSR,PKTSSR JSR MOV MOV 103407 010001 005237 ERRDF 016336 002222 4863 057406 4864 057410 4865 057414 4866 057420 4867 057424 4868 057430 4869 057444 4870 057446 4871 057450 4872 057450 NEXT.ERRNO RO #NP.LOOP,RO 1828: 104406 SEQ 0242 CLR BIS 103407 010001 057404 4862 K 000040 062022 062460 000000 4856 057364 4857 057366 4858 057370 4859 057%70 PAGE 118-3 INC CKLOOP FATFLG :SETUP T9PK2 FOR WRITE FORMAT :@aDFORCE ERROR IF FORCER=1 :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD .WORD .WORD 849 T198SSR PKTSSR TRAP CSCLPY :SET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 MOV #UF. 14RES RO : IRESV4==>IRSTR=1 JSR PC, T1OWFAT :SETUP T9PK2 FOR WRITE FORMAT 062460 MOV nimz R4 SGET WRITE SUBSYSTEM COMMAND PACKET 016336 JSR PC.CHKTSSR FORCERROR 22 BCS 23 MOV RO,R1 NEXT.ERRN .ER O ERRDF ERRNO,T198SSR,PKTSSR WAIT FOR SSR TO SET :@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR 000000 MOV 2228: R4, TSDB(RS) ser THE PACKEY ADDRESS TO EXECUTE sDEVICE FATAL SSR FAILED TO SET TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST & LOOPBACK READ STROBE TEST PAGE 118-4 L SEQ 0243 057532 TRAP 0 4886 057542 4887 057546 002222 230$: 057546 4888 4889 057550 4890 057554 4893 057570 4894 057574 4895 057610 4896 057612 4897 057614 4898 057614 JSR MOV MOV 0 016336 JSR BCS PC.CHKTSSR 282%: 104455 2908 TRAP cscLP 2828 MOV RO,R1 NEXT . ERRNO ERRDF ERRNO,T196SSR,PKTSSR :SETUP T19PK2 FOR READ FIFO :GET WRITE SUBSYSTEM COMMAND PACKET :SET _THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;33DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP 002222 : 2908 057630 INC CKLOOP 000002 666 4910 057672 4911 057676 CSERDF 851 T196SSR PKTSSR TRAP cscLP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET MOV nrioexstu R1 MOV or195xp R2 MOV JSR 4912 057702 4913 057712 4914 057714 4915 057714 057714 FATFLG .WORD .WORD WORD If Data read from FIFO NOT= to Dagarsont Then Print Error JSR T19SETEXP ET WORDS 0-7 EXPD= RECV (NOT TESTING) sGET EXPECTED READ STATUS MOV #T19BF STA.R2 :GET RECV READ STATUS MOV DATA, (R1) sSET EXPD WORD #8 = DATA ?g: 2(n2$ 2(R1) :SET EXPD WORD #9 = RECV (NOT TESTING) :HIGH RECV ADDRESS FOR CKMSG2 MOV orlosrn R1 :LOW RECV ADDRESS FOR CKMSG2 062220 06006 ”8., PC.CKH $G2 sEXPD_ADDRESS ¢NUMBER OF BYTES TO COMPARE :ggPD EQUAL RECV? 3108 :BR IF YES FORCERROR BCS 302$: 3028 ,NOTSSR NEXT.ERRNO ERRHRD ERRNO,T19RSTR,MSGSUB D sREPORT ERROR TRAP .WORD WORD 013742 310s: 104406 013703 850 T198SSR PKTSSR sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET PC.TI9RFIF #T19PK2,R4 R4, TSDB(RS) FORCERROR 103407 010001 4901 4902 057632 4903 057636 4904 057642 4905 057646 057724 4917 4918 4919 057726 4920 057736 4921 057742 4922 057746 4923 057750 2324 057754 25 4926 057754 057754 FATFLG Do a READ FIFO with tape direction IN to read data #1,R0 MOV sSET READ BYTE COUNT 057622 4899 057624 4900 057630 057722 4916 057724 INC CKLOOP CKLOOP BHIS 355%: JMP ENDSUB 3558 1008 CSERHRD 852 TI9RSTR .WORD MSGSUB TRAP cscLPl ;LOOP ON ERROR, IF FLAG SET FORCEXIT 355 MOV TSTPTR,R3 CMP R3,#TBLEND 00231 00306 056764 CSERDF .WORD .WORD WORD aab RESTORE CURRENI TSTBLK POINTER END OF TSTBLK? :BR IF YES ;D0 ANOTHER TSTBLK PATTERN s/11111111117 END SUBTEST 7711111111 L10072: TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 8: SUBTEST & LOOPBACK READ STROBE TEST 057754 927 4928 057756 4929 05776 4930 057764 4931 057770 4932 4933 057770 057770 057772 4934 4935 PAGE 118-5 M SEQ 0244 104403 005737 00140; 004737 104432 002602 TRAP 002222 017202 3608: TST BEQ JSR 3608 PC,CKDROP EXIT TST FATFLG CSESUB sANY FATAL ERRORS ? ;BRANCH IF NOT sTRY TO DROP THE UNIT /111177777 EXIT TEST /117111717 TRAP CSEXIT .WORD L10066~. TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST 4937 4938 4939 4940 4941 057774 PAGE 119 SEQ 0245 i ;LOCAL STORAGE FOR THIS TEST 000000 T19PREV: .WORD sDRIVE SIGNAL 1-0 TRANSITION FLAG LOOPBACK DRIVE SIGNAL TABLE THIS TABLE IS USED BY T19CNVT TO SETUP 4950 057776 4951 057776 4952 060000 4953 060002 4954 060004 4955 060006 4956 060010 e ALRTR TR T ¢ A DRIVE PATTERN FROM THE TEST DATA INPUT PATTERN. WRITE CONTROL SIGNALS ARE OF FORM WC.XXX WRITE FORMAT SIGNALS ARE OF FORM WF.XXXX ;9BFCTL: 000001 000002 000004 wC.1G0 WC.IFEN WwC.IRWU WC.IR Ew WF. IERASE'256. 002000 000040 WC.ITTA WC.I0TAD WC.IFAD WF.IEDIT*256. WF . IWFM*256. WF. IREV*256. WF. IWRT*256, WF.IHISP*256. WORD O -WORD -WORD TI9MSK: 377 .BYTE 000000 000000 000000 o 000000 JIFAD==>]ILDP s ITAD1==>]0ONL DATA<O> DATA<T> DATA<2> DATA<3> DATA<L> DATA<S> DATA<H6> JITADO==>]IRDY s IERASE==>ISPEED DATA<7> DATA<8> JIEDIT==>]HER DATA<H> MK IWFM==>]F 2 s IREV==>ICER sIWRT==>]IDENT JIHISP==>]EOT DATA<10> DATA<I1> DATA<1I2> IRESVZ (UNUSED)DATA<13> :IRESV1 (UNUSED)DATA<14> :PARERR (UNTESTED)DATA<15> “(<000> D T19EXSTA: .BLKB 66. 119EXEND T .UNTESTED BITS ARE SEi MASK :BYTE 0 sBYTE 1 MASK (PARERR,IRESVZ2,IRESV1) :BYTE 2 (TIMER A,TIMER B,UNDEF INED<1:0>) IMAKE IT EVEN ;BEGIN EXPECTED DATA BUFFER sMESSAGE TYPE :DAT?flFlELD LENGTH XST4 (ALWAYS PRESENT FOR WRITE SUB.) :EXPECTED READ STATUS AND WRITE FIFQ DATA sEND EXPECTED DATA BUFFER 2 —a e ¥ 2 b _— B — OO rorororn 12 12 12 12 [ GY .LOCAL TEXT MESSAGES FOR TEST NNNS 4983 060060 4984 060062 4985 060162 4986 4987 4988 4989 4990 06016 4991 06022 4992 060260 4993 060324 . T19EXP: 4980 060052 4981 060054 4982 060056 :1G0==>IFPT JIFEN==>IFBY : IRWU==>IRWD :IREW==>1DBY sMASK OF UNTESTED BITS IN READ STATUS BYTES =l=lelelelelet) 4970 060036 sWRITE CONTROL DRIVE SIGNALS TST191D: T19SSR: .A SCIZ T192SSR:.Agg{% T193SSR:.A 'Transport Bus lntorfaco Loopback* <ASCIZ "WRITE CHARACTERISTICS Fail ed’ 'WRITE SUBSYSTEM (Write Misc) Failed' 'WRITE SUBSYSTEM (Read Status) Failed' TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 8: SUBTEST & LOOPBACK REAC STROBE TEST 4994 060371 4995 060434 4 060500 4997 060543 4998 060612 060660 5000 060742 S001 061036 5002 061124 5003 061200 5004 061263 S00S 061351 5006 061440 5007 061523 2888 061630 127 127 127 127 127 106 122 124 122 106 124 103 122 114 114 12% 12 122 122 122 m 145 141 145 1M1 141 157 145 157 157 5010 5011 111 111 111 111 111 106 141 160 141 106 160 156 141 157 157 T194SSR:.ASCIZ T195SSR:.ASCIZ T196SSR:.ASCIZ T197SSR:.ASCIZ T198SSR:.ASCIZ T191CMP:.ASCIZ T192CMP:.ASCIZ T193CMP:.ASCIZ T195CMP:.ASCIZ T196CMP:.ASCIZ T197CMP:.ASCIZ T198CMP:.ASCIZ TI199CMP: .ASCIZ TI19WSTR:.ASCIZ TI9RSTR:.ASCIZ ;e 5015 061734 5016 061734 5017 061740 5018 061744 5019 061750 5020 061752 5021 061754 5022 061756 5023 5024 T19CLRBUF : SAVREG MOV MOV 108: CLRB DEC BGT RTS gg}z S030 061770 5031 061774 5032 061776 012701 012702 105021 005302 003375 000207 062332 000120 5039 062004 5040 062010 5041 062014 SO%; 062020 504 5044 ggzz 5047 5048 5049 °‘WRITE 'WRITE 'WRITE ‘'WRITE ‘'WRITE SUBSYSTEM SUBSYSTEM SUBSYSTEM SUBSYSTEM SUBSYSTEM (Write Npr) Failed® (Write FIFO) Failed' (Read FIFO) Failed' (Write Control) Failed' (Write Format) Failed' : 'FIFO Status in WORD #9 Incorrect after Initialize' ‘'Read FIFO Data not equal to Write FIFO , Data is in WORD #8' ‘Tape Status 2 (in WORD #8) Incorrect after RESET TAPE' ‘'Read FIFO Data not equal to Write FIFO Data’ ‘FIFO Status (in WORD #9) Incorrect after READ FIFO® ‘Tape Status 2 (in WORD #8) Incorrect after RESET TAPE' ‘Control Signal Loopback Data Error, Data is in WORD #8° 'Read/Write Loopback Data Error, Data is in WORD #8° 'Loopback Data Error when strobed by Write strobe, Data is in WORD #8° 'Loopback Data Error when strobed by Read Strobe, Data is in WORD #8° #T19BFR,R1 #T19BEND=-T19BFR,R2 (R1)+ R2 108 PC : sSAVE R1=RS UNTIL NEXT RETURN sGET MESSAGE BUFFER ADDRESS sSIZE OF MESSAGE BUFFER IN BYTES :CLEAR A BYTE :DONE? :BR IF NO RETURN 3 ;s SETUP T19PK2 PACKET FOR READ STATUS 004737 012700 112720 105010 000207 061734 T19SRD: 062470 JSR MOV 000005 MOVB CLRB RTS PC,T19CLRBUF #T19072,R0 #PW.RDSTATUS, (RO) + (RO) PC sCLEAR MESSAGE BUFFER JWRITE SUBSYSTEM DATA BUFFER sSTORE READ STATUS COMMAND IN BSELO JCLEAR BSEL1 sRETURN + gggz 5037 062000 5038 062000 SEQ 0246 s CLEAR MESSAGE BUFFER gggz 5029 061764 8 .EVEN 5012 5027 061760 5028 061760 PAGE 119-1 : SETUP T19PK2 PACKET FOR WRITE MISC Reset Tape Status F-FLOPS 004737 012700 112720 112710 000207 061734 062470 000010 TI9RSFIF: JSR MOV MOvV8 000030 Movs RTS PC,T19CLRBUF #Ti90T2,RO IPU.UHI§Cf(a0)0 sCLEAR MESSAGE BUFFER ;WRITE SUBSYSTEM DATA BUFFER sSTORE WRITE MISCELLANEOUS IN BSELO #MS.RSFIF!MS.RSTAP,(RO) ;STORE BSEL1 CLEAR FIFO CODES PC JRETURN .t s SETUP T19PK2 PACKET FOR WRITE NPR INPUT: ¢ : RO CONTAINS BSEL1 NPR DATA SETS NP.WRP SINCE IF O IT WRITES WRONG PARITY. TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-8¢ 09:19 8: SUBTEST & LOOPBACK READ STROBE TEST 5051 §052 06202 S053 062022 5054 06 ogg 5055 0620 5056 062036 5057 062042 S058 062044 5059 5060 5061 SEQ 0247 - 004737 012701 112721 052700 110011 000207 061734 062470 000011 000020 T19SNPR: JSR MOV MOVB BIS MOVE RTS PC, T19CLRBUF #T190T2,R1 #PW.WNPR,(R1)+ #NP.WRP, RO RO, (R1) PC ;CLEAR MESSAGE BUFFER :WRITE SUBSYSTEM DATA BUFFER :STORE WRITE NPR IN BSELO *DON'T WRITE WRONG PARITY :STORE NPR DATA IN BSEL1 *RETURN ;¢ : SETUP T19PK2 PACKET FOR READ FIFO 506, 506 5064 5065 5066 062046 5067 062046 5068 062052 5069 062056 5070 062062 5071 062 5072 5073 5074 5075 5076 5077 5078 5079 062066 S080 062 S081 062072 5082 062076 S083 062102 5084 062106 5085 062110 5086 062112 S087 062114 5088 062116 5089 120 5090 5091 5092 5093 5094 5095 5096 062122 5097 062122 S098 062126 5099 132 5100 136 5101 062140 SIO§ 510 5104 5105 5106 5107 PAGE 119-2 : 004737 012701 112721 110021 000207 061734 062470 000003 004737 012702 112722 11002 00502 112122 0053 003375 000207 061734 062470 000004 004737 012701 112721 110021 000207 061734 062470 000006 : INPUT: RO CONTAINS SEL2 BYTE COUNT 3 iy TI9RFIF: JSR PC, T19CLRBUF MOV MOVB MOVB RTS #T190T2,R1 #PW.RFIFO, (R1)+ RO, (R1)+ PC sCLEAR MESSAGE BUFFER :WRITE SUBSYSTEM DATA BUFFER :STORE READ FIFO IN BSELO :STORE BYTE COUNT IN BSEL1 *RETURN 3 s SETUP T19PK2 PACKET FOR WRITE FIFO : : INPUT: RO CONTAINS BYTE COUNT : : R1 CONTAINS DATA PATTERN BLOCK ADDRESS ;TISWFIF: SAVREG :SAVE R1=RS UNTIL NEXT RETURN JSR PC, T19CLRBUF :CLEAR MESSAGE BUFFER MOV MOVB MOVB 108: CLR #1190T2,R2 #PW.WFIFO, (R2)+ RO, (R2)+ (R2) + :WRITE SUBSYSTEM DATA BUFFER *STORE WRITE FIFO IN BSELO :STORE BYTE COUNT IN BSEL1 :CLEAR SEL2 (UNUSED) MOVB DEC (R1)+,(R2)+ RO :STORE DATA PATTERN BYTE :DONE ALL BYTES? RTS PC *RETURN BGT 108 *BR IF NO 3¢ : SETUP T19PK2 FOR WRITE CONTROL | s INPUT: : RO CONTAINS DRIVING DATA PATTERN Fing TI9WCTL: JSR PC, T19CLRBUF :CLEAR MESSAGE BUFFER MOV MOVB MOVEB RTS #T19072,R1 #PW.WCTL,(R1)+ RO, (R1)+ PC :WRITE SUBSYSTEM DATA BUFFER :STORE WRITE CONTROL IN BSELO :STORE DATA WORD IN BSEL1 *RETURN i ;s SETUP T19PK2 FOR WRITE FORMAT TRANSPORT REGISTER : ;2 INPUT: RO CONTAINS DRIVING DATA PATTERN | 3= TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 8: SUBTEST & LOOPBACK READ STROBE TEST 5108 06214 §109 062142 004737 061734 §111 062152 §112 062156 g}}z 062160 112721 110021 000207 000007 5110 062146 012701 062470 0 SEQ 0248 JSR PC, T19CLRBUF ;CLEAR MESSAGE BUFFER MOVB MOVB RTS #PW.WFMT,(R1)+ RO, (R1)+ PC *STORE WRITE FORMAT IN BSELO *STORE DATA WORD IN BSEL1 *RETURN MOV - g}}g #Ti90T2,R1 sWRITE SUBSYSTEM DATA BUFFER : SETUP T19PK2 PACKET FOR WRITE MISC. INVERT EXTENDED FEATURES SWITCH §117 06216 5118 062162 5119 062166 5120 062172 g;gg 062176 012700 112720 112710 000207 062470 000010 000200 g}%z T19SEXT: 2 MOV MOVB MOVB RTS #T19DT2,RO #PW.WMISC,(R0O)+ #MS.EXT,(RO) PC ;WRITE SUBSYSTEM DATA BUFFER :STORE WRITE MISCELLANEOUS IN BSELO *STORE INVERT EXTENDED FEATURES IN BSEL1 *RETURN : CLEAR EXPECTED DATA MESSAGE BUFFER §125 062200 5126 062200 012701 5128 062210 5129 062212 5130 062214 5131 062216 105021 005300 003375 000207 5127 T19WFMT: PAGE 119-3 060042 062204 012700 000120 g}%‘; 5136 062220 5137 062220 5138 062224 5139 062230 5140 062234 5141 062236 5142 062240 g;zz 242 T19CLEXP: 08: MOV #T19EXP,R1 :GET EXPD ADDRESS CLRB DEC BGT RTS (R1)+ RO 108 PC *CLEAR A BYTE :DONE? :BR IF NO *RETURN MOV #T19EXEND=-T19EXP,RO :Set WORDS 0-7 of expd message BUFFER = to recv since not testing 012702 012703 012700 012322 0053 003375 000207 060042 062332 000010 5145 T19SETEXP: 58: MOV MOV MOV MOV DEC BGT RTS #T19EXP,R2 #T198FR.R3 #8. RO (R3)+, (R2)+ RO 58 PC :GET EXPD :GET READ STATUS RECV BUFFER :SET WORDS 0=7 EXP=RECV *SET EXPD=RECV :DONE WORDS 0O=7 WORDS? *BR IF NO *RETURN T : CONVERT A TEST PATTERN DATA WORD TO LOOPBACK DRIVE SIGNALS 2129 5148 : INPUTS: 5149 3 g}gg : IMPLICIT INPUTS: g}gg ; g}g; : OUTPUTS: 5158 : 5161 062244 T19CNVT: gggg : ;}23 5165 062244 5163 062250 5164 062254 *GET EXPD SIZE : 012701 005002 057776 RO T19BFCTL RO SAVREG MOV CLR TEST PATTERN = CONTAINS WRITE CONTROL / WRITE FORMAT CONVERSION BITS - LOW BYTE CONTAINS WRITE CONTROL DATA - HIGH BYTE CONTAINS WRITE FORMAT DATA #T198FCTL.R1 R2 :SAVE R1-RS UNTIL NEXT RETURN :CONVERSION TABLE ADDRESS :INIT RESULT OF CONVERSION TSVS = HARDWARE TESTS PAGE 119-4 MOV ROR #16.,R3 RO 8: SUBTEST & LOOPBACK READ STROBE TEST 062470 5225 062472 012703 006000 103001 051102 00572 005303 003372 010200 000207 000020 . 108: 20$: 062310 BCC BIS 3 SEQ 0249 s8IT COUNT :1S THIS BIT EQUAL TO 1? BR_IF NO sSET CONVERTED BIT sPOINT TO NEXT BIT IN CONVERSION TABLE sDONE? :BR_IF NO sCOPY RESULT sRETURN TST =<, +10>8177770 *WRITE CHARACTERISTICS COMMAND PACKET 100004 062320 000000 000012 062332 000000 000024 000000 000007 T19PACKET: T19DATA: .W0 -WORD WORD .WORD 100004 T19DATA O 10. .WORD WORD .WORD WORD .WORD T19BFR 0 20. O 7 sCOMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH ACK sADDRESS OF CHARACTERISTICS BLOCK sMINIMUM MESSAGE PACKET SIZE sCHARACTERISTICS DATA BLOCK ;ADDRESS OF MESSAGE BUFFER sLENGTH OF MESSAGE BUFFER ERI ;ESS ,ENB,EAI sEXTENDED FEATURES UNIT NO. 000000 000000 000000 000000 000000 000000 000000 000000 T198FR: OO0OO0O0O0O0O0O sMESSAGE BUFFER FOR ALL TEST 8 COMMANDS o 5165 062256 3166 062262 5167 062264 5168 06% 66 5169 062270 5170 06%272 5171 062274 5172 062276 5173 062300 5174 5175 5176 5178 5180 5181 5182 5183 062310 5184 062310 5185 062312 5186 062314 5187 062316 5188 5189 062320 5190 062320 5191 062322 5192 062326 5193 062326 5194 062330 5195 5196 5197 5198 5199 062332 5200 062332 5201 062334 5202 062336 5203 062340 062342 5205 062344 5206 062346 7 062350 5208 062352 5209 062452 5210 5211 5212 5214 5216 063460 5217 062460 5218 062462 5223 25-MAY=82 09:19 . TEST MACRO M1113 T19BFSTA: .BLKB 64. T19BEND: sBEGIN MESSAGE BUFFER sMESSAGE TYPE :DATGRFIELD LENGTH sXST ;XST4 (ALWAYS PRESENT FOR WRITE SUBSYSTEM sREAD STATUS AND WRITE FIFO BUFFER sEND OF MESSAGE BUFFER WRITE SUBSYSTEM READ STATUS COMMAND PACKET 062460 100006 062470 000000 000012 000 T19PK2: =<, +10>8177770 .WORD P.WRTSUB!'P.ACK BYTE BYTE LWORD 0 0 O .WORD WORD .WORD T19DT2: T19DT2 O 10. sWRITE SUBSYSTEM WITH ACK :LOW ADDRESS OF DATA BLOCK sHIGH ADDRESS OF DATA BLOCK sMINIMUM MESSAGE PACKET SIZE :DATA BLOCK ;BSELO *BSEL1 +SEL TSVS - HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TeST 8: SUBTEST & LOOPBACK READ STROBE TEST 5226 062474 5227 5228 5229 062574 062574 062574 .BLKB ENDTST 104401 PAGE 119-5 64. F & SEQ 0250 SWRITE FIFO DATA OUTPUT BUFFER L10066: TRAP CSETST TSVS = HARDWARE TESTS _ MACRO M1113 TEST 9: READ/WRITE DATA PARITY TEST 3%35 25-MAY-82 09:19 144 SBTTL PAGE 120 TEST SEQ 0251 9: READ/WRITE DATA PARITY TEST 2%%2 ; TEST DESCRIPTION: 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 ggzg : : : : : : : : : : : : 3 5249 5250 5251 5252 5253 5254 5255 5256 5257 : TEST STEPS: : ;s REPEAT FOR LOOPCNT : BEGIN ) : Write to TSSR register to soft initialize the controller : Do WRITE CHARACTERISTICS to check for Extended Features Switch 3 If Extended Features Hardware Switch Clear then: 3 Do Write Subs;ston Write Miscellaneous to Set Extended Features. : Do WRITE CHARACTERISTICS to select reserved unit 7 and setup BUFFER 5260 5261 3 : gggg : This test verifies that the Write Data Parity generator and the Read Data Parity checker operate gropcrly. The Transport Bus signal loopback mode is enabled and a Set Urong parity function is executed. Then various Write Subsystem Memory functions are performed to write data to and from the FIFO in Loopback mode. The program then checks to insure a Read Data parity error occurred. A Reset FIFO is done and the Read Data parity error bit is again tested to insure it cleared. Finally a Clear urong parity function is done and it is verified the data word can pass in loopback mode without setting Read Data parity error. ¢ RESEeINFOR ALL TEST PATTERNS IN TSTBLK TABLE 5262 5263 5264 5265 5266 5267 268 5269 5270 5271 5272 5273 3 3 : 3 K 3 : 3 3 3 3 : (v Verify Write Wrong Parity Sets Parity Error *) Do a WRITE NPR to set loopback and tape direction OUT and SET Write Urong Parity. Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) Do a WRITE FIFO with byte count equal to 1 and Tape direction OUT Do a READ FIFO with tape direction OUT to load tape out write latch (this is vhen wrong parity (IWP) is set) Do a WRITE ~“ORMAT to set IRESV4==>IRSTR = 0 (sets read strobe low) (Read Strobe sets PAR IN H [Parity Errorl) Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) Do a Write Subsystem READ STATUS If Read Data parity error NOT=1 Then Print Error Do a Write Misc to RESET FIFO Do a Write Subsystem READ STATUS 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 52 3 : : 3 : : 3 : : : 3 (+ Verify Data can be transferred without a Parity Error +) Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strcde high) Do a WRITE NPR to set loocbuck and tape direction OUT and CLEAR Write Wrong Parit(. Do a WRITE FIFO with byte count equal to 1 and Tape direction OUT Do a READ FIFO with tape direction OUT to load tape out write latch Do @ WRITE FORMAT to set IRESV4==>IRSTR = 0 (sets read strobe low) (Read Strobe should NOT set PAR IN H [Parity Error) here) Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) Do a Write Subsystem READ STATUS It Read Data parity error NOT=0 Then Print Error §5;§ . If Read Data parity error NOT=0 Then Print Error i TSVS = HARDWARE TESTS ' TEST MACRO M1113 9: READ/WRITE DATA PARITY TEST 5288 5289 5290 5291 5292 062576 065576 5297 062576 5298 062602 25-MAY-82 09:19 H J-- 012700 004737 065162 016510 §299 062606 012737 000012 002216 MOV JSR T20LOOP: 5302 062614 5303 062614 5304 062616 5305 062616 004737 5307 062624 5308 062626 062626 062630 062632 062634 010001 5310 062636 005037 5306 062622 5309 5311 062642 5312 062646 5313 062652 5314 062666 5315 062670 5316 062672 5317 062672 062672 062674 062676 062700 5318 062702 5319 062706 062706 103405 - 015774 104455 001604 003652 012034 012704 004737 002222 066360 010662 : 5s: #10.,LOOPCNT 104455 001605 065211 012046 005237 002222 104406 012701 5324 062722 001026 066402 714 032761 000200 000012 5325 062724 004737 066276 §327 062734 010465 000000 719.1: Write to TSSR register to soft initialize the controller TRAP PC,SOFINIT JWRITE TO TSSR TO SOFT INITIALIZE MOV ERRDF RO.R1 ERRNO,SF IERR,SF IMSG JSAVE CONTENTS OF TSSR JDEVICE FATAL DURING INIT TRAP .WORD .WORD .WORD 108 :BR IF SOFT INIT OKAY . Do WRITE CHARACTERISTICS to check for Extended Features Suitch 128: MOV #T20PACKET R4 JSR PC.WRTCHR FORCERROR 12% BCS 15¢% MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T20SSR,PKTSSR 15%: INC CkLOOP 10s: 3 CLR FATFLG FATFLG GET THE ADDRESS OF COMMAND PACKET :DO WRITE CHARACTERISTICS COMMAND ;@8DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 901 WORD TZOSSR WORD PKTSSR JsSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP cscLP OXZ Extf XSIZ(M) JEXTENDED FEATURES SWITCH SET? JSR PC,T20SEXT JSETUP PACKET FOR WRITE MISC INVERT Ré, TSDB(RS) sSET THE PACKET ADDRESS TO EXECUTE 308 5328 062740 5329 062744 5330 062760 5331 062762 5332 062764 5333 062764 062764 062766 062770 JSR PC,CHKTSSR fORCERROR 22% B8CS 308 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T202SSR,PKTSSR 22%: :CLEAR FATAL ERROR FLAG BIT MOV 103407 010001 CSERDF 900 SFIERR SFIMSG I1f Extended Features Hardware Switch Clear then: Do Write Subsystn Write Miscellaneous to Set Extended Features. MOV "2 JMESSAGE BUFFER ADDRESS BNE 016336 Cc$8suUB JSR MOV 104455 001606 065246 :PERFORM 10 ITERATIONS 3//1//77/77777 BEGIN SUBTEST /777771717 5326 062730 012704 066530 004737 19:: JASCII MESSAGE TO IDENTIFY TEST ;D0 INITIAL TEST SETUP ) BCS 103407 010001 5320 5321 5322 825710 5323 MOV #TST201D,RO PC TSYSETUP BGNSUB 104402 SEQ 0252 END BGNTST %8? 062614 062614 PAGE 120-1 #T20PK2,R4 :BR IF YES *GET WRITE SUBSYSTEM COMMAND PACKET JWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER' JBR IF CMRY SET (GOOD RETURN JSAVE CONTENTS OF TSSR JDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 902 .WORD T202SSR | | | TSVS = WARDWARE TESTS | TEST MACRO M1113 9: READ/WRITE DATA PARITY TEST 062772 5334 062774 5335 063000 06 5336 5337 063002 5338 063 5339 063012 5340 063026 5341 063030 5345 063032 5343 063032 063032 063034 063036 063040 5344 063042 5345 063046 063046 5348 53545 0§3050 5350 063054 §351 063 5352 063066 5353 5354 ‘ 5355 06307¢ 5356 063076 5357 063102 5358 063106 5359 063112 5360 063116 5361 063122 5362 063126 5363 063142 5364 063144 5365 063146 5366 063146 063146 063150 063152 063154 5367 063156 5368 063162 063162 5369 5370 063164 5371 063170 5372 063174 5373 063200 5374 063204 5375 063210 5376 0632264 5377 063226 5378 063230 012046 005237 25-MAY-82 09:19 002222 308: 104406 012704 004737 : 066360 010662 103407 010001 104455 001607 065211 012046 005237 42%: 002222 50%: 104406 012703 012337 002752 00231 010337 00231 012700 032700 042765 004737 000100 000040 000020 146 042737 012704 010465 004737 177400 s 002312 1008: 000000 016336 102%: 104406 012700 004737 012706 010465 004737 103407 010001 06624 1 06653 016336 SEQ 0253 .WORD FATFLG PKTSSR JSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP cscLP1 Do WRITE CHARACTERISTICS to select reserved unit 7 MOV #T20PACKET R4 JGET THE ADDRESS OF COMMAND PACKET JSR PC,WRTCHR D0 WRITE CHARACTERISTICS COMMAND FORCERROR 42% +@aDFORCE ERROR IF FORCER=1 B8CS 50 sBR IF CARRY SET (GOOD RETURN) MOV RO.R1 sSAVE CONTENTS OF TSSR NEXT.ERRNO ERRDF ERRNO,T20SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 903 -WORD T20SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP sLOOP ON ERROR, IF FLAG SET TRAP cscLP MOV MOV #TSTBLK ,R3 (R3)+,DATA BIC #4C<377>,DATA MOV lTéOPKZ.R& JGET FIRST PATTERN ADDRESS sGET A TEST PATTERN :DATA IS BYTE MOV R3,TSTPTR sSETUP CURRENT TSTBLK POINTER Do a WRITE NPR to set Loopback and tape direction OUT and and SET Write Wrong Paritg. MOV .OUT,RO sSET TAPE DIRECTION OUT BIS #NP.LOOP,RO :SET LOOPBACK BIC #NP . WRP RO sSET WRITE WRONG PARITY (INVERTED) JSR PC, T20WNPR JSETUP T20PK2 FOR WRITE NPR 066530 002222 I REPEAT FOR ALL TEST PATTERNS IN TSTBLK TABLE 103407 010001 104455 001610 065357 012046 005237 INC CkLOOP PAGE 120-2 105%: 3 sGET WRITE SUBSYSTEM COMMAND PACKET MOV R4 ,TSDB(RS) JSR PC,CHKTSSR FORCERROR 102% BCS 105 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T204SSR,PKTSSR sSET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET +@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR MOV :GET WRITE SUBSYSTEM COMMAND PACKET sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 904 .WORD T204SSR WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CkLOOP +sLOOP ON ERROR, IF FLAG SET TRAP CSCLP Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) MOV #WF . 14RES RO JIRESV4==>IRSTR = 1 JSR PC,T20WFNT JSETUP T20PK2 FOR WRITE FORMAT #T20PK2,R4 MOV R4&,TSDB(RS) JSR PC,.CHKTSSR FORCERROR 112% BCS 120 MOV RO.R1 NEXT.ERRNO sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR TSVS = HARDWARE TESTS TEST MACRO M1113 9: READ/WRITE DATA PARITY TEST 1208 : &~ ERRNO,T208SSR,PKTSSR MOV #DATA,R1 :FIFO WRITE DATA ADDRESS MOV #T20PK2,Ré4 :GET WRITE SUBSYSTEM COMMAND PACKET BCS 1608 ERRDF ERRNO,T205SSR,PKTSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF +WORD 905 .WORD T208SSR PKTSSR «WORD INC FATFLG ;SET FATAL ERROR FLAG CKLOOP :LOOP ON ERROR, IF FLAG SET TRAP CSCLP1 Do a WRITE FIFO with byte count equal to 1 and Tape direction OUT MOV #1,R0 ;WRITE 1 BYTE PC,T20WFIF :SETUP T20PK2 FOR WRITE FIFO MOV R4, TSDB(RS) JSR PC.CHKTSSR FORCERROR 1528 152%: w W 2 J ERRD JSR 066206 066530 000000 016336 B e 'y oo SN o W WWWW PAGE 120-3 SEQ 0254 1128: 002222 I.SWWWWNNNNNNN N~ 2222222222222 222 W 0 OO WA = m&&wgmmvnmm 83 EEEERs BY 5379 063230 063230 25-MAY-82 09:19 MOV RO,R1 NEXT.ERRNO :SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET :@aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR ;DEVICE FATAL SSR FAILED TO SET TRAP WORD .WORD 002222 1608 : INC CKLOOP .WORD FATFLG ;SET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP 9 398 063334 012700 004737 7 5 004737 MoV JSR MOV . 172%: BCS 1808 MOV RO,R1 NEXT . ERRNO ERRDF ERRNO,T206SSR,PKTSSR :GET WRITE SUBSYSTEM COMMAND PACKET :SET_THe PACKET ADDRESS TO EXECUTE :WAIT FOR_SSR TO SET ;aDFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP .WORD HE&O o N o2 SERSRENS> FRERRRRRR :SETUP_T20PK2 FOR READ FIFO #T20PK2,R4 .WORD 066242 066530 000000 016336 CSCLPY :SET READ BYTE COUNT PC,T20RFIF MOV R&,TSDB(RS) JSR _ PC,CHKTSSR FORCERROR 1728 1 0 RERRRRE SRERRER 000001 066166 066530 000000 016336 002222 PKTSSR Do a READ FIFO with tape direction OUT to load tape out write latch (this ;? zsen wrong parity (IWP) is set) 180$: INC CkLOoOP FATFLG sSET FATAL ERROR FLAG CLR JSR MOV MOV JSR T206SSR PKTSSR TRAP CSCLP to set IRESV4==>IRSTR = 0 (sets read strobe low) (Read Strobe sets PAR IN H [Parity Errorl) RO :IRESV4==>IRSTR = 0 #T20PK2,R4 ;GET WRITE SUBSYSTEM COMMAND PACKET PC, T20WFMT :SETUP T20PK2 FOR WRITE FORMAT Ré,TSDB(RS) PC.CHKTSSR :SET THE PACKET ADDRESS TO EXECUTE :WAIT FOR SSR TO SET 2008 RO,R1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR FORCERROR BCS MOV CSERDF 907 :LOOP ON ERROR, IF FLAG SET Do @ WRITE FORMAT SSRXXXRX OCOV®/ NV N W WNN=O CEEEEVEEEYE B 32 5399 063340 5400 063344 5401 063350 5402 063354 5403 063360 5404 063374 5405 063376 54606 063400 5407 063400 CSERDF 906 T205SSR NEXT.ERRNO 192 :@3DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS MACRO M1113 25-MAY=-82 09:19 TEST 9: READ/WRITE DATA PARITY TEST 5421 063460 063460 063462 063464 063466 5422 063470 5423 063474 063474 5424 5425 063476 192%: 002222 : 2008 212%: 002222 2208: sDEVICE FATAL SSR FAILED TO SET TRAP MOV #T20PK2, R4 sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET 066126 066530 000000 016336 R4 ,TSDB(RS) PC,CHKTSSR 212$% BCS MOV 2208 RO.R1 ERRDF ERRNO,T208SSR,PKTSSR NEXT.ERRNO INC CkLOOP MOV MOV JSR FATFLG #T20PK2, R4 R4 ,TSDB(RS) PC.CHK!SS; FORCERROR 2408: CSERDF 908 T208SSR PKTSSR TRAP cscLP Do a WRITE FORMAT to set IRESV4 ==>IRSTR = 1 (sets read strobe high) MOV #WF . I4RES RO :IRESV4==>IRSTR = 1 JSR PC,T20WFMT JSETUP T20PK2 FOR WRITE FORMAT JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET .WORD «WORD .WORD CSERDF 909 T208SSR PKTSSR TRAP CSCLPY TRAP sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET Do a Write SUbs‘ston READ STATUS JSR PC,T20SRD sSETUP PACKET FOR READ STATUS 2328%: SSECRREER BREE SEQ 0255 WORD FATFLG FORCERROR 063542 5434 063542 063542 EXRRPRVRRRRLRR R ® =~ R2S BRIFKR = & SEIIIXIIIIIKR KIRR W & co 8 ERRNO,T208SSR,PKTSSR INC CKLOOP MOV JSR 5433 5441 063574 5442 K +WORD +WORD 066 000000 016336 063550 5435 063552 5436 063556 ERRDF PAGE 120~4 BCS 240 MoV RO,R1 NEXT.ERRNO ERRDF ERRNO,T203SSR,PKTSSR INC FATFLG sGET WRITE SUBSYSTEM COMMAND PACKET sSET_THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET :83DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOv RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP «WORD «WORD .WORD CSERDF 910 T203SSR PKTSSR TRAP cscLP sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET If Read Data sarit‘ error NOT=1 Then Print Error JSR PC,T20SETEXP sSET WNRDS 0-7 EXPD=RECV (NOT TESTING) MOV 000002 MOV MOV #T20EXSTA,R1 #T20BFSTA.R2 (R2), (R1) MOV #T208FR,R1 MoV #T20EXP,R2 MOV #20. ,R3 JSR PC.CKHSGS FORCERROR 528 ,NOTSSR BCS 2608 JGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV (NOT TESTED) JSET EXP PAR ERR =1 sHIGH RECV ADDRESS FOR CKMSG2 sLOW RECV ADDRESS FOR CKMSG?2 JEXPD ADDRESS JNUMBER OF BYTES TO COMPARE :gg;o EQUAL RECV? :BR IF YES TSVS = HARDWARE TESTS MACRO M1113 25-MAY=82 09:19 TEST 9: READ/WRITE DATA PARITY TEST 5463 063722 5464 06372 3722 063724 063726 063730 5465 063732 063732 5466 5467 063734 5468 063740 5469 063744 5470 063750 5471 063754 5472 063760 5473 063774 5474 063776 5475 064000 5476 064000 064000 064002 064004 064006 5477 064010 5478 064014 064014 5479 104456 001617 065577 012350 104406 012700 737 000020 066262 010465 004737 000000 016336 012704 066334 5483 064026 5484 064032 012702 011211 066422 86 064042 5487 064046 064050 5489 064054 5490 064060 5491 064 5492 064070 5493 064100 5494 064102 95 064102 064102 vb41046 064106 064110 5496 064112 064112 5497 5498 5499 064114 5500 064120 042711 005 012701 012702 012703 004737 100000 5501 064124 550; 064130 5503 064134 5504 064140 3 Do a Write Misc to RESET FIFO MOV #MS.RSFIF RO JSR PC,T20WMISC 2908%: 104406 004737 5485 064034 CkLOOP 282%: 5480 5481 064016 5482 064022 2608 : MOV 002222 012701 016261 : 3 065062 000002 000002 103404 302%: 3208 : 012700 004737 00000 066242 0104§s 004737 000000 016336 012704 066530 : : #T20PK2 R4 MOV R4, TSDB(RS) JSR PC,.CHKTSSR FORCERROR 28 BCS 2908 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T202SSR,PKTSSR INC CKLOOP : FATFLG sREPORT ERROR TRAP WORD .WORD .WORD sLOOP ON ERROR, IF FLAG SET TRAP CSERHRD 911 T20SWP MSGSTAT CSCLP1 JSET RESET FIFO COMMAND sSETUP T20PK2 FOR WRITE MISC :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET s@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD .WORD D sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP 912 T202SSR PKTSSR cscLP1 Do a Write Subsystem READ STATUS If Read Data sarit‘ error NOT=0 Then Print Error JSR PC,T20SETEXP ;SET WORDS 0=7 EXPD=RECV (NOT TESTING) MOV #T20EXSTA,R1 MOV 2(R2) ,2(R1) MOV MOV og 06504 000024 011500 104456 001621 5706 012350 . 104400 SEQ 0256 NEXT.ERRNO ERRHRD ERRNO,T20SWP,MSGSTAT 103407 010001 001620 065246 012046 005237 L 252%: 066530 104455 PAGE 120-5 #T20BFSTA R2 (R2),(R1) BIC #S1.PARERR, (R1) CLR RO MOV #T20BFR,R1 MOV #T20EXP ,R2 MOV #20. .R3 JSR PC,CKMSG2 FORCERROR 302% .NOTSSR BCS 3208 NEXT.ERRNO ERRHRD ERRNO,T20RSF ,MSGSTAT :GET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV (NOT TESTED) 2SET EXP PAR ERR =0 JHIGH RECV ADDRESS FOR CKMSG2 ;LOW RECV ADDRESS FOR CKMSGZ2 sEXPD ADDRESS sNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;aabD JBR IF YES JREPORT ERROR TRAP CSERHRD .WORD 913 .WORD T20RSF WORD MSGSTAT CKLOOP sLOOP ON ERROR, IF FLAG SET TRAP cscLP ( erif{ Data can be transferred without a Parity Error +) Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) MOV #WF ., 14RES RO :IRESV4==>IRSTR = 1 JSR PC,T20WFMT sSETUP T20PK2 FOR WRITE FORMAT MOV lTéOPKZ.R‘ MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 332¢% JGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET ;@93DFORCE ERROR IF FORCER=1 TSVS = HARDWARE TESTS ~ MACRO M1113 25-MAY=82 09:19 TEST 9: READ/WRITE DATA PARITY TEST 5505 064154 5506 064156 5507 064160 5508 064160 064160 064162 064164 064166 5509 064170 5510 064174 0646176 5511 5512 5513 064176 5514 064202 5515 064206 5516 064212 5517 064216 103407 010001 104455 0016%2 065531 012046 005237 012700 052700 052700 737 012704 012700 012701 5531 064306 012704 5532 064310 5533 064314 5534 064320 5535 064334 5536 064336 5537 064340 5538 064340 064340 064342 0646344 064346 5539 064350 5540 064354 06463564 5541 SSL§ 064356 5543 064362 5544 064366 5545 064372 5546 064376 002222 104406 5518 064222 5519 064226 5520 064232 5521 064246 5522 064250 5523 064252 5524 064252 064252 064254 064256 0642 5525 064262 5526 0642 0646266 5527 5528 064270 5529 064274 5530 064300 332%: 010465 004737 000100 000040 000020 066146 3408 : 3 3 066530 103407 010001 104455 001623 065357 012046 005237 552%: 002222 104406 000001 002312 737 066206 010465 004737 000000 016336 3608: : 104455 001624 065422 012046 005237 372%: 002222 104406 012700 004737 012704 010465 004737 000001 066166 066530 000000 016336 3808: : #T20PK2,Ré4 MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 352% BCS 3608 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO, T204SSR,PKTSSR sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sGET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 915 .WORD T204SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CkKLOOP sLOOP ON ERROR, IF FLAG SET 3 . TRAP CSCLP Do a WRITE FIFO with byte count esgal to 1 and Tape direction OUT MOV #1,R0 JWRITE 1 BYTE L [0]") #DATA R1 sFIFO WRITE DATA ADDRESS MOV 103407 010001 SEQ 0257 sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 914 .WORD T208SSR .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CkLOOP sLOOP ON ERROR, IF FLAG SET TRAP CSCLP1 Do a WRITE NPR to set loopback and tape direction OUT and and CLEAR Write Wrong Parity. MOV #NP.OUT,RO sSET TAPE DIRECTION OUT BIS #NP.LOOP,RC sSET LOOPBACK BIS #NP.WRP RO sCLEAR WRITE WRONG PARITY C(INVERTED) JSR PC, T20WNPR sSETUP T20PK2 FOR WRITE NPR JSR 066530 M BCS 3408 MOV RO,R1 NEXT.ERRNO : ERRDF ERRNO, T208SSR,PKVSSR MOy 000000 016336 PAGE 1206 PC TZéUFlF #T20PK2, R4 MOV R4, TSDB(RS) JSR PC,CHKTSSR FORCERROR 372% BCS 3808 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T205SSR,PKTSSR sSETUP T20PK2 FOR WRITE FIFO :GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET s@aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF WORD 916 .WORD T205SSR .WORD PKTSSR INC FATFLG JSET FATAL ERROR FLAG CkLOOP sLOOP ON ERROR, IF FLAG SET TRAP CSCLP Do a READ FIFO with tape direction OUT to load tape out write latch MOV #1.R0 sSET READ BYTE COUNT JSR PC,T20RFIF sSETUP T20PK2 FOR READ FIFO MOV MOV JSR #T20PK2, R4 R4, TSDB(RS) PC,CHKTSSR ;GET WRITE SUBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET TSVS = HARDWARE TESTS ~ MACRO M1113 TEST 9: READ/WRITE DATA PARITY TEST 5547 064402 5548 064416 5549 064420 5550 064422 5551 06442 06442 064426 064426 064430 5552 064432 5553 064436 064436 5554 §55S 5556 064440 5557 064442 5558 064446 5559 064452 5560 064456 5561 064462 5562 064476 5563 064500 5564 064502 5565 064502 064502 064504 064506 064510 5566 064512 5567 064516 064516 5568 5569 06452C 5570 064524 5571 064530 5572 064534 5573 064540 5574 064544 5575 064560 5576 064562 5577 064564 5578 064564 064564 064566 064570 064572 5579 064574 5580 064600 5581 064600 5582 5583 064602 5584 606 5585 064612 5586 064616 5587 064622 5588 064636 25-MAY=82 09:19 002222 104406 005000 004737 012704 010465 004737 392%: FORCERROR 392% BCS 4008 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T206SSR,PKTSSR 4008$: INC CKLOOP FATFLG MOV lTéOPKZ.RL 3 $ 066242 066530 000000 016336 103407 010001 104455 001626 065531 012046 005237 412%: 002222 104406 012700 004737 000001 066242 010465 004737 000000 016336 012704 4208: 3 066530 002222 104406 004737 012704 010465 004737 103407 066126 066530 000000 016336 sDEVICE FATAL SSR FAILED TO SET TRAP WORD WORD .WORD CSERDF 917 TZ206SSR PKTSSR sGET WRITE SUBSYSTEM COMMAND PACKET MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 4128 B(S 4208 MOV RO,.R1 NEXT.ERRNO ERRDF ERRNO, T208SSR,PKTSSR sSET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET :@3DFORCE ERROR IF FORCER=1 :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR MOV sGET WRITE SUBSYSTEM COMMAND PACKET sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 918 .WORD T208SSR : .WORD PKTSSR INC FATFLG sSET FATAL ERROR FLAG CKLOOP ;LOOP ON ERROR, IF FLAG SET TRAP cscLP Do a WRITE FORMAT to set IRESV4==>IRSTR = 1 (sets read strobe high) MOV #WF . I4RES RO sIRESV4==>IRSTR = 1 JSR PC,T20WFMT JSETUP T20PK2 FOR WRITE FORMAT lTéOPKZ.Rk 4328: 4408: INC CkLOOP 3 ;@3aDFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sSET FATAL ERROR FLAG ;LOOP ON ERROR, IF FLAG SET TRAP cscLP Do a WRITE FORMAT to set IRESV4==>IRSTR = 0 (sets read strobe low) (Read Strobe sets PAR IN H [Parity Errorl) CLR RO sIRESV4==>IRSTR = 0 JSR PC,T20WFMT sSETUP T20PK2 FOR WRITE FORMAT MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 432% BCS 4408 MOV RO.R1 NEXT.ERRNO ERRDF ERRNO,T208SSR,PKTSSR 103407 010001 104455 001627 065531 012046 005237 N SEQ 0258 103407 010001 104455 001625 065466 012046 005237 PAGE 120~7 FATFLG sSET THE PACKET ADDRESS TO EXECUTE JWAIT FOR SSR TO SET +@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 919 .WORD T208SSR .WORD PKTSSR sSET FATAL ERROR FLAG sLOOP ON ERROR, IF FLAG SET TRAP (scLP Do a Write Subs‘steu READ STATUS JSR PC,T20SRD sSETUP PACKET FOR READ STATUS MOV thOPKZ.RL MOV R4,TSDB(RS) JSR PC,CHKTSSR FORCERROR 452% BCS 4608 JGET WRITE S'UBSYSTEM COMMAND PACKET sSET THE PACKET ADDRESS TO EXECUTE sWAIT FOR SSR TO SET ;@3DFORCE ERROR IF FORCER=1 sBR IF CARRY SET (GOOD RETURN) 5589 064640 5590 06464 5591 06464 06464 644 452%: 22292920 002222 460$: INC 100000 480%: crgoexsra.n1 MOV MOV #T20BFSTA R2 (R2) R2),(R1) BIC :81.PARERR.(R1) 2(R2) ,2(R1) TRAP CSERDF 920 T203SSR PKTSSR ERRHRD ¢REPORT ERROR NEXT.ERRNO ERRNO,T20CWP,MSGSTAT 555% ISTPTR,R3 CMP R3,#TBLEND JMP 1008 BHIS 002222 ST : 5608 5558 5658: TRAP cscLPt ;9aD sRESTORE CURRENT TSTBLK POINTER sEND OF TSTBLK? sBR IF YES _ ;D0 ANOTHER TSTBLK PATTERN . L10074: FATFLG 5608 PC,CKDROP JSR PC,TSTLOOP JMP T18L00P EXIT CSERHRD 921 T20CWP MSGSTAT s/11171717717 END SUBTEST /711111111 BEQ JSR BCC TRAP .WORD .WORD WORD :LOOP ON ERROR, IF FLAG SET CKLOOP MOV 555%: sGET EXPECTED READ STATUS sGET RECV READ STATUS sSET EXPD WORD #8 = RECV TEMP sSET EXPD WORD #9 = RECV (NOT TESTED) sSET EXP PAR ERR =0 sHIGH RECV ADDRESS FOR CKMSG2 +LOW RECV ADDRESS FOR CKMSGZ2 JEXPD ADDRESS JNUMBER OF BYTES TO COMPARE sEXPD EQUAL RECV? ;aaD sBR IF YES ENDSUB 050506 sDEVICE FATAL SSR FAILED TO SET #T208FR,R1 #T20EXP,R2 #20. ,R3 PC,CKMS G2 FORCERROR 472% ,NOTSSR BCS 4808 FORCEXIT 002316 003062 016456 sSAVE CONTENTS OF TSSR sSET FATAL ERROR FLAG :LOOP ON ERROR, IF FLAG SET MOV MOV MoV JSR 472%: 017202 ——. SEQ 0259 WORD .WORD WORD FATFLG CKLOOP MOV 000002 063054 MoV RO,R1 NEXT.ERRNO ERRDF ERRNO,T203SSR,PKTSSR MOV 011500 5610 064754 064754 5611 5612 064756 8 TRAP cscLP If Read Data aritl error NOT=0 Then Print Error JSR PC,T20SETEXP sSET WORDS 0=7 EXPD=RECV (NOT TESTING) 066334 065062 066422 752 PAGE 120-8 R TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 9: READ/WRITE DATA PARITY TEST TRAP CSESUB sANY FATAL ERRORS ? sBRANCH IF NOT ;TRY TO DROP THE UNIT :DO ITERATIONS? 5658 :BR _IF NO TST SHITT111711 BXIY TEST 2111110110 sLOOP UNTIL ITERATIONS DONE TRAP CSEX 17 TSVS = HARDWARE TESTS TEST MACRO M1113 9: READ/WRITE DATA PARITY TEST 25-MAY=82 09:19 PAGE 121 5633 5634 5635 3¢ sLOCAL STORAGE FOR THIS TEST :® 5638 065036 5639 5640 065036 5641 065037 5642 065040 2224 065041 T20MSK : 377 037 360 000 5645 065042 5646 065042 5647 065044 5648 065046 5649 065050 5650 065052 5651 065054 5652 065056 5653 065060 000000 000020 000000 000000 000000 000000 000000 000000 3633 5654 065062 gggg 065162 BYTE .BYTE .BYTE BYTE T20EXP: WORD .WORD WORD .WORD WORD MWORD WORD WORD T20EXSTA: .BLKB T20EXEND: 2629 122 127 127 127 127 127 127 127 122 122 122 145 122 122 122 122 122 122 122 145 145 145 5689 066126 sBEGIN EXPECTED DATA BUFFER JMESSAGE TYPE sDATA FIELD LENGTH :RBPCR JXSTO IXST1 IXST IXST sXST4& (ALWAYS PRESENT FOR WRITE SuB.) sEXPECTED READ STATUS AND WRITE FIFO DATA JEND EXPECTED DATA BUFFER 141 111 111 111 111 111 111 111 141 141 141 & TST201D: T20SSR: .ASCIZ T202SSR:.ASCIZ T203SSR:.ASCIZ T204SSR:.ASCIZ T205SSR:.ASCIZ T206SSR:.ASCIZ T208SSR:.ASCIZ T20SWP: .ASCIZ T20RSF: .ASCIZ T20CWP: .eegfiz .ASCIZ 'Read/Write Data Parity’ ‘WRITE CHARACTERISTICS Failed' ‘WRITE SUBSYSTEM (Write Misc) Failed' °‘WRITE SUBSYSTEM (Read Status) Failed' °‘WRITE SUBSYSTEM (Write Npr) Failed' °'WRITE SUBSYSTEM (Write FIFO) Failed' °‘WRITE SUBSYSTEM (Read FIFO) Failed' °‘WRITE SUBSYSTEM (Write Format) Failed® ‘Read Data Parity Error (PARERR) Failed to Set after Write Uron? Parity’ ‘Read Data Parity Error (PARERR) Failed to Clear after RESET FIFO' 'Read Data Parity Error (PARERR) occurred in Data Loopback® i s CLEAR MESSAGE BUFFER 012701 012702 105021 00530 00337 000207 066402 000120 T20CLRBUF : SAVREG MOV MoV 108: CLRB DEC BGT RTS #T20BFR,R1 #T20BEND-T20BFR,R2 (R1)+ R2 10% PC : sSAVE R1=RS UNTIL NEXT RETURN sGET MESSAGE BUFFER ADDRESS sSIZE OF MESSAGE BUFFER IN BYTES JCLEAR A BYTE sDONE? sBR IF NO JRETURN I gggg 5688 066126 O O O O O O O O 64. sMASK OF UNTESTED BITS IN READ STATUS JUNTESTED BITS ARE SET TO 1 ;BYTE 0 MASK sBYTE 1 MASK (PARERR,IRESVZ2,IRESV1) sBYTE 2 (TIMER A,TIMER B,UNDEF INED<1:0>) sMAKE IT EVEN sLOCAL TEXT MESSAGES FOR TF3T 5672 5673 gg;g 5676 066102 5677 066102 5678 066106 5679 066112 5680 066116 5681 066120 5 066122 5683 066124 5684 5685 *“(<000> AC<340> AC<017> 0 SEQ 0260 4 + 5657 5660 065162 5661 065211 566§ 065246 5663 065312 5664 065357 5665 065422 5666 065466 5667 065531 5668 065577 5669 065706 gg;? 066007 5 s SETUP T20PK2 PACKET FOR READ STATUS 004737 066102 T20SRD: JSR PC,T20CLRBUF sCLEAR MESSAGE BUFFER TSVS = HARDWARE TESTS TEST MACRO M1113 25-MAY-82 09:19 9: READ/WRITE DATA PARITY TEST 5690 066132 5691 066136 5692 066142 5682 066144 012700 112720 105010 000207 066540 000005 MOV MOVB CLRB RTS PAGE 1211 0 SEQ 0261 #T20DT2,R0 #PW.RDSTATUS, (RO)+ (RO) PC sWRITE SUBSYSTEM DATA BUFFER sSTORE READ STATUS COMMAND IN BSELO sCLEAR BSEL1 ;RETURN : 4 : SETUP T20PK2 PACKET FOR WRITE NPR ¢ INPUT: : b b 066102 %EOHNPR: 066540 JSR PC, T20CLRBUF MOVB MOVB #PW.WNPR, (R1)+ RO, (R1) MOV 000011 g -t O o 004737 701 721 011 207 RO CONTAINS BSEL1 NPR DATA RTS #T20DT2,R1 PC sCLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER :STORE WRITE NPR IN BSELO sSTORE NPR DATA IN BSEL1 *RETURN 4 : SETUP T20PK2 PACKET FOR READ FIFO : INPUT: : 066102 RO CONTAINS SEL2 BYTE COUNT T20RFIF: 066540 JSR MOV 000003 MOVB MOVB : RTS PC, T20CLRBUF #T20DT2,R1 #PW.RFIFO,(R1)+ RO, (R1)+ PC :CLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER sSTORE READ FIFO IN BSELO :STORE BYTE COUNT IN BSEL1 ;;RETURN : SETUP T20PK2 PACKET FOR WRITE FIFO : INPUT: : ; 5729 066206 5730 066206 5731 066212 5732 066216 5733 066222 5734 6 S7§2 066230 RO CONTAINS BYTE COUNT R1 CONTAINS DATA PATTERN BLOCK ADDRESS T20WF IF : 066102 066540 SAVREG JSR MOV 000004 108: MOVB MOVB CLR MOVB DEC BGT RTS PC, T20CLRBUF #T20DT2,R2 #PW.WFIFO, (R2)+ . RO,(R2)+ (R2)+ (R1)+,(R2)+ RO 108 PC sSAVE R1=RS UNTIL NEXT RETURN sCLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER sSTORE WRITE FIFO IN BSELO sSTORE BYTE COUNT IN BSEL1 (UNUSED) sCLEAR SELZ2 sSTORE DATA PATTERN BYTE sDONE ALL BYTES? ;:BR_IF NO *RETURN i ; SETUP T20PK2 FOR WRITE FORMAT TRANSPORT REGISTER : NPUT: RO CONTAINS DRIVING DATA PATTERN TSVS = HARDWARE TESTS ~ MACRO M1113 TEST 9: READ/WRITE DATA PARITY TEST 5747 066242 §748 066242 004737 066102 §750 066252 §751 066256 s;gg 066260 112721 110021 000207 000007 5749 066246 012701 T20WFMT: 066540 JSR MOV :0 g;gg MOVB MOVB RTS PAGE 121-2 E PC, T20CLRBUF #T20DT2,R1 #PW.WFMT,(R1)+ RO, (R1)+ PC SEQ 0262 sCLEAR MESSAGE BUFFER sWRITE SUBSYSTEM DATA BUFFER sSTORE WRITE FORMAT IN BSELO :gT?sgubATA WORD IN BSEL1 : SETUP T20PK2 PACKET FOR WRITE MISC. g;gg ; 5758 06626 §759 066262 5760 066266 5761 066272 §762 066274 5763 5764 5765 §766 066276 5767 066276 5768 066302 5769 066306 g;;g 066312 012701 112721 110011 000207 066540 000010 RO CONTAINS WRITE MISC DATA T20wWMISC: MOV MOVB MOVB RTS i #T200T2,R1 #PW.WMISC, (R1)+ RO, (R1) PC sWRITE SUBSYSTEM DATA BUFFER ¢STORE WRITE MISCELLANEOUS IN BSELO :SE?GSNINVERT EXTENDED FEATURES IN BSEL1 : SETUP T20PK2 PACKET FOR WRITE MISC. INVERT EXTENDED FEATURES SWITCH 012700 112720 112710 000207 066540 000010 000200 ;= T20SEXT: ;0 g;;g MOV MOVB MOVB RTS #T20DT2,RO #PW.WMISC, (RO)+ #MS.EXT,(RO) PC sWRITE SUBSYSTEM DATA BUFFER sSTORE WRITE MISCELLANEOUS IN BSELO :SE?SSNINVERY EXTENDED FEATURES IN BSEL1 : CLEAR EXPECTED DATA MESSAGE BUFFER §774 066314 5775 066314 5776 066320 5777 066324 5778 066326 5779 066330 5780 066332 5781 5782 012701 012700 105021 005300 003375 000207 065042 000120 MOV 08: MOV CLRB DEC BGT RTS #T20EXP,R1 #T20EXEND=-T20EXP,RO (R1)+ RO 108 PC :GET EXPD ADDRESS :GET EXPD SIZE :CLEAR A BYTE BR IF *RETURN :Set WORDS 0-7 of expd message BUFFER = to recv since not testing 5785 066334 5786 066334 5787 066340 5788 066344 012702 012703 012700 5790 066352 5791 066354 g;g 066356 005300 003375 000207 5789 066350 T20CLEXP: i+ g;gz 012322 5794 5795 5799 065042 066402 000010 T20SETEXP: MOV MOV MOV 58: MOV DEC BGT RTS #T20EXP,R2 #T20BFR_R3 #8. RO (R35+,(R2)+ RO 58 PC sGET EXPD sGET READ STATUS RECV BUFFER sSET WORDS 0-7 EXP=RECV sSET_EXPD=RECV ;DONE _WORDS 0-7 WORDS? :BR ;BR_IF NO sRETURN : gggg 5802 25-MAY=82 09:19 JWRITE CHARACTERISTICS COMMAND PACKET 066360 5803 066360 5804 066362 5805 066364 5806 066366 100004 066370 000000 000012 T20PACKET: .WORD .WORD LWORD .WORD 100004 T20DATA 0 10. sCOMMAND PACKET FOR TEST sWRITE CHARACTERISTICS COMMAND, WITH ACK sADDRESS OF CHARACTERISTICS BLOCK sMINIMUM MESSAGE PACKET SIZE TSVS = HARDWARE TESTS ~ MACRO M1113 TEST 9: READ/WRITE DATA PARITY TEST S807 5808 066370 5809 066370 5810 066372 5811 066374 5812 066376 gg}z 066400 066402 000000 000024 000000 5815 5841 066540 5842 066540 5843 066541 5844 066542 5845 066544 5846 5847 5848 066644 066644 066644 .WORD -WORD .WORD WORD JWORD PAGE 121-3 F SEQ 0263 5208FR JCHARACTERISTICS DATA BLOCK sADDRESS OF MESSAGE BUFFER 20. 0 ;LENGTH OF MESSAGE BUFFER ESS ENB,EAI ERI 7 :EXTENDED FEATURES UNIT NO. JMESSAGE BUFFER FOR ALL TEST 17 COMMANDS 000000 000000 000000 000000 000000 000000 000000 000000 ggg? 5833 5835 066530 5836 066530 5837 066532 5838 066534 ggzg 066536 T20DATA: 000007 gg}g 5818 066402 5819 066402 5820 066404 5821 066406 5822 066410 5823 066412 5824 066414 5825 066416 5826 066420 5827 066422 gggg 066522 25-MAY-82 09:19 T20BFR: MORD O WORD 0 .WORD 0 LWORD 0 JWORD 0 WORD 0 JWORD 0 WORD 0 T20BFSTA: .BLKB 64. T20BEND : JBEGIN MESSAGE BUFFER sMESSAGE TYPE :DATARFIELD LENGTH *RBPC *XSTO IXST1 IXST IXST sXST4 (ALWAYS PRESENT FOR WRITE SUBSYSTEM JREAD STATUS AND WRITE FIFO BUFFER JEND OF MESSAGE BUFFER JWRITE SUBSYSTEM READ STATUS COMMAND PACKET 066530 100006 066540 000000 000012 000 000 000000 T20PK2: T20DT2: .=<.+10>8177770 .WORD .WORD -WORD .WORD P.WRTSUB'!'P.ACK T20DT2 0 10. ;LOW ADDRESS OF DATA BLOCK JHIGH ADDRESS OF DATA BLOCK sMINIMUM MESSAGE PACKET SIZE BYTE BYTE .WORD .BLKB 0 0 0 6 4. :DATA BLOCK *BSELO *BSEL1 : sSEL2 sWRITE FIFO DATA OUTPUT BUFFER JWRITE SUBSYSTEM WITH ACK ENDTST 104401 L10073: 25-MAY-82 09:19 +SBTTL PAGE 122 SEQ 0264 TEST 10: MANUAL INTERVENTION sTHE _MANUAL INTERVENTION TEST IS A STANDALONE ROUTINE (NOT REALLY A °'‘TEST'") sTHAT ALLOWS THE OPERATOR TO CHECK OUT VARIOUS ELEMENTS AND FUNCTIONS OF sTHE SUBSYSTEM THAT CANNOT BE MANIPULATED BY THE PROGRAM ALONE. WHEN sTHIS ROUTINE IS STARTED, IT FIRST PRINTS OUT A MENU OF SELECTABLE sSUBTESTS AND THEN WAITS FOR THE OPERATOR TO TYPE IN A SELECTION CODE. sTHE ONLY WAYS TO EXIT THIS ROUTINE AND RETURN TO THE DIAGNOSTIC SUPERVISOR sARE BY TYPING <CTRL=C> OR SELECTING CODE 7. sSELECTION CODES AND SUBROUTINES ARE: CODE NOWVSWN=O TSVS = HARDWARE TESTS _ MACRO M1113 TEST 10: MANUAL INTERVENTION ROUTINE HELP. PRINTS THIS MENU. TURN ON ALL M7196 LED INDICATORS TURN OFF ALL M7196 LED INDICATORS OFFLINE/ONLINE ATTENTION TEST WRITE-PROTECT TEST INITIATE TRANSPORT SERVO EXERCISER PRINT EXTENDED TRANSPORT STATUS EXIT (RETURN TO SUPERVISOR) EACH MENU ITEM CORRESPONDS TO A SUBTEST, AS FOLLOWS: :PRINTS OUT THE MENU ON THE CONSOLE TERMINAL. :CAUSES ALL THREE LED INDICATORS ON THE M7196 MODULE ;70 BE ILLUMINATED. AFTER INITIATING THIS ROUTINE, THE OPERATOR :SHOULD OBSERVE THE LED'S AND VERIFY THAT THEY ARE INDEED ALL LIT. sTHIS ROUTINE FIRST USES THE WRITE SUBSYSTEM MEMORY COMMAND TO §ET THE FORCE WRONG PARITY FLIP-FLOP, WHICH SERVES TO D®IVE THE :"PROCESSOR NOT OK'* LED. THEN IT ENTERS A LOOP THAT CON' NUALLY WRITES THE LOW BYTE OF TSDB AND READS THE TSSR. THESE LATTER TWO :OPERATIONS WILL CAUSE THE 'NOT SSR'' AND 'DRIVING BUSTM LED'S TO sGLOW == THEY ARE NOT REALLY LIT AT M.L TIMES BUT SHOULD APPEAR sREASONABLY VISIBLE. ;INITIALIZES THE CONTROLLER TO CAUSE ALL LED'S TO sEXTINGUISH. THIS ROUTINE INITIALIZES THE CONTROLLER, ISSUES A :WRITE CHARACTERISTICS COMMAND TO ENABLE ATTENTION INTERRUPTS, sISSUES A MESSAGE BUFFER RELEASE COMMAND, PRINTS A MESSAGE ON THE :CONSOLE TERMINAL INSTRUCTING THE OPERATOR TO TOGGLE THE ON-L INE :SWITCH ON THE TRANSPORT, THEN WAITS FOR AN ATTENTION INTERRUPT. :EACH TIME THE TRANSPORT TRANSITIONS FROM ON-LINE TO OFF=-LINE OR :VICE-VERSA, AN ATTENTION INTERRUPT SHOULD BE GENERATED. THE PROGRAM :WILL REPORT THE INTERRUPT AND THE CURRENT STATE OF THE TRANSPORT. TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 25-MAY-82 09:19 5907 PAGE 122-1 H SEQ 0265 s THE_OPERATOR SHOULD VERIFY THAT THE REPORTED STATE MATCHES THE sSTATE INDICATED BY THE LED ON THE FRONT PANEL OF THE TRANSPORT. sIN ADDITION WHEN THE TRANSPORT IS PLACED OFF=LINE, THE PROGRAM :ISSUES A SEQUENCE OF TAPE-MOTION COMMANDS (READ, WRITE PO SITION, ETC. ;AND VERIFIES THAT, FOR EACH COMMAND, FUNCTION REJECT TERMINATION :RESULTS, ALONG WITH THE NON-EXECUTABLE FUNCTION (NEF) ERROR BIT BEING sSET. sTHIS ROUTINE INSTRUCTS THE OPERATOR TO MOUNT A SCRATCH sTAPE REEL THAT DOES NOT HAVE A WRITE-ENABLE RING INSTALLED, THEN sWAITS FOR THE OPERATOR TO RESPOND THAT THIS HAS BEEN ACCOMPL ISHED. sUPON THE RESPONSE, THE PROGRAM VERIFIES THAT THE TRANSPORT SHOWS ¢A WRITE-PROTECTED STATUS, THEN ATTEMPTS TO WRITE DATA ON THE sTAPE AND EXPECTS THE APPROPRIATE ERROR TERMINATION INDICATING THAT sTHE WRITE FUNCTION COULD NOT BE PERFORMED BECAUSE THE REEL IS sWRITE=-PROTECTED. IF THE APPROPRIATE TERMINATION IS NOT RECEIVED, sAN ERROR IS REPORTED. :INSTRUCTS THE OPERATOR TO PLACE THE TAPE TRANSPORT(S) sON=LINE (IF ANY ARE OFF=LINE) THEN ATTEMPTS TO PERFORM AN EXTENDED s STATUS READOUT. FOR EACH TRANSPORT EQUIPPED WITH THIS FEATURE, :THE PROGRAM FORMATS AND PRINTS OUT THE RESULTING STATUS. IF THE s TRANSPORT IS NOT EQUIPPED WITH THIS FEATURE, A MESSAGE INDICATING :SUCH IS ISSUED. BGNTST 072230 073345 218 #T3BNE,RO 1 :BR, e BEQ MOV BR T mov #T381D,R0 071430 L 015774 000200 000250 002116 S $ JGET OPERATOR FLAGS 3s: 176750 3S RO 016510 020500 002222 177772 071442 T10:: RFLAGS 2%: 58: JSR JSR BCS JMP (LR MOV JSR BCS MOV BIT BNE DELAY PC,TSTSETUP PC . CHKMAN 22% 648 FATFLG #65000 , T38DLY . PC,SOF INIT 23§ RO,R1 #SSR,R1 238 250 IF OK TO RUN TRAP CSRFLA *“TEST NOT EXECUTED"’ :JUMP IF NOT FIRST TEST sTEST ID MESSAGE :D0 THE COMMON SETUP s1S MANUAL INTERVENTION ALLOWED? sBR, IF MANUAL INTER ALLOWED sJUMP IF NOT ALLOWED sCLEAR THE FATAL ERROR FLAG sSET UP DELAY COUNTER :DO A SOFT INIT sBRANCH IF 0K sCONTENTS OF TSSR REGISTER sCHECK FOR TSSR SET sKEEP GOING IF NOT SET sCALL DELAY ROUTINE MOV LWORD MOV LWORD DEC #250,(PC)+ O LSDLY, (PC)+ O =-6(PC) TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 066752 066756 0667 001375 005367 001327 $964 066762 5965 066766 5966 066770 066770 066772 0667764 066776 §967 067000 5968 067 5969 067010 005337 001352 104455 001751 003652 012034 012700 012701 004737 §971 067016 006304 §973 067026 5974 067026 5975 067030 5976 067032 5977 067034 5978 067036 5979 067040 5980 067042 06670 06704 067324 067556 070212 071146 071424 067054 067056 5981 067062 067 104417 062706 004737 004737 5970 067014 010004 25-MAY-82 09:19 5983 067072 012746 012746 010600 103405 SEQ 0266 BNE DEC 071442 073372 000006 020256 238: 68: 108: 073241 000001 000004 073776 015774 067076 067100 067102 067106 gggg 067106 001752 003652 012034 013737 MOV MOV JSR #MIMENU,RO #6.R1 PC. sersn R4 :CONVERT TO WORD OFFSET 2% 108 158 208 25% 358 63$ #T38MS2 SRETYPE THE MENU * 1 TURN ON LED'S : 2 TURN OFF LED'S : 3 ONLINE meunou * & WRITE PROTECT * S EXTENDED TRANSPORT STATUS : 6 LEAVE THE TEST :TELL OPERATOR TO CNTRL=C FOR EXIT JSR JSR PC,T38REST PC,SOFINIT TRAP ADD :SET PACKET TO INITIAL VALUES 2D0 SOFT INIT OF CONTROLLER MOV RO,R1 *SAVE CONTENTS OF TSSR MOV RO.RG JMP 368 (R4) .WORD .WORD "WORD .WORD .WORD .WORD "WORD PRINTF 072170 1008: ;BUMP COUNTER DOWN :BR, IF MORE TIME LEFT JREPORT FATAL ERROR =20 TRAP CSERDF .WORD 1001 .WORD SFIERR -WORD SFIMSG ;MENU OF MANUAL INTERVENTIONS :MAXIMUM ALLOWED SELECTION :G0 GET THE OPERATORS SELECTION ERRDF 002202 BNE T38DLY 5% ERRNO,SFIERR,SFIMSG BCS 104455 b =22(PC) DEC BNE ERRDF ASL 5987 067074 010001 5988 067076 1 177756 5972 067020 000174 067024 067042 067046 067052 PAGE 122-2 *GET NUMBER FROM ROUTINE :JUMP TO PROPER LOOP MOV MOV MOV 1008 #T38MS2,~(SP) #1,-(SP) SP.RO CSPNTF #4,SP :BR IF SOFT INIT = OK ERRNO IERR,SF SF IMSG , :DEVICE FATAL ERROR DURING INIT TRAP csmr .WORD .WORD .WORD 1002 SFIERR SFIMSG MOV UNTTN, T38DSW 5991 067114 012704 072150 MOV #T38PK2,R4 :SUBROUTINE NEEDS PACKET ADDRESS 5993 BCS 1108 *BR, IF COMMAND xssueo oK ERRHRD ERRNO,WRTMSG, SF IMSG *WRITE CHARACTERISTISC FAILED MOVE 40,73 ;CLEAR BIT #4 5992 067120 067124 004737 103405 010662 JSR 5997 067126 010001 5998 067130 067130 067132 067134 067136 5999 067140 6000 067140 6001 067146 MOV 10445 00175 005056 012034 112737 112737 6oo§ 067154 012704 000000 000011 071450 ¢ 6006 067160 010465 000000 071461 071460 Move MOV ;NOTE: PC,WRTCHR RO,R1 #1i.7 ssso #T3BPACKET,RG ;SET UNIT NUMBER :1SSUE WRITE CHARACTERISTICS :SAVE CONTENTS OF TSSR TRAP .WORD .WORD .WORS SWRITE MISC COMMAND :SET UP NEW WRT. SUBSYS MEM. COMMAND THIS COMMAND TURNS ON THE PROCESSOR FAIL LED MOV R4, TSDB(RS) CSERHRD 1003 WRTMSG SFIMSG ;SET THE PACKET ADDRESS TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 6007 067164 6008 067170 6009 067172 6013 067174 067174 004737 103405 25-MAY=82 09:19 016336 104455 001754 072646 012046 1508: 104406 012700 104441 005037 032737 000340 005237 052737 012701 011137 071434 000100 00006 071436 011137 071440 1005 012721 012711 012700 104441 012701 ooo;ao 012702 110165 071434 000100 177560 177560 7018: 128: 14$: 062706 ?8§z3; 000004 015774 158: A 104455 oogzoz 072150 010662 072170 2008: CSCLP Mov TRAP #PR107,RO TTION2 #100,3#TTICSR sASSUME INTERRUPTS ARE ENABLED INC BIS MOV MoV TTION2 #100,3#TTICSR #TTIVEC.R (R1) ,TVSAV2 #5908, (R1)+ (R1), TPSAV2 #PR107, (R1) #PRIOO ¢ARE TTI ' TRAP #-1,R1 DEC BNE R2 148 128 ;DATA TO WRITE TO TSDB sALLOW OPERATOR TO TYPE “C sSET=UP INNER LOOP sWRITE DATA TO TSDB sREAD TSSR sREDUCE INNER COUNT sLOOP TILL EXPIRES sLOOP UNTIL HALTED PRINTF #T38MS2 sTYPE CNTL C TO EXIT ggg 586§0FXNIT ;D0 SOFT INIT OF CONTROLLER sBR IF SOFT INIT = OK sSAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DUnggA;NlT MOV #1000. ,R2 R1,TSDB(RS) TSSR(RS) ,RO MOV MOV JSR BCS CSSPRI INTERRUPTS ON ? sBRANCH IF YES sFLAG SET IF INTERRUPTS OFF sENABLE INTERRUPTS sSTART OF TTI VECTORS sSAVE THE CURRENT TT1 VECTOR ¢SET_NEW _INTERRUPT ROUTINE sSAVE THE VECTOR PRIORITY sUSE PRIORITY SEVEN ;LOWER INTERRUPT BR LEVEhov MOV NOP MOV MOV 22¥of 22&:3 SFIERR, SF IMSG 001755 003652 012034 TRAP LR BIT B8R 073241 000001 PKTSSR ;LOOP ON ERROR, IF FLAG SET 701$ CSERDF 1004 T38SSR .WORD .WORD .WORD sRAISE THE PRIORITY SETPRI 001750 000000 sWAIT FOR SSR TO SET :BR IF CARRY SET (GOOD RETURN) sSAVE CONTENTS OF TSSR sDEVICE FATAL SSR FAILEDF;2PSET #PR]O7 MOV 177777 SEQ 0267 SETPRI MOV 000000 1508 CKLOOP 000340 012746 012746 010600 ooam 104456 RO,R1 ERRNO, T38SSR,PKTSSR MOV 000766 103405 MOV ERRDF BNE 005302 001372 013737 0127064 004737 PC,CHKTSSR 070730 016500 000062 104417 JSR BCS 010001 J PAGE 122-3 Mov MOV MOV TRAP ADD #PRI100,RO CS$SPRI #738MS2,~(SP) CSERDF 1005 SFIERR SFIMSG UNITN, T38DSW #T38PK2 R4 PC,WRTCHR 2108 ERRMRD EAAND,URTNSG, SF INSG TRAP CSERHRD TSV5 = HARDWARE® TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 605[. 067410 067412 067414 25-MAY=82 09:19 001756 005056 012034 SEQ 0268 : : 28?9 6060 067416 112737 6061 067426 067432 6063 067436 112737 012704 010465 6065 067446 103405 6064 067442 004737 000000 000025 071450 000000 071461 016336 067464 067470 012700 104441 6079 067526 6080 067530 6081 067534 6082 067540 6083 067544 067544 067550 6084 067552 6085 067554 wa!:!7° 6088 067556 012701 000060 071436 070730 071440 000340 012700 000000 000776 012746 012746 010600 073241 000001 067572 062706 000004 067576 012700 000000 6089 067576 104417 067602 067604 6091 067610 104441 005037 004737 6096 067616 010001 6092 067614 6097 067620 103405 177560 177560 7108: 002224 015774 208: PC.CHKTSSR RO,R1 ERRNO,T38SSR,PKTSSR CKLOOP #PRIO? :CLEAR BIT #4 :STOP DRIVE TEST 22 :SET UP NEW WRT. SUBSYS MEM. COMMAND :SET THE PACKET ADDRESS *WAIT FOR SSR TO SET :BR IF CARRY SET (GOOD RETURN) *SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 1007 .WORD T38SSR .WORD PKTSSR ;LOOP ON ERROR, IF FLAG SET TRAP CSCLPI ;RAISE THE PRIORITY MOV TRAP CLR BIT BNE INC 8IS TTION2 #100,3#TTICSR 7108 TTION2 #100,3#TTICSR ;ASSUME INTERRUPTS ARE ENABLED :ARE TTI INTERRUPTS ON ? *BRANCH IF YES :FLAG SET IF INTERRUPTS OFF *ENABLE INTERRUPTS MOV MOV MOV MOV (R1), TVSAV2 #5908, (R1)+ (R1), TPSAV2 #PR107, (R1) :SAVE THE CURRENT TTI VECTOR *SET NEW INTERRUPT ROUTINE :SAVE THE VECTOR PRIORITY :USE PRIORITY SEVEN MOV SETPRI 2608: 067556 067562 067566 067570 2508 SETPRI 000340 011137 012721 011137 012711 104441 000240 BCS ERRDF 6073 067472 005037 071434 6074 067476 032737 000100 6075 067504 001005 6076 067506 005237 071434 6077 067512 052737 000100 6078 067520 #25,738850 #T38PACKET,R4 R4, TSDB (RS MOV 2508: #0,T388S1 Mmove MOV MOV JSR 104406 1006 WRTMSG SFIMSG THIS WRITE SUB=SYSTEM MEMORY COMMAND JUST HOLDS THE LEDS OFF MOVB 071460 104455 001757 072646 012046 LWORD .WORD .WORD :'.Qt'.'..t'Qt.tt."t.t'ttttlt.t.tQt.!t'..l'..tttlt..t.'t."'.".' 2108: 067450 010001 6070 067452 067452 067456 067456 067460 6071 067462 067462 6072 067464 K ;tt't'ttt...t't..t't.tt".ttt.t'.tt.t't.tt....Q.tt't't't.l..t..t 6055 6058 6059 067416 PAGE 122-4 NOP #TTIVEC.R1 #PRI0O C$SPRI :START OF TTI VECTORS :LOWER INTERRUPT BR LEVEL ;ALLOW CNTL € B8R 2608 :LOOP UNTIL STOPPED PRINTF #T38MS2 :TELL'EM WHAT TO TYPE MOV #PR1I00,RO MOV MOV MOV #T38MS2,~(SP) 1 ,-(SP) SP.RO ADD #6,5P MOV #PR100,RO TRAP TRAP SETPRI #PRI107,RO CS$SPRI CSPNTF #PRI0O :LOWER PRIORITY TO ALLOW INTERRUPTS CLR JSR INTRECV PC, SOF INIT TRAP :CLEAR INTERRUPT RECEIVED FLAG :DO SOFT INIT OF CONTROLLER MOV RO,R1 :SAVE CONTENTS OF TSSR BCS ERRDF 3008 ERRNO,SFIERR,SF IMSG CS$SPRI *BR IF SOFT INIT = OK sDEVICE FATAL ERROR DURING INIT P — f_ . TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENT ION 25-MAY-82 09:19 104455 001760 003652 012034 002202 000040 004737 010662 103405 6108 067660 072150 072170 072166 300%: 072200 000000 016250 016501 032701 1402 052702 052702 000002 000100 3108: 067762 6127 067766 067766 067772 067776 070000 070002 6128 070006 070006 070012 6129 070014 6130 070020 6131 070026 6132 070030 000100 000200 3208: 6135 070046 3508: 073146 000001 3108 RO,R1 ERRNO,WRTMSG, SF IMSG s SUBROUTINE NEEDS PACKET ADDRESS ISSUE WRITE CHARACTERISTICS IF _COMMAND | SSUED OK SAVE CONTENTS OF TSSR :WRITE CHARACTERISTISC FAILED TRAP -WORD .WORD MOV MOV JSR #T38PK3,R4 na.rsoa<a5) PC.WAITF MOV BIT BEQ BIS BIS TSSR(RS) ,R1 #OFL R 3208 #OFL ,R2 #SSR_R2 CMP R’ R2,R1 071434 000100 012701 060 011137 071436 CKLOOP PRINTF #T38MS1 PRINTF #T38MS2 073241 000001 ool hanti 012700 000340 58333} 071434 032737 000100 177560 oos;sr 052737 SFIERR SFIMSG CSERHRD 1009 WRTMSG SFIMSG sSET UP NEW PACKET FOR MESS BUF REL sMESSAGE BUFFER RELEASE,ACK,CVC=1 CMD sWAIT FOR SSR TO SET :MAKE SURE ALL IS CLEAR sGET TSSR_STATUS lS OFL SET IF OFL IS NOT SET ssi OFL IN EXPECTED :SET UP EXPECTED :1S EVERYTHING OK sBR, IF ALL IS WELL sDEVICE FATAL SSR 'AILEDT;RPSE' CSERHRD 1010 T38SST «WORD .WORD .WORD PKTSSR TRAP cscLP ;LOOP ON ERROR, IF FLAG SET sTELL OPERATOR TO TOGGLE SWITCH #T38MS1,-(SP) #1,-(SP) st Hesees: 001005 PC,WRTCHR #T38PK2.RG Esguao 33230 T38SST.PKTSSR 104417 012746 012746 010600 104417 JSR CLR 001762 073056 012046 012746 012746 010600 CSERDF 1008 sSET UNIT NUMBER IN PACKET ¢ENABLE ATTENTION INTERRUPTS -WORD 012704 010465 004737 n— UNITN, T38DSW #BITS.T38EAI MOV ERRHRD S 104456 067742 6125 067744 067744 6126 067766 067746 MOV MOV BCS 104456 001761 005056 012034 020201 SEQ 0269 «WORD MOV 010001 005002 L TRAP «WORD -WORD 013737 012737 012704 PAGE 122-5 177560 SETPRI #PRIO? CLR TTION2 BIT #100,3#TTICSR BNE 720 INC 8IS MOV MOV 20 TION2 0100 FTTICSR #TTIVEC,R1 (R1), TVSAV2 sTELL OPERATOR TO DO “C TO EXIT MOV MOV MOV :{3‘”52.~ (SP) ADD #,5P TRAP sRAISE THE PRIORITY TRAP sASSUME INTERRUPTS ARE ENABLED ARE TT] INFERRUPYS ON ? :BRANCH IF YES sFLAG SET IF INTERRUPTS OFF :ENABLE INTERRUPTS sSTART OF TT1 VECTORS SP,.RO CSPNTF #6,5P :SAVE THE CURRFNT TTI VECTOR SP.RO CSPNTF TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 10: MANUAL INTERVENTION 6136 070052 012721 070730 6139 070066 070066 070072 6140 070074 6141 070076 6142 070102 6143 070104 012700 104441 000240 005737 001001 000773 000000 070103 070112 070116 070120 070122 6145 070126 6146 070132 6147 070136 012746 012746 010600 104417 062706 016501 032701 001011 070140 070144 070150 070152 070156 012746 012746 010600 104417 062706 6137 070056 6138 070062 6144 070106 6148 070140 011137 012711 6149 070160 000410 6150 070162 071440 000340 000004 005037 000137 070216 070220 070222 070224 070226 6154 070226 070226 6155 070230 073774 000120 073305 177777 103371 005737 073774 6158 07024 6159 070242 004737 015774 070214 073022 000001 000004 002224 067630 104443 6164 070250 6165 orozss 070252 070254 070256 070260 6166 070262 SETPRI #PRI00 NOP TST BNE BR 3808: (R1), TPSAV2 #PR107, (R1) gnrnscv 708 3608 PRINTF #T38INT MOV BIT BNE TSSR(RS) ,R1 #OFL R 3808 B8R #T380NL 3908 103405 ;SET NEW INTERRUPT ROUTINE *SAVE THE VECTOR PRIORITY *USE PRIORITY SEVEN ‘LOWER INTERRUPT BR LEVEL MOV TRAP sALLOW CONTROL € :DID AN INTERRUPT OCCUR ? :BRANCH IF YES :WAIT SOME MORE FOR INTERRUPT *"INTERRUPT RECEIVED" :"DRIVE IS NOW ON-LINE'’ ;ALMOST DONE 3908: 25$: #T3BINT,=(SP) #1,-(SP) SP.RO CSPNTF #4,5P MOV MOV MOV TRAP ADD #T380NL ,=(SP) #1,-(SP) SP,RO CSPNTF #4,SP MOV MOV MOV TRAP #T380FL ,~(SP) #1,-(SP) SP.RO CSPNTF ) #T380FL *“DRIVE IS NOW OFF=LINE' CLR JMP GMANIL INTRECV 3008 T38MSG,T38DAT,=1.NO ;CLEAR xnrennupr FLAG *TRY AGAIN *WAIT FOR OPERATOR TO noum TAPE TRAP CSGMAN B8R 278%: 100008: .WORD .WORD .WORD -WORD BNCOMPLETE 25$ ;RETRY IF ERROR ST BCC :DID OPERATOR SAY °'YES® ? T38DAT BNE JMP sn $ *BRANCH IF YES *RETURN TO MAIN MENU JSR PC,SOF INIT :D0 SOFT INIT OF CONTROLLER MOV ERRDF RO,R1 ERRNO,SFIERR, SF IMSG :SAVE CONTENTS OF TSSR :DEVICE FATAL ERROR DURING INIT TRAP LWORD .WORD .WORD ;LOOP IF SELECTED BCS 4008: #PR100,RO CS$SPRI MOV MOV MOV TRAP ADD ;READ TSSR STATUS :CHECK THE OFF=-LINE BIT :BR, IF DRIVE IS OFF=LINE : : 010001 104455 001763 003652 012034 SEQ 0270 PRINTF 000404 6156 070234 001002 6157 070236 000137 066702 6160 070246 #5908, (R1)+ PRINTF 072766 000001 6151 070202 6152 070206 6153 070212 070212 062706 3708: 000004 000002 000100 012746 012746 010600 104417 070176 3608: 072736 000001 070162 070166 070172 070174 MOV MOV MOV 002224 PAGE 122-6 CKkLOOP 4008 #4,SP 100008 T38DAT TSCODE T38MSG 258 :BR IF SOFT INIT = OK CSERDF 1011 SFIERR SFIMSG TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 070262 6167 070264 06 013737 002202 004737 010662 6168 070272 012704 6170 070302 103405 6169 070276 6174 070304 6175 070306 070306 070310 070312 070314 6176 070316 070316 6177 070320 6178 070324 104406 013701 010102 6181 070334 001406 070336 104456 072170 MOV ; 410$: 071474 4108 001765 072464 015474 005237 104406 005737 001402 002222 6191 070366 017737 112532 002222 ;SET UNIT NUMBER CSCLPT TRAP +SUBROUTINE NEEDS PACKET ADDRESS PC,WRTCHR xssue WRITE CHARACTERISTICS IF COMMAND ISSUED OK RO,R1 ERRNO,WRTMSG, SF IMSG SAVE CONTENTS OF TSSR *WRITE CHARACTERISTISC FAILED TRAP LWORD .WORD .WORD ;LOOP IF SELECTED rsaarm R1 R2 ;PICK UP XSTO CONTENTS *SET UP EXPECTED 430$ :BR, IF ALL IS WELL (OK) CKLOOP BIS CMP mrz R2 R1,R2" ERRHRD ERRNO, T38WRL ,EXPREC BEQ 070340 070342 070344 6186 070346 6187 orossz 070352 6188 070354 6189 070360 SEQ 0271 UNITN, T38DSW BCS MOV MOV 000004 N #T38PK2,R4 MOV ERRHRD 104456 001764 005056 012034 PAGE 122-7 MOV JSR 010001 6179 070326 052702 6180 070332 020102 6185 070336 072150 25-MAY-82 09:19 CSERHRD 1012 WRTMSG SFIMSG CSCLPT *SET UP THE WRITE LOCKED BIT *ARE THEY CORRECT **WRITE LOCKED BIT IS NOT SET ETC. TRAP cseauno 1013 T38WRL EXPREC INC CKLOOP FATFLG ST BEQ FATFLG 4358 TRAP CSCLP1 uas THE DRIVE NOT WRITE LOCKED BR, IF FLAG NOT SET MOV aFREE, T38WR :SET UP WRITE BUFFER ADDRESS 6193 070400 010465 000000 MOV R4, TSDB(RS) 6195 070410 MOV 6190 070362 000137 066702 6192 0703764 6194 070406 012704 072220 004737 016250 016501 430$: 072222 4358: JMP MOV JSR 000002 :SET FATAL FLAG :LOOP IF SELECTED .WORD .WORD .WORD 3 28 ae-ume MENU #T38PK4 R4 :GET PACKET ADDRESS :SET THE PACKET ADDRESS PC.WAITF :WAIT FOR SSR TO SET TSSR(RS) R :GET TSSR 446: :BR, IF CORRECT STATUS 6196 070414 012702 100206 6197 070420 020102 MOV CMP osc'ssa'am'anz R2 R2 6202 070424 ERRHRD ERRNO, T38WRT,PKTSSR 6198 070422 001404 070424 070426 070430 070432 6203 070434 070434 104456 001766 072400 012046 6206 070444 052702 6208 070452 001404 070454 070456 070460 070462 6213 070464 070464 10445 00176 072525 015474 BEQ 4408: 104406 MOV MOV 6207 070450 020102 CMP 6212 070454 1044 6214 070466 000137 004000 rsasraos R1 R2 BIS mm R2 BEQ 450s :READ XSTO CONTENTS :SET UPR EXPECTED : 066702 CKLOOP JMP CSCLPY HAS THE BIT SET IF IT WAS (GOOD) ; véne LOCK ERROR BIT NOT SET** :LOOP IF SELECTED 2 CSERHRD 1014 T38WRT PKTSSR :SET THE WRITE LOCK ERROR BIT (XSTO) R1,RQ ERRHRD ERRNO.!SBHLE.EXPREC 4508: :*TSSR INCORRECT AFTER ume COMMAND .uoao .WORD .WORD :LOOP ON ERROR, IF FLAG SET TRAP CKLOOP 6204 070436 013701 071474 6205 070442 010102 :SET UP EXPECTED *ARE THEY EQUAL (CORRECT) :G0 BACK TO MENU TRAP .WORD .WORD .WORD CSERHRD 1015 T38WLE EXPRE( TRAP (SCLPY TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 25-MAY-82 09:19 PAGE 122-8 8 SEQ 0272 6215 6%16 :ttttttttttt.ttt.tttt.t.Qt'tttttQ.QlQQ.t.tlttt..ttttt.tttt't.t..ttt 621‘ A i 621 ; 6219 070472 6220 070472 070472 070476 070502 070504 070506 6221 070512 6222 070516 6223 070522 6227 070524 6228 070526 070526 070530 070532 070534 6229 070536 6230 070544 6231 070550 6232 070554 6236 070556 6237 070560 070560 070562 070564 070566 6238 070570 6239 070570 0$: 012746 012746 010600 104414 062706 004737 004737 103405 072305 000001 000004 073776 015774 104455 001770 003652 012034 013737 0127064 004737 103405 002202 072150 010662 6241 070606 012704 071450 6243 070610 070614 6244 070620 6245 070622 6249 070624 070624 070626 070630 070632 6250 070634 070634 6251 070636 070636 070642 6252 070644 6253 070650 6254 070656 6255 070660 6256 070664 6257 070672 072170 5008: 010465 004737 103405 000020 071461 071460 5108: ‘ 000000 104455 001772 072646 012046 5508: 104406 012700 104441 005037 032737 001005 005237 052737 012701 6258 070676 011137 6260 070706 011137 6259 070702 o127§1 000340 071434 000100 071434 000100 00006 071436 070730 071440 177560 177560 §558: I JSR JSR PC,T38REST PC.SOFINIT e Y R 5008 RO,R1 ERRNO, SFIERR, SF IMSG MOV MOV JSR UNITN, T38DSW #T38PK2.R4 PC,WRTCHR MOV ERRHRD RO,R1 ERRNO,WRTMSG, SF IMSG 5108 A 2222322322222 22222222222221221%1 . :"EXE ANY OTHER MENU SELECTION TO STOP MOV #T38MS3,=(SP) MOV #1,=(SP) MOV SP,RO TRAP CSPNTB ADD #4,SP ;SET PACKET TO INITIAL VALUES :DO SOFT INIT OF CONTROLLER *BR IF SOFT INIT = OK :SAVE CONTENTS OF TSSR *DEVICE FATAL ERROR DURING INIT TRAP CSERDF .WORD 1016 .WORD SFIERR .WORD SFIMSG ;SET UNIT NUMBER +SUBROUTINE NEEDS PACKET ADDRESS *ISSUE WRITE CHARACTERISTICS CSERHRD 1017 WRTMSG SFIMSG #0,T388S1 :CLEAR BIT #4 MOV #T38PACKET,R4 :SET P NEW WRT. SUBSYS MEM. COMMAND Mmove #20,738850 R4, TSDB(RS) JSR PC . CHKTSSR MOV ERRDF RO,R1 ERRNO,T38SSR,PKTSSR 5508 CKLOOP SETPRI #PR107 CLR BIT BNE INC BIS MOV TTION2 #100,3#TTICSR 5558 TTION2 #100,3#TTICSR #TTIVEC.R1 MOV #5908, (R1)+ MOV MOV (R1), TVSAV2 (R1), TPSAV2 | | | | :BR, IF COMMAND ISSUED OK *SAVE CONTENTS OF TSSR :WRITE CHARACTERISTISC FAILED TRAP WORD .WORD .WORD MOVB BCS 010001 I #T38MS3 MOV 016336 i3 PRINTB BCS 104456 001771 005056 012034 000000 6242 12 MOV ERRDF 010001 112737 SERVO EXERCISER NO LONGER USED BCS 010001 112737 6240 070576 i i . | | :EXECUTE DRIVE TEST 22 :SET THE PACKET ADDRESS *WAIT FOR SSR TO SET :BR IF CARRY SET (GOOD RETURN) *SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 1018 .WORD T38SSR .WORD PKTSSR :LOOP ON ERROR, IF FLAG SET TRAP CSCLPY ;RAISE THE PRIORITY MOV #PR107,RO TRAP CS$SPRI ;ASSUME INTERRUPTS ARE ENABLED :ARE TTI INTERRUPTS ON ? *BRANCH IF YES :FLAG SET IF INTERRUPTS OFF :ENABLE INTERRUPTS *START OF TTI VECTORS :SAVE THE CURRENT TTI VECTOR *SET NEW INTERRUPT ROUTINE :SAVE THE VECTOR PRIORITY . TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 6261 070712 012711 000340 070716 070722 6263 070724 gggg 070726 012700 104441 000240 000776 000000 6262 070716 25-MAY=82 09:19 MOV - 5608: 010046 113700 042700 6274 070750 6275 070756 6276 070762 012766 osoge 013737 122700 001075 6283 071030 5908: 177562 000200 000015 066702 000004 000002 013737 112737 112737 071440 000025 000000 000062 071460 071461 010465 012737 000000 176750 071436 6280 071012 012704 071450 6281 071016 6282 071022 6291 071110 6292 071112 6296 071114 071114 071116 071120 071122 6297 071124 071124 6298 071126 6299 071132 6300 071134 6301 071142 6302 071144 6303 071146 6304 071146 6305 071152 #PRI07, (R1) SETPRI #PRI0O’ NOP BR 5608 004737 016250 071442 032701 001017 000200 012727 000000 013727 000000 005367 001375 005367 001367 000250 005337 001352 004737 103405 5928: SEQ 0273 ;USE PRIORITY SEVEN :LOWER INTERRUPT BR LEVEL ;LOOP AWHILE *STAY IN "'TIGHT'* MOV TRAP #PRI00,RO CS$SPRI LOOP :SAVE WORK REGISTCR :GET THE OPERATOR INPUT :STRIP OFF PARITY BIT CMPB BNE #15.R0 591§ :1S IT A CARRIAGE RETURN ? :JUST EXIT IF NOT MOV MOVB MOVB rpssz FTTIVEC+2 5, 138850 738851 ;RESTORE SUPER PRIORTY :STOP DRIVE TEST 22 :CLEAR BS1 R4, TSDB(RS) #65000. ,T38DLY :SET THE PACKET ADDRESS :SET UP DELAY COUNTER ozs 2<sp) nerunu TO MASTER MENU :FORCE PRIORTY 0 tVSAVZ FTTIVEC :RESTORE VECTOR MOV chapAcxer R4 JSR PC,WAITF DO A WAIT FOR SSR BIT BNE DELAY #SSR,R1 5958 250 *CHECK FOR TSSR SET :KEEP GOING IF NOT SET *CALL DELAY ROUTINE DEC BNE JSR T38DLY 5928 PC,CHKTSSR eunp COUNTER DOWN IF MORE TIME LEFT UA!T FOR SSR TO SET MOV ERRDF RO,R1 ERRNO,T38SSR,PKTSSR MOV MOV MOV TSSR(RS) ,R1 :SET UP NEW WRT. SUBSYS MEM. COMMAND *CONTENTS OF TSSR REGISTER 177772 177756 071442 016336 5958: 104455 001773 072646 012046 5808: 071434 045737 000100 004737 004737 073776 015774 012600 000002 RO,=(SP) a#TTIBFR,RO #200,R0 002116 010001 104406 005737 0014 MOV MOVB BIC MOV CLR MOV 000060 6284 071034 016501 000002 6285 071040 6286 071044 6287 071046 071046 071052 071054 071060 071062 071066 071070 0710764 6288 071076 6289 071102 6290 071106 6 :PROCESS CONSOLE INTERRUPTS 6269 070730 6270 070732 6271 070736 6277 070770 6278 070776 6279 071006 C ;4 6266 6272 070742 6273 070746 PAGE 122-9 177560 BCS CKLOOP ST BEQ 5918: 358: 5808 TTION2 5918 MOV .WORD MOV .WORD DEC BNE DEC BNE :BR IF CARRY SET (GOOD RETURN) :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 1019 .WORD T38SSR .WORD PKTSSR :LOOP ON ERROR, IF FLAG ser CSCLPY ;ARE SUPER INTERRUPTS ENABLED *BR, IF YES BIC #100,a#TTICSR (SP)+,R0 nestoae REGISTER *RETURN JSR JSR PC,T38REST PC.SOFINIT :SET PACKET TO INITIAL VALUES :DO SOFT INIT OF CONTROLLER MOV RTI #250, (PC)+ 0 LSDLY, (PC)+ O ~6(PC) 4 =22(PC) .=20 *RESTORE REGISTER TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 6306 071156 6310 071160 6311 07116 071162 071164 071166 071170 6312 071172 071172 6313 071174 gg}g 071200 012701 012702 6316 071204 010221 6318 071212 6319 071214 6320 071216 6321 071226 6322 071230 001401 000773 013737 0127064 004737 6327 071236 6328 071240 071240 071242 071244 071246 6329 071250 071250 6330 071252 010001 25-MAY-82 09:19 103405 010001 BCS MOV ERRDF 104455 001774 003652 012034 104406 600$: 071466 125252 6018: 6323 071234 6331 071260 6332 071266 6333 071272 6334 071276 6335 071304 6336 071310 6337 071314 6338 071320 6339 071322 071322 071326 071330 071334 071336 071342 071344 071350 6340 071352 6341 071356 6342 071360 6343 071364 6344 071366 6348 071370 071370 071372 071374 071376 6349 071400 103405 002202 072150 010662 072170 610$: 000000 071461 112737 012704 00002% 071450 071460 012737 000144 071442 012727 000250 013727 002116 005367 001375 005367 001367 005337 00135 004737 177772 010465 004737 016501 032701 001017 103405 010001 , 104455 001776 072646 012046 000000 016250 000002 000200 MOV CMP 600$ RO,R1 ERRNO,SFIE SFRR, IMSG #T38BFR,R1 #125252.R2 R2, (R1)+ #T$8EB,R1 - 6308: CSCLP1 ;CLEAR OUT THE MESSAGE BUFFER :END OF BUFFER YET RO.R1 ERRNO,WRTM SFSG, IMSG JSAVE CONTENTS OF TSSR :WRITE CHARACTERISTISC FAILED TRAP .WORD .WORD .WORD :LOOP IF SELECTED TRAP :CLEAR BIT #4 610$ CKLOOP #0,T388S1 MOVB MOV #24,T7388S0 0735PACKE?.R6 MOV #100., T38DLY R4, TSDB(RS) JSR MOV BIT BNE DELAY PC.WAITF TSSR(RS) ,R1 #SSR,R1 6308 250 DEC BNE JSR T38DLY 6208 PC,CHKTSSR BCS MOV ERRDF 6508: TRAP ;ADDRESS OF MESSAGE BUFFER *ALTERNATING 1°S AND 0°S MOV ERRHRD 177756 016336 :BR IF SOFT INIT = OK +SAVE CONTENTS OF TSSR :DEVICE FATAL ERROR DURING INIT TRAP CSERDF WORD 1020 .WORD SFIERR .WORD SFIMSG ;LOOP IF SELECTED :BR, IF AT END OF BUFFER :NOT AT END KEEP GOING *SET UNIT NUMBER :SUBROUTINE NEEDS PACKET ADDRESS +ISSUE WRITE CHARACTERISTICS MOV 071442 SEQ 0274 605$ 601$ UNITN, T38DSW #T38PK2. R4 PC,WRTCHR MOVB 6208: 6 BEQ BR MOV MOV JSR BCS 104456 001775 005056 012034 104406 112737 605$: D CKLOOP MOV MOV 6317 071206 022701 072142 PAGE 122-10 CKLOOP 6508 RO,R1 ERRNO,T38SSR,PKTSSR . *BR, IF COMMAND ISSUED OK CSERHRD 1021 WRTMSG SFIMSG CSCLP1 :READ EXTENDED DRIVE STATUS sSET UP NEW WRT. SUBSYS MEM. COMMAND :SET THE PACKET ADDRESS :SET UP DELAY ROUTINE :WAIT AWHILE FOR SSR TO SET *SEE IF IT REALLY DID :JUST CHECK THAT BIT :BR, IF SSR IS SET :DELAY ABOUT .25 SEC MOV LWORD MOV .WORD DEC BNE DEC BNE :START DELAY COUNT DOWN :BR, IF COUNTER IS NOT AT DONE :WAIT FOR SSR TO SET :BR IF CARRY SET (GOOD RETURN) #250, (PC)+ 0 LSOLY, (PC)+ O -6(PC) e <22(PC) .20 :SAVE CONTENTS OF TSSR :DEVICE FATAL SSR FAILED TO SET TRAP CSERDF .WORD 1022 .WORD T38SSR ;.WORD PKTSSR :LOOP ON ERROR, IF FLAG SET TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 3 6357 071424 6358 071430 071430 071632 104406 012700 005001 005037 004737 000137 003134 074034 066702 000137 000200 104432 003054 25-MAY-82 09:19 071506 63%: 648: PAGE 122-11 E SEQ 0275 TRAP cscLP1 MOV CLR CLR JSR JMP #T38BFR+20,R0 R1 KTENABLE PC,T38MBP 2% sMESSAGE BUFFER ADDRESS ¢NO HIGH ORDER ADDPRESS BITS sNO KT11 STUFF EITHER :GO PRINT MESSAGE BUFFER CONTENTS :GO BACK TO MENU JMP EXIT 200 TST sREALLY RETURN TO THE SUPERVISOR sLEAVE TEST TRAP «WORD CSEXIT L10075-. :0 sLOCAL TEXT MESSAGES FOR TEST JLOCAL STORAGE FOR THIS TEST - S sLOCAL STORAGE FOR THIS TEST 6370 071434 6371 071436 637% 071440 37 6374 071442 6376 6378 071450 6379 071450 6385 071461 6386 071462 6387 071464 6388 071466 2;89 072142 6391 63 6395 072120 000000 000000 000000 TTIONZ: TVSAVZ: .UORD TPSAVZ: . 000000 071450 T38DLY: .WORD O =<, +10>8177770 140006 071460 000000 000012 000 000 000000 000000 000000 072150 140004 ISBPACKE .UORD -WORD WORD WORD T38TAD 1388S0: .BYTE T388S1: .BYTE T388S2: .WORD WORD T38BFR: .BLKW T386B: .WORD T38PK2: 072160 000000 000012 071466 6406 072166 6407 072170 oool.N¥oon: 000000 000000 T38DTA: .WORD 0 0 140006 T38TAD O 10. O 0 O O 150. =<, +10>8177770 WORD 140004 O :WORD SET IF SUPERVISOR TTI INTER OFF :SAVE TTI VECTOR :SAVE TTI PRIORITY sDELAY COUNTER FOR TEST s COMMAND PACKET FOR TEST :WRITE SUBSYSTEM MEM. CMD, ACK,CvC=1 :ADDRESS OF CHARACTERISTICS BLOCK :STARTING VALUE OF BLOCK SIZE ;CHARACTERISTICS DATA BLOCK :BSELO BYTE :BSEL1 BYTE :BSEL1 WORD :DATA :MESSAGE BUFFER *END OF BUFFER ADDRESS s COMMAND PACKET FOR TEST {WRITE CHARA. MEM. CMND., ACK,CVC=1 :ADDRESS OF SELECT DATA BLOCK .WORD WORD WORD T38DTA O 10. ;STARTING VALUE OF BLOCK SIZE .WORD T38BFR sSELECT DATA BLOCK sADDRESS OF MESSAGE BUFFER § sLENGTH OF MESSAGE BUFFER :EAl BIT WORD sDRIVE SELECT WORD ETC 'flg °so T38EAI: .WORD T38DSW: .WORD TSVS = HARDWARE TESTS _ MACRO M1113 TEST 10: MANUAL INTERVENTION 6409 6411 072200 6412 072202 6413 072204 6414 072206 gz}z 072210 25-MAY-82 09:19 072200 140212 000000 000000 000000 000000 83 6454 073372 072220 140005 000000 000000 000400 =<, +10>8177770 T38PK&: .WORD 140005 T38WR: .WORD O WORD O T38S1Z2: .WORD 256. JMESSAGE BUFFER RELEASE COMMAND sNOT USED sNOT USED sNOT USED :NOT USED sWRITE, ACK, CVC=1 COMMAND JADDRESS OF WRITE BUFFER JMORE ADDRESS OF WRITE BUFFER :SIZE OF RECORD 3¢ sLOCAL TEXT MESSAGES FOR TEST ;= 123 045 124 127 127 127 103 045 045 045 103 045 045 m 115 073416 164 116 123 122 122 122 157 116 116 116 157 116 116 163 141 073470 141 045 123 111 111 111 156 045 045 045 156 045 045 040 156 073516 zgg 073406 073665 073730 073773 6457 073416 6458 073470 6459 073516 6460 073550 6461 073603 6462 073637 6463 073665 6464 073730 2222 073773 012 012 011 011 011 011 011 on 000 123 011 061 06 06 064 065 066 105 060 011 011 011 011 011 011 6467 6468 SEQ 0276 :WRITE TAPE PACKET 6427 6428 6429 6430 6431 6432 6433 6434 6435 6438 072230 6439 072305 6440 072400 6441 072464 6442 072525 6443 072572 6444 072646 6445 072736 6446 072766 6447 073022 6448 073056 6449 073146 6450 073241 6451 073305 6452 073345 F .=<, +10>8177770 T38PKk3: .WORD 140212 WORD O WORD O WORD O WORD O 22}; 6420 642% 072220 6423 072222 6424 072224 22%2 072226 PAGE 122-12 T38NE: T38MS3: T38WRT: T38WRL: T38WLE: T38NBA: T38SSR: T3BINT: T3BONL: T380FL: T38SST: T38MS1: T38MS2: T38MSG: T138ID: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .eeg#z MIMENU: .WORD 1%: 2%: 38: 4$: 5$: 6%: 8s: 9s%: 108: i+ ‘Stand-alone Manual Intervention Not Executed' 'INXA Type <RETURN> To Stop Servo Exerciser, Return To Menu' °TSSR Not Correct After WRITE, With WRITE PROTECT On°* °'WRITE LOCKED Bit Not Set In XSTO' °‘WRITE LOCK ERROR Bit Not Set In XSTO® ‘WRITE SUBSYSTEM MEMORY Command Not Accepted’ ‘Contents of TSSR Incorrect After WRITE SUBSYSTEM MEMORY® 'INXA Interrupt Received' °‘'INZA Drive Is Now ON-LINE® ‘'XINXA Drive Is Now OFF-LINE® ‘Contents Of TSSR Incorrect After MESSAGE BUFFER RELEASE' ‘INXAToggle ON-LINE Switch to Generate ATTENTION Interrupts’ '8N1A1¥p¢ RETURN To Return To MenulN' 'Is Write-Protected Tape Mounted® 'Manual Intervention’ 1%,2%.38.48,5$.6$ .WORD 8$.9%.10%,0 LASCIZ ASCIZ LASCIZ LASCIZ LASCIZ LASCIZ 510 F LASCIZ .eegzl <12>"SELECT OPERATION FROM FOLLOWING OPTIONS:"® <12>* 0 Display This Menu' °* 1 Turn On ALL M7196 LED''s" % Turn Off ALL M7196 LED'‘'s* ° Offline/Online Attention' °* 4 Write Protect Test' 5 Print Extended Transport Status' 6 Return to Diagnostic Supervisor' " TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 6469 25-MAY-82 09:19 PAGE 122-13 6 SEQ 0277 ;LOCAL STORAGE FOR THIS TEST ar 6472 073774 6473 073776 6474 073776 000000 6476 074 012721 6478 074016 005021 " 6475 074002 012701 071450 6477 0764012 012721 6479 074020 6480 074024 6481 074026 6482 074030 6483 074032 6484 6485 6486 012721 005021 005021 005011 000207 T38DAT: .WORD T38REST: SAVREG O MOV #T38PACKET,R1 071460 MOV #T3BTAD. (R1)+ 000006 MOV 140206 MOV CLR CLR CLR CLR RTS #140206, (R1)+ :LOGICAL RESPONSE TO QUESTION :SAVE THE REGISTERS *START OF THE PACKET :WRITE SUBSYSTEM MEM. WITH ACK,CVC=1 *ADDRESS OF DATA BLOCK (R1)+ sEXTENDED ADDRESS (R1)+ (R1)+ (R1) PC :CLEAR BSELO AND BSEL1 :CLEAR SEL2 JCLEAR DATA AREA *RETURN #6.,(R1)+ *SIZE OF DATA BLOCK IN BYTES i+ 6487 6488 6489 6490 : :THIS ROUTINE PRINTS THE CONTENTS OF sTHE 256 BYTE MESSAGE BUFFER RETURNED BY THE sTSV=05. gzg% :INPUT: 6491 2 6494 3 RC gzgg ; NOTE: R1 IS IGNORED IF KTENABLE FLAG IS CLEAR 6495 : 6498 6499 T38MBP: 6503 074040 010005 6504 074042 005737 003134 6505 074046 001001 005001 010103 006100 006101 074060 074062 074064 074070 074074 010546 010146 012746 012746 010600 HIGH ORDER ADDRESS OF MESSAGE BUFFER 074100 SAVREG MOV ST BNE 9108: CLR MOV ROL ROL PRINTX RO,RS KTENABLE 9108 R1 R1.R3 RO R1 #T38ASO.R1,RS :SAVE THE REGISTERS *SAVE LOW ORDER ADDRESS :ADDRESS ABOVE 28K? ‘BR IF YES *SET HIGH ORDER ADDRESS TO 0 :SAVE HIGH ORDER ADDRESS *SHIFT BIT1S T0 C BIT JSHIFT TO HIGH ORDER FOR PRINTOUT :PRINT MESSAGE BUFFER ADDRESS 074336 000003 MoV MOV MOV MOV MOV RS,=(SP) R1.=(SP) #758AS0,~(SP) #3,-(SP) SP.RO 062706 000010 ADD #10,5P 074106 074110 074114 012746 012746 01 074403 000001 MOV MOV MOV #T38AS1,~(SP) #1,-(SP) SP RO 074120 062706 000004 ADD #,SP 074076 6511 074104 104415 074116 104:2102 6512 6513 LOW ORDER ADDRESS OF MESSAGE BUFFER ; - 6500 6501 074034 6502 074034 6506 074050 6507 074052 6508 074054 6509 074056 6510 074060 R1 0741264 010501 074126 010300 TRAP PRINTX #T38AS1 :PRINT HEADER FOR CONTENTS TRAP MOV MOV RS.R1 R3.R0 :COPY LOW ORDER ADDRESS :COPY HIGH ORDER ADDRESS CSPNTX CSPNTX TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 6534 074216 6535 074222 074222 0746242 6536 07424 6537 07425 6538 074254 74254 074322 6545 074324 6546 074326 6547 0743 6548 074334 654 6550 0743 6551 07440 6552 074441 6553 074460 6554 6555 074504 6556 074506 012546 010446 012746 012746 010600 104415 062706 005037 000412 012546 010446 012746 012746 010600 104415 062706 005237 005204 020427 003010 023727 001401 000753 005037 000733 000207 045 045 045 045 000000 :BR IF NOT ABOVE 28K 125252 - 074504 [ol o PC,SETMAP — 010005 010537 011504 022704 001417 010403 042704 000241 006 006004 006004 006 042703 060403 010325 020527 001355 013705 012704 H 913$ 017316 OO0 737 :SETUP PAR ADDRESS IN RO RO.RS RS T38CNT :GET PAR FORMAT ADDRESS ABOVE 28K *HOLD ADDRESS #125252,Ré4 ;CHECK FOR NO LOAD CONDITION (R$) R :GET BUFFER ENTRY 170377 9128 R4, R3 #170377.R4 *BR, IF BUFFER WASN'T LOADED *MAKE COPY 177760 R4 R4 R4 R4 #177760,R3 :11 70 10 BIT POSITION :10 T0 9 BIT POSITION :9 10 8 BIT POSITON :8 T0 7 BIT POSITION :ONLY BITS 3,2,1 AND 0 ARE SAVED SONLY BITS 11 10,9 AND 8 ARE SAVED :CLEAR CARRY R&4,R3 074504 000001 912%: 915s: *"OR'EM TOGETHER R3. (RS)+ RS.#T38E8 911s 072142 MOV PRINTX *PUT BACK IN BUFFER eno OF BUFFER YET IF NOT AT END YET tsscnr RS puf ADDRESS BACK 1 ,Ré *START BYTE NUMBER AT ONE #TSBASN R4, (RS)+° :PRT MEM BUFFER U/NEULINEOV MOV MOV MOV MOV TRAP ADD 074460 000003 000010 074504 : 9208 CLR BR PRINTX T38CNT 921$ #T38ASC.R4, (RS)+ MOV MOV MOV MOV 000010 074504 ADD TRAP 9218: 000200 074504 000004 :BUMP COUNTER R% :NUMBER OF THE NEXT 50§ :BRANCH IF ALL DONE RG,#128. rsacut "% 9§ 074504 116 116 101 116 T38CNT scur ooue ALL YET ? noue FOUR YET *BR, IF THREE DONE ;KEEP GOING ;CLEAR COUNTER sPRINT WITH NEW LINE sRETURN 'zuu Message Buffer Address = !01!05' *INTA llossago chaAsu -(SP) #3,-(SP) SP. no CSPNTX #10,5P :CLEAR COUNTER :SKIP OTHER PRINT *PRINT THE CONTENTS OF n:soa' 3UFFER 074441 000003 wViownwwn 6527 074172 6528 074174 001403 PAGE 122-14 SEQ 0278 KRR 6514 074130 25-MAY-82 09:19 uffer Contents:* "ZA XD4XA: 20 *INZA aytoxoblk 203° sCOUNTER FOR PRINT ctSaAsc -(SP) ,=(SP) TSVS = HARDWARE TESTS MACRO M1113 TEST 10: MANUAL INTERVENTION 074506 074506 104401 25-MAY=82 09:19 PAGE 122-15 l SEQ 0279 L10075: TRAP CSETST TSVS = HARDWARE TESTS MACRO M1113 TEST 11: CONFIGURATION TYPEOUT 25-MAY-82 09:19 «SBTTL PAGE 123 SEQ 0280 TEST 11: CONFIGURATION TYPEOUT sTHIS IS A STANDALONE ROUTINE THAT PRINTS OUT ON THE CONSOLE TERMINAL s THE CONFIGURATION OF THE M7196 MODULE AND TSVOS SUBSYSTEM. SPECIFICALLY, :THE FOLLOWING INFORMATION IS PRESENTED: 1.0 STATE OF THE EXTENDED FEATURES SWITCH ON THE M7196: ON (EXTENDED FEATURES ENABLED) OR OFF (EXTENDED FEATURES DISABLED), 2.0 STATE OF THE BUFFERING ENABLE SWITCH ON THE M7196: ON (BUFFERING ENABLED) OR OFF (BUFFERING DISABLED), 3.0 MICROCODE REVSION LEVEL OF THE M7196, 4.0 NUMBER OF TAPE TRANSPORTS CONNECTED TO THE CONTROLLER, 5.0 UNIT SELECT CODE AND STATE (ONLINE/OFFLINE, WRITE ENABLED/PROTECTED) OF EACH CONNECTED TRANSPORT. IN ADDITION, THE PROGRAM WILL INDICATE, FOR EACH ON~-LINE TRANSPORT, WHETHER OR NOT IT IS EQUIPPED WITH THE EXTENDED TAPE STATUS READOUT FEATURE. :THE OPERATOR IS EXPECTED TO READ THE PRINTOUT AND VERIFY THAT IT MATCHES sTHE ACTUAL CONFIGURATION AT HAND. IF, FOR EXAMPLE, THE PROGRAM INDICATES ;THAT IT "‘SEES'’ TWO TRANSPORTS CONNECTED WHEN IN FACT ONLY ONE IS PRESENT, :THE OPERATOR MUST INTERPRET THIS AS AN ERROR AND ATTEMPT TO FIND THE sCAUSE (BAD CABLE, FAULTY UNIT-SELECT DECODING IN THE TRANSPORT, ETC.). ;LSINCE_THE CONTROLLER CAN ONLY ACCESS UNIT O IF IT IS IN “‘STANDARD' sMODE, THE PROGRAM WILL FORCE THE MODULE INTO EXTENDED MODE VIA THE sWRITE SUBSYSTEM MEMORY COMMAND IN ORDER TO SCAN FOR CONNECTED TRANSPORTS.] sTHIS ROUTINE, WHEN ITS ACTIONS ARE COMPLETED, WILL EXIT BACK TO THE sDIAGNOSTIC SUPERVISOR SO THAT IF ADDITIONAL UNITS (CONTROLLERS) ARE sSELECTED (E.G., FROM THE INITIAL STARTUP DIALOG), THE ROUTINE WILL BE sREENTERED SO THAT THEIR CCNFIGURATIONS CAN BE PRINTED. BGNTST 077632 016510 020500 075720 015774 RFLAGS RO :GET OPERATOR FLAGS BEQ 108 :BR, MOV 076503 108: 118$: 208: = B8R MOV #T39NE RO 118 #TST39ID,RO JSR PC,TSTSETUP BCS 20§ JSR JMP JSR MOV ERRDF PC . CHKMAN 648 PC,SOF INIT 25¢% RO.R1 ERRNO,SFIERR,SF IMSG IF OK TO RUN TRAP CSRFLA *“TEST NOT EXECUTED' :JUMP OUT OF TEST IF NOT sTEST ID MESSAGE :D0 THE COMMON SETUP :1S MANUAL INTERVENTION ALLOWED? :BR, IF MANUAL INTERVENTION ALLOWED :JUMP TO OUT IF NOT ;00 SOFT INIT OF CONTROLLER *BR IF SOFT INIT = OK :SAVE CONTENTS OF TSSR sDEVICE FATAL ERROR DURING INIT TRAP «WORD for TSVS = HARDWARE TESTS HAERO M1113 TEST 11: CONF IGURATION TYPEOUT 074560 074562 6618 074564 074564 6619 074566 0 074574 25-MAY-82 09:19 003652 012034 25%: 002202 076430 010662 076450 ERRHRD 104406 013701 012746 012746 010600 104415 6631 076646 6632 074652 6633 8;4654 074670 6634 074674 6635 074676 508: 075760 PRINTX 062706 032701 001011 000004 000200 012746 012746 010600 104415 062706 000410 077475 000001 077423 000001 BIT BNE PRINTX SFIERR SFIMSG UNITN,T39DSW TRAP cscLP T 9PK2 R4 PC HRTCHR 50§ RO,R1 ERRNO,WRTMSG,SF IMSG sSET UNIT NUMBER s SUBROUTINE NEEDS PACKET ADDRESS sISSUE WRITE CHARACTERISTICS :BR, IF COMMAND ISSUED OK :SAVE CONTENTS OF TSSR :WRITE CHARACTERISTISC F?‘k;b sLOOP IF SELECTED T398FR+12,R1 #T39SFS .WORD -WORD -WORD #B1T7,R1 1008 #T390FF CSERHRD 1102 WRTMSG SFIMSG TRAP CSCLPT sGET XST2 STATUS FROM MESSAGE BUFFER :"'STATE OF EXTENDED FEA?URES Sw =" TRAP ADD sCHECK STATE OF E.F.S. 836IF EXT. FEA. SW. IS ON 07395?5.’(5?) #1,-(SP) SP.,RO CSPNTX #6,SP #T390FF ,~(SP) #1,-(SP) SP.RO CSPNTX 1008: 1108: PRINTX 1108 #T390N ;§KIP OTHER PRINT STATEMENT PRINTX #73958S :"'STATE OF BUFFERING SWITCH =** BR #6,SP #T390N,~(SP) MOV TR;P 000004 000100 BIT BNE PRINTX 077475 000001 #B81T6,R1 1208 #T390FF sCHECK STATE OF BUFFERING SW sBR, IF BUFFERING IS ON :ll 6,,.. MOV MOV MOV 000004 077504 000001 .WORD .WORD HOV MOV 000004 077504 000001 SEQ 0281 sLOOP IF SELECTED CkLOOP MOV 077351 000001 000004 074776 CKLOOP MOV MOV JSR BCS 6626 074606 PAGE 123-1 1208 : BR PRINTX TRAP ADD sSKIP OTHER PRINT STATEMENT Olwl. MOV MOV MOV #T390FF ,~(SP) #1,-(SP) SP.RO CSPNTX #6,5P #T390N,~(SP) #1,-(SP) SP.RO TSVS = HARDWARE TESTS MACRO M1113 TEST 11: CONFIGURATION T YPEOUT 075000 075002 664% 075006 6643 075012 6644 075016 25-MAY-82 09:19 1308: 077570 BIC MOV PRINTX 077570 077513 000002 SEQ 0282 #TSOMCL, T39RL 1408 :"MICROCODE REVISION LEVEL =000XXX MOV MOV MOV 076450 UNITN, T39DSW #T39PK2.R4 PC,WRTCHR 1508 & ® purt CSPNTX #6,SP TRAP CSERDF EXTFEA 1748 #200, 7398S1 075741 075740 #10, 739850 #T39PACKET,RG R4, TSDB(RS) PC.CHKTSSR MoV ERRHRD 1608 RO,R1 ERRNO, T39NBA,PKTSSR TRAP CSCLP1 WORD CSERHRD 1104 sSET UNIT NUMBER s SUBROUTINE NEEDS PACKET ADDRESS :ISSUE WRITE CHARACTERISTICS s8R, IF COMMAND ISSUED OK sSAVE CONTENTS OF TSSR sWRITE CHARACTERISTISC F?ngD n o b b MOV TRAP ADD :D0 SOFT INIT OF CONTROLLER :BR IF SOFT INIT = OK :SAVE CONTENTS OF TSSR :DEVICE FATAL ERROR DURING INIT ;LOOP IF SELECTED 002226 «WORD WORD sTSSR NOT CORRECT AFTER g:;i MISCELLANEOUS «WORD CSERHRD 1105 T3I9NBA PKTSSR TRAP cscLP «WORD 1608: 6677 075174 6678 66 6680 668 =33 076430 668% 6684 075200 CkLOOP SRR MOV sLOOP IF SELECTED #T39PK2 R4 s SUBROUTINE NEEDS PACKET ADDRESS RN AN AR AR AR RN RN RN R AR R AN AN AN AR AR AR RN RN N AR R EANARRS :WRITE CHARACTERISTICS COMMAND (CALL TO WRTCHR) B0 SRR 004737 010662 RN NN RN RN R AR RN RN R R RN R AR R AR RN JSR PC.WRTCHR WRTMSG SFIMSG TRAP cscLP1 sCHECK FOR EXTENDED FEATURES SW SWITCH sBR IF SWITCH IS ON sWRITE MISCELLANEOUS CONT/READ STATUS sFUNCTION SELECTION BIT (TURN ON EXTFEA HW SWITCH) sWRITE SUBSYS MEM PACKET : ISSUE COMMAND sWAIT FOR SSR :BR, IF NO ERROR :ERROR, SAVE TSSR WORD 1 T39RL,=(SP) #T39MCL,=-(SP) #2,-(SP} SP.RO :LOOP IF SELECTED 1508: 000200 000010 075730 000000 016336 = .WORD 1103 .WORD SFIERR .WORD SF IMSG RO,R1 ERRNO,WRTMSG, SF IMSG 6663 075120 #4,SP ;ONLY LEAVE MICROCODE REV LEVEL :LOAD UP REV LEVEL : 1408 b 1 CSPNTX ADD b ok OO SNO R1,T39R( RO,R1 ERRN SF IERR,O, SF IMSG 002202 076430 010662 - #177700,R1 PC,SOFINIT 6650 075050 6651 075052 075052 075054 075056 06 ~ L TRAP 000006 015774 wi PAGE 123-2 A AN NN AR N AN RRRARRRCRORER sISSUE WRITE CHARACTERISTICS TSVS = HARDWARE TESTS MACRO M1113 TEST 11: CONF IGURATION TYPEOUT 6685 075204 6689 075206 6690 875210 103405 010001 075216 6691 075220 075220 6692 075222 6693 075226 6694 075234 075256 6702 075260 075260 6703 6704 075262 6705 075266 6706 075272 6707 075274 075274 075300 075304 075310 075312 075314 6708 075320 6709 075324 075324 07 6710 075350 6711 075354 6712 075360 6713 075362 075362 075402 6714 075406 6715 075410 075424 25-MAY-82 09:19 BSS ERRHRD 076450 1708: CKLOOP 174$: 175%: CLR 010662 JSR BCS MOV ERRHRD 1808: 104406 016501 032701 001414 000002 000100 013746 002202 076744 000002 000006 075654 002202 077010 000002 1908: M 6 1708 RO,R1 ERRNO,WRTMSG, SF IMSG MOV BIT BEQ SEQ 0283 sBR, IF COMMAND ISSUED OK sSAVE CONTENTS OF TSSR sWRITE CHARACTERISTISC FAILED :SCOPE LOOP UNITN UNITN, T39DSW #T39PK2,R4 PC,WRTCHR 1808 RO,R1 ERRNO,WRTMSG,SF IMSG CkLOOP PRINTX TSSR(RS) ,R1 00$° #T390F2,UNITN 1106 WRTMSG SFIMSG TRAP sSET TO DRIVE 0 :SET UNIT NUMBER :SUBROUTINE NEEDS PACKET ADDRESS sISSUE WRITE CHARACTERISTICS :BR, IF COMMAND ISSUED OK sSAVE CONTENTS OF TSSR sWRITE CHARACTERISTISC F?‘kSD :LOOP IF SELECTED #OFL R CSERHRD TRAP -WORD «WORD «WORD cscLP1 CSERHRD 1107 «WORD «WORD .WORD WRTMSG TRAP cscLP SFIMSG sGET TSSR STATUS sCHECK FOR OFF=-LINE .BR. IF DRIVE IS ON-LINE :"DRIVE NUMBER XX IS OFF-LXNE" UNITN,=(SP) #7390F2,~(SP) : 2008 000006 075754 000004 JMP 2508 :DO NOT TRY TO GET ANVHORE INFO. PRINTX #T390N2,UNITN :"DRIVE NUMBER XX IS ON-LINE MOV BIT BNE 739BFR06 R1 #8IT2,R 108 #T39WPN UNITN sREAD EXTENDED STATUS (XSTO) PRINTX 002202 077126 000002 00220 07705 000002 MoV MOV PAGE 123-3 :1S DRIVE WTITE PROTECTED BR IF WRITE PROTECTED :"DRIVE NUMBER IS NOT WRT PRO'’ #T39WPN, =(SP) 2108: BR PRINTX 2208 #T39RT ,UNITN :SKIP OVER :"DRIVE NUMBER XX IS WRT PROTM MOV MOV MOV MoV UNITN,=(SP) ot 9WRT,~(SP) 2.~(SP) sr.no 0756%8 0754 6716 075434 6717 075442 6718 075450 6719 075456 6720 075462 6721 075466 6722 075474 6723 075500 6724 075504 6725 075510 6726 075512 075512 075516 075520 075524 075526 075532 075534 075540 6727 075542 6728 075546 6729 075550 6730 075554 6731 075556 6735 075560 075560 075562 075564 075566 6736 075570 075570 6737 075572 6738 075600 6739 075602 075602 075606 075612 075616 075620 075622 6740 075626 6741 075630 075630 075634 075640 075644 104415 0627 09 000 01273 12525 112737 000000 112737 0000%4 012704 010465 000000 012737 000144 004737 016250 016501 000002 032701 000200 001017 012727 000000 013727 000000 005367 001375 005367 1367 005337 001352 004737 103405 010001 076046 075741 075740 075724 001013 N SEQ 0284 sSET 1 LOC_TO KNOWN VALUE sEXTENDED TAPE STATUS #T3OPACKET,R4 R4, TSDB(RS) #100.,7390LY sWRITE SUBSYS MEM PACKET s ISSUE COMMAND :SET_UP DELAY ROUTINE .zz rsoaso 222%: PC,WAITF TSSR(RS) ,R1 225$ 250 000250 TRAP ADD 0125%52 . T398FR+100 #SSR,R1 CSPNTX #6,SP ;EXTENDED TAPE STATUS ;WAIT AWHILE FOR SSR TO SET :SEE IF IT REALLY DID :JUST CHECK THAT BIT sBR, IF SSR IS SET :DELAY ABOUT .25 SEC 4250, (PC)+ 002116 LSoLY. (PC)+ 177772 =6(PC) <4 <22(PC) 20 177756 075724 016336 T390LY 2228 225%: PC,CHKTSSR 2308 ERRHRD 104456 002124 077205 012046 104406 023727 2208: PAGE 123<4 - TEST 11: CONFIGURATION TYPEOUT 25-MAY-82 09:19 [aa] HAgRO M1113 —~ TSVS = HARDWARE TESTS RO,R1 ERRNO T39NBA ,PKTSSR SYART DELAY COUNT DOWN IF _COUNTER IS NOT AT DONE UAIT FOR SSR :BR, IF NO ERROR :ERROR, SAVE TSSR :TSSR NOT CORRECT AFTER WRT. MISCELLANEOUS TRAP CSERHRD .WORD 1108 WORD PKTSSR TRAP ;DID LOC GET OVER WRITTEN pR IF IT DIDN'T GET ETC. CSCLPT .WORD 230$: 076046 013746 012746 012746 010600 104415 062706 000412 002202 076651 000002 013746 012746 012746 010600 002202 076562 000002 6742 075656 005237 6743 075660 023727 6744 075666 00140; 6745 075670 000137 6746 075674 075674 012746 075700 -- 012746 00220 00220 125252 CMP BNE PRINTX : 2408 T398FR+100,#125252 2408 #T39ETN,UNITN :"DRIVE DOESN'T HAVE EXT TAPE STATUS MoV UNITN,=(SP) MOV SP.RO BR PRINTX 2508 i #T39ETS,UNITN 000003 2508: 638: INC CMP BEO UNITN CSPNTX #6,SP MOV UNITN,~(SP) MOV #2,~(SP) :SKIP OVER :"DRIVE HAS EXT TAPE STATUS' PRINYX #TIONFL sBUMP DRIVE NUMBER #T39ETN,=(SP) #2,~(SP) TRAP ADD MOV 073650 063706 000006 076500 000001 sLOOP IF SELECTED MoV MOV 000006 075226 CKLOOP T39NBA #T39ETS,~(SP) MOV TRAP ADD SP.RO CSPNTX #6,5P MOV MOV #TIONFL ,~(SP) #1,-(SP) sAT END OF DRIVES YET :BR, IF NO MORE DRIVES ;DO NEXT DRIVE sNEW LINE | | ; | l E : : : ' . : TSVS = HARDWARE TESTS MACRO M1113 TEST 11: CONFIGURATION TYPEOUT 075704 075706 075710 6747 075714 6748 075720 075720 e 075722 PAGE 1235 SEQ 0285 010600 104415 062706 000137 104432 001736 MOV 000004 000200 648: JMP EXIT 200 TST :RETURN TO SUPERVISOR :EXIT THIS SECTION SP,RO TRAP ADD CSPNTX #4,5P TRAP WORD CSEXIT L10076~. ;0 g;gg :LOCAL TEXT MESSAGES FOR TEST 675 ’ 675 :LOCAL STORAGE FOR THIS TEST §738 6756 075724 6758 6760 075730 6761 075730 6762 075732 6763 07573¢ 6764 075736 140006 075740 000000 000012 6766 075740 000 6765 075740 6767 075741 6768 075742 6769 075744 g;;o 075746 6772 000000 075730 000 000000 000000 6774 076430 6777 076430 6778 076432 6779 076434 g;g? 076436 140004 076440 000000 000012 6782 6783 076440 6784 076440 6785 076442 6786 076444 6787 076446 6790 6792 076460 g;gz 076462 6776 076430 6788 076450 3 T39DLY: .WORD O .=<. +10>8177770 T39PACKET : .WORD 140006 .WORD T39TAD JWORD 0 JWORD 10. T39TAD: T398S0: .BYTE T398S1: .BYTE T39852: .WORD JWORD T398FR: .BLKW T39PK2: 0 0 0 0 150. =<, +10>177770 .WORD .WORD JWORD .WORD 140004 T39DTA 0 10. 075746 000000 000400 000000 .WORD WORD .WORD T39EAI: .WORD T39BFR 0 256. 0 076460 140012 000000 =<, +10>8177770 T39PKk3: .WORD 140012 JWORD 0 000000 6795 T39DTA: T39DSW: .WORD O :DELAY COUNTER FOR TEST :COMMAND PACKET FOR TEST sWRITE SUBSYSTEM MEM. CMD, ACK,CVC=1 *ADDRESS OF CHARACTERISTICS BLOCK :STARTING VALUE OF BLOCK SIZE :CHARACTERISTICS DATA BLOCK ;BSELO BYTE :BSEL1 BYTE BSEL1 WORD HESSAGE BUFFER ;COMMAND PACKET FOR TEST :WRITE CHARA. MEM. CMND., ACK,CVC=1 :ADDRESS OF SELECT DAiA BLOCK ;STARTING VALUE OF BLOCK SIZE :SELECT DATA BLOCK :ADDRESS OF MESSAGE BUFFER :LENGTH OF nessacs BUFFER :EAI BIT :DRIVE sELect WORD ETC ;MESSAGE BUFFER RELEASE COMMAND *NOT USED SWRITE TAPE PACKET 6798 6800 076470 076470 140005 6802 000000 6801 076472 076474 ggg‘ 076476 6805 6806 25<-MAY-82 09:19 000000 000400 .=<, 41058177770 T39PK4: .WORD 140005 T39WR: .WORD .WORD T39S12: .WORD 256. ;WRITE, ACK, CVC=1 COMMAND *ADDRESS OF WRITE BUFFER *MORE ADDRESS OF WRITE BUFFER *SI2E OF RECORD TSVS = HARDWARE TESTS MACRO M1113 25-MAY-82 09:19 TEST 11: CONFIGURATION TYPEOUT e woo Vi C JASC ¢ C C T39SSR: T39SFS: <AS C C C NNNNNNNNNN : : .AS C C C C C NNNNN " : RRRRRRA On=TNTNTNZW W= O b [=lelelelele wv O | S S OO =ded A= =00r (=l =d=] Bk d meh b D el B e ety b el e ed mdy \NN) =D d e cd ed d O\ = VWO OO WYYV WY Vviviviviiag —— OO0 —=O KRRRR SHRRRRRR]R 6829 077504 683? 077513 683 6832 077570 6833 6834 6835 6836 6837 6838 6839 6840 077572 6841 077574 SEQ 0286 sLOCAL TEXT MESSAGES FOR TEST OCOO0O0O0 2822852 6807 08 PAGE 123-6 000000 OzNO ‘Stand-alone Configuration Typeout Not Executed’ 'INXA Extended Tape Status Availiable, Drive Number %D2° 'INZA Extended Tape Status NOT Availiable, Drive Number %D2° 'INXA Drive Number XD2%A Is Off-Line’ 'INXA Drive Number XD2XA Is On-Line’ 'INZA Drive Number XD2XA Is Write Protected’ *INXA Drive Number XD2%A Is NOT Write Protected’ 'WRITE SUBSYSTEM MEMORY Command Not Accepted’ 'Contents of TSSR Incorrect After WRITE SUBSYSTEM MEMORY' 'INXIA State Of Extended Features Switch 'INXA State Of Buffering Switch "IA OFF* 'ZA ON °* 'INXA M7196 Microcode Revision Level =' =' =%02°* 0 i+ :LOCAL STORAGE FOR THIS TEST T39DAT: «WORD T39REST: SAVREG 075730 MoV MoV 140006 075740 MOV CLR MOV CLR CLR CLR RTS 000006 6850 077626 6853 077630 0 sLOGICAL RESPONSE TO QUESTION #T39PACKET ,R1 #140006, (R1)+ #T39TAD. (R1)+ (R1)+ #6.,(R1)+ (R1)+ (R1)+ (R1) PC sSAVE THE REGISTERS sSTART OF THE PACKET ;WRITE SUBSYSTEM MEM. WITH ACK,CV(C=1 *ADDRESS OF DATA BLOCK :EXTENDED ADDRESS :SIZE OF DATA BLOCK IN BYTES :CLEAR BSELO AND BSEL1 *CLEAR SEL :CLEAR DATA AREA *RETURN i+ sLOCAL TEXT MESSAGES FOR TEST 157 156 TST391D: EVE ENDTST 104401 .ASCIZ ‘Configuration Typeout' L10076: TRAP CSETST TSVS = HARDWARE TESTS TEST 12: SCOPE LOOPS MACRO M1113 25-MAY-82 09:19 7 PAGE 124 SEQ 0287 .SBTTL TEST 12: SCOPE LOOPS THIS 1S A STANDALONE ROUTINE PROVIDING A NUMBER OF TIGHT ‘'SCOPE LOOPS'* USEFUL FOR DEBUGGING BASIC REGISTER ACCESS PROBLEMS WITH THE M7196 MODULE. THESE SCOPE LOOPS CAN BE USED WHEN THE NORMAL “LOOP_ON ERRORTM OR *LOOP ON_TEST (SUBTEST)" FACILITIES DON'T SEEM TO ALLOW THE OPERATOR TO ZERO IN A PROBLEM IN THE EARLY TESTS (1.E, THE HARDWARE MAY NOT BE RESPONDING TO A REGISTER ACCESS, CAUSING A BUS ERROR TRAP, EVEN THOUGH THE DEVICE ADDRESS SELECTED BY THE PROGRAM MATCHES TME CONFIGURATION SET UP IN THE HARDUARE DIP SWITCHES). SCOPE LOOP NOWVSWN=O CODE THE FOLLOWING MENU OF SCOPE LOOPS ARE HELP. PRINT THIS MENU. TSBA READ ACCESS TSSR READ ACCESS 8 EXIT (RETURN TO SUPERVISOR) INITIALIZE (TSSR WRITE ACCESS) TSDB HIGH BYTE WRITE ACCESS TSDB LOW BYTE WRITE ACCESS TSDB MAINTENANCE-MODE WORD WRITE ACCESS TSDBX (TSSR HIGH BYTE) WRITE ACCESS (EXTENDED FEATURES SWITCH MUST BE ON TO USE SELECTION CODE 7) FOR SCOPE LOOPS THAT WRITE INTO REGISTERS, THE PROGRAM PROMPTS THE OPERATOR FOR THE DATA TO BE WRITTEN. TYPING <RETURN> CAUSES AN EXIT FROM THE SCOPE LOOP BACK TO MENU LEVEL. ~N &S =S ANNNNONYN ~ Iy [« NV -\ 2 O =a 6921 077 —d 6913 077710 6914 077712 6915 07771 -— - o : OO 82 23883 RE 283 SENCENNS SON BGNTST a: RFLAGS RO :GET OPERATOR FLAGS BEQ 18 :BR, MOV BR MOV JSR JSR BCS JMP JSR BCS MOV ERRDF IF OK TO RUN TRAP CSRFLA #T4ONE ,RO 1008 #TST40ID,RO PC,TSTSETUP PC . CHKMAN 2 64$ *"TEST NOT EXECUTED' :JUST EXIT IF NOT :TEST ID MESSAGE :D0 THE COMMON SETUP :SEE IF MANUAL INTERVENTION ALLOWED :CARRY SET IF INTERVENTION ALLOWED :EXIT IF NO MANUAL INTERVENTICN 5g *BRANCH IF OK ERRNO, IERR, SFSF IMSG *REPORT FATAL ERROR PC,SOFINIT RO,R1 :D0 A SOFT INIT *CONTENTS OF TSSR REGISTER TRAP WORD CSERDF 1201 TSVS = HARDWARE TESTS TEST 12: SCOPE LOOPS 6922 SEQ 0288 077732 077734 077736 5$: #SCMENU,RO #8. ,R1 PC,GETSEL RO 2$ RO, 47 3$ BN 6931 0777;2 (444 077776 100002 PRINTF MOV MOV 6932 100012 6933 100016 6934 100020 3s: 100020 100024 6935 100026 6936 100032 6937 100040 6938 100042 4S: TTION #100,a#TTICSR #TTIVEC.R1 (R1), TVECSAV 6$: o8h N W 08““ NOOO —-ON NwwnN MOV TRAP #PRI0O,RO :ASSUME INTERRUPTS ARE ENABLED :ARE TTI INTERRUPTS ON ? :BRANCH_IF YES :FLAG SET IF INTERRUPTS OFF :ENABLE INTERRUPTS :START OF TTI VECTORS :SAVE THE CURRENT TTI VECTOR :SET NEW_ INTERRUPT ROUT INE :SAVE THE VECTOR PRIORITY :USE PRIORITY SEVEN :LOWER INTERRUPT BR LEVEL sTSSR WRITE ACCESS sTSDB HIGH BYTE WRITE ACCESS :TSDB LOW BYTE WRITE ACCESS :TSDB MAINTENANCC MODE sTSDBX WRITE ACCESS sLEAVE THE TEST #TSSR,R3 - ON = #PRIO7,RO ($SPRI sTSBA READ ACCESS 6964 100143 6965 10015 6966 100154 6967 100156 6963 MOV TRAP sTSSR READ ACCESS 2961 100144 RS.R3 (R$) RO 188 #1,-(SP) SP,RO CSPNTF #4,SP sRETYPE THE MENU TSDB(RS) (RS) ,RO 128 #EXFMSG, = (SP) TRAP ADD ;GO BACK TO BASIC MENU :SAVE_THE MENU SELECTION :RAISE THE PRIORITY sCONVERT TO WORD OFFSET :JUMP TO PROPER LOOP 8% NONININ) = b =2 #PR100 g°§° 6947 100110 6948 100114 6949 100116 6950 100120 6951 100122 6952 100124 6953 100126 6954 100130 6955 100132 6956 100134 6957 6958 6959 100136 6960 100142 4 #PR107, (R1) O NV RIBR $23% SNES 6946 100106 2% RO,Ré #PRIO7 #608,(R1)+ (R1) .TPRISAV 3 2333838382 N 100100 100104 177560 JMP MOV SETPRI TTION #100,3#TTICSR 177560 100046 100054 100060 100064 100070 6944 100074 6945 100100 3s #EXFMSG SFIERR SFIMSG sMENU OF SCOPE LOOP SELECTIONS sMAXIMUM ALLOWED SELECTION ;GO GET THE OPERATORS SELECTION sWAS ZERO SPECIFIED ? sREPEAT MENU IF YES. sEXTENDED TSSR ? :BRANCH IF NOT :CHECK FOR EXTENDED FEATURES SET sBR, IF IT IS ON ;WARN OPERATOR EXTENDED SSOTURES CLEAR 012746 100004 100006 6939 6940 6941 6942 6943 EXTFEA «WORD .WORD sENTER MAINTENANCE MODE sREAD TSBA REGISTER sLOOP UNTIL HALTED sADDRESS OF TSSR REGISTER ;POINT TO TSVO5'S REGISTERS sREAD TSSR REGISTER :LOOP UNTIL STOPPED CSSPRI TSVS = HARDWARE TESTS TEST 12: SCOPE LOOPS 968 6969 100160 6970 100164 6971 100162 6972 10017 6973 100174 6974 100176 6975 6976 6977 100200 6978 100204 6979 100210 6980 100212 6981 100216 6982 100220 6983 100222 6984 6985 6986 100224 6987 100230 6988 100234 6989 100236 6990 100242 6991 100244 6992 100246 6993 6994 100250 6995 100254 6996 100256 6997 100262 6998 100264 6999 MACRO M1113 25-MAY-82 09:19 020174 208: 000002 MOV 22%: 000000 020174 25$: 27$%: 000000 020174 308: BR CLRB 32¢%: 020174 35%: 000000 37%: 020174 408: 000003 428: PC,GETPAT OTSSR RZ RS,R3’ R1,(R3) 22% TSDB(RS) PC, cerm MOV ADD #TSDBH &3 RS5.R3 BR 278 MOVB CLRB JSR MoV RO.R1 R1.(R3) TSDB(RS) PC,GETPAT RO.R1 #TSDB,R3 ADD RS.R3 BR 32% MOvB JSR F RO.RT JSR R1,(R3) PC, GEIPAT SEQ 0289 sREAD THE DATA PATTERN sDATA PATTERN FOR LOoOP :ADDRESS OF T :POINT T0O TSVOS S REGISTERS rgsff DATA TO TSSR sENTER MAINTENANCE MODE sREAD THE DATA PATTERN sDATA PATTERN FOR LOOP sADDRESS OF HIGH BYTE OF TSDB sPOINT TO TSVO5°'S REGISTERS ¢WRITE THE DATA TO TSDB, HIGH BYTE ;LOOP UNTIL STOPPED sENTER MAINTENANCE MODE sREAD THE DATA PATTERN :DATA PATTERN FOR LOOP :ADDRESS OF TSSR sPOINT TO TSVO5'S REGISTERS sWRITE DATA TO TSSR, LOW BYTE :LOOP UNTIL WALTED BY OPERATOR MOV OTSDB R3 MoV R1.(R3) sREAD THE DATA PATTERN :DATA PATTERN FOR LOOP s SELECT TSDB sPOINT TO TSV0O5°'S REGISTERS sWRITE THE DATA PATTERN BR 37¢ sLOOF UNTIL HALTED JSR PC,GETPAT sREAD THE DATA PATTERN MOV ADD MOVB JISSRH R3 RS.R3 R1.(R3) MOV ADD MOV BR RO RS.R3 RO.R1 428 sSAVE THE DATA PATTERN :BYTE ADDRESS OF TSSR, WIGH BYTE :POINT TO TSVOS'S REGISTERS :WRITE THE DATA TO REGISTER :LOOP UNTIL HALTED ¢ sPROCESS CONSOLE INTERRUPTS 60$: 177562 200 MOV MOVB BIC #200,R0 #15.R0 CLR 4(SP) 877716 000002 000060 000062 MOV MOV 8=3 RO,=(5P) a#TTIBFR,.RO CMP8 BNE MOV 558 100326 100330 100336 100342 100350 100;23 100 MOV MOV 000000 838228 28JR=2 WD & 7018 7019 7020 7021 702§ 702 7024 ADD MOV 000001 7000 100266 7001 7002 100270 7003 100274 7004 100276 7005 100302 7006 100 7007 100306 7008 7009 7010 on 7012 7013 7014 100310 7015 100312 7016 100316 7017 100322 JSR MOV PAGE 124-2 TST BEQ 618" #28,2(SP) TVECSAV @#TTIVEC TPRISAV,@#TTIVEC+2 TTION 61$ sSAVE WORK REGISTER sGET THE OPERATOR INPUT :STRIP OFF PARITY BIT ;IS IT A CARR!AGE RETURN ? .JUST Xl RESTORE SUPERVISOR VECTOR sRZSTORE SUPERVISOR PRIORITY :ARE SUPERVISOR INTERRUPTS ENABLED ? :BRANCH IF YES TSVS = HARDWARE TESTS TEST 12: SCOPE LOOPS 7025 100364 7026 100372 ;85; 100374 7029 100376 7030 100376 100376 100400 ;gg; 100402 042737 012600 000002 104432 000736 000137 MACRO M1113 000100 25-MAY=82 09:19 177560 648: 63$: 000200 65$: 7033 7034 7037 100406 7038 100410 ;823 100412 000000 000000 BIC MOV RTI #100,a#TTICSR (SP) +,RO EXIT TST JMP TTION: TVECSAV: TPRISAV: 000000 SEQ 0290 sTURN OFF TTI INTERRUPTS JRESTORE REGISTER JRETURN FROM INTERUPT JEXIT THE TEST _ 200 JRETURN TO SUPERVISOR TRAP WORD CSEXIT L10077-. WORD WORD +WORD O O 0 JWORD SET IF SUPERVISOR TTI INTER OFF :sSAVE TTI VECTOR sSAVE TTI PRIORITY A ;822 sMENU FOR OPERATOR INPUT FOR SCOPE LOOPS 100446 100521 100547 ;823 100430 100720 100756 7050 7051 100446 7052 100521 7053 100547 7054 100573 7055 100617 7056 100661 7057 100720 7058 100756 7059 101024 7060 101073 7061 101136 706% 101137 7063 101177 7064 101255 7065 101322 012 012 011 01 011 01 011 on 011 on 000 124 045 123 123 123 011 061 06% 06 064 065 066 067 070 105 060 011 011 011 011 011 011 011 011 17 116 164 143 160 045 141 157 7066 7067 101336 101336 101336 7068 101340 6 g sLOCAL STORAGE FOR THIS TEST 7041 7042 7045 7046 7047 100414 618: PAGE 124~3 104401 101024 SCMENU: .EVEN .WORD .WORD 1$: LASCIZ 2%: LASCIZ 3s: LASCIZ 4% LASCIZ 5$: LASCIZ 68: ASCIZ 7s: LASCIZ 8s: LASCIZ 9s: LASCIZ 10$: LASCIZ 11$: LASCIZ 12%: .ASCIZ EXFMSG: .ASCIZ T4ONE: .ASCIZ T1ST40ID: .EVEN ENDTST 1%,2%,3$.4$,5$%.68 78.88.98.10‘.118.128.0 <12>'SELECT SCOPE LOOP FROM FOLLOWING OPTIONS:" <12 0 Display This Menu' 1 TSBA Read Access’ °* 2 TSSR Read Access' ° 3 Initialize (TSSR Write Access.,' ° 4 TSDB High Byte Write Access' ° 5 TSDB Low Byte Write Access' °* 6 TSDB Maintenance Mode Write Access’ °* 7 TSDBX (TSSR High Byte) Write Access’ 8 Return to Diagnostic Supervisor' '{‘g: RETURN To Stop Scope Loops' °* *++ Extended Features Switch Not On ==« °* ‘'Stand-alone Scope Loops Not Executed' .ASCIZ ‘Scope Loops’ L10077: ENDMOD THAP CSETST TSV6 = _PARAMETER CODING MACRO M1113 TEST 12: SCOPE LOOPS 25-MAY~82 09:19 ] PAGE 126 SEQ 0291 JTITLE TSV6 = PARAMETER CODING BGNMOD TSV6 .SBTTL HARDWARE PARAMETER CODING SECTION 12 18 19 101340 101340 TSV6: : % 1ee : THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS : THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE : MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE : INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE : MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS 24 25 26 27 28 29 gt‘) : WITH THE OPERATOR. 32 101340 101340 3 101342 BGNHRD 000010 34 10134 101342 101344 101346 101350 35 101352 000031 101362 160010 177776 101356 101356 101360 101416 000000 000776 LSHARD:: 101352 001031 GPRMA .WORD "WORD "WORD "WORD GPRMA WPM1,0,0,160010,177776. YES TSCODE HPMI TSLOLIM TSHILIM HPM2,2,0,0,776,YES :GET VECTOR ADDRESS. "WORD "WORD ~WORD : GPRMD HPM2 TSLOLIM ;:zgtxn .4,0,340,0,7,YES ) ;GET INTERRUP PRIORITY. JWORD 37 101362 101362 101362 39 101416 40 101442 .WORD L10100~LSHARD/2 ENDHRD 104 m m 105 116 116 126 126 124 L10100 WPM1: WPM2: : ;GET TSBA/TSDB REGISTER ADDRESS. TSCODE .EVEN .ASCIZ .ASCIZ .eegaz °DEVICE ADDRESS (TSBA/TSDB) °INTERRUPT VECTOR ° *INTERRUPT PRIORITY . ° TSV6 < PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 25-MAY-82 09:19 SEQ 0292 2§ .SBTTL 46 47 48 49 50 51 gg 101472 101474 56 101474 1014764 101476 101500 57 58 59 101502 & SOFTWARE PARAMETER CODING SECTION = : THE SOFTWARE PARAMETER CODING SECTION CONTAINS MACROS : THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE : MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE : INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE : MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS : WITH THE OPERATOR., 54 101472 55 PAGE 127 X 000003 .WORD L10101=L$SOFT/2 LSSOFT:: : GPRML SPM1,0,-1,YES GPRML .WORD 001130 101532 177777 ; : 101502 62 101502 63 101532 64 101562 65 101612 gg BGNSFT L10101: 105 11 120 120 116 116 105 105 101 110 122 122 SPM1: SPM4: SPMé: SPM7: -WORD JWORD GPRMD =1 SPM6,4,D,7777.0,7777.YES .ASCIZ .ASCIZ .ASCIZ .ASCIZ .SBTTL 'ENABLE TRANSPORT TESTS °'INHIBIT ITERATIONS °'PER TEST ERROR LIMIT °'PER UNIT ERROR LIMIT PATCH AREA GPRMD ENDSFT .EVEN : GET TRANSPORT TEST FLAG. * GET ITERATION CONTROL. SPM4.2.=1.YES T$CODE : GET LOCAL ERROR LIMIT : GET GLOBAL ERROR LIMIT SPM7.6.D.7777.0.7777.YES ° ' ° ° 68 : 71 : AND AN ADJUSTMENT TO ACCOUNT FOR THE ‘LASTAD BIT?"* HACK 93 : FINALLY A GENEROUS PATCH AREA. ;g : DESCRIBED IN '‘SUPPRG.MEM'' (FOR REV C). 74 y ;2 101642 PATCH:: ;; 101642 Bky 32, 80 82 102000 102000 .=, 137741 Leegzo 102000 000000 JWORD 102002 102004 83 102004 84 000000 000001 LSLAST:: - JWORD ENDMOD «END O 0 ;SET LAST USED ADDRESS. (21) (2] (212 121) SNO o SO NN OR O P OS SSNNNNNN OO0 e ek e ) e b ed ied h b e e o - b) NNNNNNNNNN o~ N =2 NN NI PN PNINININININININOND =N —- INWNWWNW n : Bal ii - o R o SEEEDAAMAR AR AR ] llfllllfl?.fl nnunn P o »x s - 3 x C$Q10 = 000377 CSRDBU= 000007 CSREFG= 000047 CSRESE= 000033 CSREVI= 000003 CSRFLA= 000051 CSRPT = 000025 CSSEFG= 000046 CSSPRI= 000041 CSSVEC= 000037 C$TPRI= 000?13 DATA 002312 6 DATASC 02023 DEBUGM 01163 DEVCNT 002220 6 - 017205 01710 011360 G 011500 6 011114 G 011224 6 021260 6 017660 017250 002310 G 002206 G 003164 G 003176 G 003164 6 »x CKDROP CKEMAX CKMSG_ CkMSG2 CKRAM CKRAM2 CMDPKT CMPMEM CONFIG COUNT CSRADD CTAB CTABE CTABM GSHILI= 000002 GSLOLI= 000001 GSNO = 000000 GSOFFS= 000400 GSOFSI= 000376 GSPRMA= 000001 F m = 000100 G = 000200 G = 000400 G = 001000 G = 000400 6 BRINIT 004457 BSELO = 000000 BSEL1 = 000001 CHKAMB 016044 G —-000 BIT6é BIT? BIT8 BIT9 = 000004 G = 000010 G = 000020 G = 000040 G 016150 016145 016144 016516 002224 016146 004300 1206 ISINIT= 000041 GETPAT 020174 G GETSEL 020256 G T0= 000200 GSDELM= 00037 (1] BIT2 BITS BIT4 BITS CSDRPT= 000024 CSDU = 000053 CSEDIT= 000003 CSERDF= 000055 CSERHR= 000056 CSERRO= 000060 CSERSF= 000054 CSERSO= 000057 CSESCA= 000010 CSESEG= 000005 CSESUB= 000003 CSETST= 000001 CSEXIT= 000032 CSGETB= 000026 CSGETW= 000027 CSGMAN= 000043 =NONINO W BIT1 = 000002 G BIT10 = 002000 G BIT11 = 004000 G BIT12 = 010000 G BIT13 = 020000 G BIT14 = 040000 G BIT15 = 100000 G INTCPC INTFLA INTMAS INTR INTREC INTVEC INTX INVERT FSCLEA= 000007 FSDU = 000016 FSEND = 000041 FSHARD= 000004 FSHW = 000013 FSINIT= 000006 FSJMP = 000050 FSMOD = 000000 FSMSG = 000011 FSPROT= 000021 FSPWR = 000017 FSRPT = 000012 F$SEG_= 000003 F$SOFT= 000005 FS$SRV = 000010 F$SUB = 000002 F$SW = 000014 SOV BITO3 = 106 BIT04 = 000020 G BITOS = 06 BITO6 = 000100 G BIT07 = 000200 G BITO8 = 000400 G BIT09 = 001000 G SEQ 0293 DEVDRO DEVNRD DEVNXR gs3ssssssscass ARBTSS. 0000ss © ASSEMB= 000010 AT716 = 000003 BADDAT 003156 G BADSSR 015700 G BOVPCR= 177520 G BENBSW 0022 G BIE = BITO = G G G G CSAU_ = 000052 C$AUTO= 000061 CSBRK = 000022 C$BSEG= 000004 cs8sus= 00000 pgry Y NN — & 012126 G PAGE 1271 e et ADDSSR 25<MAY=82 09:19 3333 TSV6 = PARAMETER CODING MACRO M1113 SYMBOL TABLE LERRNO= LISTAL= 000001 D 1 b o0 - o D D e o (] perd - d d d od D i e d e o ced d d o D e 1 1 1 1 1 7 1 0 1 1 1 0 1 D o o ~ OO~ O e oo o o D 1 1 oD o b D 0 b b D D 0 D b 0 d D ed o 0 D = b D D b b e b e LT} 2 (1211 1) % -4 L] = nunn ~—a§wnflfi z 33g="a > PW.WTR= 00000 (K = %238 AW W WO NN N R NN NN S — et oo =t o d e e b b e e SNV N N = SN b ad cd cd d 20 &H VMN—lgON\AN-‘bO&NOO OgOOOb OfNNSOONNSONO NI ON VYW WA W VOV0O09VVVOVOOOVOOVOOD e R > 5 m w ===~ O0O0C© O0OO00O00O COO0O0O0O0O0O0O0O0O0O0O0O0O0O0O NON) b b b b b b b d d d wmd d o i o d D b b md WWWWNININININININ) = b cd b ad b b b OCO0OO0O0O0O0O0O0O o 2338358 S53n8 VIR © VWD &SR0 (- e 33333 =sgsgsss S2228 SRR33 ug:mmde RS dfi\hg o o o -4 = e — NoO wviaunawn (2112121211211 ) nNOOO RESRRZSR 2288S D 1 1 1 0 1 1 1 0 D md 82333888383 3s83ss2s82ss o 3388338883388 o °2 RS ELREEENE Sy WN-‘OOU‘&W—'ONOV‘&W—'ON& D 1 b nNaununnun = -0 HOO w © d d d o e 1 00%012 G 002164 PAGE 127-2 3 b e 33&383335 LSUNIT L10000 L10001 L1000 000 25-MAY-82 09:19 ° o - b o e o (=) NN W ~°g000 SEe -.aouo-l - e N g O=KERS 3 g » F i TSV6 = PARAMETER CODING MACRO M1113 SYMBOL TABLE K SEQ 0294 OFL__ = 000100 ONEF IL= 000000 0$APTS= 000000 0$SETU= 000000 PASRPT 022054 PATCH 101642 G PATDAT 020230 TSV6 = FARAMETER CODING MACRO M1113 SYMBOL TABLE RMCHBE= 000167 RMCHEN= 000200 RMMSGB= 000215 RMMSGE= 000234 RMPKTB= 000201 RMPKTE= 000210 RMR = 010000 RWPACK 011110 SC = 100000 SCE___= 020000 SCHERR 005300 SCME 005013 SCMENU 100414 SDELAY 010660 SELASC 020442 SELDAT= 000004 SEL2 = 000002 SETMAP 017316 SETU 022106 SFFMSG 012102 6 SFHERR 3705 SFIERR 3652 SFIMSG 012034 6 SFPTBL 002166 G SIFLAG 003154 6 SIMSG 011766 SKIPTY 015774 G 010466 G 101502 SPM?7 101612 SPM4 SPM6 - 3400 SOFINI SPACE SPM1 101532 101562 SRO = 177572 SR1 = 177574 SR2 = 177576 SRS = 172516 SSR = 200 STATCO 012412 SvCGsL= 000000 SVCINS= 000000 SvCsuB= 000001 SVCTAG= 000000 SVCTST= 000001 SSLSYM= 010000 $0.108= 000010 S0.1F8= 000002 S0.1FP= 000001 S0.ILD= 000020 S0.I0N= 000040 S0.IRD= 000100 S0. IRW= 000004 $0.1SP= 000200 $1.1CE= 002000 ,51.1E0= 010000 S1.1FM= 001000 S1.1HE= 000400 $1.11D= S1.11R= $1.12R= S1.PAR= S2.ATI= $2.8T71= $2.0IM= $2.ILw= 25-MAY-82 09:19 004000 020000 040000 100000 000010 000004 000200 000100 $2.INR= 000020 $2.0UT= 000040 $2.UND= 000003 TBLEND= 003062 6 TCOASC 006476 TCOCOD 003676 TEMP1 003116 G TEMP2 003120 G TERCLS= 000016 TESTNO= 000014 TEXASC 006435 TFCASC 006537 TIMEXP 015552 6 TIMSGO 015600 TINERR 0120§l TMPBFR 002632 G TNAM 016704 TPRISA 100412 PAGE 127-3 TST401 TSV TSV TSVé - TSVS TSVé TTIBFR= TTICSR= 101322 002000 002176 051546 023446 101340 177565 177560 G G G G G G G . SEQ 0295 110 T 112 T12BFR T128KG T1%BLK T12CHA T1SCKR 066646 G 074510 G 077662 G 0302g 0307 030314 031730 031510 6 T158FR T158F2 715850 T158S1 T15DAT T15L00 T1SPAC T15Pk2 (033372 034060 034060 034061 033360 032024 033350 034050 TTION 100406 TTION2 071434 TTIVEC= 000060 G TVECSA 100410 TVSAV2 071436 TSARGC= 000001 TSCODE= 001130 TSERRN= 002261 TSEXCP= 000000 TSFLAG= 000040 TSGMAN= 000000 TSHILI= 000776 TSLAST= 000001 TSLOLI= 000000 TSLSYM= 010000 TSLTNO= 000014 TSNEST= 177777 TSNSO = 000000 T12C0N T120AT T120PR T12GET T12HIA T12KT T12L0A T12L00 T12MSG T12NIN T12NXM T12PAC T12PAR T12SET T12SWR T12TBE T12WRT T121L0 031316 030250 031116 030472 03030 030310 030304 026446 030641 031025 031207 030240 030306 031666 031620 03044 03055 026560 TISRES TI5SRT2 T15SSR r1ss§ T158 T16BEN T16BFR T16BFS T16CLR T16DAT T16DT2 T16001 T16028 T16D053 V16075 T16LEN T16L00 T16PAC 034452 034524 034063 03406 034064 040240 040212 040232 040056 040200 040250 036632 (036634 036636 036640 03716% 03460 040170 TRANST 002166 G TSBA = 000000 G TSBAN = 16 T$NS2 = 00000 TSNS3 = 00000 T$SPTNU= 000000 T123L0 T124L0 tlggTS 027334 027734 03031 T16RE) TI6RES T16SEX TSFCOD T$SEKO= 010000 TI3LCO 023464 037274 040010 040150 040102 036712 TPSAV2 071440 TSDB = 000 G TSDBH = 000001 G 007236 TSREJ = 000006 TSSDEF 006606 TSSR = 00 G TSSRBI 003502 6 TSSRFO 5 TSSRH = 000003 G TSSX 004020 TSTBLK 005752 9 TSTCNT 002214 6 TSTEND 016720 TSTFLA 002314 6 TSTLOO 016456 6 TSTPTR 002316 6 TSTSET 016510 6 TST121 030450 TST131 024102 TST141 026241 TST151 8 433 IST161 036642 1ST171 846606 TST181 051176 TST191 06016 TST201. 0651g TST391 0776 ~ . TSNS1 = 000005 T$SAVL= 177777 TSSEGL= 177777 1 1 1 1 10030 T$SMSG= 010025 T$SPRO= 010027 TSSRPT= 8100 5 T$$SEG= 010000 1$$S0F= 010101 T$SSRV= 010026 T$$5UB= 010074 T$$SW = 10091 TSS$TES= 010077 1 23446 6 TlZglo T138FR T13DAT T13MEM TI3NBA TI13PAC TI13RES T13SSR T14BFR 714880 114851 T14BS2 T14DAT T14DTA T14L00 TI14NBA T14NIN T14PAC T14PK T14RES T14RST T14SSR T147S8 T142R 115 T15AM T15AM4 027114 02406 024050 024155 024214 0 42‘0 024 59 02426 025176 025170 025171 025172 025170 8 5610 024444 0 562§ 02606 025160 8 5600 ) 02 g 4 73 gISS ?7 4 6;2 T16PK T16SRD T16SSR T167S8 T16701 T16728 116753 116778 16wMI T162SS T163SS T17BEN T17BFR T178FS T17CLE TI17CLR T17DAT 117012 T17EXE T17EXP TI7EXS T17L00 T17MSK T17PA T17PK TI7RFI T17RSF TI7SET 060%40 037060 037411 037510 037610 037710 04012; 03674 837013 05034 05052 05024 050126 047740 050;;8 050 6504 6365 04640 040404 6356 50200 50350 050106 050004 050146 = DVNBNERE AR D 25-MAY=-82 09:19 PAGE 127-4 M SEQ 0296 SRSSS82 22222 VldnlZlelnlZ olal”] 026420 G 8031 06 WF.1ED= 000010 WF.1ER= 000004 WF.IHI= 000200 WF.IRE= 000040 WF.IWwF= 000020 WF.IWR= 000100 WF.I13R= 000002 WF.14R= 000001 WRTCHR 010662 v Y Qi S Qi s Y o B T1958S XORFOR 010012 XST0 = 000006 XST1 = 000010 XSTi OIS NN = N W <8 nuun 5553 Mo p< 07751 0100 WwC.11T= 00004 wC.ISR= 00002 . 7665 7456 0 2 X X1:R8b= 000400 € C 3C 2C 2T 2C 2 O 000004 XXCoMM 003122 6 XSALWA= 000000 XSFALS= 000040 X$0FFS= 000400 X$TRUE= 000020 X1.COR= 020000 X1.0LT= 1 X1.M82= 01737 e (- YV XSOPED= 000010 XSORLL= 820000 XSORLs= 040000 XSOTMK= 100000 XSOvCk= 000020 o0 0O SR A AR AR e eB B El eR R e e eR— (- 1. 1. 1. 1. B NT. N. N. N.N.~No J~ena1=au\n-ac~a~ =ONNONNONON CER Rt P 558%23223 = 000012 XST3 = 000014 XST4 = 000016 Xs080T= 000002 XSOEOT= 000001 XSOIE = 000040 XSOILA= 000400 XSOILC= 001000 XSOLET= 020000 NN — - —a N B B SSIIKLKKR Wb ”munununumm §55 T20WF I BEREAR N T17SNP T17SRD T17SSR ) ) ) ) ) e e f ef =f TSV6 = PAR cgETER CODING MACRO M1113 SYMBOL TAB / TSV6 = PARAHETER CODING MACRO M1113 SYMBOLTABLE X3.m82= 000006 X3.MDE= 177400 X3.0PI= 000100 25-MAY-82 09:19 X3.REV= 000040 X3.RI1B8= 000001 X3.SPA= 000200 . ABS. 102004 000000 ERRORS DETECTED: © PAGE 127-5 X3.TRF= 000020 X4 .HSP= 100000 000 001 VIRTUAL MEMORY USED: 31032 WORDS 122 PAGES) DYNAMIC MEMORY: 20346 WORDS ( 78 PAG ELAPSED TIME: 00:38:31 CVTSBAO,CVTSBAO=SVC/ML,TSV1B,TSV22B,TSV3B,TSV4,TSV558,TSV6 SEQ 0297 X4.TSM= 020000 X4.WRC= 000377
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies